June 11, 2024

Backtest: Что, как, зачем?

Introducing


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

Большинство трейдеров сталкиваются с ситуацией, когда в ходе бэктеста был получен процент выиграшных сделок (Win Rate) в размере 80-90-100%, но фактическая торговля оставляет желать лучшего. На основе чего возникает непонимание, почему так происходит, что делать дальше и как исправлять ошибки, ведь в ходе бэктеста все казалось хорошо.

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

Для работы с Backtest рекомендуем использовать удобный шаблон из THE EDGE Database.

Backtest Template (1)

Что такое Backtest?


Прежде чем перейти к разновидностям бэктеста, хотелось бы задать вопрос: "А что такое бэктест?”

<aside> <img src="/icons/hexagon-two-sixths_gray.svg" alt="/icons/hexagon-two-sixths_gray.svg" width="40px" /> Бэктест (от английского "backtest") - это процесс тестирования торговой стратегии на исторических данных, насколько эффективна была бы стратегия, если бы использовали её в прошлом.

</aside>

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

Разновидности


  • Instruments Backtest
  • Situation Backtest [Research]
  • Logic Test [Forward Test]
  • System Backtest [FX Replay]

Instruments backtest


Preparation

Backtest такого рода проводится на основе запроса о формировании одного из элементов Price Action (PA). Чаще всего такой Backtest проводят новички в сфере или люди, которые узнали о каком-то новом инструменте и хотят использовать его в своей торговле, но не понимают нюансов его формирования, а также как его использовать.

<aside> <img src="/icons/gears_gray.svg" alt="/icons/gears_gray.svg" width="40px" /> Для проведения такого рода бэктеста необходимо получить следующие данные

  • Потребность данного бэктеста.
  • Как данная формация или сетап выглядит на графике.
  • Как часто инструмент появляется на графике.
  • Какие переменные могут быть использованы в паре с инструментом.
  • О каких нюансах работы с данным инструментом уже известно, что можно сразу использовать в бэктесте для дополнительной информации. </aside>

Example

В вашей торговле никогда не использовался такой элемент PA, как Rejection Block. Но вы регулярно видите, как более опытные коллеги используют данный инструмент, и решаете изучить его для возможного улучшения вашей торговой системы.

Запрос: Изучить варианты формирования Rejection Block на графике и работу с ним.

Информация об инструменте: ** Rejection Block формируется после работы с ликвидностью [Fractal High or Low] [FVG] и формирования buy/sell candles или sell/buy candles на одном уровне, тем самым показывая, что аукцион произошел и обьем поступил

Ньюансы использования:

Rejection Block должен быть сформирован ниже/выше уровня работы с ликвидностью, тем самым это будет показывать Rejection, после чего сформированную зону можно использовать.

Тестированный элемент PA создает пул ликвидности.

Information proccesing


В работе с графиком после составления запроса необходимо провести следующие шаги:

  1. Выработка навыка распознавания формирования формации: Это включает в себя изучение характеристик и особенностей формирования формации на графике, чтобы вы могли легко распознавать его в будущем.
  2. Изучение вариантов формирования инструмента в разных ситуациях и с разным контекстом: Разные рыночные условия и контекст могут влиять на формирование формаций. Изучение в различных ситуациях поможет вам лучше понять его поведение и возможные варианты применения на графике.
  3. Детальное описание контекста каждой ситуации: Для каждой ситуации, в которой инструмент был использован, важно делать подробное описание контекста, включая факторы рынка, объемы торгов, временные рамки и другие сопутствующие аспекты. Это поможет вам провести анализ и сформулировать выводы.

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

Conclusion


Выводы после обработки полученной информации необходимо вывести в один блок, где раписать свои мысли.

  • Какие заметки были получены в ходе данного бектеста
  • Может ли данный элемент РА улучшить мою торговую систему
  • Если добавить данный элемент РА в торговую систему, от чего придется отказаться и нет ли противоречивых факторов в торговой системе

Сonclusion Example

  1. Заметки полученные в ходе бэктеста:
    • Было обнаружено, что элемент PA "Rejection Block" формируется после работы с ликвидностью [Fractal High or Low] [FVG] и появления buy/sell candles или sell/buy candles на одном уровне, что указывает на проведение аукциона и получение ликвидности.
  2. Может ли данный элемент PA улучшить мою торговую систему:
    • Добавление "Rejection Block" в торговую систему может улучшить понимание поведения рынка и обеспечить дополнительные точки входа или выхода из позиций.
  3. От чего придется отказаться и нет ли противоречивых факторов в торговой системе:
    • Для интеграции "Rejection Block" в торговую систему, возможно, потребуется отказаться от некоторых других элементов PA или пересмотреть текущие правила входа и выхода из позиций.
    • Необходимо убедиться, что включение "Rejection Block" не противоречит другим правилам торговой системы.

Исходя из сформулированных выводов, можно сделать обоснованное решение о добавлении или отказе от элемента PA "Rejection Block" в торговую систему.

Situation backtest [Research]


Preparation

Основная цель данного бэктеста - это просмотр информации для выявления каких-либо заметок или идей. Лучше всего его назвать "Research", потому что его необходимо проводить с определенными запросами для поиска ситуаций на графике и анализа.

