I am new to the RW Community. It seems to be relatively inactive. Moreover, it is difficult to use. For example, the latest post is not listed at the top of the page, but rather the bottom, forcing one to page down many pages to find it. Also, I have been unsuccessful in downloading .und files posted by other members. It seems that all that I get is a file of html source code for the web page in question rather than the .und file. A new issue of "Tips and Tricks" supposedly is posted every other week, but I have yet to see any new ones posted. Any one have any tips to make this site more user friendly?
On your first point, I have done quite a bit of numerical research with exchange data from Yahoo, just programming our own back tester. As in my former comment, I define slippage in a different way (see former comment). To support my point, I post here a performance chart of a screen that I rigorously use in real-life investing. Each week 12 stocks are selected, always having a 4 wks average daily trading liquidity of at least $2.5 million. Annualized returns are 45%/year Monday close to Monday close (red curve) and 49%/year Friday close to Friday close (green curve, including transaction costs) for already 31 years. Trades in real life exactly mimic the back tester already for more than two years, including transaction costs and slippage from Fridays to Mondays. I always buy and sell MOC. Once a quarter I get a note from my broker that he missed the closing price by one or two cents, usually in my advantage.
The purple curve represents the weekly 500 random equally weighted picks of a Monkey out of my universe, each pick having at least an average daily trading liquidity of $1 Million. Please realize that a Monkey may pick a stock multiple times like a dice may do too.
I agree with you that back tests in RW may vary strongly with the date of dbcmhist. The reason for that is that current price and current number of shares outstanding appear to me to have a split bias and are retroactively adjusted each time a split occurs.The data used in the selection criteria used to generate the performance chart don't suffer from such bias.
Thanks for your detailed feedback,
You also made a comment on that the Zacks’ ranked #1 stocks that push up the performance of this rank are the smaller stocks in the pack with unpractical spreads that disable you to profitably buy and sell them. I partially agree with your on that matter. Let us increase the minimum trading liquidity to $500,000 (still five times smaller than I use in real life), and take out the penny stocks and micro caps according to:
i192[Recent]=1 and i5>1.5 and i21>100 and movingmean4(i5)*i22>500000
Let us assume that we can neglect split bias (which we cannot). This kind of trading liquidity allows you to buy such stocks at MOC without significant spread with transaction sizes of up to 1% of $500000. At least that is my experience. Some people may argue that 1% needs to be reduced by another factor of five. Portfolio123 states that you still may be comfortable with 5%. Do your own homework, I would advise. However, the above screen of the somewhat larger Zacks’ rank #1 stocks takes out about 20% of the smallest stocks of this universe (40 of the 240 stocks), and reduces the CAGR from 25%/year to 20%/year and the annualized results from 29%/year to 23%/year.
As these screens are equally weighted, you only get 23%/year gross when you don’t invest more than $5000/stock following my 1% rule and put $5000 in each stock. Transaction costs eat away about 0.25*$8*52/$5000=2%/year as stock turnover is 25%. Hence, rebalancing weekly these 200 ZR#1 stocks allows you to continuously invest $1 million and make 21%/year on average during the past 12 years. No way that your money is compounding as the performance curve may suggest. And there were years that you suffered a drawdown of 55%, excluding transaction costs. That drawdown doesn’t make it my cup of tea. When you try to run this screen with RW’s new stops, a stop loss of 1% completely destroys the annualized results, and the trailing stop of 1% gives a runtime error (Kevin?).