Strategy Zoo / S0900

PriceMomentum_V0900

REJECTEDmomentum

llmAdded trend filter (sma_50_slope>0) and loosened ret_20d/rel_volume thresholds for more entries in true uptrends; tightened stop-loss (ret_20d<-8%) and added momentum/profit exits (macd_hist<0 and profit take ret_20d>18%); added regime gates to avoid DOWNTREND and HIGH_VOLATILITY and to require NORMAL bubble; introduced position scaling: go to cash if bubble=EXPENSIVE, reduce size in MEDIUM_VOLATILITY, and trim exposure near 52w highs. Reduced base_position to 0.8 to lower max drawdown risk. | rejected: stage1: sharpe -0.73 below screen

Fitness
—
Generation
41
Complexity
12
Created
2026-09-30

Lineage

Parents (1)
PriceMomentum_V0227S0227 · gen 11ARCHIVEDllm

logic of PriceMomentum_V0186 with risk overlay of PriceMomentum_V0160

Children (0)
None

Strategy Logic (pseudocode)

# PriceMomentum_V0900  [momentum]
require regime.trend in ['UPTREND', 'SIDEWAYS']
require regime.volatility in ['LOW_VOLATILITY', 'MEDIUM_VOLATILITY']
require regime.bubble in ['NORMAL']
if flat and (ret_20d > 0.04 and rel_volume > 1.2 and sma_50_slope > 0.0):
    position = 0.8
if long and (ret_20d < -0.08 or macd_hist < 0.0 or ret_20d > 0.18 or roll_high_50 < sma_20):
    position = 0.0  # exit to cash

Backtest Metrics

MetricTrainValidationHidden TestFull
CAGR————
Total Return————
Sharpe————
Sortino————
Calmar————
Volatility————
Max DD————
Win Rate————
Avg Win————
Avg Loss————
Payoff————
Expectancy————
Profit Factor————
Trades————
Avg Holding Days————
Turnover————
Exposure————

Walk-Forward Years

year-by-year stability matters more than any single year
YearCAGRSharpeMax DDTrades
No walk-forward results

A robust strategy performs acceptably in most years rather than spectacularly in one — look for consistency across regimes, not a single outlier year.

Regime Performance

PeriodRegimeDaysAnn. ReturnSharpeExposure
No regime results

Trades (full period)

0 trades
EntryExitEntry PxExit PxReturnDays
No trades recorded