Strategies
Binance USD-M Multi-Lookback Ensemble Trend Long-Short Basket (Established Majors, Frozen Lookback Fan 20/40/80/160, Averaged Trend Score, Weekly Rebalance, Overfit-Resistant)
Outcome: Abandoned
MultiLookbackEnsembleTrendLongShortBasketNoLeverage
Overfit-resistant frozen-lookback-fan concept is sound in principle; stays in the validated daily-trend-basket envelope
Hypothesis
Iteration 2 fixes exactly the two QA code defects and nothing else. (1) Calendar anchoring: the weekly cadence no longer uses the process-relative `_rebal_count` counter (checklist #18 anti-pattern) — it is now a pure function of the bar's own timestamp, `day_index = ts // 86_400_000_000_000`, firing when `day_index % rebalance_days == 0` on a day not yet rebalanced. The grid is therefore identical across restarts, walk-forward windows, the holdout and paper replay, curing the parity/grid-drift harm. (2) Strict per-asset cap: `min(raw/total, max_weight)` followed by renormalization could push capped names back above the cap; weights are now built by water-filling (breaching names pinned AT the cap, residual re-proportioned among the rest), verified to yield max weight exactly 0.20 and gross <= 1.0 in every feasible and infeasible configuration. The edge_concern (drawdown / impact fragility) was flagged as an analyst question, not a code defect, so the signal, lookback fan, vol floor, sizing formula, order flow and universe are unchanged.
Implementation
Long-short daily managed-futures trend basket across 10 established Binance USD-M majors (BTC, ETH, SOL, BNB, XRP, DOGE, ADA, LTC, LINK, BCH). Each asset's trend score is the AVERAGE of trend signs over a FROZEN fan of lookbacks (20/40/80/160 days), so there is no single lookback for the optimizer to over-concentrate on. Weights are conviction-weighted equal-risk (|score| / floored realized vol), strictly capped per asset at 20% by water-filling and normalized so gross exposure never exceeds 1.0x equity (no leverage, no vol-target scalar). Direction is sign(score); rebalance is weekly on a calendar-anchored grid (days-since-epoch modulo 7), with material-delta resizing to keep turnover and fees low.
Verification Results
Backtest Review
- Sharpe
- 0.48
- Total return
- 1883.15%
- Max drawdown
- 63.13%
- Trades
- 494
- Win rate
- 36.2%
- Profit factor
- 1.27
Overfit-resistant frozen-lookback-fan concept is sound in principle; stays in the validated daily-trend-basket envelope
Clean data (10 full-history majors); calendar-anchored schedule fix is correct
Corrupted blowup backtest: CAGR -100% (account destroyed) with recovery_factor -1.0, yet total_return +1883% — irreconcilable
Physically impossible single-day returns (-481.7%, -206%, -198.9%; kurtosis 211) — the account went deeply negative
'No-leverage gross_cap 1.0' invariant violated: exposure_pct 789%, end_unrealized_pct 849%, vol 107% — the delta-resize/netting path accumulates far past the cap despite two prior exposure-control iterations
Negative underlying edge (avg_trade_return_pct -3.5%); L45/L52 directional LS trend-basket family; max_drawdown 63% (CI to 99%), 31 max consecutive losses
Iteration History
Backtest and paper results are hypothetical. Trading involves risk of loss.