Dolzhenkov_Mikhail

2,3K

подписчиков

10

подписок

Algonomics https://t.me/mdftrade - мой канал. 1️⃣ Инвестирую с 2020 года; 2️⃣ Автор стратегии в Т-Банке с 2024; 3️⃣ Магистр финансов и оценки бизнеса; 4️⃣ Занимаюсь созданием и тестированием торговых алгоритмов, периодически пишу интересное об этом.

Не является индивидуальной инвестиционной рекомендацией

Dolzhenkov_Mikhail
Dolzhenkov_Mikhail

20 августа в 22:40

📈 Одна картинка вместо хвостовой модели. Только вчера рассказывал, как хвостовая модель обещала «раз в 722 года» за день до события. Продолжение: оказывается, есть картинка, которая ловит такое враньё на глаз. Называется график Ципфа. Талеб показывает его на заявках по безработице: ковидный скачок выглядел невозможным выбросом - а на этом графике лёг ровно на продолжение прямой. Кто смотрел на график, для того сюрприза не было. Построили такой же по нашим стратегиям. 🧭 Как он устроен Берём все убыточные дни стратегии. По горизонтали - размер дневного убытка, по вертикали - доля дней хуже этого размера. Обе оси логарифмические: деление - не «плюс один процент», а «в десять раз». Всё чтение сводится к одному правилу: если правый край облака точек ложится на прямую - убытки живут по степенному закону. У маленьких и огромных убытков один механизм, прямая продолжается вправо за пределы виденного, и предела у убытка НЕТ. Худший день истории - не аномалия, а очередная точка на той же линии. Следующая будет правее. Наклон прямой - скорость, с которой редеют большие дни: круче - большие убытки быстро становятся редкостью, положе - хвост жирный и «рекорды» будут обновляться регулярно. А вот если кривая в конце загибается вниз - хвост действительно обрезан: что-то физически мешает большим убыткам случаться. 🔍 Что видно на наших трёх ногах Стратегия на $CRU6 ( &Алго-Ритм ): день −5.82 %, тот самый «раз в 722 года», лежит прямо на прямой. Подгонка говорила «предел −3 %», картинка говорила «прямая, предела нет». Картинку можно было посмотреть за день ДО. Стратегия на $MMU6: худший день −25 % (25 февраля 2022) сидит у продолжения прямой. Под степенным взглядом это не чёрный лебедь, а ожидаемая точка. И наклон у этой прямой пологий - хвост честно жирный. Стратегия на $SiU6 (часть из &Трендовый спекулянт (Futures) ) единственная нога, где хвост в конце загибается вниз. Это след килсвитча на −2 % - он реально режет большие дни. Но точки до −4.77 % на графике тоже есть, и они показывают ровно то место, где защита не работает: гэп между сессиями проходит мимо любого внутридневного стопа. ⚙️ Практическая польза для алгоритмов 1. Секундная проверка любой риск-модели. Если на Ципфе прямая - запрещено верить модели, стопу или бэктесту, которые обещают предел убытка. Никакой математики, один взгляд. 2. Видно, работает ли защита. Загиб вниз в конце - стоп или килсвитч реально обрезает хвост. Нет загиба — защита декоративная и в худшие дни не участвует. 3. Устойчивость к новым данным. Прямая почти не меняется от свежих точек - поэтому вывод «предела нет» можно сделать до кризиса, а не после. Чем при этом НЕ пользуемся: наклоном как числом. Оценка наклона по этой картинке смещена (на MXI даёт 2.06 против 2.5-2.7 по аккуратному методу). Число для решений остаётся прежним, из утреннего поста: показатель хвоста не измеряем, а назначаем - пол α = 3. 🔧 Куда это вшито Панель Ципфа теперь рисуется автоматически при каждой генерации отчёта Монте-Карло: отдельным PNG и листом внутри Excel, по всем шести боевым контурам. Каждый вывод подгонки «хвост обрезан» будет очно встречаться с прямой на картинке. 🎯 Что унести Прежде чем верить любой цифре риска - положите убытки на дважды логарифмический график. Чем ровнее прямая, тем меньше прав у слова «беспрецедентный»: резерв обязан допускать день хуже виденного. А единственный законный способ обрезать хвост - механический, стопом всего алгоритма, и его работу видно на том же графике загибом вниз. #трейдинг #пульс_оцени
Card image 1
1
2
Dolzhenkov_Mikhail
Dolzhenkov_Mikhail

20 августа в 13:03

