Strategy Report Card — EMA 9/21 Crossover (SPY)

VERDICT: DEPLOYABLE (small size)

Start at <=25% of your per-strategy risk budget; scale up only after live confirms the backtest.

A classic dual-EMA crossover strategy that trades on any instrument using close prices. It goes long when the 9-period EMA crosses above the 21-period EMA, and goes short when it crosses below. Designed for trending market regimes; it is always in the market (long or short).

Family ema_cross · direction long_short · params fast=9, slow=21

Translation warnings
OOS equity curve
MetricOriginal Improved +ma200+vol_target ★
OOS Sharpe0.2710.491
Stress Sharpe (3x cost)0.1900.358
Ann return5.3%6.6%
Max drawdown-23.2%-18.7%
Ann turnover15.818.0
PSR (P[Sharpe>0])0.7600.896
Bootstrap p(mean<=0)0.2050.075

Recommended: improved — OOS Sharpe 0.491, PSR 0.896, bootstrap p 0.075.

Breadth — does the same edge hold elsewhere?

BROAD — edge holds across many assets and timeframes (low overfit risk)

Across assets: 7/8 positive (5/8 under stress), median Sharpe 0.335

AssetSharpeStress
SPY0.490.36
QQQ0.770.68
IWM0.06-0.03
EEM-0.19-0.31
EWZ0.180.12
GLD0.03-0.18
AAPL0.860.80
MSFT0.590.50
TimeframeSharpeStress
D0.490.36
W0.400.38
M0.880.88
Want your strategy checked like this — out-of-sample, net of cost?
Request a free analysis of any strategy →

Out-of-sample, net of cost. PSR / bootstrap / stress-test robustness is what a TradingView backtest cannot show. Not investment advice.