DrBob2 at the Mechanical Investing forum on The Fool (fool.com) posted a followup on his money flow screen (named Money_Flow hereafter). He first posted about this screen in January and according to his (manual, I presume) backtest (top 5, held monthly) the CAGR/GSD numbers were 56/46. Considering the high GSD number, this would be considered a very volatile screen. In December 2007 he posts a followup showing a CAGR of 80% for 2007. Even if the original GSD is a bit high for my taste, getting an 80% return in 2007 makes it worth spending a few minutes looking into the numbers.
On the traditional keelix.com backtester the Money_Flow screen can be described as follows:
Define {Money_Flow}
; Author: DrBob2, post discovery from: 2007-01-01
Deblank [SI Price] [SI Volume--Average Daily 10d] [SI Price--Volume M001] [SI Price--Volume M002] [SI Price--Volume M003] [SI Price--Volume M004] [SI Price--Volume M005] [SI Price--Volume M006] [SI Price--Volume M007] [SI Price--Volume M008] [SI Price--Volume M009] [SI Price/FCFPS]
Keep: [SI Price]>10
Keep: [SI Volume--Average Daily 10d]>20
Keep: [SI Price--Volume M009]>0
Keep: [SI Price/FCFPS]<25
Create [MF001]: [SI Price--Volume M001] * SIGN([SI Price M001] - [SI Price M002])
Create [MF002]: [SI Price--Volume M002] * SIGN([SI Price M002] - [SI Price M003])
Create [MF003]: [SI Price--Volume M003] * SIGN([SI Price M003] - [SI Price M004])
Create [MF004]: [SI Price--Volume M004] * SIGN([SI Price M004] - [SI Price M005])
Create [MF005]: [SI Price--Volume M005] * SIGN([SI Price M005] - [SI Price M006])
Create [MF006]: [SI Price--Volume M006] * SIGN([SI Price M006] - [SI Price M007])
Create [MF007]: [SI Price--Volume M007] * SIGN([SI Price M007] - [SI Price M008])
Create [MF008]: [SI Price--Volume M008] * SIGN([SI Price M008] - [SI Price M009])
Create [MF009]: [SI Price--Volume M009] * SIGN([SI Price M009] - [SI Price M010])
Create [SumMF]: [MF001]+[MF002]+[MF003]+[MF004]+[MF005]+[MF006]+[MF007]+[MF008]+[MF009]
Create [SumVolume]: [SI Price--Volume M001]+[SI Price--Volume M002]+[SI Price--Volume M003]+[SI Price--Volume M004]+[SI Price--Volume M005]+[SI Price--Volume M006]+[SI Price--Volume M007]+[SI Price--Volume M008]+[SI Price--Volume M009]
Create [NormMF]: [SumMF]/[SumVolume]
Keep: [NormMF]>0.75
Create [SortCritera]: [SumMF]/[SI Price--Volume M001]
Sort Ascending [SortCritera]
End
This is a "traditional" money flow screen with a nine month lookback. It also has a value filter to stabilize returns (decrease volatility) somewhat ([SI Price/FCFPS]<25). It makes use of the [SI Price--Volume M001] field (containing the volume for the current/last month going back up to ten month) which first became available in 2004-06-02. This screen, holding top 5 for at least 28 days (link to job here), gives the following result:
----
Money_Flow DJIA SP500 NASDAQ
2000-06-02 1.0000 1.0000 1.0000 1.0000 (PIOG,HRDG,LH,TNL,SAFT)
2000-06-30 7.58 1.0758 -3.21 0.9679 -1.53 0.9847 4.01 1.0401 (LH,PIOG,DGX,RIT,EV), stopped (HRDG)
...
2006-12-29 2.40 10.3188 -9.94 1.0000 1.55 0.9601 0.09 0.6334 (ORH,AXR,IWZ,AFN,VTV), splits (CRVL:1.5000)
CAGR 43 0 -1 -7
GSD 45 17 17 33
Cycles 83 83 83 83
Ups/downs 61 60 58 59
Turnover 84
Avg.held 5 0 0 0
cagr/gsd 0.94 0.00 -0.04 -0.20
mar 1.00 1.00 1.00 1.00
up 0.04 0.01 0.01 0.02
dd 0.05 0.03 0.03 0.06
upr 0.96 0.36 0.34 0.37
DrBob2 reported the numbers (CAGR/GSD) 56/46 (probably from late 1997), while the backtester reports 43/45 from 2000-06-02. In a recent post on the MI forum at The Fool, DrBob2 mentions that according to his manual tracking the screen returned 80% for 2007. The backtester reports the following numbers:
----
Money_Flow DJIA SP500 NASDAQ
2006-12-29 1.0000 1.0000 1.0000 1.0000 (ORH,AXR,IWZ,AFN,VTV)
2007-01-26 -1.20 0.9880 0.19 1.0019 0.27 1.0027 0.84 1.0084 (ORH,AXR,AFN,VTV,CHU)
2007-02-23 -1.57 0.9725 1.29 1.0148 2.04 1.0232 3.27 1.0413 (CCF,ROCM,AMSF,MALL,MFW)
2007-03-23 8.60 1.0562 -1.32 1.0014 -1.04 1.0126 -2.63 1.0139 (ROCM,TNH,MFW,AMSF,EMS), warning (ROCM_34%_16.32_21.90)
2007-04-20 20.59 1.2737 3.85 1.0400 3.36 1.0466 3.16 1.0460 (KFI,HBG,ROCM,HYSL,ACY), warning (MFW_44%_41.10_59.03)
2007-05-18 -3.62 1.2275 4.59 1.0877 2.59 1.0736 1.27 1.0593 (XSONF,SPAN,HAYN,ROCM,CNRD), stopped (HYSL)
2007-06-15 -2.66 1.1948 0.61 1.0944 0.67 1.0808 2.67 1.0875 (TNH,FCPO,EXM,VO,AL)
2007-07-13 8.38 1.2950 1.96 1.1159 1.28 1.0946 3.06 1.1208 (PLX,RCCC,NTL,BPHX,IMMR)
2007-08-10 2.06 1.3216 -4.80 1.0623 -6.37 1.0249 -5.99 1.0537 (GHM,IMMR,EXM,CALM,SRVY), warning (PLX_65%_23.29_38.40)
2007-09-07 19.91 1.5847 -0.95 1.0522 -0.01 1.0249 0.82 1.0623 (EXM,PWJ,EEM,PPA,EWH), warning (EXM_52%_31.48_47.88)
2007-10-05 15.42 1.8291 7.26 1.1286 7.16 1.0982 8.36 1.1511 (EXM,GIB,EWH,PWJ,NBG)
2007-11-02 5.38 1.9275 -3.35 1.0908 -3.08 1.0644 1.08 1.1636 (EIHI,MTK,EXM,MTL,EWH)
2007-11-30 -4.03 1.8498 -1.64 1.0729 -1.89 1.0443 -5.32 1.1017 (CEVA,CMO,GEOY,DAR,CF)
2007-12-28 13.51 2.0998 -0.04 1.0724 -0.18 1.0424 0.51 1.1073
CAGR 110 7 4 11
GSD 35 12 13 15
Cycles 13 13 13 13
Ups/downs 62 54 54 77
Turnover 75
Avg.held 5 0 0 0
cagr/gsd 3.15 0.58 0.34 0.73
mar 1.00 1.00 1.00 1.00
up 0.06 0.01 0.01 0.01
dd 0.02 0.02 0.02 0.03
upr 3.19 0.57 0.40 0.47
Impressive indeed. Please note however that DrBob2's numbers are monthly numbers, trading around the start of each month. That means there are at least four other monthly trading schedules which could have happened if you started any week of the month. For 2007, the monthly holds (with averages at the end) for each weekly start is:
(no enddate given; using end date 2007-12-28)
($ screenerd --start=20061229 --src=/tmp/mf.scr --cash --freq=28 --varystart --hold=5)
----
Money_Flow
2006-12-29 1.0000 (ORH,AXR,IWZ,AFN,VTV)
2007-01-26 -1.20 0.9880 (ORH,AXR,AFN,VTV,CHU)
2007-02-23 -1.57 0.9725 (CCF,ROCM,AMSF,MALL,MFW)
2007-03-23 8.60 1.0562 (ROCM,TNH,MFW,AMSF,EMS), warning (ROCM_34%_16.32_21.90)
2007-04-20 20.59 1.2737 (KFI,HBG,ROCM,HYSL,ACY), warning (MFW_44%_41.10_59.03)
2007-05-18 -3.62 1.2275 (XSONF,SPAN,HAYN,ROCM,CNRD), stopped (HYSL)
2007-06-15 -2.66 1.1948 (TNH,FCPO,EXM,VO,AL)
2007-07-13 8.38 1.2950 (PLX,RCCC,NTL,BPHX,IMMR)
2007-08-10 2.06 1.3216 (GHM,IMMR,EXM,CALM,SRVY), warning (PLX_65%_23.29_38.40)
2007-09-07 19.91 1.5847 (EXM,PWJ,EEM,PPA,EWH), warning (EXM_52%_31.48_47.88)
2007-10-05 15.42 1.8291 (EXM,GIB,EWH,PWJ,NBG)
2007-11-02 5.38 1.9275 (EIHI,MTK,EXM,MTL,EWH)
2007-11-30 -4.03 1.8498 (CEVA,CMO,GEOY,DAR,CF)
2007-12-28 13.51 2.0998
CAGR 110
GSD 35
Cycles 13
Ups/downs 62
Turnover 75
Avg.held 5
cagr/gsd 3.15
mar 1.00
up 0.06
dd 0.02
upr 3.19
CAGR+3S 418
CAGR+2S 284
CAGR+1S 184
CAGR-1S 56
CAGR-2S 15
CAGR-3S -14
----
Money_Flow
2007-01-05 1.0000 (ORH,AXR,AFN,VTV,CHU)
2007-02-02 -0.86 0.9914 (DIT,CCF,AMSF,MALL,MFW)
2007-03-02 -6.41 0.9278 (JLN,ROCM,TNH,MFW,AMSF)
2007-03-30 23.43 1.1452 (XSONF,KFI,HBG,ROCM,BDHHY), warning (ROCM_58%_14.38_22.78, TNH_30%_44.00_57.33, MFW_31%_36.33_47.61)
2007-04-27 2.35 1.1721 (KFI,HBG,ROCM,HYSL,ACY)
2007-05-25 1.01 1.1839 (HAYN,ROCM,CNRD,ESLT,MFW), stopped (HYSL) warning (ACY_38%_11.57_15.95)
2007-06-22 3.11 1.2207 (BPHX,TNH,FCPO,EXM,VO)
2007-07-20 13.56 1.3862 (PLX,RCCC,NTL,BPHX,IMMR), warning (EXM_55%_24.10_37.42)
2007-08-17 10.84 1.5365 (GHM,IMMR,EXM,CALM,SRVY), warning (PLX_90%_20.60_39.10)
2007-09-14 24.26 1.9093 (EXM,PWJ,EEM,PPA,EWH), warning (GHM_34%_31.82_42.67, CALM_37%_15.58_21.33, EXM_40%_32.63_45.75)
2007-10-12 19.23 2.2765 (EXM,GIB,EWH,PWJ,NBG), warning (EXM_54%_45.75_70.58)
2007-11-09 -7.58 2.1040 (EIHI,MTK,EXM,MTL,EWH)
2007-12-07 5.10 2.2113 (CEVA,CMO,GEOY,DAR,CF)
CAGR 137
GSD 44
Cycles 12
Ups/downs 75
Turnover 77
Avg.held 5
cagr/gsd 3.12
mar 1.00
up 0.07
dd 0.03
upr 2.33
CAGR+3S 605
CAGR+2S 390
CAGR+1S 241
CAGR-1S 65
CAGR-2S 14
CAGR-3S -20
----
Money_Flow
2007-01-12 1.0000 (ORH,AXR,IWZ,AFN,VTV)
2007-02-09 -4.16 0.9584 (DIT,CCF,AMSF,MALL,MFW)
2007-03-09 -2.50 0.9344 (JLN,ROCM,TNH,MFW,AMSF)
2007-04-06 22.39 1.1436 (XSONF,KFI,HBG,ROCM,HYSL), warning (ROCM_37%_16.21_22.18, MFW_62%_37.50_60.65)
2007-05-04 -1.48 1.1268 (SPAN,HAYN,ROCM,CNRD,ESLT), stopped (HYSL)
2007-06-01 -0.56 1.1205 (TNH,ARTL,EXM,VO,GTI)
2007-06-29 7.86 1.2085 (PLX,ESGR,MKTAY,RCCC,NTL), warning (TNH_47%_86.60_127.07)
2007-07-27 -23.07 0.9298 (GTI,NTL,TNH,MTOX,WNR)
2007-08-24 5.24 0.9785 (GHM,IMMR,EXM,CALM,SRVY), warning (NTL_31%_18.99_24.87)
2007-09-21 16.99 1.1447 (EXM,PWJ,EEM,PPA,EWH)
2007-10-19 12.07 1.2829 (EXM,GIB,EWH,PWJ,NBG), warning (EXM_51%_50.67_76.63)
2007-11-16 -6.81 1.1956 (MTK,EXM,MTL,EWH,FXI)
2007-12-14 5.83 1.2653
CAGR 29
GSD 55
Cycles 12
Ups/downs 50
Turnover 82
Avg.held 5
cagr/gsd 0.53
mar 1.00
up 0.05
dd 0.07
upr 0.67
CAGR+3S 380
CAGR+2S 210
CAGR+1S 100
CAGR-1S -17
CAGR-2S -46
CAGR-3S -65
----
Money_Flow
2007-01-19 1.0000 (ORH,AXR,AFN,VTV,CHU)
2007-02-16 -5.45 0.9455 (CCF,ROCM,AMSF,MALL,MFW)
2007-03-16 1.24 0.9572 (ROCM,TNH,MFW,AMSF,EMS)
2007-04-13 28.72 1.2321 (XSONF,KFI,HBG,ROCM,HYSL), warning (MFW_57%_37.55_59.11)
2007-05-11 -5.39 1.1657 (XSONF,SPAN,HAYN,ROCM,CNRD), stopped (HYSL)
2007-06-08 -5.02 1.1072 (BPHX,TNH,FCPO,ARTL,EXM)
2007-07-06 11.99 1.2399 (PLX,ESGR,RCCC,NTL,BPHX), warning (TNH_46%_93.58_137.08, BPHX_35%_10.14_13.67)
2007-08-03 -14.30 1.0626 (GHM,IMMR,EXM,CALM,SRVY)
2007-08-31 2.17 1.0856 (EXM,PWJ,EEM,PPA,EWH)
2007-09-28 13.22 1.2292 (EXM,GIB,EWH,PWJ,NBG)
2007-10-26 10.96 1.3639 (EXM,GIB,EWH,PWJ,NBG), warning (EXM_37%_55.80_76.70)
2007-11-23 -15.02 1.1591 (MTK,EXM,MTL,EWH,FXI)
2007-12-21 9.45 1.2686
CAGR 29
GSD 56
Cycles 12
Ups/downs 58
Turnover 70
Avg.held 5
cagr/gsd 0.53
mar 1.00
up 0.05
dd 0.06
upr 0.87
CAGR+3S 390
CAGR+2S 214
CAGR+1S 102
CAGR-1S -17
CAGR-2S -47
CAGR-3S -66
Avg. CAGR 76
Avg. GSD 47
Avg. UPR 1.77
Avg.Up/dow 61
Avg.Turnov 76
Avg.Held 5
Stdev.CAGR 55.50
Stdev. GSD 9.90
Stdev. UPR 1.21
Std.Up/dow 10.40
Std.Turnov 4.81
Returns are calculated for stock price changes only.
Dividends and costs of doing trading are NOT included.
Using a unreleased backtester, I can easily test a staggered hold 5 approach, basically buying and selling one stock every week, holding each for at least 5 weeks, which give the following equity lines:


