Блог им. IvanNedomolkov_3ea
Полгода я строил себе персональную платформу для проверки торговых идей: 30 лет данных по американским акциям, генератор стратегий, статистический гейт из семи тестов. Хотел найти свой грааль, как все мы.
Прогнал через неё 231 стратегию. Среди них были красавицы с Sharpe 1.49 на истории — такие в телеграм-каналах продают за деньги.
Строгую проверку не прошла ни одна.
Сначала я расстроился. Потом понял, что именно ради этого всё и строил. Сейчас расскажу, как выглядит проверка, после которой от 231 стратегии не остаётся ничего, покажу, кто всё-таки выжил, — и почему две мои любимые гипотезы умерли особенно красиво.
Почему ваш бэктест вам врётНе «может врать» — врёт. Четыре стандартные дырки, которые есть почти в каждом бэктесте «на коленке»:
1. Переподгонка. Переберите достаточно параметров — какая-нибудь комбинация нарисует красивую эквити. Случайно. Монетка, подброшенная 120 раз, тоже иногда выдаёт серию из десяти орлов. 2. Ошибка выжившего. «Тестирую на акциях S&P 500» — а состав индекса чей? Сегодняшний. В нём нет Enron, Lehman и ещё пары сотен покойников. Ваша стратегия торгует только теми, кто гарантированно доживёт до 2026 года. Неплохое преимущество, да? 3. Подглядывание в отчётность. Квартальная прибыль «известна» бэктесту в последний день квартала. В реальности — через несколько недель, после публикации отчёта. Фундаментальные стратегии на этом ломаются пополам. 4. Ценовая доходность вместо полной. Сравнили эквити с графиком S&P — а дивиденды индекса кто считать будет? Это 1,5–2 % годовых форы вашей стратегии на ровном месте.Сила воли от этого не спасает. Спасает только схема данных, в которой ошибиться невозможно.
Скучный фундамент, без которого всё остальное — гаданиеПрежде чем проверить первую стратегию, пришлось построить:
Да, это самая скучная часть проекта. И самая важная: всё интересное ниже существует только потому, что данным можно верить.
Гейт: семь кругов ада для кандидатаСтратегия считается рабочей, только если на walk-forward разбиении (скользящие окна «обучение → тест» по всей 30-летней истории, 14–18 фолдов) проходит всё это:
Про 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-отчётов с машинно-читаемыми причинами отказов, сами отказы становятся данными. Частотный анализ показал штуку, которую я нигде не встречал в явном виде — узкое место мигрирует в зависимости от схемы взвешивания портфеля:
Бесплатного обеда через схему взвешивания не существует. Проверено на 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 % продавцов сигналовПо моему опыту — до третьего вопроса разговор не доживает.
А если строите своё: закладывайте честность в схему данных, а не в силу воли. Воля сдаётся первой, проверено.
Пара слов про кухню, если интересно: стек — гибрид, от которого у айтишников дёргается глаз: headless-база на 1С (сто четыре объекта, ноль форм, всё через HTTP-API) + Python (vectorbt, pandas) + LLM-агент в Telegram, через которого я запускаю бэктесты и смотрю отчёты. Ордера уходят брокеру только после ручного подтверждения кнопкой в телеге — human-in-the-loop, никакой autopilot не разорит депозит, пока я сплю. Подробный разбор архитектуры с картинками: tezbase.kz/keysy/stratlab-kvant-platforma-na-1c
Дисклеймер: всё выше — статистические наблюдения из личного исследовательского проекта, а не инвестиционные рекомендации. Платформа работает в режиме paper-trading.
как Энвэстору лучше не найти…
wistopus,
Гонял, конечно — buy-and-hold и DCA зашиты в платформу как обязательные бенчмарки. Собственно, статья ровно об этом: 231 попытка обогнать «просто держи» закончилась со счётом 231:0 в пользу вашего варианта 😄
Единственное, что выживший режимный гибрид делает ощутимо лучше индекса, — просадка: −20% против −57% у S&P в 2008-м. Обогнать рынок на длинном окне почти никому не удаётся, а вот не продать всё на дне в панике — задача, ради которой активные стратегии ещё имеют какой-то смысл. Для инвестора с крепкими нервами — да, вы правы, лучше не найти.
Присылайте мне самые крутые из ваших ТС и я поломаю их об колено ВСЕ, даже те, что пройдут через все самые крутые разработки.
Ваш выживший тоже ТРУП, уже начинающий вонять.
Не особо хочется ввязываться в дискуссию разных весовых категорий, поэтому скажу о главной причине моей уверенности — любая математическая модель (а нетрейдер не делает других моделей), всегда проиграет хорошему индексу.
Остапа понесло — за последние несколько лет сегодня уже второй раз (за час!!!) ввязываюсь в подобные темы (можете посмотреть мои комменты). Дурак я. Это объясняется только одной причиной — бухнул я сегодня неслабо, даже странно, что пишу почти как трезвый )))
Если это понимаете, зачем на это растрачивать свою жизнь?
Почему не заняться НЕматематическими «моделями»?
Да, это намного сложней, но или так, или… никак,
впустую, с заведомо известным, проигрышным исходом.
Кстати, математическая тоже возможна, но только если она на основе законов природы (а значит и рынка). Нечто подобное сделал здешний Костя-бабочка. Может врёт, но на мой взгляд похоже на правду. По крайней мере с моими взглядами на эти законы его разработка сильно перекликается.
Природа==математика. Очень сложная, на уровне нобелевки.
Как с этим бороться? «Простейший» вариант: комбинировать.
остальные бенчмарки для истинных любителей гоняться за своей тенью...
Ставь свои мартышки на реал.
А история нужна ровно для одного: чтобы до реала доехала одна мартышка, а не весь зоопарк. 230 обезьян на живом счёте — это очень дорогой аттракцион 😄
Выживший гибрид сейчас как раз гоняется вперёд. Наберёт форвард-статистику — напишу пост, чем кончилось, без купюр в обе стороны.
готовая диссертация, однозначно
Диплом к.ф.-м.наук ещё никому не помешал))
Удачи!
Про диссертацию — смешно, но доля правды есть: половина гейта стоит на академических работах (Bailey и Лопес де Прадо по Deflated Sharpe, Джобсон–Корки по сравнению Sharpe). Так что если среди читателей есть аспирант в поисках темы — забирайте, данные и методология воспроизводимы, ссылками поделюсь
Впрочем… Поколение зумеров — оно такое, нам, «старикам» многое в них не понять. Как, например, «а зачем мне заканчивать институт?! ну, поступил я… походил… да я больше этих профессоров знаю!» (реально… личное знакомство… ушёл со 2-го курса МАИ… сейчас работает на хорошей должности IT-ишником, хорошо зарабатывает)
Смешно...
Мой тесть на заводе слесарем работал — тоже пренебрежительно об инженерах, что у них работали, отзывался- «я им всё объяснял, а не они мне показывали что делать»
Мир меняется. И не в лучшую сторону, как видим. В том числе по этой причине.(а зачем тратить силы и время на ненужные бумажки?! кого они сделали умнее? у меня у самого полно знакомых с дипломами, а толку-то?!)
У Вас вся жизнь впереди, не берусь ничего предсказывать.
Ещё раз — удачи!
А я вот могу успешно торговать без компьютера и без графика. А почему ты не можешь?
Все алготрейдеры — жалкие существа.
Ты не трейдер, вот в чём дело. Ты — тестировщик
Без тестера я просто держу индекс — статья, собственно, ровно об этом: тестер полгода доказывал, что без него было бы не хуже. Так что мы с ним квиты
Это лично вам нужно доверие к цифрам. Потому что вы — инвестор. А нам — вообще не интересно.
Вы не деньги делаете, вы делаете статистику. А у нас нет доверия к цифрам. Написать, нафотошопить можно что угодно.
Вы никому не нужны. Вы — невежды и неудачники.
неэффективности сразу корректируются
и что серии данных выглядели бы по-другому
с добавлением ваших сделок — фронтран/тригер стопов и пр. «эффекты бабочки»
Утешают две вещи. Первая — масштаб: позиции ретейл-размера в large-cap с миллиардными дневными оборотами — шум в стакане, фронтранить там нечего. Вторая — конструкция: у выжившего гибрида нет стопов, которые можно было бы триггернуть, — он ребалансируется по календарю и смене режима, а не по ценовым уровням.
Но оговорка важная: живи стратегия в малоликвидных бумагах — ваш аргумент убивал бы её ещё до всякой статистики.
я имел в виду тригер чужих стопов,
фронтранят любой сайз — айсберг,
если немасштаб ритейл — это по определению не стратегия
из рабочего может быть мм в новых инструментах и то что умеет думать
Единственное, что у нас уступает — ликвидность конечно кратно ниже.
А так даже вручную тут зарабатывать больше индекса с дивами не стоставляет проблемы. Я и сам уже 9,5 лет это практикую (дивстратегия в растущих бумагах нижних эшелонов) и вполне доволен. На смартлабе есть фундаменталисты даже ведущие портфель публично, да ещё и дольше меня — тот же Шадрин, к примеру.
А в обычном трейдинге (на моментуме) выше индекса на длинной дистанции перформит ваш коллега — Силаев. У него вообще автоследование много лет и вся стата налицо. Причём настоящая практика, а не допущения бэктеста.
Николай Ширяев,
Key Performance: Medallion Fund vs. S&P 500
Key Performance: Medallion Fund vs. S&P 500
Остальные с комиссией овер рынка 20% от силы. Ну да, и вход там от10М для нищебродов…
Если всё это убрать, то рассыпется и саморекламная ахинея Богла и станет видно, что большинство фундаменталистов вполне обгоняют индекс с дивами, который набран по примитиву формальных критериев.
Про шорты интересно: у меня факторные long-short кандидаты валились стабильно хуже long-only — списывал на стоимость шорта и мегакэп-перекос индекса. Микроструктуру не копал: мой горизонт — дни, там её преимущество тонет в шуме. Если работали с сигналами микроструктуры на дневках — правда любопытно, какие выживают.
С Амихудом ловушка в профиль: он по построению ранжирует по неликвидности, то есть сортирует вас ровно в те бумаги, где проскальзывание считать тяжелее всего. Как фильтр «сюда не лезем» — отличный, как сигнал «сюда лезем» — требует честной модели издержек и потолка по капиталу.
Из 231 стратегии основная масса погибла не на предсказательной силе, а на этом шаге. Монотонность по децилям у многих была, а выживаемость после издержек и лимита по объёму — нет.
Другие крупные игроки сферах Quant / High-Frequency
Если смотреть на институтские проп-фирмы и квант-фонды, которые системно генерируют Sharpe > 2–3 и обгоняют широкие индексы по соотношению риск/доходность:
Citadel (Wellington Fund / Global Equities) — хотя Citadel Securities занимается маркетмейкингом, сам хедж-фонд Citadel активнейшим образом использует количественные и высокочастотные модули для генерации альфы (в 2022 году показал рекордную прибыль в истории хедж-фондов — $16 млрд).
Virtu Financial — публичная маркетмейкинг-компания (тикер
VIRT). В свое время прославилась тем, что за 1485 торговых дней имела лишь 1 убыточный день. Однако это доходность самой компании как бизнеса, а не инвесторского фонда.Two Sigma / D.E. Shaw — гиганты квант-индустрии, сочетающие HFT-исполнение и микроструктурный анализ с среднечастотными и статистическими моделями.
Её автор и автор данной статьи живут как бы в разных мирах вот с этим автороми с другим автором С-Л Мальчик buybuy , который раньше регулярно докладывал о своих многолетних доходностях в 100-200% на объёмах «не менее $1 млн». Этот Мальчик, которому сейчас уже ближе к 6-му десятку, якобы играет не руками и содержит команду, которая автоматизирует его игру на бирже в США без единого проигрышного дня.
А для меня есть только один тренд, длиной в 5000 лет. И там у меня тоже ручная стратегия — приносит деньги с конца 2018 года, но не каждый день.
Николай, если память не врёт, это Аронсон, Evidence-Based Technical Analysis. Он прогнал 6402 правила по S&P и после поправки на множественные проверки не выжило ни одного. Тогда книга ровно про то же, только выборка у него побольше моей.
А насчёт разных миров не соглашусь. Человек с ручной трендовой 20 лет вполне может быть прав про себя. Только это выборка из одного, и мы не видим тех, кто торговал так же и слился, они постов не пишут. Систематический тест меряет всё распределение, вместе с проигравшими, оттого и выглядит так уныло.
И вторая разница: ручник подстраивается по ходу, а бэктест гоняет фиксированное правило 30 лет подряд без права передумать. Формализовать первое я пока не умею, и подозреваю, что в этом вся соль.
1 тестить надо 5 ти минутках даже на 15ти мин уже никуя не видно… тестить на дневках ошибка...
2 всего в америке 400 ликвидных бумаг т.е цена больше 10 баксов + оборот от 500000 шт в день + только америка, т.к изза сдвига часовых поясов торговать невозможно+ айпио не позже 2020г...
3 индекс меняется слабо например в доу последние змение было лет 5 тому назад… а в насдаке меняется 5-7 бумаг в год… т.е тесты за последние 2 года должны быть в профит...
4 вместо акций можно испльзовать етф на сектора сипи их 11 штук всего...
мораль в том, что у тя на выборке в 4000 бесполезного неликвида статистика по 400 бумагам просто утонула…
Иван Недомолков,
Суждение ошибочно в корне, на мой взгляд, если мы говорим про us market. Речь не про 5-минутки, а про интрадей в целом для поиска и эксплуатации статзначимости, как вы выразились.
Еще есть мнение о чрезмерном усложнении там, где это не требуется. Но и первое и второе мнения я не навязываю, естественно.
Еще показалось странным, что после такого количества времени затраченного и сил:
Зачем руками? Автоматизировать исполнение, вроде бы, совсем не сложно на фоне проделанной подготовительной работы... И пусть статистика набирается, раз уж paper trading. Нет?
и тут у тя сразу прблема ты никогда не полчишь цену гарантировано = цене открытия… и цена закрытия у тя тоже не гарантирована...
более того… проверь тестировщик на короткие сделки = 1 свечке… т.е на одной свечке вход и выход… их крайне сложно обсчитывать и тестировщик либо завышает либо сильно занижает...
в самом индексе сипи дополна неликвида обычно 20% индекса не подходят под условия описанные выше…
вообще… тебе не хватает 2ух шагов чтоб написать алгоритм… и ты эти шаги знаешь но утя пока картинцка цельная не сложилась… успехов
Да ладно. Почти всегда можно получить цену открытия — это же аукцион.
На ликвидных акциях редкие расхождения с официальной ценой открытия бывают, но как в минус, как и в плюс. Суммарно незначительно. Лимитные ордера (профит) всегда исполняются. А стопы, да, проскальзывание может быть большое.
А разве бывают другие? Ну если только CFD на акции на форекс-кухнях :)
я как то столкнулсяс этим поэтому обхожу дневки стороной
Нет, там чисто торговая сессия, с 9:30 до 16:00
зависит от долгосрочности сделок. Если стратегия внутридневная, то, естественно, нужны внутридневные данные. Если же это несколько дней удержания или более, и тем более, входы, выходы на открытии сессии, то дневки оптимальный вариант.
А вот про «два шага» — заинтриговали всерьёз: какие два шага вы имеете в виду? Спрашиваю без иронии.
Данные дневные, 16,9 млн котировок с 1996 года — на внутридневном платформа просто не работает, это другая задача и другая инфраструктура.
И тут есть неприятная связь: чем длиннее горизонт, тем меньше независимых наблюдений за те же 30 лет. Отсюда и жёсткая планка по Deflated Sharpe — на месячном ребалансе набрать статистику гораздо труднее, чем на минутках.
19 тупарей здесь лайкнули, а некоторые даже задают вопросы
Хорошо характеризует местную публику
типичный хедж фонд выглядит так — 5-6 стратегий низкой корреляции с доходностью 5-6% и 6 ое плечо… проблема в том что в кризис коррелирует просто все...
Igor_Analysis, 231 — это не 231 разная идея, а семейства с вариантами параметров: кросс-секционный и временной моментум, возврат к среднему на дневках, факторные портфели (value, quality, low-vol), пробойные и календарные. Горизонт дневной, инструменты — акции США.
Наждак с плечом там был, но как бенчмарк, а не как стратегия. Вы правы, что это риск-профиль — именно поэтому гейт считает не Шарп сам по себе, а превышение над бенчмарком с поправкой на число проверенных гипотез (deflated Sharpe). Без этой поправки половина «стратегий» оказывается переодетым лонгом рынка, причём Шарп у них честный.
Арбитражных не было. Данные — дневные бары: на них строится парный возврат к среднему, но не арбитраж, он живёт во внутридневном стакане и в издержках исполнения, а этого в стеке нет. Поэтому и вывод из поста узкий: забракованы гипотезы, которые проверяются моими данными, а не «алготрейдинг не работает».
Igor_Analysis, рейтинг есть: по каждому кандидату лежат CAGR, шарп, максимальная просадка и доля прибыльных лет — и отдельно те же метрики вне выборки плюс deflated Sharpe с поправкой на число попыток.
Гейт валит как раз на второй половине. In-sample лидеры выглядят прилично, а на out-of-sample порядок мест почти не сохраняется — то, что было первым, уезжает в середину. Именно поэтому сам по себе список «моментум сделал X % годовых» мало что говорит: это рейтинг подгонки, а не рейтинг стратегий.
Конкретные числа по памяти называть не стану, переврать легко. Соберу таблицу лидеров с in-sample и OOS рядом и выложу отдельным постом — вместе с пересчётом порога, который сегодня пообещал в соседней ветке. Заодно будет видно, насколько далеко лучшие были от гейта.