StockFetcher Forums · Public Filter List · The Boyd Hunt Method<< >>Post Follow-up
BoydHunt
1 posts
msg #132630
Ignore BoydHunt
11/18/2016 7:59:52 PM

The Perfect Speculator by Brad Koteshwar is a relatively unknown classic in speculation. There is a fictional character, Boyd Hunt, who was a master trader and he made a lot of money from the market. In the book, he said he only consider stocks of the following criteria:

1. The stock must have made an all-time high, not just 52-week high.
2. It must have made at least 20% in 4 weeks since the last breakout to the all-time high.
3. The price cannot fall back to the previous breakout level.
4. The 52-week high must be at least twice of the 52-week low.

Here is my attempt to implement it in StockFetcher

Fetcher[set{A001, Days(high reached a new 250 day high, 250)}
set{B001, close divided by Donchian Upper Band(250,1)}
set{B002, Days(B001 above 1.05, 250)}
set{B003, B002 + 1}
set{B004, VarOffset(Donchian Upper Band(250,0), b003)}
set{C001, low divided by b004}
set{C002, Days(C001 below 1, 250)}
set{D001, Donchian Upper Band(250,0) divided by b004}
set{D002, B002 minus A001}
set{D003, C002 minus B002}
set{E001, Low divided by Donchian Center Band(250,0)}
set{E002, Donchian Upper Band(250,0) divided by Donchian Lower Band(250,0)}
set{E003, Donchian Upper Band(250,0) divided by Donchian Upper Band(250,250)}
D001 > 1.2
D002 < 25
D002 > 0
D003 > 0
E001 > 1
E002 > 2
E003 > 1
Do not draw D001
Do not draw D002
Do not draw D003
Do not draw E001
Do not draw E002
Do not draw E003
chart-time 1 year
]



seykota2017
2 posts
msg #132815
Ignore seykota2017
modified
11/26/2016 11:08:54 PM

I think your filter is too tight. I relaxed it a bit and find more winners.

Fetcher[set{A001, Donchian Upper Band(250,0) divided by Donchian Upper Band(250,25)}
set{A002, Days(A001 above 1.9,250)}
set{B002, Days(close crossed above Donchian Upper Band(250,5), 250)}
set{B003, B002 + 1}
set{B004, VarOffset(Donchian Upper Band(250,0), b003)}
set{C001, low divided by b004}
set{C002, Days(C001 below 1, 250)}
set{D002, B002 minus A002}
set{D003, C002 minus B002}
set{E001, Low divided by Donchian Center Band(250,0)}
set{E002, Donchian Upper Band(250,0) divided by Donchian Lower Band(250,0)}
set{E003, Donchian Upper Band(250,0) divided by Donchian Upper Band(250,250)}
set{E004, Close / Donchian Upper Band(250,0)}
D002 > 0
D003 > 0
E001 > 1
E002 > 2
E003 > 1
E004 > 0.75
Do not draw D002
Do not draw D003
Do not draw E001
Do not draw E002
Do not draw E003
Do not draw E004
chart-time 1 year
]


In this following version, I added an additional fundamental filter:
Fetcher[set{A001, Donchian Upper Band(250,0) divided by Donchian Upper Band(250,25)}
set{A002, Days(A001 above 1.9,250)}
set{B002, Days(close crossed above Donchian Upper Band(250,5), 250)}
set{B003, B002 + 1}
set{B004, VarOffset(Donchian Upper Band(250,0), b003)}
set{C001, low divided by b004}
set{C002, Days(C001 below 1, 250)}
set{D002, B002 minus A002}
set{D003, C002 minus B002}
set{E001, Low divided by Donchian Center Band(250,0)}
set{E002, Donchian Upper Band(250,0) divided by Donchian Lower Band(250,0)}
set{E003, Donchian Upper Band(250,0) divided by Donchian Upper Band(250,250)}
set{E004, Close / Donchian Upper Band(250,0)}
set{F001, EPS * 4}
set{F002, close / F001}
D002 > 0
D003 > 0
E001 > 1
E002 > 2
E003 > 1
E004 > 0.75
Do not draw D002
Do not draw D003
Do not draw E001
Do not draw E002
Do not draw E003
Do not draw E004
chart-time 1 year
F002 > 0
F002 < 50
]



davidricardo2017
4 posts
msg #133017
Ignore davidricardo2017
modified
12/2/2016 7:30:58 PM

I think you both are making it more complicated than it should. It is better to write a simple filter to avoid filtering out good stocks. Here is my take:

Fetcher[close gained more than 100% in last 200 days
close 500 day high gained more than 20% in last 100 days
close crossed above Donchian Upper Band(20,5)
ROC(1,1) reached a new 10 day high
Volume reached a new 5 day high
market not OTCBB
chart-time 2 year
do not draw close 500 day high
do not draw close 20 day low
do not draw Donchian Upper Band(20,5)
do not draw ROC(1,1)
do not draw ROC(1,1) 2 week high
do not draw volume 1 week high
draw MA(50)
draw MA(200)
]



peterbrandt2017
1 posts
msg #133095
Ignore peterbrandt2017
12/7/2016 9:07:08 AM

Try this:

Fetcher[set{Var_A, close 500 day high divided by close 500 day high 20 days ago}
set{Var_B, days(Var_A crossed above 1.2,100)}
set{Var_D, VarOffset(close 500 day high 21 days ago,Var_B)}
set{Var_E, count(close below Var_D,100)}
set{Var_F, VarOffset(close 500 day high,Var_B)}
market not OTCBB
close 500 day high divided by close 500 day low above 2
close divided by close 500 day high above 0.7
Var_B above 0
Var_E above Var_B
Var_F divided by close 500 day high above 0.8
do not draw close 500 day high divided by close 500 day low
do not draw close divided by close 500 day high
do not draw Var_B
do not draw Var_E
do not draw Var_F divided by close 500 day high
draw MA(50)
draw MA(200)
chart-time 2 year
]



StockFetcher Forums · Public Filter List · The Boyd Hunt Method<< >>Post Follow-up

*** Disclaimer *** StockFetcher.com 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. StockFetcher.com does not recommend particular securities. StockFetcher.com, 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