Перейти к содержимому
Все стратегии

Стратегии

Сбор теты за календарное время в выходные на Deribit BTC недельных опционах — короткий стрэнгл примерно 3%-OTM, открыт в пятницу 09:00 UTC, закрыт в понедельник 08:00 UTC (реализованная волатильность криптовалют в выходные ниже подразумеваемой, заложенной в календарные цены; межплощадочная BTCUSDT.BINANCE 1H — опорная/стоп-нога, без фильтра IV, 3 параметров)

Итог: Отменено

BtcDeribitWeekendOtmStrangleCalendarThetaHarvest1H

Сводка по итогам

Итерация 3 этой стратегии наконец устранила проблемы заглядывания вперёд при выборе страйка (перенос dte_target на 8, чтобы страйки округлялись по закрытию четверга, известному до пятничного входа 09:00) и дала чистый бэктест: 202 коротких ног за 101 циклов выходных, доля прибыльных сделок 67.3%, фактор прибыли 1.279, коэффициент Шарпа 1.585 и +2.18% за 732 дней, положительный результат во все три календарных года. Затем аналитик проверки бэктеста обнаружил, что заявленная прибыльность опиралась на ошибку учёта……Показать большеСвернуть

Итерация 3 этой стратегии наконец устранила проблемы заглядывания вперёд при выборе страйка (перенос dte_target на 8, чтобы страйки округлялись по закрытию четверга, известному до пятничного входа 09:00) и дала чистый бэктест: 202 коротких ног за 101 циклов выходных, доля прибыльных сделок 67.3%, фактор прибыли 1.279, коэффициент Шарпа 1.585 и +2.18% за 732 дней, положительный результат во все три календарных года. Затем аналитик проверки бэктеста обнаружил, что заявленная прибыльность опиралась на ошибку учёта комиссии: движок начислял комиссию Deribit 0.03% на премию, а не на номинал базового актива, указав $0.0004 комиссии при $4.94M номинала базового актива и занизив фактическую комиссию примерно на 70x. Пересчёт по фактическим сделкам с комиссиями по тарифу площадки: $2,966 при валовой прибыли $4,355 оставил около 0.35%/год до учёта спреда бид/аск; преимущество на одну ногу в 0.0839% от номинала базового актива оказалось ниже порога 0.10% DERIBIT при затратах всего 1.4x на полный оборот. Запуск остановили на BACKTEST_REVIEW, поэтому до оптимизации, проверки аналитиком и проверки рисков дело не дошло; аналитик отметил и ошибку модели комиссий, и то, что эффект распада стоимости за выходные реален, но слишком мал для конструкции с четырьмя пересечениями.

Гипотеза

Стратегия короткой волатильности MARKET-NEUTRAL, CROSS-VENUE, CALENDAR-GATED на недельных опционах DERIBIT BTC; бары бессрочного контракта BTCUSDT.BINANCE 1-HOUR служат только ориентиром и уровнем стопа. Механизм — NOT сбор премии по VRP/IV-ранговой схеме (это семейство уже используется на ETH/BTC Deribit и явно исключено): несоответствие CALENDAR-TIME и CLOCK-TIME. Временная стоимость биржевых опционов убывает по календарным дням, но реализованная волатильность криптоактивов в субботу и воскресенье заметно ниже……Показать большеСвернуть

