Skip to content
All strategies

Strategies

DOGE Perp-Premium Shock Continuation: long DOGEUSDT.BINANCE for a fixed 24h when the 24h mean premium index (perp minus spot index) sits >= 2.25 sigma above its trailing 60-day level. Single leg, long-only with a flat state (~92% flat), 1H bars, premium_index feed

Outcome: Abandoned

DogePerpPremiumShockContinuationLong

Outcome Summary

This hypothesis traded continuation after a DOGE perp-premium z-score shock: long for 24h, flat about 93% of the time. The pre-registered base passed backtest review with 138 trades at 1.28% average per trade, but its Sharpe was only 0.54, the result depended on a few large winners, and the reviewers suspected phantom MTM swings in the engine. The optimizer then moved entry_z to 1.13, well below the pre-registered shock level, and that configuration blew up (-75%, 99.6% drawdown). The holdout returned Sharpe -0.85 and PBO was 0.61, so after one iteration the analyst abandoned the strategy as overfit.

Hypothesis

A single-instrument, single-leg event trade on the DOGEUSDT.BINANCE USD-M perpetual. The signal comes from Binance's own premium index (supplementary key `premium_index`: 1m/1h premiumIndexKlines, i.e. perp price minus spot index as a fraction of index). It is collected for BINANCE USD-M, so the feed is available on this venue (L160). The signal is measured on the same instrument that is traded (L143). The trigger is premium, not price: at each 1H bar close compute P24 = the mean of the hourly premium-index……Show moreShow less

A single-instrument, single-leg event trade on the DOGEUSDT.BINANCE USD-M perpetual. The signal comes from Binance's own premium index (supplementary key `premium_index`: 1m/1h premiumIndexKlines, i.e. perp price minus spot index as a fraction of index). It is collected for BINANCE USD-M, so the feed is available on this venue (L160). The signal is measured on the same instrument that is traded (L143). The trigger is premium, not price: at each 1H bar close compute P24 = the mean of the hourly premium-index closes over the last 24 hours, then Z = (P24 - mean(P24, trailing 1440h)) / std(P24, trailing 1440h), requiring at least 720h of history. Everything is point-in-time via supp_window/supp_as_of. When Z crosses >= 2.25 and the strategy is flat, go long at the next bar and exit on a fixed 24h clock. Point-in-time pre-study on the raw catalog, run before proposing (1H bars, non-overlapping events, 2020-2026, 0.10% round trip charged). I tested the short side first because the naive prior is that a rich premium is crowded longs and should revert. It is the reverse, on every name: shorting a rich premium LOST money on DOGE, XRP, SOL and ETH. The effect is continuation. DOGE, long 24h after Z > 2.5: 125 events, mean +2.13%/trade, t = 3.35, every calendar year positive (2021 +3.8%, 2022 +0.3%, 2023 +1.2%, 2024 +3.2%, 2025 +2.3%, 2026 +1.5%), calendar Sharpe net of fees 1.35 at 6% time-in-market. The forward-return profile is +0.36/+0.82/+0.70/+2.13/+1.91% at 4/8/12/24/36h, which gives a local peak at 24h, so the clock is set there and not stretched (L166). Threshold sweep, reported so the analyst can see the curve rather than a cherry-pick: Z > 2.0 gives 218 events, +0.95%/trade, Sharpe 0.76; Z > 2.25 gives 172 events, +1.20%/trade, Sharpe 0.86, 6 of 7 years positive; Z > 2.5 gives 125 events, Sharpe 1.35. I pre-register 2.25, the middle value that still clears the ~150-trade sample floor, and not the best-looking 2.5. Control against pure price momentum (L138/L144): the same rule with the trigger replaced by a 24h-RETURN z > 2.5 gives DOGE calendar Sharpe 0.69, with 2023 and 2025 negative. The premium trigger beat the price trigger on DOGE, XRP (0.68 vs 0.42) and ETH (0.59 vs 0.37), and roughly tied on SOL. Premium events with an unremarkable 24h return (return z < 1.5) still earned +1.53%/24h on DOGE (Sharpe 1.08). The premium therefore carries information that the price tape does not; this is not a re-labelled momentum filter. DOGE is chosen because it is the most liquid high-retail-leverage perp where the effect is strongest and year-stable. It is not a never-traded name (L136). XRP is the fallback expression if DOGE is judged over-concentrated.

