Поиск прибыльных торговых правил — тема многогранная. Сейчас расскажу про свой сегодняшний подход к формированию портфеля стратегий для одного инструмента на примере индекса Московской биржи.
Сперва картинка:
Ей много лет. Хранится в компьютере под именем graal_001.JPG, дата создания — 14.05.2011.
Когда-то и робота делал в VBA Excel, и Downloader (https://smart-lab.ru/blog/488966.php) и, конечно же, тестера. Последний и выдал мне тогда этот Equity, от которого мне стало как-то не по себе, что я закрыл компьютер и пару дней вообще старался не думать про этот график. Потом вернулся к программе и стал уже чуть ли не через лупу изучать стратегию. Обнаружил ошибку заглядывания вперед (look-ahead bias), выдохнул и успокоился :) Файл сохранил в назидание: если увидел ровную Equity, ищи ощибку и найди ее!
Увы, похвастаться ровным нарастающим графиком пока не могу. Хотя есть простые, но неровно растущие графики. Иногда получается даже выпрямить их в некоторой степени. Ниже — рассказ про свой метод.
Программ для тестирования много. Как-то начал считать, дошел до цифры 33 (https://smart-lab.ru/blog/236254.php).
Но, сколько бы их ни было, все равно чего-то не хватает: то танцы с бубном со входными данными, то отсутствие какого-нибудь функционала, то проблемы с установкой самой программы ТА, «то полы кривые» и т.д.
Поэтому создал свой тестер, на c#, назвал Xtest.
Вкратце напишу про то, как он работает на примере индекса Московской биржи (ранее — индекс ММВБ).
Стратегия простая:
Покупаем, когда начался рост. Продаем либо по стопу, либо по тэйк-профиту.
Для шорта — зеркально.
Для входа в позицию выбрал простой индикатор, рассказывать про него не буду, поверьте, он банальный. Одна переменная, назвал Param1.
Выходы: будем подбирать stopLoss, takeProfit и SLforTP (stopLoss для takeProfit), они в блоке «Strategy Parameters» на вкладке Parameters.
Недавно интересовался мнением смартлабовцев по поводу тестирования стратегий, удивился многообразию вариантов и мнений. Теперь хочу обобщить тему и обсудить элементы в целом “сферического торгового автомата в вакууме”.
Если цель торгового автомата: максимизация прироста капитала, за счёт совершения операций купли\продажи финансовых инструментов, то из этой цели следуют две функции:
Совершение операций купли/продажи (для приведения фактических позиций к целевым позициям).
Расчёт целевых позиций.
Таким образом, получаем два элемента: “привод” — реализует первую функцию и “советник” — реализует вторую функцию.
“Инструкцию” о том как получать целевую позицию задаёт “конфигурация” советника (т.е. конфигурация = признаки + алгоритм + параметры).
Логично использовать ту конфигурацию, по которой максимальный ожидаемый прирост капитала. Элемент осуществляющий выбор наиболее эффективной конфигурации назовём “селектор”.
Несколько раз уже натыкался на статьи на данном ресурсе о том, как тестируются торговые системы на основе скользящих средних, да и вообще любых индикаторов: люди программы пишут, изощряются в поиске оптимального тестера, котировки подготавливают определённым образом для того, что тестер их смог воспринять…. Ужас одним словом))) Решил внести свои три рубля в эту копилку...
Сам я тоже ещё очень давно столкнулся например с удивительным для меня тогда фактом того, что одни и те же параметры скользяшек например на евродолларе и фунте дают совершенно разные торговые результаты при тестировании. Я брал дневной график обоих инструментов и по логике вещей брал скользяшки с периодами 20, 40 и 65. 20, потому что 20 рабочих дней в месяце в среднем, 40 за два месяца, ну а 65 квартал. На евробаксе такие параметры работают хорошо. Эквити положительная, мало ложных сигналов, а на фунте это просто ад на земле. Даже при небольших лотах слив происходил бы за полгода. Я тогда чуть ли не бросил торговать, потому что понятия не имел, как подобрать оптимальный параметр для механической системы. Пришёл я тоже к тому, что метод перебора руками ужасен, потому что полжизни ушло бы на то чтобы просто протестить, а торговать когда? Плюс ко всему это всего лишь один инструмент, а движения хорошего на одном инструменте бывает приходится ждать месяцами, поэтому приходится перескакивать и на другие инструменты, а их тестирование это ещё время. Тестировать каждый руками сумасшествие. А для скользяшек желателен фильтрующий осциллятор, который показывал силу тренда, чтобы выходить из сделки пораньше и ему тоже параметры надо бы подобрать…
Торговля на финансовых рынках сопряжена с множеством рисков, в числе которых самый главный — это риск совершить ошибку при принятии торгового решения. Мечта каждого трейдера – поставить вместо себя торгового робота, автомат, который всегда в отличной форме, не знает усталости и не подвержен людским слабостям: страху, жадности и нетерпению.
Каждый новичок, приходя на рынок, надеется заполучить или создать четкую и строгую торговую систему, которую можно переложить на язык алгоритмов, и полностью избавиться от рутинной работы. Возможно ли это?
Наличие торговой системы является необходимым условием для торговли, и эта система, конечно, должна быть прибыльной. Когда новичок приходит на рынок, на него буквально обрушивается лавина информации, в которой не так-то просто разобраться. И на помощь здесь приходят книги и форумы трейдеров.
К сожалению, не все авторы книг являются успешными трейдерами, и не все успешные трейдеры являются авторами книг. Многие специализированные ресурсы создаются только для заработка их хозяевами, ведь торговать на свои деньги гораздо сложнее, чем выпускать прогнозы и обучать торговым системам.