This intraday reversal strategy seeks to enter once price breaks down the Bollinger Bands low, while RSI signaling oversold and while trading volume is above the average. It also never enters on the last candle of a day. It exits once RSI signals oversold, while also having a take profit and a stop loss.
Backtest covers 12.5 months of SPY • 10 Minutes (SPDR S&P 500) data, from July 23, 2024 to August 1, 2025.
Equity curve is the strategy's performance over time. You should compare it to the asset's Buy & Hold performance. In general, you want the blue area to be well above the gray area.
Drawdown is how much losses (realized or unrealized) the strategy has had if compared to the highest equity peak. Compare this to the asset's drawdown to see whether your strategy does a decent job of isolating you from downside volatility. In general, the red area must be well within the gray area.
So, we have backtested Reversal strategy: BB Low Breakdown on elevated volume on 12.5 months of SPY • 10 Minutes candles. This backtest resulted in 93 positions, with the average win rate of 47% and reward-risk ratio of 1.41. If you assume that 1.41 reward-to-risk ratio holds, you need a minimum win rate of 41.5 to be profitable. So you're looking good so far. However, 93 positions is a small sample size, so take the results with a huge grain of salt. The key metrics are as follows:
With that exposure in mind, you can tell that for 64% time-in-market, you get 109.76% of the asset upside potential, and 61.35% of the asset downside potential.
All of the following: # "Romeo" 10min Chart(low) < 10min Bollinger Bands ® (20, 2, 2, 0, close), Low 10min Relative Strength Index (14, 70, 30, close) < 35 10min Volume (20, SMA), Vol. > 10min Volume (20, SMA), MA None of the following: 10min Candle Time = 1530
Any of the following: 10min Relative Strength Index (14, 70, 30, close) > 80
Exit if lost more than 1% (after candle closes).
Exit if gained more than 10% (after candle closes).
Exit after 100 candles, for any PnL.
The backtest results show some promise, but I have few concerns that need addressing.
The most positive aspect is the Risk/Reward ratio of 1.41 combined with the actual win rate being 4.5% above the minimal required win rate. This gives the strategy some mathematical edge. Also good to see is the lower drawdown compared to buy&hold (-12.7% vs -20.7%) and the reduced volatility profile (13.49% vs 17.69%). The correlation of 0.82 shows it's not just mimicking the underlying, which is what we want to see.
However, I am concerned about few things: The win rate of 47% is bit low for my taste, especially for a mean-reversion strategy. Also the average time in trade (67.8 candles) seems too long - for a reversal strategy we would typically want faster resolutions. The monthly trade frequency of 14.9 trades gives us enough statistical significance, but the performance metrics show quite some variance between different timeframes. The 3-month CAGR of 49.1% vs yearly CAGR of 14.5% indicates potential instability in the strategy's behavior.
I would suggest optimizing the exit conditions to reduce time in market and potentially adding more entry filters to improve the win rate. The strategy shows promise but needs refinement before real money deployment.
Total Trades | 93 | Net Profit | 13.5% | Buy & Hold Profit | 12.3% |
Win Rate | 47% | Reward/Risk Ratio | 1.41 | Max Drawdown | -12.7% |
Asset Max Drawdown | -20.7% | Exposure | 64.0% | Avg Candles in Position | 67.8 |
Sharpe Ratio | 1.17 | Sortino Ratio | 1.39 | Realized Volatility | 13.49% |
Max Winning Streak | 7 | Avg Winning Streak | 2.1 | Max Losing Streak | 6 |
Avg Losing Streak | 2.2 | Avg Trades per Month | 14.9 | Avg Trades per Day | 0.5 |
Return Std Dev | 1.7 | Loss Std Dev | 0.8 | Win Std Dev | 1.4 |
Expectancy | 0.1 | Beta | 0.72 |
backtest | exposure | peformance vs asset | drawdown vs asset | win% | reward/risk |
---|---|---|---|---|---|
META • 10 Minutes | 55% | (64.3%/53.3%) 1.21x | (-22.5%/-35.1%) 0.64x | 32 | 3.3 |
MSFT • 10 Minutes | 58% | (46.3%/18.1%) 2.56x | (-21.4%/-23.9%) 0.90x | 45 | 1.9 |
NVDA • 10 Minutes | 55% | (7.9%/41.7%) 0.19x | (-40.0%/-42.8%) 0.93x | 26 | 3.1 |
PLTR • 10 Minutes | 50% | (142.4%/439.0%) 0.32x | (-25.7%/-46.5%) 0.55x | 26 | 4.3 |
SPY • 10 Minutes | 64% | (13.5%/12.3%) 1.10x | (-12.7%/-20.7%) 0.61x | 47 | 1.4 |
TSLA • 10 Minutes | 55% | (-2.1%/23.0%) -0.09x | (-42.1%/-55.3%) 0.76x | 20 | 4.2 |
META • 30 Minutes | 46% | (291.9%/356.0%) 0.82x | (-23.6%/-51.8%) 0.46x | 25 | 6.0 |
MSFT • 30 Minutes | 46% | (75.9%/103.5%) 0.73x | (-19.8%/-26.6%) 0.74x | 27 | 4.2 |
NVDA • 30 Minutes | 43% | (925.3%/1089.5%) 0.85x | (-34.1%/-42.9%) 0.79x | 28 | 5.7 |
PLTR • 30 Minutes | 32% | (101.6%/1516.1%) 0.07x | (-28.8%/-48.4%) 0.60x | 23 | 4.5 |
SPY • 30 Minutes | 52% | (60.8%/65.6%) 0.93x | (-12.9%/-20.2%) 0.64x | 35 | 3.0 |
TSLA • 30 Minutes | 37% | (-6.4%/33.8%) -0.19x | (-43.8%/-67.1%) 0.65x | 20 | 4.3 |
META • 1 Hour | 36% | (181.7%/283.5%) 0.64x | (-27.4%/-76.8%) 0.36x | 23 | 5.4 |
MSFT • 1 Hour | 43% | (122.1%/250.0%) 0.49x | (-16.9%/-38.2%) 0.44x | 23 | 5.2 |
NVDA • 1 Hour | 25% | (106.1%/3270.7%) 0.03x | (-44.6%/-68.0%) 0.66x | 23 | 4.3 |
PLTR • 1 Hour | 25% | (163.7%/1420.6%) 0.12x | (-33.3%/-86.6%) 0.38x | 29 | 3.4 |
SPY • 1 Hour | 56% | (89.3%/99.7%) 0.90x | (-27.1%/-35.1%) 0.77x | 28 | 3.8 |
TSLA • 1 Hour | 26% | (-39.1%/1194.5%) -0.03x | (-64.5%/-75.1%) 0.86x | 22 | 3.4 |