Стратегия короткой волатильности MARKET-NEUTRAL, CROSS-VENUE, CALENDAR-GATED на недельных опционах DERIBIT BTC; бары бессрочного контракта BTCUSDT.BINANCE 1-HOUR служат только ориентиром и уровнем стопа. Механизм — NOT сбор премии по VRP/IV-ранговой схеме (это семейство уже используется на ETH/BTC Deribit и явно исключено): несоответствие CALENDAR-TIME и CLOCK-TIME. Временная стоимость биржевых опционов убывает по календарным дням, но реализованная волатильность криптоактивов в субботу и воскресенье заметно ниже (институциональные торговые подразделения, CME, хеджирование TradFi и большая часть спотового объёма отсутствуют). Позиция, удерживаемая SHORT только в виде премии с пятницы по понедельник, приносит тету за два календарных дня в выходные, когда реализованная дисперсия структурно ниже пропорциональной подразумеваемой, а затем всю неделю остаётся вне рынка. Фильтр NO IV, фильтр тренда NO, режимный гейт NO — вход задаётся чистым календарным правилом, поэтому его трудно переоптимизировать. FEE ARITHMETIC: опцион BTC со сроком 7 дней при ~45% IV → сигма спота за 7 дней 6.2%; стренгл ~3%-OTM стоит ~1.4% спота на каждую сторону (~2.8% за пару); удержание в течение 3 из 7 календарных дней расходует ~25-28% стоимости = тета GROSS ~0.70-0.78% номинала базового актива; если реализованная волатильность выходных составит ~0.8x от заложенной в цену, затраты на гамму съедят ~60-65%, оставив EXPECTED NET ~0.25-0.35% за цикл против ~0.12% за полный круг на Deribit (2 ног — открытие и закрытие) = издержки 2.1-2.9x. Страйки около текущей цены базового актива выбраны намеренно: Deribit взимает комиссию с UNDERLYING номинала, поэтому дальние от цены OTM стренглы структурно не покрывают комиссию. ~52 циклов в год, в каталоге 694 BTC экспираций с 2018. DEVELOPER NOTE: создайте таблицу экспирация → страйк ONCE в __init__ и используйте bisect — предыдущая гипотеза по опционам Deribit BTC провалилась из-за тайм-аута песочницы Layer-3 при повторном сканировании цепочки на каждом баре.

Итерация 3 начинается с кода итерации -2 и вносит два точечных изменения; всё, что прошло уровни 1-3 (импорты, структура класса, непрерывный сигнал диапазона, оконная обработка периодов O(1), избегающая известного тайм-аута Deribit по настенным часам, привязанное к календарю расписание с пятницы 09:00 по понедельник 08:00, правило отсутствия тестового пути), сохранено побайтно. (1) THE RESIDUAL LOOK-AHEAD IS REMOVED AT THE SOURCE. Критической ошибкой итерации -1 у QA был вход с заглядыванием в будущее FILTER;……Показать большеСвернуть

Итерация 3 начинается с кода итерации -2 и вносит два точечных изменения; всё, что прошло уровни 1-3 (импорты, структура класса, непрерывный сигнал диапазона, оконная обработка периодов O(1), избегающая известного тайм-аута Deribit по настенным часам, привязанное к календарю расписание с пятницы 09:00 по понедельник 08:00, правило отсутствия тестового пути), сохранено побайтно. (1) THE RESIDUAL LOOK-AHEAD IS REMOVED AT THE SOURCE. Критической ошибкой итерации -1 у QA был вход с заглядыванием в будущее FILTER; итерация 2 удалила фильтр, но оставила загрязнение данных, которое к нему привело. src/data/option_chain.discover_deribit_chain выбирает страйк каждой ноги через _price_at(entry_stamp) по свечам Deribit DAILY, а отметки времени свечей на графике TradingView Deribit имеют метку OPEN; поэтому при dte_target=7 временная метка входа (предыдущая пятница 08:00 UTC) соответствовала свече с отметкой пятницы 00:00, у которой CLOSE — пятница 23:59. Значит, страйк каждой сделки в выборке был привязан к цене, ставшей известной лишь примерно через 15 ч после входа в пятницу 09:00, незаметно центрируя стренгл по цене закрытия пятницы и снижая вероятность убытка от движения рынка во второй половине пятницы. Никакое внутреннее ограничение стратегии не может устранить это. Значение rolling_options.dte_target=8 переносит временную отметку расписания на день назад — на четверг 08:00 UTC; сетка округляется по дневному закрытию четверга, известному с пятницы 00:00, то есть до входа. Во всех заранее зарегистрированных аспектах TRADE не меняется: по-прежнему недельный стренгл около 3%-OTM BTC, открываемый в пятницу 09:00 UTC примерно за 7 DTE (6.96 д), закрываемый в понедельник 08:00 UTC; момент входа определяется собственной проверкой дня недели и часа UTC бара, а задержка от временной отметки теперь составляет 25 ч вместо 1 ч (окно входа теперь отсчитывается от самого момента входа, поэтому две константы больше не связаны). (2) BOTH-LEGS-OR-NEITHER IS NOW ENFORCED AFTER THE FILL, а не только до него. Базовый шаблон может незаметно пропустить вход (dropped_no_market / dropped_entry_inflight), оставив ровно ту короткую опционную позицию без покрытия, которую запрещает собственный инвариант кода; теперь на баре после входа стратегия подсчитывает открытые позиции по ногам и, если активны не все ноги, закрывает оставшиеся и прерывает цикл (учитывается как naked_leg_aborts в сводке on_stop). Поверхность параметров не изменилась: две настраиваемые величины, а _param_bounds задаёт ровно два применяемых кодом ограничения. Примечание для протокола: более ранние edge_concerns от QA о том, что движок начисляет комиссию Deribit 0.03% на премию, а не на номинал базового актива, и что avg_trade_return_pct измеряется по номиналу премии, касаются особенностей измерения инфраструктуры опционов и не могут быть исправлены внутри стратегии — аналитику следует пересчитать доходность за цикл относительно номинала базового актива.

