От истории к реальности: зачем трейдеру форвард-тест

Время на чтение: 11 минут

Форвардный анализ

Запуск торгового алгоритма в лайв-режиме — кульминация разработки стратегии. Форвард-тест показывает, как ваша модель поведёт себя на свежих данных, и позволяет избежать дорогостоящих ошибок.

Перед тем как изучать форвард-тесты:

  1. Статья Тестирование торговых стратегий на исторических данных (бэктест) — чтобы понять, как тестировать начальные трейдинг-данные.
  2. 15 важнейших параметров, которые отвечают за качество торговых стратегий — чтобы разобраться, на что обращать внимание при выборе стратегий.
  3. А если у вас пока нет торговых идей, вам поможет наш материал 3 способа поиска идей и гипотез для трейдинга.

Содержание

Видео о форвард-тесте

Из исторического теста сразу в живой трейдинг?

До некоторого времени мы придерживались стандартной процедуры:

  1. Создать торговую идею.
  2. Провести историческое тестирование.
  3. Изучить профили результативности разных настроек алгоритма.
  4. Выбрать лучшую и запустить ее в реальном времени.

Благодаря современным технологиям довольно легко обнаружить хорошую стратегию на истории. Взгляните.

Что такое форвард-тест
Один из примеров работы алгоритма по валютной паре GBP/JPY.

Здесь пример алгоритма, который до сих пор довольно успешно торгует по GBP/JPY, если не эта настройка в точности, то одна из. Кривая капитала растет как на этом, так и на следующем примере, где другой алгоритм торговал по XAU/USD.

Что такое форвард-тест
Результативность алгоритма по золоту.

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

Запуск алгоритма в боевой режим сразу после обнаружения хорошей настройки на истории — не всегда хорошая практика. 

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

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

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

Прибыльные торговые стратегии, кейсы и исследования — в нашем Telegram 📈

Как выбрать лучшую настройку стратегии

Бэктесты дают трейдеру несметное количество данных. Представим такую картину.

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

Теперь представим ситуацию, когда мы протестировали эту же стратегию и можем посмотреть, как на истории отторговала каждая из, допустим, 300 настроек. То есть у нас на руках 300 кривых капитала. С одной стороны, мы совершили прорыв и отказались от ручного трейдинга и логирования наших действий (ведения журнала). С другой стороны, биг дата часто означает и проблему выбора. Возникнет вопрос: какую настройку выводить в живой трейдинг?

Форвардное тестирование.
Процесс подготовки алгоритма.

Имея на руках 300 конфигураций (наборов параметров), в лайв мы можем запустить, например, только одну. Но, как мы помним, необдуманный переход в лайв сразу после бэктеста — это рискованная практика. Понадобится еще один уровень защиты, который повышает нашу уверенность. Вот здесь на сцене появляется форвардное тестирование — forward-test и walk-forward analysis (WFA).

Как форвард-тест проверяет стратегию на свежих данных

Форвард-тест является простой симуляцией, которая дает представление о возможных результатах в живом режиме.

Для проведения форвард-теста нужно разделить историческое окно на интервалы “оптимизаций” (этот интервал еще называют in-sample) и собственно “форвардов” (out-of-sample). Конфигурация алгоритма, которая хорошо зарекомендовала себя на этапе оптимизации, применяется в фазе форварда. Так мы получаем кусочек форвардной кривой капитала.

Вебинар про алгоритмические стратегии
Пример бэктеста (in-sample) с 2007 по 2020, и форвард-теста (out-of-sample) с 2020 по 2024.

Дальше мы добавляем “шаг” нашему форвард-тесту, смещая каждый тест вправо, чтобы получить склеенный период всех out-of-sample периодов — это уже полноценный walk-forward.

Рассмотрим пример с шагом 6:2, то есть 6 лет IS-период, и 2 года OOS-период.

Вебинар про алгоритмические стратегии
Классический walk-forward тест.

Склеивая рыжие кривые доходностей, мы получаем walk-forward результат, который выглядит вот так:

Робастность торговых стратегий.
Пример финальной кривой форвардного анализа.

Разберём подробнее другие форвардные тесты.

За 1 час поможем разобраться с факторами успеха и причинами неудач на финансовых рынках. Бесплатно

Примеры кривых капитала, полученных на форвардном тестировании №1

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

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

Что такое форвард-тест
В таблице представлены результаты бэктестов и форвард-тестов. Сравнение идет по 5-ти коэффициентам.

Каждая фаза оптимизации длится 3 года (точнее 156 недель). Каждая форвардная фаза длится год (52 недели). Также надо добавить, что MDD (просадка) на оптимизационных интервалах всегда будет 15%. Благодаря этому приему мы подбираем рисковую фракцию от капитала (для стоп-лосса) на форвардную фазу.

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

  • искомая настройка алгоритма по отдельному инструменту должна совершить 0.5-5 сделок в месяц;
  • фактор восстановления должен быть больше 1 (это очень высокий показатель);
  • R-квадрат должен быть выше 0.75 (с таким показателем кривые капитала выглядят очень гладко).

С настройками форвард-теста разобрались, выяснили критерии, теперь запускаем.

Что такое форвард-тест
Результаты первого бэктеста.

Первая фаза оптимизации, на которой мы отбираем лучшие настройки для “будущего”, дает великолепную кривую. За три года капитал вырос в 26 раз, среднегодовой доход составляет невообразимые 197%! Из 30-ти возможных инструментов было отобрано 14 (по одному набору параметров на каждую), которые и сделали результат для “прошлого” периода оптимизации.

