Add new comment

Effects of delaying trading in mechanical investing

The SIPRO backtester at http://keelix.com/ traditionally uses closing
prices on Fridays for selling AND buying. Since the rankings are
reported on Sundays for closing prices on the preceeding Friday, it is
impossible to do exactly what the backtester does. Research done
previously on this board have indicated that one or more trading days
delay should not significantly affect returns.

Since my backtester is getting smarter and have gained the ability to
do limited "double-checking" of the prices reported by SIPRO, I
decided adding a "buy next day" feature should not be too hard to
implement, and it was not. The "buy next day" feature currently
implemented in the backtester (not available in the public version
yet) basically instructs the backtester to buy the stock using the
closing price for the next business day after the data was
produced. In practice this means buying on Monday for data updated the
preceeding Friday.

The length of the backtest is not very long - from 2003-06-27 (from
the date I have weekly data) to 2005-05-27 - almost two years. It was
run with a 28 day holding period holding the top 5 stocks (or cash
whenever enough picks were not available, but that seldom happens for
these screens). To somewhat compensate for the short holding period, I
ran it using all possible starting weeks, so the backtest consisted of
a total of four runs with different starting weeks. The values
reported here (CAGR, GSD) are the average values from those four runs.

The data included in this report should be read as follows; The first
column contains the screen names tested. CA/GS is the CAGR/GSD
ratio. The CAGR and GSD columns speak for themselves. The Up/do show
the ups versus down periods.

The first group of CAGR/GSD/Up/do data is the "0-day" results, meaning
the values you would have obtained if buys and sells were done the
same day as data became available (on Fridays). This is impossible
since the data only becomes available the following Sunday, but it is
still what the backtester use by default.

The next 5 column-wise groups of CAGR/GSD/Up/do data contains two
additional columns; dCAGR and dGSD - basically the change in values
compared to the 0-day values.

The row named "Averages" contains the average values for each column.

The changes compared to 0-day are:

CAGR: -6.32% (1-day), -10.40%, -9.70%, -6.31%, -12.79% (5-day)
GSD : 4.13% (1-day), 4.47%, 2.50%, 2.69%, 6.01% (5-day)

It seems the delay on average knocks of a few percentage points,
although nothing major IMHO. This is all assuming CAGR has any
predictive value, which most people hope but is still highly
debated. There is no clear trend in the numbers (the values does not
show any trend from one to the next day).

