2026-10-31
(UTC)Alt-led day that oscillated between bear and range regimes; mixed strategy returns with concentrated winners and large losers.
Executive summary
Market: Market spent most snapshots in 1h bear and 4h bear, transitioned into range late; alt rotation and breadth expansion dominated early and mid-day.
Perf: TNT performance was mixed: several short/pullback variants posted gains while multiple long-rotation and momentum variants produced the largest theoretical losses (fees/funding not included).
- Market phases alternated frequently (10 transitions). Breadth oscillated between expanding and contracting while participation rotated between alt_rotation and defensive states.
- Short pullback/style strategies (momentum_pullback_v1, select short CatchTheWave) posted net theoretical gains; several long momentum variants produced the largest theoretical losses.
- A few large negative outliers (notably a -20.3% long trade) materially affected per-strategy aggregates.
- Many phase-specific poor performances concentrated in contraction/deteriorating breadth snapshots, while some short entries clustered in recovering/expanding snapshots with positive outcomes.
Market phases (11)
| Phase | Start | End | Duration | BTC bias 1h | Breadth state | Participation | Mean breadth | Max transition risk |
|---|---|---|---|---|---|---|---|---|
| P1_bear_expanding_alt_rotation | 00:01:53+00:00 | 02:01:39+00:00 | 135 min | bear | expanding | alt_rotation | 0.786 | 0.330 |
| P2_bear_contraction | 02:16:47+00:00 | 03:01:48+00:00 | 60 min | bear | contracting | mixed_dispersion | 0.563 | 0.330 |
| P3_bear_contraction | 03:16:41+00:00 | 06:31:25+00:00 | 210 min | bear | deteriorating | btc_defensive | 0.250 | 0.330 |
| P4_bear_recovering_btc_defensive | 06:46:16+00:00 | 09:01:26+00:00 | 150 min | bear | recovering | btc_defensive | 0.303 | 0.330 |
| P5_bear_recovering_mixed_dispersion | 09:16:33+00:00 | 10:01:33+00:00 | 60 min | bear | recovering | mixed_dispersion | 0.487 | 0.330 |
| P6_bear_contraction | 10:16:41+00:00 | 11:01:23+00:00 | 60 min | bear | deteriorating | btc_defensive | 0.249 | 0.330 |
| P7_bear_recovering_mixed_dispersion | 11:16:25+00:00 | 12:31:28+00:00 | 90 min | bear | recovering | mixed_dispersion | 0.448 | 0.330 |
| P8_bear_expanding_alt_rotation | 12:46:14+00:00 | 17:01:16+00:00 | 270 min | bear | expanding | alt_rotation | 0.689 | 0.330 |
| P9_range_expanding_alt_rotation | 17:16:26+00:00 | 18:01:21+00:00 | 60 min | range | expanding | alt_rotation | 0.772 | 0.330 |
| P10_range_stable_alt_rotation | 18:16:36+00:00 | 19:01:18+00:00 | 60 min | range | stable | alt_rotation | 0.747 | 0.330 |
| P11_range_contraction | 19:16:16+00:00 | 23:46:05+00:00 | 285 min | range | contracting | mixed_dispersion | 0.517 | 0.330 |
Transitions
-
2026-10-31T02:16:47+00:00 —
P1_bear_expanding_alt_rotation→P2_bear_contraction: Breadth_state shifted from expanding -> contracting; participation moved alt_rotation -> mixed_dispersion; btc_bias_1h remained 'bear'. -
2026-10-31T03:16:41+00:00 —
P2_bear_contraction→P3_bear_contraction: Breadth_state moved contracting -> deteriorating (further breadth weakening); participation shifted mixed_dispersion -> btc_defensive; btc_bias_1h remained 'bear'. -
2026-10-31T06:46:16+00:00 —
P3_bear_contraction→P4_bear_recovering_btc_defensive: Breadth_state moved deteriorating -> recovering; participation remained btc_defensive; btc_bias_1h remained 'bear'. -
2026-10-31T09:16:33+00:00 —
P4_bear_recovering_btc_defensive→P5_bear_recovering_mixed_dispersion: Participation shifted btc_defensive -> mixed_dispersion while breadth stayed in recovering mode; btc_bias_1h stayed 'bear'. -
2026-10-31T10:16:41+00:00 —
P5_bear_recovering_mixed_dispersion→P6_bear_contraction: Breadth_state flipped recovering -> deteriorating/contracting; participation moved mixed_dispersion -> btc_defensive; btc_bias_1h stayed 'bear'. -
2026-10-31T11:16:25+00:00 —
P6_bear_contraction→P7_bear_recovering_mixed_dispersion: Breadth_state shifted deteriorating -> recovering; participation shifted btc_defensive -> mixed_dispersion; btc_bias_1h stayed 'bear'. -
2026-10-31T12:46:14+00:00 —
P7_bear_recovering_mixed_dispersion→P8_bear_expanding_alt_rotation: Breadth_state moved recovering -> expanding; participation shifted mixed_dispersion -> alt_rotation; btc_bias_1h remained 'bear'. -
2026-10-31T17:16:26+00:00 —
P8_bear_expanding_alt_rotation→P9_range_expanding_alt_rotation: btc_bias_1h shifted bear -> range; breadth_state remained expanding; participation stayed alt_rotation. -
2026-10-31T18:16:36+00:00 —
P9_range_expanding_alt_rotation→P10_range_stable_alt_rotation: Breadth_state moved expanding -> stable while btc_bias_1h remained range and participation stayed alt_rotation. -
2026-10-31T19:16:16+00:00 —
P10_range_stable_alt_rotation→P11_range_contraction: Breadth_state shifted stable -> contracting; participation moved alt_rotation -> mixed_dispersion; btc_bias_1h stayed range.
Strategy performance analysis
momentum_pullback_v1
short
strong
Evidence: 7 trades, win_rate 71.43%, pnl_amount_sum 27.0811 (theoretical, fees/funding excluded).
Caveats: Sample >5 but modest headcount; performance concentrated in a few larger winners. Monitor concentration by pair/phase.
CatchTheWave
short
positive
Evidence: 1 trade, win_rate 100%, pnl_amount_sum 16.0233 (theoretical, fees/funding excluded).
Caveats: low sample size — not statistically meaningful.
BalanceBreakoutRegime
short
positive
Evidence: 3 trades, win_rate 66.67%, pnl_amount_sum 12.1371 (theoretical, fees/funding excluded).
Caveats: low sample size — not statistically meaningful.
momentum_rotation_score
short
positive
Evidence: 36 trades, win_rate 47.22%, pnl_amount_sum 11.9176 (theoretical, fees/funding excluded).
Caveats: Moderate sample; win_rate near 50% with small positive aggregate pnl. Check for clustering by pair and exit reasons (many time_expired).
BalanceBreakoutRegime
long
neutral
Evidence: 4 trades, win_rate 50%, pnl_amount_sum 4.0942 (theoretical, fees/funding excluded).
Caveats: low sample size — not statistically meaningful.
momentum_rotation_score
long
weak
Evidence: 30 trades, win_rate 43.33%, pnl_amount_sum -12.8632 (theoretical, fees/funding excluded).
Caveats: Reasonable sample. Negative aggregate pnl and large worst-trade outlier (-19.659%) influenced results.
momentum_rotation_v2
short
weak
Evidence: 60 trades, win_rate 48.33%, pnl_amount_sum -17.1624 (theoretical, fees/funding excluded).
Caveats: Large sample but small negative aggregate pnl. Losses and time-expired exits concentrated; review position sizing and time-based exits.
PavLongMomentum4h
long
poor
Evidence: 4 trades, win_rate 0%, pnl_amount_sum -22.4733 (theoretical, fees/funding excluded).
Caveats: low sample size — not statistically meaningful.
BosPullback
long
poor
Evidence: 3 trades, win_rate 0%, pnl_amount_sum -23.8565 (theoretical, fees/funding excluded).
Caveats: low sample size — not statistically meaningful.
BosPullback
short
poor
Evidence: 3 trades, win_rate 0%, pnl_amount_sum -23.9849 (theoretical, fees/funding excluded).
Caveats: low sample size — not statistically meaningful.
momentum_rotation_v2
long
poor
Evidence: 54 trades, win_rate 35.19%, pnl_amount_sum -87.681 (theoretical, fees/funding excluded).
Caveats: Large sample with materially negative aggregate pnl and extreme negative outliers (worst_trade -20.309%).
CatchTheWave
long
poor
Evidence: 33 trades, win_rate 18.18%, pnl_amount_sum -119.9746 (theoretical, fees/funding excluded).
Caveats: Moderate sample with strongly negative aggregate pnl; losses widespread across phases.
Strategy × Phase cross-view
| Strategy | Dir | Phase | Trades | Win rate | PnL sum | PnL% mean |
|---|---|---|---|---|---|---|
| CatchTheWave | long | P11_range_contraction | 12 | 16.7% | -48.21 | -0.346 |
| momentum_rotation_v2 | long | P1_bear_expanding_alt_rotation | 11 | 18.2% | -40.85 | -3.360 |
| CatchTheWave | long | P3_bear_contraction | 10 | 20.0% | -31.53 | -0.248 |
| CatchTheWave | long | P4_bear_recovering_btc_defensive | 6 | 16.7% | -24.28 | -0.498 |
| momentum_rotation_v2 | long | unknown_phase | 7 | 28.6% | -21.17 | -4.405 |
| momentum_rotation_v2 | short | unknown_phase | 15 | 33.3% | -20.66 | -0.977 |
| momentum_rotation_v2 | long | P3_bear_contraction | 5 | 20.0% | -19.24 | -5.840 |
| momentum_pullback_v1 | short | P4_bear_recovering_btc_defensive | 2 | 100.0% | 18.79 | 1.834 |
| CatchTheWave | short | P8_bear_expanding_alt_rotation | 1 | 100.0% | 16.02 | 0.522 |
| BosPullback | short | unknown_phase | 2 | 0.0% | -16.01 | -3.021 |
| momentum_rotation_score | long | P2_bear_contraction | 5 | 20.0% | -15.25 | -5.352 |
| PavLongMomentum4h | long | unknown_phase | 2 | 0.0% | -14.57 | -7.127 |
| momentum_rotation_v2 | short | P4_bear_recovering_btc_defensive | 9 | 44.4% | -13.14 | -0.652 |
| momentum_rotation_v2 | long | P8_bear_expanding_alt_rotation | 15 | 33.3% | -12.64 | -0.434 |
| momentum_rotation_v2 | long | P2_bear_contraction | 2 | 0.0% | -10.24 | -4.619 |
| BalanceBreakoutRegime | short | P3_bear_contraction | 2 | 50.0% | 9.77 | 1.709 |
| momentum_rotation_score | long | unknown_phase | 5 | 80.0% | 9.47 | 2.708 |
| momentum_pullback_v1 | short | P2_bear_contraction | 1 | 100.0% | 8.82 | 2.218 |
| CatchTheWave | long | P5_bear_recovering_mixed_dispersion | 1 | 0.0% | -8.19 | -0.444 |
| CatchTheWave | long | P1_bear_expanding_alt_rotation | 2 | 50.0% | 8.16 | 0.868 |
| BosPullback | long | P3_bear_contraction | 1 | 0.0% | -8.11 | -2.113 |
| CatchTheWave | long | P2_bear_contraction | 1 | 0.0% | -8.06 | -0.418 |
| BosPullback | long | P8_bear_expanding_alt_rotation | 1 | 0.0% | -8.02 | -1.311 |
| BosPullback | short | P4_bear_recovering_btc_defensive | 1 | 0.0% | -7.97 | -1.711 |
| PavLongMomentum4h | long | P11_range_contraction | 2 | 0.0% | -7.90 | -1.402 |
| momentum_pullback_v1 | short | P8_bear_expanding_alt_rotation | 1 | 0.0% | -7.89 | -1.594 |
| CatchTheWave | long | P10_range_stable_alt_rotation | 1 | 0.0% | -7.87 | -0.809 |
| momentum_rotation_score | short | unknown_phase | 5 | 0.0% | -7.74 | -1.454 |
| BosPullback | long | P4_bear_recovering_btc_defensive | 1 | 0.0% | -7.73 | -1.815 |
| momentum_rotation_v2 | long | P9_range_expanding_alt_rotation | 2 | 100.0% | 7.46 | 2.501 |
Market ↔ Strategy observations
These are single-day, phase-linked observations and should not be interpreted as persistent causal edges.
P11_range_contraction
×
CatchTheWave
long
medium
Observed poor performance in this phase: 12 trades, win_rate 16.67%, pnl_amount_sum -48.2087 (theoretical).
P1_bear_expanding_alt_rotation
×
momentum_rotation_v2
long
medium
Observed weak performance in this phase: 11 trades, win_rate 18.18%, pnl_amount_sum -40.8517 (theoretical).
P4_bear_recovering_btc_defensive
×
momentum_pullback_v1
short
low
Observed positive outcomes in this phase: 2 trades, win_rate 100%, pnl_amount_sum 18.791 (theoretical).
P8_bear_expanding_alt_rotation
×
CatchTheWave
short
low
Observed a single high-return short: 1 trade, win_rate 100%, pnl_amount_sum 16.0233 (theoretical).
Lessons & hypotheses
Lessons
- Breadth regime shifts (expanding <-> contracting) coincided with swings in strategy outcomes across the day.
- Several positive short-pocket performances were concentrated in recovering/expanding breadth snapshots, while many long-rotation losses clustered in contraction/deteriorating snapshots.
- A few large outliers materially affected daily aggregates; monitoring extreme single-trade risk is important for per-strategy evaluation.
Testable hypotheses
- If trades from momentum_rotation_v2 enter during expanding alt_rotation phases, then they produce higher average returns than when entered during deteriorating/contraction phases?
- If CatchTheWave long entries occur during range contraction phases, then they underperform relative to other participation states?
- If momentum_pullback_v1 short entries occur during btc_defensive recovering snapshots, then win rate and mean pnl are higher?
Followups
- Backtest momentum_rotation_v2 segmented by phase labels over the last 90 days and compare mean pnl and worst-drawdown by phase.
- Run pair-level concentration analysis for momentum_pullback_v1 and CatchTheWave to see if a few pairs explain most gains/losses.
- Recompute strategy returns after removing top 1-2 outlier trades to estimate structural performance vs outlier-driven results.
- Analyze exit_reason distributions (time_expired vs other) for long-rotation strategies over last 180 days to assess time-based exit impact.