Блог им. algomrk

Ошибки в бэктестинге (часть 1, а может и последняя).

    • 02 января 2025, 12:10
    • |
    • algomrk
  • Еще
Дисклеймер: Весь пост для более подробного раскрытия моего комментария к этому посту: smart-lab.ru/mobile/topic/1100858/

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

Предположим, вы придумали стратегию вида “покупать 10 самых низкокапитализированных компаний из SNP500 (или индекса Мосбиржи) и ребалансировать портфель раз в месяц”. Берете актуальный список компаний, качаете исторические данные для них и наблюдаете, что она показывает отличный результат на протяжении последних 10 лет. Что может пойти не так?

Дело в том, что индексы меняются. И те компании, которые оказались в индексах сегодня — показали очень огромный рост или стабильность в прошлом. В таком случае получится, что ваша стратегия покажет результат не потому что она хороша и действительно работает, а потому что вы использовали информацию из будущего. Грубо говоря если бы вы сегодня знали, что окажется в индексах через 10 лет, то какую стратегию не используй — вложение в эти компании конечно же принесут доход. Но в реальности многие компании падают и уходят из индексов навсегда…
Данная публикация является личным мнением автора. Мнение владельца сайта может не совпадать с мнением автора.
537
14 комментариев
ошибки, которые встречаются на наших палестинах:
-неучет или недостаточный учет транзакционных издержек (проскальзывание зависит от объема)
-подглядывание вперед (например, в старом метастоке индикатор зигзага давал такой эффект)
— то, о чем написал автор
— использование цен, которые нереально получить (например, провести сделку по первой цене регулярной сессии на акциях МБ)
— переподгонка из-за избыточного числа степеней свободы в оптимизируемых параметрах, в пределе ML может просто «запомнить весь график»
— недостаточность использованного объема данных (тут не обязательно тупо мало данных, важно, чтобы все основные рыночные фазы были представлены в наборе данных)
— подгонка под единичные события
Буду рад, если кто дополнит.
avatar
SergeyJu, про ML если только. Самая база, которая часто в глаза бросается: часто пытаются делать классическую cross fold validation, но перемешивают данные не по периодам времени, а рандомно. Итог — в тестовой и тренировочной выборке оказываются разные стоки из одного периода, а они коррелируют между собой. Как итог — ML модели переобучаются
avatar
22022022, ну тут вопрос общего объемов торгов и размера портфеля. в медленных стратегиях на ликвидных акциях тяжело повлиять на рынок своим поведением. А вот в интрадей торговле на третьем эшелоне — очень легко
avatar
IMHO, бэктестинг сам по себе огромная ошибка. Ибо вместо того, чтобы разобраться в природе вещей, как все устроено, какова природа данных, какие модели описывают реальность и т.п. люди занимаются бессмысленным и беспощадным бэктестингом. Как если бы Илон Маск не проектировал и потом испытывал свои ракеты, а беспорядочно сваривал куски железа на свалке и пытался их запустить облив топливом.
avatar
Synthetic, вы уже разобрались в природе рынка?)
avatar
robomakerr, 

Вопрос задан не корректно. Рынок — это не математическое понятие, вроде поля комплексных чисел. Больше напоминает лоскутное одеяло сшитое из тряпок, кусков алюминия и наждачной бумаги.
Но в некоторых лоскутках продвинулся.
avatar
Synthetic, ну, каков ваш ответ, таков и мой вопрос)
avatar
Я знаю что в моексе будет, Газпром например))
Ещё возможная причина нереального теста: кривые данные (плохая склейка фьючерсов, пропуски и т.п.)
avatar
А также неучет планок, стоп-торгов, неработоспособности брокера, невозможность взять инструмент в шорт в тот момент.
avatar

Читайте на SMART-LAB:
Мосбиржа в Excel: Михаил Шардин о котировках, API и данных для инвестора
В открытой студии ТРЕЙДЕР ТВ побывал Михаил Шардин. Повод для разговора — его статья на СмартЛабе: “ Как я «взломал» Мосбиржу, чтобы бесплатно...
Фото
Акционеры Аэрофлота одобрили выплату дивидендов по итогам 2025 года
Сегодня состоялось годовое заседание Общего собрания акционеров ПАО «Аэрофлот». Акционеры утвердили выплату дивидендов по итогам 2025 года в...
Фото
RENI представляет Годовой отчет компании за 2025 год
Группа Ренессанс страхование (MOEX: RENI) опубликовала Годовой отчет для инвесторов за 2025 год. По сравнению с прошлогодним изданием отчет...
Фото
Длинные ОФЗ: сколько можно заработать, если ключевая ставка ЦБ РФ продолжит снижаться?
Длинные ОФЗ с начала текущего года не демонстрировали выраженного снижения по доходности несмотря на продолжение цикла понижения ключевой ставки...

теги блога algomrk

....все тэги



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