Strategies
DOGE Perp Funding-Extreme Contrarian Fade, Long-Short (Single-Instrument DOGEUSDT.BINANCE USD-M — Fade Over-Leveraged Retail Positioning: SHORT When Own-Funding Is in an Extreme HIGH Percentile and Price Rolls Over, LONG When Funding Is Extreme-Negative and Price Turns Up, Funding-Normalization Exit, 3-Parameter)
Outcome: Abandoned
DogePerpFundingExtremeContrarianFadeLS
Outcome Summary
This strategy deliberately pivoted away from the funding-carry and cross-venue-spread ideas that had already died, reusing DOGE's own funding rate purely as a crowd-positioning signal to fade retail extremes with a price-confirmation gate — a clean, cheap-to-backtest single-instrument design that loaded funding correctly and filled the long-short/non-BTC buckets. But the backtest exposed a hollow edge: profit factor 1.012, a negative total return, a 77.2% drawdown, and profitability that vanished once the single 2021-01-31 DOGE squeeze day was removed, leaving a strategy that lost money in every recent year and could only work at trivial scale given 86.7% modeled impact cost. The analyst abandoned it at backtest review as catastrophic and non-repeatable — a single tail event masquerading as an edge in the no-survivor alt-mean-reversion family — rather than spend hours optimizing toward a parameter region that does not exist.
Hypothesis
Iteration 2 fixes exactly the reported Layer-2 failure and nothing else. The failure was `TypeError: _event_ts() takes 1 positional argument but 2 were given` in all six synthetic scenarios: `_event_ts` was a 1-arg `@staticmethod` on the class, and the Layer-2 `_StrategyProxy` re-binds every class callable as a bound instance method, so `self._event_ts(bar)` arrived as `(self, bar)`. The minimal fix is to move that helper OUT of the class to a module-level free function `_event_ts(bar)` (immune to the proxy's rebinding) and update its four call sites to `_event_ts(...)`. No other logic, imports, parameters, thresholds, or sizing were touched — the Layer-1-clean import set (numpy, decimal, nautilus_trader, src) is unchanged, and the signal/entry/exit/sizing bodies are byte-identical apart from the helper name. Verified locally: Layer 1 static analysis passes with zero errors and all six Layer-2 scenarios now pass with no exceptions and no frozen-signal warnings (the signal varies bar-to-bar via the funding-percentile base plus the small ATR-normalized roll-over term).
Losing strategy with a blowup risk profile: profit_factor 0.977, total_return -35.1%, negative expectancy (-$21.43/trade), and max_drawdown 72.7% (CI high 100.4%) — past the 50% hard-abandon threshold. The only positive contribution is a single freak day (2021-01-31, +102.7% daily return; kurtosis 1047, skew 30); excluding it the book is uniformly negative, with recent years all losing (2023 -18%, 2024 -26%, 2025 -11%, 2026 -3.8%). Capacity is toy-scale (impact_cost_pct 140%, capacity ~$50k). avg_trade_return_pct 0.478% clears the fee floor but net expectancy is negative — the funding-extreme fade catches knives despite the price-confirmation gate. Third pass on this hypothesis (previously abandoned at iteration 2); parameter tuning cannot fix a PF<1, deep-drawdown, outlier-driven result. Failure pattern: single-name mean-reversion/fade with negative net edge and catastrophic drawdown (mean_reversion class, ~0 survivors).
Implementation
Long-short contrarian fade of crowded positioning on the DOGEUSDT.BINANCE USD-M perpetual. The instrument's OWN 8h funding rate is used purely as a sentiment/positioning gauge (not as carry): its rolling tie-aware percentile rank over the last `funding_lookback` funding events is centered to [-1, +1]. When that score is at an extreme HIGH (crowded, paying longs) AND the last bar has begun to roll over, the strategy SHORTS; when it is at an extreme LOW (crowded/capitulating shorts) AND the last bar has turned up, it goes LONG. Exits are funding NORMALIZATION (score back inside the neutral band), a bounded ATR stop, or a calendar time stop. Sizing risks a fixed fraction of equity at the ATR stop with an independent gross-notional cap.
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.
Consider a stronger confirmation (multi-bar reversal, close below prior N-bar low, or an ATR-scaled roll-over threshold).
The price-confirmation gate is a single 1H bar's return sign (ret<0 for shorts, ret>0 for longs). This filters roughly half of all bars and does not meaningfully confirm a 'roll-over' — a one-hour down-tick within a still-accelerating up-move still passes. The hypothesis motivates this gate as the defense against fading an accelerating move; a single-bar sign is a weak implementation of that intent.
Reduce max_notional_frac or let risk_frac bind more often so the ATR-stop risk model governs sizing.
max_notional_frac 0.50 with leverage 1.0 caps each position at ~50% of equity, and avg_position_pct (~48%) shows this cap binds on most trades rather than the 1.5% risk_frac. Combined with 91x turnover this concentrates a large fraction of equity per trade on a high-vol alt and contributes to the 60% sandbox drawdown. Not a blow-up path (no leverage, single position, ATR + time stops), so informational.
Backtest Review
- Sharpe
- 0.45
- Total return
- -35.08%
- Max drawdown
- 72.72%
- Trades
- 829
- Win rate
- 47.8%
- Profit factor
- 0.98
Clean single-instrument/single-venue design; funding loads correctly (3,510 events); scale-invariant rolling-percentile thresholds with a price-confirmation gate; genuinely distinct positioning-sentiment mechanism.
Loses money: profit_factor 0.977 (<1.0), total_return -35.1%, negative expectancy (-$21.43/trade).
max_drawdown 72.7% (CI high 100.4% — effective blowup), well past the 50% hard-abandon threshold; alpha -0.062, IR -0.72.
Headline is a single-day artifact: kurtosis 1047, skew 30, a +102.7% daily return on 2021-01-31 drives the only strong month; recent years are uniformly negative (2023 -18%, 2024 -26%, 2025 -11%, 2026 -3.8%).
Toy capacity: impact_cost_pct 140% (impact exceeds gross PnL), capacity_usd ~$50k — no deployable scale.
Sharpe CI [-0.35, 0.81] straddles zero; third pass on the same hypothesis (previously abandoned at iteration 2).
Iteration History
Outcome Summary
A headline that clears the fee floor can be a mirage of one extreme day — a funding-extreme fade whose entire PnL comes from a single retail-mania squeeze has no repeatable edge, and profit factor ~1.0 plus extreme skew/kurtosis and tiny capacity are the tells that a single tail event, not a mechanism, is carrying the result.
It was abandoned at the BACKTEST_REVIEW gate: the 77.2% max drawdown breaches the >50% hard-abandon rule, the edge is a single non-repeatable tail event rather than a persistent signal, capacity is negligible, and despite the long-short framing it is not market-neutral (benchmark correlation 0.73, beta 0.20, negative alpha -0.18). It never reached optimization or analysis.
A long-short, single-instrument, single-venue positioning-contrarian strategy on the DOGEUSDT.BINANCE USD-M perp that uses the perp's own 8h funding rate purely as a crowd-sentiment gauge — shorting when funding sits in an extreme-high percentile and price rolls over, going long when funding is extreme-negative and price turns up, with a one-bar price-confirmation gate and funding-normalization exit.
The backtest was a breakeven-to-losing result whose apparent viability rested on a single outlier day: total return -26.4%, profit factor 1.012, Sharpe 0.19 (CI [-0.73, 0.64]), max drawdown 77.2% (CI to 100%), and expectancy of just +$11 across 814 trades. Essentially all gross profit came from 2021-01-31 (+84.6%, the DOGE retail-mania squeeze; return skew 29.3, kurtosis 1164, largest win $85k vs avg $2k), with negative years in 2023, 2024 and 2025, and it was capacity-crippled (capacity_usd ~$133k, impact_cost_pct 86.7%).
Backtest and paper results are hypothetical. Trading involves risk of loss.