RW backtests often show seemingly spectacular returns compared to the standard "buy-and-hold" S&P500 results. (An example is attached which purports to provide returns fully six-fold those from the S&P500. The example is based on the "dreman" code kindly supplied by TWQS1.)
However, so far as I can tell, the RW backtest results are based on the assumption that portfolio rebalancing is carried out without cost at the end-of-week closing prices. This does not seem to be very realistic. Most investors will use the weekend to determine what rebalancing needs to be performed, and then orders will be placed on the following Monday. Those orders (both buy and sell) will be executed at prices which differ from the end-of-week closing prices. And of course, transactions carry costs. When these elements are factored in, the actual return an investor receives in his portfolio will be different from that stated by RW's backtester.
In order to attempt to provide more realistic results, I have written for my own personal use the attached vba subroutine, which I am happy to share with the RW community, without guarantee. I am emphatically not a programmer, so the code is undoubtedly very inefficient. However, it does seem to work properly and provides very interesting results.
To use the code, one must save the csv file obtained from RW ("Backtest Period Details") as an xls file and then run the code on that file AFTER having inserted into Row 2 of the file the following four parameters:
(1) the starting investment amount StartAmt in $ (column M) - eg, 100000
(2) the cost of an individual stock transaction TransCost in $ (column N) - eg, 10
(3) the number of weeks in the holding period used in the RW backtest NoWeeks (column O) - eg, 4
(4) the Price Slippage to be allowed in % (column P) - eg, 1.25
Attached also is the result of using this code on the "dreman" example supplied by TWQS1, starting from an initial investment of $100,000 and allowing for price slippage of 0.5% (vs. the Friday closing prices used by RW) and a brokerage cost of $10 per transaction, using a holding period of 52 weeks (as in the original example). The result is an annualised return of 7.4%, vs. the 16.4% given in RW (and 6.7% from the standard "buy-and-hold" S&P500 strategy).
Thanks for your hard work. I have been reading the posts from the past on the forum. You address several problems that have been brought up. I expected that the returns would be less but it is a little discouraging to see that the returns have been cut in half.