Skip to content

View translation

DogeOpenInterestAccelerationMomentumLong

Hypotheses

DOGE Open Interest Acceleration Continuation Momentum Long (4H)

Hypotheses

A long-only single-instrument FLOW-DRIVEN MOMENTUM strategy on DOGEUSDT perpetual futures (Binance USD-M) triggered by accelerating open interest growth — a clear signal that new leveraged longs are entering positions. The strategy uses the supplementary `open_interest` data series, which is COMPLETELY UNUSED by any in-pipeline strategy (funding, liquidations, taker_ratio, and OHLCV are already covered by existing strategies). Uses a NEW SYMBOL (DOGE — not BTC/ETH/SOL/BNB/LINK/AVAX already in the portfolio). Designed to be MAXIMALLY SIMPLE with just 2 core decision parameters (OI growth threshold, exit time stop) — explicit response to feedback that overfitting has been a recurring issue across the 10 recent failed daily candlestick/pattern strategies.

Hypotheses

Iteration 2 fixes the Layer-2 (synthetic) failure 'DogeOpenInterestAccelerationMomentumLong._to_ns() takes 1 positional argument but 2 were given'. Root cause: _to_ns was a @staticmethod but is invoked as self._to_ns(...); the Layer-2 verification proxy rebinds strategy helpers as instance methods and passes self, so the 1-arg staticmethod received 2 args. The minimal fix converts _to_ns from a staticmethod to an instance method (drop @staticmethod, add self); the call site in _build_oi already uses self._to_ns(...), so no other change is needed, and _oi_at/_position are already instance methods. Every other line -- the OI series build, causal lookup, OI-growth + price-change signal, entry/exit gates, and sizing -- is byte-identical to the previous iteration, preserving all Layer-1 checks (clean imports, subclass, methods) and the passing signal logic. This is the same recurring synthetic-proxy gotcha where @staticmethod helpers invoked through self break only under verification.

Hypotheses

DOGE OI-acceleration momentum fired only 12 trades in 39,030 4H bars, all confined to 2026-03-30 through 2026-05-15 — untestable. Root cause is the same supplementary-data-coverage gap that already sank five derivatives-state strategies this session: the OI-growth signal needs open_interest samples 24h apart, and every one of the 12 entries lands in a recent ~6-week window, meaning the DOGE open_interest feed has no usable historical coverage and _oi_at() returns None for nearly every bar before 2026-03. The 'completely unused open_interest data' framing is correct that it's unused, but the data itself isn't there historically. The metrics are meaningless on n=12 in a single regime (Sharpe 2.90 with sharpe_ci_low -2.34 / ci_high +6.82). Not optimize: a 3-phase optimization (walk-forward 3 windows + 15-day holdout) is impossible on 12 trades spanning ~6 weeks. Not iterate: the implementation is correct (causal OI lookup, multiple key-format fallbacks, simple 2-param design) and the blocker is structural historical coverage of the open_interest feed — a data-engineering backfill task. FAILURE PATTERN: ALL Binance derivatives-state supplementary feeds (open_interest, account L/S ratios, liquidations) lack multi-year history — only a recent ~2-month window is populated — so ANY strategy gating on them fires a handful of times in 2026 and zero before. This is now the SIXTH consecutive identical data-gap abandon this session (OI-surge, OI-spike, OI-percentile, L/S-divergence, liquidation-cascade, and this DOGE OI-acceleration), across multiple symbols and timeframes — a decisive systemic signal, not a per-strategy issue. These mechanism classes must be shelved until the data engineer backfills historical open_interest, L/S-ratio, and liquidation data; the Research Lead should stop proposing ANY derivatives-state-data-primary hypothesis until multi-year coverage is confirmed, and the analyst's reliable-data-path guidance should explicitly blacklist these feeds for historical strategies.

Implementation

Long-only DOGEUSDT.BINANCE 4H open-interest-acceleration continuation momentum. Each 4H bar it reads the causal open-interest series from supplementary_data and computes OI growth and price change over a fixed 24h (6-bar) window; it enters long when OI growth >= oi_growth_threshold AND price change >= 0 (new leveraged longs entering into a rising price). It exits on the earliest of a 12-bar time stop or a -6% hard stop. Fixed 20% position notional, leverage 1.0. Two core tunable parameters (oi_growth_threshold, exit_time_stop_bars) to resist overfitting.

Verification Results

