StockFetcher Forums · Filter Exchange · HOW TO DESIGN A SYSTEM (NOT JUST A FILTER)<< 1 ... 39 40 41 42 43 >>Post Follow-up
35 posts
msg #118776
Ignore frsrblch
3/26/2014 12:15:50 PM

Usually when I get massive returns on a backtest, I've made an error somewhere in my Excel calculations, but if the SF backtest is spitting out these results, I would say this warrants further study. How did this broader filter perform over more recent periods, and how does it compare to the S&P500-only version of the filter?

3 posts
msg #118785
Ignore Kegger
3/26/2014 10:11:20 PM

So let me start with the baseline filter results, adding in the missing "S&P 500" line to select only s&p 500 stocks. Here are the numbers for the last 12 years, in 2 year increments. Each 2 years starts over with 100K initial balance. It was a little easier than trying to compound the results and it lended for some nice comparisons as well. These are my results for the original filter:

Period Ending Value
2002-2004 216,879
2004-2006 137,264
2006-2008 120,913
2008-2010 158,622
2010-2012 142,129
2012-2014 172,025

Then, I removed the "S&P 500" entry criteria and tested again:
Period Ending Value
2002-2004 721,957
2004-2006 233,169
2006-2008 467,942
2008-2010 209,871
2010-2012 2,538,315
2012-2014 630,692

Yeah, thats ridiculous. 100K to 2.5M in 2 years. haha fat chance. I dug into that item a little deeper and noticed that most of the stocks were penny stocks, which not only would be insane to trade at that volume it probably wouldn't even be feasible. So I added a limit to the entry criteria of the next test of "price above 1":

Period Ending Value
2002-2004 686,574
2004-2006 275,781
2006-2008 229,521
2008-2010 195,050
2010-2012 481,360
2012-2014 265,701

Still pretty insane, and thinking too good to be true. Deeper dive showed a lot of OTC stocks, which I can't trade with my account anyway normally. So I'll filter those out next by adding "market is not otcbb" to the entry filter:

Period Ending Value
2002-2004 662,977
2004-2006 175,977
2006-2008 291,727
2008-2010 113,527
2010-2012 186,958
2012-2014 253,748

So now its looking like something that might actually be tradeable for me. Except when I check my account I notice that I get charged more per trade depending on volume. So normally I get charged 5.95/trade, but if I trade 1500 shares it goes up to 8.95, and if I try to trade like 4000 shares now I'm paying $20/trade. Is that normal? Anyway, its what I have to work with. I could test that by breaking up into sections by price but now I've tripled or quadrupled my testing effort. So I take the cowards way out and just limit the low end to stocks above $5 with "price above 5 and market is not otcbb":

Period Ending Value
2002-2004 247,581
2004-2006 168,242
2006-2008 189,716
2008-2010 106,933
2010-2012 126,807
2012-2014 186,189

So now I'm back to something I could put into real use. Comparing to the original filter results, I see that this version does better in good years but worse in bad years. I suppose I should compound the results to verify, but I suspect this new version does perform better overall. So where does that leave me? I guess the underlying assumption that pair trading has to be correlated to the index is still mostly valid, but maybe it doesn't really matter which index is used. I should try the same with a different index and see what happens. Anyway, thanks for the great initial post on this, it really got me thinking in different directions and I feel like I'm a better trader for it.

268 posts
msg #118835
Ignore novacane32000
3/28/2014 8:23:13 PM

Drawdowns are the first thing I look at when backtesting. Doesnt matter if you are making 40% a yr for 10 yrs straight,if you have a 50% drawdown in just one of those yrs that is enough to scare me off. Could you stomach losing half your acct?

Trade for modest and consistent profits and protect your hard earned money. Trying to get rich off trading will make you poor.

2,025 posts
msg #118836
Ignore alf44
3/28/2014 10:42:28 PM


"Trade for modest and consistent profits and protect your hard earned money. Trying to get rich off trading will make you poor."


Well said !

That should be written on a post-it ... and stuck on your forehead every morning !!!


26 posts
msg #121002
Ignore jemarcks
7/10/2014 4:48:44 PM


EDIT: My post was somehow eaten so here it is again.

Thanks for this system Kevin! Great work!
I am paper trading this system to see how it works on out of sample data for a while.

