Is there a way to obtain the historical volatility of a stock from the bloomberg API? I would be looking for the data in the HVT table. Actually 3-months historical volatility from now would be enough.

I know there are functions to get the implied volatility for options (using IVOL_LAST_RT for example) but that is not what I am looking for.

I could also just get the day opening and closing ticks from the terminal and then calculate the historical volatility, but I am trying to avoid this step.

Thanks Honza

  • 3
    $\begingroup$ For example, for 90D vol, VOLATILITY_90D (you also have 10D, 30D, 120D, 260D, 360D etc) or INTERVAL_VOLATILITY with overrides for specific periods. $\endgroup$
    – assylias
    Feb 5, 2016 at 18:38
  • 1
    $\begingroup$ Hi, thank you, this works indeed, you should change this from a comment to an answer. Is this documented somewhere? I have looked at the Bloomberg API developer's guide and unless I went over too quickly these values are missing. $\endgroup$
    – hoonzis
    Feb 7, 2016 at 9:51
  • $\begingroup$ you can also use stuff like CL 3M 50D VOL BVOL Comdty (for CL, for example) as a ticker and then just get PX_LAST to access points on the vol surface as if they're underlying. $\endgroup$
    – will
    Jan 7, 2018 at 15:13
  • $\begingroup$ I have also tried VOLATILITY_90D to get the VOLATILITY. However, I found that I cannot get the VOLATILITY of some Stocks,such as 330 HK, 3800 HK. Could anyone help me to solve it? Thank you very much $\endgroup$
    – Henry Suen
    Sep 27, 2020 at 13:58

1 Answer 1


This is very late but it seems lots of people looked at this question. In general, for simple questions like this, asking the help desk (F1F1) should be best. They respond within a minute or 2 usually, and you should expect someone to guide you to these VOL fields in less than 30 minutes for sure.

I checked 330 HK as well as 3800HK and both have data available on HVT and the API matches. For example, =BDH("3800 HK Equity","VOLATILITY_90D", "20200505","20200927","sort=d") gives enter image description here

which is identical to HVT enter image description here

You have a choice of several models in the overrides (click on the name of the override to see details). The models itself are explained in the white paper on HVT. It is not computed with opening and closing ticks as the question suggests but purely with the history of closing prices. Sticking to the 3800 HK example, and teh default model, this is quick to replicate. You fetch the price history (just what HP shows) with =BDH("3800 HK Equity","PX_LAST", "20200505","20200927","sort=d"), compute the log return via $=LN(P_t/P_{t-1}$), calculate the sample standard deviation over the desired period (excel function STDEV.S - for 90 days, you need to use J1-J89 in the screenshot below) and multiple the result by the square root of the annualization factor (260 by default).
enter image description here

That is it, apart for a rule that Bloomberg uses to not display values if a certain number of data points is missing for the calculation (I think >90% is required).


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.