Первую задачу как мы уже знаем можем решить с помощью data mining.
Переходим к следующей — тестирование стратегий на подгонку и устойчивость к изменениям.
Прежде чем займемся непосредственно тестированием, обсудим такой вопрос “Чем будущий график цены актива может отличаться от прошлого?” или "Почему биржевые роботы умирают?"
Конечно, вопрос попахивает философией, но выдвину свою гипотезу: будущий график отличается от прошлого новыми непредсказуемыми и уникальными комбинациями “тренд-флет”, а именно новой длинной флетовых участков, которые и приводят к затяжным убыткам у трендовых алготрейдеров.
Давайте схематично разберем движение цены некого актива в течении 6 месяцев (синяя кривая, левая часть рисунка): участки роста чередуются с участками флета и трендовая стратегия скорее всего за эти полгода заработает неплохую прибыль, временами попадая в просадку в период боковых запилов (зеленая кривая).
Если нарежем график на составляющие (центральная часть) и пересоберем в самый стрессовый сценарий (правая часть), то, логически рассуждая, наша стратегия в первом квартале получит просадку больше, чем она показывала при тестировании и трейдер может ее снять с торгов испугавшись того, что она уже сломалась.
Чтобы проверить алгоритмическую стратегию на предмет того, как она справится с подобной «пересборкой» графика в будущем, можно использовать walk forward resampling (WFR).
WFR был получен в результате объединения 2-х методов: walk forward analysis и resampling (разновидность метода Монте Карло).
Форвардный анализ (walk forward analysis) оценивает эффективность торговой системы исключительно на основе пост-оптимизационного трейдинга или теста на данных, не входящих в оптимизационную выборку. Форвардный анализ — моделирование торговой ситуации, наиболее точно воспроизводящей способ использования оптимизированной торговой системы в реальной торговле.
На схеме представлен один из вариантов проведения форвардного анализа — каждый месяц (1 month, 30 дней) проводится оптимизация параметров стратегии за последние 3 месяца (3 month, 90 дней). Самый лучший параметр ставится в торги на следующие 30 дней и так пока не дойдем до конца периода тестирования.
Суммируя показатели сегментов Test, мы можем проанализировать «склеенную» кривую на предмет прибыли и максимальной просадки и понять насколько сильно стратегия подогнана под прошлое (over-fitting) и способна давать прибыль в будущем.
Resampling — в самом простом понимании пересборка (приставка re-) образцов (sample) данных с использованием генератора случайных чисел. В случае WFR пересборка осуществляется тестовых сегментов (out of sample) после форвардного анализа.
Например на графике представлено 100 тестов ресемлинга кривой, полученной в результате форвардного анализа.
Все кривые доходности имеют одну и ту же накопленную прибыль (выходят из одной точки и приходят в одну), но обладают разной максимальной просадкой, которая и является ключевой метрикой устойчивости стратегии.
Для иллюстрации WFR будем использовать superbot для Metatrader 5 и стратегию для фьючерса на индекс РТС из коллекции на основе прорыва канала волатильности (breakout), созданную во время написания предыдущей статьи.
Текстовое описание стратегии (его автоматические генерирует superbot):
Тестовая кривая доходности с 01.01.2014 по 28.01.2022
Статистика
На закладке "Настройки" выберем весь интервал и включим оптимизацию
Оптимизировать будем 2 параметра стратегии: ширину канала в интервале ±30% от значения 2 и период фильтров — средних скользящих также в интервале ±30% от 100 баров.
Выставляем длительность окна out of sample 30 рабочих дней, а in sample 90 (каждые 30 рабочих дней мы проводим переоптимизацию за последние 90 рабочих дней и лучшие параметры проторговать в следующие 30 и так пока не дойдем до конца данных)
Также внесли финрезультат одиночного теста, чтобы можно было его сравнить с накопленной прибылью стратегии после форвардного анализа
После того как мы нажмем зеленую кнопку Старт, superbot сформирует текстовый файл с отчетом WFR. Весь процесс занял 19 секунд.
Открыв файл мы получаем вверху всю необходимую аналитику, а внизу результат walk forward analysis
Файл с отчетом WFR
Из всей аналитики нас интересуют строки 4, 5 и 6:
Если кратко оценить данный тест, то видим что в процессе 10 000 комбинаций сегментов форвардного анализа мы нашли такую длительность флета, что стратегия может получить просадку -35 041, хотя первоначально мы опирались на -13 541р.
Прохождением теста является рост просадки менее чем в 2 раза, в нашем случае просадка увеличилась 2.58 раз, т.о. тест не пройден.
Соответственно если у вас есть 2 похожих алгоритмические стратегии, то выбор можете сделать на основе форвардного ресемплинга и выбрать ту, у которой просадка в 6 пункте после увеличилась менее чем в 2 раза.
Вывод: форвардный ресемплинг позволяет не только выбрать стратегию, которая устойчива к новым комбинациям затяжных флетов в будущем, но и предоставляет ценную информацию для управления капиталом и управления стратегией на реальном счете, но об этом мы поговорим в следующих статьях.
С пожеланием успехов и кайфа в алготрейдинге, Владимир Чамин, superbot.pro
P.S.: если хотите подробнее разобраться в создании и тестировании стратегий, подготовил бесплатный мини-курс из 3-х видео где показываю как выглядит процесс генерации алгоритмических стратегий для фьючерсов Si, Eu, Ri
Прошлые положительные результаты торговли и тестирования не гарантируют их повторение в будущем. Информация, представленная на сайте, не является индивидуальной инвестиционной рекомендацией.
Трейдинг на финансовых рынках связан с риском потери капитала.
1 интервал тестирования = как минимум 1000 сделок в лонг+ 1000 сделок в шорт… а у тя за три месяца максимум 40-50 сделок