The statistics are:
==> main (job 9592 - marius:Money_Flow) cagr : 28.63% turnover : 95.61% cycles : 297 bestYret : 63.45% mcprobpos : 86.41% gsd : 37.34% total trades: 342 avgheld : 4.85 bestttmret : 68.91% mcprobneg : 13.59% drawd : 45.09% wins : 226 avghelddays : 38.81 worstYret : -9.80% mccount : 1000000 cagr/gsd : 0.77 losses : 116 avgcashratio: 3.01% worstttmret: -12.08% symcount : 298 rrr4 : 0.66 % wins : 66.08% accum.ret. : 6.7346 bestY : 2007 upr : 0.60 avg.win : 12.68% drawd.date : 20040813 worstY : 2006 ui : 16.45 avg.loss :-13.32% startdate : 20000602 bestttm : 200006 upi4 : 1.50 profitfactor: 1.85 enddate : 20071228 worstttm : 200603
Similarily, for a hold 12, buying three stocks and holding each for at least four weeks give the somewhat prettier equity curves and statistics shown below:


==> main (job 11056 - marius:Money_Flow 12) cagr : 25.56% turnover : 79.65% cycles : 297 bestYret : 55.02% mcprobpos : 90.96% gsd : 22.52% total trades: 1101 avgheld : 11.51 bestttmret : 55.94% mcprobneg : 9.04% drawd : 23.33% wins : 687 avghelddays : 28.75 worstYret : -6.90% mccount : 1000000 cagr/gsd : 1.14 losses : 414 avgcashratio: 4.23% worstttmret: -14.48% symcount : 708 rrr4 : 0.96 % wins : 62.40% accum.ret. : 5.6076 bestY : 2004 upr : 0.72 avg.win : 9.60% drawd.date : 20070817 worstY : 2002 ui : 8.05 avg.loss : -9.97% startdate : 20000602 bestttm : 200408 upi4 : 2.68 profitfactor: 1.60 enddate : 20071228 worstttm : 200110