Concept
Yang-Zhang Estimator
Yang-Zhang Estimator is a Volatility concept. The Library holds 1 implementations, each one a working definition you can pull into Quant.
open/close + overnight decomposition
Top Yang-Zhang Estimator indicators
1 total
What is the Yang-Zhang Estimator?
The Yang-Zhang estimator is a realized-volatility estimator for OHLC bars, published by Dennis Yang and Qiang Zhang in 2000. It decomposes variance into three parts: an overnight component from close-to-open log returns, an open-to-close component, and the Rogers-Satchell range term built from each bar's high, low, open, and close. Summing them with a variance-minimizing weight fixes the two classic blind spots of range-based estimation at once: unlike the Parkinson and Garman-Klass estimators it accounts for opening gaps, and the Rogers-Satchell term keeps it unbiased when price drifts (trends) across the window.
Those properties make it a common default when a single realized-volatility number must come from daily bars. Because it uses the full bar rather than closes alone, it reaches a given level of statistical stability from fewer bars than close-to-close historical volatility, which matters when the lookback has to stay short. It remains a sample statistic: it describes the window it was computed over, inherits any bad opening or high/low prints in the data, and is not a forecast.
How to calculate the Yang-Zhang Estimator
The estimate combines three variance components over an n-bar window; all returns are log returns.
- 1Build two return series per bar: the overnight return, log of the open divided by the prior close, and the open-to-close return, log of the close divided by the same bar's open.
- 2Take the ordinary sample variance of each series across the window (deviations from each series' own mean), giving the overnight variance and the open-to-close variance.
- 3Compute the Rogers-Satchell variance over the same window from each bar's high, low, open, and close; this is the drift-independent range component.
- 4Combine as overnight variance plus k times open-to-close variance plus (1 minus k) times Rogers-Satchell variance, where k = 0.34 / (1.34 + (n+1)/(n-1)) as derived in the original paper. Annualize by scaling the per-bar variance by bars per year, then take the square root.
How traders use it
- As the volatility input for anything scaled by realized vol: position sizing, stop distances, and band widths built on close-to-close volatility can swap in Yang-Zhang for a steadier estimate from the same data, with the biggest gains on instruments that gap overnight.
- As the engine for short-window regime work: because each bar contributes more information, shorter lookbacks become statistically usable, which sharpens multi-window comparisons and volatility percentile ranks.
- As a realized benchmark against implied volatility: comparing an efficient realized estimate to option-implied levels is a standard way to frame whether volatility is being priced rich or cheap, with no guarantee either side converges on schedule.
Related concepts · Volatility estimators
Concept family
Volatility
56 concepts mapped · 43 in the Library
Yang-Zhang Estimator FAQ
How is the Yang-Zhang estimator different from Garman-Klass?
Garman-Klass also uses open, high, low, and close, but it assumes no opening jump and zero drift, so overnight gaps and strong trends bias it. Yang-Zhang adds an explicit overnight variance term and swaps the drift-sensitive part for the Rogers-Satchell term, making it robust to both. On a 24-hour market with no gaps, the two behave far more alike.
Is the Yang-Zhang estimator always better than close-to-close volatility?
It is more statistically efficient under its assumptions, meaning less sampling noise per bar, but not automatically better. It depends on clean open, high, and low prints, so thin opening auctions or bad extremes distort it. Close-to-close volatility needs only closing prices, which is why it remains the standard reference despite being noisier.
Build Yang-Zhang Estimator your way.
Quant writes, tests, and refines it with you — then it runs on LuxAlgo charting or ports to TradingView.
