Добрый день! Позавчера ходил на конференцию. Выкладываю для вашего обозрения:
25 февраля на Четверге в AllDerivatives Cafe квант и разработчик торговых систем Андрей Горшков поделился опытом обработки исторических биржевых данных при создании и тестировании торговых алгоритмов. По просьбе участников выкладываю заметки Андрея к презентации на русском языке.
Опционный трейдер и управляющий Виталий Курбаковский ответил на вопросы о подводных камнях бэктестирования данных опционной торговли и заинтриговал опционных трейдеров, напомнив, что в своей торговле использует не формулу Блэка-Шоулза, а собственную модель (выложу на следующей неделе).
Тезисы к докладу Андрея Горшкова
1. Основные проблемы бэктестинга
1.1. Есть результат в исследовании, нет результата в продакшн:
- не учтены frictions: спред, комиссии, проскальзывание
- неверные данные на входе
- не учтены метаданные (расписания сессий, праздники)
- ошибки в алгоритме: заглядывание в будущее, невоспроизводимые статистики (high, low, close)
1.2. Сложность переноса в продакшн:
- код в другом стиле (Matlab, многопроходность vs событийность)
- архитектура в другом стиле (отдельный execution, отдельные сервисы-калькуляторы)
- данные в другом формате (SQL vs nonSQL, текст vs бинарный, равномерная сетка, разбиение на дни)
- использование сторонних библиотек (а нужно ли вообще?)
- другая платформа (Windows vs Linux)
1.3. Интеграция с системой поиска и production pipeline:
- возможность запускать бэктест в цикле с параметрами
- возможность экспортировать результаты в production (confgen)
- прозрачность и воспроизводимость: увидеть на тестах то, что наблюдалось в production и в исследовании
Вопросы В.Курбаковскому
- На что важно обращать внимание в тестировании?
- В чем основная сложность бэктестирования опционов, по сравнению с акциями?
- Как избежать переобучения при оптимизации параметров?
- Какое проскальзывание закладывать в тест?
- Как считаете время: линейно или с весами?
- Если берете записанные данные стакана, а не улыбку биржи, как считаете терцину опциона?
- Какие биды/аски игнорируете при расчете?
- Как в реальной торговле получить кэффициент Шарпа, как в тестах?
- Какие метрики стоит смотреть, кроме коэффициента Шарпа?
- Вопрос комплексный, как по шагам происходит бэктест той или иной опционной стратегии?
- В какой форме происходит визуализация результатов бэктеста и параметров модели (кривая\поверхность волатильности)
- Используется модель Блэка-Шоулза для оценки опционов или используются только авторские, например модель реализованной подвижности базового актива?
- Каков инструментарий для research, Python\R например?
- Встают ли классические проблемы бэктестинга при тесте опционных стратегий, такие как peak-ahead или curve-fitting?
- Возникают ли сильные расхождения в реальной торговле относительно теста опционных стратегий, и почему? В чем могут быть тут подводные камни?
Приятного просмотра!