Стратегии
Бэктест стратегии: сбор премии за риск дисперсии на недельных опционах Deribit BTC — короткий стрэддл ATM с хеджированием дельты при повышенном ранге IV: продавать новый недельный стрэддл ATM в каждом цикле экспирации ONLY, когда волатильность за 1 недель IV торгуется выше исторической реализованной волатильности; ежедневно корректировать дельту бессрочным контрактом и удерживать до экспирации (DERIBIT опционы + хедж бессрочным контрактом BINANCE, нейтральная к рынку волатильность, 2 параметров)
Итог: Отменено
BtcDeribitIvRichGatedWeeklyStraddleBinancePerpHedge
Сводка по итогам
Эта стратегия сменила направление с переноса funding на опционы. Она продавала недельные стрэддлы BTC ATM с фильтром завышенной волатильности IV на Deribit и сохраняла нейтральную по дельте позицию с помощью ежедневного хеджирования бессрочным контрактом Binance, стремясь получить тету сверх затрат на реализованную гамму. За 4 итераций были исправлены ошибка в единицах опционной премии и конфликт имён классов, но стратегия так и не прошла проверку уровня 3. Разрешение исторической недельной цепочки создало 687 типов баров и около 1.65 млн баров, которые песочница с лимитом 1800с не могла загрузить вовремя. Поэтому запуск прекратили до бэктеста, оптимизации и проверки аналитиком.
Гипотеза
verification_loop: Проверка не пройдена (уровень 3 — бэктест в песочнице): дымовой тест должен был загрузить около 1,648,800 баров по 687 типам баров (период с 2020-03-15). Уровень 3 не может выполнить это в пределах лимита 1800с, поэтому обработка этих данных не завершится; это ограничение размера стратегии, а не сбой инфраструктуры. Сократите объём данных: уменьшите число позиций, возьмите более крупный таймфрейм или используйте по одному типу баров на инструмент, выводя из него более медленные таймфреймы.
Реализация
В каждом недельном цикле продаётся стрэддл Deribit BTC ATM (короткий колл ATM и короткий пут ATM с одинаковыми страйком и экспирацией), но только когда собственный инвертированный 1-недельный показатель IV стрэддла не меньше исторической реализованной волатильности за 10 дней, умноженной на vrp_ratio. Если это условие инверсии не выполнено, используется запасное значение DVOL 30d; если подразумеваемую волатильность считать не удаётся, цикл пропускается. Дельта стрэддла хеджируется раз в день бессрочным контрактом BTCUSDT.BINANCE; hedge_band — допустимое отклонение перед повторным хеджированием. Позиция закрывается за 24ч до экспирации, одновременно закрывается и хедж. Ордера исполняются по цене закрытия сигнального бара, которая на рынке 24/7 соответствует открытию следующего бара.
Реализует гипотезу 07149f04: собирает премию за риск дисперсии с помощью короткого недельного стрэддла ATM с хеджированием дельты. Используется базовый класс RollingOptionsStrategy, который разрешает недельную цепочку и не переключается на торговлю только базовым активом. Вход разрешён, когда IV выше RV (параметр 1: vrp_ratio); дельта ежедневно хеджируется бессрочным контрактом BINANCE (параметр 2: hedge_band). Изменение итерации: единственной проблемой было то, что имя класса уже использовалось стратегией другой гипотезы, поэтому класс переименован в BtcDeribitIvRichGatedWeeklyStraddleBinancePerpHedge. Логика торговли не изменилась по сравнению с предыдущей итерацией; сохранено и исправление, учитывающее, что цены опционов уже хранятся в USD. Контроль риска — вариант (b): выход по времени (запланированное закрытие перед экспирацией), номинал каждой позиции ограничен 20% капитала, плечо — 1.0.
Результаты верификации
Проверка не пройдена (уровень 3 — бэктест в песочнице): дымовой тест должен был загрузить около 1,648,800 баров по 687 типам баров (период с 2020-03-15). Уровень 3 не может выполнить это в пределах лимита 1800с, поэтому обработка этих данных не завершится; это ограничение размера стратегии, а не сбой инфраструктуры. Сократите объём данных: уменьшите число опционных ног, возьмите более крупный таймфрейм или используйте по одному типу баров на инструмент, выводя из него более медленные таймфреймы.
История итераций
Проверка не пройдена (уровень 3 — бэктест в песочнице): дымовой тест превысил лимит времени 300с. Почти всегда это означает, что работа на каждом баре масштабируется с историей — например, повторное сканирование всей серии funding/дополнительных данных или пересоздание списка и вызов min()/sorted() внутри calculate_signal()/on_bar() на каждом баре. Предварительно вычислите отсортированные массивы временных меток ONCE в __init__ и используйте bisect либо кэшируйте запросы по временной метке, чтобы стоимость обработки бара была O(log n), а не O(n).
Проверка не пройдена (уровень 3 — бэктест в песочнице): сделок не открыто Использованный тип баров: BTCUSDT.BINANCE-1-DAY-LAST-EXTERNAL, обработано баров: 2398 Диагностика: calculate_signal() не вызывался (0 обработанных баров) → основной бар не дошёл до пути генерации сигнала базового шаблона → если переопределяете on_bar(), вызовите super().on_bar(bar); проверьте соответствие bar_type данным инструмента. Не ослабляйте пороги входа NOT: логика входа не запускалась. Убедитесь, что стратегия открывает сделки с указанными данными и параметрами.
Проверка не пройдена (уровень 1.5 — соответствие гипотезы и конфигурации) [класс=hypothesis_mismatch]: - config.instrument_id имеет значение BTC-PERPETUAL.DERIBIT, но в гипотезе объявлен BTCUSDT.BINANCE — актив тот же, однако площадка/тип контракта DIFFERENT различаются (комиссии, расчёты и предпосылка механизма отличаются). Торгуйте заявленным инструментом.
Сводка по итогам
Стратегии с роллированием опционов, загружающие всю историческую недельную цепочку, создают сотни типов баров и превышают лимит размера песочницы. Поэтому до проверки преимущества нужно сократить объём загружаемых данных: уменьшить число опционных ног, взять более крупные таймфреймы или использовать по одному типу баров на инструмент.
Проверка уровня 3 (бэктест в песочнице) неоднократно завершалась неудачей. Дымовой тест должен был загрузить около 1,648,800 баров по 687 типам баров за период с 2020-03-15; завершить обработку в пределах лимита 1800с невозможно. Поэтому после 4 итераций запуск прекратили, оставшись в цикле проверок.
Получать премию за риск дисперсии BTC, продавая недельный стрэддл Deribit ATM только тогда, когда подразумеваемая волатильность за 1 недель торговалась выше исторической реализованной волатильности; ежедневно хеджировать дельту бессрочным контрактом Binance BTCUSDT и удерживать до экспирации (2 параметров: vrp_ratio и hedge_band).
Данных о результатах нет: отчёт бэктеста пуст, оптимизация не запускалась, поэтому отсутствуют доходность, коэффициент Шарпа и число сделок.
Stratmill — это инструмент для исследований и бумажной торговли, а не финансовая консультация или брокер. Результаты бэктестов и бумажной торговли являются гипотетическими. Торговля сопряжена с риском убытков.