Skip to content

View original

DogeFreshMoneyBreakoutContinuationLS

Hypotheses

DOGE USD-M Fresh-Money Breakout Continuation, Long-Short (Single-Instrument BINANCE Perp, 15m Bars + Multi-Year OPEN-INTEREST Metrics Feed, Trade Breakouts ONLY When Open Interest Surges — Ride Fresh Leveraged Impulses, Skip Hollow Position-Unwind Moves, 3-Parameter)

Hypotheses

A LONG-SHORT, single-instrument, short-horizon strategy on DOGEUSDT.BINANCE (USD-M perp, 15m bars) that gates directional breakouts by a genuine NON-PRICE feed: perp OPEN INTEREST from the Binance VISION 'metrics' files (sum_open_interest column, MULTI-YEAR back to ~2020 at 5-min granularity aggregated to 15m — NOT the 30-day-limited futures-data API). The insight (classic four-quadrant OI analysis): a price breakout on RISING open interest is FRESH leveraged money committing to a direction and tends to CONTINUE; a breakout on FALLING OI is existing positions unwinding (short-covering / long-liquidation) — hollow, no follow-through — and is skipped. DOGE is chosen deliberately: it is one of the most leverage-/retail-driven perps, so OI surges are large, frequent, and highly informative for impulse follow-through. This is distinct from every pending/failed item: NOT pure OHLCV (L30 — OI is a separate committed-capital series and is the gate that makes/breaks the trade), NOT the OI-FLUSH REVERSAL that lost -13% on SOL (that FADES OI collapses; this FOLLOWS OI expansions — opposite sign), NOT the OI-momentum WEEKLY BASKET that died no_trades (that was long-only, weekly, multi-name; this is 15m, long-short, single-name and fires often), NOT funding (L13/L28), NOT taker-flow divergence (SolTakerFlow) or positioning-fade (EthRetail) or spot exhaustion (AvaxSpot) — different feed and mechanism. Fills TWO under-represented buckets at once: short_1m_15m horizon (7.9% vs ≥10%) and long_short direction (14.5%). 3 parameters to resist overfit.

Hypotheses

Two things needed doing here. First, fidelity: the clean restart removed the QA performance verdicts that drove the previous two iterations, and those iterations had moved the code away from the hypothesis in response to them — to 1-HOUR bars (the hypothesis specifies 15m and is meant to fill the short_1m_15m bucket) and to long-only (the hypothesis is explicitly long-short and fills the long_short bucket). With those verdicts withdrawn as invalid evidence, the right move is to revert both, which I did, keeping the hypothesis's own three-parameter surface of breakout_window, oi_lookback and oi_surge. Second, and more important, I measured the premise rather than resubmitting it for another smoke test. On 166,752 real DOGEUSDT 15m bars from 2021-12-01 to 2026-09-02, joined to the real metrics OI series (474,174 rows, no nulls), the average signed forward return of an OI-gated Donchian(24) breakout — long on up-breaks, short on down-breaks — is NEGATIVE BEFORE FEES in all twelve gate/horizon cells tested, ranging from -0.052% to -0.538% gross against a 0.10% round trip. This is therefore not the fee problem the earlier iterations were chasing; a coarser timeframe or wider target cannot rescue a mechanism whose gross sign is wrong. Decisively, the edge deteriorates monotonically as the OI surge threshold rises (-0.053% to -0.083% at H=4, and -0.160% to -0.538% at H=16), which directly inverts the hypothesis's core claim that a larger OI surge marks fresher committed capital and stronger continuation — on DOGE 15m the gate is selecting the worse breakouts, not the better ones. That result is independent of parameterisation, fee model and execution assumptions, which is why I am reporting it now rather than letting another cycle rediscover it. The submitted code implements the hypothesis faithfully so that what gets evaluated is what was actually proposed, and I added _param_bounds so any optimisation stays in the intended ranges.

Hypotheses