Verification failed (Layer 2 — synthetic scenarios): Parameters used: ['min_notional', 'exit_time_stop_bars', 'oi_growth_threshold'] Check that __init__ sets all attributes from self.parameters.get(). - steady_uptrend: TypeError: DogeOpenInterestAccelerationMomentumLong._to_ns() takes 1 positional argument but 2 were given (bar timestamp: 1735690020000) - steady_downtrend: TypeError: DogeOpenInterestAccelerationMomentumLong._to_ns() takes 1 positional argument but 2 were given (bar timestamp: 1735690020000) - flat_ranging: TypeError: DogeOpenInterestAccelerationMomentumLong._to_ns() takes 1 positional argument but 2 were given (bar timestamp: 1735690020000) - volatility_spike: TypeError: DogeOpenInterestAccelerationMomentumLong._to_ns() takes 1 positional argument but 2 were given (bar timestamp: 1735690020000) - zero_volume: TypeError: DogeOpenInterestAccelerationMomentumLong._to_ns() takes 1 positional argument but 2 were given (bar timestamp: 1735690020000) - price_gap: TypeError: DogeOpenInterestAccelerationMomentumLong._to_ns() takes 1 positional argument but 2 were given (bar timestamp: 1735690020000)

Backtest Review

Clean, correct, maximally-simple implementation (2 core params, causal OI lookup, key-format fallbacks); novel OI-momentum signal on a fresh symbol (DOGE)

Backtest Review

DECISIVE: only 12 trades in 39,030 bars, all confined to 2026-03-30 to 2026-05-15 — the open_interest feed has no historical coverage, so the signal never activates pre-2026-03

Backtest Review

Metrics meaningless on n=12 in a single ~6-week regime: Sharpe 2.90 with CI -2.34 to +6.82; cannot support a 3-window walk-forward + 15-day holdout

Backtest Review

SIXTH derivatives-state supplementary-data strategy this session blocked by the identical recent-only coverage gap (OI-surge, OI-spike, OI-percentile, L/S-divergence, liquidation-cascade all abandoned)

Outcome Summary

DogeOpenInterestAccelerationMomentumLong applied a clean, maximally-simple 2-parameter OI-acceleration momentum signal to a fresh symbol, betting that accelerating open interest into rising price marks continuing new-long flow. The implementation was correct (causal OI lookup, key-format fallbacks), but it fired only 12 trades — all within a single ~6-week 2026 window — because the DOGE open_interest feed has no usable historical coverage, leaving the metrics meaningless on n=12. This was the sixth consecutive Binance derivatives-state-data strategy of the session blocked by the identical recent-only coverage gap after the OI, L/S-divergence, and liquidation-cascade hypotheses, confirming a systemic blocker. The analyst abandoned it on its second iteration as a data-engineering backfill task no code change can fix, recommending the Research Lead stop proposing any derivatives-state-data-primary hypothesis and the feeds be blacklisted for historical strategies until multi-year coverage is confirmed.

Outcome Summary

All Binance derivatives-state supplementary feeds — open interest, account L/S ratios, and liquidations — currently lack multi-year history (only a recent ~2-month window is populated), so any strategy gating on them fires a handful of times in 2026 and never before; six consecutive identical data-gap abandons across multiple symbols and timeframes is a decisive systemic signal, and the entire class must be shelved until backfilled.

Outcome Summary

The analyst abandoned it at the backtest-review gate before optimization because of the same supplementary-data-coverage gap that had already sunk five derivatives-state strategies this session: the OI-growth signal needs open-interest samples 24h apart, but the DOGE open_interest feed has no usable historical coverage, so the lookup returned nothing before 2026-03 and every entry clustered in a recent window — a structural data-engineering blocker, not a strategy flaw.

Outcome Summary

A long-only, single-instrument DOGEUSDT 4H flow-momentum strategy using open interest as the primary signal — over a 24h window, entering long when OI grew at least 5% (accelerating leveraged longs) while price was also rising, exiting on a 12-bar time stop or a 6% hard stop, kept deliberately to just 2 tunable parameters on a fresh symbol (DOGE) and an in-pipeline-unused open_interest feed to address recurring overfitting.

Outcome Summary

It was effectively untestable: the signal fired only 12 trades across 39,030 4-hour bars, all confined to a ~6-week window (2026-03-30 to 2026-05-15), making the metrics meaningless on n=12 in a single regime (Sharpe 2.90 with a CI of -2.34 to +6.82, win rate 58.3%, total return 2.26%).
Strategy report

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