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


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:


Then Taleb adds:

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:


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?

  • 1
    $\begingroup$ 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 ? $\endgroup$
    – Ezy
    Jan 30, 2019 at 17:36
  • $\begingroup$ 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... $\endgroup$
    – Lisa Ann
    Jan 31, 2019 at 8:23
  • $\begingroup$ Why do you multiply by sqrt(260) in your code? Is this the 1.67 your multiplying to σ′ ? So then you get P/(σ′ * 1.67) by substituting sqrt(260) = 1.6 for this number? Why not just * by 1.67 if that's the case? $\endgroup$ Aug 21, 2021 at 22:25

1 Answer 1


I believe that Taleb made a mistake in his book.

Several days ago I met the same question, and I came to read the original article of Parkinson(1980). After doing some simple math, I was aware that the 1.66( the sqrt of 4log2) was already counted in the Parkinson Number Formula. As a result, I believe that the theoretical ratio of Parkinson number to close-to-close volatility should be 1, instead of 1.66( but in another situation, if the 1/4log2 was not involved in Parkinson Number Formula, namely the std var of log(H/L), the ratio should be 1.66 and I believe that Taleb mistakenly mixed them up.)

All in all, Parkinson Number wants to tell us: if you replace close and open prices with high and low prices to calculate volatility, then that vol value would be 1.66 times of true vol in ideal markets.

Turkey Sui


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.