Постов с тегом "бэктестинг": 140

бэктестинг


О пользе правильного бэктеста (+ итоги 2019)

    • 17 января 2020, 12:37
    • |
    • uralpro
  • Еще

О пользе правильного бэктеста (+ итоги 2019)

   Хотелось,  традиционно, подвести итоги 2019 года, но  нового и интересного ничего не произошло, результаты на МОЕКС практически не отличаются от года 2018-го. Поэтому расскажу, насколько важно для HFT торговли написать правильный бэктест. Результаты тоже будут, но на примере отдельных алгоритмов, из набора работающих на Московской бирже.

  Для высокочастотной торговли, наверное, самый главный показатель это мгновенная ликвидность. Не буду углубляться в проблему ее измерения, это отдельная задача. В общем случае, чем выше мгновенная ликвидность, тем большую прибыль приносит высокочастотная стратегия. И ваш тест должен правильно обрабатывать весь поток ликвидности, который присутствует в сохраненной маркетдате, чтобы верно эту мгновенную ликвидность отразить. В матчинге бэктеста необходимо сводить в сделки собственные (тестовые) ордера в первую очередь по потоку рыночных сделок используемого актива, и во вторую — по текущей книге заявок. Нарезки в тесте не должно быть никакой, то есть внутреннее время теста должно идти соответственно последней считанной записи в максимальном разрешении, которое транслируется биржей (миллисекунды или даже микросекунды).Также нужно учесть задержку прихода ордеров на биржу после их отправки и задержку коллбэка. Нюансов здесь много, и я как обычно, о них не расскажу:)



( Читать дальше )

"Out-Of-Sample" - где расположить, справа или слева?

    • 10 декабря 2019, 20:53
    • |
    • fxsaber
  • Еще

Когда-то в паблике столкнулся с мнением, что OOS должен располагаться только справа. Т.е. расположение его слева от интервала Оптимизации — ошибка. Я с этим был категорически не согласен, т.к. не видел разницы. Теперь вижу. Ошибался, был не прав.



( Читать дальше )

Бэктестинг стратегии для бинарных опционов.

Сегодня экспериментировал с фильтрацией сделок для одной своей стратегии. Параметры подгонял за 2012 год, так как выяснил, что фильтр не особо хорошо его фильтрует в сравнении с другими годами. Итог можно наблюдать ниже. Тест с 2008 года по 05.09.2019 на 25-ти валютных парах. 
Бэктестинг стратегии для бинарных опционов.
Сколько это в деньгах? Если торговать при выплате 82% (есть такой брокер с фиксированным процентом выплат), и риске 1% от депозита, то 2019 год дал бы примерно 40% в год (при 1000 сделок), если же год завершится с 1800 сделок и тем же винрейтом, то это уже примерно 83% в год.

При депозите от 500 000 рублей можно будет совершать крупные ставки с выплатой 85%, тогда 1000 сделок принесет уже 66%, а 1800 сделок 149% в год (при винрейте 56.8%). 

Общий винрейт за весь период теста составил 58.284%, всего сделок 24353.

К сожалению, котировки от FXCM начиная с 2007 года у меня есть не для всех валютных пар и они содержат много пропусков. Тем не менее, я провел тест с 2000 года на том, что есть.

( Читать дальше )

Почему я ушёл от бектестинга и стал виртуальным трейдером

Почти 7 лет (из 14-ти) не пользуюсь бектестингом. Семь лет назад, я полтора года тестировал системы в бектесте и на реальном рынке одновременно. Результаты оказались неожиданными. Моя система, с бектестовой прибыльностью = 1.2, превратилась в убыточную = 0.85. При этом система продолжала быть прибыльной на бектесте. Я сравнивал результаты бектеста и реальной торговли и отмечал, что я делал неправильно. Делюсь многолетним опытом.

— Если мы заложили комиссии правильно, это только часть издержек. Основная часть убытка спред. Откройте любой инструмент, купите и сразу продайте его по рыночным ценам. Увидите, что позиция оказалась убыточна. А большая доля убытка из-за спреда.

— Если закладывать 2-3 спреда в издержки и результаты будут более реалистичными. Но, всё ещё, могут остаться оптимистичными. Точно об этом знать мы не сможем.

— Важное правило: если есть на графике сделка, то это не значит, что она может быть вашей. Это правило напрочь отбивает точность тестов.

Реальный рынок. У Вас цель войти на пробой в покупку. Кто-то из участников выкинул большой объём на покупку в стакан и перенёс его за 1мс на 10 пт. выше вашего условия на вход. Ваш робот среагировал на этот сигнал и через 600мс. заявка оказалась на рынке. Робот вошёл на 10 пт. (на 6 спредов) хуже, а тестер вошёл по цене условия.



