As of 12/06/2024
Indus: 44,643 -123.19 -0.3%
Trans: 16,879 -97.04 -0.6%
Utils: 1,036 -11.79 -1.1%
Nasdaq: 19,860 +159.51 +0.8%
S&P 500: 6,090 +15.16 +0.2%
|
YTD
+18.4%
+6.2%
+17.4%
+32.3%
+27.7%
|
44,000 or 46,000 by 12/15/2024
17,025 or 18,000 by 12/15/2024
1,025 or 1,100 by 12/15/2024
20,000 or 18,500 by 12/15/2024
6,200 or 5,900 by 12/15/2024
|
As of 12/06/2024
Indus: 44,643 -123.19 -0.3%
Trans: 16,879 -97.04 -0.6%
Utils: 1,036 -11.79 -1.1%
Nasdaq: 19,860 +159.51 +0.8%
S&P 500: 6,090 +15.16 +0.2%
|
YTD
+18.4%
+6.2%
+17.4%
+32.3%
+27.7%
| |
44,000 or 46,000 by 12/15/2024
17,025 or 18,000 by 12/15/2024
1,025 or 1,100 by 12/15/2024
20,000 or 18,500 by 12/15/2024
6,200 or 5,900 by 12/15/2024
| ||
This article discusses a long-term stock trading setup by Adam White from a June 1995 Technical Analysis of Stocks and Commodities magazine article. He proposed it as a weekly S&P trading system, but I wanted to test it for stocks and ETFs as well. I updated the results to October 2010 and found that performance dropped.
This trading setup is for the long term position trader. I tested it on stocks and ETFs with little performance difference.
The setup relies on higher highs and higher lows for entry. Exit is a two part affair. The first half measures how far price has retraced from a peak. The second part acts as a switch to turn on and off the retracement exit. It uses what Adam White calls a trend analysis index or TAI for short. The trend analysis index calculates a high-low price range to determine whether price is trending or not. If price is trending, the TAI switches off the retracement exit (in theory, but it didn't always work in practice). Securities with steep price drops don't exit in a timely manner, so that needs to be fixed.
For exchange traded funds, the system wins 38% of the time, making 1.4 times as much as when it loses. The average profit per trade is $208 on a $10,000 investment held for 151 days, on average. Stocks won 39% of the time, making 1.4 times their losses with an average profit of $261 when held for an average of 147 days.
Adam White Results 1982-1991 | Top Dog | Bottom Performer |
Number of winning trades: | 7 | 10 |
Number of losing trades: | 2 | 9 |
Total won: | $942 | $1,027 |
Total lost: | $80 | $273 |
Win/loss ratio: | 11.8:1 | 3.8:1 |
Average duration of winners: | 45 weeks | 29 weeks |
Average duration of losers: | 15 weeks | 7 weeks |
As mentioned, Adam White wrote a feature article titled, "A weekly S&P trading system" in 1995. As the title suggests, he used weekly data from April 1982 to November 1991 in his test.
The article doesn't break out trading performance, but it does mention a few statistics for the top and bottom performing parameters (not trades). I show them listed in the table.
Few trades occurred, but the ratio of dollars won to dollars lost (win/loss ratio) is impressive, ranging from nearly 4 to 1 for the worst performing parameters to almost 12 to 1.
Bulkowski Results 1982-1991 | Default Parameters |
Number of winning trades: | 8 |
Number of losing trades: | 6 |
Total dollars won: | $222 |
Total dollars lost: | $37 |
Dollars won/lost ratio: | 6:1 |
Average duration of winners: | 39 weeks |
Average duration of losers: | 5 weeks |
Maximum drawdown: | 9% |
Maximum hold time loss: | 6% |
Using his default parameters (5% retracement, 1.2 TAI, 26 SMA with no commissions or fees) on the S&P 500 index (^GSPC), I tested his setup and found the following, shown in the above table.
The number of trades are about what they should be since I am not using the best nor the worst parameters (but he doesn't specify what those were. He only provides the range used in tests). The total dollars won falls well short of his results, but the ratio of dollars won to lost is where it should be: 6 to 1.
I found the maximum drawdown to be 9% and the hold time loss to be just 6%. The hold time loss is the drop from the buy price to the lowest low before the trade ends. This is different than drawdown which measures the peak to valley drop in equity. I like to think of drawdown as the amount of profit the system gives up before exiting. The hold time loss is how much money you could lose if you were stopped out at the worst possible time.
The differences between the two tables can be attributed to many variables. My code or my interpretation of his setup could be wrong. He shows the best and worst results for parameters while I used his default settings. I don't know how close his defaults are to his best and worst parameters. Since the test dates are so old, it really doesn't matter.
One point he mentions is that the system was out of the market during the 1987 crash. My trades show the setup going into cash on September 28, 1987 and reentering on December 28, missing the October 19 plunge of over 22%.
Bulkowski Results 1990-2010 | Default Parameters |
Number of winning trades: | 13 |
Number of losing trades: | 12 |
Total dollars won: | $1,276 |
Total dollars lost: | $671 |
Win/loss ratio: | 1.9:1 |
Average duration of winners: | 43 weeks |
Average duration of losers: | 16 weeks |
Maximum drawdown: | 23% |
Maximum hold time loss: | 28% |
The above table shows my results from November 1990 (one trade began in 1990 and ended in 1992, so I include it here but not in the prior table) to July 2010, using the S&P 500 index (^GSPC).
The results do not include commission charges or other fees nor interest on cash balances and are on a per-share basis.
The results include bear markets in 2000-2002 and 2007-2009. Notice that the win/loss ratio has dropped from 6:1 to 1.9 to 1. The drawdown and hold time loss have increased substantially, probably due to the bear markets.
Bulkowski Results 1991-2010 | Default Parameters |
Average win: | $700 |
Average loss: | $234 |
Average profit per trade: | $465 |
Win/loss ratio: | 52% |
Average hold time: | 210 days |
The table above shows how an investment of $10,000 per trade would have done. This assumes $10 trading commissions each trade ($20 round trip).
The max drawdown (23%), hold time loss (28%) and other results are the same as shown in the prior table since it is the same test only the numbers have been expressed differently.
The trading setup is divided into three parts, entry, exit, and exit. Yes, it has two types of exits, and I'll explain that later. Entry is simple enough and it uses a type of moving average crossover. Here's the Metastock 4.5 code.
Enter long: when(llv(L,5),>,llv(L,13)) AND when(H,=,hhv(H,5))
I don't have metastock, but the code is easy to understand. llv and hhv are functions that return the lowest low and highest high values, respectively. L is the most recent weekly low and H is the most recent weekly high.
To put this into words, when the lowest low value of the past 5 weeks is above the lowest low of the past 13 weeks, and when the most recent weekly high is the highest high value of the last 5 weeks, then buy.
His examples seem to indicate that "past 5/13 weeks" include the most recent week (quote) as the first price bar of the 5 or 13.
The figure above shows buy signals on the S&P 500 index.
Notice that as price trends lower on the left half of the chart, the buy signals disappear. On the right half of the chart, when price is climbing, many buy signals occur. The entry signal looks for higher highs and higher lows and that's how it knows that price is trending upward. When entry conditions are met, a buy signal occurs and that appears on the chart as a tall black rectangle along the bottom of the chart.
The exit mechanism is a unique one. It comes in two parts. The first is when price retraces far enough down from a peak that it triggers an exit signal. However, that exit signal is shut off if price is trending strongly using a trend analysis index.
Here is the metastock code for the exit formulas.
Close Long: when(fml(#1),>,opt1) AND when(fml(#2),<,opt2)OPT1: retracement value Min=0.03 Max=0.07 Step = 0.01OPT2: TAI threshold level Min=1 Max=1.4 Step =.01Formula #1: (hhv(L,13)-L)/LFormula #2: ((hhv(mov(C,26,S),5)-llv(mov(C,26,S),5))/C)*100
Formula #1 controls the price retracement. In words, calculate the highest weekly low value of the past 13 weeks. From that result, subtract the current weekly low price and divide by the current weekly low. White is measuring the distance from the highest low to the current low and expressing that as a percentage retracement.
Formula #2 is the trend analysis index threshold. This turns off the retracement exit signal if price is trending strongly. When price begins to move sideways, TAI turns on, letting the retracement percentage force an exit. In words, calculate the most recent 5 readings of a 26-week simple moving average of closing prices. From those five readings, subtract the lowest one from the highest one, then divide by the weekly close and multiply by 100.
White is calculating the range that a 26-week simple moving average travels over a 5-week period. Large values in the range means the stock is trending. Small values between the high and low of the moving average means the stock is going sideways. The rest of the calculation makes the numbers consistent across securities.
The figure above shows the entry signal as the tallest black bar near the bottom of the chart. These are the same entry signals as in the prior chart. The retracement exit is the lowest black bar, and the trend analysis index is the black bar that ends midway between those two. TAI is on (okay to sell) or off (hold longer) as a switch for the retracement sell signal.
For example, multiple entry signals occur at A (since the bar is wider than others of the same height). Notice that price is trending up at the start of the black bar.
At B, the trend analysis index says it's okay to sell and it's likely that the retracement signal is also triggered but hidden by the taller black bar. Notice that B occurs when price drops.
Entry at C occurs when price turns up and the exit comes at D when price drops. Notice that the retracement bar between C and D would have signaled an exit except for the trend analysis index said not to sell. The trend analysis index works great by turning off the retracement sell in a rising price trend, but it also turns off retracement as price falls and that leads to larger losses. I adjusted the parameters to limit those losses and tuned the setup for today's markets.
I charted the retracement signal and the two exit signals and played with some of their parameters, just to see how they behaved. For the entry signal, I didn't touch the parameters. It's not perfect, but the signals are timely. I like how it avoids signaling a buy in a falling market.
For the exit signals, I was less than pleased. I don't like how it keeps you into a trade when price turns down steeply. My feeling is that a component of the ADX indicator would work better than the trend analysis index, but I haven't tried that. You might want to experiment with better exit strategies than the trend analysis index used here.
I show the median drawdown in the table instead of the maximum because of the large numbers: 99% for out of sample stocks (AIG) and 93% (SKF) for ETFs. Those two symbols show that the exit method has a serious flaw, so it's something you'll want to fix if using this setup.
Anyway, I played with the parameters, using in-sample data from January 2000 to January 2005. My results confirm Adam White's settings as the optimum ones: 26 week SMA, 5% retracement, and 1.2 TAI. The setup holds up in out of sample tests, too, but you can be the judge of that. The out-of-sample period extended from January 2005 to October 2010.
Metric | 567 Stocks In Sample 2000-2005 | 567 Stocks Out of Sample 2005-2010 | 104 ETFs Out of Sample 2005-2010 |
Average win: | $769 | $856 | $674 |
Average loss: | ($597) | ($595) | ($466) |
Average profit per trade: | $172 | $261 | $208 |
Dollars won/loss: | 1.3 | 1.4 | 1.4 |
Win/loss ratio: | 40% | 39% | 38% |
Median drawdown: | 11% | 10% | 8% |
Median hold time loss: | 5% | 4% | 3% |
Average hold time: | 134 days | 147 days | 151 days |
Trades: | 3,140 | 4,560 | 797 |
The table shows the results using White's parameters on in-sample and out-of-sample data, applied to 567 stocks from my database. The stocks are the ones I look at daily, so they span the range from small to large cap and sport a wide spectrum of prices. I did set a minimum price of $5 for the security. The numbers reflect a $10,000 investment per trade, $10 commissions ($20 round trip), with no provision made for slippage, taxes, interest incurred on balances, and so on.
I would prefer to have setups that win more often than 38% to 40% of the time.
Support this site! Clicking any of the books (below) takes you to
Amazon.com If you buy ANYTHING while there, they pay for the referral.
Legal notice for paid links: "As an Amazon Associate I earn from qualifying purchases."
My Stock Market Books
|
My Novels
|
The generation of random numbers is too important to be left to chance.