Method and backtest transparency
The four stages (book chapter 2; chapter titles from memory, page numbers to be verified)
- Stage 1 · Basing: the MA flattens and price oscillates around it.
- Stage 2 · Advancing: price moves above the MA and the MA turns up.
- Stage 3 · Top area: the MA flattens and price swings widely around it.
- Stage 4 · Declining: price is below a falling MA.
How this site implements it (logic_version = v1w210)
- MA: 210-day simple moving average. Crypto trades 7×24, so 30 weeks = 210 daily bars; the book uses weekly bars, this site decides daily, so the two are not equivalent.
- Slope: 20-day change of the MA; threshold = 0.2% × a volatility factor (60-day close volatility / 2%, clipped to 0.5–2.5), ×1.5 for altcoins.
- Stage 2: close > MA and slope > threshold; Stage 4: close < MA and slope < −threshold; when price hugs a flat MA the stage is 1 (previous clear stage was 4) or 3 (previous clear stage was 2).
- A stage change needs 3 consecutive days. 'Undetermined' means not enough data or no condition met — a category added by this site, not in the book.
- Universe: Binance spot USDT pairs (excluding stablecoins, wrapped and leveraged tokens), top 200 by 30-day volume each day. The historical universe is rebuilt day by day, including coins delisted later.
Signal rules
- Long entry: close crosses above the 210-day MA, the MA's 20-day slope > 0, and volume ≥ 1.2 × the 14-day average; altcoins additionally need BTC in Stage 1 or 2 that day (the BTC market gate kept from the original altcoin strategy). Exit: close crosses below the MA, or closes below MA × 0.90.
- Short entry: close below the 210-day MA, slope < 0, and close below the lowest close of the prior 30 days. Exit: close crosses above the MA, or closes ≥ 15% above the short entry.
- Entries only when the coin is in the universe that day; exits regardless. If a held coin has a missing day (no exchange bar, e.g. a trading halt or token swap) it is closed at the last close before the gap (reason: data gap) — prices across a token swap are not comparable.
- Returns use the signal-day close and exclude fees, slippage and funding; equal size, each signal independent — not the return of any portfolio.
Relative strength vs BTC
Kept from the original code: RS = close ÷ BTC's 364-day MA × 100, then standardised over 364 days (×10, clipped to ±100). This is not the book's Mansfield RS formula (details to be verified); it is for ranking only and not used by the signals.
Differences from the book (B1 fidelity audit)
- The book uses weekly bars and a 30-week MA; this site uses a daily 210-day MA and decides daily.
- The book buys the Stage 1 range breakout; this site's long uses an MA cross (a different event).
- The book requires volume on breakouts; this site uses 1.2 × the 14-day average (the book's multiple is to be verified).
- The book raises stops as price rises; this site uses fixed exits (MA × 0.90 or an MA cross).
- The book's pullback entries and overhead-resistance checks are not implemented.
- The book goes top-down (market, then sector, then stock); this site implements only the first layer (altcoin longs are gated by BTC's stage); no sector layer, and breadth is shown but not used by signals.
- The short rule is this site's implementation (the book's chapter 7 covers shorting; whether breakdowns need volume is to be verified).
- The RS formula differs from the book; the book's position-sizing and diversification rules are not implemented.
Items not yet verified against the book (no numbers quoted until verified)
- Whether the 30-week MA is simple or weighted
- Breakout volume multiple and base period
- The 'buy half, then half' compromise
- Exact Mansfield RS formula and MA length
- Whether short breakdowns need volume
- Whether '% above the 30-week MA' is a book indicator
- Position sizing and diversification rules
- Chapter page numbers
Backtest transparency (research results, 2026-09-22, static)
These numbers come from a separate research process (A1 baseline replication, B2 pre-registered backtest verdicts) and do not update daily. B2's structure is not identical to this site's signals (B2's altcoin long legs include the BTC market gate and the original RS gate, this site keeps only the BTC gate; B2 fills at the next day's close with costs, this site records the signal-day close without costs). The site's own rules are measured by the backfilled track record on the Signals page.
A1 frozen baseline: original logic (BTC 160-day / altcoins 105-day, 46-coin universe) and controls
| Leg | Total return | Sharpe | Max drawdown | Trades | Window |
|---|---|---|---|---|---|
| Original BTC strategy (MA160) | -2.32% | -0.030 | -10.57% | 5 | 2020-02-01~2025-12-31 |
| Control: BTC buy & hold | +833.12% | 0.926 | -76.63% | 1 | 2020-02-01~2025-12-31 |
| Control: single MA160 filter | +298.68% | 1.095 | -31.78% | 27 | 2020-02-01~2025-12-31 |
| Control: same-structure random entry (median) | +9.69% | 0.223 | — | 5 | 同 BTC_native_bt_futures |
| Original altcoin strategy (46 coins, equal weight) | -5.98% | -0.125 | -17.41% | 276 | 2020-01-01~2025-12-31 |
| Control: 46-coin buy & hold | +516.39% | 0.785 | -84.87% | — | 2020-01-01~2025-12-31 |
| Control: single MA105 filter | +612.91% | 0.875 | -76.79% | — | 2020-01-01~2025-12-31 |
The A1 baseline is the original logic before the restart, not this site's v1w210. Its altcoin leg was later corrected by B2: with data extended back to 2017, the same rule on the same 46 coins returns +57.2% (Sharpe 0.81); the A1 result depended on where the data started.
B2 verdicts on the pre-registered upgrade hypotheses (0 of 8 passed)
| Hypothesis | Δ Sharpe | Random pct. | Verdict |
|---|---|---|---|
| H1a 210-day MA (altcoins) | -0.01 ± 0.39 | 21.8 | Underpowered |
| H1a_btc 210-day MA (BTC) | +0.24 ± 0.52 | 45.2 | Underpowered |
| H1b 30-week MA (altcoins) | -0.29 ± 0.39 | 13.8 | Underpowered |
| H2 Exact Stage 1→2 breakout | -0.04 ± 0.40 | 1.9 | Rejected (significantly worse in a window) |
| H3 Volume multiple | -0.23 ± 0.29 | 8.7 | Underpowered |
| H4_mans Book RS zero-line gate | -0.42 ± 0.37 | 3.9 | Rejected |
| H5_breadth Breadth gate | -0.08 ± 0.26 | 23.4 | Rejected (significantly worse in a window) |
| H5_ma MA-breadth gate | -0.17 ± 0.25 | 16.3 | Rejected |
| H6 Trailing stop | +0.04 ± 0.21 | 42.3 | Underpowered |
| H7 Stage 4 short | -0.26 ± 0.56 | 2.4 | Rejected (significantly worse in a window) |
Δ Sharpe = upgrade leg − control leg (full window 2020-07-29 to 2025-12-31), ± standard error; random percentile = the upgrade leg's percentile among 2,000 same-structure random entries.
Short rule (H7) by window (B2, full market, 1× notional, with liquidation rule)
| Leg | Window | Total return | Sharpe | Max drawdown | Trades | Win rate |
|---|---|---|---|---|---|---|
| H7_short | Full window | -2.68% | -0.014 | -19.54% | 2811 | 28.5% |
| H7_short | Bull 2020-07~2021 | -4.46% | -1.688 | -5.05% | 264 | 16.9% |
| H7_short | Bear 2022 | +7.46% | 0.997 | -3.93% | 479 | 44.1% |
| H7_short | 2023~2025 | -4.89% | -0.101 | -19.54% | 2068 | 26.0% |
210-day long (H1a, B2 structure with BTC gate and RS gate), full window
| Leg | Window | Total return | Sharpe | Max drawdown | Trades | Win rate |
|---|---|---|---|---|---|---|
| H1a_alt | Full window | +1.28% | 0.270 | -2.35% | 295 | 24.2% |
| H1a_btc | Full window | +35.90% | 0.432 | -27.22% | 7 | 42.9% |
Stage label as a coin-selection factor (H8): 20-day rank IC = -0.018 ± 0.017, negative; the research does not recommend it as a universe pre-filter.
research.json asof 2026-09-22T10:29:09Z · B2-回测裁决/results/verdicts.csv、leg_metrics.csv · A1-复现基线/baseline_metrics.csv