Skip to content

View original

CoinMNegativeFundingCarryBasketLong

Hypotheses

Binance COIN-M Inverse Perp Negative-Funding Carry Basket — Long-Only, Multi-Asset, Harvest the Miner-Hedge Short Pressure That Keeps Coin-Margined Funding Persistently Negative (4H Bars, 0.06% RT Venue, 3-Parameter)

Hypotheses

A LONG-ONLY, MULTI-INSTRUMENT funding-carry basket on BINANCE_CM (COIN-M inverse perpetuals) — the single most under-explored venue in the book at 2.8% of 1458 experiments against a >=5% quota, with only 41 lifetime attempts. It is a direct transplant of the factory's PROMOTED carry mechanism ('5-Asset Crypto Majors 4H Negative-Funding-Rate Long-Only Carry Basket', Sharpe 1.97, at paper) onto a venue where the same edge is STRUCTURALLY LARGER and CHEAPER to harvest. Why COIN-M specifically: coin-margined perps are the natural hedging instrument for miners, long-term holders, and BTC/ETH-denominated treasuries, who systematically SHORT them to hedge coin inventory without selling spot. That persistent one-sided short pressure pushes COIN-M funding negative more often and more deeply than the equivalent USD-M contract — and when funding is negative, LONGS ARE PAID. On top of that, COIN-M round-trip taker cost is ~0.06% versus ~0.10% on USD-M, a 40% cost reduction that directly widens the carry margin on a strategy whose entire PnL is a small recurring cash flow. Mechanism: at each 4H close, for every basket member whose current funding rate is sufficiently negative, hold an equal-weight LONG inverse perp and collect funding every 8h; exit when the carry decays. Universe anchors on the two deepest-history COIN-M contracts (BTCUSD_PERP, ETHUSD_PERP) plus liquid alt perps (SOLUSD_PERP, XRPUSD_PERP, BNBUSD_PERP, DOGEUSD_PERP) — ALL current perpetuals, never a bare index name and never an expired dated quarterly. Only 3 tuned parameters (entry_funding, exit_funding, max_positions) to hold down the best-of-N selection inflation that killed 202 prior hypotheses via overfit. No liquidation feed (avoids L3), no options legs (avoids L2), and strictly SINGLE-VENUE so it is not a two-legged cross-margin carry (avoids L1's most reliable fee_edge death entirely — there is one leg, two fills, ~6bps total).

Hypotheses

Implements the hypothesis as specified: single-venue COIN-M, long-only, multi-asset, equal-weight, three tuned parameters (entry_funding, exit_funding, max_positions) with clamps mirrored in _param_bounds; no liquidation feed, no options legs, no second venue. calculate_signal returns the primary leg's funding rate as a CONTINUOUS value in natural units (decimal per 8h) every bar, and should_enter/should_exit threshold it in the same units — no gated constant. All six legs' data was verified present before coding: 4-HOUR bars exist in the catalog for all six perps with a common overlap from 2021-09 onward, and per-symbol COIN-M funding parquet exists for all six under data/supplementary/coinm_funding (the loader has a dedicated BINANCE_CM branch, and funding accrual credits inverse legs using each contract's face), so this is not a data_unavailable/L4 multi-leg trap. Sizing goes through a per-leg inverse-contract helper reading each instrument's own multiplier (extra legs cannot use the primary-only contracts_for_notional), keeping every order far above min notional. Honest caveat, stated once as required: on the ~1 year of COIN-M funding history actually collected (2025-05-25 to 2026-05-04) the mean rate is POSITIVE (~+0.000033) and only 23-34% of prints are negative per symbol, so the 'persistently negative miner-hedge funding' premise is weaker than the hypothesis assumes, and with COIN-M round-trip taker at ~0.10% (venue_configs, not the 0.06% quoted) a 0.01%-per-8h carry needs a multi-day hold to clear costs — the entry threshold defaults to a deep -0.01% and the exit is slightly positive so positions are not churned on a single print. Implemented as asked regardless; the analyst owns that call. Long-only with leverage 1.0 and gross exposure 0.9 means no margin amplification and no short/liquidation path.

Hypotheses

verifying_stuck_3_timeouts

Implementation

Long-only funding-carry basket across six Binance COIN-M inverse perpetuals (BTCUSD_PERP primary plus ETH/SOL/XRP/BNB/DOGE USD_PERP, all 4-HOUR bars, single venue, one leg per asset). At each 4H close it reads every leg's OWN 8h funding print from supplementary_data['funding_rates_by_instrument'] (flat 'funding_rates' as the primary's fallback, 8h staleness tolerance). Because a positive funding rate means longs pay shorts, a NEGATIVE rate pays the long: the strategy enters equal-weight LONGs on the flat legs whose funding is at or below entry_funding (-0.01% per 8h by default), most-negative first, up to max_positions (4) concurrent legs, then simply holds and collects funding every 8h until the carry decays back to exit_funding (+0.002%), at which point the leg is closed. A leg whose funding series is missing or stale is closed and never traded — there is no price-based fallback signal, so the strategy goes flat rather than silently switching edge mechanism. Every leg is sized as WHOLE inverse contracts of fixed USD face ($100 BTC, $10 alts) at equity x 0.9 / max_positions of notional each (~$22.5k, i.e. 225 BTC contracts / 2250 alt contracts), never the linear equity/price formula that mis-sizes inverse contracts.

Verification Results

CLEAN RESTART 2026-09-04 — this run's verdict history and learning records were removed and it was restarted from verification. Its previous abandonment came from the pipeline, not from the market: the Layer-2 harness mis-bound @staticmethod helpers (fixed), QA issued terminal performance verdicts on an unoptimized smoke test (removed — QA now judges correctness only), and sandbox timeouts came from backtest-slot starvation (fixed). The hypothesis and the strategy code are unchanged. Verify the code on its merits; performance is decided later by the full backtest and the optimizer.

Iteration History

Verification failed (Layer 4 — QA review) [class=premise_falsified]: - The core economic premise is refuted (in fact inverted) by the data. The hypothesis claims COIN-M funding is PERSISTENTLY NEGATIVE from miner-hedge short pressure, so longs get paid. The developer measured the actual ~1-year COIN-M funding history and found the MEAN rate is POSITIVE (~+0.000033) with only 23-34% of prints negative per symbol — on average longs PAY, the opposite of the harvested edge. A long-only negative-funding carry fights a positive-mean funding regime and cannot systematically collect carry. Sandbox confirms: total_return -4.17%, Sharpe -0.144 (CI [-0.80, 0.58]), alpha -0.0043, information_ratio -0.74 vs equal-weight basket, end_unrealized -7.3%. avg_trade_return_pct 0.1198% only marginally clears the true 0.10% floor and doesn't sum to a positive book. The promoted USD-M sibling worked because USD-M supplies the negative regime; the COIN-M transplant fails because that regime doesn't exist. Re-coding cannot make COIN-M funding persistently negative. - Two supporting premises are also wrong: (a) the fee-advantage claim (0.06% RT, '40% cheaper') is false — venue_configs charges ~0.10% RT on COIN-M (same as USD-M taker), so the thin ~0.01%/8h carry needs multi-day holds to break even; (b) COIN-M funding data exists only 2025-05-25 to 2026-05-04, so the '5.8-year' backtest is really a ~1-year, 117-trade recent-only sample (funding_events_available 402).
Strategy report

Backtest and paper results are hypothetical. Trading involves risk of loss.