LONG SCREENS
0-day CA/GS CAGR GSD Up/do 1-day CA/GS CAGR GSD Up/do dCAGR dGSD 2-day CA/GS CAGR GSD Up/do dCAGR dGSD 3-day CA/GS CAGR GSD Up/do dCAGR dGSD 4-day CA/GS CAGR GSD Up/do dCAGR dGSD 5-day CA/GS CAGR GSD Up/do dCAGR dGSD
Quality_Earnings 2.68 83 31 72 2.52 83 33 70 0.0% 6.1% 2.68 83 31 69 0.0% 0.0% 2.39 79 33 73 -5.1% 6.1% 2.29 78 34 70 -6.4% 8.8% 2.19 79 36 68 -5.1% 13.9%
POI 2.25 99 44 67 2.16 95 44 69 -4.2% 0.0% 1.98 85 43 70 -16.5% -2.3% 1.85 76 41 66 -30.3% -7.3% 1.86 78 42 69 -26.9% -4.8% 1.98 83 42 69 -19.3% -4.8%
High_Relative_Va 2.12 51 24 77 1.88 45 24 66 -13.3% 0.0% 1.75 42 24 68 -21.4% 0.0% 2 44 22 73 -15.9% -9.1% 1.95 43 22 67 -18.6% -9.1% 1.78 41 23 67 -24.4% -4.3%
P/S_I_Love_You 2.12 68 32 69 2.06 68 33 67 0.0% 3.0% 1.97 67 34 66 -1.5% 5.9% 2.03 67 33 66 -1.5% 3.0% 2.06 66 32 70 -3.0% 0.0% 2.16 67 31 70 -1.5% -3.2%
Commodity 2 52 26 75 1.74 47 27 73 -10.6% 3.7% 1.85 48 26 71 -8.3% 0.0% 1.72 50 29 69 -4.0% 10.3% 1.69 49 29 70 -6.1% 10.3% 1.59 46 29 70 -13.0% 10.3%
Silver_Parachute 1.91 67 35 72 1.59 62 39 66 -8.1% 10.3% 1.77 62 35 69 -8.1% 0.0% 1.91 65 34 70 -3.1% -2.9% 1.94 66 34 70 -1.5% -2.9% 1.86 67 36 62 0.0% 2.8%
Gentle_Screamers 1.81 58 32 68 1.11 42 38 65 -38.1% 15.8% 1.18 47 40 61 -23.4% 20.0% 1.18 47 40 66 -23.4% 20.0% 1.12 45 40 68 -28.9% 20.0% 0.97 39 40 68 -48.7% 20.0%
78RPM 1.63 80 49 68 1.27 61 48 68 -31.1% -2.1% 1.25 60 48 67 -33.3% -2.1% 0.98 47 48 65 -70.2% -2.1% 0.93 43 46 62 -86.0% -6.5% 0.64 30 47 64 -166.7% -4.3%
Shrinkage 1.56 28 18 67 1.53 29 19 61 3.4% 5.3% 1.42 37 26 64 24.3% 30.8% 1.46 38 26 65 26.3% 30.8% 1.48 37 25 65 24.3% 28.0% 1.48 37 25 64 24.3% 28.0%
ARS 1.54 40 26 68 1.43 40 28 68 0.0% 7.1% 1.25 35 28 67 -14.3% 7.1% 1.18 33 28 68 -21.2% 7.1% 1.15 30 26 68 -33.3% 0.0% 1.17 35 30 64 -14.3% 13.3%
Small_Value 1.5 54 36 72 1.57 55 35 71 1.8% -2.9% 1.47 53 36 71 -1.9% 0.0% 1.55 51 33 67 -5.9% -9.1% 1.37 48 35 66 -12.5% -2.9% 1.27 47 37 67 -14.9% 2.7%
Zweig-26 1.45 61 42 68 1.38 58 42 72 -5.2% 0.0% 1.29 53 41 69 -15.1% -2.4% 1.29 53 41 67 -15.1% -2.4% 1.23 53 43 65 -15.1% 2.3% 1.3 52 40 68 -17.3% -5.0%
S&P_Peg 1.36 30 22 68 1.55 34 22 68 11.8% 0.0% 1.52 32 21 68 6.3% -4.8% 1.57 33 21 67 9.1% -4.8% 1.41 31 22 60 3.2% 0.0% 1.14 32 28 61 6.3% 21.4%
OptiMan 1.25 15 12 64 1.08 13 12 63 -15.4% 0.0% 1.08 13 12 65 -15.4% 0.0% 1.27 14 11 69 -7.1% -9.1% 1.08 13 12 69 -15.4% 0.0% 1 13 13 65 -15.4% 7.7%
Steady_Growth 1.21 17 14 68 1.13 17 15 62 0.0% 6.7% 1.11 21 19 60 19.0% 26.3% 1.1 22 20 61 22.7% 30.0% 1.05 22 21 66 22.7% 33.3% 0.95 20 21 63 15.0% 33.3%
Microcap_Momentu 1.2 60 50 55 1.04 54 52 52 -11.1% 3.8% 0.96 48 50 53 -25.0% 0.0% 1 50 50 53 -20.0% 0.0% 1.2 60 50 55 0.0% 0.0% 1.04 52 50 57 -15.4% 0.0%
Eastwood 1.18 33 28 71 1.14 32 28 73 -3.1% 0.0% 1.19 31 26 73 -6.5% -7.7% 1.12 29 26 71 -13.8% -7.7% 1.39 32 23 73 -3.1% -21.7% 1.26 29 23 72 -13.8% -21.7%
Up_5% 0.97 35 36 58 0.95 35 37 65 0.0% 2.7% 0.92 33 36 60 -6.1% 0.0% 1.03 36 35 67 2.8% -2.9% 1.06 37 35 65 5.4% -2.9% 0.94 33 35 64 -6.1% -2.9%
PIH_Naked 0.94 34 36 58 1.03 39 38 61 12.8% 5.3% 1.29 45 35 66 24.4% -2.9% 1.41 48 34 61 29.2% -5.9% 1.48 49 33 59 30.6% -9.1% 1.22 45 37 57 24.4% 2.7%
POG 0.64 23 36 58 0.55 21 38 56 -9.5% 5.3% 0.47 17 36 59 -35.3% 0.0% 0.46 16 35 56 -43.8% -2.9% 0.57 20 35 60 -15.0% -2.9% 0.62 25 40 57 8.0% 10.0%
FCF-26 0.62 13 21 60 0.56 14 25 56 7.1% 16.0% 0.68 17 25 57 23.5% 16.0% 0.64 16 25 53 18.8% 16.0% 0.76 19 25 60 31.6% 16.0% 0.6 15 25 55 13.3% 16.0%
Net-Nets_Grahami 0.59 41 69 53 0.36 24 67 49 -70.8% -3.0% 0.35 23 65 47 -78.3% -6.2% 0.39 24 61 47 -70.8% -13.1% 0.48 30 62 49 -36.7% -11.3% 0.41 26 64 49 -57.7% -7.8%
Value_at_the_Top 0.48 11 23 51 0.52 12 23 54 8.3% 0.0% 0.42 10 24 53 -10.0% 4.2% 0.48 11 23 54 0.0% 0.0% 0.65 15 23 58 26.7% 0.0% 0.86 19 22 59 42.1% -4.5%
Melange 0.4 17 43 66 0.3 13 44 59 -30.8% 2.3% 0.25 11 44 59 -54.5% 2.3% 0.27 12 45 56 -41.7% 4.4% 0.26 12 47 58 -41.7% 8.5% 0.19 9 48 58 -88.9% 10.4%
Turnarounds 0.37 13 35 60 0.33 12 36 58 -8.3% 2.8% 0.3 11 37 55 -18.2% 5.4% 0.32 11 34 54 -18.2% -2.9% 0.34 12 35 55 -8.3% 0.0% 0.33 12 36 56 -8.3% 2.8%
CANSLIM-26 0.24 6 25 59 0.39 12 31 57 50.0% 19.4% 0.24 8 34 55 25.0% 26.5% 0.39 12 31 58 50.0% 19.4% 0.4 12 30 54 50.0% 16.7% 0.55 17 31 57 64.7% 19.4%

