Skip to content

View translation

BtcSpotFundingEuphoriaDeRiskAccumulationLong

Hypotheses

BTC Spot Accumulation with Funding-Euphoria De-Risk, Long-Only (Single-Instrument BTCUSDT.BINANCE_SPOT — Hold Spot by Default but Rotate to CASH When Perp Funding Signals Extreme Leverage Euphoria (Over-Positioned Longs = Correction Risk); Re-Enter When Funding Normalizes, 3-Parameter)

Hypotheses

A LONG-ONLY, SINGLE-TRADED-INSTRUMENT accumulation strategy on BTCUSDT.BINANCE_SPOT (CASH account, NO leverage → account liquidation is structurally impossible) that uses perpetual FUNDING as a leverage-EUPHORIA de-risk signal — a genuinely different de-risk source from the price/volatility signals in the dead spot-regime idea, and a different application of funding than the carry/fade perp ideas that died (this is not a directional perp bet; funding is read only as a SENTIMENT gauge to time a long-only SPOT accumulation, and the ONLY instrument traded is BTC spot, so there is no venue/instrument swap). Premise: extreme POSITIVE perp funding means leveraged longs are crowded and paying heavily to hold — a well-documented precursor to leverage-flush corrections; a spot holder who steps aside to CASH during those euphoric windows avoids the worst forced-deleveraging drawdowns and re-accumulates cheaper, improving RISK-ADJUSTED return over buy-and-hold. By DEFAULT it holds BTC spot (participating in the secular uptrend); it moves to CASH only when funding is in an extreme-high regime (euphoria) AND price confirms weakness, and re-enters when funding normalizes. It fills the under-represented BINANCE_SPOT venue bucket, cannot blow up (spot, no leverage), is LOW-TURNOVER (funding euphoria episodes are occasional → a handful of switches per year → the 0.20% spot cost is trivial and cannot cause the fee_edge death), uses funding data (loads reliably — 5000+ events confirmed in prior tests) so it will not hit the no-trades/data-unavailable failures, and is deliberately 3-parameter to resist overfit. Distinct from my pending set (momentum, market-maker) and from the price/vol spot-regime idea that died with a negative information ratio — the bet is that FUNDING (a positioning signal) times the de-risk better than price/vol did.

Hypotheses

Three targeted changes to previous_code; the funding loader, z-score, sizing and imports that cleared Layers 1-3 are untouched. (1) FINDING 1 — the blind max_derisk_bars timer is removed entirely, along with its _derisk_bars counter and the increment in calculate_signal. QA's mechanism was exact: a clock fires precisely BECAUSE funding has not normalised, so it re-bought into continued weakness and turned every de-risk into sell-low/re-buy-low; that is what took alpha from +0.045 to -0.019 and IR from 0.90 to 0.18. Re-entry is now conditioned only on genuine funding normalisation — the one configuration that measured positive alpha and IR. (2) FINDING 2 — episode frequency is raised WITHOUT a clock and WITHOUT loosening the edge into noise, by shortening the z reference window from 90 prints (30 days) to 45 (15 days) and moving from 8-HOUR to 4-HOUR bars. A short reference window is a data-driven bound on episode length: a funding spike is absorbed into its own trailing mean within days, so z reverts to <= 0 on the data's schedule instead of never (iteration 1's open-ended multi-month bets) and instead of on a clock (iteration 2's harmful forced re-entry). Because the mean adapts fast, BOTH the euphoria crossing and the normalisation crossing become several times more frequent, and the finer bars halve the latency on each transition — together these should take the ~5 de-risk round trips/year to roughly 12-20, i.e. 100+ over the full history, which is the floor QA set. derisk_z is 1.0 rather than 1.25 to help, but the frequency lever is deliberately the reference window, not the threshold, so 'extreme euphoria' still means genuinely elevated funding. (3) The de-risk trigger now requires EARLY weakness — below the trend MA but not already >5% below it — which directly removes the 'sells low' trades QA identified: past that gap the leverage flush has largely happened and stepping aside books the drawdown the overlay exists to avoid. This should also pull beta back down from 0.900, since episodes now begin nearer the top rather than after the break. One reservation, stated as required: across two iterations the funding-euphoria de-risk has not beaten buy-and-hold on this window, and if this iteration still shows negative alpha with a now-reliable sample, the honest read is that the positioning signal does not time the de-risk and the hypothesis should be abandoned rather than iterated a fourth time — the timer was a real defect worth removing, but removing it only restores the small positive-alpha reading that was never statistically established.

