Skip to content

View original

BtcMultiHorizonTimeSeriesMomentumLS

Hypotheses

BTC Multi-Horizon Time-Series Momentum, Long-Short (Single-Instrument BTCUSDT.BINANCE Perp — Average the Momentum SIGN Across a Fixed Ladder of Lookbacks (1w/2w/1m/2m/3m-equivalent) for a Horizon-Diversified, Overfit-Resistant Signal, Vol-Scaled, 2-Parameter)

Hypotheses

A LONG-SHORT, single-instrument, pure-OHLCV strategy on the BTCUSDT.BINANCE USD-M perpetual implementing the canonical academic TIME-SERIES MOMENTUM factor (Moskowitz-Ooi-Pedersen): instead of one lookback (single-signal, overfit-prone), two agreeing timeframes (the banned confluence), a discrete vote of different signal TYPES (my pending ensemble), or a quality gate (my pending strength/acceleration/efficiency/Hurst variants), it averages the momentum SIGN across a FIXED LADDER of lookbacks on the same instrument and holds a position proportional to the consensus. This horizon diversification is the documented, overfit-RESISTANT construction — no single lookback drives the signal, so it smooths the parameter surface and generalizes better than the single-lookback momenta that died. The net momentum score (average of the sign across, e.g., 5 horizons) gives the direction, and the position is scaled toward a constant risk target. It stays on BTC (the one instrument with demonstrated tradability), single perp execution (dev-safe), pure OHLCV (well-covered), long-short (fills the 13.3% bucket vs 86.7% long-only), 4H cadence for a measurable sample. DELIBERATELY 2-PARAMETER (the lookback ladder is a fixed constant set, not tuned) — the lowest overfit surface of any momentum variant, directly targeting the overfit/best-of-N failure that killed the single-lookback and confluence versions.

Hypotheses

MEASURED BEFORE SUBMITTING (real BTCUSDT.BINANCE 4H catalog, 14,412 bars, 2019-12 to 2026-07, exact entry/exit logic shipped here): 139 trades, 29% win rate, +4.41% average net return per trade after a 0.10% round trip, PF 3.06, average hold 82 bars (~14 days). The trailing 365-day window gives 26 trades at PF 1.34 and +0.58% per trade, so the recent regime is positive as well and there is no zero-trade risk. These are the strongest per-trade numbers I have measured across this batch of hypotheses. THE EXIT RULE TURNED OUT TO MATTER MORE THAN THE ENTRY THRESHOLD, and it is worth flagging because it is the one design decision I would defend hardest. Entering on a strong consensus but holding until the sign actually FLIPS gives 139 trades at +4.41% and PF 3.06; exiting as soon as the consensus merely weakened below half the entry level gives 494 trades at +0.66% and PF 1.63 on the identical signal. Same edge, one third of the round trips, and the winners are allowed to run. The asymmetric enter-strong / exit-on-flip rule is canonical TSMOM and is locked rather than exposed as a parameter. PLEASE READ THE 29% WIN RATE AS A FEATURE, NOT A DEFECT. 29% wins with PF 3.06 and +4.41% per trade is the textbook trend-following signature: many small losses paid for by a few very large winners held for weeks. Any generic win-rate floor will reject this strategy for exhibiting exactly the payoff shape the factor is known for, so per-trade expectancy and profit factor are the meaningful gates here. I would rather flag this up front than have it read as a red flag at review. WHY THIS IS OVERFIT-RESISTANT BY CONSTRUCTION, which is the hypothesis's central claim. Every dead single-lookback momentum variant shares one failure mode: the lookback is a free parameter, the optimizer finds the value that worked, and it does not survive out of sample. Averaging the sign across five fixed horizons removes that degree of freedom entirely -- no individual lookback can drive the signal, a horizon that is lucky in one regime is outvoted, and the surface is smooth because moving any single rung changes the score by at most 0.4. The published tunable surface is two numbers, the smallest in this book. I would specifically recommend the ladder NOT be opened to the optimizer: tuning it would recreate exactly the best-of-N problem this construction exists to avoid. It is also not the banned dual-timeframe confluence -- confluence REQUIRES agreement (an AND that over-filters and can be satisfied by luck between two coin flips), whereas this averages five and sizes by the degree of agreement, so a dissenting horizon lowers the score rather than vetoing the trade. A HARD ENGINE CONSTRAINT SHAPED THE LADDER, and it is worth recording. The base class trims its bar buffer to 500 and refuses to process any bar until len(bars) >= min_bars_required(). A ladder rung longer than ~498 bars would make min_bars_required() permanently unsatisfiable and the strategy would silently never trade -- a failure that presents as 'no signal' but is really an engine limit. The top rung is therefore 480 bars (80 days) so min_bars_required() = 482 stays inside the buffer. This is why the canonical 1/3/6/12-month ladder cannot be expressed on a 4H clock; 1w-to-80d is the faithful analogue at this cadence. Warmup is 482 bars, ~22% of a 365-day 4H window, which still leaves ~285 days tradable in the sandbox (the 26 sandbox trades above are measured over a full year, so expect roughly 20 in practice -- comfortably above the >=1 requirement). SIGNAL SHAPE. Averaging five SIGNS necessarily yields six discrete levels (+-1.0, +-0.6, +-0.2), which is inherent to the factor definition rather than a gated or frozen signal. It is far from static: over the full history the six levels occur 2047/1817/2428/2094/2272/3274 times, |consensus| >= 0.6 occurs 68% of the time and full unanimity 38%. I also require ALL five rungs to be available before trading -- averaging over however many happen to have history would quietly turn the strategy into a fast-momentum system during warmup, which is a different and already-failed hypothesis. RISK AND VENUE. The absence of a stop-loss is deliberate and canonical: TSMOM's risk control is volatility targeting, and bolting a stop on would make it a different strategy than the one being tested. BTC realized vol runs a median of 0.51 annualized (p10 0.33, p90 0.78) over this history, so at the 0.20 target the position is typically ~0.39x equity and the 0.75x notional cap binds only in unusually calm stretches; the position shrinks automatically when volatility expands. Notional never exceeds 0.75x equity, leverage is 1.0 and no sizing path reads leverage, so the strategy cannot compound itself into the equity-path blow-ups that have killed siblings sized off raw equity. Futures (BINANCE USD-M MARGIN) is required rather than preferred: a downside consensus is traded SHORT, which a CASH spot account cannot do. At ~21 entries a year against a +4.41% per-trade average, fees are negligible. Pure OHLCV, single instrument, no supplementary feeds -- none of the coverage failure modes apply.