Averages 1.13 37.3134.19 62.73 1.2 39.1233.77 63.42 -6.32% 4.13% 1.18 38.1533.69 63.15-10.40% 4.47% 1.19 37.8533.04 63.15 -9.70% 2.50% 1.2 38.4633.12 63.5 -6.31% 2.69% 1.13 37.31 34.19 62.73 -12.79% 6.01%

SHORT SCREENS
Current_Ratio_s -0.05 -2 40 51 0.03 1 38 49 300.0% -5.3% 0.05 2 37 52 200.0% -8.1% 0.03 1 35 51 300.0% -14.3% 0.12 4 34 51 150.0% -17.6% 0.12 4 34 49
Dilution_s -0.23 -11 47 46 -0.22 -11 50 47 0.0% 6.0% -0.17 -8 48 48 -37.5% 2.1% -0.21 -10 47 49 -10.0% 0.0% -0.18 -9 49 51 -22.2% 4.1% -0.15 -7 48 50
The_Mirror_s -0.5 -16 32 44 -0.5 -17 34 44 5.9% 5.9% -0.55 -17 31 43 5.9% -3.2% -0.63 -19 30 43 15.8% -6.7% -0.61 -19 31 43 15.8% -3.2% -0.52 -17 33 41
Negative_FCF_s -0.51 -20 39 45 -0.53 -20 38 45 0.0% -2.6% -0.39 -15 38 45 -33.3% -2.6% -0.38 -14 37 45 -42.9% -5.4% -0.39 -14 36 50 -42.9% -8.3% -0.33 -12 36 50

Gentle_Screamers was run with "excluding" the ticker AEN since it
seems both AAII and BigCharts managed to report faulty numbers for
this ticker around July/August 2004. BigCharts has since fixed it
again, but my "one time fix" for detecting these things do not catch
these "later fixes". This is the ongoing saga for faulty data, and
until I get a "use this data instead" function where people can put
in "patches" to the SIPRO datasets, people really should use the
exclude option in the backtester when numbers jump a lot due to
faulty data.

OTHER NOTES

The backtester is not always able to look up a "next day" quote for
a stock, due to missing tickers / ticker name changes etc. In this
case, the backtester uses the numbers from "0-day" (since that data
is always available).

Filtered HTML

  • Web page addresses and e-mail addresses turn into links automatically.
  • Syntax highlight code surrounded by the {syntaxhighlighter SPEC}...{/syntaxhighlighter} tags, where SPEC is a Syntaxhighlighter options string or class="OPTIONS" [title="the title"].
  • Allowed HTML tags: <a> <em> <strong> <cite> <blockquote> <code> <ul> <ol> <li> <dl> <dt> <dd> <h2> <h3>
  • Lines and paragraphs break automatically.

Plain text

  • No HTML tags allowed.
  • Web page addresses and e-mail addresses turn into links automatically.
  • Lines and paragraphs break automatically.
CAPTCHA
This question is for testing whether you are a human visitor and to prevent automated spam submissions.