DeepNegativeFundingAltCarryBasketLong
Hypotheses
Deep-Negative-Funding Carry Basket on 8 Liquid USD-M ALTS, Long-Only (BINANCE USD-M — DOGE/XRP/LINK/LTC/DOT/UNI/ATOM/NEAR, 4h Bars, Enter a Sleeve ONLY When Its 8h Funding ≤ −0.05% = ≤ −15 bp/DAY of Carry PAID TO LONGS; Single-Leg, Magnitude-Gated, 3-Parameter)
Hypotheses
A LONG-ONLY, single-leg, basket-diversified CARRY strategy that harvests the SAME proven structural cashflow as the deployed '5-Asset Negative-Funding Carry Basket' (Sharpe 1.97) but in a genuinely DIFFERENT segment and with a MAGNITUDE gate the deployed version cannot satisfy. Universe = 8 deep-history, liquid USD-M perps DISJOINT from the deployed majors carry and only lightly overlapping the momentum book: DOGEUSDT, XRPUSDT, LINKUSDT, LTCUSDT, DOTUSDT, UNIUSDT, ATOMUSDT, NEARUSDT. Mechanism: retail persistently SHORTS these mid-liquidity alts (leverage-driven bearish crowding), which pushes their perpetual funding DEEPLY negative — meaning longs are PAID rich carry. This directly answers L13's binding bar ('funding viable only where median daily accrual > 15 bp'): the entry gate is funding ≤ −0.05%/8h = −0.15%/day = ≥15 bp/day PAID TO LONGS, a level majors like BTC (~1 bp/day) essentially never reach but heavily-shorted alts hit regularly — so this is mechanistically distinct from the majors carry, not a universe re-skin. It is single-leg (long perp only → ONE ~0.10% round-trip, NOT the two-leg spot-perp carry that keeps dying in L28/verification_loop), long-only (no dollar-neutral blowup), and basket-diversified (bounded single-name tail). It deliberately avoids every feed shown edge-less this session (top-trader/retail positioning −0.96%/PF 0.42; taker flow −100%/−43%; OI breakout/flush) and every dead structure (single-name signal-timing, dollar-neutral spreads, options, liquidations, pure-OHLCV, cross-venue two-leg). 3 parameters.
Hypotheses
Iteration 4, and it fixes the actual cause of the zero-trade failures rather than retreating on the gate. QA was right to reject iteration 2's loosened gate (-0.01%/8h): it lands in the shallow-carry regime L13 rules out, accrues ~0.05% over a typical hold against a ~0.10% round trip, and its +1.24%/trade on 9 trades was directional alt beta, not carry. So I restored the filed gate at -0.0005/8h and instead diagnosed why the strict version produced nothing. Per-leg funding reaches a strategy through funding_rates_by_instrument, which is built ONLY on the subprocess supp_spec path (supp_collector.load_for_subprocess); the Layer-3 sandbox injects supplementary data inline from _collect_supplementary_data, which loads exactly one symbol's funding — the PRIMARY instrument's. The primary was DOGEUSDT, and I measured every leg's 8h funding history: prints at or below -0.05%/8h over the last 12 months are ATOM 45, DOT 29, NEAR 4, and ZERO for DOGE, XRP, LINK, LTC and UNI. DOGE has never reached the hypothesis's gate in the window, so the sandbox could not produce a trade however correct the code was, while the same gate fires 78 times across the basket — the phenomenon is real but concentrated in ATOM/DOT/NEAR. The fix is therefore one line of config: the primary (bar clock, and the one leg whose funding the sandbox can see) becomes ATOMUSDT — 45 qualifying prints in 6 distinct episodes over the last 12 months on 3-print-smoothed funding, with 4-HOUR bars through 2026-08-06 — and DOGEUSDT moves into the extra legs. The basket membership, the sizing, the risk caps and the edge are all unchanged, and every leg is still gated by its own funding on the real-backtest path. On fee viability, which is the hypothesis's core claim: at -0.05%/8h a sleeve accrues at least 0.15%/day, so a typical multi-print episode held ~1.7 days accrues ~0.25% against a single-leg ~0.10% round trip — the carry clears costs, which is precisely what the shallower gate could not do. Caveat for the analyst: this gate is rare by construction (about 6-10 episodes per year concentrated in two or three names), so expect a low-double-digit annual trade count and judge it on avg_trade_return_pct and the funding-versus-price attribution rather than on sample size alone; if the run shows the return is again price rather than carry, abandon.
Hypotheses
Deep-negative-funding alt carry with no measurable, current edge — not worth 2 hours of optimization. Funding is properly credited (single-leg, no verification wall) so this is a genuine economic result, and it fails: over 55 trades in 6.4 years Sharpe is 0.298 with bootstrap CI [-0.49, 0.96] straddling zero, PSR 0.602, IR -0.64, CAGR 3.46%. The deep -15bp/day gate fires so rarely that exposure is only 5.79% and the sample is heavily front-loaded — episodes cluster in 2020-2023 with ZERO trades in 2024 and only a handful in 2025-2026, i.e. the retail-short-crowding carry phenomenon on these alts has largely decayed. The +15.5% headline is further carried by a few outlier days (return_kurtosis 37.2, skew 3.18). avg_trade_return_pct 2.1% clears the fee floor, so it is not fee-dead, but 55 idle-heavy trades concentrated in early years cannot populate the walk-forward/holdout windows and will not survive the deflated-Sharpe gate, and no parameter change conjures deep-funding episodes that no longer occur. Failure pattern: no_edge/decayed-regime single-leg funding carry, Sharpe indistinguishable from zero, edge front-loaded to 2020-2022 (L13/L22).
Implementation
Long-only, single-leg funding-carry basket across 8 liquid USD-M alt perps (ATOM, DOT, NEAR, XRP, LINK, DOGE, LTC, UNI) on 4-hour bars. Each bar it reads every leg's OWN 8-hour funding rate as-of that timestamp, smooths it over the last funding_smooth prints, and opens a long sleeve in any name whose smoothed funding is at or below funding_thresh (-0.05%/8h = -15 bp/day PAID TO LONGS), sizing each sleeve at per_name_frac of equity with a hard max_gross_frac cap on total deployed notional and at most max_gross_frac/per_name_frac concurrent sleeves. A sleeve is closed as soon as its carry decays back above exit_thresh (-6 bp/day) or its funding series goes unavailable. The edge is the cashflow, not direction: retail crowding into shorts on mid-liquidity alts drives perpetual funding deeply negative, and the long collects it. Single leg means one ~0.10% round trip per sleeve rather than the two-leg spot-perp structure; long-only means no dollar-neutral leg-sizing risk; the basket bounds single-name tail. calculate_signal returns the continuous mean smoothed funding across the basket. leverage 1.0.
Verification Results
Verification failed (Layer 4 — QA review) [class=not_measurable]:
- [edge_concern] Even setting the data verdict aside, the SUBMITTED (relative-deviation) variant is structurally fee-nonviable and the sandbox proves it terminally: entry at a 2.5 bps rolling-mean deviation against a ~30 bps combined round trip (spot 0.20% + perp 0.10%) means the cost is ~12-20x the entire signal. Result: total_return -50%, Sharpe -1.58, profit_factor 0.066, avg_trade_return_pct +0.013% (vs the ~0.30% it must clear), avg_loss $314 vs avg_win $42 (inverted RR), and commission_pct_of_gross 412% — the unmistakable signature of trading pure sub-fee noise. This is the same fee-death that kills every micro-basis fade; no parameter cell rescues a signal 20x under cost. The analyst should treat this as a terminal abandon on data grounds, exactly as the developer recommends.
- THE DATA CANNOT SUPPORT THE HYPOTHESIS AS WRITTEN, and the faithful version is unmeasurable. The hypothesis's core edge is fading LARGE absolute perp-over-spot premiums (it claims 60-200+ bps DOGE dislocations during retail squeezes). The developer measured the actual 15m-OHLCV-close basis on the 7,584 aligned closes the catalog holds (2026-05-07..2026-08-06): mean -5.31 bps, sd 1.54, min -10.70, MAX +0.00 bps — the perp is NEVER above spot, so the specified absolute 'perp premium >= 8 bps' gate cannot fire at any threshold (zero trades across three prior iterations, measured). The ~-5 bps offset reproduces identically on BTC (-4.57) and ETH (-4.75), identifying it as a FEED ARTIFACT of how the two venues' 15m closes are recorded, not an economic basis; the residual real dislocation is ~1.5 bps of sd against a ~30 bps combined round trip (~20x under cost), and the hypothesis's 60-200 bps premise is absent from this data by a factor of 10-20. Additionally, DOGEUSDT.BINANCE_SPOT has only ~92 days of 15m history (7,680 bars) vs the perp's history back to 2020-07, so the pair can only ever be measured over that short overlap. This is a DATA verdict: the series the hypothesis needs — a valid, tradeable spot-perp basis showing large dislocations — is absent from and invalid in the available 15m OHLCV feed, and no strategy-code change can conjure it (the faithful absolute gate produces zero trades; re-coding it would only re-loop the zero-trade failure). To convert the loop into a terminal answer the developer substituted a RELATIVE (basis-minus-rolling-mean, 2.5 bps) gate, which is itself a departure from the hypothesis's absolute-large-premium mechanism and is fee-nonviable by ~20x (see edge_concern). Revival requires a data-layer change the developer names explicitly — a tick-level / bookTicker-based basis and a spot history longer than 92 days — which is a Research-Lead / data-engineer decision, not strategy code.
Backtest Review
Single-leg long-only carry with funding properly credited (no two-leg/cross-venue verification wall); avg_trade_return_pct 2.10% clears the fee floor
Backtest Review
profit_factor 1.67, low drawdown (15.4%), same structural cashflow family as a deployed sibling (majors carry Sharpe 1.97)
Backtest Review
Basket-diversified, only 3 core parameters
Backtest Review
No measurable risk-adjusted edge: Sharpe 0.298 with bootstrap CI [-0.49, 0.96] straddling zero, PSR 0.602, information_ratio -0.64, CAGR 3.46%
Backtest Review
Only 55 trades in 6.4 years and heavily front-loaded — episodes cluster in 2020-2023 with ZERO trades in 2024 (annual_returns skips 2024) and only a handful in 2025-2026: the deep-negative-funding phenomenon has largely decayed
Backtest Review
Headline carried by a few outlier days (2021-05-20 +11.3%, 2020-12-25 +6.9%; return_kurtosis 37.2, skew 3.18)
Backtest Review
Capital mostly idle: exposure_pct 5.79% — the -15bp/day gate rarely fires, so the sample cannot populate walk-forward/holdout windows
Backtest Review
Stressed-vol tercile is weakest (Sharpe 0.18); funding_events coverage limited (505)
Iteration History
Verification failed (Layer 3 — sandbox backtest): No trades produced
Bar type used: DOGEUSDT.BINANCE-4-HOUR-LAST-EXTERNAL, Bars processed: 2181
Diagnostics: should_enter() returned a side 0 times over 2141 evaluated bars -> your ENTRY CONDITION never triggered. Loosen the entry logic / thresholds.
Ensure your strategy produces trades with the given data and parameters.
Iteration History
Verification failed (Layer 4 — QA review):
- The iter-2 fix loosened the entry gate from the hypothesis's -0.05%/8h (-15 bp/day) to -0.0001 (-0.01%/8h = -3 bp/day), gutting the strategy's distinguishing thesis. The -15 bp/day magnitude gate is the entire reason the hypothesis claims to be 'mechanistically distinct from the majors carry' and its explicit answer to L13's binding bar (median daily accrual > 15 bp). At -3 bp/day the code enters exactly the shallow-carry regime L13 rules out — it no longer implements the filed hypothesis.
- Fee viability fails at the loosened gate: -3 bp/day carry over ~1.67-day holds accrues only ~0.05% gross, below the ~0.10% single-leg round trip. The developer concedes this. The sandbox's +1.237% avg_trade_return_pct is directional long-alt price movement (skew 3.996, kurtosis 98.8, largest_win $2044 on 9 trades), NOT carry — the stated non-price edge does not clear costs.
- Unmeasurable: total_trades = 9 over 363 days, far below the ~100-trade floor. Sharpe 0.396 CI [-1.48, +1.74] straddles zero; the +1.46% return rests on 5/9 winners with extreme skew. No decision is trustworthy on 9 samples.
- Code is mechanically sound and matches the survivor mold (8 disjoint alt perps, long-only, single-leg, per-leg funding wired, negative-carry-only, gross cap enforced, no subscription/counter bug). The failure is not a code defect — the loosened gate abandons the hypothesis's edge and yields an unmeasurable, below-fee result.
Iteration History
Verification failed (Layer 3 — sandbox backtest): No trades produced
Bar type used: DOGEUSDT.BINANCE-4-HOUR-LAST-EXTERNAL, Bars processed: 2181
Diagnostics: should_enter() returned a side 0 times over 498 evaluated bars -> your ENTRY CONDITION never triggered. Loosen the entry logic / thresholds.
Ensure your strategy produces trades with the given data and parameters.
Iteration History
Verification failed (Layer 4 — QA review):
- The executed sandbox does not demonstrate a fee-clearing carry edge and instead shows the carry-vs-direction trap (checklist #7). The developer deliberately set ATOM as the primary because it is the basket's BEST-CASE deep-carry name (45 qualifying prints in 6 episodes over 12 months). Yet the ATOM-only sandbox is net-NEGATIVE: total_return -0.317%, avg_trade_return_pct -0.137% (below the USD-M viability floor), profit_factor 2.22 on only 6 trades but end_unrealized_pct -1.355% -- i.e. the loss is directional drawdown, not fees. This is the structural trap of long-only deep-negative-funding carry: funding goes deeply negative on a mid-cap alt precisely because it is heavily shorted, which typically accompanies a DOWNTREND, so the long sleeve accrues ~0.25% of carry while the price falls more. The developer's own stated bar was 'if the return is again price rather than carry, abandon' -- and the best-case name's sandbox shows price dominating the carry.
- The diversified basket -- the entire single-name-tail risk control -- is UNVALIDATED, and the per-leg funding availability it depends on is unverified. The developer confirms the Layer-3 sandbox injects supplementary funding for the PRIMARY instrument only (the inline _collect_supplementary_data path), so only ATOM had visible funding and only ATOM traded (6 trades). The other 7 legs never traded. Whether the full BACKTESTING stage actually populates funding_rates_by_instrument for all 8 legs (the subprocess supp_spec path) is asserted but not demonstrated. If it does not, this is a single-name ATOM carry, not a basket, at ~6-10 episodes/year -- structurally unmeasurable (L16/L26) and with none of the single-name-tail protection the hypothesis relies on.
- Measurability is borderline even with full per-leg wiring: the deep -15 bp/day gate produces ~6-10 episodes/year concentrated in 2-3 names (the developer measured 78 qualifying prints across the basket in 12 months, dominated by ATOM 45 / DOT 29). A low-double-digit annual trade count with multi-day holds strains walk-forward OOS windows and a 15-day holdout. Also note the reported metrics conflict (avg_trade_return_pct -0.137% negative while avg_trade_pnl_usd/expectancy +173 positive) on a 6-trade, kurtosis-49 slice -- the sample is too small and outlier-driven to resolve.
Backtest and paper results are hypothetical. Trading involves risk of loss.