Mechanism falsified on its own instrument/timeframe/feed — not worth 2 hours of optimization, and the developer's iteration-2 docstring pre-registers this abandon. Over 436 trades on 4.7 years of real DOGEUSDT 15m bars joined to the real multi-year OI series: avg_trade_return_pct -0.071% (negative before fees), total_return -53.3%, Sharpe -0.34, Sortino -0.18, profit_factor 0.76, information_ratio -0.93, max_drawdown 55.7% (CI to 96%, L19 hard abandon), negative in every year but 2022 and negative in all three vol regimes. The developer measured the OI-gated Donchian breakout gross-of-fees across four horizons and three OI-surge thresholds — all 12 cells negative — and the edge gets monotonically WORSE as the OI surge threshold rises (-0.053%->-0.083% at H=4; -0.160%->-0.538% at H=16), the exact opposite of the hypothesis's claim that a bigger OI surge marks fresher committed capital with stronger follow-through. The gate meant to separate real impulses from hollow unwinds is actively selecting the worst breakouts. This is parameter-independent — no sweep can tune toward an edge that does not exist. L73 single-perp OI-gated directional family (0 survivors) crossed with L30 short-horizon breakout graveyard. Failure pattern: no_edge single-perp OI-confirmed breakout, premise falsified gross-of-fees (L73/L30).

Implementation

Long-short breakout continuation on DOGEUSDT.BINANCE USD-M perpetual, 15-minute bars, gated by perp open interest from the multi-year Binance Vision metrics feed. Each bar the strategy reads open interest as-of the bar timestamp (point-in-time binary search over a once-parsed sorted array) and computes its change over the last oi_lookback bars. A close above the prior breakout_window-bar Donchian high goes LONG and a close below the prior low goes SHORT, but only when open interest has risen by at least oi_surge over the lookback — the four-quadrant reading that a breakout on rising OI is fresh leveraged money committing, while a breakout on flat or falling OI is an existing-position unwind with no follow-through and is skipped. Positions exit on a 16-bar (~4h) time stop, a 4% take-profit, a 2% stop, or an opposite breakout. Single instrument, 50% of equity, leverage 1.0.

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

Acceptable; update the hypothesis record to the 1h horizon if promoted.

Verification Results

Timeframe drift: hypothesis specifies 15m bars, config is 1-HOUR. Documented iter-2 fee-viability change; same instrument + OI mechanism, so a legitimate iteration, not a mislink.

Verification Results

Acceptable harm-reduction iteration; note the direction change on the hypothesis.

Verification Results

Direction drift: hypothesis is LONG-SHORT, code is LONG-ONLY (iter-3 dropped the short side after short_win_rate 0.20). Same mechanism/instrument; run no longer serves the long_short bucket goal.

Verification Results

Optionally skip entries when as-of OI is older than N bars rather than carrying it forward indefinitely.

Verification Results

OI is carried forward when _oi_asof returns None — point-in-time safe (no leakage) but a long stale gap flattens oi_change and silently suppresses entries.

Backtest Review

Clean implementation faithful to the hypothesis; O(log n) OI as-of lookup is timeout-safe

Backtest Review

Genuine multi-year non-price OI feed wired correctly (436 entries submitted, no size-zero drops)

Backtest Review

Developer honestly measured and pre-registered the premise falsification rather than hiding it

Backtest Review

avg_trade_return_pct -0.071% — negative before even reaching the 0.15% USD-M fee floor

Backtest Review

total_return -53.3%, Sharpe -0.34, Sortino -0.18, PF 0.76, information_ratio -0.93

Backtest Review

profit_factor < 1 and negative annual returns in 2021/2023/2024/2025/2026; only 2022 marginally positive

Backtest Review

max_drawdown 55.7% (CI to 96%) — hard-abandon per L19

Backtest Review

Mechanism directly falsified: OI-gated breakouts are negative gross-of-fees across all 12 horizon/threshold cells, and edge worsens as OI surge rises — opposite of the thesis

Backtest Review

Losing across all vol regimes (calm/normal/stressed Sharpe all negative)

Analysis

Backtest gate: - metrics unreliable: 236 trades / 2245 data days is too little evidence (need >=5 trades over >=10 days) — increase signal frequency or widen the window

