Блог им. algostartup

Почему биржевые роботы умирают?

В прошлой статье мы обозначили 4 ключевых задачи алготрейдера:
  1. Поиск идей торговых стратегий и упаковка их в роботов;
  2. Проверка роботов на подгонку и устойчивость к изменениям;
  3. Формирование портфеля роботов с отрицательной попарной корреляцией;
  4. Управление этим портфелем стратегий на реальном счете (переоптимизация/замена на новые стратегии)

Первую задачу как мы уже знаем можем решить с помощью 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:

  • 4) максимальная просадка кривой, полученной в результате склейки всех (а именно 96) 30 дневных сегментов после walk forward analisys — 13 541.04 р;
  • 5) самая большая просадка найденная после 10 000 тестов ресемплинга — 51 782.28 р;
  • 6) 99% перцентиль, доверительный уровень в 99% (условная вероятность) получить просадку не более — 35 041.55р в будущем.

 Если кратко оценить данный тест, то видим что в процессе 10 000 комбинаций сегментов форвардного анализа мы нашли такую длительность флета, что стратегия может получить просадку -35 041, хотя первоначально мы опирались на -13 541р.

Прохождением теста является рост просадки менее чем в 2 раза, в нашем случае просадка увеличилась 2.58 раз, т.о. тест не пройден.

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

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


С пожеланием успехов и кайфа в алготрейдинге, Владимир Чамин, superbot.pro


P.S.: если хотите подробнее разобраться в создании и тестировании стратегий, подготовил бесплатный мини-курс из 3-х видео где показываю как выглядит процесс генерации алгоритмических стратегий для фьючерсов Si, Eu, Ri

clck.ru/aqcnp



--------------

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

Трейдинг на финансовых рынках связан с риском потери капитала.

★10
1 комментарий
вот смотри 
1 интервал тестирования = как минимум 1000 сделок в лонг+ 1000 сделок  в шорт… а у тя за три месяца максимум 40-50 сделок
avatar



Пользователь разрешил комментарии только друзьям.

теги блога Владимир Чамин

....все тэги



UPDONW
Новый дизайн