Garman Klass Vol
Quick Reference
| Property | Value |
|---|---|
| Dimension | signal |
| Category | volatility |
| Version | v0.9.0 (Beta) |
| Output Column | gk_vol |
Garman-Klass volatility: sqrt(0.5ln(H/L)^2 - (2ln2-1)*ln(C/O)^2) from bar OHLC
Formula
sqrt(clip(((log((high / low)) * log((high / low))) - (log((close / open)) * log((close / open)))), 0.0))
CDM Inputs
| Column | CDM Table | Description |
|---|---|---|
open | cdm_* | CDM source table |
high | cdm_* | CDM source table |
low | cdm_* | CDM source table |
close | cdm_* | CDM source table |
Parameters
This FeatureType has no configurable parameters.
Output
Column: gk_vol
Garman-Klass volatility estimate
Market Intuition & Trading Rationale
Garman-Klass volatility is an OHLC-based volatility estimator that uses the full bar information (open, high, low, close) rather than just close-to-close returns. It's approximately 7.4× more efficient than close-to-close volatility — it achieves the same precision with far fewer observations. The formula weights the overnight gap (open vs previous close) and intraday range (high-low) separately, making it robust to gap openings.
Usage Cases
- Efficient volatility estimation: Use GK vol when OHLC data is available. It provides more stable estimates than realized_volatility for the same window size, or equivalent estimates with shorter windows.
- Bar-level volatility comparison: Compare GK vol across bars. Higher GK vol bars indicate periods of increased intra-bar price dispersion — useful for identifying volatile trading sessions.
- Complement to realized_vol: GK vol uses intra-bar information while realized_vol uses close-to-close. Comparing the two reveals whether most volatility occurs within bars (GK > realized) or between bars (realized > GK).
YAML Definition
name: garman_klass_vol
description: 'Garman-Klass volatility: sqrt(0.5*ln(H/L)^2 - (2*ln2-1)*ln(C/O)^2) from
bar OHLC'
category: volatility
version: v0.9.0 (Beta)
dimension: signal
status: Pre-release
required_inputs:
- open
- high
- low
- close
output_column: gk_vol
output_description: Garman-Klass volatility estimate
parameters: {}
formula: sqrt(clip(((log((high / low)) * log((high / low))) - (log((close / open))
* log((close / open)))), 0.0))