Hypotheses

The funding-euphoria de-risk overlay fails its own thesis: it is meant to improve risk-adjusted return over buy-and-hold via drawdown control, but it delivered a 66.65% max drawdown (CI to 95.2%, past the L19 hard-abandon line) while producing a closet BTC long (beta 0.889, benchmark_correlation 0.958) with information_ratio 0.022 and alpha 0.058 — i.e. no active edge over the benchmark. Sharpe 0.652 CI [-0.047, 1.35] straddles zero. Only 87 de-risk switches in 8 years, and they did not protect in 2022 (-51.7%) or the recent 2025/2026 regime (-19.3% / -6.4%). This is a premise failure (funding does not time the de-risk usefully), not a parameter problem — 3-param tuning cannot turn a 0.958-correlation closet long into alpha or repair a 66% drawdown. Failure pattern: closet-long / no_edge single-instrument spot overlay with >50% DD (L19).

Implementation

Long-only BTC spot accumulation on BINANCE_SPOT (CASH account, leverage 1), now on 4-HOUR bars. It holds BTCUSDT by default and rotates to cash during perp-funding euphoria. Each bar it appends any Binance USD-M funding prints settled at or before the bar timestamp (strictly non-anticipating) and returns a continuous accumulation score = -(z-score of the 3-print-smoothed funding rate vs its trailing 45-print / 15-day window). It steps aside to cash when the score <= -derisk_z (funding z >= 1.0) AND price shows EARLY weakness — below its 30-bar (5-day) SMA but not already more than 5% below it — and re-accumulates the full cash balance once funding normalises back to or below its own trailing mean (z <= 0). There is no elapsed-time re-entry. Position size is the whole USDT balance times 0.95, sized from get_account_equity() at each entry.

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.

Verification Results

The funding-euphoria de-risk overlay produces NEGATIVE alpha (-0.04) and IR (-0.53) vs buy-and-hold, 0.95 correlated, beta 0.89, and does not reduce drawdown (73.5% vs BTC ~80%). Code faithfully implements the hypothesis, so a mechanism/performance finding. Abandon at backtest-review per the developer's pre-registered condition; do not optimize (removing the harmful de-risk trades converges to buy-and-hold, which isn't the hypothesis).

Backtest Review

Spot/long-only/no-leverage — structurally cannot liquidate; funding data loads (87 real trades, no data-unavailable failure)

Backtest Review

Low turnover — commission only 3.85% of gross, so this is not a fee_edge death

Backtest Review

max_drawdown 66.65% (CI to 95.2%) — past the L19 50% hard-abandon line; the de-risk overlay FAILED at its one job (drawdown control)

Backtest Review

Closet BTC long: beta 0.889, benchmark_correlation 0.958, information_ratio 0.022, alpha 0.058 — essentially zero active edge over buy-and-hold, which is the benchmark the thesis must beat

Backtest Review

Sharpe 0.652 with CI [-0.047, 1.35] straddling zero — not statistically distinguishable from no-skill

Backtest Review

Overlay barely engages (87 trades / 8 yrs) and did not protect in 2022 (-37.6%, 56.5% DD), 2025 (-19.3%), or 2026 (-6.4%)

Iteration History