Iteration History

Verification failed (Layer 4 — QA review): - FEE-VIABILITY FAILURE on a measurable sample. High-turnover 15m long-short breakout (97 trades / 363 days, turnover 125.5, avg hold 3h48m). Sandbox realized avg_trade_return_pct 0.047% per trade — below the 0.15% futures floor AND the ~0.10% round-trip taker cost. Decisive net loser: total_return -19.93%, profit_factor 0.736, Sharpe -0.53 (CI [-2.24, +0.96]), expectancy -$205.43/trade, total_impact_usd $13,316. Adverse win/loss structure (win_rate 0.45, avg_win $1263 < avg_loss $1425). Well-sampled (97 trades) — not noise. A 15m OI-gated breakout must net > ~0.10-0.15% per trade to profit; it nets 0.047% gross and negative net. Re-parameterizing the 3 knobs cannot flip a structurally negative high-turnover expectancy. - Positive avg_trade_return_pct (0.047%) coexists with negative dollar expectancy (-$205/trade) and total_return -19.9%; the unweighted percent metric overstates edge vs the impact-inclusive dollar result. Both readings agree the strategy is unviable.

Iteration History

Verification failed (Layer 4 — QA review): - SECOND consecutive fee-viability / no-edge failure — the structural 1h fix made it WORSE, not better. Sandbox: avg_trade_return_pct -0.705% per trade (now decisively NEGATIVE vs the ~0.10% round-trip cost), total_return -22.95% (worse than iter-1's -19.9%), profit_factor 0.541 (worse than 0.736), win_rate 0.333, Sharpe -0.96 (CI [-2.70, +0.62]), expectancy -$850/trade. The breakout-quality margin + coarser bar removed the marginal winners and left a decisively losing directional bet (short_win_rate 0.20 on 15 shorts). The OI-gated breakout-continuation mechanism has no fee-clearing edge on DOGE in EITHER timeframe (15m -19.9%; 1h -22.95%). Matches the developer's own abandon criterion stated in the config rationale. - Trade count collapsed to 27 over 363 days — below the measurability floor. The added breakout_margin plus oi_surge 0.03 over-tightened the gate. The sign is unambiguously and strongly negative so the no-edge conclusion is safe, but the strategy couldn't be advanced on trade-count grounds regardless. Loosening the gate reintroduces the iter-1 high-turnover sub-fee failure — the two failure modes bracket a mechanism with no viable operating point.

Iteration History

Verification failed (Layer 4 — QA review): - DIRECTION MISMATCH — the code no longer implements the hypothesis. The hypothesis is explicitly and repeatedly LONG-SHORT (title 'Fresh-Money Breakout Continuation, Long-Short', description 'LONG-SHORT, single-instrument', and its stated purpose of filling the 'long_short direction (14.5%)' bucket). Iter-3 removed the short branch entirely — should_enter returns only OrderSide.BUY, sandbox shows 36 long / 0 short. A long-only strategy does NOT fill the long_short bucket the hypothesis exists to fill, so the code implements a materially different strategy than its hypothesis. Per checklist item 1 (direction must match), this is a critical mismatch, consistent with prior QA rulings against long-short→one-directional drift. - Mechanism exhausted; the marginally-positive iter-3 is a thin, regime-dependent long-bias sample. As designed (long-short) the mechanism lost -19.9% (15m) then -22.95% (1h, avg -0.705%/trade). Iter-3 turns positive (+11.8%, avg 0.561%, PF 1.22) only by dropping the losing short side and going long-only — on just 36 trades over 363 days (below the ~100 measurability floor), Sharpe 0.258 with CI [-1.42,+1.70] straddling zero, beta 0.115 / benchmark_correlation 0.356 to a rising DOGE. This is directional drift in a one-year up-window, not a robust fresh-money-continuation edge. The developer's own rationale calls this 'a formal ABANDON-RECOMMENDATION deliverable' and states the 'pre-registered abandon criterion is now MET'.
Strategy report

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