Блог им. Mackenna

Торговая система. Мои критерии выбора

"Если хочешь зарабатывать — лучше строить торговые системы, а не прогнозы". Тимофей Мартынов.


Здравствуйте, дамы и господа!

Каким же требованиям должна отвечать торговая система (далее – ТС)? Напомню, что бессистемная, основанная на субъективных оценках торговля это игра с отрицательным математическим ожиданием выигрыша и потеря денег при использовании такого подхода – вопрос времени и количества совершенных сделок (смотрите статью "Опыт — мудрость глупцов!").

1. ТС должна быть алгоритмизирована в виде торгового робота – только такой подход дает возможность проверить гипотезу о поведении котировки, заложенную в ТС, смоделировав сделки по правилам ТС с использованием известной истории изменения котировок на длительных временных интервалах, включающих различные рыночные ситуации (продолжительные тренды, флэтовые периоды, резкие (новостные) изменения и пр.) Тестирование ТС торговлей в реальном времени практически неприменимо, так как из-за бесконечной вариативности торговых систем может просто не хватить жизни для проверки достаточного их количества, а действительно прибыльная ТС — золотой самородок в куче пустой породы. Кроме того, серия тестов на истории с различными параметрами ТС позволяет найти оптимальные их значения для различных финансовых инструментов, например, расстояния до уровней стоп-лосса и тейк-профита для инструментов с различной волатильностью.

2. ТС должна использовать наименее популярные, а лучше уникальные методы анализа. На финансовых рынках деньги не создаются, а лишь меняют владельца — одни люди отнимают деньги у других. Трейдеры — сообщество с очень высокой профессиональной конкуренцией, которое неизбежно разделяется на успешное меньшинство (большинство не может быть успешным по определению, так как это относительное понятие) и неуспешное большинство. Рынок всегда против большинства. Если вы будете использовать для торговли классические, «проверенные временем» методы анализа, например, различные уровни, трендовые линии, популярные индикаторы типа МА, RSI или «стохастика» (при условии традиционной их интерпретации), то неизбежно будете на стороне большинства, т.е. с убытком:

«Результаты всегда печальны для тех, кто следует общей тенденции.» 
Питер Л. Бернстайн.

3. ТС должна генерировать достаточно большое число сделок, не менее 50 в год (одной сделки в неделю). Если ТС редко генерирует сигналы на открытие сделок, то, скорее всего, она настроена на редкие, а может быть уникальные рыночные ситуации (например, продолжительные тренды без сколько-нибудь значимых коррекций, вызванные Брекзитом или выборами президента США в 2016-м), которые, вполне возможно, и не повторятся в обозримом будущем. Если же сигналов достаточно много, то ТС настроена на рядовые, часто повторяющиеся рыночные ситуации, которые с высокой вероятностью продолжат складываться на рынке и в будущем.

4. ТС должна показывать схожие результаты тестирования на сходных финансовых инструментах. Например, если ваша ТС показывает прекрасные результаты тестов на валютных парах с британским фунтом, но убыточна на парах с евро или швейцарским франком, то это повод задуматься, а не следствие ли это какого-нибудь уникального рисунка волатильности, сформированного, например, Брекзитом? Тогда в будущем, используя эту ТС для торговли GBP, вы получите такой же результат, что показали тесты на других валютах — убыток. С другой стороны, не стоит добиваться, чтобы одна и та же ТС одинаково хорошо работала, например, и на валютном, и фондовом рынках — слишком разные по характеру поведения инструменты там торгуются.

5. ТС не должна иметь более 2-х оптимизируемых параметров кроме SL и TP. Представьте, что некая ТС построена на взаимном пересечении 3-х скользящих средних или сигналах других индикаторов с одним параметром — периодом расчета. Если период расчета может принимать, например, 10 различных значений, от 3-х до 12-ти, то мы получим, что ТС имеет 1000 комбинаций параметров (10 в 3-й степени, классическая задача комбинаторики о числе размещений с повторениями), т.е. 1000 вариантов ТС, один из которых, весьма вероятно, «удачно ляжет» на рисунок волатильности периода тестирования и тест покажет прекрасный результат. А если оптимизируемых параметров 5? Да еще попробовать их на 5-ти разных таймфреймах? Несложно подсчитать, что такая ТС будет иметь полмиллиона вариантов и результатам теста доверять будет нельзя. Это так называемая «переоптимизация».
Как писали Ч.Лебо и Д.Лукас, чем опытнее трейдер, тем проще торговая система. Так что «плодить сущности» надо осторожно.

