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 5.7 years of WMT • 1 Hour (Walmart Inc.) data, from October 25, 2019 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 5.7 years of WMT • 1 Hour candles. This backtest resulted in 187 positions, with the average win rate of 43% and reward-risk ratio of 2.07. If you assume that 2.07 reward-to-risk ratio holds, you need a minimum win rate of 32.6 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 34% time-in-market, you get 45.44% of the asset upside potential, and 54.28% of the asset downside potential.
All of the following: # Echo 60min Chart(close) (1 candles ago) < 60min Bollinger Bands ® (20, 2, 2, 0, close), Up (1 candles ago) 60min Chart(close) > 60min Bollinger Bands ® (20, 2, 2, 0, close), Up
All of the following: # Oscar 60min Chart(close) < 60min Bollinger Bands ® (20, 2, 2, 0, close), Middle
The strategy shows some interesting statistical properties, but I am not fully convinced about its robustness. The risk/reward ratio of 2.07 combined with the 43% win rate gives us a mathematical edge, which is good. The win rate leeway of 42.67% above the minimal required win rate is quite healthy - this tells us the strategy has room for deterioration before becoming unprofitable.
However, I see some red flags here. The strategy significantly underperforms buy & hold (62.8% vs 138.2%), which is not optimal for a strategy that requires active management. The Sharpe ratio of 0.35 is quite low, suggesting poor risk-adjusted returns. Also concerning is the market exposure of only 34.2% - this means we're missing out on a lot of potential moves, which explains the underperformance versus buy & hold.
Looking at the performance by time periods, there is quite some inconsistency in the numbers. While the 6-month CAGR looks impressive at 39.6%, the longer-term CAGRs are much lower, dropping to 8.6% over 5 years. This suggests the strategy might not be as reliable over longer timeframes as one would hope. I would want to see more consistency in the periodic returns before deploying real capital with this approach.
Dios mío, this strategy is a complete disaster! Let me tell you why you should probably throw this in the garbage.
First of all, the strategy severely underperforms buy & hold (62.8% vs 138.2%). This is embarassing! You're doing twice worse than someone who just bought and forgot about it. Why even bother trading if you can't beat a simple buy & hold? The market exposure of 34.2% shows you're missing most of the upside moves.
The win rate is absolutely terrible - only 43%! Even though your Risk/Reward ratio looks decent at 2.07, you're losing money more than half the time. Yes, you have some safety margin above the minimal win rate, but who wants to lose constantly? The psychological impact would kill most traders.
Looking at the performance periods - it's completely inconsistent! One month you're down 22.8%, then suddenly up 39.6% in 6 months. This kind of volatility makes no sense for serious trading. The Sharpe ratio of 0.35 is embarrasingly low - anything below 1.0 is considered poor risk-adjusted returns.
If you want my honest opinion - and you know I always give it - this strategy needs major work or should be abandoned. It's not worth the time and effort when it can't even beat a simple buy & hold approach. Back to the drawing board!
Total Trades | 187 | Net Profit | 62.8% | Buy & Hold Profit | 138.2% |
Win Rate | 43% | Reward/Risk Ratio | 2.07 | Max Drawdown | -14.6% |
Asset Max Drawdown | -26.9% | Exposure | 34.2% | Avg Candles in Position | 17.3 |
Sharpe Ratio | 0.35 | Sortino Ratio | 0.84 | Realized Volatility | 9.88% |
Max Winning Streak | 7 | Avg Winning Streak | 2.0 | Max Losing Streak | 7 |
Avg Losing Streak | 2.6 | Avg Trades per Month | 5.4 | Avg Trades per Day | 0.2 |
Return Std Dev | 1.7 | Loss Std Dev | 0.8 | Win Std Dev | 1.5 |
Expectancy | 0.3 | Beta | 0.33 |
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 |