Инвестиции, трейдинг и психология
Организация и проведение курсов, вебинаров, тренингов по инвестициям, трейдингу и психологии.
Основные направления моей деятельности: инвестиции, торговля на финансовых рынках, исследования в области рынков, включая психологию и поведение публики, разработка аналитических решений для торговли. Когнитивная и поведенческая психология, исследования в этих областях, консультирование.
Skype: eurtrader
> Блог >

Правила формализации торговых стратегий для форекс / фьючерсов

Я тестировал множество стратегий форекс и стратегий для фьючерсных рынков. По основным forex стратегиям собираю статистику для того, чтобы в моменте можно было выбирать более прибыльную/менее убыточную торговую стратегию форекс. Очень редко когда одна торговая стратегия форекс подходит для использования на нескольких рынках. Кстати, стратегии форекс часто подходят и для фьючерсных рынков, принципы ведь одни и те же.  Я использую различные торговые стратегии для работы на Форекс и фьючерсном рынке, потому что найти одну стратегию для всех рынков практически нереально. Примером такой стратегии могут быть news trading или торговля уровней. Однако, в таком случае все равно придётся подбирать торгуемые инструменты и формировать условный портфель.

Почему сложно найти прибыльную торговую стратегию для дискреционного трейдинга?

Проблема заключается не в том, что прибыльных дискреционных торговых систем на форекс и фьючерсах нет, а в том, как мы ищем и оцениваем торговые системы. Давайте вспомним, как мы ищем стратегии? В основном мы опираемся на эмоциональную реакцию после того, как услышим или увидим у кого-то пару прибыльных сделок. Когда мы читаем в тексте «прибыльная стратегия», то часто уже соглашаемся с этим фактом и начинаем торговать на демо, сверять на истории, не тестировать, а именно сверять и т. д. Однако, в самом процессе оценки заключены множественные проблемы, мешающие оценить торговую стратегию и качественно ее формализовать.

Мы пропускаем убыточные паттерны, сигналы, сетапы

Трейдеры склонны принимать парадоксальные решения в торговле, так как подвержены когнитивным искажениям.
Почему так происходит? Основная масса учится с помощью исторических графиков, т. е. просто просматривает графики на наличие своего сетапа. Однако особенность мозга заключается в том, что множество убыточных сетапов не будут найдены, так как мозг ищет только рабочие моменты, используя информацию из будущего. Следовательно, определяя без должного тестирования на истории различные паттерны и в дальнейшем используя их, трейдеры получат убытки.

Мы принимаем решения парадоксально

Трейдеры склонны интерпретировать одни и те же ситуации по-разному в зависимости от эмоционального состояния или наличия/отсутствия сделки. Чем сложнее логика принятия решения, тем больше парадоксов. Например, используя простой сетап — пробой уровня, многие трейдеры добавляют к логике принятия решения о входе дополнительную информацию от индикаторов (объёмов, волн), называя это контекстом. Проблема заключается в том, что в сложной, чётко не формализованной многофакторной модели есть взаимоисключающие комбинации. Так как большинство трейдеров не формализуют свои алгоритмы, это обстоятельство остаётся незамеченным.

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

Стоит напомнить, что  0 * Х = 0. Это очередное когнитивное искажение, с помощью которого создаётся иллюзия работоспособности торговой системы за счёт «оправданий». Трейдер не принимает факт убыточности торговой системы и придумывает сложные контексты и объяснения, чтобы пояснить себе убыточные сделки. В итоге торговая система будет содержать сетап и контекст, которые часто будут противоречить друг другу, так в одном случае при появлении сетапа, трейдер принимает решение о покупке, а в другом случае при появлении этого же сетапа, но в окружении другого контекста, трейдер может принять решение о продаже. Эта проблема существует из-за того, что вместо тестирования применяется исторический, ретроспективный анализ с выбором только рабочих и прибыльных моментов. Такое отношение к процессу тестирования является когнитивным искажением, называемым селективным восприятием.

У нас отсутствует статистика / долгосрочная статистика

На прибыльность системы влияют множество факторов, оценить влияние которых сложно без многоэтапного автоматизированного тестирования. Так, торговые стратегии, чувствительные к волатильности, могут начать приносить убытки во время роста/падения волатильности. Торговые стратегии, основанные на слежении за трендом, будут приносить убытки в периоды отсутствия тенденций и/или снижения волатильности. Например, нет смысла искать сигналы пересечения скользящих средних в ночные периоды, так как сама суть такого сигнала — импульс в сторону тренда, но разве ночью часто бывают импульсы? Торговые системы, основанные на возврате к среднему (mean reversion trading systems), будут приносить прибыль в периоды средней/высокой волатильности, но без явно выраженных трендов.

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

Что можно определить благодаря тестам?

1. Чувствительность вашей торговой стратегии к волатильности и рыночным фазам. Подобный тест позволяет определить тип вашей стратегии, а трейдеру определиться с выбором подходящего рынка.
2. Чувствительность вашей торговой стратегии к величине спреда и проскальзыванию. Позволяет проверить адекватность издержек и работоспособность стратегии при их увеличении. Очень часто с увеличением спреда, стратегии перестают работать, т. к. используют локальные неэффективности форекс брокера, вместо фундаментальных рыночных.
3. Чувствительность вашей торговой стратегии к пропуску сделок. Подобные тесты симулируют торговлю, как будто решения принимает человек. С определённой вероятностью пропускаются системные сделки и определяется влияние пропусков на результат. Именно подобный результат получит трейдер, используя эту стратегии и имея склонность к пропуску сделок (в любом случае мы пропускаем системные сделки по разным причинам).
4. Чувствительность вашей торговой к оптимизации и изменению параметров. Очень часто для улучшения прибыльности стратегии используются переоптимизация параметров. Существуют специальные тесты, позволяющие проверить, как будет вести себя система если переоптимизировать её параметры с заданной частотой.

