On the contrary, you show amazingly close
agreement, especially since you scale up using calendar days rather than
trading days: The difference is less than 1.9 %, what is insignificant for
volatility data. The difference can be the result of different data source or
interpretation.
1. You have too microscopic a view of
volatility. Volatility is only useful as a general direction indicator.
2. The best one can hope for is to
detect a general trend and for certain stocks at certain times an increase in
volatility suggesting that the price bottom might be near. It doesn’t
work nearly as well for peaks. However, sometimes the increase in volatility
coincides with a peak or the price bottom or a trading range coincides with a
low in volatility.
3. Forex on occasion works well in determining
bottoms and occasionally peaks. However, just when you think you nailed it goes
out of whack again.
4. In general you get best results by
using small volatility periods (10 or less) rather than the 30 and more periods
often used.
5. The best use is when comparing volatilities
of two stocks or financial instruments.
6. You should normalize the volatility
with the sqr. root of (N2/N1) where N1 and N2 are trading days not calendar
days.
7. Below some comparisons between
calendar and trading day Volatilities.
Title = EncodeColor(4)+ _DEFAULT_NAME()+";
"+EncodeColor(1) + StrFormat("{{NAME}} -
{{INTERVAL}}; {{DATE}}; O=%g, H=%g, L=%g, C=%g (%.1f%%)
{{VALUES}}", O, H, L, C,
SelectedValue( ROC( C, 1 ) ) );
HistVolPer=Param("HistVolPer",10,2,100,1);
HistVol= StDev(log(C/Ref(C,-1)),HistVolPer)*sqrt(365);
Plot(HistVol,"Hist.Volatility("+WriteVal(HistVolPer,1.0)+"),
calendar days",1,5);//calendar days
HistVol2= StDev(log(C/Ref(C,-1)),HistVolPer)*sqrt(252);
Plot(HistVol2,"Hist.Volatility("+WriteVal(HistVolPer,1.0)+"), trading
days",colorGreen,5);// trading days
Plot(C,"C",1,32768|64);
From:
amibroker@xxxxxxxxxxxxxxx [mailto:amibroker@xxxxxxxxxxxxxxx] On Behalf Of Potato
Soup
Sent: Friday, November 13, 2009 9:27 PM
To: amibroker@xxxxxxxxxxxxxxx
Subject: [amibroker] Trying to plot historical volatility with AFL
I'm
trying to plot the 30 day historical volatility of the S&P 500, using the
following AFL on a daily chart with around 2 years of end of day prices for the
S&P 500:
Plot(StDev(Close, 30),"Historical Volatility", colorOrange,styleLine);
However when I look at the values, they appear to be a bit off to what I see
when I look online here:
http://www.ivolatility.com/options.j?ticker=SPX:CBOE&R=1&period=12&chart=2&vct=
For today they have 18.99, where as my chart shows 19.348. All my other values
going back further don't match their chart either. Any ideas, are they
calculating it differently than just a simple standard deviation?
No virus
found in this incoming message.
Checked by AVG - www.avg.com
Version: 8.5.425 / Virus Database: 270.14.63/2500 - Release Date: 11/13/09
07:54:00
__._,_.___
**** IMPORTANT PLEASE READ ****
This group is for the discussion between users only.
This is *NOT* technical support channel.
TO GET TECHNICAL SUPPORT send an e-mail directly to
SUPPORT {at} amibroker.com
TO SUBMIT SUGGESTIONS please use FEEDBACK CENTER at
http://www.amibroker.com/feedback/
(submissions sent via other channels won't be considered)
For NEW RELEASE ANNOUNCEMENTS and other news always check DEVLOG:
http://www.amibroker.com/devlog/
__,_._,___