Skip to main content

HAR-RV Volatility

Heterogeneous AutoRegressive Realized Volatility — cheap, strong intraday/daily vol baseline


Overview

  • Model ID: har-rv-volatility
  • Framework: statsmodels (OLS)
  • Best for: Fast realized-volatility forecasting with long-memory structure
  • GPU required: No (CPU-only)
  • Specialist: forecasting

HAR-RV regresses realized volatility on its daily (1), weekly (5) and monthly (22) components. It captures the long-memory of volatility better than a single-lag model at almost no cost — an excellent baseline alongside GARCH.


When to Use

Perfect for:

  • Intraday/daily realized-volatility forecasting
  • A cheap, robust vol baseline to benchmark GARCH against

Not ideal for:

  • Directional/price forecasting
  • Very short series (needs at least monthly-lag + ~30 points)

Quick Start

job = client.training.create(
model="har-rv-volatility",
dataset_id=dataset.id,
hyperparameters={"target_column": "ret", "input_kind": "returns", "horizon": 10},
)
job.wait()

Dataset Format

Either a returns column (input_kind="returns", RV proxy = returns²) or an already-computed realized-vol column (input_kind="rv"):

ds,ret
2022-01-01,-0.0034
2022-01-02,0.0012
...

Requirements:lag_m + 30 observations (default ≥ 52).


Hyperparameters

ParameterDefaultDescription
lag_d1Daily RV lag
lag_w5Weekly RV window
lag_m22Monthly RV window
horizon10Forecast horizon (steps)
input_kind"returns"returns (RV=returns²) or rv (column is already realized vol)
target_column""Returns/RV column (empty = auto-detect)
date_column""Timestamp column (empty = auto-detect)

Inference

result = client.endpoints.infer(endpoint_id=ep, input_data={"horizon": 5})
# {"model_type": "har-rv", "horizon": 5, "forecasts": [0.00019, 0.00020, ...]}

The forecast is recursive (each step feeds the next). Provide a recent RV/returns series in values to forecast from your own history, or omit it to use the stored training tail.