Monday, March 31, 2008
3/31/2008
Open: $47.42
High: $48.30
Low: $46.31
Close: $47.35
Volume: 2,308,473
Advances: 58
Advances >=4%: 4
Daily Change: -0.01%
Dow: 0.38%
Nasdaq: 0.79%
S&P: 0.57%
Sunday, March 30, 2008
Saturday, March 29, 2008
The Volume Affect
I want to shift gears a little this week and discuss a study I just wrapped up looking at the affects volume has on a trading system. We’ve all heard how important volume is but I’ve become increasingly skeptical of conventional wisdom and decided to take a closer look at it myself. We will change our data format a little this week as well to better facilitate an analysis of this. As usual, we will compare the results over three separate portfolios to confirm our results are systemic.
The entry system is the same one we have been using to date with one exception, Pradeep’s volume requirement has been replaced and we will be looking at the volume increase as a percentage over the average 10-day volume. I inevitable get asked about entries after each post and will only refer one to Stockbee for more details on the entry criteria. I do not want to take the liberty of detailing his criteria here.
For our average volume calculations, we could use a different time frame but the results will not vary substantially as this number changes. This is an area that is susceptible to curve fitting and in order to avoid this, I will always use a 10-day period for these types of calculations.
We will also look at the results with two sets of exits. The 8% protective+20% profit target and the 8% protective + 25% trailing profit stop. These exits are discussed in more detail in previous posts here and here. While probably not necessary, I’ve decided to test with multiple exits to confirm the results are independent of a particular exit strategy.
Let’s begin by looking at a chart of the expectancy per dollar risk (Avg. Trade/ Avg. Loss) against our different volume requirements followed up by the raw data.
8% Protective + 2o% Profit Target
8% Protective + 25% Trailing Profit Stop
To borrow an analogy from Quantifiable Edges, myth confirmed - sort of. Strong volume does appear to elevate our expectancy and the affect can be quite substantial. Looking at he 20% profit target with the IBD portfolio, a 200% volume increase raises our expectancy per dollar risked by nearly 36% over a 0% volume increase. The Nasdaq portfolio is even more dramatic with a 110% expectancy increase.
There are some interesting exceptions however. Above about a 250% volume increase, things start to get a little catawampus, particularly with the S&P portfolio. Part of this can perhaps be described by the lower number of trades at the higher volume breakouts which may be increasing the margin of error but does not fully explain why the S&P portfolio performance completely falls off a cliff between 250-300%. I can only speculate to why this is but feel it might be related to the nature of the large-cap stocks that make up the S&P500 and an over-reaction to a positive event or news item that would trigger this high a volume surge and the subsequent correction. This is only speculation however.
As usual, I encourage everyone to spend some time with the data and formulate your own conclusions and strategies for incorporating this data into your trading, if at all. To aid in this, I have posted the raw data in spreadsheet form to the following location for download.
20% profit target
http://spreadsheets.google.com/pub?key=prgyYW4ZqFw5nJ2l4JqiKZw
25% trailing profit stop stop
http://spreadsheets.google.com/pub?key=prgyYW4ZqFw4Lmo62uQVxNg
Friday, March 28, 2008
3/28/2008
Open: $48.26
High: $49.02
Low: $47.17
Close: $47.76
Volume: 1,960,521
Advances: 40
Advances >=4%: 3
Daily Change: -0.75%
Dow: -0.70%
Nasdaq: -0.86%
S&P: -0.80%
Thursday, March 27, 2008
New Trade Evaluation Method coming soon...
If we take our expectancy per dollar risk and divide that by the average # of days in our winners, we will get a value I am going to call the Efficient Expectancy Ratio or EER.
EER = (Avg. Trade / Avg. Loss) / Avg.Days per Winning Trade
This number will essentially reveal what our expectancy per day in trade is (per dollar risked) and will serve to evaluate which methods are the most efficient use of capital. I will be revisiting some of the previous studies on this site in the next week or so to re-evaluate things through this new method. We will acknowledge that an expectancy of $1 per $1 risk might not be the best use of capital if a system with an expectancy of 25 cents per $1 risk accomplishes this in less than 1/4 the time.
The original evaluation method, Expectancy per Dollar Risk, or EDR will be more useful for longer term investors who are interested in trading less frequently while the new EER ratio will be the more useful to swing traders and those interested in rolling in and out of trades more frequently.
3/27/2008
Open: $48.95
High: $49.72
Low: $47.59
Close: $48.13
Volume: 2,475,981
Advances: 24
Advances >=4%: 5
Daily Change: -1.64%
Dow: -0.97%
Nasdaq: -1.87%
S&P: -1.15%
Wednesday, March 26, 2008
3/26/2008
Open: $48.71
High: $49.70
Low: $47.77
Close: $48.93
Volume: 2,275,904
Advances: 47
Advances >=4%: 9
Daily Change: -0.3%
Dow: -0.88%
Nasdaq: -0.71%
S&P: -0.88%
Tuesday, March 25, 2008
3/25/2008
Open: $48.50
High: $49.78
Low: $47.64
Close: $49.08
Volume: 2,368,906
Advances: 71
Advances >=4%: 22
Daily Change: 1.83%
Dow: -0.13%
Nasdaq: +0.61%
S&P: +0.23%
Monday, March 24, 2008
3/24/2008
Open: $47.17
High: $49.29
Low: $46.70
Close: $48.20
Volume: 2,279,248
Advances: 84
Advances >=4%: 29
Daily Change: 2.76%
Dow: 1.52%
Nasdaq: 3.04%
S&P: 1.53%
Sunday, March 23, 2008
Friday, March 21, 2008
O'Neil's Exception to the 20% Profit Target, Part 1
“If a stock was so powerful that it vaulted 20% in less than eight weeks, the stock had to be held at least eight weeks.” Third edition, page 103.He goes on suggest that after eight-weeks, we analyze the stock for a longer term gain but offers very few specifics on how this is to be done. More on this in the future.
If we think about this for a second, it means that the 20% profit target only becomes active after eight weeks (40 trading days) because if it reaches the price target before that, we do not exit until our time threshold has expired. The benefit this stop has is that if the stock’s movement is particularly strong, we allow our winner to run beyond the 20% target. As the previous couple of studies have illustrated, this is a critically important concept. The eight week period smells a little arbitrary but we will accept it for now and implement this concept in the following way:
If BarsSinceEntry >= 40 Then Exit with Limit Order at EntryPrice * 1.2
As in the previous tests, we will use the Stockbee IBD200 breakout entry on our 300 stock IBD basket and then use the Nasdaq and S&P components to confirm our results. All tests will also implement an 8% protective stop in addition to the profit-taking stop being tested.
IBD Basket
Nasdaq Basket
AverageTrade(win and loss)/ AverageLosingTrade = Expectancy per dollar risked AverageTrade(win and loss)/ AverageLosingTrade = Expectancy per dollar risked
8% protective + 20% Profit Target w/ 40-day time threshold
Now we will test the addition of Mr. O’Neil’s time threshold:
If BarsSinceEntry >= 40 Then Exit with Limit Order at EntryPrice * 1.2
IBD Basket
Nasdaq Basket
S&P500 Basket
Conclusions
So we can see that this implementation of Mr. O’Neil’s exception to the 20% profit target is an effective strategy to let our winners run. The simple addition of this time threshold has elevated our expectancy per dollar risked by 48% in our IBD basket, 101% in our Nasdaq basket, and 41% in our S&P500 basket. Part 2 will extend this study through a different interpretation of Mr. O’Neil’s suggestion, as a Rate of Change (ROC) stop.
Thursday, March 20, 2008
3/20/2008
Open: $46.61
High: $47.62
Low: $45.13
Close: $46.91
Volume: 3,151,834
Advances: 53
Advances >=4%: 9
Daily Change: 0.25%
Dow: 2.16%
Nasdaq: 2.18%
S&P: 2.39%
Wednesday, March 19, 2008
3/19/2008
Open: $49.37
High: $49.93
Low: $46.58
Close: $46.80
Volume: 2,829,142
Advances: 4
Advances >=4%: 0
Daily Change: -5.2%
Dow: -2.36%
Nasdaq: -2.57%
S&P: -2.43%
Testing Ideas
Tuesday, March 18, 2008
3/18/2008
Open: $48.33
High: $49.81
Low: $47.45
Close: $49.35
Volume: 2,424,077
Advances: 94
Advances >=4%: 61
Daily Change: 4.48%
Dow: 3.51%
Nasdaq: 4.19%
S&P: 4.24%
Monday, March 17, 2008
3/17/2008
Open: $47.48
High: $48.67
Low: $46.08
Close: $47.23
Volume: 2,605,072
Advances: 11
Daily Change: -3.25%
Dow: +0.18%
Nasdaq: -1.60%
S&P: -0.90%
Sunday, March 16, 2008
Saturday, March 15, 2008
The Case for Multiple Exits, Part2: Robustness
To evaluate and compare these results, I am again suggesting the most effective way of doing this is to calculate our expectancy per dollar risk and use that as our measure. Many people gravitate towards net profit but I am going to propose why this is probably not the best way to compare results. Net profit can also be understood as Expectancy * Opportunity. If we have a system with an expectancy of $5 per trade and we get 1000 opportunities, we will have a net profit of $5000. If we have a system with an expectancy of $1 per trade that gives us 6000 opportunities, we will have a net profit of $6000. Which system is better? There isn’t really a right or wrong answer but looking only at net profit doesn’t always give us the fullest picture. If I have enough captial to make only 200 trades a year, which one is going to give me better returns?
Today’s test will be the exact same entries and exits from last week but instead of testing it on out IBD basket of stocks, we will run it on the 100 stocks that make up the Nasdaq100 and the 500 stocks that make up the S&P500. Keep in mind that the S&P portfolio has 5x the number of stocks and will more than likely present us with many more opportunities as a result. Rarely will one be capitalized to take the 1000s of trades these system tests do and that is why one should not look at net profit alone. The quantity of trades in the results give us a degree of statistical confidence in our expectancy but makes it increasingly difficult to make the number of trades required to achieve the same net profit results.
Let’s get to it…
8% Trailing Stop – Nasdaq100
AverageTrade(win and loss)/ AverageLosingTrade = Expectancy per dollar risk
4.29 / 50.70= 8.5 cents per dollar risk
8% Trailing Stop – S&P500
AverageTrade(win and loss)/ AverageLosingTrade = Expectancy per dollar risk
3.98 / 49.22= 8.1 cents per dollar risk
8% Protective+20% Target – Nasdaq100
AverageTrade(win and loss)/ AverageLosingTrade = Expectancy per dollar risk
12.53 / 82.43= 15.2 cents per dollar risk
8% Protective+20% Target – S&P500
AverageTrade(win and loss)/ AverageLosingTrade = Expectancy per dollar risk
13.63 / 81.50= 16.7 cents per dollar risk
8% Protective+25% Trailing – Nasdaq100
AverageTrade(win and loss)/ AverageLosingTrade = Expectancy per dollar risk
56.98 / 80.49 = 70.8 cents per dollar risk
8% Protective+25% Trailing – S&P500
AverageTrade(win and loss)/ AverageLosingTrade = Expectancy per dollar risk44.96 / 78.62 = 57.2 cents per dollar risk
Conclusion
Ok, so what have we learned from all these mind-numbing charts and graphs?
If we compare the results from last week with this week, we can create the following, easier-to-read-at-a-glance summary chart:
Wow, all that effort for that? What we can begin to conclude here is that the affects these exits have on expectancy is structural in nature and is probably not a random fluke curve-fit to a specific group of stocks during a specific set of conditions. The ratios between the exits and expectancy with each of the different portfolios is remarkably similar across the 900 different securities and 80,473 trades used to arrive at these results. We also might arrive at the conclusion that the basket of stocks from which we trade from has a pretty big impact also and the entry system we are using holds up pretty well with the right stops in place, particularly if we are not trying to trade a long-only system through one of the worst bear markets in rescent history.
I am not advocating one set of exits over the other. As a matter of fact, I am trying not to advocate anything on this blog. There are many, many more ways to exit trades than the three simple methods outlined here and we will look at some in the future. The last exit we have tested, the 25% Trailing Profit Stop is just one way of accomplishing the, "Let your winnders run" strategy and I am sure there are beter ways to go about it than this one. What I hope everyone can take away from this, as I certainly have, is that bad exits can turn a very good system into a pretty poor one and they matter - a lot. Design an exit strategy that works for you and what your goals and appetite for risk are, the possibilities are nearly endless.
Friday, March 14, 2008
3/14/2008
Open: $50.12
High: $50.43
Low: $47.73
Close: $48.82
Volume: 2,503,712
Advances: 15
Daily Change: -1.71%
Dow: -1.60%
Nasdaq: -2.26%
S&P: -2.08%
Thursday, March 13, 2008
3/13/2008
Open: $48.11
High: $50.13
Low: $47.28
Close: $49.67
Volume: 2,532,600
Advances: 82
Daily Change: 1.72%
Dow: 0.29%
Nasdaq: 0.88%
S&P: 0.51%
Wednesday, March 12, 2008
Backtesting Stocks
The backtesting software used for these tests allow split adjusted and raw historic data to be used together. One important point is one should use raw, unadjusted data to calculate entry and the number of shares that are purchased and split-adjusted data to calculate returns. If split-adjusted data is used for entry, it would reflect you purchasing many more shares than the funds allocated per trade would permit at that time. CSI is the data vendor, backtesting software is TradersStudio by Murray Ruggiero.
Why 25%
http://ibdindex.blogspot.com/2008/03/case-for-multiple-exits.html
I used a 25% trailing stop in the last example. There is nothing magical about this number and you should feel free to use whatever you want, just consider the following:
A 5% pullback requires a 5.26% gain to get back even.
A 10% pullback requires a 11.11% gain to get back even.
A 15% pullback requires a 17.65% gain to get back even.
A 20% pullback requires a 25% gain to get back even.
A 25% pullback requires a 33.33% gain to get back even.
A 33.3% pullback requires a 50% gain to get back even.
A 50% pullback requires a 100% gain to get back even.
3/12/2008
Open: $49.12
High: $50.09
Low: $48.09
Close: $48.84
Volume: 2,083,666
Advances: 38
Daily Change: -0.63%
Dow: -0.38%
Nasdaq: -0.53%
S&P: -0.90%
Tuesday, March 11, 2008
3/11/2008
Open: $47.97
High: $49.55
Low: $47.08
Close: $49.15
Volume: 2,456,366
Advances: 95
Daily Change: 4.83%
Dow: 3.55%
Nasdaq: 3.98%
S&P: 3.71%
Monday, March 10, 2008
3/10/2008
Open: $48.44
High: $48.86
Low: $46.48
Close: $46.89
Volume: 2,329,250
Advances: 6
Daily Change: -3.48%
Dow: -1.29%
Nasdaq: -1.95%
S&P: -1.55%
Sunday, March 9, 2008
The Case for Multiple Exits, Part1
*Note: Pradeep Bonde from Stockbee (http://stockbee.blogspot.com/) gave me permission to disclose the entry. These tests use his IBD200 technical entry criteria. I will also add that Pradeep introduces another level of stock selection refinement based on some criteria that are difficult to backtest (float, relative linearity, etc) so those have been excluded from these tests. I have no doubt that proper use of his other methods would further elevate returns. I would also highly recomend the member's only section of his site as an invaluable information source.
8% Trailing Stop
The first example we are going to look at is about as simple as it gets and probably one of the most often used by those that actually use risk management stops. A trailing 8% stop. That’s it. The 8% number comes from William O’Neil’s maximum recommended loss per trade.
At $1000 per trade, this exit resulted in $78,815 dollars of net profit with a reliability percentage of about 40%, which is pretty typical for a trend following system. The average loss was $50.65 (5%) and the average win was $97.41 (9.7%). The average trade was $8.38 which means that we can expect to make an average of $8.38 per trade over the long run. If we take our AvgTrade/AvgLoss, we can calculate what our expectancy is per dollar risk. $8.38/$50.65 = .165, or for every dollar we put at risk, we have an expectancy of 16.5 cents. Risking 1% of our equity per trade, it would take approximately 600 trades to double our money, not including compounding.
8% Protective Stop+20% Profit Target
For the next example, we will use two separate stops, an 8% protective stop that is fixed at 8% below the entry price and a 20% profit target. We allow the price to hit one or the other before exiting. These are both figures taken from William O’Neil’s publications although he discusses several exceptions to the 20% profit target, which as we will find out later, are very important.
In this example, with the same exact entry criteria at $1000 per trade resulted in $185,919 dollars of net profit with a reliability percentage of about 38%. Our average loss increased to $82.52 (8.2%), but our average win is now $196.99 (19.7%). Our average trade is $24.21 which means that we now expect to make an average of $24.21 for every trade we make. AvgTrade/AvgLoss=$24.21/$82.52 = .293 - for every dollar we place at risk, we now have an expectancy of 29 cents. Risking 1% of our equity per trade, it would take approximately 340 trades to double our money, not including compounding.
8% Protective Stop+25% Trailing Profit Stop
Most people have heard the expression to cut your losers short and let your winners run.
In our last example, we will also use two stops to achieve this. We will begin with an 8% protective stop but instead of a 20% profit target, we will use a 25% trailing profit stop. This stop will follow the price up but will only become active when it raises above the initial 8% protective stop. This will give our winners PLENTY of room to grow without increasing our intitial risk. The point in which the trailing stop becomes active is when our stock price reaches a 17% increase over the entry price (25-8=17).
Well look at that. In this example, with the same exact entry criteria, $1000 per trade resulted in $438,165 dollars of net profit with a reliability percentage of only about 30%. Our average loss stayed about the same at $80.05 (8%), but our average win is now $503.96 (50.4%). Our average trade jumped to $92.93 which means that we now expect to make an average of $92.93 for every trade we make. AvgTrade/AvgLoss=$92.93/$80.05 = 1.16 - for every dollar we place at risk, we now have an expectancy $1.16. Almost 4x the amount of the previous example and 10x the reward to risk ratio of using an 8% trailing stop alone. Risking 1% of our equity per trade, it would only take about 86 trades to double our money, not including compounding.
I want to remind everyone to read the post on backtesting methodology to understand exactly what we are seeing here. These aren’t necessarily representative of the results you will experience but I can tell you that using these different stops on almost any basket of stocks with almost any entry criteria will yield the same relationships to one another. Stops are huge and the possibilities for using them are endless. Using each of these will create completely different psychological pressures and the drawdowns one might experience with such a large trailing stop might be too much for some to handle. It is important to find a methodology that works for you and your risk profile but not paying them proper attention is clearly a huge mistake.
Backtesting Methodology
The backtesting software used for these tests allow split adjusted and raw historic data to be used together. One important point is one must use raw, unadjusted data to calculate entry and the number of shares that are purchased and split-adjusted data to calculate returns. This is important when backtesting stocks. If split-adjusted data is used for entry, it would reflect you purchasing many more shares than the funds allocated per trade would permit at that time. CSI is the data vendor, backtesting software is TradersStudio by Murray Ruggiero.
The data used is end of day only. Unless noted otherwise, all entries are market orders at open on the day following the entry signal. Protective and trailing stops are standing stop/market orders and profit target stops are standing limit orders that execute during market hours. You will note in the results that the largest loss is typically larger than our protective stops and this is becuase of large price shocks where the market gaps down at the open. These "real-world" situations are not omitted from the results and are part of the risk associated with holding positions overnight. These can wipe out an undercapitalized or over-leveraged account even with a good system with a positive expectancy.
All backtesting introducues survivorship bias and many of the stocks in the current IBD list were barely more than penny stocks 10 years ago, if around at all. The yearly results of these tend to show much better performance in rescent years as they work their way onto the IBD list. Again, I must stress, these tests are not attempting to predict future results, they are only to understand how different methods affect performance and I will only post results for test who's results are consistant across almost ANY basket of stocks.
The point is to find robust methods that work across as wide a universe as possible under a wide range of conditions. Sometimes I will run tests on other baskets of stocks or etfs to illustrate concepts of robustness.
In addition to William O’Neil’s books, another book I highly recommend is Dr. Van Tharp’s Trade Your Way to Financial Freedom. In discussing testing results, I will utilize his concepts of R-Multiples which is basically a way of evaluating risk-reward through the lens of expectancy. An overly simplified version is as follows:
Your R-value is the amount risked per trade. Often this is a fixed number but sometimes when backtesting variable exits like n-day lows, this number varies from trade to trade and an exact number is difficult to determine through backtesting results only and the Average Losing Trade value can be used as a substitute. A system’s R-value is evaluated in relationship to the Average Trade value to determine your expectancy per trade per dollar risk. If this is confusing, it should become clear later and a thorough read of Dr. Tharps’s book will clear up any confusion.
Saturday, March 8, 2008
How to use the index?
I will discuss one reason for tracking an index however that does not need supporting data. I suspect most people who buy and sell stock more than a few times a year are very much like myself in this way. We do it in an attempt to outperform the broader market. If we are unable to do that on a regular basis, we should just buy ETFs and save ourselves some trouble and the added expense of executions. Therefore, if I choose to use the IBD100 as a trading vehicle, I damn better be able to outperform the index as a whole over the long run or I would be better off just buying the index. Ahhh, but that is the problem, there is no ETF or index fund product out there that tracks the IBD100. There probably never will be either as many of the companies that make it up are too thinly traded to support a large fund moving money into and out of the stocks fast enough to keep up with the list.
So lets assume for a moment that the returns IBD posts on their website are accurate and the IBD 100 has outperformed the S&P in the last 52-weeks by 28.6% (-7.08% for the S&P compared to +21.52% for the IBD100). Now let’s also assume that return is representative of the index over the long run and those returns are good enough. Could one actually just buy the stocks that make up the list and see those types of returns, even though the guys at IBD tell us not to?
The list had a 13% turnover this week (13/100). Assuming a $100,000 trading account that is equally weighted with these 100 stocks, it would cost you $26 in broker’s fees this week using Interactive Brokers. That is .026% of our account which works out to 1.352% annually. Not including slippage, that would have lowered our return for the past 12-months to roughly 27.2%. Did you outperform that? I did not. That tells me I have room for improvement and that is something I suspect we all want to do.
The last point I want to make this week is a trend trader or investor’s individual performance is fundamentally linked to the performance of the universe of stocks one trades from. Your specific correlation simply depends on the details of your system. It may even be inversely correlated if you are shorting it but the point is knowing the performance of your trading universe allows you to not only benchmark yourself, but compare that universe to other ones from which you can trade. If the Nasdaq100 is outperforming the IBD100, my odds are better trading from that basket rather than from this one. Period. The only way to really know that however is to track the IBD100 in a way that makes it comparable. That is the purpose of this index.
Friday, March 7, 2008
3/7/2008
Open: $49.09
High: $50.04
Low: $47.74
Close: $48.58
Volume: 2,359,128
Advances: 14
Daily Change: -2.36%
Dow: -1.22%
Nasdaq: -0.36%
S&P: -0.84%
Thursday, March 6, 2008
3/6/2008
Open: $50.86
High: $51.44
Low: $49.47
Close: $49.76
Volume: 2,130,152
Advances: 7
Daily Change: -2.32%
Dow: -1.75%
Nasdaq: -2.30%
S&P: -2.20%
Wednesday, March 5, 2008
3/5/2008
Open: $49.86
High: $51.63
Low: $49.62
Close: $50.94
Volume: 2,374,914
Advances: 78
Daily Change: 1.88%
What is this blog about?
How the index is calculated:
This IBD tracking index is intended to track the overall performance of the IBD100 in a way that closely follows the returns one might expect by investing in each of the 100 stocks that make up the list. The index is calculated in the following way:
Upon entry to the list, 1000 is divided by a stocks previous close to arrive at a security's weighting factor (1000/C). This weighting factor is calculated to 5 decimal places and maintained at its original value throughout its duration on the IBD100. This method is used to equally weight each company as it is added to the index.
Each day, the open, close, high and low of each stock is multiplied by its weighting factor to arrive at its present value. These values are then summed and multiplied by .0005 to arrive at the index's current value. The index was created on 03/04/08 and started with a value of $50.00 (100*1000*.0005).
The challenge is how to prevent gaps in the index each time new companies are added or dropped from the list. To accomplish this, I have introduced a rebalancing factor that is multiplied by the total present value to arrive at the index’s net index value (NIV). This rebalancing factor is adjusted each week so that the NIV has the same value after updating the list as before.
The main concepts behind all of this is that all new entries to the list begin with a present value of 1000 which serves to equally weight each entry to the list irregardless of price and the NIV will remain consistent from week to week as stocks are added and dropped.
Volume is calculated by adding the volume of all 100 stocks and dividing this number by 100 to keep the number to a reasonable length and to also represent the "average" volume of each individual stock.
Once enough data is accumulated, I will begin to post historic charts and make CSV files available for download that can be used in charting and/or backtesting software.