SolCrossVenueFundingSpreadNeutral4H
Гипотезы
Межбиржевой сбор дифференциала финансирования — дельта-нейтральный SOL: шорт перпетуала с более высоким финансированием / лонг перпетуала с более низким финансированием между BINANCE и HYPERLIQUID, сбор SPREAD финансирования (не направленный carry), со стопом по базису, удержание днями (2-ногами, рыночно-нейтральный, 3-параметрический)
Гипотезы
CROSS-VENUE, MARKET-NEUTRAL стратегия относительной стоимости, которая собирает FUNDING-RATE SPREAD между перпетуалом актива SAME на двух разных биржах — BINANCE USD-M SOLUSDT против HYPERLIQUID SOLUSD. Обе ноги — перпетуалы на один и тот же базовый актив, поэтому позиция по построению дельта-нейтральна: вы NOT не делаете ставку на направление цены и вы NOT не занимаетесь однонаправленным carry на финансировании (механизм, который приносил убытки в заброшенной стратегии 'SOL Persistent-Funding Contrarian Swing'). ONLY источник PnL — это дифференциал финансирования: вы SHORT шортите ту площадку, где финансирование более положительное (шорты там получают финансирование), и одновременно открываете LONG-равный номинал на площадке с более низким/отрицательным финансированием (лонги получают, либо платят меньше). Поскольку обе ноги отслеживают один и тот же базовый актив, направленный ценовой PnL сводится к ~0; остаточная дисперсия — это лишь небольшой, возвращающийся к среднему BASIS (разрыв цены между двумя площадками), который ограничивается жёстким стопом по базису. Это межбиржевой арбитраж финансирования (гибрид межбиржевого паттерна #3 с #2), структурно недоисследованное, снисходительное к комиссиям преимущество — оно захватывает механически выплачиваемый денежный поток, а не борется с трением. Выбрано потому, что портфелю не хватает межбиржевой экспозиции (7.4% против целевого 15%) и лонг-шорт/рыночно-нейтральной экспозиции (14.2%), а также потому, что данные по финансированию для BOTH Binance и Hyperliquid SOL существуют в каталоге с многолетней историей с разрешением дневной/4ч (HL дневной/4ч не ограничен по истории). SOL выбран из-за значимой межбиржевой дисперсии финансирования (альткоин с более высокой бетой), оставаясь при этом высоколиквидным на обеих площадках. Всего 3 свободных параметра(ов) (порог входа по спреду, порог выхода по спреду, стоп по базису), чтобы противостоять переобучению, которое здесь является убийцей #1.
Гипотезы
Итерация 2 исправляет QA hypothesis_mismatch (таймфрейм): часы дискретизации теперь зафиксированы на барах 4-HOUR на обеих ногах BOTH, что соответствует заявленному в гипотезе 'разрешению дневной/4ч' и удержаниям длиной в дни, собственному названию этого класса, а также интервалу, в котором калиброван каждый параметр, выраженный в барах (spread_smooth_bars 24 x 4H = 4 дней); 4H также является точным делителем расчёта финансирования Binance 8ч, поэтому ни один расчёт не пересекается. Никакой односторонней передискретизации на другой таймфрейм. Проверено, что обе ноги существуют в каталоге на 4H (SOLUSDT.BINANCE-4-HOUR и SOLUSD.HYPERLIQUID-4-HOUR, история HL с 2024-01), поэтому шлюз данных по нескольким ногам не может прервать прогон. Логика сигнала/входа/выхода, импорты и структура не изменились по сравнению с previous_code (более ранние слои остались зелёными); единственное другое изменение — объявление ограничения spread_smooth_bars [6, 48] в _param_bounds, чтобы оптимизатор никогда не искал значения, которые код молча переписывает. Примечание для протокола: текст отзыва QA цитировал случай недельный-против-дневного ETHUSDT, который не соответствует данной паре SOL межбиржевой торговли, поэтому я применил общее правило согласования таймфрейма, а не буквальные детали ETH. Равный номинал USD на обеих ногах удерживает чистую дельту ~0 согласно уроку L59; плечо остаётся 1.0 и не используется при определении размера позиции.
Гипотезы
Сбор дифференциала финансирования с отрицательным ожиданием на надёжной выборке из 20 сделок. Денежные потоки финансирования ARE зачисляются текущим движком (согласно изменению 2026-06-10), поэтому это честный тест механизма — и с учётом финансирования дифференциал Binance-против-Hyperliquid SOL всё равно не покрывает ~0.19% стоимости двухногого цикла: avg_trade_return_pct -0.03955% (отрицательное, ниже порога 0.15%), profit_factor 0.989, total_return -0.33%, Sharpe -0.035. Дифференциал (~8.6% APR = 0.024%/день) слишком тонок, чтобы перекрыть издержки при наблюдаемой продолжительности удержания, а impact_cost_pct 259.9% / capacity_usd ~$14.8K делают преимущество лишь игрушечного масштаба. Оптимизация не может поднять преимущество на сделку, которое находится ниже торговых издержек; это классическая сигнатура fee_edge / отрицательного ожидания, и итерации порогов никогда не спасали её.
Реализация
Дельта-нейтральная межбиржевая пара перпетуалов SOL на барах 4-HOUR: переводит финансирование Binance USD-M (за -8ч) и Hyperliquid (за -1ч) в годовой процент, вычисляет разницу между ними, сглаживает EMA по 24 барам (4 дней), и когда |спред| >= 8% APR, открывает шорт по площадке с более высоким финансированием, одновременно открывая лонг с равным номиналом USD на более дешёвой площадке. Единственный источник PnL — дифференциал финансирования; направленный ценовой PnL нейтрализуется. Позиция удерживается через распад спреда (разворот стоит полного цикла 0.19% и ничего не зарабатывает при плоском рынке) и оборачивается только тогда, когда сглаженный спред инвертируется за полосу разворота 5% APR, либо по стопу базиса 2.5% / лимиту календарного удержания в 45 дней. Уходит в плоскую позицию, если ряд финансирования одной из площадок отсутствует -- запасного варианта только по цене нет.
Результаты верификации
[архивировано 2026-09-05] Отзыв Слоя-4, ранее хранившийся здесь, представлял собой рецензию QA на стратегию DIFFERENT (ETHUSDT.BINANCE рецензия тренда недельный-против-дневного (данный прогон — это SOL сбор межбиржевого финансирования)), доставленную в этот прогон из-за бага общей сессии/общего outbox, исправленного в fbae0041 (изоляция по вызову + привязка call_id). Он был перемещён в metadata.foreign_feedback_archive и должен быть проигнорирован; следующая рецензия QA этого прогона является авторитетной.
Результаты верификации
Аналитику: подтвердить, что денежные потоки финансирования применяются к обеим ногам в движке бэктестинга, затем повторно проверить carry по сделке за вычетом комиссий при оптимизированных порогах входа/выхода.
Результаты верификации
avg_trade_return_pct в песочнице (0.1135%) находится чуть ниже минимального порога комиссий фьючерсов 0.15%, а PF составляет 1.01 — дифференциал финансирования представляет собой тонкий, медленный денежный поток, и жизнеспособность полностью зависит от того, зачисляется ли финансирование в PnL, и от того, накапливает ли многодневное удержание достаточный carry, чтобы превысить стоимость полного цикла 0.19%. Информационно; жизнеспособность определяют полный бэктест и оптимизатор.
Результаты верификации
Песочница по сути безубыточна: total_return +0.167% за 2181 дней, avg_trade_return_pct 0.1135% (ниже порога фьючерсов 0.15%), profit_factor 1.013, win_rate 0.50 всего по 22 сделкам. Это неоптимизированный дымовой тест, поэтому он не является блокирующим, но аналитику стоит проверить на полной истории данных два момента: (1) действительно ли бэктест NautilusTrader учитывает денежные потоки по FUNDING на бессрочных фьючерсах по обеим ногам — фандинг является ENTIRE источником PnL этой стратегии, и если фандинг не применяется, измеренная доходность представляет собой лишь базисный шум за вычетом комиссий; (2) жизнеспособность по комиссиям/керри при реальных порогах — разница (~8.6% APR ≈ 0.024%/день) требует ~8 дней с корректным позиционированием, чтобы покрыть 0.19% круговую сделку по двум ногам, поэтому edge по каждой сделке невелик и зависит от длительности удержания позиции (наблюдаемая средняя продолжительность удержания ~29д). Также стоит отметить impact_cost_pct 44.9% / вместимость ~$495K при per_leg_pct 0.50 (150% валовой экспозиции) — реальный потолок вместимости, хотя и разовый, на входе/выходе книги с низким оборотом из ~22 сделок.
Обзор бэктеста
Механизм реализован точно и по построению является рыночно-нейтральным (двухногая пара перпетуалов SOL с равным номиналом, сигнал спреда финансирования, защита от непокрытой ноги, стоп по базису).
Обзор бэктеста
Денежные потоки финансирования ARE зачисляются текущим движком, поэтому это честный тест преимущества по дифференциалу финансирования — а не структурный блок невозможности бэктестинга.
Обзор бэктеста
Всего 3 ключевых параметра(ов); низкая степень свободы исследователя.
Обзор бэктеста
Отрицательное ожидание на надёжной выборке: total_return -0.33%, avg_trade_return_pct -0.03955% (отрицательное, ниже минимального порога фьючерсов 0.15%), profit_factor 0.989, Sharpe -0.035 на 20 сделках. Финансирование зачисляется, поэтому дифференциал просто не покрывает ~0.19% стоимости двухногого цикла (round-trip).
Обзор бэктеста
Преимущество структурно тонкое и зависит от срока удержания: дифференциал ~8.6% APR (0.024%/день) требует ~8 правильно позиционированных дней просто для выхода в ноль; реализованный результат подтверждает, что этого не происходит.
Обзор бэктеста
Потолок вместимости имеет игрушечный масштаб: impact_cost_pct 259.9% и capacity_usd ~$14.8K означают, что фантомное преимущество существует только при тривиальном размере.
Обзор бэктеста
Нога Hyperliquid существует только начиная с 2024-01-25, поэтому эффективное окно тестирования составляет ~1.6 лет / 20 сделок независимо от основного диапазона в 6 лет.
Iteration History
Проверка не пройдена (Слой 2 — синтетические сценарии):
Использованные параметры: ['per_leg_pct', 'min_notional', '_param_bounds', 'max_hold_days', 'min_hold_hours', 'exit_spread_apr', 'enter_spread_apr', 'max_basis_stop_pct', 'spread_smooth_bars']
Проверьте, что __init__ устанавливает все атрибуты из self.parameters.get().
- steady_uptrend: TypeError: SolCrossVenueFundingSpreadNeutral4H._lookup() принимает 4 позиционных аргумента(ов), но было передано 5 (временная метка бара: 1735690740000)
- steady_downtrend: TypeError: SolCrossVenueFundingSpreadNeutral4H._lookup() принимает 4 позиционных аргумента(ов), но было передано 5 (временная метка бара: 1735690740000)
- flat_ranging: TypeError: SolCrossVenueFundingSpreadNeutral4H._lookup() принимает 4 позиционных аргумента(ов), но было передано 5 (временная метка бара: 1735690740000)
- volatility_spike: TypeError: SolCrossVenueFundingSpreadNeutral4H._lookup() принимает 4 позиционных аргумента(ов), но было передано 5 (временная метка бара: 1735690740000)
- zero_volume: TypeError: SolCrossVenueFundingSpreadNeutral4H._lookup() принимает 4 позиционных аргумента(ов), но было передано 5 (временная метка бара: 1735690740000)
- price_gap: TypeError: SolCrossVenueFundingSpreadNeutral4H._lookup() принимает 4 позиционных аргумента(ов), но было передано 5 (временная метка бара: 1735690740000)
Iteration History
Проверка не пройдена (Слой 4 — рецензия QA):
- Жизнеспособность по комиссиям/преимуществу решительно проваливается по результату движка ACTUAL (чек-лист #7, L6/L26). Песочница показывает убыточную книгу: total_return -2.17%, profit_factor 0.957 (<1.0), Sharpe -0.35, ожидание -$45/сделку, и avg_trade_return_pct -0.0033% — NEGATIVE и примерно на 45x ниже минимального порога фьючерсов 0.15%. На измеримой выборке (82 сделок, metrics_reliable: true), так что это подлинный результат отсутствия преимущества. Финансирование WAS зачисляется (2580 событий), поэтому даже при полной выплате дифференциала стратегия не покрывает ~0.19% стоимости полного цикла (round-trip).
- Основная гипотеза — 'направленный ценовой PnL сводится к ~0; остаточная дисперсия — это лишь небольшой, возвращающийся к среднему базис' — NOT тому, что произвёл движок. PnL по сделкам определяется огромными симметричными колебаниями: avg_win $2,009 ~= avg_loss $2,099, максимум ±$9,600-9,959, win_rate 0.50. По-настоящему дельта-нейтральный сбор спреда финансирования должен давать PnL на порядок меньше и со смещением в положительную сторону за счёт carry; вместо этого дифференциал (нетто -$45/сделку) подавляется примерно в 45:1 раз шумом базиса/цены. Идентичная сигнатура с заброшенной EthCrossVenueCashAndCarry и предыдущими вариантами межбиржевого захвата финансирования.
Iteration History
Проверка не пройдена (Слой 4 — рецензия QA) [class=hypothesis_mismatch]:
- [edge_concern] Не является причиной вердикта, зафиксировано для аналитика на случай повторной регистрации гипотезы: на дневном таймфрейме песочница честна и здорова (metrics_reliable=TRUE, 92 сделок, Sharpe 0.79 CI [0.10,1.51], avg_trade_return_pct 3.61%, PF 1.48), но regime_performance показывает, что ALL положительной доходности сконцентрировано в 'нормальном' терциле волатильности (+489%, Sharpe 2.64), при этом терцили 'спокойный' (-18.8%) и 'стрессовый' (-21.8%, 56.7% DD) оба отрицательны, и only_one_regime=true. Максимальная просадка 36% при продолжительности нахождения под водой 1038 дней. Преимущество реально, но сконцентрировано в определённом режиме и сопряжено с тяжёлыми просадками; размер/устойчивость заслуживают тщательной проверки на полном бэктесте.
- TIMEFRAME MISMATCH по сравнению с предварительно зарегистрированной гипотезой. Гипотеза, зафиксированная в реестре (заголовок и описание в этом брифе), однозначно и многократно указывает бары WEEKLY ('на барах WEEKLY, удержание позиций от недель до месяцев'), но config.bar_type равен ETHUSDT.BINANCE-1-DAY-LAST-EXTERNAL. Это не косметическая передискретизация: она меняет количество сделок (28 недельных -> 92 дневных), среднее удержание (10.4 недель -> 3 недель) и весь статистический тест целиком. Собственная докстрока модуля разработчика признаёт, что итерация 3 уже делала этот же переход на дневной таймфрейм, и QA 'была права, отклонив это: это была переформулировка гипотезы, выполненная в коде в одностороннем порядке.' Ситуация по существу не изменилась: гипотеза в реестре по-прежнему говорит о недельном таймфрейме, так что это снова односторонняя переформулировка таймфрейма в коде. Слой 1.5 проверяет только инструмент/площадку, а не таймфрейм, поэтому данная проверка возлагается на QA, а таймфрейм, указанный в гипотезе и отличающийся от config.bar_type, представляет собой критическое несоответствие. Это в точности та степень свободы исследователя, для предотвращения которой существует система предварительной регистрации фабрики: недельная форма оказалась неизмеримой, после чего таймфрейм дискретизации был изменён, чтобы искусственно создать измеримость.
Stratmill — это инструмент для исследований и бумажной торговли, а не финансовая консультация или брокер. Результаты бэктестов и бумажной торговли являются гипотетическими. Торговля сопряжена с риском убытков.