This stragegy buys when price breaks up from the Bollinger Bands upper band. This is believed to indicate the beginning of a big upmove. It then sells whenever price goes below the Bollinger Bands middle line. See whether buying the Bollinger Bands breakout is a good idea! We've backtested it.
Backtest covers 32.5 years of SPY • Daily (SPDR S&P 500) data, from January 29, 1993 to July 11, 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 Bollinger bands pierce (long) on 32.5 years of SPY • Daily candles. This backtest resulted in 146 positions, with the average win rate of 42% and reward-risk ratio of 1.72. If you assume that 1.72 reward-to-risk ratio holds, you need a minimum win rate of 36.8 to be profitable. So you're looking good so far. The key metrics are as follows:
With that exposure in mind, you can tell that for 32% time-in-market, you get 2.45% of the asset upside potential, and 58.73% of the asset downside potential.
All of the following: # Echo D Chart(close) (1 candles ago) < D Bollinger Bands ® (20, 2, 2, 0, close), Up (1 candles ago) D Chart(close) > D Bollinger Bands ® (20, 2, 2, 0, close), Up
All of the following: # Oscar D Chart(close) < D Bollinger Bands ® (20, 2, 2, 0, close), Middle
The results are not looking very impressive from mathematical perspective. While the strategy shows some positive metrics like good Risk/Reward ratio of 1.72 and healthy win rate leeway, there are several red flags that make me concerned.
First problem I see is the very low trade frequency - only 146 trades over 32.5 years means aproximately 0.7 trades per month. This is extremely low and makes the statistical significance questionable. The strategy also significantly underperforms buy & hold with only 32.3% net profit compared to 1316.3% for buy & hold. The negative Sharpe ratio of -0.41 and Sortino ratio of -0.32 indicate poor risk-adjusted returns.
What concerns me most is the inconsistency in performance across different time periods. While short-term CAGR looks good (31.3% for 1M), it deteriorates significantly over longer periods (down to 2.6% for 5Y). This suggests the strategy may not be robust enough for real trading conditions. The max drawdown of 33.3% is also quite high relative to the overall returns. I would need to see more trades and better risk-adjusted metrics before considering this strategy viable.
Madre mía, this strategy is absolute garbage! The numbers are screaming "stay away" louder than my abuela when she catches someone messing up her paella.
Look at that pathetic 32.3% net profit over 32.5 years when buy & hold gave 1316.3%! You would have done better putting your money under your mattress, por dios! The Win Rate of 42% might look acceptable with that Risk/Reward ratio, but with only 0.7 trades per month? That's menos que nada - you're basically paying your broker to waste your time.
The negative Sharpe and Sortino ratios are like a big red flag waving in your face. And that -33.3% drawdown? Terrible! The strategy is clearly struggling to deliver any consistent results - just look at how the performance deteriorates from 1M to 5Y periods. It's like watching a bull slowly dying in the arena, but less entertaining.
Total Trades | 146 | Net Profit | 32.3% | Buy & Hold Profit | 1316.3% |
Win Rate | 42% | Reward/Risk Ratio | 1.72 | Max Drawdown | -33.3% |
Asset Max Drawdown | -56.7% | Exposure | 32.4% | Avg Candles in Position | 17.1 |
Sharpe Ratio | -0.41 | Sortino Ratio | -0.32 | Realized Volatility | 5.89% |
Max Winning Streak | 4 | Avg Winning Streak | 1.6 | Max Losing Streak | 6 |
Avg Losing Streak | 2.2 | Avg Trades per Month | 0.7 | Avg Trades per Day | 0.0 |
Return Std Dev | 2.8 | Loss Std Dev | 1.0 | Win Std Dev | 2.7 |
Expectancy | 0.2 | Beta | 0.13 |
backtest | exposure | peformance vs asset | drawdown vs asset | win% | reward/risk |
---|---|---|---|---|---|
BTCUSDT • 1 Minute | 24% | (6.4%/8.9%) 0.72x | (-2.3%/-1.9%) 1.21x | 45 | 2.9 |
EURUSD • 1 Minute | 28% | (0.2%/-0.9%) -0.22x | (-0.6%/-1.2%) 0.50x | 34 | 2.1 |
GLD • 1 Minute | 30% | (2.6%/0.0%) Infinityx | (-1.9%/-5.5%) 0.35x | 40 | 2.1 |
NVDA • 1 Minute | 29% | (10.9%/16.7%) 0.65x | (-2.1%/-4.4%) 0.48x | 42 | 2.5 |
SPY • 1 Minute | 30% | (1.2%/4.6%) 0.26x | (-1.9%/-2.1%) 0.90x | 34 | 2.2 |
TSLA • 1 Minute | 31% | (-15.1%/-10.3%) 1.47x | (-16.7%/-21.4%) 0.78x | 31 | 1.5 |
WMT • 1 Minute | 26% | (-3.3%/-5.4%) 0.61x | (-4.0%/-6.4%) 0.63x | 32 | 1.6 |
BTCUSDT • 10 Minutes | 27% | (7.2%/26.3%) 0.27x | (-4.8%/-12.1%) 0.40x | 38 | 2.1 |
EURUSD • 10 Minutes | 32% | (2.3%/6.8%) 0.34x | (-2.7%/-4.3%) 0.63x | 36 | 2.1 |
GLD • 10 Minutes | 38% | (6.0%/43.7%) 0.14x | (-9.8%/-8.3%) 1.18x | 43 | 1.6 |
NVDA • 10 Minutes | 33% | (8.1%/32.9%) 0.25x | (-26.2%/-42.8%) 0.61x | 44 | 1.4 |
SPY • 10 Minutes | 33% | (3.6%/14.3%) 0.25x | (-7.7%/-20.7%) 0.37x | 42 | 1.6 |
TSLA • 10 Minutes | 31% | (4.5%/59.0%) 0.08x | (-37.6%/-55.3%) 0.68x | 39 | 1.7 |
WMT • 10 Minutes | 34% | (25.4%/40.1%) 0.63x | (-6.8%/-23.8%) 0.29x | 43 | 2.1 |
BTCUSDT • 1 Hour | 30% | (9.3%/71.3%) 0.13x | (-17.2%/-30.6%) 0.56x | 38 | 1.8 |
EURUSD • 1 Hour | 32% | (6.5%/8.4%) 0.77x | (-4.2%/-9.0%) 0.47x | 40 | 1.9 |
GLD • 1 Hour | 35% | (21.0%/117.6%) 0.18x | (-28.2%/-22.2%) 1.27x | 41 | 1.8 |
NVDA • 1 Hour | 36% | (521.6%/3126.3%) 0.17x | (-36.1%/-68.0%) 0.53x | 47 | 2.3 |
SPY • 1 Hour | 36% | (31.9%/106.7%) 0.30x | (-11.2%/-35.1%) 0.32x | 46 | 1.6 |
TSLA • 1 Hour | 34% | (2572.3%/1395.5%) 1.84x | (-29.3%/-75.1%) 0.39x | 46 | 3.1 |
WMT • 1 Hour | 34% | (62.8%/138.2%) 0.45x | (-14.6%/-26.9%) 0.54x | 43 | 2.1 |
BTCUSDT • Daily | 36% | (320.8%/1335.5%) 0.24x | (-61.6%/-76.6%) 0.80x | 40 | 3.2 |
EURUSD • Daily | 29% | (3.2%/10.8%) 0.30x | (-10.2%/-23.3%) 0.44x | 30 | 2.7 |
GLD • Daily | 33% | (106.4%/595.1%) 0.18x | (-23.8%/-45.3%) 0.53x | 45 | 2.1 |
NVDA • Daily | 39% | (9137.3%/373678.5%) 0.02x | (-67.9%/-90.0%) 0.75x | 50 | 2.5 |
SPY • Daily | 32% | (32.3%/1316.3%) 0.02x | (-33.3%/-56.7%) 0.59x | 42 | 1.7 |
TSLA • Daily | 35% | (8915.3%/24185.2%) 0.37x | (-40.7%/-75.0%) 0.54x | 45 | 5.0 |
WMT • Daily | 34% | (-20.9%/9978.0%) -0.00x | (-65.4%/-50.6%) 1.29x | 37 | 1.7 |