Почему оптимальный портфель на истории не гарантирует будущий результат
Ошибка оценки, подгонка окна, локальные экстремумы и издержки: как использовать оптимизатор как инструмент исследования, а не машину точных прогнозов.
Исторический оптимум — лучший найденный ответ при конкретных данных и правилах. Слово «оптимальный» относится к математической задаче, а не к будущему инвестору. Доходности, ковариации, просадки и валютные условия изменятся; поэтому результат полезен как структурированная гипотеза и сравнение вариантов, но не как обещание повторения прошлого.
1. Входные параметры оценены с ошибкой
Mean-variance модель использует прошлые средние доходности и ковариации. Особенно нестабильна оценка будущей средней доходности: небольшой сдвиг окна способен изменить ранжирование активов и оптимальные веса. Ковариационная матрица тоже не постоянна — в кризис привычные связи могут усилиться или изменить знак.
Path-dependent цели не устраняют проблему. Они не зависят от тех же модельных средних, но используют фактическую последовательность прошлых месяцев. Другой порядок кризисов и восстановлений дал бы другой CAGR, просадку, Омегу и Сортино.
2. Свобода поиска усиливает подгонку
Чем больше активов, целей, дат, ограничений и правил вы перебираете после просмотра результатов, тем проще найти красивую комбинацию случайно. Оптимизатор делает такой перебор системным: он действительно может обнаружить узкий набор весов, идеально описывающий прошлое. Это не доказывает, что набор лучше других вне выбранного окна.
3. Окно может определять ответ
Молодой актив сокращает общую историю, старт после кризиса украшает рост, а один глубокий эпизод доминирует в Калмаре. Проверяйте фактический первый месяц и сравнивайте разумные окна. Вкладка чувствительности показывает уже выбранные веса на альтернативном подокне, но это не независимый out-of-sample: эти месяцы также участвовали в исходном поиске.
Одна задача оптимизации — разные веса на разных окнах
Схема, не результат расчётаБолее строгая проверка разделяет данные: параметры подбираются на одном участке, затем без повторной подгонки оцениваются на последующем. Такой walk-forward или out-of-sample анализ отвечает на другой вопрос, чем обычная оптимизация на всей истории. Наличие альтернативного подокна в отчёте не следует выдавать за него.
4. Численный поиск не доказывает глобальный максимум
Для Омеги, Калмара и Сортино целевая функция может быть неровной и иметь локальные экстремумы. Два независимых метода, случайные последовательности с фиксированным seed, адаптивная остановка и финальное уточнение снижают вероятность слабого ответа и делают расчёт воспроизводимым. Однако конечный вычислительный бюджет не является математическим доказательством глобального оптимума.
5. Модель не воспроизводит реальную сделку
- Бэктест не вычитает комиссии, спреды и налоги; частая ребалансировка и заметная смена весов могут стоить дороже модельного преимущества.
- Месячные скорректированные цены не описывают внутридневную ликвидность, доступность инструмента, лоты и фактическое исполнение конкретного инвестора.
- Валюта расчёта меняет ряд доходностей. Оптимум в USD не обязан остаться оптимумом в RUB или BYN.
- Модель не знает вашего поведения: глубокая просадка на графике в реальности может привести к продаже и совсем другому результату.
Как получить пользу без ложной точности
- Начинайте с экономически понятной вселенной активов, а не с поиска чемпиона по всему каталогу.
- Сравнивайте ответ с исходным и равновесным портфелями: простая альтернатива — обязательный бенчмарк сложной процедуры.
- Предпочитайте устойчивые диапазоны весов резкому одиночному пику качества; меняйте старт и ребалансировку.
- Проверяйте выбранный состав полным бэктестом и смотрите не только целевую метрику, но CAGR, просадку, волатильность и время восстановления.
- Для плана используйте Монте-Карло как диапазон сценариев, помня, что и симуляции зависят от своих допущений.
- Повторяйте сохранённую задачу на свежих данных без скрытой смены цели и ограничений; новый ответ — повод для исследования, не автоматический приказ к сделке.
Хороший результат оптимизации звучит не «нашёл портфель, который обязательно выиграет», а «понял, какие компромиссы были у этого состава на истории, насколько они чувствительны к допущениям и что готов проверить дальше». Именно так оптимизатор дополняет бэктест, сравнение и планирование, а не заменяет их.
Откройте задачу с заранее заданными границами: SPY от 30% до 80%, TLT от 20% до 70%. После расчёта сравните три варианта и проверьте выбранный состав на другом подокне — без изменения правил ради красивого ответа.
Проверить устойчивость оптимумаПроверьте, как усвоился материал
Пройти тест знаний