Оказалось, что эти критерии очень жесткие и найти соответствующую им ТС весьма непросто. Моя сама результативная ТС MATS работала только на золоте, ТС «Алчность и страх» и ТС «Криптомикс» генерируют слишком мало сделок, чтобы делать статистические обобщения.
Как-то я приблизительно подсчитал, что за 10 лет протестировал более 2,5 тысяч (!) ТС – описанных в литературе, подсказанных коллегами, разработанных самостоятельно. Если тестировать ТС на не менее чем трехлетней истории, то указанным критериям соответствует только одна ТС — на немного усовершенствованном мной регрессионном осцилляторе. Вот результаты ее бэк-тестов («плечо» 1:1, в зависимости от склонности к риску, каждый сам решит, какое «плечо» использовать):

Торговая система. Мои критерии выбора

Торговая система. Мои критерии выбора

Торговая система. Мои критерии выбора

Оптимизируемых параметров три, но они выбираются из очень ограниченного списка: период регрессионного осцилятора выбирался из 24, 48 или 72 часов, уровень SL искал в интервале 0.5-1.0%, а отношение TP/SL в интервале 0.5-2. ТС не «переоптимизованна», это точно.
Но ее эффективность совсем не вдохновляет.

Совсем другое дело, ТС на трех «скользящих регрессиях»:

Торговая система. Мои критерии выбора
И эффективность ТС меня устраивает, и статистическая значимость теста вроде достаточная, но...
Как показали тесты на других валютах, — работает она только на EURUSD
Кстати, у меня довольно часто получается такой результат тестирования — ТС показывают достаточно хороший результат только на паре евро с долларом. Я объясняю это тем, что этот финансовый инструмент лидирует с большим отрывом по ликвидности. Одна из формулировок Закона больших чисел: «Совокупное влияние достаточно большого числа случайных факторов на результат не случайно.» Факторы — заявки продавцов и покупателей, результат — текущая котировка EURUSD. Только эта пара обладает достаточной ликвидностью, чтобы влияние случайных факторов на котировку было минимальным. Так как визуально отличить случайные колебания цены менее ликвидных инструментов  от неслучайных не представляется возможным (смотрите статью "Как становятся успешными трейдерами"), а на случайных, по определению, заработать нельзя, то, может быть, эффективность ТС на EURUSD и неэффективность на других парах как раз это и показывает? Но это лишь предположение.

А как вы думаете, коллеги?

Профита всем!

Если статья вам понравилась, вместо кнопки «Хорошо» жмите сюда,

                                                                        А если нет, то сюда

★18
35 комментариев
Mackenna, очень похоже, что так оно и есть. Недаром подавляющее большинство спекулянтов работают только с EURUSD.
avatar
Fedia, не факт. Сам постоянно на ней работал, а сейчас там делать нечего. По крайней мере интрадей со среднедневным ренжем 50 пунктов ловить нечего.
Да и на старших таймах больше боком, да раком последние 4 месяца.
avatar
а на паре EURUSD какое плечо при тесте?
Дмитрий Нуштакин, везде 1:1 для сопоставимости.
avatar
Хорошо написано. Но…
4. ТС должна показывать схожие результаты тестирования на сходных финансовых инструментах.

а потом про свою ТС пишите:
Как показали тесты на других валютах, — работает она только на EURUSD.
Понимаю, далее пытаетесь аргументировать исключительность Вашей ТС.
Но не логично… Или Ваша ТС не удовлетворяет изложенным выше Вашим же критериям «хорошести» ТС! )))
Удачи! Интересная статья!
avatar

FullCup, как раз я об этом и пишу! Есть неплохая система, но она НЕ соответствует выработанным мной критериям выбора. И как быть?

Как поступили бы Вы?
И это не реклама ТС — я ее не использую.

avatar
1) Махровый кухонный околорынок детектед.
2) Плюсовая ТС обычно проста как 2 копейки. Не надо там никаких алгоритмов и роботов.
avatar
Turbo Pascal, если ТС «проста как 2 копейки», то почему бы не написать по ней робота и пусть торгует? Да еще и эффективность бэк-тестом проверить — вдруг она только кажется Вам прибыльной?
avatar
ТС никому ничего не должна) Она просто преобразует информацию в сделки
avatar
Не плодить сущности в виде параметров это хорошо. Однако оптимизация всего двух параметров на выход из позиции (SL и TP) чаще всего делает систему не эффективной на реале. Так как происходит жесткая подгонка под рынок. Совет: искать другие точки/техники/правила выхода из позиции. 
avatar
оптимизация всего двух параметров на выход из позиции (SL и TP) чаще всего делает систему не эффективной на реале. Так как происходит жесткая подгонка под рынок