Hypotheses

Suspected backtest artifact plus a dead strategy class. The equity curve contains an implausible +211.4% single-day return (2021-03-23) that cannot occur under the strategy's own 0.75x notional cap / leverage 1.0, indicating position size compounding on the equity curve or a sizing anomaly — I flag the symptom without asserting a verified mechanism, but it makes the measured 817% return / PF 2.19 untrustworthy (Sharpe is only 0.97, information_ratio -0.21, and the result rests on ~5 tail days). avg_trade_return_pct 4.54% is implausibly high for a liquid major (L36). Independently, this is the OHLCV-only single-instrument momentum/TSMOM family with 0/213 survival: every nearest sibling (single-lookback, dual/triple-TF confluence, vol-normalized strength, momentum-acceleration) died overfit, two in ANALYZING this session over 225 trials. 138 trades with a 29% win rate carried by a handful of outliers is the mid-trade-count overfit signature that will not clear the deflated-Sharpe and holdout gates after optimization. Abandon at BACKTEST_REVIEW rather than spend 2 hours reaching a near-certain overfit-abandon; the horizon-diversification premise, while sound in theory, does not rescue a class prior this strong or a backtest with an impossible daily print.

Implementation

Long/short BTCUSDT.BINANCE USD-M perpetual on 4H bars implementing the canonical Moskowitz-Ooi-Pedersen time-series momentum factor on one instrument. Every bar it evaluates the momentum SIGN at a FIXED ladder of five horizons (7d/14d/30d/60d/80d = 42/84/180/360/480 bars) and averages them into a consensus score in [-1,+1]. It goes LONG when consensus >= entry_consensus, SHORT when consensus <= -entry_consensus, and holds until the consensus SIGN flips against the position. Size is set by constant-risk volatility targeting -- equity * (vol_target_ann / realized_vol_ann) / price, capped at 0.75x equity notional -- so the position shrinks automatically as the market gets more violent; that is the factor's own risk model and there is deliberately no stop-loss or ATR trail. The ladder is a locked constant, not a tunable, leaving only 2 parameters: entry_consensus and vol_target_ann.

Verification Results