<aside> <img src="/icons/gears_gray.svg" alt="/icons/gears_gray.svg" width="40px" /> Для работы необходимо ответить на такие вопросы:

  • Какова цель бэктеста?
  • Какие переменные учитываются в каждой ситуации ресерча, который вы проводите?
  • Какое количество ситуаций планируется пересмотреть для статистики? </aside>

Ответы на данный вопрос должны быть четкими с конкретными критериями.

Example 1

Я планирую провести исследование о взаимодействии Лондонской сессии с Frankfurt High Or Low. Цель данного исследования - выявить переменные, при которых во время Лондонской сессии происходят манипуляции с одним из уровней Франкфуртской сессии, а также оценить рентабельность входа в позицию в период с 9 до 10 утра. В ходе данного исследования будет обращено внимание на переменные, благодаря которым происходят манипуляции Франкфуртской сессии, а также на время, когда это происходит. Планируется проанализировать последний квартал, а именно период с 01.01 по 01.04 2024 года.

Example 2

Я планирую провести исследование о работе с уровнем NYM и выявить переменные, которые могут подсказать мне дальнейшее направление движения рынка. Также я хочу изучить взаимодействие между килозонами в период с 9 до 10 утра и оценить, насколько часто происходит работа с ликвидностью во время Франкфуртской сессии.

Переменные, которые будут учтены:

  • Время работы с уровнем NYM.
  • Время формирования подтверждений движения графика в одну из сторон.
  • Как часто подтверждение во Франкфурте является истинным.
  • В каком промежутке времени происходит манипуляция в Лондонской сессии.
  • Как часто Франкфурт выступает в роли доставки цены в необходимую зону интереса для Лондонской сессии, откуда уже начинается основное движение.

Планируемый диапазон исследования - 3 месяца.

Я упомянул три месяца в качестве примера, потому что такой временной период обычно достаточен для выявления особенностей той или иной ситуации, а также для понимания, стоит ли это использовать в своей торговле или нет.

Information proccesing


После выполнения первого этапа и формирования запроса можно переходить к работе с графиком. Работа с графиком включает в себя следующие шаги:

  1. Детальное описание каждой ситуации в соответствии с вашим запросом.
  2. Заполнение каждой ситуации ссылками или скриншотами с визуальной информацией.
  3. Выписывание отдельных заметок, которые были обнаружены во время исследования.

После получения всей необходимой информации необходимо проанализировать ее еще раз, исходя из записей, полученных в журнале, и сделать определенные выводы, написав Conclusion (Заключение)

Conclusion


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

В Заключении рекомендуется ответить на следующие вопросы:

  1. Какие общие наблюдения были сделаны в рамках данного исследования?
  2. Как эти наблюдения могут быть полезны при построении моего плана и работы с графиком?
  3. Могут ли полученные данные быть интегрированы в торговую систему? Насколько это улучшит мой взгляд на рынок, и от чего мне придется отказаться, используя переменные данного исследования?

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

Logic Backtest [Forward test]


Preparation

Основная цель данного бэктеста - это отработка логики доставки цены. Данную отработку рекомендуется делать уже на существующем графике, это поможет понять точки А и В, а так же улучшить понимание логики доставки и последовательость формирования инструментов.

<aside> <img src="/icons/gears_gray.svg" alt="/icons/gears_gray.svg" width="40px" /> Для работы необходимо ответить на такие вопросы:

  • Каков временной промежуток используется для бектеста
  • Какие инструменты будут использованы
  • Какая цель бектеста </aside>

Ответы на данный вопрос должны быть четкими с конкретными критериями.

Examples

Примеры такого бектеста вы можете найти в вкладке Weekly Recaps. Такие бектесты делаются каждую неделю для закрепления логики доставки цены на прошедшей недели.

Information proccesing

После проведения Бектеста стоит проанализировать детали которые были непонятны. Если появляется ситуация: “От чего цена тут ушла” , стоит вернуться к этим записям через время и пересмотреть еще раз, возможно вы упускаете какой-то элемент на графике. При такой работе с бектестами, будут формироваться заметки и интересные закономерности поведения цены на графике, которые путем обработки на постанализе - могу улучшить ваш перформанс на дистанции.

Conclusion

Рекомендуется делать такие тесты на регулярной основе в рамках Weekly Performance Analysis На Дистанции - такая работа улучшает понимание логики доставки цены, повышает уровень насмотренности и

System Backtest [FX Replay]


Preparation

Основная цель данного бэктеста - это отработка работы торговой системе на истории, в клондициях приближенных максимально к Live Trading. Для такого рода бектеста используется сервис FX Replay.

<aside> <img src="/icons/gears_gray.svg" alt="/icons/gears_gray.svg" width="40px" /> Для работы необходимо ответить на такие вопросы:

  • Каков временной промежуток используется для бектеста
  • Есть ли полная картина системы которую Вы хотите проверить </aside>

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

Example

Information proccesing

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

  • Дни в которые вы наиболее вероятно можете получить возможность войти в позицию
  • Средний комфортный RR для текущей торговой стратегии
  • WinRate (стоит учитывать что будет погрешность с реальной торговлей)

Все эти данные при правильном анализе могут увидеть ваши сильные стороны, а так же обратить внимание, где вы ошибались.

Рекомендую записывать все позиции для дальнейшего постанализа, сервис не дает возможности посмотреть позицию на графике, только историей в журнале.

Conclusion

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