[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Buying 52-week highs?



PureBytes Links

Trading Reference Links

Brian,

Here's a real opportunity for the power of Metastock to be shown.  For me, an opinion would be a
starting point, at best.  The rest of it, I'd have to prove to myself.  I hope you take my reply
in that same spirit....

> ----- Original Message -----
> From: "Brian Gaddis" <bngaddis@xxxxxxxxxxxxxx>
> To: <metastock@xxxxxxxxxxxxx>
> Sent: Saturday, June 02, 2001 11:16 AM
> Subject: Buying 52-week highs?
> 
> 
> > Interested in opinions on buying stocks at 52-week highs.
> > Some writings encourage this kind of "buy strength"
> > strategy. What do you think of this philosophy?
> >
> > If you agree that it is profitable, what do you look
> > for when you open a chart of a stock trading at its
> > 52-week high?
> >
> > What kinds of indicators, patterns, etc. do you
> > use for confirmation that the trend really has legs
> > and is likely to continue? Exit strategies?
> >
> >
> > Thanks,
> > Brian
> >
> 

And as you point out, the buying part is only the beginning--how long do you hold it, or what king
of exit strategies do you use?

I offer this response as an example of how someone might use Metastock to answer some of these
questions.

I took as a starting point the Dow30 stocks on an end-of-day basis.  I tested the strategy of
buying when the close broke the high of the last 240 days (or 1 year).  This was mostly an entry
test.  I looked at holding periods of 1 week, 2 weeks, and 4 weeks.

METASTOCK INDICATOR to be used in EXPLORATION for PORTFOLIO SYSTEM TEST:

Name:  _52WkHigh
TimeTrade:=5;
BuySig5:=CLOSE=HHV(C,240);
ExitSig5:=BarsSince(BuySig5)>TimeTrade;
POSN5:=If(BarsSince(BuySig5)<=BarsSince(ExitSig5),1,0);
EQTY5:=Cum(Ref(POSN5,-1)*(CLOSE-Ref(CLOSE,-1)));
EQTY5;
ExitSig10:=BarsSince(BuySig5)>2*TimeTrade;
POSN10:=If(BarsSince(BuySig5)<=BarsSince(ExitSig10),1,0);
EQTY10:=Cum(Ref(POSN10,-1)*(CLOSE-Ref(CLOSE,-1)));
EQTY10;
ExitSig20:=BarsSince(BuySig5)>2*2*TimeTrade;
POSN20:=If(BarsSince(BuySig5)<=BarsSince(ExitSig20),1,0);
EQTY20:=Cum(Ref(POSN20,-1)*(CLOSE-Ref(CLOSE,-1)));
EQTY20;

Exploration with DOW 30 selected as Securities to test:

COL A:  1 Week
FmlVar("_52WkHigh","EQTY5");

COL B:  2 Weeks
FmlVar("_52WkHigh","EQTY10");

COL A:  4 Weeks
FmlVar("_52WkHigh","EQTY20");

Copy your results to Excel, and figure your equity on a "Points Only" basis.  (An implicit
assumption is made that one has the capital or leverage to purchase every signal on the DOW 30
during this period.)

I first ran this "Systems Test over a Portfolio" on the full history to today's date.  For my
database that's starting in about 1990 or as early as the ticker has been traded.

A 1 week hold loses about 38 points.  A 2 week holding period is good for a 29.6 point gain, and a
4 week holding period is worth an 81 point gain.

So far so good, it looks like it takes some days for this trade to work.  Now I looked back at
just the most recent two years to see how that responds.  (In the Explorer under Options... just
limit the number of bars loaded for the Exploration).

In the last two years, the 1, 2, and 4 week holds would have returned -59, -86.6, and -123.4
points per share respectively.  Obviously, this is not working like it used to.

So instead, I ran the Exploration for a date back in 1996--hopefully, when this was still working.
 I looked back three years in running the Exploration.  (When Editing the actual Exploration,
select options and specify the starting date, then before running the exploration, select Options
from that dialogue box, and limit the number of bars to load to be three years.

In this case, a 1, 2, 4 week hold resulted in a 1.8, 38.0, and 87.4 point per share gain
respectively.

All of this somewhat suggests that as an entry, the 52 week breakout doesn't work as effectively
now as it did five years ago.  But, it is a very limited analysis--at least on the DOW30.

This makes a good starting point.  From here, you could build an exit strategy to replace
"TimeTrade" in the coding above, something like a Chandelier Exit or some other trailing stop. 
Test that out over different time periods on a portfolio.  

See how other portfolios act over time as well.  This may still work on lower-CAP stocks like the
Russell2000.

You might use the breakout of the close as a SIGNAL only.  Build it into an Alert() function, and
use some confirming price action, such as a close above the high of the signal bar, as your
TRIGGER to enter.

In the case of the DOW stocks, you might experiment with the index:INDU and take a trade only when
it's momentum is positive--implying that all of the other 29 stocks are moving upwards with your
stock that is breaking out.  This might make a good prediction for the "legs" that your trend will
have.

These are just some ideas and suggestions.  There are lots of alternatives worth looking at in
building a system that will work for this.  As you asked for, mine is one of many "opinions" and
there are probably as many opinions as ways that you could make a breakout system work or fail. 
You may find some setups that work very well for you and are suited to your style of trading,
where others have written this approach off as being a failure or having limited profit potential.
 


Dave Nadeau
Fort Collins, CO

__________________________________________________
Do You Yahoo!?
Get personalized email addresses from Yahoo! Mail - only $35 
a year!  http://personal.mail.yahoo.com/