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

Стратегии

COIN-M BTC Перенос при отрицательном финансировании, только лонг, одна позиция (BINANCE_CM инверсный бессрочный контракт BTCUSD_PERP, сбор выплат лонгам в эпизоды бэквордации, удержание несколько дней, доходность в BTC, 3 параметр)

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

BtcCoinMNegativeFundingCarryLong

COIN-M BTC Перенос при отрицательном финансировании, только лонг, одна позиция (BINANCE_CM инверсный бессрочный контракт BTCUSD_PERP, сбор выплат лонгам в эпизоды бэквордации, удержание несколько дней, доходность в…

Гипотеза

Стратегия LONG-ONLY с одной ногой CARRY на самом ликвидном инверсном бессрочном контракте с маржой в монете BTCUSD_PERP.BINANCE_CM. По сути механизм идентичен уже работающим стратегиям «5-Asset Negative-Funding Carry Basket» (коэффициент Шарпа 1.97) и «Cross-Venue BTC Funding Carry» (коэффициент Шарпа 8.58): сбор реального денежного потока, выплачиваемого по механическим правилам. Но здесь он применяется на действительно недостаточно представленном рынке (BINANCE_CM составляет лишь 3.0% портфеля при целевой доле……Показать большеСвернуть

Стратегия LONG-ONLY с одной ногой CARRY на самом ликвидном инверсном бессрочном контракте с маржой в монете BTCUSD_PERP.BINANCE_CM. По сути механизм идентичен уже работающим стратегиям «5-Asset Negative-Funding Carry Basket» (коэффициент Шарпа 1.97) и «Cross-Venue BTC Funding Carry» (коэффициент Шарпа 8.58): сбор реального денежного потока, выплачиваемого по механическим правилам. Но здесь он применяется на действительно недостаточно представленном рынке (BINANCE_CM составляет лишь 3.0% портфеля при целевой доле не менее 5%) и номинирован в BTC — именно поэтому существует площадка COIN-M. На инверсном бессрочном контракте, когда ставка финансирования за 8 ч отрицательна (NEGATIVE), шорты платят лонгам, поэтому держать длинную позицию PAID. В периоды ухода от риска и бэквордации по BTC ставка финансирования по контракту с маржой в монете надолго становится отрицательной, на отрезки по 1-3 дней. В такие периоды мы держим одну длинную позицию BTCUSD_PERP, чтобы получать выплаты по финансированию, и используем стоп ATR, ограничивающий направленный риск длинной позиции по одному активу. Ставка финансирования используется строго как CARRY (денежный поток для сбора), а не NOT в качестве предиктора направления. Это позволяет намеренно избежать исчерпавшего себя класса стратегий «ставка финансирования как сигнал на крупнейших активах» (L13). BTC CM — самый ликвидный инверсный бессрочный контракт, поэтому история его ставок финансирования IS каталогизирована (это исключает L20, характерную только для малоликвидных мультиактивных корзин CM). Параметры намеренно 3, а частота сделок низкая — это помогает противостоять переобучению, которое погубило 229 предыдущих гипотез.

Итерация 2 устраняет описанный сбой Layer-3 с нулём сделок двумя небольшими целевыми изменениями, не затрагивая ничего другого. ROOT CAUSE: в _build_funding ключи отсеивались условием 'if not isinstance(k, int): continue'. Словарь финансирования содержит парные ключи типов int и str только IN-PROCESS — дополнительный блок данных JSON передаётся в процесс бэктеста с сохранением и повторной загрузкой, после чего остаются только ключи типа STRING (описано в data_specification и подтверждено этапом нормализации……Показать большеСвернуть

Итерация 2 устраняет описанный сбой Layer-3 с нулём сделок двумя небольшими целевыми изменениями, не затрагивая ничего другого. ROOT CAUSE: в _build_funding ключи отсеивались условием 'if not isinstance(k, int): continue'. Словарь финансирования содержит парные ключи типов int и str только IN-PROCESS — дополнительный блок данных JSON передаётся в процесс бэктеста с сохранением и повторной загрузкой, после чего остаются только ключи типа STRING (описано в data_specification и подтверждено этапом нормализации json.loads(json.dumps(...)) в supp_collector). Поэтому ряд разбирался как пустой, _fund_ready оставался False, _data_ok так и не становился True, а should_enter возвращал None на всех 6,365 проверенных барах — ровно как сообщала диагностика. Исправление преобразует ключи BOTH в целые числа через int(k) внутри try и удаляет дубликаты по временной метке; это корректно при обоих форматах данных. SECOND, следуя указанию «ослабить порог входа», я измерил фактический ряд финансирования BTCUSD_PERP COIN-M (1,034 расчётных периодов): среднее по 3 наблюдениям обеспечивает выплату лонгам не менее 0.5 б.п. за 8 ч лишь в 24 отдельных эпизодах, тогда как при пороге 0.25 б.п. таких эпизодов 42. Поэтому порог по умолчанию entry_rate_bps снижается с 0.5 до 0.25, при этом по-прежнему требуется настоящая бэквордация — строго выше нуля, а выход остаётся на нуле для гистерезиса. Больше ничего не изменилось: импорты, структура класса, непрерывная оценка керри на каждом баре, политика отсутствия ценового прокси при нехватке данных, выходы и размер позиции по обратному контракту остались такими же, как при прохождении Layers 1, 1.5 и 2, поэтому прежние проверки не могут дать сбой. Важное замечание для аналитика: история финансирования COIN-M начинается в 2025-05-25, поэтому сделки могут возникать только за последний примерно 1 год окна 8H — около 40 эпизодов керри. На более ранних барах сигналов обоснованно нет, это не сбой.

data_unavailable: не удалось собрать данные бэктеста для BTCUSD_PERP.BINANCE_CM после 5 попыток: сбор данных для BTCUSD_PERP.BINANCE_CM превысил бюджет 600 секунд на цикл; продолжение в следующем цикле Сбор данных, а не стратегия, блокирует работу — вернитесь к этой гипотезе, когда сбор данных будет исправлен или символ будет дополнен историческими данными.

Реализация

Лонговый перенос при отрицательном финансировании на инверсном бессрочном контракте BTC COIN-M (BTCUSD_PERP.BINANCE_CM, бары по 8 часов, выровненные 1:1 по циклу финансирования). На инверсном бессрочном контракте ставка финансирования NEGATIVE означает, что шорты платят лонгам, поэтому лонг получает плату за удержание. На каждом баре стратегия рассчитывает показатель переноса — минус среднее последних 3 выплат финансирования, в базисных пунктах за 8 часов — и открывает позицию LONG, если показатель не ниже 0.25……Показать большеСвернуть

Лонговый перенос при отрицательном финансировании на инверсном бессрочном контракте BTC COIN-M (BTCUSD_PERP.BINANCE_CM, бары по 8 часов, выровненные 1:1 по циклу финансирования). На инверсном бессрочном контракте ставка финансирования NEGATIVE означает, что шорты платят лонгам, поэтому лонг получает плату за удержание. На каждом баре стратегия рассчитывает показатель переноса — минус среднее последних 3 выплат финансирования, в базисных пунктах за 8 часов — и открывает позицию LONG, если показатель не ниже 0.25 базисных пунктов (реальный эпизод бэквордации), удерживая её до конца эпизода, чтобы получить каждую выплату. Выход происходит, когда перенос исчерпан (показатель возвращается к нулю), данные о финансировании потеряны или устарели либо срабатывает направленный стоп 3x ATR, ограничивающий риск лонга в одном активе. Финансирование используется только как денежный поток для получения, никогда — как предиктор направления. При расчёте размера позиции риск стопа ATR ограничен 1.5% капитала, валовой номинал — 0.75x капитала, а размер округляется вниз до WHOLE инверсных контрактов номиналом $100 через contracts_for_notional.

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

CLEAN RESTART 2026-09-04 — история вердиктов и записи обучения этого запуска удалены, после чего он был перезапущен с этапа проверки. Прежнее прекращение работы было вызвано конвейером, а не рынком: тестовый стенд Layer-2 неверно привязывал вспомогательные методы @staticmethod (исправлено), QA выносил окончательные вердикты о результативности по неоптимизированному дымовому тесту (удалено — теперь QA оценивает только корректность), а тайм-ауты песочницы были вызваны нехваткой слотов для бэктеста (исправлено). Гипотеза и код стратегии не изменились. Оцени код по существу; результативность позднее определят полный бэктест и оптимизатор.

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

Проверка не пройдена (Layer 3 — бэктест в песочнице): сделок нет Использованный тип бара: BTCUSD_PERP.BINANCE_CM-8-HOUR-LAST-EXTERNAL, обработано баров: 6384 Диагностика: should_enter() возвращал сторону 0 раз за 6365 проверенных баров -> ваша ENTRY CONDITION так и не сработала. Ослабьте логику или пороги входа. Убедитесь, что стратегия совершает сделки с предоставленными данными и параметрами.

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