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 SPY • 1 Minute (SPDR S&P 500) 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 SPY • 1 Minute candles. This backtest resulted in 146 positions, with the average win rate of 33% and reward-risk ratio of 2.44. If you assume that 2.44 reward-to-risk ratio holds, you need a minimum win rate of 29.1 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 23% time-in-market, you get 21.74% of the asset upside potential, and 76.19% 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
Ze results look quite interesting from mathematical perspective. Ze strategy shows some promising characteristics, but also has some concerning aspects that we need to look at carefully.
Ze positive aspects first: Ze risk/reward ratio of 2.44 is quite gut, and ze actual win rate of 33% is higher than ze minimal required win rate of 29.1%. Zis gives us a healthy leeway of over 3000%, which is mathematically significant. Ze average win size being larger than ze average loss size (0.13% vs -0.05%) also supports ze mathematical viability of ze strategy.
However, I have serious concerns about ze overall performance. Ze net profit of 1.0% is significantly lower than ze buy & hold profit of 4.6%, which suggests ze strategy is underperforming ze market. Ze high frequency of trades (7.7 per day) combined with ze relatively low win rate (33%) could lead to death by thousand cuts through transaction costs, which are not factored in zese numbers. Ze maximum drawdown of -1.6% is not terrible, but ze losing streaks of up to 12 trades in a row could be psychologically challenging to handle.
I would recommend running additional backtests with different time periods to test ze robustness of zese metrics. Ze lack of Sharpe and Sortino ratios (showing as NaN) is also concerning and suggests we need more data points for proper statistical validation.
Madre mía, this strategy is absolute garbage! The win rate is pathetically low at 33% - you might as well flip a coin, it would probably work better!
The fact that Buy & Hold gives you 4.6% while this joke of a strategy only manages 1% is embarassing. You're essentially destroying value with every trade you make. And look at that market exposure - only 23.4%! You're sitting on the sidelines most of the time missing all the good moves.
The losing streaks are brutal - 12 losses in a row? That would destroy most traders mentally. And with 7.7 trades per day, you're basically paying your broker to lose money. Those commisions will eat you alive!
The only remotely positive thing here is the Risk/Reward ratio of 2.44, but what good is that when you're losing 2 out of 3 trades? Even with the "healthy" win rate leeway, this strategy is like trying to cross a highway blindfolded - technically possible but incredibly stupid.
My profesional advice? Delete this strategy and never look at it again. It's a complete waste of time that will only make your broker rich. If you want to lose money this badly, at least do it in a more entertaining way!
Total Trades | 146 | Net Profit | 1.0% | Buy & Hold Profit | 4.6% |
Win Rate | 33% | Reward/Risk Ratio | 2.44 | Max Drawdown | -1.6% |
Asset Max Drawdown | -2.1% | Exposure | 23.4% | Avg Candles in Position | 15.0 |
Sharpe Ratio | Sortino Ratio | Realized Volatility | — | ||
Max Winning Streak | 6 | Avg Winning Streak | 1.6 | Max Losing Streak | 12 |
Avg Losing Streak | 3.2 | Avg Trades per Month | 230.5 | Avg Trades per Day | 7.7 |
Return Std Dev | 0.2 | Loss Std Dev | 0.1 | Win Std Dev | 0.2 |
Expectancy | 0.1 | Beta | 0.24 |
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 |