Skip to content

View original

DeepMajorsSpotAbsoluteMomentumTimerLong

Hypotheses

Deep-Majors Spot Absolute-Momentum Timer, Long-Only, Monthly (BINANCE_SPOT, 3 Deepest Majors BTC/ETH/SOL, Hold Each Only While Its OWN Trailing Trend Is Positive Else Sit in Cash — Time-Series Momentum + Crash-Avoidance, No Leverage, Pure OHLCV, 1-Parameter)

Hypotheses

A LONG-ONLY, no-leverage, spot TIME-SERIES (absolute) momentum timer on the 3 DEEPEST crypto majors (BTCUSDT, ETHUSDT, SOLUSDT on BINANCE_SPOT). Each name is an independent sleeve: hold it long ONLY while its OWN trailing 90-day trend is positive, otherwise park that sleeve in cash (USDT). This is deliberately NOT the deployed cross-sectional relative-strength rotation (which ranks names against each other and always holds a top-K) — it is ABSOLUTE own-trend timing, so all three, some, or none may be held at any time, and the edge is the well-documented time-series-momentum + CRASH-AVOIDANCE premium (Moskowitz-Ooi-Pedersen; the timer sits in cash through the deep bear legs that destroy buy-and-hold and every over-invested majors basket). It is engineered specifically against the two dominant killers in the outcome history: FEE_EDGE — MONTHLY evaluation with holds averaging a full quarter means only a handful of switches per year, so on spot's 0.20% round-trip the fee drag is trivial against 15-40% trend legs, per-trade returns an order of magnitude above the 0.25% spot floor (contrast the intraday/carry strategies that churned fees away); OVERFIT — ONE free parameter (the trend lookback), a long 90-day window that is inherently robust, no per-name tuning, no supplementary data (the highest-surviving tag family at 4%). It also fills three under-represented buckets at once: BINANCE_SPOT venue (11.2% vs 15% target), the nearly-empty macro/1w-plus horizon (0.6%), and pure-OHLCV/no-supplementary (the best-surviving data class).

Hypotheses

Implements the hypothesis as an absolute (time-series) momentum timer — distinct from cross-sectional relative-strength rotation — capturing the TSMOM + crash-avoidance premium (Moskowitz-Ooi-Pedersen) by sitting each independent sleeve in cash whenever its own 90-day trend is non-positive, dodging the deep bear legs that kill buy-and-hold and over-invested baskets. Engineered against the two dominant killers: FEE_EDGE is handled by monthly evaluation + delta-only switching so only trend flips trade (a few per year), trivial on spot's ~0.20% round trip against 15-40% trend legs; OVERFIT is handled by exposing exactly ONE free parameter (the lookback), a long robust window, with no per-name tuning and no supplementary data (the best-surviving data class). Venue routing is correct: BINANCE_SPOT (CASH, leverage forced to 1) because the strategy is long-only, no-leverage, and non-funding — exactly the routing rule for spot; it only ever BUYS to enter and closes (SELLS) to exit, never shorting, so the base class's spot-short guard is never triggered. Sizing deliberately uses a fixed base_capital rather than get_account_equity(): on a CASH account get_account_equity() returns only the residual USDT balance (which drops as sleeves are bought and excludes the value of held coins), so sizing off it would shrink each successive entry and under-deploy; a fixed base gives clean equal-weight, path-independent sleeves that never exceed available cash. The signal is continuous (breadth = count of positive-trend sleeves, varying every bar); management runs on the aligned primary daily bar (all legs share 1-DAY tf, so the base defers until extras are contemporaneous). Fills three under-represented buckets at once: BINANCE_SPOT venue, the macro/long-horizon slot, and pure-OHLCV/no-supplementary. No-trade risk (a timer can sit fully in cash) is mitigated by 3 majors and the first rebalance firing immediately at the first post-warmup bar; a dry-run over a mixed bull/bear synthetic window produced 2 entries and 1 exit, confirming the sandbox generates trades.

Hypotheses

