A New Swing Trade System Using Bollinger Bands

Of course I’m going to show you the best trade! EMKR on August 7th, 2000, for a gain of 32%.

So I was talking in a previous post about how Bollinger Bands have always intrigued me, and prices seem to very often bounce back and forth between the two bands. Of course this is obvious in hindsight, but there must be some system that could capture many of these trades.

The system I initially developed using ProRealTime showed profitability in backtesting, but with at least one major flaw: the stops were arbitrary, and were way too wide for a “one size fits all” approach. The flaw was there due to the nature of backtesting using ProRealTime…it’s difficult to get a sense of the drawdown and other vital issues. So I came up with another system, which has a vastly improved CAR/MDD (Compounded Annual Return divided by Maximum Drawdown).

But before I go on, a disclaimer: you’re guaranteed to make vast riches with this system!


Disclaimer: assume I don’t know what I’m doing. Do your own backtesting. Do your own forward-testing. This is not financial advice, just a fun little amusement. If one can call little snippets of computer code an amusement.

Anyhoo, you’ll notice this system has some things in common with the first attempt. Four bars in a row that have lows piercing the lower Bollinger band, followed by one that doesn’t. You buy at the open of the following day. You sell when it hits the upper Bollinger band, and then stops piercing it with the highs. Here are the details, the parameters of which have been thoroughly tested using AmiBroker.

• Go look at the S&P 500 index (or the SPY etf equivalent). Get a chart that shows moving averages with periods of 40 and 120 days. The 40-day curve should be above the 120-day curve. If it’s not, the market is sucky and you should be finding other things to do for awhile.

• This is a five-bar sequence. Your stock should have four consecutive days with lows that are lower than the low Bollinger band. Set your “B Bands” up with a period of 15 days, and 2 standard deviations (2 is usually the default). Note these don’t have to be “down days”, where the close is lower than the open. You’re just looking at the lows and the lower band for this part. In the example above, the last two bars are actually up days…just doesn’t matter.

• The most recent “piercing low” must be lower than the earliest one, otherwise it’s a vague and hazy sort of decline that likely won’t bounce back.

• The fifth “trigger” day in the sequence is a a bar with a low that does NOT pierce its B Band. For this trigger bar, it must be an up day (Close>Open) and volume for that day must be greater than the average volume of the past 20 days. So you’re going to need a moving average for your volume as well.

I did test to see if the system worked better with the trigger bar being a big percentage, or if volume needed to be very much higher than the average, but the best results were as stated above.

• BUY at the open following the trigger day. *

Then what? Wait for your riches to roll in! Wait patiently until the price moves upward.

• When the highs start piercing the upper Bollinger Band, you need to start paying close attention. Each day it pierces…yay! You’re potentially making more money. Look for the first day of this sequence of piercings that does NOT pierce the B Band. Sort of the inverse of the entry day. That’s your neon sign saying it’s time to get out.

• Sell at the open of the following day.

• Also set a stop loss! My stop losses are usually “soft”, i.e. I don’t set them with the broker. Instead I check the close of each day, and if it’s fallen below my stop point, I sell on the following open. This avoids any close calls where the low fell temporarily below the stop, but then recovered. Also it’s just easier so I don’t sit there watching the “tape” all day. Your stop loss should be 14% (i.e. multiply your entry price by .86 and there’s your get-out-of-town price). Yes I tested a range of stops between 30% and 3%, and 14% worked best.

Some other details:

• Only choose stocks that closed higher than $15, with a average volume greater than 100k shares. Smaller than that and you might buy an erratic, frisky stock that misbehaves like a drunken groom at a bachelor party.

• If you’ve got too many stocks to choose from on a particular day, set up an Average True Range indicator with a period of 10. Divide each stock’s ATR by the Close of the trigger day (ATR/Close, which will be a tiny decimal number), and pick the one with the highest number. This will give you the stock that is the most volatile, and thus the one that has the potential to give you more profit.

• Oh and do bother to check the stock out on various sites such as seekingalpha.com, finviz.com etc. Make sure that there isn’t any dreadful recent news or financial info that is going to ruin your day. With short-term plays like this, the fundamentals aren’t as important as for long term trades. But you still don’t want to buy a real dog…or at least you want to proceed with your eyes wide open.

And that’s it! Let me know if you have luck with it. If anyone wants the AmiBroker or ProRealTime code for this, just drop me a message here.

* UPDATE 02/15/15. After reading Jay Kaeppel’s book Seasonal Stock Market Trends, I took a look at some of my swing systems to see if they could be improved by only trading during certain times of the year. Sure enough, this swing system improves if you do NOT trade during the month of May. And it improves even more if you exit any trade that happens to overlap into the month of May. Why? No idea. Doesn’t matter, just avoid May for improved results.




15 thoughts on “A New Swing Trade 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.