артефакт: total_commission = $0.0004 (commission_pct_of_gross = 0.0) при торговле базовым активом номиналом $4,943,734 — движок начисляет 0.03% Deribit на PREMIUM, а не на UNDERLYING (лимит не срабатывает), занижая реальные расходы примерно на 70x; на этом целиком держится маржа. Пересчёт по фактическим сделкам: комиссия по тарифам биржи $2,966 при валовой прибыли $4,355 оставляет $1,389 чистыми = +0.69% за 732 дней на счёте $200,000 (примерно 0.35% в год), а неучтённый спред опциона между ценами покупки и……Показать большеСвернуть

артефакт: total_commission = $0.0004 (commission_pct_of_gross = 0.0) при торговле базовым активом номиналом $4,943,734 — движок начисляет 0.03% Deribit на PREMIUM, а не на UNDERLYING (лимит не срабатывает), занижая реальные расходы примерно на 70x; на этом целиком держится маржа. Пересчёт по фактическим сделкам: комиссия по тарифам биржи $2,966 при валовой прибыли $4,355 оставляет $1,389 чистыми = +0.69% за 732 дней на счёте $200,000 (примерно 0.35% в год), а неучтённый спред опциона между ценами покупки и продажи (202 ног × 2 пересечений при премии на входе $61,452, около $2.5 тыс. при 2% за пересечение) превращает результат в отрицательный. При сопоставимых комиссиях преимущество на ногу составляет 0.0839% от номинала базового актива против комиссии за полный оборот 0.06% за ногу и минимального порога 0.10% DERIBIT; это соотношение издержек 1.4x, а не зарегистрированное заранее 2.1-2.9x. Оптимизацией это не исправить: notional_pct одинаково масштабирует прибыль и комиссию, поэтому соотношение не зависит от размера позиции, а breach_band_pct лишь сокращает хвостовые риски. Опасения QA насчёт преимущества подтверждены и количественно оценены, а не опровергнуты. Примечание для руководителя исследований: эффект календарного распада за выходные в этой выборке IS реален (среднее +0.084% на ногу, PF 1.28, доля прибыльных сделок 67%, положительный результат в 2024, 2025 и 2026) — просто комиссия за полный оборот составляет примерно 1.4x и уплачивается четыре раза за цикл. Для повторного рассмотрения нужна структура, в которой комиссия Deribit с номинала базового актива уплачивается существенно реже на каждую единицу собранной теты (например, один вход и выход за неделю вместо четырёх пересечений опционного рынка), а не перенастройка этой стратегии. Отдельно стоит исправить движок: комиссию Deribit следует начислять на номинал базового актива с ограничением 12.5% от премии; иначе все гипотезы продажи премии на опционах будут выглядеть прибыльными.

Реализация

Сбор календарной теты на недельных опционах Deribit BTC. Каждую пятницу в 09:00 UTC (через час после еженедельного расчёта, когда уже выставлена и котируется новая ближайшая неделя) стратегия SELLS стренгл ~3%-OTM на недельной экспирации в FOLLOWING пятницу 08:00 UTC: продаёт колл примерно на 3% выше спота и пут примерно на 3% ниже спота, до экспирации около 6.96 дней, — а в понедельник в 08:00 UTC выкупает обе ноги и остаётся вне рынка до конца недели. Нет фильтра IV, гейта IV-ранга, фильтра тренда или режима и……Показать большеСвернуть

