Do not trade. The edge does not survive out-of-sample + costs.
A Bollinger Band mean-reversion strategy using a 20-period SMA with 2.5 standard-deviation bands. It goes long when the closing price crosses below the lower band and goes short when the closing price crosses above the upper band. It is best suited for range-bound or mean-reverting market regimes.
| Metric | Original ★ | Improved +low_vol+vol_target |
|---|---|---|
| OOS Sharpe | -0.141 | -0.408 |
| Stress Sharpe (3x cost) | -0.417 | -0.614 |
| Ann return | -0.3% | -0.8% |
| Max drawdown | -4.3% | -5.7% |
| Ann turnover | 6.2 | 4.7 |
| PSR (P[Sharpe>0]) | 0.354 | 0.070 |
| Bootstrap p(mean<=0) | 0.705 | 0.940 |
Recommended: original — OOS Sharpe -0.141, PSR 0.354, bootstrap p 0.705.
| Asset | Sharpe | Stress |
|---|---|---|
| SPY | -0.03 | -0.30 |
| QQQ | -0.14 | -0.42 |
| IWM | -0.26 | -0.50 |
| EEM | 0.80 | 0.58 |
| EWZ | 0.40 | 0.29 |
| GLD | -0.96 | -1.34 |
| AAPL | -0.16 | -0.33 |
| MSFT | 0.74 | 0.56 |
| Timeframe | Sharpe | Stress |
|---|---|---|
| D | -0.14 | -0.42 |
| W | 0.40 | 0.38 |
| M | 0.38 | 0.38 |
Out-of-sample, net of cost. PSR / bootstrap / stress-test robustness is what a TradingView backtest cannot show. Not investment advice.