Для того чтобы не плакать впоследствии, жизненно необходимо проводить хотя бы часть из вышеописанных тестов.

Как правильно формализовать дискреционную торговую систему?

1. Конкретно и чётко опишите ваш сетап и условия входа и выхода. Описание механическое, формализуемое, представьте, что вы пишите техзадание для программиста.
Вход, выход, количество денег при входе в сделку (лучше использовать % от депозита, вместо фиксированного лота), величина стопа и тейка, привязанная к волатильности (SLTP=CLOSE +/- X*ATR(Y)), трейлинг-стоп основанный на мувинге или приорах. Старайтесь не использовать индикаторы для определения выходов.
2. Запрещено использовать парадоксальную логику (один и тот же сетап должен генерировать ТОЛЬКО одинаковые решения).
3. Используйте максимум 4 условия для системного входа 2 условия для системного выхода. Более сложные стратегии будут чрезмерно подогнаны под историю и в итоге принесут убытки.
Отвлечённый пример. Вход: MACD > 0, Close > Close-1, Wave = 1 or 3, RSI < 80. Выход: ATR < ATR-3, ATR > ATR-1
4. Всегда используйте симметричную логику для сделок в Лонг и Шорт.
5. Формализуйте время жизни сетапа и сделки.
6. Не используйте заведомо неблагоприятные или неторговые периоды. Если ваша торговая стратегия рассчитана на высокую волатильность или тренд, то ограничьте трейдинг в ночные периоды и не считайте статистику для периодов, в которые вы не будете торговать.
7. Не используйте реверсивные торговые стратегии. Статистически прибыльных реверсивных стратегий форекс, кроме скальпинга, не выявлено.

После формализации протестируйте свою торговую стратегию с помощью эксель, metatrader, sierra chart или хотя бы используя визуальный симулятор (есть в MT и SC). Механически исполняйте сделки, именно так, как формализовали.

Хотите определить степень своей готовности к рынку?

Честно ответьте (да/нет) на следующие вопросы:
1. Есть ли у вас долгосрочная статистика по торговой стратегии?
2. Формализована ли система так, что эту формализацию можно использовать как техзадание?
3. Достаточно ли денег у вас для подобной торговли?
4. Понимаете ли вы за счёт чего торговая стратегия получает прибыль и при каких обстоятельствах она теряет?

Если вы ответили нет хотя бы 2 раза, очевидно, что вы не готовы! Я повидал очень много трейдеров, проваливших отборы в Пропе, поэтому имею представление о том, что реально подрывает торговлю. Не смысла прыгать на ринг, не имея соответствующей экипировки и навыков. Биржевая и форекс индустрия построена на рекламе богатства. Каждый раз, когда мы читаем, видим, слышим что-то о трейдинге, наш мозг рисует нам богатую или красивую жизнь, но затем срабатывает желание и жадность, и мы хотим быстрее получить все эти блага, часто пренебрегая простыми и разумными подготовительными этапами. Задумайтесь, готовы ли вы? Подумайте, чему вас могут научить гуру? Одной системе, без статистики, которая рано или поздно начнёт показывать худшие результаты из-за несоответствия рыночным характеристикам? Или вы думаете, что существует универсальная торговая стратегия? Возможно, стоит научиться искать и выбирать системы, соизмеряя их с рыночной ситуацией?

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

Хорошей вам статистики и формализованной стратегии!

 

Комментарии к посту «Правила формализации торговых стратегий для форекс / фьючерсов»

  1. Тарас

    Максим благодарю за статью, узнаю много интересного и полезного, с удовольствием читаю блог

  2. Игорь

    Здравствуйте! Поясните пожалуйста формулу (SLTP=CLOSE +/- X*ATR(Y)) — настолько просто на сколько это возможно и еще для чайников . поясните пожалуйста пользу от практического применения данного осцилятора

    • Стоп-лосс не может превышать значение цены закрытия +- коэффициент, например 0.5*ATR, рассчитываемый за некоторый период, обычно 15-40 дней. Аналогично и для взятия прибыли. Необходимо устанавливать стопы на некотором удалении от цены, вот значение этого удаления берется из среднедневного диапазона за 15-40 дней. Обычно максимальный стоп-лосс не должен быть больше половины среднедневного диапазона за месяц, например.

  3. Даниил

    Спасибо за статью. Подскажите, пожалуйста,как проанализировать робота/стратегию на переоптимизированность и как часто следует оптимизировать параметры

    • Если в ТС больше 5 параметров требующих оптимизации, то можно смело ее выкидывать, так как в 9 случаях из 10 она будет переоптимизирована. Для проверки разбейте множество данных на субпериоды, например длинной в месяц.
      Затем оптимизируйте на 1 интервале и смотрите, какие результаты будет давать система на следующем интервале (месяце). У вас получится набор параметров по 19 месяцам, дальше постройте линейную регрессию для этих 19 значений с этим же рядом данных только сдвинутым на шаг назад. Коэффициенты линейной регрессии будут показывать вам на сколько нужно подкрутить параметры в будущем месяце. Однако, если система будет при таком подходе показывать убытки, значит она железно убыточна) В примере речь об одном параметре, например оптимизация стоп-лосса. Если у вас их 5, значит нужно для 5 параметров получить коэффициенты линейной регрессии.

Добавить комментарий

Ваш e-mail не будет опубликован. Все поля обязательны для заполнения