This implements the hypothesis as pre-registered: the trigger is the premium, measured on the traded instrument, entry_z is 2.25 and the hold is 24h. Point-in-time handling: premiumIndexKlines rows are stamped at kline OPEN, so each row becomes usable only at open + interval (1m/5m/1h; untagged rows are the 1m Vision series). The hourly grid is close-stamped like the bars, and the z-window includes only values at or before the bar. The full Z series is built once with numpy (about 4s on the 2.9M-row DOGE feed).……Show moreShow less

This implements the hypothesis as pre-registered: the trigger is the premium, measured on the traded instrument, entry_z is 2.25 and the hold is 24h. Point-in-time handling: premiumIndexKlines rows are stamped at kline OPEN, so each row becomes usable only at open + interval (1m/5m/1h; untagged rows are the 1m Vision series). The hourly grid is close-stamped like the bars, and the z-window includes only values at or before the bar. The full Z series is built once with numpy (about 4s on the 2.9M-row DOGE feed). Per bar the cost is one searchsorted lookup. The signal is a pure function of the bar timestamp, so it is restart-safe. The hold clock uses the engine position's ts_opened, not a counter. Entry uses the Z level while flat, not a strict up-cross. That matches the pre-study's non-overlapping-event count: 144 events against 89 with a cross. With no premium data the signal is 0.0 and the strategy stays flat; there is no price-based fallback. Venue note: the book is long-only at 1x, which would normally route to spot. It stays on DOGEUSDT.BINANCE because the edge is the perp's own premium and the hypothesis trades that perp (L143). PIPELINE WARNING for QA/analyst: PipelineProcessor._collect_supplementary_data does not load premium_index. The Layer-3 sandbox therefore feeds this strategy SYNTHETIC premium (one row per ~120h, rounded to 4dp), so sandbox trade counts and PnL do not test the edge. Only the full backtest, via supp_collector, loads the real feed. Judge the edge on the full backtest.

Failure code: overfit, taken from the first measured report and the optimization, not fee_edge. The first report's avg_trade_return_pct was 1.28%, against the 0.15% USD-M floor, so it cleared the floor 8.5x. Two HARD validity floors failed, and neither can be waived: (1) holdout Sharpe was -0.85 on 72 trades (2025-05-28 to 2026-08-16), so the forward edge did not show up on an adequate unseen sample, and the base run's own 2026 return of -18.8% agrees; (2) PBO was 0.61. The optimizer abandoned the pre-registered……Show moreShow less

Failure code: overfit, taken from the first measured report and the optimization, not fee_edge. The first report's avg_trade_return_pct was 1.28%, against the 0.15% USD-M floor, so it cleared the floor 8.5x. Two HARD validity floors failed, and neither can be waived: (1) holdout Sharpe was -0.85 on 72 trades (2025-05-28 to 2026-08-16), so the forward edge did not show up on an adequate unseen sample, and the base run's own 2026 return of -18.8% agrees; (2) PBO was 0.61. The optimizer abandoned the pre-registered shock threshold (2.25) for entry_z 1.13, which is not a shock at all. That configuration blew up: -75% total return, 99.6% drawdown, PF 0.99, and impact 105% of gross. The Sharpe 0.54 of the pre-registered base has a CI that straddles 0 (-0.19 to 1.31), 56% of its profit comes from one month (Nov 2024), and its 37.6% drawdown is almost twice the pre-registered 20%. The hypothesis's own predictions met 2 of 6. This is not beta under L170: the strategy drew down 37.6%, against roughly 80-90% for buy-and-hold DOGE. For the Research Lead: premium-shock continuation on DOGE is not robustly present at the engine level, since the pre-study's Sharpe of 0.86-1.35 did not reproduce (0.54), and it turned negative out of sample. Do not re-propose single-name DOGE variants at a different Z or clock. The XRP fallback shares the mechanism and the same small-sample shape, so propose it only as a pre-registered multi-name panel (DOGE/XRP/SOL/ETH, same Z and 24h clock) that would give 300+ events and a measurable holdout. For engine review, not verified: identical paired daily MTM swings recur on unrelated dates (for example -21.49%/+27.37% on 2024-03-21, 2024-05-09 and 2024-08-24), and there is a -21.4% final-bar print, which is the phantom-MTM symptom already flagged at backtest_review. Separately, the optimization search space should bound entry_z near the pre-registered value (the review asked for 2.0-2.75), and it did not.

