10 ошибок бэктеста инвестиционного портфеля
Почему красивый исторический результат может быть ненадёжным и как проверить период, данные, параметры и выводы.
Ошибка бэктеста не всегда видна в формуле. Чаще расчёт технически правилен, но вопрос задан неверно: сравниваются разные периоды, параметры подобраны после просмотра ответа или прошлый результат выдаётся за будущий. Ниже — десять проверок перед тем, как довериться кривой.
1. Сравнивать активы на разных окнах
CAGR за 20 лет и за три года отвечают на разные вопросы. Молодой актив мог попасть только в благоприятный режим. Приводите всех участников к пересечению историй и проверяйте фактический старт, а не только запрошенную дату.
2. Выбирать удобный старт после просмотра
Старт на дне кризиса украшает последующий CAGR, старт на пике ухудшает его. Задавайте период по смыслу исследования, затем сдвигайте начало на несколько разумных дат. Вывод не должен зависеть от одного месяца.
3. Игнорировать дивиденды и сплиты
Ценовой ряд без корректировок занижает полную доходность ETF и ломает сопоставимость после сплитов. В проекте используются скорректированные месячные цены; при расчёте в другом месте проверяйте, что дивиденды действительно реинвестируются в модели.
4. Заполнять отсутствующую историю догадками
Ноль вместо отсутствующей доходности придаёт молодому активу фиктивную стабильность. Подстановка похожего индекса — уже другая модель, которую нужно явно раскрыть. Для прямого портфельного бэктеста честнее начать с первого месяца, когда доступны все части.
5. Подгонять состав и правила под прошлое
Если перебрать десятки весов, сигналов и дат, лучший вариант почти всегда будет выглядеть впечатляюще. Это плата за множественные попытки, а не доказательство будущего преимущества. Сохраняйте первоначальную гипотезу и проверяйте соседние параметры: резкий пик качества в одной точке подозрителен.
6. Использовать информацию из будущего
Сигнал должен опираться только на данные, известные в момент решения. В динамическом бэктесте проекта решение по закрытию месяца действует со следующего месяца. Если рассчитать сигнал и доходность тем же закрытием, можно случайно приписать стратегии невозможное исполнение.
7. Забыть валюту результата
Доходность долларового актива в USD и в RUB — разные ряды. В локальном результате присутствует изменение курса, поэтому CAGR, волатильность и просадки могут заметно отличаться. Выбирайте валюту своих будущих расходов и не смешивайте выводы между валютами.
8. Считать расчёт бесплатным в исполнении
Бэктест проекта не вычитает комиссии, спреды и налоги. Чем чаще ребалансировка и больше сделок, тем важнее эта поправка. Небольшое историческое преимущество частого режима может исчезнуть после реальных издержек.
9. Смотреть только на CAGR
Две стратегии с одинаковым среднегодовым ростом могут требовать совершенно разной выдержки. Проверяйте максимальную просадку, время под водой, волатильность и Шарп. Портфель, который инвестор продал на дне, не реализует красивый CAGR своего бэктеста.
10. Принимать прошлое за прогноз
Бэктест отвечает, что произошло бы при заданных правилах в уже известной истории. Он не знает будущих ставок, корреляций, фондов и кризисов. Для плана полезнее проверить диапазон исходов и заранее решить, что вы будете делать при неблагоприятном сценарии.
Возьмите готовый портфель 60/40 и проведите стресс-тест методологии: смените старт и ребалансировку, не меняя состав. Сравните не только CAGR, но и риск.
Проверить устойчивостьПроверьте, как усвоился материал
Пройти тест знаний