Single-regime, statistically unmeasured, and artifact-inflated — not worth a 2-hour optimization. The entire 807% total_return is one 2021 regime (monthly_returns 2021-08 = +352%, 2021-06 = +62%; every other year flat-to-negative: 2022 -3.9%, 2023 +1.1%, 2025 +0.5%, 2026 -2.6%), essentially the mark-to-market of one held SOL sleeve during its parabola. There are only 28 trades over ~9 years, so the Sharpe is unmeasured (L10), and the headline risk metrics are inflated by the L17 annualization artifact (annualized_volatility 1360%, +352%/+62% 'daily' returns, avg holding 127d → lumpy close dates), making Sharpe 4.78 meaningless. The crash-avoidance premise is itself undercut by a 42.3% max_drawdown, and information_ratio -0.35 shows it does not beat its own equal-weight-basket benchmark — it is concentrated long-majors 2021 beta. This is the same pure-OHLCV long-only majors-momentum family (L9: 0/213 survival) whose two siblings reviewed today (Low-Vol Rotation, Efficiency-Ratio filter) were both abandoned for overfit AFTER wasting an optimization, carrying this identical 2021-beta/artifact fingerprint. Optimizing the single lookback over a sample with one meaningful regime will just fit the 2021 SOL run and collapse on the walk-forward OOS/holdout windows. There is no mechanism-level fix a developer can apply (adding parameters violates the 1-param design and worsens overfit; the thin sample and single-regime dependence are inherent to a monthly 3-sleeve majors timer), so abandon at review rather than iterate. META-NOTE FOR RESEARCH LEAD: long-only OHLCV majors momentum/trend timers keep producing 2021-beta-concentrated, annualization-artifact-inflated backtests that die in optimization; if the crash-avoidance TSMOM premium is worth pursuing, express it market-neutrally or on a longer multi-regime sample so the edge is not just filtered 2021 long beta.

Implementation

Long-only, no-leverage, spot time-series (absolute) momentum timer on the 3 deepest majors (BTC, ETH, SOL on BINANCE_SPOT), 1-DAY bars, evaluated monthly (every 30 bars). Each name is an independent sleeve held long only while its OWN trailing 90-day trend is positive (close today > close 90 bars ago), otherwise that sleeve parks in cash — so all three, some, or none may be held. Rebalancing is delta-only: a sleeve is bought when its trend turns positive and sold when it turns negative; persisting sleeves are left untouched, keeping turnover to a handful of switches per year. Each sleeve is sized at 32% of a fixed $100k capital base (equal-weight, path-independent, never exceeding cash: 3×0.32=0.96). Pure OHLCV, no supplementary data. One free parameter: the trend lookback.

Verification Results

Analyst: recompute Sharpe/vol/DD from a clean daily equity curve on the full backtest; don't promote on the sandbox Sharpe 4.78 alone.

Verification Results

Return-series risk metrics look unreliable despite metrics_reliable=true: data_days=17 is impossible for a 90-day-lookback strategy with 28 trades at 127-day avg holds (the run spans years), annualized_volatility=1360% is an artifact, and Sharpe CI [-2.10, 8.69] spans negative — pointing to a lumpy/under-sampled equity-return series. Trade-level facts (total_return +807%, PF 9.94, 28 trades, 0.29% commission) are trustworthy.

Verification Results

Size off live TOTAL equity (cash + held-coin mark) or cap per_name_frac against available cash; confirm the optimizer/WF account starts >= base_capital so no window silently rejects orders.

Verification Results

Sizing uses fixed base_capital ($100k) x 0.32 instead of get_account_equity(). Rationale (CASH equity read shrinks as coins are bought) is valid, but it doesn't scale with equity: after 807% growth avg_position_pct is only 5.69%, so deployment decays and returns are front-loaded onto early entries. Risks: (a) a walk-forward window starting with < $100k cash would target 0.96x$100k > available cash and reject orders; (b) capital utilization falls as equity compounds, distorting the equity curve.

Verification Results

Analyst/risk: weigh the 42% DD against the crash-avoidance claim; a shorter cadence/intramonth exit would tighten it (more turnover) — a design iteration, not a correctness fix.

Verification Results

Crash-avoidance is lagged by the monthly cadence: a sleeve whose trend flips is only exited at the next 30-bar rebalance (up to ~a month later), so the timer eats part of each downturn — consistent with max_drawdown 42%. Faithful to the 'monthly' hypothesis, not a bug, but material for a crash-avoidance thesis.

Verification Results

Verify on the full walk-forward the edge isn't just one 2020-2021 bull leg — TSMOM should show value by sitting out 2022; check OOS Sharpe and cash-parked periods.

Verification Results