Verification failed (Layer 4 — QA review): - The de-risk overlay — the entire hypothesis — fires far too rarely to be measurable or evaluable by the factory's gates. The sandbox produced only 4 trades over 349 days (all long, avg hold 76 days), ~2 de-risk/re-enter round trips per year, and the runner flagged metrics_reliable=FALSE. Over the full funding history (~6y) that is ~24 trades / ~12 de-risk episodes — far below the ~100-trade floor. The overlay's value can't be distinguished from noise with ~12 events, and the 3-phase optimization cannot populate: each walk-forward OOS window has 0-2 episodes and the 15-day holdout almost certainly ZERO (it just holds spot 15 days), so the holdout tests BTC's direction, not the strategy. Same structural unmeasurability that blocked the daily VRP idea; not fixable by re-parameterizing (hypothesis is explicitly 'a handful of switches per year'). - P&L is dominated by BTC beta, not the overlay's edge, so the factory's absolute Sharpe/PF/DD/OOS gates cannot isolate the hypothesis. benchmark_correlation 0.963, beta 0.862; holding spot by default, return tracks BTC (down -34.7%, PF 0.0066, Sharpe -0.79, DD 47.3%, largest_loss -$30,233 = holding through a BTC drawdown). The only thesis-relevant metrics (alpha 0.045, IR 0.90) are computed on 4 trades (meaningless) and are NOT what the gates use — walk-forward optimizes Sharpe and promotion_gates hard-fail on Sharpe/OOS/PF, all set by BTC's window direction. Hypothesis concedes the honest benchmark is risk-adjusted vs buy-and-hold, but the factory doesn't evaluate that way, so the strategy is mismatched and will be rejected on beta it can't influence.

Iteration History

Verification failed (Layer 4 — QA review): - The overlay is now demonstrably VALUE-DESTROYING on the hypothesis's own benchmark, and the extra events made every relevant metric worse. With metrics_reliable now TRUE (11 trades), the risk-adjusted-vs-buy-and-hold metrics the hypothesis called the honest test came out negative: alpha -0.019 (was +0.045) and information_ratio collapsed to 0.18 (was 0.90). Beta ROSE to 0.900 and benchmark_correlation to 0.974 — opposite of the predicted pull toward ~0.7, so Finding 2 is aggravated, not mitigated. Mechanistically max_derisk_bars=12 (4-day) forced re-entry buys the position back while price is still weak (funding hasn't normalised — that's why the timer fired), so each de-risk sells low and re-buys into continued weakness. total_return -41.6% (from -34.7%), PF 0.207, Sharpe -0.996. Across both iterations the funding-euphoria de-risk does not beat buy-and-hold; the larger reliable sample reveals the edge as negative/absent. - The measurability fix undershot its own target. The developer projected ~12-20 episodes/year (~100+ over full history), but the sandbox produced only 11 total trades over 349 days — ~5 de-risk round trips/year. Over the ~6-year history that is ~33-66 trades, still below the ~100 floor the developer set as the bar, and the walk-forward OOS / 15-day holdout still cannot be reliably populated with de-risk episodes. The core constraint from iteration 1 — too few independent decisions — is only marginally improved (4→11) and remains unmet.

Iteration History

Verification failed (Layer 4 — QA review): - The hypothesis is now decisively falsified on a reliable sample, and the developer's OWN pre-registered abandon criterion is met verbatim. They wrote: 'if this iteration still shows negative alpha with a now-reliable sample ... the hypothesis should be abandoned rather than iterated a fourth time.' It does: metrics_reliable=TRUE (17 trades), alpha -0.1015, IR -0.75 — both the WORST of the three iterations, with every value-add metric degrading monotonically: alpha +0.045→-0.019→-0.1015; IR 0.90→0.18→-0.75; total_return -34.7%→-41.6%→-49.6%. The overlay is 0.970-correlated to buy-and-hold, beta 0.895 (the early-weakness gate did NOT lower beta), PF 0.19, win_rate 0.235, largest_loss -$18,024. The funding-euphoria signal does not time the de-risk — it exits before drawdowns that don't come and misses upside, subtracting value vs holding spot. - The measurability lever again undershot. The 15-day window + 4H bars were projected at ~12-20 round trips/year (~100+ over full history) but produced only 17 trades over 340 days (~8-9/year), ~50 over the ~6-year history — still below the ~100 floor, and the walk-forward OOS / 15-day holdout still can't be reliably populated. Even if the edge were positive (it isn't), the event stream is too thin to validate, and raising frequency on spot (0.20% RT) pushes toward fee_edge.
Strategy report

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