Блог им. 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 и неэффективность на других парах как раз это и показывает? Но это лишь предположение.

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

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

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

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

★15
Mackenna, очень похоже, что так оно и есть. Недаром подавляющее большинство спекулянтов работают только с EURUSD.
avatar

Fedia

Fedia, не факт. Сам постоянно на ней работал, а сейчас там делать нечего. По крайней мере интрадей со среднедневным ренжем 50 пунктов ловить нечего.
Да и на старших таймах больше боком, да раком последние 4 месяца.
avatar

VladMih

а на паре EURUSD какое плечо при тесте?
Дмитрий Нуштакин, везде 1:1 для сопоставимости.
avatar

Mackenna

Хорошо написано. Но…
4. ТС должна показывать схожие результаты тестирования на сходных финансовых инструментах.

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

FullCup

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

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

avatar

Mackenna

1) Махровый кухонный околорынок детектед.
2) Плюсовая ТС обычно проста как 2 копейки. Не надо там никаких алгоритмов и роботов.
avatar

Turbo Pascal

Turbo Pascal, если ТС «проста как 2 копейки», то почему бы не написать по ней робота и пусть торгует? Да еще и эффективность бэк-тестом проверить — вдруг она только кажется Вам прибыльной?
avatar

Mackenna

ТС никому ничего не должна) Она просто преобразует информацию в сделки
avatar

Lewvik

Не плодить сущности в виде параметров это хорошо. Однако оптимизация всего двух параметров на выход из позиции (SL и TP) чаще всего делает систему не эффективной на реале. Так как происходит жесткая подгонка под рынок. Совет: искать другие точки/техники/правила выхода из позиции. 
avatar

Кирилл Глухов

оптимизация всего двух параметров на выход из позиции (SL и TP) чаще всего делает систему не эффективной на реале. Так как происходит жесткая подгонка под рынок

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

Mackenna

на моем опыте излишнее тестирование приводит к отказу от потенциально прибыльных систем. Лично я отказался от тестирования на истории от слова совсем. 
avatar

Vitaliy

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

avatar

Adam Kazimirovich

1. Я стараюсь использовать не более 3 параметров в системах. 
2. Желательно — разной природы.
3. Тейки и стопы не использую.
4. Очень важно исследовать систему на устойчивость — в более-менее широкой окрестности «оптимального» набора параметров система должна быть вполне позитивной, пригодной к торговле. 
5. Применимость одной систем к нескольким разным активам — хороший бонус. 
avatar

SergeyJu

SergeyJu, а будете ли Вы использовать систему, если она показывает положительный результат только на одном инструменте?
avatar

Mackenna

Mackenna, при некоторых дополнительных условиях — да.
avatar

SergeyJu

SergeyJu, при каких?
avatar

Mackenna

Mackenna, хорошее отношение риск/дрходность, устойчивость к шевелению параметров, длительный период бэктестинга, доха на сделку существенно выше транзакционных издержек.
avatar

SergeyJu

SergeyJu, то есть Вы допускаете, что ТС может быть основана на какой-то особенности конкретного финансового инструмента?
avatar

Mackenna

Mackenna, да
avatar

SergeyJu

Этот набор критериев подходит для строго ограниченного класса стратегий — среднесрочные спекуляции на одном активе.
avatar

wrmngr

"Рынок всегда против большинства. Если вы будете использовать для торговли классические, «проверенные временем» методы анализа, например, различные уровни, трендовые линии, популярные индикаторы типа МА, RSI или «стохастика» (при условии традиционной их интерпретации), то неизбежно будете на стороне большинства, т.е. с убытком."
А если анализировать этими способами, но открывать в противоположную сторону, то с прибылью будем? 
avatar

Lev Levin

Lev Levin, нет. Сделки, обратные случайным, также случайны. В этой статье я привел пример двух игроков в орлянку, платящих третьему «неигроку» комиссию — оба их счета будут «слиты» несмотря на то, что когда один из них выигрывает, то второй проигрывает, и наоборот.
avatar

Mackenna

Я бы добавил: ТС должна выигрывать у рынка не только в деньгах, но и в пунктах (т.е. показывать прибыль и на постоянном лоте)
avatar

Salamandra

Salamandra, я не считаю это условие обязательным. Мартингейл имет право быть. Другое дело, что пользоваться им непросто.
avatar

Mackenna

Salamandra, если система не использует переменный объем, то она обязана быть устойчиво прибыльной и в деньгах, и в пунктах и в процентах, по барабану. Если она использует переменный объем, то примерно тоже самое, только чуточку сложнее.
avatar

SergeyJu

Salamandra, зря добавили. Если хотите идеала, то это не здесь.
Впрочем, дело даже не в идеале — почитайте что-нибудь о грамотном манименджменте и поймете сами, что важны не пункты, а ТП/СЛ.
avatar

VladMih

Единственный критерий годности ТС — успешное прохождение процедуры Walk Forward Optimization. Процедуру можно изобразить так:




avatar

Сергей Симонов

Сергей Симонов, 
1. Не единственный критерий.
2. Не всегда удобный и не всегда достаточный. 
avatar

SergeyJu

SergeyJu, согласен. Это просто механический перенос принципов «машинного обучения» в трейдинг. Когда-то популярная тема — нейросети. Где сейчас те трейдеры с нейросетями?
avatar

Mackenna

Mackenna, машинным обучением никогда не занимался специально, так что и переноса принципов не было.
p.s. Думаю, что работать в трейдинге будет бустинг, а не нейронки. 
avatar

SergeyJu

SergeyJu, я имел ввиду каммент Сергея Симонова об «обучающей» и «тестовой» выборках исторических данных.
avatar

Mackenna

Сергей Симонов, можете считать форвард-тестом тест системы, разработанной и оптимизованной на одном инструменте, на другом.
«Заточили» ТС на EURUSD, затем протестили на USDJPY.
avatar

Mackenna

Не знаю, чем вам так нравится Euro/Usd.  Даже мои самые лучшие трендовые роботы, отлично работающие на Si, хорошо на SBRF, при этом показывают очень слабенькие результаты на евро-долларе, имеется ввиду, отрезки в 6-7 лет на одних параметрах
avatar

Андрей Ш.

Не слышали про И.Чечета и его генераторы торговых систем? 
avatar

Врач-бондиатОр


Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.

Залогиниться

Зарегистрироваться
....все тэги
UPDONW