Теперь посмотрим, что если запустить отобранные 14 алгоритмов на следующих 52-х неделях (включаем форвард-тест)?

Что такое форвард-тест
Те же алгоритмы, только теперь на форвард-тесте.

Не слишком ужасно, но сильно далеко от ожиданий! По итогу после года как бы живых торгов получаем минус 5%.

Теперь сдвигаем даты интервалов на 52 недели вправо и выполняем второй шаг.

Что такое форвард-тест
Новое "окно" бэктеста.

На этот раз оптимизационный интервал обнаружил 16 алгоритмов с хорошими настройками. А кривая капитала оказалась еще круче — в прямом и переносном смысле. Средний годовой темп прироста 447%! Показатель просто шокирует, как же можно потерять деньги на этих же 16-ти роботах, если запустить их в следующем году?

Что такое форвард-тест
Те же алгоритмы, только с новым форвард-тестом.

В реальности следующие 52 недели сильно расстроили. Как же так вышло, что 450% годовых в “прошлом” превратились в минус 18.8% в “будущем”? Вся эта затея с алготрейдингом начинает плохо пахнуть. Может, хотя бы последний интервал даст прибыль, хотя бы на симуляции?

Что такое форвард-тест
Заключительное окно бэктеста.

Привыкаем видеть шикарные кривые капитала на фазах оптимизации. В этот раз виртуальный счет вырос в 15 раз, среднегодовой прирост 149.7%. Так постарались 15 настроек. С дрожью в руках приступаем к последней форвардной фазе.

Что такое форвард-тест
Заключительная форвард-фаза тех же алгоритмов.

За эти последние 3 месяца стратегия, наконец, приносит профит — в симуляции живых торгов. Надо признать, что для адекватной оценки этот интервал коротковат.

Но широкая картина теперь ясна: ошеломительный успех в фазах оптимизации не гарантирует успеха в последующей “будущей” фазе форвардного применения алгоритма.

Итоговая, склеенная, кривая капитала по всем форвардным участкам выглядит вот так.

Что такое форвард-тест
Кривая доходности всех стратегий по форвард-тесту.

2 года и 3 месяца форвардной симуляции принесли такой результат:

  • среднегодовой прирост — минус 10.4%;
  • максимальная просадка — 35.3%.

Грустно, но изучим другие варианты.

Примеры кривых капитала, полученных на форвардном тестировании №2

Разберем другой пример. На этот раз возьмем ту же стратегию на тех же участках оптимизации и форварда, но процесс отбора лучших настроек на оптимизационных фазах немного изменим. Теперь мы отбираем только такие параметры алгоритма, которые дают такое же количество сделок в месяц (от 0.5 до 5), фактор восстановления должен быть ниже (от 0.66 до 1), и требование к R-квадрат тоже немного снижается (начиная с 0.5, а не с 1, как раньше). В общем, мы немного снизили требования. Посмотрим, как это отразится на оптимизационных и форвардных участках.

Что такое форвард-тест
Таблица бэк и форвард-тестов с новыми условиями для стратегий.

В этой таблице видим показатели результативности по каждой фазе. Наконец в столбце АR (среднегодовая доходность) появились зеленые ячейки!

Что такое форвард-тест
Бэктест первого "окна" с новыми настройками.

На первом оптимизационном интервале получаем красивую кривую капитала, хотя ее показатели результативности ниже, чем в предыдущем примере. Капитал был преумножен всего в 9 раз.

Из 30 инструментов 19 дали по одному хорошему роботу. Теперь испытаем этот набор на следующих 52 неделях.

Что такое форвард-тест
Форвард-тест к предыдущему бэктесту.

Успех! Найденные на оптимизации 19 наборов параметров закончили год со среднегодовой доходностью 19.3%, а просадка приблизилась к как бы ожидаемой — 14.4%.

Пройдем эти шаги еще 2 раза на следующих интервалах.

Что такое форвард-тест
И еще один бэктест.
Кривая на этапе оптимизации всегда смотрит вверх. Капитал вырастает в 10 раз. Снова отобраны 19 параметров, но необязательно настройки совпадут с предыдущей фазой. Применяем их на следующем однолетнем интервале.
Что такое форвард-тест
И еще один форвард.

Хорошо, теперь среднегодовой доход равен 21.9%. Однако рост кривой оказался не очень стабильным, а просадка превысила порог 15% и достигла 18.6%. Такое часто и случается в реальности.

Остался последний шаг.

Что такое форвард-тест
Заключительный бэктест с новыми настройками.
Мы уже привыкли к красивым кривым капитала на оптимизационных фазах, на этот раз капитал вырос в 6 раз. Снова отобрано 19 настроек. Применяем их на трех месяцах 2020 года.
Что такое форвард-тест
Заключительный форвад-тест с заключительными настройками.

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

Что такое форвард-тест
Кривая доходности всех форвард тестов по всем временным окнам.

Результат по итогу:

  • среднегодовой прирост — 25.6%;
  • максимальная просадка — 18.6%;
  • R-квадрат — 0.82.

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

Выводы

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

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

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

Как создавать торговые стратегии на основе статистики и данных, способных работать 24/7

Не упустите возможность получить прибыльные торговые стратегии.

Поделиться статьей

С радостью ответим на ваши комментарии

Оставьте комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Читайте также

Telegram для системных рациональных эффективных трейдеров

Каталог торговых стратегий
Как заработать в трейдинге

Хотите получать свежие стратегии и исследования, которых нет на сайте? Заберите доступ в Telegram сейчас — потом найти их будет сложнее

Старт трейдера: всё, что нужно знать в одном месте