Разработка системы расчета Calmar Ratio для криптостратегий

Просадка и доходность стратегии считаются по-разному, и метрика риска перестаёт отражать реальность. Мы разрабатываем расчёт Calmar Ratio под ключ: свои окна наблюдения, честная база доходности, проверка на завышение. На выходе — показатель, которому можно доверять при сравнении стратегий.
Часто задаваемые вопросы

Calmar Ratio завышен: где метрика скрывает риск

Calmar Ratio выглядит убедительно: годовая доходность делится на максимальную просадку, и по одной цифре стратегию легко сравнить с альтернативами. Проблема в том, что расчёт метрики стратегии почти всегда идёт по короткому окну — от нескольких месяцев до года, — а знаменатель берётся из этого же окна. Если глубокая просадка криптостратегии пришлась на период вне окна, в метрику она не попадает вообще, и оценка риска доходности получается завышенной в разы.

Второй источник искажения — сглаживание. Когда дневные точки доходности прогоняют через скользящее среднее или срезают выбросы перед расчётом, просадка на входе и выходе из позиции размывается: пик падения перестаёт быть пиком, максимум просадки становится меньше, а метрика растёт без единого улучшения в торговой логике.

Для стратегий с редкими глубокими откатами это критично. Такая стратегия может месяцами показывать ровную кривую, а потом отдать большую часть капитала за несколько сессий — на тонком стакане, в момент ликвидационных каскадов. Короткое окно просто не успевает увидеть этот класс событий, и решение принимается как по надёжной стратегии.

Поэтому устойчивость метрики мы проверяем до того, как она попадёт в отчёт. Считаем на нескольких окнах и по необработанному логу сделок, добавляем худший исторический участок, проверяем поведение просадки при смене допущений. Дальше — разбираем, как это закрывается на уровне расчёта.

Что даёт корректный расчёт доходности и просадки

Когда доходность и просадку считают в разных окнах и по разным определениям, сравнение стратегий превращается в спор о методике. Единый регламент оценки фиксирует период расчёта, способ приведения доходности к годовому виду и правило учёта просадки — по кривой капитала с переоценкой позиций, а не по отдельным закрытым сделкам. Только после этого Calmar Ratio становится числом, которое честно ставится рядом с другим, а не метрикой «у каждой команды своя».

Устойчивость метрики проверяется реакцией на единичное событие. Один нетипичный штиф, разрыв ликвидности или технический сбой на бирже способен растянуть максимальную просадку и обрушить коэффициент у стратегии, которая в остальном ведёт себя ровно. Наши инженеры добавляют фильтрацию аномальных наблюдений и отдельно смотрят, меняется ли порядок стратегий в рейтинге при их исключении, — если да, метрика ещё не готова к решениям о капитале.

Время пересчёта — часть эффекта, а не деталь реализации. Полный проигрыш истории на каждом новом интервале растёт линейно и быстро упирается в часы; инкрементальный пересчёт по закрытой свече обновляет коэффициент за секунды. Заказчик получает актуальную картину по портфелю без ночных пакетных запусков и без расхождения между отчётом и торговым контуром.

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

Варианты расчёта: окно наблюдения и база доходности

Расчёт Calmar Ratio даёт сравнимые между стратегиями числа только при одинаковом окне наблюдения и одинаковой базе доходности. На скользящем окне и на полной истории сделок поведение одной и той же стратегии описывается разными коэффициентами — доходность и просадка берутся из участков разной длины. Поэтому режим расчёта фиксируется в методике и версионируется вместе с отчётом, чтобы прошлые выгрузки оставались воспроизводимыми.

Режимы и их ограничения

Режим расчёта Когда подходит Ограничения
Скользящее окно Сравнение стратегий в текущем рыночном режиме На коротком окне сильная просадка может не попасть в выборку — коэффициент завышается
Полная история сделок Оценка стратегии целиком, от даты старта Старые режимы рынка весят наравне с новыми, результат зависит от точки старта
Дневная база расчёта Мало сделок и длинные удержания позиций Сглаживает внутридневные просадки, расходится с доходностью по факту исполнения
Периодная доходность Редкая торговля, отчётность по периодам Календарная привязка искажает годовую доходность при разной длине периодов

Частота пересчёта — отдельный параметр, который часто упускают. При дневном пересчёте просадка фиксируется раньше и коэффициент заметно колеблется, при пересчёте по закрытым сделкам он стабильнее, но запаздывает. В отчёте всегда указываем окно, базу и частоту — иначе два расчёта по одной стратегии разойдутся в числах.

Внедрение расчёта Calmar Ratio: этапы работы

Расчёт Calmar Ratio выглядит простым: доходность делим на максимальную просадку. На практике цифра ломается о качество входных данных — пропущенные сделки, разные часовые пояса у источников, ручные правки в учётных таблицах.