Сбор календарной теты на недельных опционах Deribit BTC. Каждую пятницу в 09:00 UTC (через час после еженедельного расчёта, когда уже выставлена и котируется новая ближайшая неделя) стратегия SELLS стренгл ~3%-OTM на недельной экспирации в FOLLOWING пятницу 08:00 UTC: продаёт колл примерно на 3% выше спота и пут примерно на 3% ниже спота, до экспирации около 6.96 дней, — а в понедельник в 08:00 UTC выкупает обе ноги и остаётся вне рынка до конца недели. Нет фильтра IV, гейта IV-ранга, фильтра тренда или режима и фильтра расстояния страйка от цены: вход определяется только днём недели и часом UTC самого бара, и торгуется каждая неделя, расписание которой позволяет сформировать структурно корректный стренгл. Бары бессрочного контракта BTCUSDT.BINANCE 1-HOUR служат часами для сверки между площадками и уровнем стопа, но NEVER не торгуются; единственные торгуемые инструменты — две опционные ноги Deribit, определяемые расширителем цепочки скользящих опционов. Итерация 3 задаёт rolling_options.dte_target равным 8, чтобы расширитель выбирал сетку страйков каждой недели по свече DAILY, цена закрытия которой уже публична BEFORE пятничного входа 09:00 (само время сделки не меняется и привязано к метке UTC бара): последний остаточный взгляд в будущее устранён в источнике. Контроль риска: размер каждой ноги — notional_pct капитала в эквиваленте базового актива; либо открываются обе ноги, либо ни одна, а инвариант проверяется повторно AFTER исполнения, чтобы незаметно пропущенный ордер не оставил непокрытый короткий опцион; если часовое закрытие Binance отклоняется более чем на breach_band_pct от наблюдавшейся цены спота ENTRY, пока позиция открыта, обе ноги немедленно закрываются; резерв до экспирации закрывает всё, что осталось открытым, за 72 ч до расчёта. Два настраиваемых параметра (notional_pct, breach_band_pct) — оба ограничителя, объявленные в _param_bounds.

Результаты верификации

lookback_days=730 ограничивает разрешённую цепочку последними 2 годами вне зависимости от окна бэктеста (около 104 циклов, один режим); окна WF и отложенная выборка целиком лежат внутри этого среза.

Проверка «обе ноги исполнены или ни одна» после исполнения ордера учитывается на первом баре после входа (rec['checked']=True безусловно); если к тому моменту ни одно исполнение ещё не прошло (n_open==0), проверка больше не запускается, поэтому позднее одиночное исполнение может остаться без хеджа.

Единственная защита от хвостового риска у голого короткого стренгла — стоп по диапазону часового закрытия, рассчитанный по бессрочному контракту другой биржи; максимальный убыток за цикл не ограничен breach_band_pct.

_leg_size округляет до 2 знаков после запятой (например, 0.25 BTC), но опционами Deribit BTC торгуют с шагом 0.1 контрактов — размер позиции в бэктесте и реальной торговле расходится.

Экономику нужно пересчитать от номинала UNDERLYING. Движок моделирует опционы Deribit как линейную CurrencyPair USD на барах с премией USD и взимает 0.03% от qty x PREMIUM, тогда как Deribit взимает 0.03% от номинала UNDERLYING (с ограничением 12.5% от премии): для недельного опциона примерно 3%-OTM (премия около 1.4% от спотовой цены) бэктест начисляет примерно 1/70-ю часть комиссии площадки (commission_pct_of_gross = 0.0, total_commission = 0.0004 это подтверждают). avg_trade_return_pct 7.58% составляет процент от номинала PREMIUM; после пересчёта получается около 0.11% от базового актива на ногу и около 0.21% за цикл из 2 ног GROSS против примерно 0.12% за полный оборот по тарифу площадки — чистыми около 0.09% за цикл, то есть 2.5-3x меньше заранее зарегистрированного 0.25-0.35%, ещё до учёта спреда бид/аск опционов (он не моделировался). Форма выплаты ожидаема для короткой волатильности (avg_loss 236 > avg_win 147, max_drawdown 0.73), а в истории цепочки за 730 дней нет шока выходных класса 2020/2021, поэтому левый хвост, вероятно, представлен недостаточно.

Обзор бэктеста

Шарп
1,58
Общая доходность
2,18%
Максимальная просадка
0,73%
Всего сделок
202
Доля прибыльных
67,3%
Профит-фактор
1,28

Код точно реализует заранее зарегистрированный механизм: 101 циклов выходных / 202 коротких ног (101 коллов + 101 путов), входы в пятницу 09:00 UTC; 162 из 202 ног закрыты по календарной метке понедельника 08:00 UTC, остальные — по стопу спотовой полосы. Несоответствия механизма нет.

Эффект календарного распада за выходные заметен, но невелик: в среднем +0.0839% на ногу при номинале UNDERLYING, коэффициент прибыльности 1.28, доля прибыльных сделок 67.3%; результат положительный во всех трёх календарных годах.

