No. of Recommendations: 28
If you can get 20% + return over a 40 year backtest, with no momentum, large cap equities?

S&P500 Cap Weight, 1974-2014, 1974 is included, and was a -27% year.

CAGR:	 11.00 
TR: 6,361
GSD(20): 17.33
DD(20): 11.23
MDD: -54.6
UI(20): 13.13
Sh(20): 0.43
Be(20): 1.00
TI(20): 6.81
AT: 0.45


Above, but equal weight (gRSP), substantial improvement but GSD is higher.

CAGR:	 14.62 
TR: 23,237
GSD(20): 19.98
DD(20): 12.41
MDD: -59.0
UI(20): 10.03
Sh(20): 0.57
Be(20): 1.09
TI(20): 9.54
AT: 1.82


Equal weight of the bottom 20 of the S&P500 by Market Cap. Much higher return at the expense of GSD, MDD and UI.

CAGR:	 21.95 
TR: 277,752
GSD(20): 36.88
DD(20): 20.04
MDD: -67.4
UI(20): 13.53
Sh(20): 0.60
Be(20): 1.51
TI(20): 13.35
AT: 7.95


Calendar trading of above using 10 round trips per year, 0.2% slippage assumed many of these stocks currently have $50 million per day in volume. The goal is a tradeable, high return, low ulcer test.

CAGR:	 20.19 
TR: 155,339
GSD(20): 17.62
DD(20): 7.85
MDD: -31.2
UI(20): 4.34
Sh(20): 0.87
Be(20): 0.39
TI(20): 38.60
AT: 13.08


URL for last:

http://gtr1.backtest.org/2012/?lf-1lp-1h1f0.20000::sp500.a:e...
Print the post Back To Top
No. of Recommendations: 3
Quite a finding! Thanks

From finviz.com, I pulled down the
lowest mkt cap stocks 
in the S&P500 with their
performance and compared it to
3 common ETFs.
I guess I would have been better
off with the indexes. Unless
I am looking at something in error.


No.	Ticker	Performance 	Performance 
                 (Half Year) (Year)
1	BRK-B	-3.89%	14.44%
2	CLF	3.35%	-42.97%
3	NFX	-0.90%	-17.26%
4	ATI	15.45%	5.24%
5	TE	-3.42%	-1.54%
6	JBL	-21.39%	-5.67%
7	R	18.08%	30.99%
8	IGT	-20.12%	-0.48%
9	X	45.49%	11.62%
10	WPX	1.73%	31.73%
11	RDC	-7.85%	-9.85%
12	BMS	-6.56%	8.66%
13	AIV	-8.02%	0.70%
14	PDCO	-1.09%	11.77%
15	GME	-24.40%	50.52%
16	DNB	7.69%	36.90%
17	CVC	-10.46%	10.83%
18	LEG	-3.02%	3.32%
19	TEG	-12.88%	2.51%
20	PBCT	-1.78%	21.10%
21	PBI	33.39%	89.62%
	Average	-0.03%	12.01%
			
	DIA	2.51%	15.40%
	QQQ	13.00%	27.95%
	SPY	6.28%	20.09%
Print the post Back To Top
No. of Recommendations: 0
Calendar trading of above using 10 round trips per year...
URL for last...


I followed the link and clicked on Run Screener to see what kind of stocks are selected. I received a message "You do not have permission for SI screening." How does one obtain permission?

DB2
Print the post Back To Top
No. of Recommendations: 5
First you need to be able to get "file hashes". The SI screening password is the MD5 file hash of the most recent end-of-month SI update.

I believe this is the link I used to get hashtab (the blue button, not the green one. I hate these websites that have all these deceptive download buttons all over). http://implbits.com/hashtab/hashtabwindows.aspx

When that's installed, you just right click on any file, select "properties", and you will see a new tab that says "file hashes". You choose that, and copy the MD5 hash, and then paste it in the GTR1 form where it says "passwords". Then select run screener.

You need to get the hash of the most recent end of month SiPro update, under the "past updates" section on the AAII website. Right now that is the 12/31/13 update, which gives an MD5 hash that works. That will change in a week or so here when the new month end update is posted.

Here are the top 20 for that screen that I get, so if you get it working, hopefully you see the same thing:

Rank  Ticker Symbol
1 CLF
2 NFX
3 ATI
4 TE
5 IGT
6 JBL
7 X
8 R
9 WPX
10 BMS
11 RDC
12 AIV
13 GME
14 LEG
15 DNB
16 PDCO
17 TEG
18 CVC
19 PBI
20 WIN




Mark
Print the post Back To Top
No. of Recommendations: 0
I followed the link and clicked on Run Screener to see what kind of stocks are selected. I received a message "You do not have permission for SI screening." How does one obtain permission

The field expression for mcp:

pref(product(sprc,csoq1d.s),product(cprc,cshoq1d.c),product(aprc,sho.a))

becomes to remove SIPRO sources:

pref(product(cprc,cshoq1d.c),product(aprc,sho.a))

then run screener


===========================
Results
The following lists all stocks eligible at step3, sorted in ascending order by field56, as of 20121231:

So the list is stale, but using the above mcp the results are similar:

Cycle: 0
1st Trades: 19740104

CAGR: 20.58
TR: 145016.
GSD(20): 17.52
DD(20): 7.59
MDD: -29.08
UI(20): 4.18
Shar(20): 0.88
Beta(20): 0.37
TI(20) 39.9
AT: 13.06
Print the post Back To Top
No. of Recommendations: 0
You need to get the hash of the most recent end of month SiPro update, under the "past updates" section on the AAII website. Right now that is the 12/31/13 update, which gives an MD5 hash that works.

Ah, so this has to be done in Windows?

DB2
Print the post Back To Top
No. of Recommendations: 0
You need to get the hash of the most recent end of month SiPro update, under the "past updates" section on the AAII website. Right now that is the 12/31/13 update, which gives an MD5 hash that works.

rgearyiii stated in post 243137:
http://boards.fool.com/bgpl-ive-been-trying-to-get-the-picks...

I usually wait until mid-Monday to download the file, which is what the GTR1 backtester's SI Pro password is based on.

In another post he recommended the freeware HashTab to compute the MD5 hash.

Although I don't usually use his screener I have been downloading the last end of week file usually posted late Saturday. I purposely save the file and get the hash before executing it to run SI Pro.

DrBob:
Ah, so this has to be done in Windows?

I believe you can only run SIPro in Windows but any operating system should let you sign in to AAII- SI Pro, download the file and get the MD5 hash to gain access to GTR1 screens.

RAM
Print the post Back To Top
No. of Recommendations: 3
You can double the CAGR and still have a smaller DD and beta and higher sharpe than the S&P by adding trp(1,5) bottom 5 to your 20 stock low mcap test. (Even if you increase the friction to .4% still gives cagr 25.7%)

CAGR 27.4% since the end of 1973%!