Порядок работ

  1. Аудит источников данных — сверяем выгрузки из бирж и торговых систем: полнота сделок, дубли, учёт комиссий, приведение времени к одному поясу. На выходе — перечень источников с указанием, какое поле откуда берётся и какие расхождения считаются нормальными.
  2. Схема расчёта — фиксируем, как строится кривая доходности: база расчёта, обработка вводов и выводов средств, окно наблюдения. Отдельно описываем, что считаем максимальной просадкой и как считаем Calmar Ratio, когда периоды доходности перекрываются.
  3. Согласование спорных мест — какой срок брать для годовой доходности, что делать с неполными сутками и стратегией без сделок. Решения фиксируем письменно: они становятся частью регламента, а не устной договорённостью.
  4. Проверка на истории — прогоняем расчёт по архивным данным за весь срок стратегии и сверяем с вашими прежними оценками. Каждое расхождение объясняем: ошибка в источнике либо разница в методике.
  5. Независимая сверка — считаем метрику вторым способом на контрольных периодах, чтобы поймать ошибку реализации, а не только ошибку данных.
  6. Регламент пересчёта — описываем периодичность обновления, источники, порядок подтверждения данных и поведение системы при сбое загрузки.
  7. Передача расчёта — код, настройки источников и документация переходят вашей команде, разбираем их с инженером или аналитиком, который остаётся отвечать за метрику.

Такой порядок даёт воспроизводимость: один и тот же набор данных всегда даёт одну и ту же цифру, а изменение в источниках видно сразу. Обсудите задачу — вернёмся с оценкой и планом работ.

Что остаётся на руках: схемы, правила, регламенты

Calmar Ratio — отношение доходности стратегии к её максимальной просадке за тот же период. Ценность метрики держится на одном: обе величины считаются одинаково при каждом пересчёте. Поэтому работа заканчивается не графиком в интерфейсе, а набором артефактов, по которым расчёт можно повторить, проверить и передать другой команде без нас.

  • Описание полей расчёта: горизонт скользящего окна, база доходности, способ замера просадки — по закрытию или по минимуму внутри интервала.
  • Формулы с эталонными примерами: контрольный набор данных и посчитанные вручную значения, с которыми сверяется система после каждой правки.
  • Схема потока данных: от источника котировок до витрины метрик — где нормализуются свечи, где считаются доходности, где хранится история значений.
  • Правила обработки пропусков: выходные, разрывы в котировках, остановки торгов, делистинг инструмента — интерполировать, тянуть последнее значение или исключать окно.
  • Регламент обновления метрик: периодичность пересчёта, глубина истории, момент публикации значения, порядок перезапуска после сбоя загрузки.
  • Журнал изменений: версия методики, дата, автор и причина правки; хранение старых версий, чтобы история считалась по прежним правилам.
  • Инструкция по эксплуатации: как подключить новую стратегию и какие контрольные значения сигналят о расхождении.

Этот набор и есть критерий приёмки: по нему расчёт воспроизводится независимо от того, кто его ведёт.

Кейс: стратегия с плавающей просадкой до и после

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

На каждой сессии пересмотра пять-шесть позиций из двенадцати вызывали спор: единого критерия не было, и каждый участник отстаивал свою картину. Оценка стратегии зависела от того, кто смотрел на неё последним.

Что изменили в расчёте

Оценку привязали к Calmar Ratio, но не к одному пику, а к скользящему окну: в расчёт идёт худшая просадка внутри периода и отдельно — время выхода из неё. Регламент пересмотра состава портфеля получил числовой порог: стратегия покидает портфель, когда просадка держится выше лимита дольше заданного срока, а не когда график выглядит тревожно.

Каждое решение стало воспроизводимым: тот же набор данных даёт ту же оценку у любого участника команды. Спор перешёл из плоскости «мне кажется» в плоскость проверки расчёта — расхождение в оценках теперь означает ошибку в данных, а не разницу во мнениях.

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

Технические сомнения: данные, плечо, короткая история

Calmar Ratio — отношение годовой доходности к максимальной просадке, и обе величины выводятся из одной кривой капитала. Дыра в истории сделок, плечо без учёта заёмных средств или склейка разнородных источников смещают знаменатель, и метрика перестаёт описывать стратегию. Снимаем четыре возражения до первого расчёта.

Что делать при неполной истории сделок?

Расчёт идёт не по отдельным сделкам, а по восстановленной кривой капитала на регулярной сетке времени. Обработка пропусков ведётся явно: интервал помечается как отсутствующий, а не заполняется нулём или интерполяцией. Если доля пропущенных интервалов выше порога, метрика не отдаётся вообще — вместо неё приходит отчёт о покрытии с перечнем дыр. Отсутствие баланса на начало периода и разрыв внутри него чинятся по-разному: первое — сверкой с выгрузками биржи, второе — исключением отрезка из окна оценки.

