Does your Parkinson volatility ratio work as Taleb explained?

According to Dynamic Hedging: Managing Vanilla and Exotic Options (Taleb, 1997), the Parkison volatility estimator has several meaningful properties. It is defined

$$P=\sqrt{\frac{1}{n}\sum_{i=1}^{n}\frac{1}{4\log\left(2\right)}\left(\log\left(\frac{S_{H,i}}{S_{L,i}}\right)\right)^{2}}$$

where $$S_{H}$$ and $$S_{L}$$ are the «close-to-close registered high and the registered low respectively in any particular time frame». From Taleb:

An important use of the Parkinson number is the assessment of the distribution of prices during the day as well as a better understanding of market dynamics. Comparing the Parkinson number and the periodically sampled volatility helps traders understand the mean reversion in the market as well as the distribution of stop-losses. Some clear rules can be derived from that information. Comparing the Parkinson number $$P$$ with the definition of periodically sampled historical volatility gives this result:

$$P=1.67\sigma'$$

Such measurement cannot be used to compare close-to-close volatility with intraday high/low. It can compare 24-hour high/low to data sampled every day at the same time. For markets, like most equities, which trade during the day only, it is better to use open-to-close volatility.

Whats $$\sigma'$$? It's defined as the noncentered volatility estimator:

$$\sigma'=\sqrt{\frac{1}{n}\sum_{t=1}^{n}x_{t}^{2}}$$

So Taleb suggests to set $$x_{t}=\log\left(C_{t}\right)-\log\left(O_{t}\right)$$ from a typical OHLC time series and then plot the ratio $$z_{t}=P_{t}/\sigma'_{t}$$: when $$z_{t}>1.67$$ we're in a mean reverting market, trending elsewhere. A figure shows that the Parkinson number ratio to the volatility is «strikingly convincing» because there seems to be a clear bias in favor of a wider high/low range than assumed by random walk when applying the ratio to U.S. Treasury bond futures from Aug-1992 to May-1995: The problem arises when trying to reproduce such results. I downloaded many time series from Bloomberg, but everytime it seems that $$P_{t}<1.67\sigma'_{t}$$. Moreover, I picked even the same time series over the same period and my calculatiosn are really different: $$1.67$$ seems a cap rather than a floor. So I'm going to share my R snippet to see what's wrong with my code. ohlc is the OHLC time series and I've loaded quantmod and magrittr packages. Then:

parkinson.vol <- TTR::volatility(OHLC = ohlc,
n = 20,
calc = 'parkinson')
taleb.vol <- OpCl(ohlc) ^ 2 %>%
runMean(n = 20) %>%
sqrt() * sqrt(260)
parkinson.ratio <- parkinson.vol / taleb.vol

Furthermore, Taleb says that:

Additional testing by the author shows the bias to be permanent in close to the 20 markets surveyed.

Are you able to reproduce Taleb's results?

• One thing is definetely wrong in your calculation because by definition one has $|H-L|>|C-O|$ so term by term the parkinson vol must be higher than non-centered vol. If the ration is calculated correctly then it must have 1 as lower bound at least but it seems you get lower than 1. Do i read your plots correctly ? – Ezy Jan 30 at 17:36
• Yes, you do. But I can't get what's wrong with my code. Parkinson volatility is calculated with a trusted R package. My volatility estimator seems quite straightforward. Do you get different results with any time series? We can make some trials... – Lisa Ann Jan 31 at 8:23