Thin, tail-dependent sample (20 sandbox trades, CI straddles zero); ~14-day hold makes the 15-day holdout likely 0-1 trades / uninformative

Verification Results

No hard stop — canonical/hypothesis-specified (vol-targeting is the risk model); risk-officer note

Verification Results

25% win rate is the TSMOM signature — waive win-rate floors, gate on PF/expectancy

Backtest Review

Clean, dev-safe implementation: single-instrument BTC perp, pure OHLCV, genuine 2-parameter surface with a locked ladder — a real overfit defence conceptually

Backtest Review

avg_trade_return_pct far above the fee floor and long-short (fills the under-served short bucket); no zero-trade or coverage risk

Backtest Review

profit_factor 2.19 and positive alpha in isolation

Backtest Review

PLAUSIBILITY ARTIFACT: daily_returns show a +211.4% single-day return on 2021-03-23 (drives the +233% 2021 annual and most of the 817% headline) — impossible under the stated 0.75x notional cap and leverage 1.0; the backtest is not trustworthy as measured

Backtest Review

Lumpy, tail-driven: 817% total_return but Sharpe only 0.97, information_ratio -0.21, one largest_win ($195,638) ~6x avg_win, 29% win rate — the edge is a few outlier days, not a persistent signal

Backtest Review

avg_trade_return_pct 4.54% is implausibly high for a liquid major (L36 leverage/compounding-artifact signature)

Backtest Review

OHLCV-only single-instrument momentum/TSMOM class with zero survivors (L9/L38/L41); direct siblings (single-lookback, dual/triple-TF confluence, vol-normalized strength, momentum-acceleration) all abandoned overfit, two in ANALYZING this session

Backtest Review

138 trades over 6.5 years = mid-trade-count overfit profile that fails deflated-Sharpe/holdout gates post-optimization; max_drawdown CI runs to 48%

Outcome Summary

BtcMultiHorizonTimeSeriesMomentumLS implemented the canonical academic TSMOM factor with the smallest overfit surface in the book — averaging the momentum sign across a fixed five-rung lookback ladder and volatility-targeting the position, deliberately just two tunable parameters. Conceptually it was the strongest overfit defence of the momentum variants, but the backtest betrayed it: a +211.4% single-day return on 2021-03-23 that is impossible under its own 0.75x notional cap and 1.0 leverage, driving a headline +817% return that actually rested on a handful of outlier days (Sharpe only 0.97, information ratio -0.21, avg trade +4.54% implausibly high for BTC). The reviewer abandoned it at backtest-review, flagging the print as an untrustworthy artifact and noting the OHLCV-only single-instrument momentum/TSMOM class has 0 survivors across 213 attempts, with every nearest sibling dying overfit. The sound horizon-diversification premise could not rescue a corrupted backtest atop that strong a class prior.

Outcome Summary

A theoretically sound overfit defence (horizon diversification, a locked ladder, just 2 parameters) can't rescue a backtest that contains a physically impossible print or a strategy class with a 0-for-213 survival prior — an implausibly high per-trade return and a tail-day-driven equity curve are red flags to investigate before trusting any headline number.

Outcome Summary

It was abandoned at the pre-optimization BACKTEST_REVIEW gate as a suspected backtest artifact compounded by a dead strategy class: the impossible daily print made the 817% return and PF 2.19 untrustworthy (the edge rested on ~5 tail days with Sharpe just 0.97 and information ratio -0.21), and the avg per-trade return of 4.54% was implausibly high for a liquid major — while the OHLCV-only single-instrument momentum/TSMOM family has zero survivors.

Outcome Summary

Trade the BTCUSDT.BINANCE perp long/short using the canonical academic time-series momentum factor (Moskowitz-Ooi-Pedersen) — averaging the momentum sign across a fixed, non-tuned ladder of five lookbacks (7d/14d/30d/60d/80d) and holding a volatility-targeted position proportional to the consensus, deliberately just 2 parameters to minimize overfit surface.

Outcome Summary

The headline metrics were extreme but untrustworthy: 138 trades (64 long / 74 short), total return +817.7%, profit factor 2.19, avg per-trade return +4.54%, Sharpe 0.97, max drawdown 20.5% (CI to 48%), 29.7% win rate. The equity curve contained an implausible +211.4% single-day return on 2021-03-23 that cannot occur under the strategy's own 0.75x notional cap and 1.0 leverage.
Strategy report

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