Постов с тегом "Тестирование стратегий": 31

Тестирование стратегий


Пример разбора трех вариантов тестирования алгоритма на исторических данных OHLC

    • 11 февраля 2021, 20:06
    • |
    • LevNNN
  • Еще

Всем добрый вечер!

В последнее время на форуме было опубликовано несколько статей по поводу тестирования алгоритмических стратегий, приблизительно следующего содержания — «На тестах все хорошо и алгоритм дает прибыль +100%, в реальной жизни все плохо — и алгоритм дает убытки -100%».В этом посте я попытаюсь вставить свои «пять копеек», почему так случается. С торговлей на бирже знаком с 1994 года. Не скажу, что весь этот опыт был удачный, скорее совсем наоборот и поэтому с 2016 года занимаюсь разработкой алгоритмических стратегий, ну или по простому — пишу торговый собственный робот. В реальных торгах участвую, но только с помощью собственного робота. Разработка роботов — это не бизнес, а скорее хобби, пишу для себя. Торгую на ММВБ через Quik. Робот написан на C#, для тестирования использовал данные с сайтов finam и pitrading (покупал).
Так как я сам разработчик кода, то мне легко внести небольшие коррекции в свой же алгоритм и провести небольшой эксперимент. Я взял исторические минутные данные (OHLC) по трем инструментам — Apple, AUD/USD и XAUG/ USD за последние 4 года и рассмотрел три варианта заключения сделок при тестировании:



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

В чем протестировать торговую стратегию для FORTS ?

    • 19 сентября 2020, 21:17
    • |
    • u-gyn
  • Еще
Собственно вопрос в заголовке.
Конкретно нужно тестировать на si, ri, eu.
ТФ 5, 10, 15 минут.

Без необходимости изучения C++ и/или встроенных языков программирования.
Присутствует базовое знание javascript (если это чем то поможет).

Кто что посоветует?

Про тестирование стратегий на фьючерсах

    • 26 ноября 2019, 09:29
    • |
    • _sk_
  • Еще
Просто несколько строк про свой опыт.

Тестер стратегий у меня самописный (java), что даёт неплохую производительность и возможность запрограммировать именно то, что нужно мне.

Обычная склейка фьючерсов не используется из-за нестыковок цены соседних контрактов, которые портят как расчёт прибылей/убытков, так и значения индикаторов.

Свечные данные сохраняются из терминала QUIK скриптом на QLua в ежедневном режиме отдельно по каждому инструменту. Получается, что для каждого фьючерса есть вся его история в виде csv-файлов «финамовского» OHLCV-формата. Тестер умеет загружать временные ряды из этих файлов за любой период времени.

Для каждого фьючерса прописаны 3 даты: дата экспирации, день, предшествующий экспирации, и день экспирации предыдущего фьючерса. В коде это выглядит примерно так:

SiH9("Si-3.19", "SiH9", "Si", 20190321, 20190320, 20181220),
SiM9("Si-6.19", "SiM9", "Si", 20190620, 20190619, 20190321),
SiU9("Si-9.19", "SiU9", "Si", 20190919, 20190918, 20190620),
SiZ9("Si-12.19", "SiZ9", "Si", 20191219, 20191218, 20190919),

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

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

Тестирование стратегий для бинарных опционов на истории. Библиотека для С++ и пример с "граалем".

В данной статье будет рассмотрен только технический аспект тестирования стратегий для бинарных опционов. Если вы считаете, что бинарные опционы не предсказуемы, или что брокеры «разводят» трейдеров, то данный пост будет не об этом и просьба не обращать на него внимания. Здесь будет рассмотрен только технический аспект для тех, кто хочет сам тестировать стратегии и проводить эксперименты на БО. Впрочем, используемый код можно адаптировать при желании и под форекс.

Итак, математика бинарных опционов не очень сложная. Тем не менее, проводить тесты будет гораздо  проще, если сделать отдельную библиотеку для тестирования и вообще подготовить «среду», где проводить свои изыскания. Не всегда же строить «велосипед» заново. К тому же, могут быть ситуации, когда ТС использует несколько экспираций опционов во время тестирования сразу, или может отличаться процент выплат и ставок. Поэтому есть смысл выделить «тестер» в виде отдельной библиотеки, несмотря на то что его задача по сути банально считать результат.

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

