BtcCrossVenueFundingDifferentialNeutral
Hypotheses
BTC Cross-Venue Funding-Differential Arbitrage, Delta-Neutral (Binance vs Hyperliquid — Long the BTC Perp on the Venue Paying You / Short the BTC Perp on the Other Venue, Same Asset, Harvest the Inter-Venue Funding Spread Until It Normalizes, 2-Parameter)
Hypotheses
A MARKET-NEUTRAL, CROSS-VENUE, SAME-ASSET funding arbitrage on BTC: it holds equal-and-opposite BTC perpetual positions on TWO venues — BINANCE USD-M (BTCUSDT.BINANCE) and HYPERLIQUID (BTC perp) — and harvests the DIFFERENCE in their funding rates. Because both legs are BTC perps of the same underlying, the price exposure cancels (delta ≈ 0); the only P&L drivers are the funding differential you collect and the small residual basis. This is materially different from every hypothesis in my pending set: my within-Binance cross-asset funding carry ranks 8 different perps by their own funding (asset dispersion); THIS trades ONE asset (BTC) and captures the SPREAD between the SAME asset's funding on two different exchanges (venue basis). It is genuinely HL-SPECIFIC per L39's exception — an inter-venue funding differential vs Binance simply cannot be expressed on Binance alone, so this is not a Binance mechanism re-pointed at HL. Binance and Hyperliquid funding regularly diverge (different participant mix, different funding formulas/caps, transient one-venue crowding), and the spread mean-reverts as arbitrageurs equalize it — a real, mechanically-paid cash flow that professional desks harvest. It fills the under-represented cross-venue bucket (7.0% vs ≥15% target) and market-neutral direction. Low turnover (enter only when the funding spread is wide, hold across funding settlements until it normalizes) so the ~0.10%/0.09% per-venue round trips are amortized over many funding payments. Deliberately 2-parameter (funding-spread entry threshold, exit threshold) to keep the overfit surface tiny, and only 2 clearly-specified legs (no parameter explosion) to avoid the Layer-2 verification death of the earlier multi-parameter cross-venue spread. Uses only funding + price series that both venues provide (no options catalog, no multi-leg rolling); HL funding/price history is available at daily/8h cadence (this is NOT a sub-hourly HL strategy, so it avoids HL's short intraday-history limit).
Hypotheses
I am NOT submitting another tuned variant, because I verified there is no change that fixes this and tuning further would burn the final iteration on a dead end QA has already correctly diagnosed. I did, however, find something worth escalating. FIRST, I VERIFIED THE IMPLEMENTATION IS CORRECT. Both legs decode at the same fixed-point scale (matched-timestamp raw price ratio BN/HL = 0.999795, std 0.00055), so as_double() returns the same USD price for each and the equal-notional book is genuinely delta-neutral; the cadence normalization, funding lookups and hold clock are all right. There is no code defect to fix. SECOND, I MUST CORRECT QA'S THIRD OBJECTION ON THE DATA. QA states that over 92-day holds the basis noise 'integrates into large per-trade swings'. It does not. Measuring the delta-neutral P&L directly as the ratio difference between the two legs (scale-invariant, no rescaling), the basis P&L standard deviation is 0.059% at 30 settlements, 0.062% at 90, 0.065% at 180 and 0.063% at 276 settlements (92 days) — flat, not growing, because the two BTC perps track each other tightly and the basis is bounded (full range 0.987 to 1.008 over 1316 bars), not a random walk. Against 1.739% of carry earned over a 92-day hold, basis noise is 0.04x the carry, not a dominating force. So the economics of the mechanism are actually sound at long holds. THIRD, AND THIS IS THE ESCALATION: that makes the sandbox result impossible as economics. A largest loss of -$18k and largest win of +$18.5k on a roughly $22k book implies ~±80% moves, which a 0.063% basis cannot produce — the reported per-trade P&L is two orders of magnitude larger than the position can generate. I traced a concrete cause worth a platform fix: runner.py seeds EACH venue with Money(100_000) and accumulates total_starting_capital += 100_000 per extra venue (line 563), so this two-venue backtest measures returns against $200,000, while base_template's get_account_equity() resolves only the PRIMARY instrument's venue account and returns $100,000. The strategy therefore sizes off half the capital the metrics are computed against, and the two-venue P&L aggregation is inconsistent. This will corrupt EVERY cross-venue two-leg strategy, not just this one — and cross-venue is a bucket the Research Lead is actively trying to fill (7.0% vs 15% target), so I would flag it for the platform rather than let it keep producing spurious rejections. FOURTH, NONE OF THAT RESCUES THIS HYPOTHESIS, and my recommendation remains ABANDON. Two constraints are fatal and independent of any accounting fix. (a) The sample: Hyperliquid funding history begins 2025-03-10, so 1.20 years is the entire usable overlap. No code change deepens it, and a single-regime 1.2-year window cannot support a 3-window walk-forward plus a 15-day holdout. (b) The fee/measurability trade-off I demonstrated in iteration 2 and QA confirmed: carry of 0.0063% per settlement against a 0.190% two-venue round trip is ~30x too small, so fee viability requires 30-90 day holds, which in a 1.2-year window mechanically yields 4-15 trades. Even with the accounting corrected and the economics working as my measurements say they should, the result would be a handful of quarter-long trades worth roughly 1.5%/yr net — unvalidatable and not economically meaningful without heavy leverage. The mechanism is real (Hyperliquid structurally pays ~0.0037% per 8h more than Binance, about 4%/yr gross) but it is too small relative to costs and too young in data to be validated by this pipeline. It should be revisited only after Hyperliquid funding history has accumulated several more years, and after the multi-venue capital-base inconsistency is fixed.
Hypotheses
No-edge, below-floor cross-venue same-asset funding-differential carry (L22/L57/L44 family, 0 survivors) — not worth 2 hours of optimization. Funding IS credited (17,188 events), so this is a genuine economic result and it fails: avg_trade_return_pct -1.47% (deeply below the 0.15% floor), profit_factor 0.816, Sharpe -0.195 (CI [-0.86, 0.55]), total_return -5.2%, losing in both traded years. The per-settlement inter-venue BTC carry (~0.0063%) is structurally smaller than the 0.19% two-venue round trip, and iteration 2's smoothing/min-hold amortization fix already failed to fix this. Only 12 trades over a truncated HL window (2023-01-01 to 2026-05-22) leaves no robust parameter region to optimize toward. The headline is further contaminated by a suspected stale-leg artifact: the final trade closes 2026-07-16, ~2 months after HL bars end, producing a -4.67% day on a delta-neutral book that drives most of the 2026 loss. No threshold tuning conjures a funding premium the two feeds do not contain.
Implementation
Unchanged from iteration 2. Delta-neutral cross-venue funding arbitrage on BTC between Binance USD-M and Hyperliquid on 8-HOUR bars, with Binance-8h vs Hyperliquid-hourly cadence normalization, a 45-settlement smoothed spread, and a 30-settlement minimum hold enforced from the position's ts_opened. I am submitting this without modification because I could not find a change that fixes the reported failure, and I have verified the implementation itself is correct.
Verification Results
Verification failed (Layer 4 — QA review) [class=not_measurable]:
- [edge_concern] The sandbox is not even a valid measurement of this strategy: 10 trades over a ~1.2-year usable window, and per-trade P&L (largest_loss -$18,330, largest_win +$18,989, avg_loss $8,084) ~2 orders of magnitude larger than a delta-neutral BTC book (basis P&L std ~0.06%) can produce. The mechanism is small-but-plausible (HL pays ~0.0037%/8h more than Binance, ~4%/yr gross); it simply cannot be validated here yet.
- DATA TOO YOUNG. The hl_funding_rates series begins 2025-03-10, so the Binance/HL overlap is only ~1.2 years (2020-2024 stress windows all 0.0 — no HL data). Fee economics force 30-90 day holds (carry ~0.006%/settlement vs 0.19% two-venue round trip → break-even ~30 settlements), yielding only ~4-15 trades over 1.2 years (sandbox: 10). That can't populate a 3-window walk-forward + 15-day holdout, so the hypothesis is unvalidatable regardless of edge. Park until HL funding history accrues several more years; revisit the unchanged code then.
- CROSS-VENUE P&L/CAPITAL-BASE INCONSISTENCY (platform-level, developer-flagged, metrics-corroborated). ±$18k per-trade P&L on a delta-neutral ~0.06%-basis book is impossible — the two-venue P&L isn't aggregated consistently. Developer traced it to runner.py seeding $100k per venue (returns vs $200k) while get_account_equity() returns only the primary venue's $100k, so sizing and the return denominator disagree. This corrupts EVERY cross-venue two-leg strategy's metrics, so even the 10-trade result is unreliable. The strategy sizes correctly off get_account_equity(); the defect is the multi-venue accounting. Escalate to the platform.
Backtest Review
Genuinely differentiated cross-venue, market-neutral mechanism (benchmark_meaningful correctly false); funding is credited by the engine (17,188 events) so the result is real, not an uncreditable-carry artifact
Backtest Review
Deliberately 2-parameter with a small overfit surface, and the delta-neutral construction keeps max_drawdown modest (7.5%)
Backtest Review
No edge and negative expectancy: avg_trade_return_pct -1.47% (deeply below the 0.15% floor), profit_factor 0.816, Sharpe -0.195 with CI [-0.86, 0.55] straddling zero, total_return -5.2%, PSR 0.414 — loses in both years it traded
Backtest Review
Structural: per-settlement inter-venue BTC funding carry (~0.0063%) is far smaller than the 0.19% two-venue round trip; the iteration-2 holding-discipline fix already tried to amortize this and still lost
Backtest Review
Only 12 trades over a truncated HL window (2023-01-01 to 2026-05-22) — too few for meaningful optimization, and no robust parameter region exists to tune toward
Backtest Review
Suspected stale-leg artifact: final trade closes 2026-07-16, ~2 months after HL bars end (2026-05-22), producing a -4.67% single day on a supposedly delta-neutral book that drives most of the 2026 loss
Backtest Review
L22/L57/L44 cross-venue same-asset funding-carry/basis family — 0 survivors; the ETH/SOL spot-perp and CM-USDM siblings all abandoned on this exact negative-per-trade, below-floor signature
Iteration History
Verification failed (Layer 4 — QA review):
- DECISIVE FEE-VIABILITY FAILURE — the harvested cash flow is an order of magnitude below the trading cost, proven by the developer's own measurement and confirmed by the sandbox. The mean absolute Binance-minus-HL 8h funding differential is 0.0063% while the two-venue round trip costs 0.190% of notional (0.100% Binance + 0.090% Hyperliquid). Break-even requires holding ~30 settlements (~10 days), but the spread only stays wide 3-6 stamps, so the carry captured per trade (~0.019-0.038%) is 5-10x SMALLER than the 0.190% cost to open and close. The developer simulated all eight entry/exit configurations and EVERY ONE loses money (final equity 0.853-0.999x, Sharpe -0.42 to -11.75), with fees running 2-11x the harvested carry in every case. The sandbox bears this out exactly: avg_trade_return_pct is +0.0013% (essentially zero, ~1/100th of the 0.15% futures floor), profit_factor 0.90, total_return -2.69% over 102 trades. This is the textbook fee_edge failure QA is meant to catch at Layer 4: an expected per-trade move an order of magnitude below the round-trip cost cannot be made profitable by any threshold (raising entry_thresh only reduces trading toward the 2-trade near-abstention that 'optimally' does nothing). Reject here rather than spend a backtest/optimization cycle rediscovering it.
- Sample too short for the evaluation pipeline. Hyperliquid funding history begins 2025-03-10, giving only ~1.2 years of usable Binance/HL overlap (the sandbox already spans 350 of those days). That cannot support the 3-window walk-forward optimization plus a 15-day holdout with any statistical meaning — the downstream robustness gates would be adjudicating a fraction of a single crypto regime. Even if the fee problem did not exist, the edge could not be validated on this window.
- Hedge is noise-dominated at the signal scale (compounds the fee failure). The per-8h change in the HL/Binance basis has a standard deviation of 0.0529% — 8.6x the 0.0063% mean funding differential being harvested — so single-settlement P&L is driven by basis noise, not carry. The delta-neutral construction does work over LONG holds (the developer measures residual basis P&L of only -0.06%/yr on the always-on variant), but over the 3-6 stamp holds this mean-reversion framing actually takes, the carry signal is swamped by basis noise. Not a code defect (the equal-notional hedge is correct) — a property of the economics that makes short-hold funding-spread harvesting on this pair structurally unviable.
Iteration History
Verification failed (Layer 4 — QA review):
- FEE-VIABLE AND MEASURABLE ARE MUTUALLY EXCLUSIVE ON THIS STRATEGY — the iteration-2 fix trades the fee failure for an unmeasurability failure, and the developer proved there is no configuration that escapes both. The carry is ~0.0063% per settlement against a 0.190% two-venue round trip (~30x too small), so profitability requires months-long holds; the smoothing(45)+min-hold(30) discipline achieves that (avg net/trade rises to +0.272%, PF 4.08, carry 1.54%/yr > fees 0.48%/yr, clearing the 0.15% floor) — but months-long holds in the available window mechanically produce only ~4 trades. The developer's full ladder makes the trade-off explicit and monotone: 102 trades lose; smooth-9 -> 11 trades -0.066%; smooth-21 -> 8 then 6 trades (still under floor); smooth-45 clears the floor at 4 trades. The sandbox realizes this exactly: 6 trades (below the measurability floor, the same standard that failed the BTC smart-money sibling), net loser total_return -3.79%, PF 0.74, avg_trade_return_pct -2.90% over 92-day holds where accumulated basis drift dominates (largest loss -$18k, avg_win $6568 < avg_loss $8918). Four-to-six trades cannot populate a 3-window walk-forward or a 15-day holdout, so the only fee-viable version is unmeasurable and the only measurable version loses. This is a structural dead-end, not a tuning problem.
- Sample too short — unchanged from iteration 1 and unfixable by any code change. Hyperliquid funding history begins 2025-03-10, so ~1.2 years is the ENTIRE usable Binance/HL overlap (the sandbox already spans 350 of those days). No parameter deepens the data. Even setting aside the fee/measurability trade-off, a ~1.2-year single-regime window cannot support the 3-window walk-forward + 15-day holdout the pipeline requires, so the edge could not be validated even if it existed at a measurable trade count.
- The delta-neutral hedge accumulates meaningful basis P&L over the now-92-day holds. The equal-notional construction is correct and residual basis is small annualized (-0.06%/yr per the developer), but over 92-day holds the per-settlement basis noise integrates into large per-trade swings (sandbox largest loss -$18k, largest win +$18.5k on a ~22% book), so single trades are dominated by where the basis happened to drift over three months rather than by the harvested carry. This is not a code defect (the hedge is right) — it is why a 4-6 trade sample of quarter-long holds is doubly uninformative: tiny n AND high per-trade variance.
Iteration History
Verification failed (Layer 4 — QA review):
- ABANDON — two fatal, independent constraints that no code change fixes (developer concurs, and I confirm). (a) SAMPLE: Hyperliquid funding history begins 2025-03-10, so ~1.2 years is the entire usable Binance/HL overlap — a single-regime window that cannot support a 3-window walk-forward plus a 15-day holdout. (b) FEE/MEASURABILITY TRADE-OFF: carry is ~0.0063% per settlement against a 0.190% two-venue round trip (~30x too small), so fee viability requires 30-90 day holds, which in a 1.2-year window mechanically yields only 4-15 trades — below the measurability floor. Every fee-viable configuration is unmeasurable and every measurable configuration loses. These hold REGARDLESS of the accounting issue below, so the abandon decision does not depend on the (untrustworthy) sandbox metrics.
- PLATFORM BUG CONFIRMED (not a defect in this strategy's code) — the multi-venue capital-base + P&L-aggregation inconsistency the developer escalated is real, and I verified it directly in the source. (1) src/backtesting/runner.py line 477 sets total_starting_capital = 100_000 and line 563 does `total_starting_capital += 100_000.0` per extra venue, with the comment 'pair deploys 200k — total_return / max_drawdown must use this as the denominator', so the METRICS normalize a two-venue book against $200,000. (2) src/strategies/base_template.py get_account_equity() (line 467) explicitly returns the PRIMARY instrument's venue balance only ($100,000). So a cross-venue two-leg strategy SIZES each leg off $100k (50k/leg) while its returns are measured against $200k — a factor-of-2 basis mismatch — and, more damagingly, the delta-neutral book's per-venue P&L is not netted across the two venue accounts in the positions report. That is why this delta-neutral book (whose basis is bounded at ~0.06% per the developer's scale-invariant measurement) reports impossible ±$18k per-trade swings: those are one leg's ~36% directional move over the 92-day hold, un-netted against the other venue's offsetting leg. This corrupts the metrics of EVERY cross-venue two-leg strategy, which is a bucket the Research Lead is actively trying to fill (7.0% vs 15% target) — it will keep producing spurious results/rejections until fixed.
- Correction to my prior (iteration-2) review, accepted: I stated the delta-neutral hedge's basis noise 'integrates into large per-trade swings' over 92-day holds. The developer's scale-invariant measurement (leg ratio difference, no rescaling) shows basis P&L std is FLAT across hold length — 0.059% at 30 settlements, 0.062% at 90, 0.065% at 180, 0.063% at 276 — because the two BTC perps track tightly and the basis is bounded (0.987-1.008), not a random walk. Against ~1.74% carry over a 92-day hold, basis noise is ~0.04x the carry, not dominating. So the hedge economics are actually sound at long holds; my earlier 'basis noise dominates' framing was wrong, and the large sandbox swings are the accounting artifact above, not real basis risk. This does not change the abandon verdict (sample + fee/measurability), but the record should be accurate.
Backtest and paper results are hypothetical. Trading involves risk of loss.