Backtest: Что, как, зачем?
Introducing
В рамках данной статьи мы поговорим о вариациях бэктеста, его особенностях и вариантах использования на практике, а также об ошибках, которые могут быть допущены при бэктестах, и как формируется самообман.
Большинство трейдеров сталкиваются с ситуацией, когда в ходе бэктеста был получен процент выиграшных сделок (Win Rate) в размере 80-90-100%, но фактическая торговля оставляет желать лучшего. На основе чего возникает непонимание, почему так происходит, что делать дальше и как исправлять ошибки, ведь в ходе бэктеста все казалось хорошо.
Основная проблема многих трейдеров заключается в поверхностном восприятии рыночных ситуаций во время бэктестов и непонимании, зачем делать бэктест и как его проводить с максимальной продуктивностью. Поэтому в рамках этой статьи мы постараемся рассказать, на что стоит обращать внимание при подобной работе, и как из потраченного времени извлечь максимум пользы.
Для работы с Backtest рекомендуем использовать удобный шаблон из THE EDGE Database.
Что такое Backtest?
Прежде чем перейти к разновидностям бэктеста, хотелось бы задать вопрос: "А что такое бэктест?”
<aside> <img src="/icons/hexagon-two-sixths_gray.svg" alt="/icons/hexagon-two-sixths_gray.svg" width="40px" /> Бэктест (от английского "backtest") - это процесс тестирования торговой стратегии на исторических данных, насколько эффективна была бы стратегия, если бы использовали её в прошлом.
Исходя из вышесказанного, можно сказать проще, 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
В работе с графиком после составления запроса необходимо провести следующие шаги:
- Выработка навыка распознавания формирования формации: Это включает в себя изучение характеристик и особенностей формирования формации на графике, чтобы вы могли легко распознавать его в будущем.
- Изучение вариантов формирования инструмента в разных ситуациях и с разным контекстом: Разные рыночные условия и контекст могут влиять на формирование формаций. Изучение в различных ситуациях поможет вам лучше понять его поведение и возможные варианты применения на графике.
- Детальное описание контекста каждой ситуации: Для каждой ситуации, в которой инструмент был использован, важно делать подробное описание контекста, включая факторы рынка, объемы торгов, временные рамки и другие сопутствующие аспекты. Это поможет вам провести анализ и сформулировать выводы.
Помните, что не каждая формация или инструмент может быть полезен в вашей торговой системе. После проведения анализа каждой ситуации и формирования Conclusion вы сможете понять, насколько данный инструмент соответствует вашему стилю торговли и стратегии.
Conclusion
Выводы после обработки полученной информации необходимо вывести в один блок, где раписать свои мысли.
- Какие заметки были получены в ходе данного бектеста
- Может ли данный элемент РА улучшить мою торговую систему
- Если добавить данный элемент РА в торговую систему, от чего придется отказаться и нет ли противоречивых факторов в торговой системе
- Заметки полученные в ходе бэктеста:
- Было обнаружено, что элемент PA "Rejection Block" формируется после работы с ликвидностью [Fractal High or Low] [FVG] и появления buy/sell candles или sell/buy candles на одном уровне, что указывает на проведение аукциона и получение ликвидности.
- Может ли данный элемент 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
После выполнения первого этапа и формирования запроса можно переходить к работе с графиком. Работа с графиком включает в себя следующие шаги:
- Детальное описание каждой ситуации в соответствии с вашим запросом.
- Заполнение каждой ситуации ссылками или скриншотами с визуальной информацией.
- Выписывание отдельных заметок, которые были обнаружены во время исследования.
После получения всей необходимой информации необходимо проанализировать ее еще раз, исходя из записей, полученных в журнале, и сделать определенные выводы, написав Conclusion (Заключение)
Conclusion
Ситуации на рынке уникальны, и для успешного исследования необходимо найти в них сходство, чтобы получить информацию и возможность сформулировать Заключение.
В Заключении рекомендуется ответить на следующие вопросы:
- Какие общие наблюдения были сделаны в рамках данного исследования?
- Как эти наблюдения могут быть полезны при построении моего плана и работы с графиком?
- Могут ли полученные данные быть интегрированы в торговую систему? Насколько это улучшит мой взгляд на рынок, и от чего мне придется отказаться, используя переменные данного исследования?
Обработав всю информацию, полученную из вашего запроса, вы сможете определить, нужна ли данная переменная в вашей торговой системе, и сможете ли вы использовать подобные ситуации в реальной торговле.
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 при реальных торгах.