Как учитывается торговля с плечом?

Доходность считаем на собственный капитал, а не на номинальный объём позиции, иначе плечо завышает и числитель, и знаменатель. Просадка строится по кривой, включающей плату за финансирование и принудительные закрытия по марже. Максимальное фактическое плечо за период фиксируется отдельно: при выходе за лимит стратегия помечается как нестабильная, и Calmar Ratio по ней читается с оговоркой.

Несколько источников данных и смена логики стратегии

Источники приводим к единой сетке времени и базовой валюте, расхождения выводим в отчёт сверки, а пропуски закрываем по правилу приоритета источника, а не усреднением. Смена логики стратегии — это граница, а не точка склейки: метрика считается раздельно на каждом отрезке с неизменными правилами, общий Calmar Ratio идёт справкой. Так новый алгоритм не улучшает просадку задним числом.

Обсудим задачу расчёта метрик ваших стратегий

Чтобы разговор был предметным и мы сразу вернулись с оценкой и планом работ, а не с уточняющими вопросами, полезно заранее собрать вводные по стратегиям. Ниже — что一般都... (без воды) — список того, что стоит подготовить к обсуждению.

  • Объём истории сделок: выгрузка за период, который хотите анализировать — от нескольких месяцев до нескольких лет, с указанием, есть ли пропуски в данных о сделках и по каким инструментам.
  • Формат выгрузок: что отдают биржи и торговые системы — CSV, выгрузка через интерфейсы, готовые таблицы; важно понять, где данные лежат сейчас и в каком виде.
  • Состав метрик: какой Calmar Ratio нужен — на дневных, недельных или месячных доходностях, с какой безрисковой ставкой и как считать максимальную просадку (по закрытиям или по внутридневным значениям).
  • Разрезы отчётности: нужны ли срезы по стратегиям, инструментам, периодам, отдельным счетам; с какой периодичностью пересчитывать метрики и кто получает отчёт.
  • Требования к отчётности: формат выдачи — сводка, таблица, график; нужна ли автоматическая регулярная рассылка и хранение истории расчётов для сравнения периодов.
  • Учёт издержек: включать ли комиссии, финансирование, проскальзывание — от этого напрямую зависит итоговое значение коэффициента.
  • Доступы и окружение: где будет работать система, как забираются данные, какие есть ограничения по доступам и требования к безопасности.

Опишите задачу в удобном виде — можно текстом, можно файлом с примером выгрузки. Мы разберём структуру данных, уточним методику расчёта и вернёмся с оценкой и планом работ: этапы, сроки, что понадобится от вашей стороны.

Чем максимальная просадка отличается от волатильности?

Волатильность доходности измеряет разброс: стандартное отклонение приростов капитала на выбранном окне. Она симметрична — резкий рост и резкое падение штрафуются одинаково, хотя для держателя стратегии это принципиально разные события. Максимальная просадка — это глубина падения от исторического пика до дна в процентах, и считается она по кривой капитала, а не по распределению доходностей.

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

В коэффициенте Calmar единицей риска взята именно просадка: годовая доходность делится на максимальную просадку. У Шарпа в знаменателе — волатильность. Сравнивать стратегии по одному показателю опасно: низкий разброс легко маскирует хвостовой риск, а глубокая просадка без контекста не говорит, как долго капитал оставался ниже пика.

Для системы расчёта это означает: обе метрики считаем по одной кривой капитала, с одинаковым учётом комиссий, ставок финансирования и проскальзывания, на одном горизонте. К просадке добавляем время восстановления — две стратегии с одинаковым провалом различаются радикально, если одна возвращается к пику за месяц, а вторая за год. Волатильность при этом нужна для расчёта размера позиции и маржинальных требований, просадка — для лимитов на капитал и досрочный вывод.

Направления блокчейн-разработки

Последние работы

  • Разработка сайта компании B2B ADVANCE
    Разработка сайта компании B2B ADVANCE
    1542
  • Разработка веб-приложения для компании FEEDME
    Разработка веб-приложения для компании FEEDME
    1394
  • Разработка веб-сайта для компании БЕЛФИНГРУПП
    Разработка веб-сайта для компании БЕЛФИНГРУПП
    1081
  • Разработка интернет магазина для компании FURNORO
    Разработка интернет магазина для компании FURNORO
    1369
  • Разработка логотипа компании B2B Advance
    Разработка логотипа компании B2B Advance
    816
  • Разработка веб-приложения для компании Enviok
    Разработка веб-приложения для компании Enviok
    1142