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


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

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

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

Грааль от 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.

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

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

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

цены на мед

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

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

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

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



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

Где ошибка? Элементы торгового автомата: функции и критерии качества

Недавно интересовался мнением смартлабовцев по поводу тестирования стратегий, удивился многообразию вариантов и мнений. Теперь хочу обобщить тему и обсудить элементы в целом “сферического торгового автомата в вакууме”.  

Если цель торгового автомата: максимизация прироста капитала, за счёт совершения операций купли\продажи финансовых инструментов, то из этой цели следуют две функции:

  1. Совершение операций купли/продажи (для приведения фактических позиций к целевым позициям).

  2. Расчёт целевых позиций.

Таким образом, получаем два элемента: “привод” — реализует первую функцию и “советник” — реализует вторую функцию.

“Инструкцию” о том как получать целевую позицию задаёт “конфигурация” советника (т.е. конфигурация = признаки + алгоритм + параметры).

Логично использовать ту конфигурацию, по которой максимальный ожидаемый прирост капитала. Элемент осуществляющий выбор наиболее эффективной конфигурации назовём “селектор”.



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

Меморандум об историческом тестировании

Меморандум об историческом тестировании

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

По поводу подбора параметра скользящей средней

Несколько раз уже натыкался на статьи на данном ресурсе о том, как тестируются торговые системы на основе скользящих средних, да и вообще любых индикаторов: люди программы пишут, изощряются в поиске оптимального тестера, котировки подготавливают определённым образом для того, что тестер их смог воспринять…. Ужас одним словом))) Решил внести свои три рубля в эту копилку...

Сам я тоже ещё очень давно столкнулся например с удивительным для меня тогда фактом того, что одни и те же параметры скользяшек например на евродолларе и фунте дают совершенно разные торговые результаты при тестировании. Я брал дневной график обоих инструментов и по логике вещей брал скользяшки с периодами 20, 40 и 65. 20, потому что 20 рабочих дней в месяце в среднем, 40 за два месяца, ну а 65 квартал. На евробаксе такие параметры работают хорошо. Эквити положительная, мало ложных сигналов, а на фунте это просто ад на земле. Даже при небольших лотах слив происходил бы за полгода. Я тогда чуть ли не бросил торговать, потому что понятия не имел, как подобрать оптимальный параметр для механической системы. Пришёл я тоже к тому, что метод перебора руками ужасен, потому что полжизни ушло бы на то чтобы просто протестить, а торговать когда? Плюс ко всему это всего лишь один инструмент, а движения хорошего на одном инструменте бывает приходится ждать месяцами, поэтому приходится перескакивать и на другие инструменты, а их тестирование это ещё время. Тестировать каждый руками сумасшествие. А для скользяшек желателен фильтрующий осциллятор, который показывал силу тренда, чтобы выходить из сделки пораньше и ему тоже параметры надо бы подобрать…



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

Как создать торгового робота и не потерять время

Торговля на финансовых рынках сопряжена с множеством рисков, в числе которых самый главный — это риск совершить ошибку при принятии торгового решения. Мечта каждого трейдера – поставить вместо себя торгового робота, автомат, который всегда в отличной форме, не знает усталости и не подвержен людским слабостям: страху, жадности и нетерпению.

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

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

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



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

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