Как я тестирую этим летом.

    • 10 июня 2019, 13:19
    • |
    • XXM
  • Еще

Поиск прибыльных торговых правил — тема многогранная. Сейчас расскажу про свой сегодняшний подход к формированию портфеля стратегий для одного инструмента на примере индекса Московской биржи.

Сперва картинка:

Грааль от 2011 года.
Ей много лет. Хранится в компьютере под именем graal_001.JPG, дата создания — 14.05.2011.

Когда-то и робота делал в VBA Excel, и Downloader (https://smart-lab.ru/blog/488966.php) и, конечно же, тестера. Последний и выдал мне тогда этот Equity, от которого мне стало как-то не по себе, что я закрыл компьютер и пару дней вообще старался не думать про этот график. Потом вернулся к программе и стал уже чуть ли не через лупу изучать стратегию. Обнаружил ошибку заглядывания вперед (look-ahead bias), выдохнул и успокоился :) Файл сохранил в назидание: если увидел ровную Equity, ищи ощибку и найди ее!

Увы, похвастаться ровным нарастающим графиком пока не могу. Хотя есть простые, но неровно растущие графики. Иногда получается даже выпрямить их в некоторой степени. Ниже — рассказ про свой метод.



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

О шансах выбрать хорошую стратегию

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

Зачем это надо? Чтобы не быть излишне оптимистичным, когда тесты расходятся в мнениях относительно стратегии, и реалистично представлять свои шансы найти хорошую стратегию.

Постановка задачи

Пусть О шансах выбрать хорошую стратегию — вероятность того, что очередная придуманная стратегия окажется плохой (нерабочей). Тогда О шансах выбрать хорошую стратегию

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

Работают ли уровни Фибоначчи?

Неоднократно задавался вопросом, работают ли на самом деле классические инструменты технического анализа, кочующие из книги в книгу, из программы в программу. Например, стоит ли «караулить» отскок по тренду на уровнях 38% или 62%. Исследования ряда западных гуру, таких как Ларри Вильямс и Адам Граймс, показали, что цена останавливается на этих уровнях не чаще чем на прочих, т.е., другими словами — «уровни не работают».

Мне захотелось повторить этот эксперимент, уже на российских инструментах (мало ли, может у нас и здесь «особый путь»?). Для теста мной были выбраны следующие активы:
  • Наиболее ликвидные акции ММВБ: AFLT, ALRS, CHMF, GAZP, GMKN, IRAO, LKOH, MGNT, MOEX, MTSS, NLMK, NVTK, ROSN, SBER, SBERP, SNGS, SNGSP, TATN, VTBR
  • Фьючерсы: Si, BRENT
  • Индекс: IMOEX
Таймфрейм: дневки, период: 01.07.2008 — 31.03.2017.

Суть теста состояла в подсчете среднего размера коррекции пуллбэка, после которого цена обновила экстремум (назовем его «удавшимся пуллбэком»).

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

Тестирование стратегий. На примере индекса Московской биржи.

    • 12 декабря 2017, 17:16
    • |
    • XXM
  • Еще

цены на мед

Программ для тестирования много. Как-то начал считать, дошел до цифры 33 (https://smart-lab.ru/blog/236254.php).
Но, сколько бы их ни было, все равно чего-то не хватает: то танцы с бубном со входными данными, то отсутствие какого-нибудь функционала, то проблемы с установкой самой программы ТА, «то полы кривые» и т.д.

Поэтому создал свой тестер, на c#, назвал Xtest.

Вкратце напишу про то, как он работает на примере индекса Московской биржи (ранее — индекс ММВБ).

Стратегия простая:
Покупаем, когда начался рост. Продаем либо по стопу, либо по тэйк-профиту.
Для шорта — зеркально.
Для входа в позицию выбрал простой индикатор, рассказывать про него не буду, поверьте, он банальный. Одна переменная, назвал Param1.
Выходы: будем подбирать stopLoss, takeProfit и SLforTP (stopLoss для takeProfit), они в блоке «Strategy Parameters» на вкладке Parameters.



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

....все тэги
UPDONW