Кирилл, мой опыт говорит об обратном: как раз полученные оптимизацией уровни SL и TP всегда соответствовали формальной логике — чем выше ликвидность (ниже волатильность) инструмента, тем ближе к цене входа оптимальные стоп-уровни. А вот если это правило нарушается, тогда с системой что-то не так.
avatar
на моем опыте излишнее тестирование приводит к отказу от потенциально прибыльных систем. Лично я отказался от тестирования на истории от слова совсем. 
avatar

Vitaliy, эх, плюсануть нечем! (+)
Тоже с интересом читаю тут батлы по технологиям и инструментам тестирования, и не понимаю: «нафига сие» ...

avatar
1. Я стараюсь использовать не более 3 параметров в системах. 
2. Желательно — разной природы.
3. Тейки и стопы не использую.
4. Очень важно исследовать систему на устойчивость — в более-менее широкой окрестности «оптимального» набора параметров система должна быть вполне позитивной, пригодной к торговле. 
5. Применимость одной систем к нескольким разным активам — хороший бонус. 
avatar
SergeyJu, а будете ли Вы использовать систему, если она показывает положительный результат только на одном инструменте?
avatar
Mackenna, при некоторых дополнительных условиях — да.
avatar
SergeyJu, при каких?
avatar
Mackenna, хорошее отношение риск/дрходность, устойчивость к шевелению параметров, длительный период бэктестинга, доха на сделку существенно выше транзакционных издержек.
avatar
SergeyJu, то есть Вы допускаете, что ТС может быть основана на какой-то особенности конкретного финансового инструмента?
avatar
Mackenna, да
avatar
Этот набор критериев подходит для строго ограниченного класса стратегий — среднесрочные спекуляции на одном активе.
avatar
"Рынок всегда против большинства. Если вы будете использовать для торговли классические, «проверенные временем» методы анализа, например, различные уровни, трендовые линии, популярные индикаторы типа МА, RSI или «стохастика» (при условии традиционной их интерпретации), то неизбежно будете на стороне большинства, т.е. с убытком."
А если анализировать этими способами, но открывать в противоположную сторону, то с прибылью будем? 
avatar
Lev Levin, нет. Сделки, обратные случайным, также случайны. В этой статье я привел пример двух игроков в орлянку, платящих третьему «неигроку» комиссию — оба их счета будут «слиты» несмотря на то, что когда один из них выигрывает, то второй проигрывает, и наоборот.
avatar
Я бы добавил: ТС должна выигрывать у рынка не только в деньгах, но и в пунктах (т.е. показывать прибыль и на постоянном лоте)
avatar
Salamandra, я не считаю это условие обязательным. Мартингейл имет право быть. Другое дело, что пользоваться им непросто.
avatar
Salamandra, если система не использует переменный объем, то она обязана быть устойчиво прибыльной и в деньгах, и в пунктах и в процентах, по барабану. Если она использует переменный объем, то примерно тоже самое, только чуточку сложнее.
avatar
Salamandra, зря добавили. Если хотите идеала, то это не здесь.
Впрочем, дело даже не в идеале — почитайте что-нибудь о грамотном манименджменте и поймете сами, что важны не пункты, а ТП/СЛ.
avatar
Единственный критерий годности ТС — успешное прохождение процедуры Walk Forward Optimization. Процедуру можно изобразить так:




avatar
Сергей Симонов, 
1. Не единственный критерий.
2. Не всегда удобный и не всегда достаточный. 
avatar
SergeyJu, согласен. Это просто механический перенос принципов «машинного обучения» в трейдинг. Когда-то популярная тема — нейросети. Где сейчас те трейдеры с нейросетями?
avatar
Mackenna, машинным обучением никогда не занимался специально, так что и переноса принципов не было.
p.s. Думаю, что работать в трейдинге будет бустинг, а не нейронки. 
avatar
SergeyJu, я имел ввиду каммент Сергея Симонова об «обучающей» и «тестовой» выборках исторических данных.
avatar
Сергей Симонов, можете считать форвард-тестом тест системы, разработанной и оптимизованной на одном инструменте, на другом.
«Заточили» ТС на EURUSD, затем протестили на USDJPY.
avatar
Не знаю, чем вам так нравится Euro/Usd.  Даже мои самые лучшие трендовые роботы, отлично работающие на Si, хорошо на SBRF, при этом показывают очень слабенькие результаты на евро-долларе, имеется ввиду, отрезки в 6-7 лет на одних параметрах
avatar
Не слышали про И.Чечета и его генераторы торговых систем? 
avatar

теги блога Mackenna

....все тэги



UPDONW
Новый дизайн