After publishing our iM-Best10 portfolio management system, we received critique that the high returns obtained may have been distorted by what is known as survivorship bias. Indeed, our subsequent research showed that the magnitude and polarity of survivorship biased returns depend on the market capitalization of the stocks in the stock pool and the model’s selection criteria. Consequently, our Best10 system’s algorithm has now been changed to select stock from the point-in-time composition of the S&P 1500 to ensure unbiased returns. The algorithm periodically rebalances the portfolio to hold the ten highest ranked stocks and additionally reduces stock holdings during deteriorating markets by the newly added draw-down protection rules.
We employed a web-based stock trading simulation platform to test the hypothetical performance of our model. Trading stocks selected from the S&P 1500 pool using the revised survivorship bias free Best10 algorithm would have generated annualized returns of 49.2% for the period January 1999 to May 2013, and without draw-down protection 45.5%; both a multiple of the 3.8% that SPY (the ETF tracking the S&P 500) produced over the same period.
To find stocks which may be undervalued all stocks of the S&P 1500 point-in-time pool were ranked weekly according to the following parameters:
- Valuation (measured as market capitalization, debt and cash relative to earnings before interest, taxes, depreciation & amortization, future cash flow and projected earnings),
- Efficiency (measured as future cash flow relative to total assets),
- Financial Strength (measured as future cash flow relative to total debt),
- Short Interest (being the short interest ratio),
- Trend (measured as the stock price relative to a moving average of the price),
with the highest rank obtainable being 100.
To determine the robustness of the ranking system we performed a sensitivity analysis. Each parameter’s weighting was varied by 5%, one at a time, and the change in average annual return recorded. The average reduction of the 49.2% return was 3.1% with a maximum of 5.0%. This study indicated that the model is not dominated by any single parameter, but each parameter contributed near equally to the models overall performance. Therefore, we are confident that the model is robust and one can expect future performance to be similar.
Stocks are sold from the portfolio once their ranks falls below 96 and are replaced by the highest ranked stocks at that time in the pool. The model does not restrict buying to stocks to those which are ranked 96 or higher.
The model assumes stocks to be bought and sold at the next day’s opening price after a signal is generated. Variable slippage accounting for brokerage fees and transaction slippage were taken into account. Taxes are assumed to be deferred, as for retirement accounts.
The trading performance of the system is shown in Figure 1 further down. The annualized return from January 1999 to end of May 2013 was an exceptionally high 49.2%, and the maximum draw-down was 24.5%, $100 grew to about $32,000 over this period. This assumes no interest income when the model was in cash.
The model assumes an initial investment of $100,000 on Jan-2,1999. It normally holds no more than 10 stocks. To May 31, 2013 there were 1,199 completed trades, 820 of these were winners and 379 losers as summarized in the table below, the amounts shown include transaction costs of $2,323,996 arising from slippage and brokerage commission.
In above chart, the lower green line is the ratio of the Best10(S&P 1500) index to the SPY index, the general rising trend of that graph indicating that the Best10(S&P 1500) outperforms the SPY; it produced 187 times the value which one would have had from a 1999 buy and hold investment in the SPY.
Performance during recession periods and drawdowns
One can further improve returns by investing in treasuries when the drawdown protection rules keep the model in cash, as occurred from 10/13/2008 to 12/12/2008. This would have increased the CAGR to 50.8%.
The maximum drawdown from 1999 to 2007 was 15.6% in October 2000, while the maximum drawdown after 2007 was 24.5%, occurring early in October 2011 when the market declined as a result of the gridlock in Congress over whether to allow the national debt to increase.
Annual performance from January to December ranged from a maximum of 130% for 2003 to a minimum of 12% for 2011, as can be seen in Figure 2. In Figure 3 the running 12-month returns for SPY and Best10(S&P1500) are shown. One can see that Best10(S&P1500) always outperformed SPY over a 12 months period, except for investments made in the first few months of 1999.
Table 1 in the Appendix shows the terminal values to the end of May 2013 for annual investments in the S&P 500 index fund SPY on an ongoing basis for the last 14 years. Assuming an investment of $1.00 at the end of May of every year, from 1999 to 2012, one would have invested a total of $14 cumulatively by the end. Summing the 14 terminal values, this strategy would have netted the sum of $22.03 by May 31, 2013, and accounting for inflation this would only have amounted to $17.70.
Making the same $1.00 annual investments in a portfolio managed according to the Best10(S&P1500) trading system would have provided a terminal value of $858,16, as shown in Table 2 in the Appendix. That is 39 times of what one would have had from an S&P 500 index fund. Furthermore, the lowest annualized return for the various time periods was 29.4%, and the average of all the periods was just over 45%.
Table 3 in the Appendix lists the last 27 trades to May 31, 2013, and also the actual total trading volume for these stocks on the days when the trades occurred. This portfolio has a value of about $32-million and the individual trades require a large number of shares to be bought and sold. Although most required trades were for large and mid-sized companies, there were some trades of smaller companies which were comparatively large in relation to the actual daily volume traded. Assuming that one could comfortably trade 5% of a stock’s daily turnover then the maximum portfolio size would be about $10-million. Thus the Best10(S&P1500) system is suitable for sizeable portfolios, because most stocks in the S&P 1500 are highly liquid and easy to trade.
The above is illustrated in Table 4 of the Appendix, which shows the 2-year returns (growth of $100,000 over 2 years) and the allocation by market capitalization. The large- and mid-cap companies make up the majority of the holdings.
This portfolio management system does require 4 to 6 trades each week (resulting in an average annual portfolio turnover of 795%), but this small weekly effort would have provided high returns.
A simple ranking system is consistently applied to the stock selection process, which a sensitivity study showed to be very robust. This is this not a complex, high risk system with many parameters which could cause the model to easily break down. Additionally, selecting only from a known pool of S&P 1500 stocks assures liquidity, even if the portfolio value is fairly large. The returns are not distorted by survivorship bias, and we are confident that this model will continue to outperform in the future as well.
More particulars can be found on our website’s “Systems” page where one can also follow weekly the progress of a Best10(S&P1500) portfolio having an inception date in January 2009
Note: Dividends Received includes funds from stock splits. The model does not increase the number of stocks when a split occurs. The value of the additional stocks is accounted for as dividends.
The model assumes that stocks are bought/sold at the next day’s opening price. Since one may not be able to obtain the opening price for the whole transaction, a slippage factor is applied to account for a possible higher/lower price for the transaction.
The slippage percentage is calculated for every transaction based on this algorithm:
1) The 10 day average of the daily traded $-amount is calculated (price*volume).
2) The slippage is set according to where the average falls in this table:
3) Add (1/ Price)% to the result from Step 2.
For example, Step 3 would add 1% to the slippage if the stock trades at $1, 0.1% if it trades at $10, etc.
For the following transaction
the slippage percentage would be (0.10 + 1/50.27) = 0.120% of $50.27, amounting to about 6 cents per share. So the average price per share paid for this transaction is $50.33.
Quick Links to Model Descriptions
Quick links to iM-Best weekly updates
Quick Links to Ready-2-Go Models
When subscribing to P123 please use this link or enter token IMARKETSIGNALS when registering to obtain 30 days free membership.