L7 prior: pure-OHLCV momentum is low-survival. Mitigant: this is ABSOLUTE (time-series) momentum + crash-avoidance (Moskowitz-Ooi-Pedersen), distinct from the abandoned cross-sectional rank, with a strongly positive sandbox and excellent fee headroom.

Backtest Review

Legitimate, well-documented mechanism (TSMOM + crash-avoidance); clean 1-parameter, no-supplementary, low-fee spot design

Backtest Review

Fee drag is genuinely trivial (commission 0.29% of gross) — the fee_edge trap is avoided

Backtest Review

Sizing/exits function (delta-only monthly switching, path-independent fixed-base sleeves)

Backtest Review

Entire 807% return is one 2021 regime — 2021-08 alone is +352%; every other year is flat-to-negative. Single lucky SOL parabola, not a repeatable edge

Backtest Review

Only 28 trades over ~9 years — Sharpe is statistically unmeasured (L10)

Backtest Review

Metrics L17 annualization-artifact-inflated: annualized_volatility 1360%, +352%/+62% 'daily' returns, Sharpe 4.78 meaningless

Backtest Review

Crash-avoidance thesis undercut by its own 42.3% max_drawdown

Backtest Review

information_ratio -0.35 — does not beat its equal-weight-basket benchmark; concentrated long-majors beta (beta 0.21)

Backtest Review

Same OHLCV long-only majors-momentum family as two siblings abandoned overfit today (L9)

Backtest Review

2021 = 100% of return

Backtest Review

multi-regime

Outcome Summary

DeepMajorsSpotAbsoluteMomentumTimerLong applied the well-documented time-series-momentum + crash-avoidance premium to three deep spot majors as independent own-trend sleeves, deliberately engineered against the fee_edge and overfit killers with monthly holds, one robust 90-day parameter, and no supplementary data — and it genuinely did avoid the fee trap (commission 0.29% of gross). But the backtest was a mirage: a +807% headline resting entirely on one 2021 SOL parabola, only 28 trades over nine years, an annualization-artifact-inflated and meaningless Sharpe, a 42.3% drawdown that undercut its own crash-avoidance thesis, and a negative information ratio versus its benchmark. The reviewer abandoned it at review rather than waste an optimization, noting it carried the identical 2021-beta/artifact fingerprint as two other long-only OHLCV majors-momentum siblings abandoned for overfit that same day. The escalated verdict was structural — express the TSMOM premium market-neutrally or over a multi-regime sample, because long-only majors timers keep reducing to filtered 2021 long beta.

Outcome Summary

Long-only OHLCV majors momentum/trend timers keep producing 2021-beta-concentrated, annualization-artifact-inflated backtests that die in optimization — even a clean, fee-trivial, one-parameter TSMOM design is just filtered 2021 long beta on this sample — so if the crash-avoidance premium is worth pursuing it must be expressed market-neutrally or on a longer multi-regime sample, not as another long-only majors timer.

Outcome Summary

The backtest reviewer returned 'abandon' at the pre-optimization gate: the return was single-regime 2021 SOL-parabola beta, the Sharpe was statistically unmeasured on 28 trades and artifact-inflated, the crash-avoidance thesis was undercut by its own 42.3% drawdown, and there was no mechanism-level fix — adding parameters would violate the 1-parameter design and worsen overfit, while the thin sample and single-regime dependence are inherent to a monthly 3-sleeve majors timer.

Outcome Summary

A long-only, no-leverage, spot time-series (absolute) momentum timer on the 3 deepest majors (BTC, ETH, SOL on BINANCE_SPOT), where each name is an independent sleeve held long only while its own trailing 90-day trend is positive and parked in cash otherwise — a monthly-evaluated, single-parameter, pure-OHLCV design aiming to capture the TSMOM + crash-avoidance premium by sitting out deep bear legs.

Outcome Summary

With full data the backtest showed a headline +807% total return, profit factor 9.94 and avg_trade_return_pct 90.5% with trivial fee drag (commission 0.29% of gross), but it was statistically hollow: only 28 trades over ~9 years, metrics inflated by the L17 annualization artifact (annualized vol 1360%, Sharpe 4.78 meaningless, +352%/+62% 'daily' returns), a 42.3% max drawdown, information ratio -0.35 (does not beat its equal-weight basket), and the entire return coming from one 2021 regime (August 2021 alone +352%) with every other year flat-to-negative. No optimization stage ran.
Strategy report

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