This strategy buys whenever Bollinger Bands is squeezed into Kelther Channel. This normally indicates that the market is going sideways. This strategy then sells whenever price goes below the Bollinger Bands middle line. The idea is to buy during the obviously sideways market, hoping for it to burst.
Backtest covers 38 days of WMT • 1 Minute (Walmart Inc.) data, from June 3, 2025 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/Keltner squeeze on 38 days of WMT • 1 Minute candles. This backtest resulted in 127 positions, with the average win rate of 31% and reward-risk ratio of 1.45. If you assume that 1.45 reward-to-risk ratio holds, you need a minimum win rate of 40.8 to be profitable. So you're screwed! The key metrics are as follows:
With that exposure in mind, you can tell that for 18% time-in-market, you get 70.37% of the asset upside potential, and 60.94% of the asset downside potential.
All of the following: # Whiskey 1min Chart(close) (2 candles ago) < 1min Bollinger Bands ® (20, 2, 2, 0, close), Up (2 candles ago) 1min Chart(close) (1 candles ago) > 1min Bollinger Bands ® (20, 2, 2, 0, close), Up (1 candles ago) 1min Bollinger Bands ® (20, 2, 2, 0, close), Up (1 candles ago) < 1min Keltner Channel (20, SMA, 10, 2, 0, close), Up (1 candles ago) 1min BB (20, 2, 2, 0, close) (1 candles ago) > 1min Keltner (20, SMA, 10, 2, 0, close) (1 candles ago)
Any of the following: # Papa 1min Chart(close) < 1min Bollinger Bands ® (20, 2, 2, 0, close), Middle
The strategy shows some interesting characteristics, but I have concerns about its long-term viability. The negative expectancy of -0.2 is problematic, even though the Risk/Reward ratio of 1.45 looks not too bad.
What catches my attention is the win rate of 31% - this is quite low. Although the average win (0.18%) is larger than the average loss (-0.12%), the frequency of losses makes the strategy unprofitable in total. The maximum drawdown of -3.9% is actually not too dramatic, which suggests the risk management part works okay. But still, with 69% of trades being losers, this is mathematicly not sustainable.
The trading frequency looks reasonable with 6.7 trades per day - this gives us enough statistical significance with 127 trades over the testing period. However, the long losing streaks (maximum of 13 consecutive losses) could be psychologicly challenging for most traders. I would suggest to either improve the entry conditions to increase the win rate above the minimal sufficient win rate of 40.8%, or to abandon this strategy completely. The current metrics suggest the strategy is not viable in its current form.
Yo fam, let me break down this Bollinger/Keltner squeeze strategy on WMT! 🎯
First off, this strategy is keeping us super active with about 7 trades per day - that's some serious action! 🔥 The exposure is only 17.7% which means we're not stuck in positions forever, and that's exactly what we want for quick scalps. The Risk/Reward ratio of 1.45 is actually pretty decent too!
Here's the thing though - we're running at 31% win rate which is a bit rough, especially when we need 40.8% to break even. The max drawdown is only -3.9% which isn't too scary compared to the market's -6.4%, so we're actually controlling risk better than just holding! 💪 Even though we're down 3.8%, we're still beating buy & hold which lost 5.4%, so there's definitely potential here!
I think with some tweaking, this could be a solid strategy fam! Maybe adjust the exit conditions to catch more meat in the middle of moves, or tighten up the entry criteria to boost that win rate. The short average hold time of 13 candles shows we're catching quick moves - just need to make them more profitable! TO THE MOON! 🚀 Not financial advice though, just a Wendy's worker dreaming big! 😎
Total Trades | 127 | Net Profit | -3.8% | Buy & Hold Profit | -5.4% |
Win Rate | 31% | Reward/Risk Ratio | 1.45 | Max Drawdown | -3.9% |
Asset Max Drawdown | -6.4% | Exposure | 17.7% | Avg Candles in Position | 13.0 |
Sharpe Ratio | Sortino Ratio | Realized Volatility | — | ||
Max Winning Streak | 4 | Avg Winning Streak | 1.6 | Max Losing Streak | 13 |
Avg Losing Streak | 3.7 | Avg Trades per Month | 200.5 | Avg Trades per Day | 6.7 |
Return Std Dev | 0.2 | Loss Std Dev | 0.1 | Win Std Dev | 0.2 |
Expectancy | -0.2 | Beta | 0.2 |
backtest | exposure | peformance vs asset | drawdown vs asset | win% | reward/risk |
---|---|---|---|---|---|
BTCUSD • 1 Minute | 13% | (0.2%/9.8%) 0.02x | (-0.4%/-1.6%) 0.25x | 49 | 1.2 |
EURUSD • 1 Minute | 17% | (-0.1%/-0.9%) 0.11x | (-0.5%/-1.2%) 0.42x | 28 | 2.4 |
GLD • 1 Minute | 18% | (3.6%/0.0%) Infinityx | (-1.0%/-5.5%) 0.18x | 35 | 4.0 |
NVDA • 1 Minute | 24% | (8.1%/16.7%) 0.49x | (-1.8%/-4.4%) 0.41x | 43 | 2.4 |
SPY • 1 Minute | 23% | (1.0%/4.6%) 0.22x | (-1.6%/-2.1%) 0.76x | 33 | 2.4 |
TSLA • 1 Minute | 23% | (-14.5%/-10.3%) 1.41x | (-15.5%/-21.4%) 0.72x | 28 | 1.3 |
WMT • 1 Minute | 18% | (-3.8%/-5.4%) 0.70x | (-3.9%/-6.4%) 0.61x | 31 | 1.4 |
BTCUSD • 10 Minutes | 19% | (1.0%/27.2%) 0.04x | (-6.3%/-12.1%) 0.52x | 35 | 1.9 |
EURUSD • 10 Minutes | 24% | (-0.3%/6.5%) -0.05x | (-4.3%/-4.3%) 1.00x | 30 | 2.3 |
GLD • 10 Minutes | 19% | (-4.0%/43.7%) -0.09x | (-8.0%/-8.3%) 0.96x | 37 | 1.4 |
NVDA • 10 Minutes | 25% | (-12.1%/32.9%) -0.37x | (-24.9%/-42.8%) 0.58x | 36 | 1.6 |
SPY • 10 Minutes | 26% | (-0.3%/14.3%) -0.02x | (-5.6%/-20.7%) 0.27x | 38 | 1.6 |
TSLA • 10 Minutes | 24% | (4.7%/59.0%) 0.08x | (-32.8%/-55.3%) 0.59x | 40 | 1.6 |
WMT • 10 Minutes | 27% | (17.3%/40.1%) 0.43x | (-6.2%/-23.8%) 0.26x | 44 | 1.9 |
BTCUSD • 1 Hour | 25% | (19.1%/71.4%) 0.27x | (-21.5%/-31.0%) 0.69x | 42 | 1.7 |
EURUSD • 1 Hour | 26% | (4.9%/8.2%) 0.60x | (-2.8%/-9.0%) 0.31x | 41 | 1.9 |
GLD • 1 Hour | 16% | (6.2%/117.6%) 0.05x | (-18.6%/-22.2%) 0.84x | 42 | 1.6 |
NVDA • 1 Hour | 26% | (364.4%/3126.3%) 0.12x | (-34.2%/-68.0%) 0.50x | 49 | 2.5 |
SPY • 1 Hour | 22% | (8.9%/106.7%) 0.08x | (-12.4%/-35.1%) 0.35x | 41 | 1.7 |
TSLA • 1 Hour | 21% | (505.6%/1395.5%) 0.36x | (-34.5%/-75.1%) 0.46x | 43 | 3.1 |
WMT • 1 Hour | 25% | (25.8%/138.2%) 0.19x | (-9.3%/-26.9%) 0.35x | 46 | 1.6 |
BTCUSD • Daily | 28% | (2515.4%/67440.2%) 0.04x | (-51.5%/-83.8%) 0.61x | 45 | 4.2 |
EURUSD • Daily | 25% | (5.2%/10.8%) 0.48x | (-9.1%/-23.3%) 0.39x | 39 | 1.9 |
GLD • Daily | 17% | (13.2%/595.1%) 0.02x | (-21.1%/-45.3%) 0.47x | 39 | 1.9 |
NVDA • Daily | 26% | (577.6%/373678.5%) 0.00x | (-51.4%/-90.0%) 0.57x | 43 | 2.5 |
SPY • Daily | 22% | (14.1%/1316.3%) 0.01x | (-39.4%/-56.7%) 0.69x | 39 | 1.9 |
TSLA • Daily | 24% | (1451.6%/24185.2%) 0.06x | (-38.8%/-75.0%) 0.52x | 47 | 3.9 |
WMT • Daily | 26% | (-44.0%/9978.0%) -0.00x | (-74.7%/-50.6%) 1.48x | 36 | 1.6 |