Some Thoughts on Variance of True Range

Discussions about the testing and simulation of mechanical trading systems using historical data and other methods. Trading Blox Customers should post Trading Blox specific questions in the Customer Support forum.
Post Reply
temp
Contributing Member
Contributing Member
Posts: 8
Joined: Tue Apr 24, 2007 11:53 pm
Location: Boulder CO

Some Thoughts on Variance of True Range

Post by temp »

I have been noodling around with volatility channel trading ideas for a while. I like the concept because it is, to a degree, self-tuning - as volatility increases so do the price channels, giving price more "room" to counter-trend without exiting prematurely.

One of the difficulties I encountered was that the true range (TR) sometimes gets noisy without changing the average true range (ATR). This is easy to illustrate with a thought experiment: if TR alternates between 1 and 2, ATR settles to approx 1.5; if TR alternates between 1.4 and 1.6, ATR will still be 1.5; same again with 1.49 and 1.51. So clearly, ATR is not capturing certain characteristics of volatility.

So I came up with the following:

Calculate TR and ATR as usual with filter factor f = 2/(n+1), where n is the filter period (as discussed elsewhere, not everyone calculates ATR the same way).

Then calculate an error-squared term for TR at each time period t:

ErrSq(t) = (ATR(t) - TR(t))^2

Then smooth the error squared term:

AErrSq(t) = f x ErrSq(t) + (1-f) x AErrSq(t-1)

Then calculate the smoothed error term:

AErr(t) = SQRT(AErrSq(t))

So now we have some measure that can be used to separate noise from signal not only as a function of TR but as a function of the noise of TR. Now we can test a system using a volatility channel width as a function of TR AND AErr. In this way, a position in an asset with more noise in the TR would have a wider stop, smaller position size, etc as compared to a position in an asset with the SAME TR, but less noise (i.e. smaller AErr).

I was thinking that instead of using, say n x ATR for the channel width with a fixed value for n, n could be a function of AErr or AErr/TR.

Has anyone travelled down this path?

Can this be implemented in TB?
sluggo
Roundtable Knight
Roundtable Knight
Posts: 2987
Joined: Fri Jun 11, 2004 2:50 pm

Post by sluggo »

Yes, Cynthia Kase does much the same thing in her (book). In effect it is measuring the volatility of the volatility, since ATR and standard deviation are two ways of quantifying volatility. She advocates placing trading levels (stops, etc) at the "mean" (in your example, the ATR), plus one standard deviation. She calls the idea Dev-Stop.
temp
Contributing Member
Contributing Member
Posts: 8
Joined: Tue Apr 24, 2007 11:53 pm
Location: Boulder CO

Post by temp »

Sluggo,

I have added Kase's book to my reading list, thanks for the reco.
Roger Rines
Roundtable Knight
Roundtable Knight
Posts: 2038
Joined: Wed Oct 06, 2004 10:52 am
Location: San Marcos, CA

Post by Roger Rines »

Hello Eventhorizon,
I've played with a similar concept of using volatility to adjust "n" for while now and haven't found the sweet spot I think is available.

While my approach wasn't as complex as what you show, I don't see anything in your outline that can't be handled in Trading Blox.

If you would like to kick this around a little, ping me with the "PM" button below, or use the email address below my name, and we can chat about how to make this work and publish the results if your open to that result.
Honeycomb
Full Member
Full Member
Posts: 16
Joined: Fri Apr 13, 2007 2:03 pm
Location: Portland, OR

Post by Honeycomb »

Whoo, thanks for this thread. I had to sketch out the bars to make it really 'click'. My very simplistic idea for "volatility adjusted volatility" was to apply your favorite volatility measure (SD, ATR,etc) to a chart of the TR, then take the value of that measure, weight it and multiply by ATR.

example- VaATR=ATR•(1+(.2•ATR of TR)
If the symbols above look funky, they're 'multiply' symbols in the sexy, mysterious world of Macs. :lol:

Can't wait to test this out!
Post Reply