Перейти к содержимому
IMOEX 2209.84 0.8%
·Инвестиции·1 августа 2026 г.

Я построил платформу, которая забраковала все 231 мои торговые стратегии. Это лучший результат проекта

Я построил платформу, которая забраковала все 231 мои торговые стратегии. Это лучший результат проекта

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

Прогнал через неё 231 стратегию. Среди них были красавицы с Sharpe 1.49 на истории — такие в телеграм-каналах продают за деньги.

Строгую проверку не прошла ни одна.

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

Почему ваш бэктест вам врётНе «может врать» — врёт. Четыре стандартные дырки, которые есть почти в каждом бэктесте «на коленке»:

1. Переподгонка. Переберите достаточно параметров — какая-нибудь комбинация нарисует красивую эквити. Случайно. Монетка, подброшенная 120 раз, тоже иногда выдаёт серию из десяти орлов. 2. Ошибка выжившего. «Тестирую на акциях S&P 500» — а состав индекса чей? Сегодняшний. В нём нет Enron, Lehman и ещё пары сотен покойников. Ваша стратегия торгует только теми, кто гарантированно доживёт до 2026 года. Неплохое преимущество, да? 3. Подглядывание в отчётность. Квартальная прибыль «известна» бэктесту в последний день квартала. В реальности — через несколько недель, после публикации отчёта. Фундаментальные стратегии на этом ломаются пополам. 4. Ценовая доходность вместо полной. Сравнили эквити с графиком S&P — а дивиденды индекса кто считать будет? Это 1,5–2 % годовых форы вашей стратегии на ровном месте.Сила воли от этого не спасает. Спасает только схема данных, в которой ошибиться невозможно.

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

16,9 млн дневных котировок, 5 264 тикера NYSE/NASDAQ, с 1996 года — плюс 15,4 млн сырых, нескорректированных цен для честного total return;

исторические составы S&P 500 на каждую дату — какие бумаги входили в индекс именно в тот день прошлого;

1 083 делистинга из SEC Form 25 — чтобы покойники оставались в выборке;

2,8 млн фундаментальных записей из SEC EDGAR — привязанных к дате публикации отчёта, а не к отчётному периоду;

автотест, который сверяет «сырая цена + дивиденды = полная доходность» с точностью 0,0004 % годовых.

Да, это самая скучная часть проекта. И самая важная: всё интересное ниже существует только потому, что данным можно верить.

Гейт: семь кругов ада для кандидатаСтратегия считается рабочей, только если на walk-forward разбиении (скользящие окна «обучение → тест» по всей 30-летней истории, 14–18 фолдов) проходит всё это:

Sharpe, CAGR и просадка лучше каждого из трёх бенчмарков — S&P 500, NASDAQ, Dow — одновременно;

превосходство по Sharpe статистически значимо (тест Джобсона–Корки, p < 0.05);

bootstrap-интервалы (блочный, 5 000 репликаций) не задевают ноль;

Deflated Sharpe Ratio выше порога — о нём ниже, это гвоздь программы;

плюс минимум в 12 из 15 ячеек «режим волатильности × период»;

подтверждение на данных, которые модель вообще не видела;

минимум 60 независимых наблюдений вне обучающей выборки.

Про Deflated Sharpe — самое важное, что я вынес из всей затеи. Интуиция такая: чем больше вариантов вы перепробовали, тем выше планка для лучшего из них. Нашли «грааль» с пятой попытки — одно дело. Со сто двадцатой — вы почти наверняка нашли красивый шум. У меня счётчик попыток честно рос вместе с гридом: 30 → 48 → 96 → 120, и каждая новая пачка экспериментов ужесточала планку самой себе.

Много ли вы видели продавцов сигналов, которые говорят, сколько вариантов перебрали до того, как нашли «рабочий»?

Драма в цифрахПо «простому» walk-forward — точечные оценки против одного бенчмарка, как в 90 % публичных бэктестов — у меня было 25 прошедших стратегий. Четверть сотни граалей! Я уже мысленно выбирал яхту.