Implementation

Single-leg long-only event trade on the DOGEUSDT USD-M perp, on 1H bars. Every hour the strategy builds P24, the mean of the last 24 hourly closes of Binance's premium index (premium_index / premiumIndexKlines). It then computes Z, P24 z-scored against its trailing 1440h window (at least 720 valid points). When Z >= 2.25 and the book is flat, it buys at market with 1.0x equity notional and exits on a fixed 24h clock read from the position's ts_opened. There is no stop, no take-profit and no other filter. Offline replay on the real catalog feed gives about 144 non-overlapping events from 2020 to 2026 (12-24 per calendar year), so the book is flat about 93% of the time.

Verification Results

Acceptable as-is. The analyst should read the trade count against the pre-registered ~172 events. If a strict cross is wanted, track the previous Z from the precomputed series (self._z[i-1]), which is restart-safe.

Entry fires on the Z LEVEL while flat, not on an up-cross ('When Z crosses >= 2.25'). After a 24h exit, if Z is still >= 2.25 the strategy re-enters on the next bar, so one long premium episode can chain into several back-to-back 24h holds. The developer documents this as matching the pre-study's non-overlapping-event definition (144 events against 89 with a strict cross), so it is a disclosed interpretation, not a defect.

Keep the code as pre-registered. The analyst should check the largest single-trade loss and the max drawdown against the venue drawdown floor in the full backtest.

Per-trade risk: 100% of equity notional at 1x with no stop for 24h. This is not an always-in or compounding design (L148): it is flat about 93% of the time, has a fixed clock exit, and position_frac x leverage = 1.0 with no dynamic scalar, so worst-case gross is 1.0x equity (<= venue max). But the worst single-trade loss equals DOGE's worst 24h drawdown after an entry, which is far above the 1-2% of equity guideline. The hypothesis specifies no stop, so the code is faithful.

No strategy change is needed.

The sandbox metric avg_holding_bars=0.0 conflicts with avg_holding_period '1d 0h 0m'. This is a metrics-side reporting quirk, not a strategy defect. The ledger reconciles (12 trades x 1.82% ≈ 21.8% against a total_return of 18.96%, within L140 tolerance), and total_trades=12 matches the 24 fills for a single-leg book.

Funding is not in the ledger (sandbox funding_folded=false, funding_events_available=0), and the pre-study charged only a 0.10% round trip. The trigger is a rich perp premium, and that is exactly when longs pay the most funding. At Z>=2.25, DOGE funding can plausibly run 0.03-0.1% per 8h, so a 24h hold covers 3 fundings and could cost 0.1-0.3% per trade. That is a material fraction of the pre-registered +1.20%/trade. The analyst should confirm that the full backtest folds funding (or subtract it manually from the funding_rates feed) before judging the fee edge. The sandbox also ran on synthetic premium rows (per the developer), so its 12 trades and PF 1.99 say nothing about the edge. One further point: 1x equity per event with no stop means a single bad 24h DOGE move (-20 to -30%) lands directly on equity.

Backtest Review

Sharpe
0.54
Total return
216.50%
Max drawdown
37.58%
Trades
138
Win rate
51.4%
Profit factor
1.42

The trades implement the hypothesis: 138 long-only 24h holds with 6.5% exposure, close to the pre-study's roughly 144 events.

Funding is folded into the ledger at about -0.077% per trade. Mean realized pnl_pct is 0.92% against the 0.15% floor, and PF is 1.42.

All 7 calendar years are positive on realized trades.

Beta is 0.09 and the 37.6% drawdown is far below DOGE buy-and-hold's, so this is not beta (L170).

Suspected engine MTM artifact: paired -X/+X daily moves while flat (identical pairs on 2021-05-13/07-01 and 2024-03-21/05-09/08-24) and a -21.4% final bar while flat. These inflate drawdown and CVaR and depress Sharpe (0.54, CI -0.19 to 1.31). Mechanism not verified.

Profit is concentrated: 2024 carries about 48%, and the top 5 trades sum to about 100%. The other 133 trades average about 0.20%, and the trade t-stat is 1.70.

