📈 Одна картинка вместо хвостовой модели
Вчера рассказывал, как хвостовая модель обещала «раз в 722 года» за день до события. Продолжение: оказывается, есть картинка, которая ловит такое враньё на глаз. Называется график Ципфа. Талеб показывает его на заявках по безработице: ковидный скачок выглядел невозможным выбросом - а на этом графике лёг ровно на продолжение прямой. Кто смотрел на график, для того сюрприза не было.
Построили такой же по нашим стратегиям.
🧭 Как он устроен
Берём все убыточные дни стратегии. По горизонтали - размер дневного убытка, по вертикали - доля дней хуже этого размера. Обе оси логарифмические: деление - не «плюс один процент», а «в десять раз».
Всё чтение сводится к одному правилу: если правый край облака точек ложится на прямую - убытки живут по степенному закону. У маленьких и огромных убытков один механизм, прямая продолжается вправо за пределы виденного, и предела у убытка НЕТ. Худший день истории - не аномалия, а очередная точка на той же линии. Следующая будет правее.
Наклон прямой - скорость, с которой редеют большие дни: круче - большие убытки быстро становятся редкостью, положе - хвост жирный и «рекорды» будут обновляться регулярно.
А вот если кривая в конце загибается вниз - хвост действительно обрезан: что-то физически мешает большим убыткам случаться.
🔍 Что видно на наших трёх ногах
Стратегия на юань: день −5.82 %, тот самый «раз в 722 года», лежит прямо на прямой. Подгонка говорила «предел −3 %», картинка говорила «прямая, предела нет». Картинку можно было посмотреть за день ДО.
Стратегия на MXI: худший день −25 % (25 февраля 2022) сидит у продолжения прямой. Под степенным взглядом это не чёрный лебедь, а ожидаемая точка. И наклон у этой прямой пологий - хвост честно жирный.
Стратегия на Si: единственная нога, где хвост в конце загибается вниз. Это след килсвитча на −2 % - он реально режет большие дни. Но точки до −4.77 % на графике тоже есть, и они показывают ровно то место, где защита не работает: гэп между сессиями проходит мимо любого внутридневного стопа.
⚙️ Практическая польза для алгоритмов
1. Секундная проверка любой риск-модели. Если на Ципфе прямая - запрещено верить модели, стопу или бэктесту, которые обещают предел убытка. Никакой математики, один взгляд.
2. Видно, работает ли защита. Загиб вниз в конце - стоп или килсвитч реально обрезает хвост. Нет загиба — защита декоративная и в худшие дни не участвует.
3. Устойчивость к новым данным. Прямая почти не меняется от свежих точек - поэтому вывод «предела нет» можно сделать до кризиса, а не после.
Чем при этом НЕ пользуемся: наклоном как числом. Оценка наклона по этой картинке смещена (на MXI даёт 2.06 против 2.5-2.7 по аккуратному методу). Число для решений остаётся прежним, из утреннего поста: показатель хвоста не измеряем, а назначаем - пол α = 3.
🔧 Куда это вшито
Панель Ципфа теперь рисуется автоматически при каждой генерации отчёта Монте-Карло: отдельным PNG и листом внутри Excel, по всем шести боевым контурам. Каждый вывод подгонки «хвост обрезан» будет очно встречаться с прямой на картинке.
🎯 Что унести
Прежде чем верить любой цифре риска - положите убытки на дважды логарифмический график. Чем ровнее прямая, тем меньше прав у слова «беспрецедентный»: резерв обязан допускать день хуже виденного. А единственный законный способ обрезать хвост - механический, стопом, и его работу видно на том же графике загибом вниз.
🎲 Модель сказала «хуже не бывает». Проверил - бывает.
В нашем Монте-Карло есть отдельный прогон, где хвостовые дни рисуются не из истории, а из обобщённого распределения Парето. Смысл в том, чтобы дать модели право нарисовать день хуже виденного. Форму хвоста задаёт один параметр - ξ. Если он больше нуля, хвост степенной и предела нет. Если меньше - модель утверждает, что предел есть и хуже не бывает.
Сегодня выяснилось, что она это утверждала. И зря.
🦃 Проверка на индюке
Беру ногу юаня и подгоняю хвост по данным ДО 19 сентября 2024 года. Выходит ξ = −0.24: хуже примерно −3 % не бывает. Спрашиваю ту же модель про день −5.82 %.
Ответ: раз в 722 года.
Он случился назавтра. Для сравнения, обычная нормалка, которую все ругают за недооценку хвостов, давала для этого дня 3.9 сигмы - то есть оказалась ближе к правде, чем «правильная» хвостовая модель.
По второй ноге картина та же. Килсвитч в стратегии стоит на −2 %, а пять худших дней: −4.77, −4.76, −4.64, −4.10, −3.87 %. Килсвитч режет убыток внутри дня и не работает, когда цена уходит между сессиями - тогда позиция открывается уже за порогом. Модель приняла защиту от одного риска за отсутствие другого.
📉 Почему так вышло
Причина не в коде. У Талеба это сказано прямым текстом: по данным выборки хвост рисуется тоньше, чем он есть. Данных в хвосте всегда мало по определению, и подгонка систематически ошибается в сторону «всё спокойно».
Насколько мало - видно на стратегии на MXI, единственной нашей ноге с честным степенным хвостом. Показатель α = 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. Пол вместо оценки. Если подгонка даёт ξ ниже 1/3, берём 1/3. Модели просто запрещено обещать предел. Средний избыток при этом остаётся тем, что в данных - выдумывается не хвост, а только скорость его затухания.
2. Потолок −100 % на день. Дальше маржин-колл и ноль на счёте, а не отрицательный счёт. Прогон честно засчитывается как разорение.
3. В отчёте публикуются обе цифры - и подогнанная, и рабочая, видно, где сработал пол.
Перегнали все шесть боевых контуров. Пол сработал на всех алгоритмах, которые "обещали меньше" на всех пяти строках. Требуемый резерв вырос:
Si 200 %: 23.9 % → 33.8 %
юань 200 %: 28.4 % → 32.4 %
А по MXI цифра наоборот УПАЛА: 91.0 % → 65.1 %. Те самые 0.01 % дней. 91 % было ошибкой счёта, а не оценкой риска - и мы бы приняли решение по плечу, глядя на неё.
🎯 Что стоит унести
Оценка хвоста по своим данным почти всегда врёт в спокойную сторону, и чем меньше кризисов вы пережили, тем спокойнее выглядит картинка. Поэтому показатель хвоста разумнее не измерять, а назначать сверху.
📉 Вторая нога дивпортфеля, кроме DSI: отбор по низкой волатильности.
Кроме DSI-отбора (о нём был пост ранее) в портфеле работает второй, независимый фильтр - low-vol: из дивидендных бумаг мы берём самые «тихие». Идея не наша - это классическая рыночная аномалия (по ней построен индекс S&P Low Volatility High Dividend): спокойные дивидендные акции падают заметно меньше рынка, а доходность в итоге дают ту же.
Как считаем. Волатильность = разброс недельных изменений цены за год (52 недели). Берём закрытия каждой недели, считаем изменение к прошлой неделе, затем стандартное отклонение этих изменений.
Пример на реальных цифрах (расчёт июля-2026):
- Сбер-преф: типичное недельное движение ±1.97% - самая тихая бумага всей биржи;
- Транснефть-преф: ±2.27%;
- НМТП: ±2.91%;
- для контраста: СФИ - ±10.1%, М.Видео - ±6.2% (в 3-5 раз «шумнее»).
В годовом выражении разница драматична: 1.97% × √52 ≈ 14% годовых у Сбера-преф против ≈73% у СФИ. Когда рынок штормит, первый теряет проценты, второй - десятки процентов.
Правила отбора - полностью механические:
1️⃣ все акции Мосбиржи с оборотом от 100 млн ₽ в неделю (ликвидность);
2️⃣ только те, кто стабильно платит дивиденды (DSI ≥ 0.5);
3️⃣ из них - топ-10 самых тихих за последние 52 недели;
4️⃣ обычка и преф одного эмитента = одна позиция (берём более тихую).
Ни одного ручного решения: Сбер, например, попал в корзину не потому, что «нравится», а потому что прошёл все четыре правила.
Две ноги работают в паре 50/50: DSI ловит дисциплину выплат, low-vol - устойчивость цены. Бумага, которую выбрали обе (сейчас это BANEP, PHOR, SBERP, SNGS), получает двойной вес - «оба фактора за».
Пересчёт - раз в год в апреле, вместе с DSI-ребалансом.
📊 Что такое DSI и почему мы отбираем акции по нему.
Высокая дивидендная доходность - плохой советчик: часто это разовая выплата или просто упавшая цена. Для портфеля важнее другое - чтобы компания платила стабильно и наращивала выплаты. Это и измеряет DSI (Dividend Stability Index) - скор от 0 до 1 из трёх компонентов:
- Регулярность (вес 50%) - доля лет с выплатой за последние 7 лет;
- Рост (вес 30%) - как часто выплата не снижалась год к году;
- Доходность (вес 20%) - средняя дивдоходность за 5 лет (максимум засчитывается 12%).
Пример - Сбербанк-преф (SBERP), расчёт 2026 года.
Выплаты 2019-2025: 16.0 → 18.7 → 18.7 → 0 (отмена-2022) → 25.0 → 33.3 → 34.84 ₽
1️⃣ Регулярность: платил 6 лет из 7 → 6/7 = 0.86
2️⃣ Рост: из 5 сравнимых пар «год к году» выплата не снизилась в 4 → 0.80
3️⃣ Доходность: в среднем 9.6% за 5 лет → 9.6/12 = 0.80
DSI = 0.5×0.86 + 0.3×0.80 + 0.2×0.80 = 0.83
Для сравнения: у ЛУКОЙЛа - 0.95 (семь безупречных лет), у эмитентов с частыми отменами - ниже 0.5, такие в портфель не попадают вовсе.
Главная сила скора - он ловит срезки дивидендов. Газпром, ЛСР, М.Видео сидели в топах по «доходности» до самой отмены выплат - DSI выкидывал бы их из портфеля после первого же пропуска. На истории 2016-2026 отбор топ-10 по DSI - единственный из проверенных нами дивидендных методов, который обыграл индекс полной ётом «павших» бумаг.
«Купи Газпром под дивиденды» - худший совет десятилетия. Мы проверили.
Прогнали 10 лет МосБиржи через честный бэктест: 174 дивидендных плательщика, включая «павших». Выводы неудобные:
1️⃣ Наивное «купи топ-10 по дивдоходности» ПРОИГРЫВАЕТ индексу: 6.1% годовых против 7.9% у индекса полной доходности. Аномально высокий дивиденд - часто последний: Газпром-2022, М.Видео, ФСК. Рынок редко раздаёт 15% доходности просто так - обычно он знает то, чего не знаете вы.
2️⃣ Красивые бэктесты дивпортфелей врут на 1.5-3 пп в год - их считают по выжившим. Добавьте в пул компании, которые срезали выплаты, и «стратегия» сдувается на глазах.
3️⃣ Ещё одна ловушка - неликвид. На полном пуле бэктест рисует +18% годовых, но топ забит энергосбытами третьего эшелона: на бумаге прекрасно, в реальном стакане - не купить. Отфильтруйте по обороту, и магия исчезает.
4️⃣ Что реально работает - отбор по СТАБИЛЬНОСТИ: 7 лет истории, где регулярность и рост выплат важнее их размера. Такой фильтр сам выкинул Газпром ещё до отмены дивидендов - просто по трейлингу выплат. Итог: 9.8% против 7.9% рынка даже на честном пуле. Единственная из трёх стратегий, обогнавшая индекс.
5️⃣ Главный буст - вообще не в акциях. Простой трендовый фильтр (индекс ниже короткой недельной средней → весь портфель в фонд денежного рынка) режет просадку с 51% до 19% и удваивает Sharpe. Бонус, о котором не пишут: кэш работает на пиках ставки ЦБ - фильтр выгоняет из акций ровно в те кризисы, когда ставка 20%, и деньги не лежат, а зарабатывают.
Итоговая модель: ~17.7% годовых, просадка 18%, Sharpe 1.4 (2016-2026, с комиссиями и налогом на дивиденды). Для сравнения: лучшийи систематический ПИФ (Арсагера) - 15.8%, дивидендный DIVD от ДОХОДЪ - рынок+0.8 пп после комиссий. Выше только Марламов с ручным сток-пикингом - но это уже не система, а талант. На скриншотах показал бэктест системы:
- на одном учтены "стоп-лосс" по среднему значению, комисии и доход от условного LQDT;
- на другом просто список акций-фаворитов без комиссии, стопов и тд., для сравнения с индексом.
🧐 Дивиденды - не стратегия. Стратегия - это дисциплина отбора, правило выхода и честный бэктест.
«Диверсификация вас не спасёт»
Недавно гоняли риск-анализ портфеля из некоррелированных стратегий. Вывод неуютный.
Сразу обозначу, что я алго-трейдер. Для меня портфель - это несколько трендовых/флэтовых систем на фьючерсы, где плечо 200% - не так уж и много.
Это не значит, что на том же оптимальном портфеле Марковица выводы не работают, и инвесторы находятся в более выгодном положении, чем трейдеры (неважно более агрессивный или менее). Вопрос лишь времени. Агрессивный трейдер имеет шансы уйти с рынка раньше, чем инвестор, тут все очевидно пока что. Чем больше времени прошло, тем больше данных накопилось, тем жирнее хвост может стать. Реализация огромной просадки для инвестора - вопрос времени и удачи, но при бесконечном кол-ве времени, вероятность = 100 %.
❗️Даже долгосрочные инвесторы, которые разложили яйца по разным корзинам, находятся под сильным скрытым риском потери если не всего депозита, то уже 30 % или более 50 % точно. Вы можете наложить мои выводы на свои портфели и активы и постараться понять, что я имею ввиду.
Когда стратегии/или активы в портфеле не связаны (корреляция ≈ 0), их просадки не складываются - портфель едет ровнее каждой ноги по отдельности. Красиво. На теории поиска оптимального портфеля Марковиц получил нобелевку. Проблема его теории - историческая корреляция. Корреляция - штука непостоянная. Марковиц не прогонял свою теорию через метод монте-карло, не увеличивал возможные корреляции, я же постарался убить свой портфель, в теории, слава богу, пока не на практике )
📉 Корреляция непостоянна.
В спокойном рынке она около нуля. А в кризис всё летит в одну сторону: рубль, золото, облигации, акции- «безопасная» декорреляция испаряется ровно тогда, когда нужна.
📊 Наш пример.
Портфель из 4 некоррелированных ног (2 тренда + 2 флэта). На фьючерсы: si, ed, mxi, eu. На спокойном рынке (ρ≈0), плечо 350% - просадка в 99% случаев не выше ~15%. Но стоит корреляции подскочить до 0.7 - те же 99% дают уже ~30%. А на плече 500% в кризис худший сценарий доходил до 61% просадки. Портфель тот же. Разница - только в том, «дружат» ли ноги, когда горит. Если чего то не было на истории, даже на долгой, пусть это будет хоть американский рынок акций, это не означает, что этого не будет дальше.
Все портфельные теории тут можно уже смело кидать в топку, оптимума нет.
🐘 Толстый хвост.
Просадки не подчиняются «нормальному» колоколу: распределение скошено вправо и тяжёлое на хвосте. Редкие глубокие обвалы случаются чаще, чем обещает школьная статистика. То, что «бывает раз в 100 лет», прилетает раз в несколько.
💀 Почему депозит всё равно можно обнулить - даже если в бэктесте P(разорения) = 0:
1️⃣ Бэктест видел только прошлое. Кризис хуже виденного - вне выборки. Хвост, который тебя убьёт, живёт там, где данных нет.
2️⃣ Плечо + маржин-колл. Формально «в ноль» счёт не уходит, но на просадке 50-70% брокер закроет позицию принудительно - и отыгрываться нечем. А если вы инвестор, поймать просадку 50 % - это значит, что на "отыгрыш" уйдет вдвое больше сил.
3️⃣ Корреляция может уйти не к 0.7, а к 1.0. Тогда диверсификации нет вообще - все ноги тонут синхронно, там и маржинкол может не спасти...
Вывод: плечо (или набор активов для инвесторов) надо считать под кризисную корреляцию, а не под спокойный рынок и использовать метод монте-карло. По-настоящему «неубиваемый» портфель - тот, что переживёт день, когда всё сломается одновременно. Если честно, я не знаю таких портфелей ни у инвесторов, ни у трейдеров. Вопрос, в основном, объема позиции, времени и удачи. Но никто ничего не может гарантировать.