По строгому гейту из тех же кандидатов прошло: ноль.

Самый обидный случай: value-стратегия по P/E, in-sample Sharpe 1.49. Ноль пройденных фолдов. Математика жестока: при моём количестве наблюдений, чтобы пройти Deflated Sharpe, кандидату нужен честный Sharpe примерно 1.7+. Всё, что ниже, — неотличимо от удачи.

Bottleneck shift: находка, ради которой стоило страдатьКогда у тебя тысячи fold-отчётов с машинно-читаемыми причинами отказов, сами отказы становятся данными. Частотный анализ показал штуку, которую я нигде не встречал в явном виде — узкое место мигрирует в зависимости от схемы взвешивания портфеля:

равновзвешенные портфели валятся на статистике (60,7 % отказов — DSR и компания): превосходство над индексом *есть*, но доказать, что оно не случайно, — нельзя;

взвешенные по капитализации статистически чисты (блок статкоррекции падает до 16,4 %), но валятся на самом превосходстве (74,5 %): взвесил по капе — получил индекс. Обгонять нечем.

Бесплатного обеда через схему взвешивания не существует. Проверено на 231 кандидате, извините.

Как красиво умерла моя лучшая гипотезаВ какой-то момент родилась спасительная идея: «Сравнивать равновзвешенный портфель с cap-weighted индексом нечестно! Возьму равновзвешенный бенчмарк — RSP (S&P 500 Equal Weight ETF) — и всё сойдётся».

Залил 5 788 строк истории RSP. Прогнал counterfactual. Против RSP стало… хуже, чем против обычного S&P 500. Равновзвешенный индекс сам собирает премию диверсификации и ребалансировки — обыграть его концентрированным факторным портфелем ещё труднее.

Гипотеза прожила один вечер. И это, пожалуй, главный кайф платформы: гипотезы умирают за вечер и с некрологом, а не живут годами в самообмане и просаженных депозитах.

После четырёх таких «векторов атаки» я принял скучный взрослый вывод: разрыв фундаментален. Индекс эпохи мегакэпов — сам по себе momentum-машина с ~30 % веса в семи компаниях, и концентрированные факторные портфели проигрывают ему системно. Остановить эту ветку исследований — тоже результат. Может быть, главный.

Кто выжилЕдинственный класс, показавший устойчивость, — гибридная momentum-reversion стратегия с адаптацией под режим рынка. Режимов пять — от BULL до BEAR_PANIC, размечаются по комбинации трендов S&P, уровня VIX, соотношения SPY/TLT и кредитного стресса HYG/LQD, с защитой от дребезга переключений.

Цифры выжившего: на кризисе 2007–2010 — Sharpe 1.21 при CAGR +16 %. Просадка на 28-летнем окне −20 % против −57 % у S&P 500 в 2008-м. Не грааль. Но честно и стабильно.

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

Три вопроса, которые убивают 90 % продавцов сигналовНа каком составе индекса тестировалось — сегодняшнем или историческом, на каждую дату?

Сколько вариантов было перепробовано до этого «рабочего»? Deflated Sharpe с учётом этого числа считали?

Доходность полная или ценовая?

По моему опыту — до третьего вопроса разговор не доживает.

А если строите своё: закладывайте честность в схему данных, а не в силу воли. Воля сдаётся первой, проверено.

Пара слов про кухню, если интересно: стек — гибрид, от которого у айтишников дёргается глаз: headless-база на 1С (сто четыре объекта, ноль форм, всё через HTTP-API) + Python (vectorbt, pandas) + LLM-агент в Telegram, через которого я запускаю бэктесты и смотрю отчёты. Ордера уходят брокеру только после ручного подтверждения кнопкой в телеге — human-in-the-loop, никакой autopilot не разорит депозит, пока я сплю. Подробный разбор архитектуры с картинками: tezbase.kz/keysy/stratlab-kvant-platforma-na-1c

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

Это отрывок статьи. Полную версию читайте на сайте источника по ссылке ниже.

Источник: Smart-Lab