( Читать дальше )

Python в помощь тестированию структурных продуктов

Воодушевлённый статьёй с рекламой структурных продуктов на Хабре, адаптировал python-скрипт для их самостоятельного тестирования. Основная идея в том, что подобные продукты предлагают 100% защиту капитала.  А учитывая 10 лет бычьего рынка, исторические показатели подобных продуктов одурманивают безрисковым раем.

Скрипт подойдёт для быстрого и понятного тестирования своих портфелей с ребалансировкой в разные периоды. Ну а кому-то данный инструмент может пригодиться для самостоятельного построения подобных стратегий. Их наипростейшей формы. Однако брокеры пишут, что это не каждому под силу.

Код выложен в GitHub в виде Jupyter-блокнота. Поехали!



( Читать дальше )

Больше риск - больше прибыли?

Больше риск - больше прибыли?

Финансовые рынки это уникальный вид бизнеса.

В этой статье я хочу поделиться опытом своего товарища и подвести вас, как мне кажется, к важному заключению.

Предыстория: Андрюша молодой бизнесмен со своим мебельным цехом. Андрей стал моим клиентом в августе 2016 года. Мы обсудили с ним стратегию сотрудничества и начали с небольшой для него суммы (10 тыс). Каждый месяц свободные средства он довносил на свой счет, поэтому депозит стремительно рос. Андрею еще и повезло попасть на волатильный период, за который удалось превысить среднюю полугодовую доходность. Лично для меня +40% за полгода это отличный показатель, но Андрею, как и любому другому инвестору, было мало. Его предложение изменить стратегию и увеличить риск было отклонено. Следующих полгода закрылись с доходностью +20% (август 2017). Его это сильно расстроило. Было принято решение вывести половину средств, ведь у него появились более прибыльные “темы”. Торговля продолжалась в спокойном режиме. В моменты просадок по счету, у Андрея сидело по несколько волосков. И в середине



( Читать дальше )

Обучение S#.Designer + 2 стратегии в подарок, курс за пол цены. Осталось 2 места, на полный курс.

    • 07 июня 2019, 11:07
    • |
    • SerWer
  • Еще
ХВАТИТ ТОРГОВАТЬ РУКАМИ.
Осталось 2 места за полцены, на полный курс.
Обучение S#.Designer для создания прибыльных торговых роботов + 2 стратегии в подарок.

Опубликована статистика бэктестов 1-й подарочной стратегии.
crowd.stocksharp.ru/product/designer/

Содержание курса.
stocksharp.ru/articles/10689/obuchenie-designer!-plan-videokursa-uzhe-tut!/

Обучение S#.Designer + 2 стратегии в подарок, курс за пол цены. Осталось 2 места, на полный курс.
График прибыли 1-й стратегии.


Обучение S#.Designer + 2 стратегии в подарок, курс за пол цены.

Обучение S#.Designer для создания прибыльных торговых роботов + 2 стратегии в подарок.
Хватит торговать руками.
Осталось мало мест, всего то за пол цены.

Опубликована статистика бэктестов 1-й подарочной стратегии.
crowd.stocksharp.ru/product/designer/

Содержание курса.
stocksharp.ru/articles/10689/obuchenie-designer!-plan-videokursa-uzhe-tut!/




Друзья, кто собаку съел на оптимизации и бэктестинге? Прошу вашего совета.

Есть те, кто автоматизировал, бэктестил и оптимизировал свою ручную систему? Пытаюсь найти способы прогнать свою ТС на истории, но нет опыта в этом. Может быть вы подскажете как лучше и проще это сделать?

Господа, прошу совета в способах оптимизации параметров торговой системы.

Примерные ТТХ системы: система на основе дивергенций: a) инструмента с индикатором №1; b) инструмента с индикатором №2; c) индикатора №1 и индикатора №2 между собой. Тип — intraday (опционально с переносом на вечернюю сессию и через ночь). Условия для входа в сделку не формализованы, окончательное принятие решения о заключении сделки принимается трейдером. Выход из сделки в большинстве случаев осуществляется по условиям системы, в отсутствии которых сделка закрывается либо через trailing-stop, либо перед закрытием основной сессии. Выход с убытком осуществляется через stop-loss за ближайшим локальным экстремумом цены или индикатора. 
 
 Задачи: оптимизировать кол-во пунктов, пройденное инструментом (как относительно текущей цены инструмента, так и относительно величины дивергенции) в направлении потенциальной сделки, при котором входим в позицию, проверить потенциал входа и выхода частями (одинаковыми и различными), оптимизировать выделяемую на каждый инструмент часть средств, проверить возможность переноса сделок на вечернюю сессию и через ночь.

( Читать дальше )

....все тэги
UPDONW
Новый дизайн