Выборка достаточна и надёжна (202 ног, 732 дней), затраты на бар приемлемы (запуск 208с, без тайм-аута).

Учёт комиссий для этой конструкции сломан, и это критично: total_commission = $0.0004, а commission_pct_of_gross = 0.0 при торговле номиналом базового актива $4,943,734. Движок моделирует опционы Deribit как линейную пару USD и взимает 0.03% от PREMIUM; Deribit взимает 0.03% от UNDERLYING за сторону (ограничение 12.5% от премии не действует: фактически $1,483 за сторону против лимита $7,681). Комиссия по тарифу площадки = $2,966.

При валовой прибыли $4,355 эти реальные комиссии забирают 68% преимущества, оставляя $1,389 = +0.69% за два года (примерно 0.35% в год) на счёте $200,000. Спред опционов между ценами покупки и продажи совсем не учитывается; при консервативных 2% премии за пересечение, 202 ногах × 2 пересечениях при премии на входе $61,452 он составляет около $2.5 тыс., то есть больше всего оставшегося чистого дохода. Ожидаемый результат по реальным комиссиям биржи — нулевой или отрицательный.

Показатель на сделку при сопоставимых комиссиях составляет 0.0839% от номинала базового актива против порога DERIBIT в 0.10% и затрат 0.06% на ногу за полный оборот — отношение валовой прибыли к затратам 1.4x против значения, заранее зарегистрированного гипотезой: 2.1-2.9x. Фактический чистый результат на цикл — около 0.048% против обещанных 0.25-0.35%.

Единицы в главном отчёте вводят в заблуждение: total_return 2.1775 — это +2.18% (капитал 200,000 -> 204,355), max_drawdown 0.7338 — это 0.73%, а avg_trade_return_pct 7.58% — процент от номинала PREMIUM, примерно 90x сопоставимого по комиссиям значения. Даже до корректировки комиссии экономический эффект стратегии ничтожен.

Ни один настраиваемый параметр это не исправит. notional_pct одинаково масштабирует прибыль/убыток и комиссию (оба линейны относительно номинала базового актива), поэтому соотношение валовой прибыли к затратам не зависит от размера позиции; breach_band_pct лишь уменьшает хвостовые риски. Нет области параметров, где оптимизация поднимет 0.0839% на ногу выше затрат.

История итераций

Проверка не пройдена (слой 4 — проверка QA) [класс=code_defect]:

Сводка по итогам

Эффект календарного распада за выходные реален в этой выборке, но при любом повторном рассмотрении нужна конструкция, которая реже платит комиссию Deribit от номинала базового актива на единицу собранной теты: четыре опционных пересечения за цикл съедают преимущество такого размера при любых параметрах.

Аналитик проверки бэктеста вернул `abandon` до оптимизации: заявленная комиссия оказалась артефактом — total_commission из $0.0004 при номинале базового актива $4,943,734, поскольку движок начисляет комиссию Deribit 0.03% на премию вместо номинала базового актива. Пересчёт по тарифам площадки: комиссии $2,966 при валовой прибыли $4,355 оставляют $1,389 (около 0.35%/год); немоделированный спред бид/аск опционов (около $2.5 тыс.) делает результат отрицательным, и ни один настраиваемый параметр это не исправит, поскольку notional_pct одинаково масштабирует прибыль/убыток и комиссию.

Используй расхождение календарного и биржевого времени: продавай недельный стрэнгл Deribit примерно на 3%-OTM BTC каждую пятницу в 09:00 UTC и закрывай в понедельник 08:00 UTC. Так ты получишь тету за два календарных дня выходных, когда реализованная волатильность структурно ниже; бары BTCUSDT.BINANCE 1H служат ориентиром и опорой для стопа.

Бэктест охватил 202 коротких опционных ног (101 коллов + 101 путов, 101 циклов выходных) за 732 дней: доля прибыльных сделок 67.3%, фактор прибыли 1.279, коэффициент Шарпа 1.585, заявленная общая доходность 2.1775 (+2.18% на портфеле $200,000). При сопоставимых комиссиях преимущество на ногу составило лишь 0.0839% от номинала базового актива — ниже порога 0.10% DERIBIT и всего 1.4x от затрат 0.06% на ногу за полный оборот, против заранее зарегистрированного 2.1-2.9x.

Stratmill — это инструмент для исследований и бумажной торговли, а не финансовая консультация или брокер. Результаты бэктестов и бумажной торговли являются гипотетическими. Торговля сопряжена с риском убытков.