Sizing is 1x equity per event with no stop.

Analysis

Per-trade economics clear the fee floor. The pre-registered base (entry_z 2.25, 24h clock) made 138 trades at avg_trade_return_pct 1.28%, against the 0.15% USD-M floor (8.5x), with PF 1.42, and it was profitable in 6 of 7 calendar years. This is therefore not a fee_edge death.

Not beta under L170. Base max drawdown was 37.6%, against roughly 80-90% for buy-and-hold DOGE over 2020-2026. Beta was 0.09 and exposure 6.5%.

Sensitivity found no cliffs. The base-parameter Sharpe stays between 0.57 and 0.95 across the entry_z and hold_hours variations.

HARD: holdout failed. Sharpe was -0.85 on 72 trades from 2025-05-28 to 2026-08-16. The sample is adequate, so this is a measured negative forward result, not a thin one.

HARD: PBO 0.61 > 0.5. The in-sample winner ranked below the OOS median in most CPCV splits. best_picked_share was only 0.07, so the chosen parameters are fragile.

The optimizer ran away from the pre-registered design. It picked entry_z 1.13, which is barely a 'shock' (the hypothesis pre-registered 2.25 and said 2.0 was already the weak end). The optimized full-period backtest is degenerate: total return -75%, max drawdown 99.6%, PF 0.99, impact 105% of gross, avg_position_pct 375%, capacity about $91k, the equity curve effectively ends in Oct 2021, and metrics_reliable=false because the sign of the Sharpe disagrees with the return.

Base run robustness: Sharpe 0.54 with CI [-0.19, 1.31], which straddles 0, and PSR 0.67. Optimized DSR is 0.69 against an expected max of 0.41. The candidate does not survive programme-level FDR (p 0.31).

The pre-registered prediction met 2 of 6 criteria. Base max drawdown was 37.6% against the declared 20%, and optimized OOS Sharpe was 0.69 against the declared 0.7. The Research Lead's own pre-study claimed Sharpe 0.86 at Z>2.25; the engine measured 0.54.

Profit is concentrated: Nov 2024 alone is +121.6% of the +216% total. The base run's 2026 is -18.8%, which agrees with the negative holdout.

Suspected engine artifacts, not verified: identical paired daily MTM swings recur on unrelated dates (-21.4855/+27.365 on 2024-03-21, 2024-05-09 and 2024-08-24; -10.736/+12.0273 on 2021-05-13 and 2021-07-01), and there is a -21.37% print on the last bar, 2026-08-17. This is the same phantom-MTM symptom flagged at backtest_review. It distorts the daily Sharpe and drawdown series, but trade-level PF and avg_trade come from the ledger.

Benjamini-Hochberg at q=0.10 over 330 programme candidates keeps 8. A candidate that does not survive here is not distinguishable from the programme's own noise, however good its individual statistics look.

Outcome Summary

The pre-study's Sharpe of 0.86-1.35 did not reproduce in the engine (0.54) and turned negative out of sample, so a single-name premium-shock edge should only be re-tested as a pre-registered multi-name panel (DOGE/XRP/SOL/ETH) with the optimizer's entry_z search bounded near the pre-registered threshold.

The analyst abandoned it as overfit because two hard validity floors failed: holdout Sharpe -0.85 (2025-05-28 to 2026-08-16) and PBO 0.61 > 0.5. It also did not survive programme-level FDR (p 0.31), its drawdown was far above the pre-registered 20%, and only 2 of 6 pre-registered predictions were met.

Go long the DOGEUSDT.BINANCE perpetual for a fixed 24h whenever the 24h mean of Binance's perp-minus-spot premium index sits at least 2.25 sigma above its trailing 60-day level, on the theory that premium shocks carry continuation information the price tape does not.

With the pre-registered parameters (entry_z 2.25, 24h hold) the backtest made 138 long trades, returned +216.5% at Sharpe 0.54 (CI -0.19 to 1.31), averaged 1.28% per trade with PF 1.42, and had a 37.6% max drawdown, with profit heavily concentrated in Nov 2024. Walk-forward OOS Sharpe was 0.69, but the holdout Sharpe was -0.85 on 72 trades. The optimizer's pick (entry_z 1.13, 31h hold) produced a degenerate full-period run: -75.3% return, 99.6% drawdown, PF 0.99.

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