PureBytes Links
Trading Reference Links
|
Aaron Schindler wrote:
> While I have the continuous, back-adjusted futures in data1, I have
> the continuous, UN-adjusted futures in data2. My trade size is
> always 100000/closeD(1) of data2 contracts. This will give you fewer
> contracts when the index level (and margin requirements) were very
> high and more contracts lately.
This is basically Stridsman's approach, since he recommends
percent-based stops and (I think) position sizing.
For stops I've always felt that volatility-based approaches made
more sense than %-based. Consider that the ND's price range in
late 2000 was the same as in 9/99 or so, so Stridsman would have
you use the same stops. But the average daily range was 3x
higher! You definitely couldn't use the same stops in 12/00 that
you used in 9/99, because the market was moving a lot faster and
farther.
You can use this same type of volatility approach for position
sizing, and it doesn't require a second data series. Just
calculate the daily ATR of your series like this:
vars: ATRlen(50), Ndays(0), Factor(0), ATR(0), HH(0), LL(0);
if Date>Date[1] then begin
NDays = NDays + 1;
Factor = 2 / (MinList(ATRlen, NDays) + 1);
ATR = Factor * (HH-LL) + (1-Factor) * ATR;
HH=0; LL=999999;
end;
HH = MaxList(HH, H);
LL = MinList(LL, L);
This code uses a "rapid spin-up" EMA so it starts producing
sensible results pretty quickly, even if you use a long ATRlen.
It will be a bit noisy at the start until it settles.
Then calculate your position size as
if ATR <> 0 then cnts = int(1000 / ATR);
or something similar.
I just tried comparing ATR-sizing vs. fixed-position sizing
(100000 / Close, like Aaron suggested) in one of my systems over
the last 7 years. The stats were very similar, with ATR-sizing
doing slightly better. The equity curve seemed straighter too.
Gary
|