Swing Trading System using Bollinger Bands

The black arrow is the signal day, and the green arrow is the trade day (at open).


As promised, here is the system I was using that initially got me into the EXAM (ExamWorks) trade, making me over 10% in about 30 trading days, after commissions. But before I go any further…


Why? Because the stop loss and profit target values are highly suspect. In fact, I modified these after I initially made the trade, because they were unreasonable. I’ll explain that a little further down.

I’ve always been fascinated with Bollinger Bands. It’s amazing how the price bars just flow between them, bouncing back and forth and never quite escaping. This of course is all backwards, because the bands are there BECAUSE of the price bars, not the other way around. Cause and effect is an important thing to keep straight when trading stocks.

That said, there are some recurring patterns that intrigue me. I’ve noticed that after the lows have hugged the lower Bollinger Band for awhile, they usually head in the other direction. Then, if all goes well, they smack up against the high Bollinger Band for awhile, like helium balloons on the ceiling at New Years Eve. Rinse, and repeat.

The system I came up with that got me into the EXAM trade was this:

• All trades occur at the open of the following day after the signal. This allows me to actually work for a living and then make my trading decisions after the market is closed, and put my orders in overnight for the opening bell.

• Market must be in an uptrend, as determined by the S&P 500 (SPY) having its 65-day moving average be above its 195-day moving average. No point in trying this in a bear market. *

• Close price must be above $15 and average 10-day volume must be above 100,000.

• I used a Bollinger Band of 20 periods and 2 standard deviations, based on the closing price. (I’ve since changed that…)

• My screening software looks for four bars that have their lows below the lower Bollinger Band, followed by a fifth (most recent) bar with a low above the Bollinger Band. The last low below the Bollinger Band must be less than the first low below the Bollinger Band. Just to be clear, if the signal day is day 5, then day 4’s low must be below day 1’s low. This little plummet can have other bars before it with lows below the band, but it’s the four below and then one above scenario that we’re looking for. Check the lead graphic as an example. NOTE: I’ve since tested and found that four bars below works better. But I didn’t use that for this trade, so you’ll only see three bars.

• Buy at the open of the day that follows the signal day (the bar with the low above the band).

• Now here’s where it gets particularly dicey. Set a stop loss at 15% and a take-profit amount at 21% above what you paid for it (the “tradeprice”). In other words, if the price closes either below .85*tradeprice or above 1.21*tradeprice, then sell that puppy the following day at open.

When I did all my backtesting with ProRealTime, I could only test a single stock at a time. So I would enter all the data into a spreadsheet and add up the totals. I would compare various variations to each other, and pick the one that made the most money. From a sheer time/fatigue standpoint, I could really only do this for 30-40 stocks at a time. PRT doesn’t allow you to test on a portfolio-wide basis over a whole universe of stocks.

So the reason this is dicey is not because it won’t make money…it tested pretty well in that regard. The problem is the drawdown! The other problem is the amount of time your stock might just be sitting around, drifting one way or the other, taking forever to hit either the stop or the profit target.

I picked 15% as a stop loss because I’d read somewhere that 15% was a good number. I’ve also heard lots of other numbers since then. The problem with a fixed percentage either as a stop loss or a profit target is that some stocks aren’t volatile enough to get to either point very quickly. Which really misses the point of a swing trade.

I’ve since run this scenario through AmiBroker, which allows me to test across a big batch of thousands of stocks. When I tested with data from 1/1/2000 to 12/27/2014, I got a profit gain of 169.41%, bringing a hypothetical investment of $30,000 to $80,821.94. That was reasonably decent compared to some other systems I’ve worked up. The problem, as mentioned before, is the drawdown.

1. Portfolio Equity

Look at those big dips as the market fell apart in 2002 and 2007-2008. Interestingly, this system is kind of flat in 2014, even though the market has been on a upward tear. The sign of things to come?

Note also the straight lines at the end of 2002 and between 2008-2009. This is where the filter for the S&P 500 kicked in, keeping me from trading in a bear market. Otherwise losses would have been much larger.

2. Underwater EquityThis hypothetical portfolio traded a maximum of 5 positions at a time. Look at those painful drawdowns in 2003 and 2008…a maximum 24% of the entire portfolio! Hurts my eyes to look at.

So how to fix this? One way would be to use stop loss and profit targets that are tailored to the innate volatility of a particular stock. One way is to use Average True Range as a basis for stops and targets. This tailors the exits to what the stock has the potential for, rather than some one-size-fits-all percentage. I’ll talk about that in a future post.

By the way, most of the portfolio-related stuff I’ve learned from Llewelyn James, either through his book or directly from him. Including the reasons for why 15% is a dumb number to blindly pick. This particular swing system (DON’T USE IT!) is all my creation though.

Disclaimer: I think I mentioned enough times that you shouldn’t use this system. Not just because trading in general is risky, but because this system isn’t particularly good. If you’re into CAR/MDD** ratios, it has an embarrassingly low value of 0.17 It is however the basis for other ideas that appear to work better. Oh and I should mention that once I realized a 15/21% stop/profit was f-ing cray-cray, I changed it to a 3 x ATR/4 x ATR stop/profit instead…which got me 10% profit.

Now I’m going to go sit and watch my leveraged short-oil ETF as it goes through the roof. 🙂 Oil dipped below $50 today, and I’m cheering for it to go lower.


* BTW I’ve since started using a 40-day vs 120-day comparison for bear markets…a little faster to respond to a downturn, but also will likely create a little more choppiness and false starts at the end of a downturn.

** Compounded annual return divided by the maximum drawdown. This rewards profit but also penalizes drawdown. Keeps your account from hemorrhaging money while you’re waiting for the next big win.

One thought on “Swing Trading System using Bollinger Bands”

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.