🎲 Модель сказала «хуже не бывает». Проверил - бывает. В нашем Монте-Карло есть отдельный прогон, где хвостовые дни рисуются не из истории, а из обобщённого распределения Парето. Смысл в том, чтобы дать модели право нарисовать день хуже виденного. Форму хвоста задаёт один параметр - ξ. Если он больше нуля, хвост степенной и предела нет. Если меньше - модель утверждает, что предел есть и хуже не бывает. Сегодня выяснилось, что она это утверждала. И зря. 🦃 Проверка на индюке Беру ногу юаня и подгоняю хвост по данным ДО 19 сентября 2024 года. Выходит ξ = −0.24: хуже примерно −3 % не бывает. Спрашиваю ту же модель про день −5.82 %. Ответ: раз в 722 года. Но он случился. Для сравнения, обычная нормалка, которую все ругают за недооценку хвостов, давала для этого дня 3.9 сигмы - то есть оказалась ближе к правде, чем «правильная» хвостовая модель. По второй ноге картина та же. Килсвитч в стратегии стоит на −2 %, а пять худших дней: −4.77, −4.76, −4.64, −4.10, −3.87 %. Килсвитч режет убыток внутри дня и не работает, когда цена уходит между сессиями - тогда позиция открывается уже за порогом. Модель приняла защиту от одного риска за отсутствие другого. 📉 Почему так вышло Причина не в коде. У Талеба это сказано прямым текстом: по данным выборки хвост рисуется тоньше, чем он есть. Данных в хвосте всегда мало по определению, и подгонка систематически ошибается в сторону «всё спокойно». Насколько мало - видно на стратегии на $MMU6 , единственной нашей ноге с честным степенным хвостом. Показатель α = 2.7, каппа 0.307. Убираю из выборки ОДИН день, 25 февраля 2022: α = 2.70 → 13.3 Один день из 1367. Вся оценка хвоста держится на нём. 🔍 Что при этом всё-таки работает Одна вещь из степенного закона на наших данных держится твёрдо. Если убыток пробил порог, его средний размер составляет примерно 1.6 порога - и это отношение почти не меняется: порог 2.25 % → 1.76 порог 2.83 % → 1.65 порог 3.79 % → 1.63 порог 5.11 % → 1.53 То есть предсказать МОМЕНТ нельзя, оценить МАСШТАБ уже начавшегося - можно. 🐛 Что нашли попутно Пока чинили одно, вылезло другое. Модель изредка рисовала день −350 %. Это не убыток, это отрицательный счёт: при таком числе путь эквити переворачивает знак, и просадка после этого считается мусорной. Таких дней было 23 из 249 666 - сотая доля процента. Они одни раздували CVaR99 с 93 % до 243 %. 🔧 Метод, к которому пришли - Пол вместо оценки. Если подгонка даёт ξ ниже 1/3, берём 1/3. Модели просто запрещено обещать предел, средний избыток при этом остаётся тем, что в данных - выдумывается не хвост, а только скорость его затухания. - Потолок −100 % на день. Дальше маржин-колл и ноль на счёте, а не отрицательный счёт. Прогон честно засчитывается как разорение. - В отчёте публикуются обе цифры - и подогнанная, и рабочая, видно, где сработал пол. Перегнали все шесть боевых контуров. Пол сработал на всех алгоритмах, которые "обещали меньше" на всех пяти строках. Требуемый резерв вырос: - Стратегия на $SiU6 (частично из &Трендовый спекулянт (Futures) при 200 %: 23.9 % → 33.8 %; - Стратегия на $CRU6 (из &Алго-Ритм ) при 200 %: 28.4 % → 32.4 % А по стрвтегии на MXI цифра наоборот УПАЛА: 91.0 % → 65.1 %. Те самые 0.01 % дней. 91 % было ошибкой счёта, а не оценкой риска - и мы бы приняли решение по плечу, глядя на неё. 🎯 Что стоит унести Оценка хвоста по своим данным почти всегда врёт в спокойную сторону, и чем меньше кризисов вы пережили, тем спокойнее выглядит картинка. Поэтому показатель хвоста разумнее не измерять, а назначать сверху. #трейдинг #пульс_оцени
Card image 1
4
5
Dolzhenkov_Mikhail
Dolzhenkov_Mikhail

11 августа в 17:26

📉 «Максимальная просадка −19,55%». Что это число обещает на самом деле. В карточке любой стратегии есть строка «максимальная просадка». Её читают как границу: вот настолько плохо бывало, значит примерно настолько плохо и будет. На неё считают плечо, под неё подбирают депозит. Я годами писал это число в своих отчётах, не погружаясь глубоко, хоть и понимал интуитивно кое-что. Недавно наткнулся на заметку Александра Горчакова 2003 года. Максимальная просадка не потолок. Это самая глубокая яма из тех, что уже попались. И вопрос не в том, насколько она глубока, а в том, сколько вы шли, прежде чем в неё угодить. 🎲 Формула на две строки Превратим кривую доходности в последовательность нулей и единиц: единица - просадка не глубже прежнего максимума. По определению максимума весь прошлый ряд состоит из одних единиц. Дальше обычная байесовская арифметика: вероятность «удержаться» считаем изначально любой от 0 до 1 и смотрим, что сообщила история. P = (T + 1) / (T + N + 1) T - сколько дней система отторговала, N - горизонт, на который нужна гарантия. Всё. Никакого Монте-Карло и других сложных метрик. Отсюда главное: если горизонт составляет долю c от прожитой истории, вероятность падает примерно как 1/(1+c). Гарантия на срок в половину истории - это уже 2/3. На срок, равный всей истории, - ровно половина. 🧮 Мои системы (с учётом бектеста): Год - примерно 250 торговых дней. - Индексная, торгует с 2015 года, T = 2899: на год 2900/3150 = 0,921, на три года 2900/3650 = 0,795 - Юаневая канальная в &Алго-Ритм и частично в &Трендовый спекулянт (Futures) с 2022 года, T = 1055: на год 1056/1306 = 0,809, на три года 1056/1806 = 0,585 Разница не в качестве систем - она вся в длине истории. У юаневой четыре года бэктеста, поэтому примерно один шанс из пяти увидеть новый рекорд просадки уже в первом году и почти один из двух за три. (Числа сняты с бэктеста, плечо 200%) ❗️❗️❗️Вывод получился конкретный: на короткой истории планировать надо от просадки глубже той, что видел. 📌 Два примера автора оригинальной статьи Трейдер с неизменной стратегией и четырьмя годами за плечами: T = 1000, N = 250, выходит 1001/1251 = 0,80 (шанс увидеть новую просадку а след. год = 20%) Трейдер, который каждый год меняет систему: T = 250, N = 250, выходит 251/501 = 0,50. Ровно монетка. Второй случай стоит перечитать. Человек честно посчитал просадку и честно её опубликовал - а число не значит ничего. Не потому, что он ошибся, а потому, что за ним нет наблюдений: он сам себе каждый год обнуляет T. ⚡️ Проверка, которую я не заказывал Я посчитал эти числа вечером. Для индексной системы вышло 0,921 - примерно один шанс из тринадцати, что рекорд будет пробит в течение года. Через два часа, разбирая свежую выгрузку, я обнаружил, что он уже пробит. Прежний максимум был снят 6 июля, новый - 28-го. Событие с вероятностью 8% случилось в первые 3% отведённого срока. Это не опровержение метода: восьмипроцентные события на то и восьмипроцентные. Скорее ответ на вопрос, зачем такая строка нужна. Без неё я бы сказал «просадка выросла, странно» - с ней «выпало то, чему была назначена вероятность». 🚩 Где это ломается в публичном доступе Откройте любую витрину автоследования: там рядом стоят «максимальная просадка» или «прогнозируемая просадка». Первые попавшиеся карточки. Одна: максимальная −37,5%, прогноз −11%. Другая: максимальная −94,7%, прогноз −56% (Либо без второго). Прогноз в разы меньше того, что уже случилось. Это не осторожная оценка будущего, а утверждение, что впредь будет заметно лучше, чем было. Из модели такое не выводится: если уровень уже пробивали, вероятность удержаться под ним считается - и она низкая. Вряд ли кто-то жульничает, но подписчик читает его как обещание. ⚠️ Ограничения Метод отвечает только на вопрос «пробьёт или нет» и молчит о том, насколько глубже будет новая яма, и он предполагает, что рынок не менялся. Смена режима биржи или др. обнуляют накопленный запас наблюдений. $MMU6 $CRU6 #новичкам #трейдинг #пульс_оцени
Card image 1
2
3
Dolzhenkov_Mikhail
Dolzhenkov_Mikhail

8 августа в 13:02

📈 Ровная кривая доходности: почему по ней нельзя судить о стратегии. Кривая эквити - главный аргумент в любой продаже торговой системы. Растёт слева направо, почти без провалов, красиво. Кажется, что дальше остаётся только измерить, насколько она ровная, - и получить объективную оценку качества. Так и делают. Проводят через кривую регрессию по времени и смотрят R² («насколько точно кривая ложится на прямую»), значимость наклона, K-ratio. Чем ровнее - тем якобы надёжнее система. Я проверил, что эти числа на самом деле показывают. 🔬 Эксперимент Беру реальную кривую своей канальной системы на $SiU6 : 2325 торговых дней, 13 лет. Строю МНК логарифма эквити по времени. Получаю R² 0,946 и t-статистику наклона 201. Теперь генерирую 2000 случайных блужданий - просто случайные доходности с тем же средним и той же волатильностью. Никакой стратегии, никакого преимущества, только дрейф и шум. И считаю на них то же самое. Медиана по случайным: R² 0,988 и t наклона 444. То есть выдуманные ряды дают и более гладкую картинку, и «значимость» вдвое выше. Реальная кривая проигрывает случайной по обоим показателям. На двух других моих системах - та же история: R² 0,947 при случайных 0,987; R² 0,981 при случайных 0,973. 🧨 Почему так выходит ? Причина в том, что кривая эквити - накопленный ряд. Каждая её точка почти равна предыдущей, соседние значения не независимы. Независимых наблюдений там на порядки меньше, чем точек на графике, и любой тест значимости на таком ряде выдаёт числа, которые нечего интерпретировать. Отдельно замечу, почему у настоящих кривых R² даже ниже. У реального рынка волатильность идёт кластерами: спокойные месяцы, потом резкий период. Кривая колеблется вокруг тренда сильнее, чем гладкая случайность. Ровность наказывается за честность. ⚠️⛔️ ❗️И самое неприятное Гладкая кривая - это не признак качества, а признак того, что риск ещё не проявился. Стратегия, которая годами собирает по копейке, выглядит идеальной прямой ровно до того дня, когда собирает весь накопленный убыток разом. У меня это подтвердилось буквально. Самая гладкая кривая из трёх - R² 0,981, выше 70% случайных - принадлежит той системе, которую я на днях решил менять (на личном счёте, на $CRU6 ). Причина замены: её преимущество затухает по годам. Кривая при этом самая красивая из всех. 📉 Что я проверял раньше Идея «управлять по кривой эквити» - снижать объём после просадки, отключаться при пробое средней - стоит на предположении, что результаты идут полосами. Я это мерил: по 539 сделкам фактических серий 263 при ожидаемых 267. Никакой зависимости. И отдельно - защитный выключатель по просадке в одной из систем сработал 1 раз за 1022 сделки, то есть не работал вовсе. 💡 Что с кривой можно делать Две вещи, и обе - без всякой модели: максимальная просадка и время под водой (сколько дней счёт был ниже прежнего пика). Это прямые свойства кривой, их не нужно ни оценивать. Скорость роста берётся как среднее логарифмических доходностей, а не как наклон регрессии - то же число, но без ложной точности вокруг него. А всё остальное - просадочные квантили, хвосты, оценка риска - считается на доходностях, а не на накопленной кривой. Разница не косметическая: когда я однажды посчитал просадки по накопленной кривой вместо доходностей, оценка риска завысилась ровно вдвое. Ровная линия на картинке - это про то, как прошлое сложилось в сумму. О том, повторится ли оно, она не сообщает ничего. #трейдинг #пульс_оцени #аналитика
Card image 1
1
Dolzhenkov_Mikhail
Dolzhenkov_Mikhail

2 августа в 21:10

📊 Сколько сделок нужно, чтобы поверить своей стратегии? Кто-то скажет: 100 наблюдений - и среднее уже надёжно. Для роста людей это правда. Для доходности - нет. Разница в «жирных хвостах»: на рынке одно наблюдение способно перевесить всю остальную выборку. Пример из моей истории стратегии на юань: за 12 лет лучшая сделка дала +14.21% , а типичная - 0.29%. Одна сделка стоит полусотни обычных. Пока такое возможно, усреднение работает медленно, и все формулы, которые опираются на нормальное распределение, врут. Как это измерить Есть метрика - каппа (κ). Она показывает, насколько медленно накопление данных снижает неопределённость. По сути, это метрика "жирнохвостости". Только измеряет она не форму распределения, а скорость сходимости суммы к своему пределу. Каппа - это мера того, насколько медленно новые сделки уточняют оценку дрходности стратегии. - κ = 0 - идеальный случай; - κ ≈ 0.2 - уровень фондового индекса; - κ ≈ 0.5 - данных нужно кратно больше, чем кажется; - κ → 1 - среднее не работает вовсе, примером служит распределение Коши. Тут нет ни мат ожидания, ни дисперсии, только случайность. Мы посчитали κ по всем боевым стратегиям (по доходности сделки к счёту): SBER из личного портфеля: 0.140 (2013-2026, 1770 сделок); Юань из личного портфеля: 0.172 (2022-2026, 509); MXI из личного портфеля: 0.172 (2015-2026, 1462); Юань из автоследа &Алго-Ритм : 0.180 (2022-2026, 1003); SI из автоследа: 0.305 &Трендовый спекулянт (Futures) : (2013-2026, 2829). ⚠️ Ловушка, в которую мы сами попались: Сначала считали κ по прибыли в рублях - получили 0.42-0.57 и решили, что данных нужно втрое больше. Ошибка: при торговле процентом от счёта поздние сделки крупнее в рублях просто потому, что счёт вырос. Метрика приняла рост депозита за рыночный риск. Пересчёт в процентах от счёта уронил цифры вдвое и перевернул порядок стратегий: та, что казалась самой опасной, оказалась одной из самых спокойных. 🧐Что важнее самой цифры Одна и та же стратегия на разных окнах даёт разное: SI, вся история 2013-2026 → κ 0.305 SI, только с 2022 года → κ 0.188 Объём выборки тут ни при чём - случайные подвыборки любого размера дают те же 0.30. Решает период: в длинной истории есть девальвация 2014-2015 и февраль 2022, а в коротком окне их нет. Отсюда вывод, который стоит держать в голове всем: низкая волатильность стратегии часто означает не устойчивость, а то, что кризиса ещё не было. Стратегия, запущенная в 2023-м, покажет красивые цифры - просто потому, что не встретила настоящего шторма. ❓Зачем это нужно на практике Из каппы следует, какой профит-фактор можно считать доказанным, а какой - шумом: 400 сделок → PF ниже 1.75 = шум 600 сделок → ниже 1.56 = шум 1000 сделок → ниже 1.42 = шум 3400 сделок → ниже 1.20 = шум Поэтому «PF 1.9 на 60 сделках» - это не результат, а совпадение. А PF 1.65 на трёх тысячах сделок - уже разговор. ❗️Проверяйте не только доходность, но и на скольких данных она получена. И на каком периоде - прошла ли стратегия хоть один кризис. $SiU6 $CRU6 $SBER $MMU6 #пульс_оцени #трейдинг
Card image 1
4
5
Dolzhenkov_Mikhail
Dolzhenkov_Mikhail

31 июля в 20:40

Как заставить ИИ прочитать книгу с пользой. Обычный сценарий: просишь ИИ прочитать книгу - получаешь пересказ. Красивый, структурированный и бесполезный. Пересказ не меняет ни одного вашего решения. Мы попробовали иначе. Задача звучала так: «Вот книга. Вот наши работающие системы и данные за четыре года. Найди, где книга противоречит тому, что мы делаем, и проверь это на наших цифрах». Книга - «Статистические последствия жирных хвостов» Талеба. Дальше - что из этого вышло за один вечер. 1. Нашёлся сломанный критерий отбора. Мы отбирали бумаги для торговой системы по фактору прибыли: порог 1.4, ниже - не рассматриваем. Перебрали 133 бумаги. Талеб посвящает целую главу тому, почему так нельзя: когда перебираешь сотню кандидатов и берёшь лучших, часть «лучших» - просто удачный шум. Посчитали, какой фактор прибыли способен нарисовать чистый шум. Оказалось, всё зависит от числа сделок: при 400 сделках шум сам выдаёт 1.75, при 3400 - всего 1.20. Наш единый порог 1.4 был слишком строгим для одних бумаг и слишком мягким для других. 2. Две бумаги вылетели из системы. Проверили заново по правильному порогу и заодно посмотрели, на чём держится прибыль. У одной бумаги двадцать лучших сделок давали 48% всей валовой прибыли - без них стратегия глубоко убыточна. Это не край рынка, это везение. Обе выведены. 3. Часть наших страхов не подтвердилась. Проверка работает в обе стороны. Оказалось, у самого индекса МосБиржи $IMOEXF хвосты чудовищные - одно наблюдение даёт 92% суммы четвёртых степеней, то есть привычные метрики риска на индексе просто не имеют смысла. А у наших стратегий такого нет: выход по времени обрезает хвост, мы не сидим в позиции через событие. Значит осторожность нужна к плечу и к удержанию, а не к дневной статистике. Это сэкономило нам переделку того, что и так работает. 4. Самое важное: ИИ ошибается, и это ловится. За вечер модель трижды выдала цифру, которая оказалась артефактом метода. Один раз просадка была посчитана не тем способом - и сравнение двух вариантов портфеля перевернулось на противоположное. Другой раз стресс-тест выдал катастрофу, а при проверке выяснилось, что он незаметно обнулил доходность: мерили исчезнувшую прибыль, а не риск. Каждый раз ошибку ловило одно правило: новая цифра ничего не значит, пока тем же способом не воспроизведён уже известный ориентир. Если новый метод не может повторить то, что вы уже знаете, - он считает не то. Рецепт, если захотите повторить Дайте ИИ книгу вместе со своими данными, а не отдельно. Просите не пересказ, а список мест, где вы противоречите книге. Требуйте, чтобы каждый вывод был посчитан на ваших цифрах. И заставляйте проверять новый метод на старом известном результате. Тогда книга перестаёт быть чтением и становится инструментом. У нас - минус две бумаги из системы, переделанный критерий отбора и три новых метода оценки риска. За вечер. #пульс #пульс_оцени #инвестиции
Card image 1
4
5
Dolzhenkov_Mikhail
Dolzhenkov_Mikhail

29 июля в 11:40

⚙️ Как мы считаем риск: принципы, к которым я пришёл за годы тестов. Бэктест отвечает на вопрос «сколько бы я заработал». На вопрос «что я готов потерять» он не отвечает в принципе - история одна, а рисковать предстоит в тысячах ненаступивших сценариев. Ниже - рабочий конвейер оценки риска, который я применяю к любому портфелю: хоть системному на фьючерсах, хоть пассивному. 1️⃣ Правильные единицы. Дневные результаты нормируем на текущую эквити, а не на стартовый капитал. Стратегии реинвестируют: рублёвый P&L растёт вместе со счётом, и если мешать «рубли», симуляция подкладывает большие поздние дни под маленький ранний капитал - просадка завышается вдвое. Проверка корректности одна: медиана симуляций должна сходиться с реализованной просадкой. 2️⃣ Монте-Карло блочным бутстрапом. 5000 альтернативных историй: дневные доходности перемешиваются блоками по 10 дней (волатильность кластеризуется - рвать кластеры нельзя), ноги портфеля сэмплируются синхронно, чтобы сохранить их взаимосвязь. На выходе - распределение просадок вместо одной цифры. 3️⃣ CVaR вместо VaR. Квантиль (p99) говорит, где начинается плохой хвост. CVaR говорит, что внутри него: средний убыток худших сценариев. Для толстохвостых распределений просадок разница материальна и всегда не в вашу пользу. Правило: пороги и триггеры в регламентах - по квантилям (просто и проверяемо), а размер плеча - по CVaR. 4️⃣ Стресс корреляций - главный тест. Диверсификация умирает именно тогда, когда нужна: в панике корреляции активов взлетают к 0.5-0.7, и «независимые» ноги падают хором. Моделируем гауссовой копулой: каждой ноге сохраняем её фактическое распределение, но навязываем общий шок. Эмпирическое правило по всем нашим портфелям: поломка корреляций удваивает просадку. 5️⃣ Плечо - статическое, под кризис. Мы проверяли «умный» вариант: динамически резать объёмы при росте скользящей корреляции. Не работает - корреляция считается по окну в 30-90 дней и всегда опаздывает: шок происходит при ещё «спокойных» показаниях. Вывод: запас на кризис зашивается в размер позиции постоянно, а не включается по сигналу, который приходит после удара. 📐 Пример на живом портфеле (три тренд-системы на $SiU6 $MMU6 $CRU6 . суммарное плечо 300%): • реализованная просадка за 4 года: 5.8% • Монте-Карло: медиана 7%, p99 ≈ 13% - обычный мир • копула, корреляция 0.7: медиана 15%, p90 ≈ 21% • CVaR95 кризисного сценария: ~26% Пять цифр вместо одной. Красивые 5.8% из бэктеста и «готовься терпеть четверть счёта» - это один и тот же портфель, просто первый ответ - про прошлое, а последний - про обязательства перед будущим. Плечо выбрано так, чтобы пережить последнюю цифру, а не первую: вероятность разорения во всех 60 000 прогонов - ноль. Итог в одну строку: риск - это не волатильность и не просадка бэктеста, а ущерб худших сценариев при сломанной диверсификации. Всё остальное - приятные новости, которые не требуют планирования. #трейдинг #пульс_оцени
Card image 1
2
3
Dolzhenkov_Mikhail
Dolzhenkov_Mikhail

27 июля в 10:25

🎲 Z-счёт: как проверить, что «после двух убытков надо пропустить сделку». Почти у каждого трейдера есть такое правило. Три убытка подряд - снижаю объём. Серия прибылей - добавляю. Логика кажется железной: рынок ведь ходит полосами. Проблема в том, что полосы есть и у честной монеты. Подбросьте её сто раз -увидите и пять орлов подряд, и семь решек. Это не память монеты, а обычная случайность. И прежде чем строить на серии правило, стоит проверить: ваши полосы длиннее случайных или нет? Ровно на этот вопрос отвечает Z-счёт (runs test). 📐 Как считается Берём список сделок и считаем «серии» - непрерывные полосы одинаковых исходов. Пример из десяти сделок: + + − − + − + + + − Серий здесь шесть: (++)(−−)(+)(−)(+++)(−). Прибыльных сделок W = 6, убыточных L = 4, всего N = 10. Сколько серий должно быть у честной монеты при таком раскладе? Формула простая: ожидаемые серии = 2·W·L/N + 1 = 2·6·4/10 + 1 = 5,8 Фактически у нас 6 - почти ровно столько же. Теперь переводим в стандартные отклонения. Обозначим X = 2·W·L = 48: Z = (N·(R − 0,5) − X) / √(X·(X − N)/(N − 1)) Z = (10·5,5 − 48) / √(48·38/9) = 7 / 14,2 = +0,49 Читается так: • Z < −1,96 - серий меньше ожидаемого, исходы слипаются в полосы. Правила вида «после убытка сокращаюсь» осмысленны. • Z > +1,96 - серий больше ожидаемого, исходы чередуются. После убытка вероятнее прибыль, и пропускать сделку - вред. • |Z| < 1,96 - полос ровно столько, сколько у монеты. Прошлая сделка не говорит о следующей ничего. Наши +0,49 - третий случай. 🔍 Живой пример У одной из моих систем на валютном фьючерсе годами стоял фильтр: после двух убытков подряд пропускаем следующий вход. И он работал - на истории поднимал профит-фактор с 1,77 до 1,91, а просадку срезал на два пункта. Считаю Z-счёт по 539 сделкам: фактических серий 263 при ожидаемых 267. Z = −0,33. Никакой зависимости. Но метрики-то улучшались. Значит, надо смотреть не на метрики, а на то, что фильтр выбрасывает. И вот тут всё встало на места. Ужесточаю правило до «пропускаем после одного убытка» - фильтр отсекает 95 сделок со средним результатом +2 561 ₽. А средний по всем 539 сделкам - +2 384 ₽. Он выбрасывает сделки ЛУЧШЕ средних. Суммарно - четверть миллиона рублей выброшенной прибыли. Правило гласило: после серии убытков сделки слабее. Данные говорят: не слабее. ⚠️ Почему профит-фактор обманул При том же ужесточении профит-фактор вырос до 1,81 - а доходность рухнула с +642% до +423%. Фильтр отрезал прибыльный хвост и улучшил соотношение прибыль/убыток. Профит-фактор - это отношение, и его легко поднять, выкинув часть сделок. Деньги при этом уменьшаются. Отбирая подмножество сделок, смотрите на итог в деньгах, а не на красивое отношение. 💡 Что с этим делать Правило, выведенное из серий, стоит гонять по трём проверкам: значимый Z-счёт, поведение соседних настроек и - главное - состав того, что правило выбрасывает. Если отсекаемые сделки не хуже остальных, никакой закономерности вы не нашли. Оговорюсь честно: соседние настройки - слабая проверка, и я сам на этом попался. У моего фильтра варианты «после 4» и «после 5» трогают всего пять и три сделки из 539. Разумеется, они ничем не отличаются от базы - они почти ничего не делают. Судить по ним всё равно что испытывать лекарство на трёх пациентах. Улучшение метрики на истории само по себе не доказывает ничего. Лучший из полусотни перебранных вариантов красив случайно - просто потому, что их было полсотни. $SiU6 $CRU6 #трейдинг #пульс_оцени
Card image 1
3
4
Dolzhenkov_Mikhail
Dolzhenkov_Mikhail

25 июля

🏛 Вечный портфель на российских активах: проверил цифрами. «Вечный портфель» придумал Гарри Браун в 1980-х. Идея красивая: экономика всегда в одном из четырёх режимов - рост, спад, инфляция, дефляция. Под каждый режим есть актив-чемпион: акции, облигации, золото, кэш. Никто не знает, какой режим наступит, поэтому делим капитал на четыре равные части по 25% и раз в квартал возвращаем доли на место. Всё. Никаких прогнозов, никакого выбора акций. Я собрал бэктест на наших активах: индекс МосБиржи (полной доходности, с дивидендами), дальние ОФЗ (индекс 10+ лет), биржевое золото в рублях, кэш под ключевую ставку (аналог LQDT). Максимум истории, что дают данные - с конца 2013-го, почти 13 лет: две девальвации, ковид, 2022-й и цикл ставки до 21%. 📊 Результаты (окно 2016-2026, всё сопоставимо): - Вечный портфель: ~11% годовых, макс. просадка 17% - Индекс МосБиржи с дивидендами: 8.5% годовых, просадка 51% - Просто кэш (LQDT): ~10.5%, просадка 0% Главное обещание Браун сдержал: доходность ВЫШЕ рынка акций при просадке ВТРОЕ меньше. Квартальный ребаланс оказался лучше годового (просадка 16.7% против 18.6%): чаще продаёшь то, что взлетело, и докупаешь то, что упало. Расходы почти не кусаются: комиссии + налоги съедают ~0.6 пп в год, причём почти всё - налоги. Портфель торгует так редко, что тариф брокера не важен. 🎲 Дальше я сделал то, что делаю с любым портфелем: прогнал 5000 сценариев Монте-Карло и отдельно проверил главный страх - а что, если корреляции сломаются? Вся магия вечного портфеля держится на том, что активы падают ПО ОЧЕРЕДИ: у нас золото против акций −0.2, золото против ОФЗ −0.5. Когда акции горят, золото (читай: девальвация) вытаскивает. А теперь навязываем активам общий шок - заставляем акции, ОФЗ и золото падать вместе, как в настоящей панике «продают всё»: - корреляция как в истории → типичная просадка ~10% - корреляция 0.5 → уже ~16%, в плохом хвосте 26% - корреляция 0.7 → ~18%, в худших сценариях 29–41% - корреляция 1 (маловероятна → просадка уходит под 50% в худших сценариях Просадка удваивается. Доходность при этом почти не меняется - стресс бьёт не по прибыли, а по нервам. Единственный несгораемый якорь - кэш: ставка не может «упасть вместе с рынком», и эти 25% держат пол под всей конструкцией. 🔪 Теперь критика - честная: 1. За последние годы вечный портфель обогнал… депозит. Всего на 0.5-1 пп. При ставке 16-21% кэш соло давал почти столько же при нулевой просадке. Вся конструкция раскрывается при НИЗКИХ ставках - а мы живём в эпоху высоких. 2. Реальная история портфеля (просадка 17%) лежит в хвосте симуляций (~95-й перцентиль): февраль 2022-го - это ровно тот «идеальный шторм», который статистика считает редким. Он уже случился. Планировать надо не от красивой медианы, а от стресса: 18-29%. 3. Четверть капитала в дальних ОФЗ в стране, где ставка ходит от 4 до 21% - это боль: сама эта нога падала на 32%. А золото в рублях - по сути ставка на девальвацию, а не «защитный актив» из учебника. 4. Мой дивидендный портфель с фильтром тренда на том же окне и с теми же налогами даёт ~17% годовых при той же просадке. Вечный проигрывает ему 6 пп в год - плата за то, что не надо вообще ничего делать и ни во что верить. Вывод: вечный портфель - не машина доходности, а машина ВЫЖИВАНИЯ. Он не сделает тебя богатым, но не даст сгореть ни в одном режиме экономики - если только все активы не лягут разом, а на этот случай теперь есть цифры. Как парковка крупного капитала «поставил и забыл» - работает. Как замена активной стратегии - нет. $IMOEXF $RGBIF $LQDT #пульс_оцени #инвестиции
Card image 1
Card image 2
Card image 3
5
6
Dolzhenkov_Mikhail
Dolzhenkov_Mikhail

21 июля

🔬 Моно-стратегия: сколько боли ты реально подписываешься терпеть. Прогнал через Монте-Карло каждую свою дейсвующую стратегию ПООДИНОЧКЕ - на всей доступной истории, на боевых плечах (5000 перемешиваний блоками по 10 дней, модель мультипликативная - уроки прошлого поста учтены). Результаты (реальная просадка → медиана симуляций → худший 1% сценариев): - Тренд на доллар, 13 лет, плечо 200%: 11% → 11% → 18% - Тренд на индекс, 11 лет, 200%: 26% → 26% → 37% - Акции Сбера, 13 лет, без плеча: 17% → 16% → 28% - Два юаня, ~4 года, 200%: 9-10% → 9-10% → 16-18% Контроль честности: медиана Монте-Карло совпала с реальной просадкой у всех пяти. Разорение - 0 из 5000 сценариев. Главный урок - сравните с портфелем из прошлого поста: https://www.tbank.ru/invest/social/profile/Dolzhenkov_Mikhail/d9b19812-725b-4d77-b070-bb6929c9bdb1?author=profile&channel=sharing Тренд на индекс соло держит четверть капитала в просадке, а внутри портфеля тот же робот - образцовый: плечо ноги вдвое меньше, а его плохие дни гасятся прибылью соседей (корреляции ~0). Просадка суммы - не сумма просадок. Отсюда два правила: 1. Торгуешь стратегию соло - умножай её красивый бэктест-DD на хвост Монте-Карло и спрашивай себя: высижу ли? Бросить робота/алгоритм на дне просадки - худшая сделка из возможных. 2. Самый дешёвый способ снизить боль - не резать плечо, а добавить некоррелированного соседа. Моно-стратегия - это мотоцикл: быстро, но падать больно. Портфель - та же скорость, но с ремнями. $SiU6 $CRU6 $MMU6 $SBER
Card image 1
2
3
Dolzhenkov_Mikhail
Dolzhenkov_Mikhail

17 июля

$IMOEXF $GAZP $GMKN Видимо не в Алоре было дело, а может все равно нашли пути слить в рынок объёмы. Рынок продавца. Не факт, что даже при более мягких решениях регулятора, покупателей хватит, чтобы откупить такого мощного селлера.
9
10
Dolzhenkov_Mikhail
Dolzhenkov_Mikhail

17 июля

📊 Как я собирал алго-портфель: зачем нужен Монте-Карло. Как пример, портфель #2 на скрине - три трендовые стратегии: доллар, индекс МосБиржи и юань. Каждая нога на 100% капитала, суммарное плечо 300%. По отдельности каждая зарабатывает, но главный вопрос - что будет, когда они просядут ОДНОВРЕМЕННО? Бэктест на это не отвечает. История - всего одна траектория: возможно, мне просто повезло с порядком событий. Плохие дни легли удачно, между ними портфель успевал восстановиться. Поэтому - Монте-Карло. Берём дневные результаты портфеля за 4 года и перемешиваем их 5000 раз, получая 5000 альтернативных «жизней». Перемешиваем блоками по 10 дней: волатильность ходит кластерами, и рвать их нельзя - иначе стресс-периоды растворятся. В каждой «жизни» меряем худшую просадку. ⚠️ Главная ловушка, на которую я наступил: перемешивать надо ПРОЦЕНТЫ от текущего капитала, а не рубли. Стратегии реинвестируют: капитал вырос в 15 раз - и дневные колебания в рублях выросли в 15 раз. Пример: день −40 000 ₽ при капитале 1,5 млн - царапина в 2,7%. Но если симуляция подложит этот же день в начало пути, где капитала 100 000, - получится «просадка 40%», которой в реальности быть не может: большой рублёвый день большой именно потому, что капитал уже вырос. Пока я мешал рубли, модель пугала просадкой 16%. Перевёл в проценты - и всё сошлось. Контроль честности простой: медиана Монте-Карло должна примерно совпасть с реальной просадкой. У меня: реальная ~6%, медиана 5000 прогонов ~7%. Совпало → модели можно верить. Дальше смотрим хвост: 90-й перцентиль ~9,5%, худший 1% сценариев ~13%. Но и это - мирное время. В кризис диверсификация отваливается: рублёвые активы начинают падать хором, корреляция ног взлетает с ~0 до 0.5-0.7. Это моделируется отдельно (гауссова копула: каждой стратегии оставляем её распределение, но навязываем общий шок). Результат: в кризисном режиме ориентир просадки ~15-21%. К слову, портфель переживает даже корреляцию 1, хоть она и почти невозможна на практике. Вот под ЭТУ цифру и выбирается плечо - не под красивые 6% из бэктеста. Разорение: 0 из 5000 сценариев, даже кризисных. То же самое сделал и для других своих портфелей, в т.ч. и для обновленного &Трендовый спекулянт (Futures) с &Алго-Ритм , логика та же, только инструментов по два и менее. Вывод: бэктест говорит «сколько я заработал бы вчера», Монте-Карло - «что мне терпеть завтра». Плечо сайзится под кризисную корреляцию, а не под спокойный рынок. Из минусов, остается только относительно небольшая история торгов фьючерса на юань, где-то с 2022 года, но что есть, то есть. $SiU6 $CRU6 $MMU6 #трейдинг #пульс_оцени
Card image 1
3
4
Dolzhenkov_Mikhail
Dolzhenkov_Mikhail

16 июля

Рынок не плохой. Плохие - стратегии, которые в него принесли. Кругом кричат, что рынок «сломан», «не растет», «мертв». Нет. Тренд сейчас есть, и он абсолютно четкий - падающий. Рынок не мечется без направления, он методично идет вниз. Просто основная масса умеет работать только в одну сторону - «купи и жди», - а эта сторона сейчас против тренда. Отсюда и вопли. И вот что важно понимать: когда развернется вверх - а развернется обязательно, - те же самые люди, которые сейчас сидят в лонгах с красным счетом, к развороту успеют перевернуться в шорт. Потому что «ну не может же оно расти после такого падения», «это отскок дохлой кошки», «щас еще раз сходим на лои». И будут гибнуть уже там. Масса теряет деньги не потому, что рынок против нее, а потому что она всегда на шаг позади собственной боли: пересиживает падение - и заходит в шорт ровно на развороте. Это не рынок для «купи и держи». Но это рынок для системы: тренд читается, есть реакции на макро и на валюту - и с этим можно работать в обе стороны, если не гадать, а считать. Пока тренд вниз - зарабатывают те, кто идет с ним, а не против. Прикладываю скрин своего счета за последний год (а точнее чуть больше половины года): система дала +26,33% за период, где индекс РТС и IMOEX в это же время просел почти на 25%. Разница - не удача и не инсайд, а то, что счет не завязан на «рынок вырастет сам» - он зарабатывает и на падении, и на боковике, и на развороте, потому что торгует по системе, а не по вере. Я уже писал развернуто на эту тему - тезисы там жестче, но логика та же: рынок мертв только для тех, кто ждет от него милости. и продолжает спорить с трендом. ⚠️ Это не сигнал к копированию сделок. Системная торговля требует дисциплины, тестирования и готовности к просадкам. Я лишь хотел донести мысль о том, что не стоит ждать чудес и гадать, не ищите паттерны на истории. История может сломаться, и будет рекордный по времени падающий тренд. Адаптируйтесь и ищите возможности там, где основная масса теряет. Не ждите от рынка милости и не спорьте с ним. Если Газпром стоит рекордно дёшево, это еще не сигнал на покупку, если див. доходность Сбера сейчас большая, это снова не сигнал на покупку. Массы это видят тоже и обязательно потеряют, если не сегодня, то завтра. $IMOEXF $SBER $GAZP #новичкам
Card image 1
4
5
Dolzhenkov_Mikhail
Dolzhenkov_Mikhail

16 июля

⚠️ Как «умирает» стратегия - и почему товарные активы особенно коварны. Стратегия может годами показывать шикарный бэктест, а потом за пару недель отдать всё. Разберём анатомию этой смерти на реальном примере - канальной стратегии на фьючерсе природного газа (NG). 📉 Признаки хрупкого края - Параболическая кривая доходности. Эквити плавно росла с 2021 по 2025, а в начале 2026 ушла в вертикаль — и почти сразу сорвалась на -50%. Вертикальный участок - это почти всегда компаундинг на удачном режиме, а не гениальность. - Просадка съедает весь профит. Если -50% сносит годы роста - значит, вся кривая держалась на одной удачной волне. 🔧 Переоптимизация (overfitting) Излишки индикаторов, усложнение логики и др. Бэктест от этого сияет, но forward-эффекта ноль: новые убыточные дни в список не зашиты, поэтому вживую убыток вылезает сразу. Это косметика, а не робастность. 🛢 Почему газ - худший случай (три ловушки товарных фьючерсов): 1️⃣ Экстремальная волатильность. Газ - самый «спайковый» товар: погода, запасы в хранилищах. В июле 2026 он рухнул с ~3350 до ~2888 за считаные дни. Для пробойной трендовой логики это худший сценарий - её пилит на ложных пробоях. 2️⃣ Огромное контанго / бэквордация. Газ дико сезонный: зимние контракты кратно дороже летних. При перекладке (ролловере) между контрактами возникают большие ценовые разрывы - это реальная стоимость, которую бэктест на непрерывном контракте часто просто игнорирует. 3️⃣ Искажение непрерывного контракта - главная ловушка. Тикер вроде NG1! склеен из десятков месячных фьючерсов. Чтобы убрать роллговер-гэпы, история «корректируется» - сдвигается вверх/вниз на величину разрыва. На газе эти сдвиги огромны и накапливаются: далёкое прошлое становится искусственно заниженным. А если позиция считается в % от капитала, заниженная цена раздувает объём → раздувает проценты → тестер рисует доходность в сотни тысяч %, которой в реальности не было. Именно так рождается «параболический мираж». ✅ Как не попасться - Не доверять аномальной доходности (десятки тысяч %+) - это красный флаг артефакта, а не мастерства. На моем примере это не реальная прибыль, а пересчёт бэктеста из-за того, что опишу в последнем пункте. - Смотреть кривую в лог-масштабе: устойчивая стратегия - почти прямая, а не ракета. - Прогонять бэктест на скорректированных и на «сырых» данных - если парабола пропадает, виноват склейка. - Пороги в стратегии задавать в % от цены или ATR, а не в абсолютных пунктах - иначе они «плывут» при склейке и росте инструмента. - Проверять край вне выборки (out-of-sample), а не только на всей истории. - Избегать сильно волатильных активов с месячной экспирацией. Это наверное основной фактор, который убивает систему, так как склейка, после расхождения контрактов, искажает сделки и цены в прошлом. Из-за этого вся кривая уходит под откос. Нефть, газ и другие похожие фьючерсы подходят под описание. $NGN6 $BRQ6 #трейдинг #пульс_оцени
Card image 1
1
2
Dolzhenkov_Mikhail
Dolzhenkov_Mikhail

15 июля

🛡 Третья деталь механики: когда дивпортфель уходит в кэш. Отбор бумаг (DSI + low-vol), который мы рассмотрели чуть раньше, решает, что держать. Но самые глубокие потери приносит не выбор бумаг, а медвежий рынок целиком: в 2022-м индекс полной доходности Мосбиржи падал на 52%. От этого защищает режимный фильтр. Правило - одно и простое. Каждый понедельник сравниваем закрытие IMOEX за прошлую неделю со средним за последние 30-40 недельных закрытий: - закрытие ниже среднего → продать весь портфель в фонд денежного рынка (LQDT), оставив по 1 лоту каждой бумаги для наблюдения; - закрытие выше → откупить обе корзины обратно. Живой пример - прямо сейчас. Закрытие прошлой недели: IMOEX = 2145. Среднее за 35 недель: 2665. Индекс на 19.5% ниже средней → портфель в LQDT и зарабатывает ставку денежного рынка, пока рынок ищет дно. Что это даёт на истории 2016-2026: - максимальная просадка портфеля: ~50% → менее 20%; - переключений всего ~3 в год - это не трейдинг, 35 минут в неделю на проверку; - вне рынка портфель проводит ~35% времени - и не просто пережидает: кризисы в России совпали с наиболее доходным временем в денежном рынке (2022: 20%, 2024-25:19-21%), так что кэш в эти месяцы приносил двузначную доходность. ❓️Почему именно 30-40 недель ? От 10 до 60: работает всё «плато» 30-40, а длина 35 - его середина. Точная цифра не магия - важен принцип. $IMOEXF $LQDT #пульс_оцени #новичкам
3
4