I had a question... when the entry filter returns several stocks with a zscore of -3.87, how do you know which stock to pick?


1 posts
msg #121056
Ignore petersst
7/19/2014 4:49:07 PM

Ciao Kevin!

Is there an updated final filter for SF? The filter in the email trail back to 2011 seems to change with enhancements and when I run it, it does not return any stocks.

Thanks in advance for posting the latest and greatest on the filter.



5 posts
msg #121374
Ignore Caspian101
8/22/2014 3:30:17 PM

This is an excellent filter, thanks.

26 posts
msg #121489
Ignore jemarcks
9/11/2014 3:36:43 PM

I have been tinkering with this Zscore system that Kevin published (Thanks Kevin!!) for a week or so using Stratasearch for back testing and wanted to share some results.
First I wanted to reproduce Kevin's results and was able to do that. I used the same evaluation period, and same filter as posted on the first page of this thread.
Then I added an additional entry filter to limit stocks to those > $1 per share and the MA(20) of its volume * close >= 200000 to find the stock that are liquid enough. This didnt change Kevins results much at all but here they are as the baseline. This is from the variable equity report using monthly Sharpe Ratio. Multiply by 3.46 to get annual.

PortSize AvgAnnReturn ZS RRRatio SharpeRatio ZS
1 295.94 % 2.7289 0.2882
2 199.84 % 3.2404 0.3302
3 218.03 % 4.8694 0.3707
4 180.24 % 6.2112 0.3937
5 192.43 % 8.9181 0.4474
6 186.79 % 13.01 0.4959
7 159.63 % 13.1717 0.4986
8 130.22 % 13.4424 0.4945
9 105.56 % 11.5657 0.4922
10 86.32 %8.9019 0.4649

Next I was thinking about the ranking function to select stocks. Kevins system uses ZScore ascending which picks the stocks with the lowest zscore first which seems reasonable. (ZScore(@zdays))
Next I tried Price Rate of Change (proc) to rank the stocks selected and reran the combinations of days from 10 to 30.
The results were better with PROC than ZScore as the ranking function. This seems to make sense because zscore tells us how far from the mean we have dipped and PROC tells us the rate of change of the dip and we have captured more profit from the stocks dipping the hardest.

PortSize AvgAnnReturn ZSROC RRRatio SharpeRatio ZSROC
1 111.69 % 1.8519 0.254
2 214.83 % 4.0376 0.3315
3 208.65 % 5.5788 0.3975
4 225.13 % 8.0273 0.4319
5 230.02 % 10.0068 0.4676
6 272.08 % 16.5115 0.5205
7 201.74 % 16.1121 0.5165
8 147.99 % 14.1959 0.5126
9 120.93 % 10.967 0.4948
10 104.78 % 10.392 0.4954

The max drawdown for both systems was about 11.5% Percent in market stayed about 58%.

I would be happy to post the detailed performance charts if someone will explain how its done.
Thanks and I welcome your feedback on this excellent system.

Also, is anyone still trading this system or some variant? Im curious how it has been working. If you found a more profitable system than this one, I would be all ears!

153 posts
msg #121493
Ignore tennisplayer2
9/12/2014 12:12:25 AM

How will the filter look like with Price rate of change (PROC) in it? Thanks.

26 posts
msg #121494
Ignore jemarcks
9/12/2014 9:47:40 AM

When backtesting, in the selection criteria you would use roc(16,1) ascending.

StockFetcher Forums · Filter Exchange · HOW TO DESIGN A SYSTEM (NOT JUST A FILTER)<< 1 ... 39 40 41 42 43 >>Post Follow-up

*** Disclaimer *** does not endorse or suggest any of the securities which are returned in any of the searches or filters. They are provided purely for informational and research purposes. does not recommend particular securities., Vestyl Software, L.L.C. and involved content providers shall not be liable for any errors or delays in the content, or for any actions taken based on the content.

Copyright 2016 - Vestyl Software L.L.C.Terms of Service | License | Questions or comments? Contact Us
EOD Data sources: DDFPlus & CSI Data Quotes delayed during active market hours. Delay times are at least 15 mins for NASDAQ, 20 mins for NYSE and Amex. Delayed intraday data provided by DDFPlus