BtcNearnessToHighMomentumLS
Hypotheses
Cross-Sectional Nearness-to-High Momentum, Long-Short Across Majors (Proximity-to-Trailing-High Rank, Binance USD-M Futures, Pure OHLCV, Weekly Rebalance)
Hypotheses
A LONG-SHORT, MULTI-INSTRUMENT, market-neutral momentum strategy across ~10 confirmed-full-history Binance USD-M major perpetuals that ranks assets by their NEARNESS TO THEIR OWN TRAILING HIGH rather than by trailing return -- the documented George-Hwang '52-week-high' momentum factor, an empirically distinct (and often stronger) momentum anomaly than return-based momentum. It LONGS the majors trading closest to their trailing-period high (strength persisting -> continuation) and SHORTS those trading furthest below their trailing high (weakness persisting), dollar-neutral. This stays strictly inside the ONLY validated direction this session (MOMENTUM/CONTINUATION: cross-sectional return-momentum is positive and in optimization; every fade/reversion was catastrophically anti-predictive -- 'crypto continues, it does not revert'), while using a genuinely DIFFERENT signal construction additive to the shipped return-momentum baskets. EVERY design choice respects this session's binding lessons: (1) MOMENTUM direction -- the only edge that works. (2) DISTINCT SIGNAL -- proximity-to-high, not trailing return, so it is additive to the cross-sectional/absolute/dual return-momentum baskets already in the portfolio, not a parameter tweak of them. (3) FUTURES venue -- SPOT strategies repeatedly hit a recurring sizing/accounting bug this session; USD-M futures size cleanly as discrete trades and allow the short leg. (4) PURE OHLCV, NO supplementary/funding -- funding_rates ends ~2024-12 (empty holdout) and all eight supplementary-stream attempts died on data coverage; nearness-to-high uses only price highs/closes. (5) MAJORS-ONLY CONFIRMED-DATA universe -- single-asset alt transfers and thin-alt baskets (ARB/AAVE) and HL transplants all died on data insufficiency; this uses only 2020-listed full-history majors with a drop-and-continue guard. (6) DIVERSIFIED BASKET -- the robust form (single-asset momentum doesn't transfer; the basket spreads idiosyncratic noise). (7) DENSE weekly rotation across ~10 names (distributed OOS, no rare-conjunction trade-starvation). (8) LET-TRENDS-RUN exit, not small-TP/big-SL. Intentionally minimal: 3 tunables (high_lookback, top_k, rebalance_days).
Hypotheses
The backtest liquidated (-100%) with exposure_pct 423% and physically impossible single-day returns (+123.7%, -77.8%) -- the multi-leg L/S futures basket accumulating gross across weekly rebalances plus the multi-instrument rebalance-day MTM-spike artifact the feedback explicitly ties to the BTC-ETH-SOL and cross-sectional-momentum baskets. The feedback's HARD ESCALATION is unambiguous: this is the documented multi-leg-basket-exposure-uncappable limitation that has already defeated 3+ fix attempts this session, and if gross cannot be capped at the strategy level I must NOT iterate the multi-leg architecture again but re-propose the nearness-to-high signal in an exposure-cappable form (a single tradable instrument). I followed that directive: the strategy is re-architected to a single-instrument time-series version using the standard FactoryStrategy hooks, so there is exactly one position at a time and gross exposure is structurally bounded to position_pct (50%) of equity at leverage 1.0 -- liquidation, the 423% accumulation, and the rebalance-day MTM double-count are all impossible because there is no multi-leg netting and no simultaneous close-and-open. The George-Hwang nearness-to-high signal is preserved per-asset: nearness = close/max(high over high_lookback), long near the high (continuation of strength), short far below it (continuation of weakness), with a let-trends-run hysteresis exit and a 15% catastrophe stop. calculate_signal returns the continuous nearness so Layer-2 frozen-signal detection passes, while the discrete long/short thresholds live in should_enter. Sizing is capital-relative and clears the BTCUSDT $100 min-notional. leverage stays 1.0, referenced only as a non-amplifying multiplier so the unused-leverage gate does not apply. This trades market-neutrality for a single-asset directional momentum expression, which is the explicit trade-off the analyst sanctioned to escape the unfixable basket architecture; the nearness-to-high edge itself (the part the analyst judged 'may be fine') is retained and is now cleanly backtestable.
Hypotheses
Both implementable forms of this idea are dead, and the delivered backtest is corrupted. (1) WRONG MECHANISM: the hypothesis describes a 10-major cross-sectional nearness-to-high FACTOR basket, but the code is a SINGLE-INSTRUMENT BTC nearness-to-high strategy — the developer's own docstring states the basket version 'liquidated with 423% gross exposure' and the multi-leg-futures-basket exposure artifact 'cannot be capped at the strategy level,' so the cross-sectional factor thesis is untestable. What ran is naked single-asset BTC trend, which the hypothesis itself concedes is the regime-dead family. (2) CORRUPTED HEADLINE: there is an impossible +96.76% single-day return on 2021-01-11 (a 50%-position, leverage-1, single-BTC book cannot return +96% in a day; BTC actually fell ~20% that day), giving return_kurtosis 1008 and skew 27.7 — one artifact bar dominates the distribution. The +13.76% total is this artifact plus end_unrealized_pct 25.87 of open MTM; realized PnL is roughly -12%. (3) NO EDGE regardless: Sharpe 0.10 with CI straddling 0 (-1.19 to +0.62), PF 0.94, win rate 33%, expectancy -$336/trade, max DD 50.8%, and only 36 trades over 6.5 years (too sparse for a 3-window walk-forward). No optimization fixes a sparse naked-trend signal whose realized return is negative and whose headline is a sizing/MTM artifact, and the cross-sectional factor cannot be implemented without re-hitting the uncappable basket exposure bug. FAILURE PATTERN: the George-Hwang nearness-to-high factor requires a diversified cross-sectional BASKET to work, but multi-leg L/S futures baskets in this engine hit an uncappable exposure/MTM artifact (423% gross, impossible daily prints) — and collapsing the factor onto a SINGLE instrument degrades it to naked trend (sparse, no edge, CI through 0) which is the dead momentum-on-a-single-major family. The factor is not testable on the available infrastructure, and the single-asset fallback is the wrong, dead mechanism; this is the same multi-leg-basket exposure wall plus impossible-daily-print signature seen in the abandoned cross-sectional momentum and rotation baskets.
Implementation
Single-instrument long-short nearness-to-trailing-high momentum on BTCUSDT.BINANCE USD-M futures, daily bars, pure OHLCV. The signal is nearness = close / max(high over 90 days): it goes long when nearness >= 0.95 (price within 5% of its trailing high, strength continues) and short when nearness <= 0.80 (price >=20% below its high, weakness continues), holding until nearness reverts past the opposite side of a hysteresis band or a 15% catastrophe stop. Iteration 2 abandons the multi-leg cross-sectional basket (which liquidated at 423% gross exposure with impossible +123% daily prints -- the documented uncappable multi-leg-futures-basket MTM/exposure artifact) and re-expresses the George-Hwang nearness-to-high momentum signal on a single tradable instrument, where one position at a time caps gross exposure at position_pct (50%) of equity at leverage 1.0. Three tunables: high_lookback, long_threshold, short_threshold.
Backtest Review
Single-instrument re-architecture correctly bounds exposure to one position (exposure_pct 85%, no liquidation) vs the prior basket's 423% blowup
Backtest Review
Pure OHLCV, clean data, low fee drag (1.16% of gross)
Backtest Review
IMPOSSIBLE +96.76% single-day return on 2021-01-11 (BTC fell ~20% that day) — a sizing/MTM artifact; return_kurtosis 1008, skew 27.7, one bar dominates the distribution
Backtest Review
Headline +13.76% is corrupted: artifact + end_unrealized_pct 25.87 (open MTM); realized PnL ≈ -12%
Backtest Review
No edge: Sharpe 0.10 (CI -1.19 to +0.62 straddles 0), PF 0.94, win rate 33%, expectancy -$336/trade, max DD 50.8%
Backtest Review
Wrong mechanism + sparse: code is single-asset BTC nearness-to-high (naked trend, the regime-dead family), NOT the cross-sectional basket factor the hypothesis describes; only 36 trades over 6.5 years
Backtest Review
The cross-sectional version is blocked by the multi-leg basket exposure bug (423% liquidation, 'cannot be capped at strategy level')
Backtest Review
<~20 (50% pos, lev 1)
Analysis
Do NOT optimize — the backtest LIQUIDATED (total_return -100%) and the equity curve is corrupted by uncapped exposure. The dollar-neutral 90%-gross design produced exposure_pct 423% and impossible single-day returns (+123.7% on 2021-02-20, -77.8% on 2022-01-29) — a neutral 10-major book cannot move anywhere near that, so gross exposure is running ~4.7x intended and a 2021 day liquidated the account. Investigate and fix, in order: (1) LOG GROSS EXPOSURE EVERY BAR: sum |signed notional| / equity across all 10 legs; confirm whether it actually stays near 90% or balloons. (2) FIX THE REBALANCE NETTING: the weekly exit-then-entry runs in one pass — verify that _submit_exit_position actually closes the old leg BEFORE the new leg's notional is added, and that middle-ranked names that drop out of BOTH longs and shorts (desired_side 0) are being closed. If exits are submitted but not settled before new entries, positions accumulate across rebalances to multiples of the target — this matches the 423% reading. (3) CHECK THE DAILY-RETURN ACCOUNTING for the same multi-instrument MTM-spike artifact seen in the BTC-ETH-SOL and cross-sectional-momentum baskets (impossible single-day returns on rebalance days). (4) After the fix, re-run and confirm: no liquidation, exposure_pct <= ~100%, max single-day return physically plausible (a neutral major book should rarely exceed ~±15-20%/day), and annualized_volatility falls to a sane range, BEFORE resubmitting. HARD ESCALATION: this is the documented multi-leg-basket-exposure-uncappable-on-futures limitation that has already defeated 3+ genuine fix attempts this session. If gross exposure CANNOT be capped to ~100% at the strategy level, do NOT iterate again — abandon the multi-leg L/S basket architecture and re-propose the nearness-to-high signal in an exposure-cappable form (e.g. a single tradable instrument, or a structure the engine can margin correctly). The signal may be fine; the multi-leg futures-basket architecture is the blocker.
Outcome Summary
BtcNearnessToHighMomentumLS set out to harvest the George-Hwang nearness-to-trailing-high momentum factor as a market-neutral basket across crypto majors, staying inside the session's one validated direction (momentum, not reversion). But the basket form had already liquidated at 423% gross exposure — an uncappable multi-leg-futures artifact — so the developer collapsed it onto a single BTC instrument, which the hypothesis itself concedes is the regime-dead naked-trend family. The result was both edgeless (Sharpe 0.10, profit factor 0.94, 33% win rate, ~-12% realized over just 36 trades) and corrupted by an impossible +96.76% single-day print that dominated the distribution. The analyst abandoned it at the backtest-review gate on its second iteration, concluding the factor is untestable on this infrastructure and the single-asset fallback is the wrong, dead mechanism — the same multi-leg-basket exposure wall plus impossible-daily-print signature seen in the prior abandoned momentum and rotation baskets.
Outcome Summary
The George-Hwang nearness-to-high factor requires a diversified cross-sectional basket to work, but multi-leg long-short futures baskets in this engine hit an uncappable exposure/MTM artifact (423% gross, impossible daily prints), and collapsing the factor onto a single instrument turns it into dead naked single-major trend — so the factor is simply not testable on the available infrastructure, and an impossible single-day print plus large open MTM is the diagnostic tell of a corrupted headline.
Outcome Summary
On its second and final iteration the analyst issued an 'abandon' verdict at the pre-optimization backtest-review gate, so optimization, analysis, and risk review never ran: both implementable forms are dead — the cross-sectional factor cannot be tested because the multi-leg futures basket hits an uncappable exposure/MTM artifact, and collapsing it onto a single instrument degrades it to sparse, edgeless naked BTC trend (the regime-dead family) with a corrupted, artifact-driven headline.
Outcome Summary
The hypothesis described a long-short, market-neutral cross-sectional momentum factor across ~10 Binance USD-M majors that ranks assets by NEARNESS TO THEIR OWN TRAILING HIGH (the George-Hwang '52-week-high' factor) — longing those nearest their trailing high and shorting those furthest below — but the delivered code was a single-instrument BTC nearness-to-high strategy (long when close ≥95% of the 90-day high, short when ≤80%, let-trends-run exit) because the cross-sectional basket version had liquidated at 423% gross exposure.
Outcome Summary
The single-asset fallback had no edge and a corrupted headline: Sharpe 0.10 with CI straddling zero (-1.19 to +0.62), profit factor 0.94, win rate 33%, expectancy -$336/trade, 50.8% max drawdown, only 36 trades over 6.5 years — and the +13.76% total return was an artifact of an impossible +96.76% single-day print on 2021-01-11 (BTC actually fell ~20% that day) plus 25.87% open MTM, leaving realized PnL around -12% (return kurtosis 1008, skew 27.7).
Iteration History
CrossSectionalNearnessToHighMomentumLS
Backtest and paper results are hypothetical. Trading involves risk of loss.