Skip to content
Skip to content
← all research
STUDY

"CARRY x BASIS sizing overlay on ETH-gate60 (dual-coin ETH (ETH>SMA200 & ETH_ROC60>0 & BTC_ROC60>0))"

2026-09-13

·

Pre-registered proposal: reports/research_proposal_carry_basis_overlay.md. Defaults: look=168h, carry|z|>=1.5, basis|z|>=2.0, multipliers {0.5, 1.0, 1.25}. Window: 2024-06-04 .. 2026-07-31 (788 days, 166 ETH-gate60 long days) | Hyperliquid ETH funding cache for CARRY+BASIS; ETH daily bars from validation.common; strategy.gate60.decide (frozen, dual-coin ETH/BTC) used to compute the ETH-gate60 target.

Diagnostics: corr(carry_z, basis_z) = +0.747 | fraction of long days with both signals stretched long (0.5x bucket): 0.4% | fraction with both signals stretched short (1.25x bucket): 0.9%.

#Primary variants (pre-registered defaults)

VariantDaysLongDaysRetSharpePFMaxDD
baseline (gate60, no overlay)788166+69.76%0.911.32-22.13%
primary overlay (0.5/1.0/1.25)788166+100.58%1.141.43-20.71%

#Sizing-bucket distribution (gate60-long days only)

BucketDaysShare
1.0x (no signal)13681.9%
1.0x (mixed)2012.0%
1.25x (both stretched short)74.2%
0.5x (both stretched long)31.8%

Bootstrap p(overlay beats baseline, full window): 0.005 Bootstrap p(IS < 2025-01-01): 0.363 Bootstrap p(OOS >= 2025-01-01): 0.008

#IS/OOS split (pre-registered boundary 2025-01-01)

SegmentVariantLongDaysRetSharpePF
ISbaseline70+12.55%0.751.20
ISprimary overlay70+13.19%0.771.21
OOSbaseline96+50.83%0.991.40
OOSprimary overlay96+77.21%1.301.58

#Robustness grid (REPORTED, not selected)

look (h)carry z_enterbasis z_enterLongDaysRetSharpePFMaxDD
841.01.0166+123.74%1.311.51-20.57%
841.01.5166+96.50%1.141.42-20.57%
841.02.0166+86.39%1.071.38-22.01%
841.51.0166+113.81%1.231.47-20.71%
841.51.5166+105.23%1.201.44-20.71%
841.52.0166+88.26%1.081.39-22.01%
842.01.0166+100.67%1.161.43-20.71%
842.01.5166+101.02%1.171.43-20.71%
842.02.0166+86.41%1.071.38-22.01%
1681.01.0166+123.61%1.301.50-20.57%
1681.01.5166+110.33%1.201.45-20.57%
1681.02.0166+102.58%1.161.43-20.71%
1681.51.0166+111.17%1.211.46-20.57%
1681.51.5166+108.15%1.191.45-20.57%
1681.52.0166+100.58%1.141.43-20.71%
1682.01.0166+108.05%1.191.45-20.57%
1682.01.5166+108.17%1.191.45-20.57%
1682.02.0166+99.33%1.141.42-20.71%
3361.01.0166+106.93%1.181.44-20.57%
3361.01.5166+98.97%1.151.42-20.57%
3361.02.0166+92.17%1.111.40-21.15%
3361.51.0166+100.72%1.161.43-20.57%
3361.51.5166+98.91%1.151.42-20.57%
3361.52.0166+92.17%1.111.40-21.15%
3362.01.0166+95.88%1.131.41-21.15%
3362.01.5166+95.88%1.131.41-21.15%
3362.02.0166+89.24%1.091.39-21.15%

#Verdict (pre-registered)

  • IS baseline Sharpe: 0.75, ret +12.55%, maxDD -18.13%
  • IS overlay Sharpe: 0.77, ret +13.19%, maxDD -17.67%
  • OOS baseline Sharpe: 0.99, ret +50.83%, maxDD -18.42%
  • OOS overlay Sharpe: 1.30, ret +77.21%, maxDD -14.27%
  • Pre-registered pass: OOS Sharpe +>= 0.10 AND p < 0.05 AND maxDD not +> 5pp
  • Result: PASS

#Selection-bias audit (DSR, report-only)

  • Robustness-grid universe: K=27 configs (3 looks x 3 carry_z x 3 basis_z; fewer if a funding frame was empty). Grid-Sharpe variance pins the expected-null hurdle.
  • OOS primary overlay: SR 1.30 | PSR 0.67 | DSR(K=27) 0.67 | haircut 0.00 | sortino 1.02 calmar 3.06 omega 1.58
  • Reading: DSR discounts the OOS Sharpe for having inspected K=27 grid cells; hurdle = max(expected-null Sharpe, OOS baseline 0.99). Haircut 0.00 is the Holm answer to the had-we-cherry-picked-the-grid-winner question (family-wise control over K cells kills the vs-zero edge); it does not apply to the pre-registered primary, which was fixed in advance. The pre-registered verdict above is unchanged.

#Honest caveats

  • Inert signal risk: if <5% of long days trigger either 0.5x or 1.25x, the overlay is a no-op and the experiment is a wash. Reported as INERT in the verdict.
  • Threshold tuning: the proposal pre-registers look=168h, carry_enter=1.5, basis_enter=2.0. The robustness grid is REPORTED, not selected. Picking the IS winner would be the look-ahead bug class that bit R10-13.
  • Hyperliquid only: Binance/Bybit/OKX funding are geo-blocked from this IP (451/403). Hyperliquid started in 2023; the cache is the longest available free source. Binance USDT-M funding IS in the metrics cache but is perpetual-rate only, not the premium index; the BASIS leg specifically needs premium.
  • Hyperliquid is one venue: cross-venue funding arbitrage (HL vs Binance) is not what this study tests; this study asks whether HL alone is informationally useful as a sizing overlay on a slow-trend signal.
  • CARRY and BASIS are correlated: corr reported above. If corr > 0.7, the composite is one-dimensional and the two-signal framing is misleading; the overlay is then a single-signal gate with two thresholds.
  • Multipliers are heuristic: 0.5x and 1.25x are the natural ±50% / ±25% asymmetry, not the result of an optimization. An optimization step would re-introduce the threshold-tuning look-ahead; the honest path is to report the asymmetry you chose and let the verdict be what it is.

All trading described is paper (simulated). Not investment advice.

← all research