(I'm wondering if something is too good, though. End 2007 to end 2008 gives 127% CAGR with .4 friction. )



http://gtr1.backtest.org/2012/?lf-1lp-1f0.20000::sp500.a:et1...
Print the post Back To Top
No. of Recommendations: 2
...and an ANNUAL hold of S&P 500 stocks, low 20 mcap, trp(1,5) bottom 5
gives 25.8% CAGR with a NEGATIVE beta w/ .4% friction.

cagr 25.8
gsd 25.5
dd 5.2
sharpe .71
TI -398
UI 4.6
beta -.07
AT 11.1

http://gtr1.backtest.org/2012/?lf-1lp-1h253i253f0.40000::sp5...
Print the post Back To Top
No. of Recommendations: 2
klouche, what is that complex rule about staying out of the market certain months?

Take that rule out and you get CAGR 15, GSD 36, MDD -76.


Also, your published link is for a holding period of 1-day.


The text of that "rule" follows:


if(month(0)=1,
if(
if(linear(1,month(0),-1,month(-7))!=0,1,0)>0,1,
if(linear(1,month(0),-1,month(2))!=0,1,0)),
if(month(0)=2,
if(
if(linear(1,month(0),-1,month(-3))!=0,1,0)>0,1,
if(linear(1,month(0),-1,month(2))!=0,1,0)),
if(month(0)=3,
if(
if(linear(1,month(0),-1,month(-1))!=0,1,0)>0,1,
if(linear(1,month(0),-1,month(3))!=0,1,0)),
if(month(0)=4,
if(
if(linear(1,month(0),-1,month(-4))!=0,1,0)>0,1,
if(linear(1,month(0),-1,month(4))!=0,1,0)),
if(month(0)=5,
if(
if(linear(1,month(0),-1,month(-2))!=0,1,0)>0,1,
if(linear(1,month(0),-1,month(3))!=0,1,0)),
if(month(0)=6,
if(
if(linear(1,month(0),-1,month(-2))!=0,1,0)>0,1,
if(linear(1,month(0),-1,month(4))!=0,1,0)),
if(month(0)=7,
if(
if(linear(1,month(0),-1,month(-2))!=0,1,0)>0,1,
if(linear(1,month(0),-1,month(3))!=0,1,0)),
if(month(0)=10,
if(
if(linear(1,month(0),-1,month(-4))!=0,1,0)>0,1,
if(linear(1,month(0),-1,month(4))!=0,1,0)),
if(month(0)=11,
if(
if(linear(1,month(0),-1,month(-6))!=0,1,0)>0,1,
if(linear(1,month(0),-1,month(3))!=0,1,0)),
if(month(0)=12,
if(
if(linear(1,month(0),-1,month(-8))!=0,1,0)>0,1,
if(linear(1,month(0),-1,month(4))!=0,1,0)
),0)
)
)
)
)
)
)
)
)
) = 0
Print the post Back To Top
No. of Recommendations: 0
...and an ANNUAL hold of S&P 500 stocks, low 20 mcap, trp(1,5) bottom 5
gives 25.8% CAGR with a NEGATIVE beta w/ .4% friction.


No. No.

There's a substantially complex Cash If statement in the screen to implement a 10 trade calendar based system. It overrides holds longer than 20 days so ANNUAL holds are not really annual.

Please remove the Cash If statement then test again. The 20 day hold CAGR goes down to 16% or so. The calendar system only has you in the market 30% of the time which is why it improves UI and Sharpe so much.

Here is the calendar day selection:

if(month(0)=1,if(if(linear(1,month(0),-1,month(-7))!=0,1,0)>0,1,if(linear(1,month(0),-1,month(2))!=0,1,0)),if(month(0)=2,if(if(linear(1,month(0),-1,month(-3))!=0,1,0)>0,1,if(linear(1,month(0),-1,month(2))!=0,1,0)),if(month(0)=3,if(if(linear(1,month(0),-1,month(-1))!=0,1,0)>0,1,if(linear(1,month(0),-1,month(3))!=0,1,0)),if(month(0)=4,if(if(linear(1,month(0),-1,month(-4))!=0,1,0)>0,1,if(linear(1,month(0),-1,month(4))!=0,1,0)),if(month(0)=5,if(if(linear(1,month(0),-1,month(-2))!=0,1,0)>0,1,if(linear(1,month(0),-1,month(3))!=0,1,0)),if(month(0)=6,if(if(linear(1,month(0),-1,month(-2))!=0,1,0)>0,1,if(linear(1,month(0),-1,month(4))!=0,1,0)),if(month(0)=7,if(if(linear(1,month(0),-1,month(-2))!=0,1,0)>0,1,if(linear(1,month(0),-1,month(3))!=0,1,0)),if(month(0)=10,if(if(linear(1,month(0),-1,month(-4))!=0,1,0)>0,1,if(linear(1,month(0),-1,month(4))!=0,1,0)),if(month(0)=11,if(if(linear(1,month(0),-1,month(-6))!=0,1,0)>0,1,if(linear(1,month(0),-1,month(3))!=0,1,0)),if(month(0)=12,if(if(linear(1,month(0),-1,month(-8))!=0,1,0)>0,1,if(linear(1,month(0),-1,month(4))!=0,1,0)),0)))))))))) = 0
Print the post Back To Top
No. of Recommendations: 1

if(month(0)=1,
if( if(linear(1,month(0),-1,month(-7))!=0,1,0)>0,1,
if(linear(1,month(0),-1,month(2))!=0,1,0)),


If the month no lag = 1 (January) be invested only for the last 7 trading days of the month and for the first 2, etc. for the other nine months described in the rule. It's hard to follow since it defines a neagative by default (Cash if).

The days in/out were developed in 2011 the old fashioned way (Excel) on the S&P500 index since 1951 (using Yahoo data) and converted to GTR1.
Print the post Back To Top
No. of Recommendations: 3
If the month no lag = 1 (January) be invested only for the last 7 trading days of the month and for the first 2, etc. for the other nine months described in the rule.

Thanks for the feedback on the months. I plotted the signal using GTR1, and got this.

http://postimg.org/image/tf4kw1yyr/

I see varying # of days depending on each start of month, and nothing in September.

No momentum, but lots of timing.
Print the post Back To Top
No. of Recommendations: 1


no timing

strategy vs. S&P
cagr 17.9 13.8
gsd 32.0 20.2
dd 19.5 13.3
sharpe .55 .53
ti 14.3 8.8
ui 19.8 10.77
beta 1.08 1.1
at 5.4 .52
mdd -58.5 -60.3
'08 -36.8 -40.0
post'99 8.7 8.9



http://gtr1.backtest.org/2012/?lf-1lp-1f0.40000::sp500.a:et1...


19740104 forward 5 stock strategy no timing 20 day hold .4% friction

4% cagr gain over S&P with better beta, sharpe, MDD
Print the post Back To Top
No. of Recommendations: 0
and an ANNUAL hold of S&P 500 stocks, low 20 mcap, trp(1,5) bottom 5
gives 25.8% CAGR with a NEGATIVE beta w/ .4% friction.


This screen is extremely interesting. That negative beta – this must be an amazing blender.

2008: 125%
2009: 6%
2010: -6%
...
2013: 21%
Print the post Back To Top
No. of Recommendations: 6
Go away in May (aka STS) slays them all:

40 years of bottom 20 MCAP of S&P500, 0.2% slippage, go away in May come back in November.


Avg
CAGR: 23.00
TR: 391,533
GSD: 25.31
DD(20): 11.26
MDD: (58.57)
UI(20): 7.52
Sha: 0.76
Beta: 0.69
TI(20): 27.01
AT: 2.72


http://gtr1.backtest.org/2012/?lf-1lp-1h5f0.20000::sp500.a:e...
Print the post Back To Top
No. of Recommendations: 2
Go away in May (aka STS) slays them all:

40 years of bottom 20 MCAP of S&P500, 0.2% slippage, go away in May come back in November.


Avg
CAGR: 23.00
TR: 391,533
GSD: 25.31
DD(20): 11.26
MDD: (58.57)
UI(20): 7.52
Sha: 0.76
Beta: 0.69
TI(20): 27.01
AT: 2.72



http://gtr1.backtest.org/2012/?lf-1lp-1h5f0.20000::sp500.a:e......


I noticed that position 1 on this screens has a very bad return. Adding a final step -
mcp top 19
improves the screen's return by about 0.6% and drops GSD a little.

Over tuning or is it often enough the case that the smallest cap stock in the S&P500 is on the way to the trash heap?

Elan
Print the post Back To Top
No. of Recommendations: 1
It looks like it. In particular, in December 10, 1975, the #1 pick lost 99.99% of its value. Here are the portfolio values for the 5 cycles in the backtest:

19751203    2.2893   2.11075   1.69175   2.26947   1.88664
19751204 2.2893 2.11075 1.69175 2.26947 1.88664
19751205 2.54367 2.34528 1.87972 2.52163 2.09627
19751208 2.2893 2.11075 1.69175 2.26947 1.88664
19751209 2.03494 1.87622 1.50377 2.0173 1.67702
19751210 7.41E-05 6.83E-05 5.48E-05 7.35E-05 6.10E-05
19751211 7.40E-05 6.83E-05 5.48E-05 7.35E-05 6.10E-05
19751212 7.72E-05 6.82E-05 5.48E-05 7.35E-05 6.36E-05
19751215 7.08E-05 6.25E-05 5.47E-05 7.35E-05 5.83E-05

But even without that one there are other very bad periods for the #1 pick...


Mark
Print the post Back To Top
No. of Recommendations: 1
I had also noticed what Elan and Mark did, the last one or two should be dropped.

I tried to see what happens with a half year (I used 126 days)
hold would do, but I'm not sure I used the backtester correctly, so if
you can suggest how to properly backtest that, it would be nice to see your code. I suspect very little changes from one year to the next, as is indicated by the low turnover values.

One other thing about this screen, if I understand it correctly, is you won't need to buy (or otherwise get) the IBD weekly review, the AII or VL publications to set this up. Only a site that publishes the list of S&P stocks with weights or market caps given.

Since it's cap weighted, the 20 smallest weighted picks ought to be the list. It sounds a bit like a 'Dogs of the Dow' or Dogs of the S&P' type screen. The measure is different, market cap, so maybe call it 'Midgets of the...'?

Indeed, what happens if one picks the smallest 5-7 stocks by market cap in the Dow? And adds the seasonal timing idea?
rrjjgg
Print the post Back To Top
No. of Recommendations: 2
I think this is the Dow version of your seasonal S&P screen.
Smaller return, but still not bad.

http://gtr1.backtest.org/2012/?lf-1lp-1h5f0.20000::dji.a:et1...
Print the post Back To Top
No. of Recommendations: 1
the other day, I said.

I see varying # of days depending on each start of month,
and nothing in September.


Noting the different trade days for each month, and omitting a month got me curious. First I made each month's start/end dates the same (-4,2), and the CAGR dropped. Then I made it so all 12-months are used, the CAGR drops more.

CAGR GSD
orig 20.2 17.6
same days each of months(2*) 16.3 17.0
same days all 12 months(3*) 15.2 17.6

Screen 2*
http://gtr1.backtest.org/2012/?lf-1lp-1h1f0.20000::sp500.a:e...

Screen 3*
http://gtr1.backtest.org/2012/?lf-1lp-1h1f0.20000::sp500.a:e...


I kindly suggest the original screen is highly-tuned and unlikely to produce average returns of 20% in the future.
Print the post Back To Top
No. of Recommendations: 0
Volition,

I'm not sure what you mean, but surely some of the industries will pop up and down in the ranks once in awhile. That would explain the higher turnover numbers. Why this impacts the returns as much as it does..?

Anyhow, I found a website giving what I wanted in my last post:

https://www.spdrs.com/product/fund.seam?ticker=SPY

Below the top ten holdings table there is a link with an Excel download giving the stocks ordered by weight. Here's the last 20 or so.
Don't recall how to paste into MFool from a spreadsheet, but this is readable.

Total System Services Inc. TSS 0.03
Windstream Holdings Inc. WIN 0.03
Zions Bancorporation ZION 0.03
Allegheny Technologies Incorporated ATI 0.02
AutoNation Inc. AN 0.02
Bemis Company Inc. BMS 0.02
Cablevision Systems Corporation Class A CVC 0.02
Cliffs Natural Resources Inc. CLF 0.02
Diamond Offshore Drilling Inc. DO 0.02
First Solar Inc. FSLR 0.02
Graham Holdings Co. GHC 0.02
International Game Technology IGT 0.02
Jabil Circuit Inc. JBL 0.02
Newfield Exploration Company NFX 0.02
Patterson Companies Inc. PDCO 0.02
Rowan Cos. Plc Class A RDC 0.02
Ryder System Inc. R 0.02
TECO Energy Inc. TE 0.02
United States Steel Corporation X 0.02
Urban Outfitters Inc. URBN 0.02
WPX Energy Inc. Class A WPX 0.02

Anybody want to check this is really ordered by market cap?

rrjjgg
Print the post Back To Top
No. of Recommendations: 0
This is what I came up with:
DV DeVry, Inc.
LXK Lexmark Int'l Inc
ANR Alpha Natural Resources
FSLR First Solar Inc
SNDK SanDisk Corporation
CAG ConAgra Foods Inc.
JNPR Juniper Networks
WYNN Wynn Resorts Ltd
ROK Rockwell Automation Inc.
WPI Watson Pharmaceuticals
ROP Roper Industries
ORLY O'Reilly Automotive
DTE DTE Energy Co.
DOV Dover Corp.
RRC Range Resources Corp.
CPB Campbell Soup
RSG Republic Services Inc
IVZ Invesco Ltd.
HOT Starwood Hotels & Resorts
Print the post Back To Top
No. of Recommendations: 0
I want to make sure that I got this straight-

Using the GTR1 backtester (klouche's post 248212),

if I pick the lowest 20 market cap stocks
in the S&P500 and hold them for a month,
then again pick the lowest 20 at each month's end,
a $10K investment would have gone to $16 Million
starting in 1974- not accounting for friction. 

(That would have been about 2.5 times 
as much the entire S&P500 index.)


And pulling the numbers for one of the GTR1 runs
(the same GTR1 run that gave a 1974 to Ytd a CAGR of 20%),
$10K in 2000 went to $101K? (About 6X the whole index)

Total Return for Year Ending:		
19991231	 14.8% 	 $10,000 start
20001229	 1.5 	 10,148 
20011231	 29.6 	 13,152 
20021231	 25.6 	 16,520 
20031231	 45.8 	 24,083 
20041231	 14.1 	 27,473 
20051230	 (10.2)	 24,664 
20061229	 13.7 	 28,048 
20071231	 19.3 	 33,461 
20081231	 88.3 	 63,009 
20091231	 11.4 	 70,215 
20101231	 1.3 	 71,159 
20111230	 18.7 	 84,479 
20121231	 6.6 	 90,083 
20131231	 17.2 	 105,542 
20140130	 (4.0)	 101,319 

Can the program indicate the stocks used in
2008 that gave an 88.3% return??
That would be nice to see.

What about the survivor bias problem?
Print the post Back To Top
No. of Recommendations: 2
Can the program indicate the stocks used in
2008 that gave an 88.3% return??
That would be nice to see.


Yes I know. 2008 is an outlier extreme, but its out performance is in keeping with the same timing on SPY.

To further analyze I removed 2008 (the worst index year) and the two best index gain years (since the market goes up about twice as often as down) as outliers. Got similar numbers.

I also did a correlation of system advantage to index return. That is: how market return (SPY) correlates to system advantage. I got a strong -0.82 so the system advantage is strongly inverse to market return. You can see this with a substandard 2013 for the system.
Print the post Back To Top
No. of Recommendations: 0
Klouche-
Thanks for the reply-

Do you have the 2008 picks anyway?

Do you have a survivorship bias problem?
http://www.investopedia.com/terms/s/survivorshipbias.asp

Thanks
Print the post Back To Top
No. of Recommendations: 0
Survivor-ship bias is data problem. Robbie G. is using sources that handle it. I think for 2008 SIPRO is the source of S&P500 membership data.

If failed companies were left out of the group, the returns of the group would not match the index or SPY. Robbie proved that gSPY matches SPY earlier so that proves that contemporaneous members are used.

See:

http://boards.fool.com/you-can-actually-create-an-approximat...
Print the post Back To Top
No. of Recommendations: 2
For those not afraid to trade, 40 years, 0.2% slippage, bottom market cap of the S&P500, bottom five day return, STS timing (6 months in cash), one day hold.

Many more like this.


Cycle: 0
1st Trades: 19740104

CAGR: 31.45
TR: 5570264
GSD(20): 24.54
DD(20): 9.00
MDD: -55.30
UI(20): 6.04
Sharpe(20): 1.03
Beta(20): 0.66
TI(20): 37.97
AT: 40.41


http://gtr1.backtest.org/2012/?lf-1lp-1h1f0.20000::sp500.a:e...
Print the post Back To Top
No. of Recommendations: 0
40 years, 0.2% slippage, bottom market cap of the S&P500, bottom five day return, STS timing (6 months in cash), one day hold.

What's the mechanism here? The turnover can't be all that much – got to be the same 5 stocks most of the time – is it just the daily rebalancing, capturing small delta's by going back to equal weight every day?
Print the post Back To Top
No. of Recommendations: 0
I'm not sure you should have the -1 in the lagf and lagp boxes. And it's a 1-day hold, the way I read it. If I put in 20 day hold, and use the default lags for backtesting, you get CAGR 23 with GSD 23. Still not bad.

What's the interpretation of tr(1,5)? I've used trp and trm but never tr.

Mark
Print the post Back To Top
No. of Recommendations: 0
What does a
one day hold mean?
You don't hold the 5 (or 10 or 20) for the whole month?
Print the post Back To Top
No. of Recommendations: 0
What does a one day hold mean? You don't hold the 5 (or 10 or 20) for the whole month?

It means you do the rankings every day and update your holdings accordingly. I don't think anyone actually does that. I'm one of the nuttier ones that uses a 10 day hold (9 actually).
Recently, Robbie showed how to implement timing signals in GTR1 and in order to do daily checks of the signals, he used 1 days holds, but with conditions that resulted in stocks being held for a minimum period (of, say 20 days).
But that isn't necessary for this screen. If you use 20 day hold (and blanking out the lag fields), you get

             Avg
CAGR: 23.30216
TR: 458703.2
GSD(20): 23.09877
DD(20): 9.982819
MDD: -51.4117
UI(20): 6.373358
Sharpe(20): 0.817492
Beta(20): 0.640583
TI(20): 28.7992
AT: 5.302562

http://gtr1.backtest.org/2012/?f0.20000::sp500.a:et1:mcp:gt0...

Now there is a big reduction in AT (annualized turnover), from 40 to 5. Meaning, the portfolio (of 20 stocks) turns over completely 5 times in a year, rather than 40 times.

Never mind about tr, I see it is the same as trm.


Mark
Print the post Back To Top
No. of Recommendations: 0
Using the GTR1 backtester (klouche's post 248212),

if I pick the lowest 20 market cap stocks
in the S&P500 and hold them for a month,
then again pick the lowest 20 at each month's end,
a $10K investment would have gone to $16 Million
starting in 1974- not accounting for friction.


Kevin's screen is programmed for a 5 day hold. When I changed it to 20 days returns dropped a little. He also programmed a -1 lag. Don't ask me why. Changing the lag to 0 makes almost no difference.

Elan
Print the post Back To Top
No. of Recommendations: 0
GTR1 results are with multiple overlaping daily start dates but as a point of reference I ran
the screen on my SIP backtester. From 8/29/97 till 1/24/2014 with round trip slippage 0.5%:
Note unlike GTR1 this is without dividends.

The reference point holding all 500 SP500 Equally Weighted (sometimes SIP only finds 498 or 499):
Friday trade CAGR 7.1% GSD 24.8%, MaxDD 56.7%

Lowest 20 Market Cap in SP500:
Friday trade CAGR 11.9% GSD 38.3 MaxDD 69.1%, Turnover 14.4%,
6.33 X original investment accumulated
I do not get the 2008 large positive return. The return I see from
12/21/2007 to 12/19/2008 is -23.3%


Lowest 20 P/E in the SP500:
Friday trade CAGR 12.2% GSD 38.6%, MaxDD 63.7%, Turnover 21.0%
6.64 X original investment accumulated

RAM
Print the post Back To Top
No. of Recommendations: 0
Year by year returns for 20 stocks, 20 day hold:

  Year    Return
19741231 -10
19751231 111
19761231 74
19771230 20
19781229 28
19791231 55
19801231 -4
19811231 37
19821231 16
19831230 61
19841231 4
19851231 24
19861231 20
19871231 45
19881230 33
19891229 24
19901231 6
19911231 61
19921231 25
19931231 12
19941230 -4
19951229 20
19961231 28
19971231 -3
19981231 19
19991231 27
20001229 10
20011231 65
20021231 36
20031231 26
20041231 19
20051230 -15
20061229 11
20071231 5
20081231 4
20091231 56
20101231 37
20111230 18
20121231 22
20131231 13
20140130 -2
Print the post Back To Top
No. of Recommendations: 0
Bryan,

I checked both our lists at Yahoo. While mine is not completely in order, the largest market cap in my list is $6B, while your list has several much higher, for example WYNN has a market cap of $22B. Also, some of your stocks are not in the S&P500, for example, I Intelsat and DV, DeVry. At least not in the lists at investing.com and spdrs.com

rrjjgg
Print the post Back To Top
No. of Recommendations: 0
Here is the 20 bottom mcap s&p 500 stocks according to barchart.com
Sym	Name	Market Cap
ANF	Abercrombie & Fitch Company	2,703,000
JDSU	Jds Uniphase Corp	2,765,270
CLF	Cliffs Natural Resources Inc	3,073,200
NFX	Newfield Exploration Company	3,300,980
ATI	Allegheny Technologies Inc	3,445,710
TER	Teradyne Inc	3,609,950
JBL	Jabil Circuit	3,614,310
TE	Teco Energy	3,620,250
IGT	International Game Technology	3,636,430
X	United States Steel Corp	3,710,710
R	Ryder System	3,740,940
WPX	Wpx Energy Inc. Common Stock W	3,893,690
BMS	Bemis Company	3,912,790
RDC	Rowan Companies	3,922,130
AIV	Apartment Investment and Management	3,984,970
GME	Gamestop Corp	4,061,490
LEG	Leggett & Platt Inc	4,172,790
DNB	Dun & Bradstreet Corp	4,188,820
PDCO	Patterson Companies Inc	4,219,210
TEG	Integrys Energy Group	4,270,470
Print the post Back To Top
No. of Recommendations: 1
ilmostro-

According to this article, there
are some on your list that seem to have been dropped
from the S&P500- JDSU,TER, and ANF.

http://www.fool.com/investing/general/2013/12/28/which-17-st...

finviz.com seems to have the most up to date
list- (go the screener and then go to index and select S&P500,
then sort by market cap)

http://finviz.com/screener.ashx?v=111&f=idx_sp500&o=...

What about Berkshire Hathaway?
http://www.reuters.com/article/2010/01/26/us-berkshire-sp-id...
Print the post Back To Top
No. of Recommendations: 0
finviz is cool.

I tried going to the source, the actual owners of the S&P 500 index, but I couldn't find the constituents market cap info on their site, only for the top 10 or so in mcap.

All these different sites and none agree exactly so who you going to trust?

Bryan
Print the post Back To Top
No. of Recommendations: 2
All these different sites and none agree exactly so who you going to trust?

Although not about market cap, this posts mentions how GTR1 updates membership lists. http://boards.fool.com/gtr1-database-update-11214-31063732.a...
Print the post Back To Top
No. of Recommendations: 0
zacks top 10 in S&P now:
AAPL,BRK.B,CVX,GE,GOOG,JNJ,MSFT,WFC,WMT,XOM
Print the post Back To Top
No. of Recommendations: 34
Thank you to everyone sharing research based on the GTR1 backtester, which helps ensure that the backtester pays off for me personally and that it continues to exist for many years to come.

Since my posts on this message board are the backtester's only public up-to-date documentation (which is unsearchable apart from datahelper.com), I'll try to answer as many questions as I have time for in this post so that answers are easy to find.


Why do GTR1 backtests start no earlier than 1974?

No one has asked this question yet, but the backtests posted in this thread are making me ask it. Almost all of the magic of these screens seems to be in some sort of timing (mainly variations on Superior Six or the Seasonal Timing System), and the dependence on these easily over-tunable timing systems greatly increases the need for longer backtests.

The reasons for the GTR1 backtester's starting date of 19740104 (the first Friday of 1974) go back to 2001, when a small group of us were collecting weekly Timeliness ratings form printed editions of the Value Line Investment Survey. Weekly Timeliness 1 ratings were obtained back to 1963. However, we discovered that about 1/3 of all T1 stocks at that time were OTC, a number that only gradually declined until the inception of the Nasdaq stock exchange in December, 1972, when it absorbed most of the OTC stocks. After quite a bit of effort collecting daily price records for these pre-Nasdaq OTC stocks from printed journals, we finally gave up when doubts about the accuracy of the data and the tradability of early T1 stocks in general (whether NYSE/AMEX-listed or not) grew too great. The situation was even worse for T2 stocks (with up to half OTC, some apparently not trading for months at a time), so collection of weekly T2 ranks stopped at the beginning of 1974. (The data-entry was also very difficult because ticker symbols were not used throughout the Value Line Investment Survey as they are today.) The start date of 19740104 happens to provide enough Nasdaq price history for 1-year Total Returns, 52-week closing highs, etc to be calculated with bit of lag, which made it a natural starting point for backtests in general, apart from the issues with Value Line stocks.

However, there's no reason the GTR1 database could not extend back to 1962 for NYSE/AMEX stocks, or to the beginning of 1926 for NYSE stocks only. This would almost certainly provide full coverage of Dow Jones Industrial Average components back to 1926. I believe the S&P 500 contained some OTC stocks prior to the Nasdaq exchange (it even contained a handful of OTC stocks well into the 1980s), and I would not assume that all of its NYSE-listed (especially the twenty smallest) components were liquid enough for timing-based weekly or even monthly trading at the index's inception in 1957. But it's worth looking into, assuming I can obtain S&P 500 membership lists back that far, which is not guaranteed. (Donations of data are always welcome.)


tpoto:
From finviz.com, I pulled down the lowest mkt cap stocks in the S&P500 with their performance and compared it to 3 common ETFs. I guess I would have been better off with the indexes.

If you had a crystal ball a year ago telling you what today's S&P 500 members would be, along with their market capitalizations, then buying the twenty companies that would finish the year the smallest would certainly be stupid. (Instead, you probably could have hired a skillful options trader to make you a billionaire by the end of the year based on that data.) Under-performing the other index constituents (without falling so fast they get dropped from the index) is partly how they got to be today's twenty smallest index members. So the dismal performance you see over the last year for today's S&P 500 dogs is to be expected.


FLARAM:
...I ran the screen on my SIP backtester...
Lowest 20 Market Cap in SP500:
Friday trade CAGR 11.9% GSD 38.3 MaxDD 69.1%, Turnover 14.4%,
6.33 X original investment accumulated
I do not get the 2008 large positive return. The return I see from
12/21/2007 to 12/19/2008 is -23.3%


Can you be more specific (i.e., provide a GTR1 URL) about the screen you're trying to compare to? URLs with quite a few different timing systems have been posted (some bordering on ridiculous with how over-tuned they are, IMO), but there's no question that the base screen without timing ( http://gtr1.backtest.org/2012/?h5::sp500.a:et1:mcp:gt0:mcp:b... ) is crap: This produces a CAGR/GSD of about 16/44 and maximum draw-downs of around 75% from your starting date in 1997. Total return over your "2008" period averages about -42%. I think something must be a bit wrong with your backtest if your weekly turnover is 14.4% (which is an annual turnover of about 7.5), because mine is only 4.5 with weekly holds (you don't mention a holding period), and that accounts for all rebalancing sales in addition to position-closing sales.

In the few variants of the screen that produced huge returns for 2008, I have done some spot-checking of daily total returns and haven't been able to find any errors. With exactly the right timing (assisted by hindsight), it was possible to have quite a few days in 2008 with returns in the 10% to 20% range, and avoid all of the days with 10% to 20% losses. In the cases of huge up days, I haven't found that they were the result of explosive returns for any particular stocks. Rather, these cases seem to illustrate a point often made by Zeelotes, which is that stock market rallies at (or even a bit before) market bottoms (which for me, I can clearly remember, was on November 20, 2008, followed by a 30+% rebound in a little over a week) are lead by junk.

However, if anyone wants to help me audit anything that still looks suspicious, send me a private email and I might be able to arrange for you to have access to certain subsets of the underlying data for that purpose.


TGMark:
In particular, in December 10, 1975, the #1 pick lost 99.99% of its value.

That number one pick was GAC (General Acceptance Corp). According to my primary source of daily data, it was delisted after the close on December 9, 1975 (with no further OTC trading) upon declaring bankruptcy. The company managed to continue existing in some form and re-emerged as a giant in the late 1990s (yay for central banking and crony capitalism!), so it's surprising that common stock shareholders never recovered any value after its 1975 bankruptcy. But if that's what my primary source of daily data indicates, I'm inclined to believe it.


tpoto:
What about the survivor bias problem?

It doesn't have any. Calling it a "backtester" if it had a survivorship bias problem would be like calling something a "raft" that had a sinking problem.


klouche:
The field expression for mcp:

    pref(product(sprc,csoq1d.s),product(cprc,cshoq1d.c),product(aprc,sho.a))

This formula works in these backtests, but it's a bit dangerous in general, because the first two preferred market capitalization values (from SI Pro and CPiT, respectively) are in millions of dollars, while the last is in dollars. The periods where the different sources are used (which is reported in the backtester's "Command Translation") do not overlap in these backtests, but it's possible that someone could add some fields to the screens that result in unit mismatching. I would therefore recommend using

    pref(product(sprc,csoq1d.s),product(cprc,cshoq1d.c),linear(0.000001,product(aprc,sho.a)))

in all backtests requiring market capitalization from 1974 to present, which consistently produces values in millions of dollars.

There are a few other subtleties about this formula to be aware of:

1. The share class of a company that is included in an index is not always the same class covered by a fundamental data source. For example, BRK-B is part of the S&P 500, but SI Pro only covers BRK-A. Therefore, the above formula produces a market capitalization of zero for Berkshire Hathaway's S&P 500 constituent during the period where SI Pro data is used (which is its entire time in the index). This means that backtests of the ETF proxy "gSPY" that I have been posting effectively exclude Berkshire Hathaway.

2. The field file sho.a, available only from the annual updates of my primary daily data source (meaning it currently ends on 20121231), gives security-specific shares outstanding. This means that for ADRs, it gives the number of depository receipts outstanding, not the number of underlying shares outstanding. Thus product(aprc,sho.a), which produces the market value in US dollars for just the depository receipts, vastly understates the full market capitalization of a foreign company with depository receipts, although it may be a more appropriate measurement for liquidity filtering and estimating friction due to lags in how quickly depository banks can respond to changes in demand. While product(aprc,sho.a) produces separate market values for both BRK-A and BRK-B, it understates the full company-wide market capitalization for Berkshire Hathaway, which is the sum of the market values of all its common stock classes (BRK-A and BRK-B).

3. There have been very few ADRs within the S&P 500 since 1974 (Royal Dutch Shell being a major exception), but because of (2), any that exist are almost guaranteed to pass the screens discussed in this thread during the period where market capitalization is calculated from sho.a (1974-1986). ADRs can always be excluded from bakctests over any period with the step styp.a != 30!31.

I plan on extending sho.a forward with daily updates at some point this year, which will allow me to use a consistent (even if less than ideal) definition of market capitalization for weighting and liquidity filtering over the entire length of backtests. This will result in BRK-B having some weight (though not Berkshire Hathaway's full weight) in gSPY.


ilmostro:
All these different sites and none agree exactly [on S&P 500 membership and market capitalization,] so who [are] you going to trust?

You can trust the GTR1 screener to give you all current S&P 500 members, which does not require a password: http://gtr1.backtest.org/2012/?sp500.a:et1 (Click "Run Screener"). sp500.a will occasionally be late in removing a stock, an error that is easy to spot because it means more than 500 stocks will be listed. If you ever get a list of more than 500 stocks, let me know and I can easily determine which stocks need to be removed (otherwise, they'll get removed automatically within a few days at the most). Determining just how sensitive a screen is to exact index membership is probably a worthwhile area of research for any screens you're serious about trading. (It could be important, because stocks that come and go from the index tend to be those at the bottom of the market capitalization pile, which is exactly what these screens pick.)

If you don't have a password for SI Pro screening, then Yahoo! Finance is probably good enough for market capitalization data for single-issue non-ADRs. You may want to spend a bit of extra time researching the market capitalizations of the rare ADR or multi-class issuers to ensure that you are calculating them in a manner consistent with backtests (which are currently inconsistent for the reasons described in my answer to the previous question). I've found bigcharts.com to be a pretty reliable source of security-specific shares outstanding data for multi-class issuers (and also for ETFs and CEFs, but not for ADRs). It is currently the only public internet resource I know of that gets the security-specific shares outsanding figures for both BRK-A and BRK-B correct at the same time. I do not know of any public resource that gives the correct number of depository receipts outstanding for ADRs (both Nasdaq and NYSE say they do on their websites, but admit in phone calls that they don't). For reasons that aren't completely clear to me, foreign companies apparently like to keep the size of their ADR floats as secret as they can (though they can't hide institutional ownership). If anyone has a source for this information, please let me know so that I can use it for daily updates of the GTR1 backtester.

As with the case of index membership, researching how sensitive your screen is to the type of market capitalization computation it uses is both easy and probably worthwhile.


klouche:
I think for 2008 SIPRO is the source of S&P500 membership data.

This is not the case. I use more reliable sources for the entire period from 1974 to the present, though SI Pro's S&P membership data is still available in the field file sp.s. See http://boards.fool.com/gtr1-database-update-11214-31063732.a... .


rgearyiii (as quoted by FLARAM):
I usually wait until mid-Monday to download the file, which is what the GTR1 backtester's SI Pro password is based on.

This information quoted by FLARAM is obsolete. In a more recent post (which isn't searchable), I stated that I had switched to always downloading the Saturday SI Pro installation file and basing the screening password on that, and not bothering with their Monday updates, which AAII assures us in their discussion forum "are not very substantial". But as someone else pointed out, there are now two accepted SI Pro screening passwords, one of them being the most recent weekly installation file's uppercase MD5 hash (which is platform-independent), and the other being the most recent month-end installation file's uppercase MD5 hash.

The weekly password will be updated sometime today (Saturday), along with the SI Pro field files themselves, while the monthly password will be updated whenever I remember to change it next week some time, after the final version of the 1/31/2014 installation file has been posted.

If you are having trouble with screening passwords, you can always email me for help.


elann:
[klouche] also programmed a -1 lag. Don't ask me why. Changing the lag to 0 makes almost no difference.

First of all, those settings aren't lags, they are Lag Adjustments. They get applied to whatever lags are specified in your field definitions. So klouche's Lag Adjustment settings of -1 cause the 1-day lags throughout his screening steps to get converted to zero-day lags. I recommend always paying very careful attention to the "Command Translation" section of the backtester's output, because it always tells you the exact end results of these lag adjustments (other critical information is also given there, such as the time periods over which different fields are chosen by the pref function). I also recommend always leaving the Lag Adjustment settings blank unless you know what you're doing. They exist for convenience in case you want to alter all lags in your screen without having to individually change the lag for every single field used by your screen. The Screener also uses this mechanism to decrement all lags in your screen by one market day so that you end up trading with the backtested lags in effect at the next day's close (if this can't be done because applying the lag adjustments would result in negative lags for some fields, then you get error messages describing what needs to be changed).

I think I know how the Lag Adjustments of -1 crept into klouche's backtests. In my screen constructing "gSPY", my proxy for SPY, I set both Lag Adjustments to -1. That is because gSPY uses weighting by market capitalization with daily rebalancing, and if there were any lag in the market capitalizations at the time of rebalancing, there would be continuous unnecessary whipsaw trading, as explained in http://boards.fool.com/gtr1-backtester-update-30886557.aspx under "Weighting Positions by Field Values". He probably started with the gSPY screen when he began exploring the screens in this thread.

Also beware that Price Lag Adjustment gets applied to the arguments of the field function month. (That seems kind of odd to me right now, but I may have had a good reason for it, so I'll leave it alone.) So "month(0)" is really "month(-1)", "month(5)" is really "month(4)", etc, throughout the backtests in this thread. If this is news to anyone, then the moral of the story is: Always read the Command Translation in detail.. It always indicates the final lags applied for all fields. And if you're still confused about the effects of Lag Adjustments, then you can observe them directly (at least for signal fields) by downloading daily signal values.


TGMark:
Recently, Robbie showed how to implement timing signals in GTR1 and in order to do daily checks of the signals, he used 1 days holds, but with conditions that resulted in stocks being held for a minimum period (of, say 20 days).

The method you're referring to (embedding timing conditions into the screening steps and setting the holding period to 1 market day for daily response) still works, but it is obsolete. More recently I described cashif, which allows for daily response to timing signals regardless of holding period: http://boards.fool.com/Message.asp?mid=31024744 (Again, this post is not currently searchable.)


FLARAM:
GTR1 results are with multiple overlapping daily start dates

The language I use is "daily-staggered trading cycles", or just "daily cycles" for short. I stopped using the phrases "daily start dates" and "all start dates" in 2007, when I modified the backtester so that all cycles (the number of which is equal to the holding period in market days) are initialized with Cycle 0's holdings on the first day of the backtest. Thus there is only one "starting date" in a GTR1 backtest. The cycles differ according to when they trade. After the portfolios for all cycles are initialized with the screen's picks on the first day of the backtest (the "starting date"), Cycle 1 makes its first trades on the day after the starting date, cycle 2 makes its first trades on the day after that, cycle 3 makes its first trades on the day after that, and so on, until it's time for Cycle 0 to trade again. The word "cycle" might not be perfect (I used the term "test run" when I began my backtesting career with the Sux data), but you can blame that on Keelix, who adopted the term "cycle" while working on a user interface for the GTR1 backtester before his life was taken over by legal harassment by Gregory Spear. (Now that's what I call a digression!)


Robbie Geary
Print the post Back To Top
No. of Recommendations: 4
Here's one a little more tradeable:

bottom 20 mcap, bottom 10 in 5 day return, 5 day hold, 10 stocks, no utilities (slight improvement), 0.2% slippage, annual turnover 21


http://gtr1.backtest.org/2012/?lf-1lp-1h5::sp500.a:et1:mcp:g...



Avg Min Max SD
CAGR: 36.01 33.14 38.67 2.07
TR: 2.6E+07 9.3E+06 4.7E+07 1.4E+07
GSD: 28.31 26.54 29.86 1.20
DD(20): 11.00 10.11 11.61 0.50
MDD: -56.4 -64.0 -46.4 6.3
UI(20): 6.3 4.7 7.6 1.0
Sharp: 1.06 1.01 1.17 0.06
Beta(: 0.72 0.68 0.78 0.03
TI(20): 40.86 37.55 44.35 2.60
AT: 21.7 21.6 21.8 0.1
Print the post Back To Top
No. of Recommendations: 3
I clicked on your link:
http://gtr1.backtest.org/2012/?lf-1lp-1h5::sp500.a:et1:mcp:g...

And changed the mcap formula to the one Robbie recommended earlier:
pref(product(sprc,csoq1d.s),product(cprc,cshoq1d.c),linear(0.000001,product(aprc,sho.a)))

http://gtr1.backtest.org/2012/?lf-1lp-1h5::sp500.a:et1:mcp:g...

got:
35.83
28.254
21.654

Pretty close.

So I eliminated the seasonal timing:
http://gtr1.backtest.org/2012/?lf-1lp-1h5::sp500.a:et1:mcp:g...

41.3806
41.9524
42.4851

10 day hold drops that 41 cagr to 29, 20 day hold drops the cagr to 22.
Add STS timing back to the 10 day hold and it gives a cagr of 31.
Add STS timing back to the 20 day hold and it gives a cagr of 28.

Bryan
Print the post Back To Top
No. of Recommendations: 1
Out of curiosity I listed the bottom 20 by mcap from VL. They list only 497 stocks and they have a blank mcap for all REITs and for BRK/B.

Listed from smallest to larger:
CLF
NFX
ATI
TE
IGT
JBL
R
X
WPX
RDC
BMS
PDCO
GME
LEG
DNB
TEG
CVC
PBCT
THC
WIN

I suspect that VL's mcap is updated only once per month, so it's not useful for any shorter holding periods.

Elan
Print the post Back To Top
No. of Recommendations: 2
I suspect that VL's mcap is updated only once per month, so it's not useful for any shorter holding periods.

Maybe or maybe not. Per VL

Intraday Updates
Intraday updates are available every 20 minutes during regular session trading hours (i.e., 9:30 a.m. to 4:00 p.m. EST.)

The spreadsheet data fields that are updated include:
- Stock price - Amount change in price - % Change in price - Volume – Intraday - Time of last trade - Current P/E - Market Capitalization - News Available - New 52-Week Low - New 52-Week High

gdm
Print the post Back To Top
No. of Recommendations: 3
Klouche- (or anyone)

Can you take your best attempt and for timing,
be in the market
only if the current SPY price is above its
6 month (or 8 month) moving average?

I have found that timing method to work pretty well for
sector selection- might be useful in the
small mkt. cap. selection concept.


Note- if you can't do a moving average-
SPY price now vs. SPY price 6 or 8 months ago price will do.

Thanks
Print the post Back To Top
No. of Recommendations: 3
Robbie,

Thanks for weighing in as we try to beat up the GTR1 backtester.

I think I know how the Lag Adjustments of -1 crept into klouche's backtests.

Yes, I use your examples as templates.

pref(product(sprc,csoq1d.s),product(cprc,cshoq1d.c),linear(0.000001,product(aprc,sho.a)))

I will use this going forward, though I don't use absolute dollar cap comparisons.

As for searching, I just type rgearyiii in the author box and find. All your relevant posts are on two pages of results.

One thing I find convenient is that I can use GTR1 while one airline flights on a tablet. It's a great way to kill time and GTR1 is a low bandwidth internet share as most of the work is on the server.

If nothing else, I'm finding a trip to Australia a little more attractive now.
Print the post Back To Top
No. of Recommendations: 0
Can you take your best attempt and for timing, be in the market only if the current SPY price is above its 6 month (or 8 month) moving average?

That would be using a signal screen in a binary interpretation for another screen. I've been meaning to explore this. Robbie lays it out in a recent post.

On the other hand, we're getting 1.1 Sharpe returns on a 40 year, large cap stock; backtest upthread. Not sure how much better it can get.
Print the post Back To Top
No. of Recommendations: 1
Is this an "AND" or an "OR" condition
in the GTR1 backtester?

if(ratio(A,B)<0.965,if(ratio(B,C)<0.965,1,0),0)

If it's "or", how do you change it to be an "AND"

(and vice versa).

-trying to get a little smarter on this tool!
Thanks
Print the post Back To Top
No. of Recommendations: 0
This (yours) is an "AND" (returns a 1 if both are true, else 0)

if(ratio(A,B)<0.965,if(ratio(B,C)<0.965,1,0),0)

To be an "OR" (returns a 1 if either are true, else 0)

if(ratio(A,B)<0.965,1,if(ratio(B,C)<0.965,1,0),0)
Print the post Back To Top
No. of Recommendations: 0
Is this an "AND" or an "OR" condition
in the GTR1 backtester?

if(ratio(A,B)<0.965,if(ratio(B,C)<0.965,1,0),0)

If it's "or", how do you change it to be an "AND"

(and vice versa).

-trying to get a little smarter on this tool!
Thanks


I believe it is neither. It's an IF statement with another embedded IF statement. The syntax of the IF is the same as in Excel.

Elan
Print the post Back To Top
No. of Recommendations: 1
klouche wrote:

To be an "OR" (returns a 1 if either are true, else 0)

if(ratio(A,B)<0.965,1,if(ratio(B,C)<0.965,1,0),0)



It seems to me that you have an extra argument (the last '0'). GTR1, however, seems to be more forgiving than XL and executes it anyway.
Print the post Back To Top
No. of Recommendations: 2
I think the -1 lag is giving a crystal ball boost here. Based on Robbie's recent email, I checked the translation and it backs up the SP500 membership lag to 0 instead of 1. I think that may be giving you an extra boost from companies being added to the SP500 immediately after your purchase.

At any rate, when I change the lag to 0 (or 1, 2, 3), The CAGR drops to 28 or so. Still amazing YieldEarnYear type returns for a simple screen with large companies and a 40 year backtest!
Print the post Back To Top
No. of Recommendations: 0
I think the -1 lag is giving a crystal ball boost here.

Thanks for the heads up.

The -1 lag was harmless until I put the tr(1,5) step in, in which it apparently is a crystal ball. Plus the 0.2% slippage was missing :(
Print the post Back To Top
No. of Recommendations: 8
BretBaughn:
I think the -1 lag is giving a crystal ball boost here. Based on Robbie's recent email, I checked the translation and it backs up the SP500 membership lag to 0 instead of 1. I think that may be giving you an extra boost from companies being added to the SP500 immediately after your purchase.

Kudos to the lurker for reading the "Command Translation" carefully and noting the lags that take effect when the backtest is run. Everyone should do this any time they click on a GTR1 link and run it or make modifications to any of the lag parameters in their own screens.

It's true that you do not want to end up with lags of 0 reported for field files containing vendor data, such as Value Line, SI Pro, CPiT etc field files, because that means the backtest is assuming that you are trading at the close based on data that was published later that evening.

However, field files indicating index membership, such as sp500.a, dji.a and nas100.a, are a bit different, because changes in membership are usually announced at least a week before they take place, so a final lag of 0 is harmless. If you are creating an ETF proxy that is supposed to track the index, then you want a lag of zero so that the portfolio reflects the index member changes for the first full market day that they are in effect.

Thus klouche's Field File Lag Adjustment of -1 does not create a crystal ball effect as far as S&P 500 membership is concerned. It does technically create a crystal ball effect for shares outstanding in the market capitalization formula, but it is probably insignificant. Regardless of whether there is any crystal ball effect, I would recommend leaving the box blank in case someone were to take links from this thread and add other field files from VL, Zacks, SI Pro etc where a net field file lag of zero would create a crystal ball effect.


klouche:
The -1 lag was harmless until I put the tr(1,5) step in, in which it apparently is a crystal ball.

Price lag is a totally separate issue from field file lag. It is not possible to create a crystal ball effect by setting Price Lag Adjustment to -1 or any other value. However, keep in mind that if the Command Translation reports a net lag of zero for a price-related field (like trp(0,5)), the backtest is assuming that you are ranking stocks with real-time quotes at the same instant (market close) you are trading, which might be a realistic enough assumption for traders with the right tools. Note that this does not describe someone who is using the GTR1 screener for picks and making trades the next day, in which case they would be better off making sure there are price lags of 1 market day throughout the Command Translation of their backtests.

Thus klouche's Price Lag Adjustment of -1 is also harmless, at least for those who are able to produce rankings in real-time while they are trading. However, for the purpose of sharing URLs on the MI board, I'd recommend leaving the Price Lag Adjustment blank, even though it may reduce returns, just so no one ends up with unrealistic expectations.

Note that Price Lag Adjustment applies to the field function month, so when you change it, you are also changing your seasonal timing system slightly. (As always, this is indicated in the Command Translation.)


Screen Switching with picktally

I've been wondering if instead of going to cash from May to October, there are screens that could be switched to during these months with better results (I'm not a fan of cash). There are many ways to implement screen switching, but using the field function picktally is probably the easiest. This next backtest switches between buying the smallest 60 S&P 500 stocks during November to April and buying all of Value Line's Safety Rank 1 stocks (which tend to be very liquid large caps) from May through October:

19860106 to 20140131
Avg Min Max SD

CAGR: 22.05 21.24 23.23 0.51
TR: 26409.63 21807.07 34403.12 3150.73
GSD(20): 22.83 22.00 23.81 0.47
DD(20): 12.68 12.00 13.78 0.48
MDD: -51.21 -58.21 -44.75 4.63
UI(20): 6.61 5.63 7.62 0.53
Sharpe(20): 0.88 0.84 0.93 0.03
Beta(20): 1.07 1.01 1.11 0.03
TI(20): 17.44 16.59 19.14 0.70
AT: 2.77 2.75 2.79 0.01
http://gtr1.backtest.org/2012/?ifet%28month%280%29,5!6!7!8!9...

This backtest selects an average of 82 stocks (60 during the more favorable months, and about 100 during the riskier months). It looks like it could be a good set of stocks for further screening.

Or you can use that as a template for testing other switching strategies. The URL for the screen during the risky months (May through October) goes in Screen Reference slot 0 and the URL for the screen during the safer months (November through May) goes in Screen Reference slot 1.

Note that with my default holding period of 20 market days, stocks bought in April from Screen 1 are held for some of May (depending on trading cycle), even though the screen has switched to making new purchases from screen 0. Likewise, stocks bought in October from Screen 0 are held for some of November (depending on the trading cycle), even though the screen has switched to making new purchases from screen 1.

Robbie Geary
Print the post Back To Top
No. of Recommendations: 0
Thus klouche's Price Lag Adjustment of -1 is also harmless, at least for those who are able to produce rankings in real-time while they are trading. However, for the purpose of sharing URLs on the MI board, I'd recommend leaving the Price Lag Adjustment blank, even though it may reduce returns, just so no one ends up with unrealistic expectations.

Agreed.

I actually attempted to trade like this about 10 years ago, noticing the bounceback effect the next day. However, quickly ran into liquidity problems and abandoned the effort. You become a very busy person, 15:30 EST. Results depend more on trade execution skill, rather than back test set-up.
Print the post Back To Top
No. of Recommendations: 1
As someone upthread posted, this beats Dow Dogs. Drop the lowest two market cap stocks in the Dow, then hold the next 10 for 5 days. Sharpe 0.84 and UI 4 (using STS), low turnover.


Avg Min Max SD
CAGR: 17.3 16.9 17.5 0.3
TR: 58K
GSD: 14.8 14.4 15.2 0.4
DD(20): 7.0 6.7 7.5 0.3
MDD: (41.9) (50.4) (35.2) 5.5
UI(20): 4.0 3.6 4.8 0.4
Sharpe: 0.84 0.80 0.88 0.03
Beta: 0.5 0.5 0.5 0.0
TI(20): 25.6 24.4 26.5 0.7
AT: 2.2 2.2 2.2 0.0


http://gtr1.backtest.org/2012/?h5f0.2000g1.1::dji.a:et1:mcp:...
Print the post Back To Top
No. of Recommendations: 0
Hi,

This message isn't about the subject line, rather it is about the deltaneutral options data which apparently has stopped daily updating on 20190520.

Is there a problem or am I simply missing something?

Many Thanks!
Print the post Back To Top
No. of Recommendations: 0
The original thread on this refers to a strategy of buying the 20 bottom companies of the SP500 by equity market cap. The thread is from 2014. An update on the results would be interesting to see.

However, I do not see anything in that thread about a delta neutral options strategy or calculations for that. Perhaps that is another interesting strategy that I do not recall. Is there another post or thread that develops the delta neutral idea?
Print the post Back To Top
No. of Recommendations: 1
The screens can be run by changing 2012 to 2013:

change
https://gtr1.net/2012/...
to
https://gtr1.net/2013/...

OP screen had a 5.4 CAGR from 20140129 to 20191022
https://gtr1.net/2013/?s20140129lf-1lp-1h1f0.20000::sp500.a:...

For comparison, SP500 equal weight had a CAGR of 10 over that time frame.

Mega cap stocks did well over the last five years. 5-Year cagr:
Vanguard Mega Cap ETF (MGC) 11.47
SPDR S&P 500 ETF (SPY) 11.18
Invesco S&P 500® Equal Weight ETF (RSP) 9.44

But there are other versions in this thread. Maybe one of them did better.
Print the post Back To Top
No. of Recommendations: 1
This is a weekly short term mean reversion screen. I believe you have to run with current prices and buy just before the close (if I’m interpreting it correctly). Very high turnover and high return.
Try this and skip the first selection for much higher results.
http://gtr1.net/2013/?lf-1lp-1h5f0.20000::sp500.a:et1:mcp:gt...

RAM
Print the post Back To Top
No. of Recommendations: 0
borisnand,

Thanks for the help.
Print the post Back To Top
No. of Recommendations: 0
FLARAM,
Thanks for the help.
Start dates do make a difference for analysis.
Print the post Back To Top
No. of Recommendations: 1
This is a weekly short term mean reversion screen. I believe you have to run with current prices and buy just before the close (if I’m interpreting it correctly). Very high turnover and high return.
Try this and skip the first selection for much higher results.
http://gtr1.net/2013/?lf-1lp-1h5f0.20000::sp500.a:et1:mcp:gt......

RAM


For the screen with tr(1,5), I thought it was buying at the next day close? Or is the lag changing the tr calculation?

If you change to screen to buy at the open, the results go from very positive to very negative.

Craig
Print the post Back To Top
No. of Recommendations: 2
<This is a weekly short term mean reversion screen. I believe you have to run with current prices and buy just before the close (if I’m interpreting it correctly). Very high turnover and high return.
Try this and skip the first selection for much higher results.
http://gtr1.net/2013/?lf-1lp-1h5f0.20000::sp500.a:et1:mcp:gt...


If this screen is run from 19991231 to present the output is CAGR 1.87% and negative
from 2014 to now. Checking the detailed version 0 seems to show many years are low or negative, with a few returning huge amounts. I certainly couldn't use such an erratic screen.

rrjjgg
Print the post Back To Top
No. of Recommendations: 1
I hope no new visitors to this board don’t take a screen like this seriously.
Charley: Start dates do make a difference for analysis
That’s for sure! This is for adrenaline junkies only.
Rrjjgg: I certainly couldn't use such an erratic screen.
Neither would I!
In all seriousness though short-term trades based on a combination of either over or under reaction
which results in a mean reversion combined with a lagging response to events can work. Finding
a similar system doing daily consistently profitable trades is what got me hooked on MI. This screen
picks very liquid stocks which can be traded with little slippage, and an unusually large short term drop.
But those alone are not enough.

RAM
Print the post Back To Top