The Rough Bergomi Model
Rough Bergomi (rBergomi) is a non-Markovian stochastic-volatility model built to reproduce the steep short-maturity implied-volatility skews observed in equity indices. Instead of making spot variance a Markov diffusion, it models the forward variance curve as a lognormal functional of a rough Gaussian Volterra process. The roughness parameter controls local regularity of volatility paths.
The model’s main appeal is structural: a small Hurst parameter H, commonly below one half, yields an at-the-money skew with the observed exploding short-time scaling. Its main operational challenge is equally structural: the natural state is a curve, simulation has a singular kernel, and calibration can be noisy.
Model definition
Under a risk-neutral measure, a standard formulation is:
dS_t / S_t = sqrt(v_t) dZ_t
v_t = xi_0(t) exp(eta W_t^H - 0.5 eta^2 t^(2H))
W_t^H = integral_0^t sqrt(2H) (t-s)^(H-1/2) dW_s
d<Z,W>_t = rho dt
xi0(t) is the initial forward variance curve, eta is vol-of-vol, rho is spot/vol correlation, and H is the roughness exponent. The compensating term in log variance ensures E[vt]=xi_0(t); leaving it out changes the entire variance term structure.
| Input | Primary role | Calibration evidence |
|---|---|---|
xi_0(t) | ATM total variance | cleaned ATM surface |
H | short-time skew exponent | several short expiries |
eta | smile curvature | wing curvature |
rho | skew sign and level | put/call asymmetry |
The model is not simply “Heston with lower H.” Its Volterra driver depends on the entire Brownian history. A finite-dimensional state emerges only after an approximation.
Initial forward variance is not a scalar
For a continuously sampled variance swap, the approximate relation is:
T * K_var(T) ≈ integral_0^T xi_0(u) du
In practice infer an arbitrage-consistent total-variance surface from liquid option quotes, then differentiate a smoothed curve with care. Finite differences of noisy variance-swap proxies can produce negative forward variance. Use constrained splines, interval averages, and a clear convention for rates, dividends, and discrete dividends.
def log_variance_driver(volterra, eta, time, hurst):
return eta * volterra - 0.5 * eta**2 * time ** (2 * hurst)
The code expresses only the compensator. It does not construct volterra, which requires a quadrature consistent with the singular kernel.
Simulating the rough driver
Directly summing every historical Brownian increment costs roughly quadratic work in time steps per path. A hybrid scheme handles the kernel singularity near zero accurately; FFT convolution accelerates regular-grid simulations; multi-factor Markovian lifts approximate the kernel by a sum of exponentials.
| Scheme | Strength | Principal risk |
|---|---|---|
| Direct convolution | easiest reference | expensive, near-zero bias |
| Hybrid scheme | accurate local behavior | careful derivation required |
| FFT convolution | efficient long grids | wraparound and grid artifacts |
| Markovian lift | finite-dimensional risk state | kernel approximation error |
Generate correlated Brownian increments from independent normals, construct W^H, then use a log-Euler or conditional scheme for the spot. The spot discretization must preserve the conditional martingale as closely as possible. Monitor mean(S_T) against the forward for every relevant grid, not only the price convergence.
Calibration under Monte Carlo noise
Vanilla rBergomi prices usually require simulation, so an optimizer sees noisy objectives. Common remedies include common random numbers across parameter trials, quasi-random paths, control variates, and a staged calibration: first initialize xi_0, then fit (H, eta, rho) to a carefully chosen quote set. Reusing random streams makes local differences more informative; it does not remove discretization bias.
| Diagnostic | Warning sign |
|---|---|
| price standard error | comparable to bid-ask |
| parameter reruns | materially different optima |
| finer grid | systematic smile shift |
| held-out quotes | persistent wing error |
| hedge P&L | worse despite lower RMSE |
The short-end often drives H, but it is also where stale quotes, event risk, and bid-ask width are largest. A low fitted H can be compensating for unmodeled scheduled jumps rather than revealing a stable roughness property.
Hedging and approximations
rBergomi supplies a dynamic surface model, not a direct trading signal. A hedge comparison should freeze the information set at rebalance, use executable marks, and attribute delta, vega, parameter-recalibration, and transaction-cost P&L. Compare to Heston stochastic volatility and to the broader rough volatility models framework on the same data.
Markovian lifts are often the practical production choice. Fit the power-law kernel over the maturities that matter, not over an arbitrary enormous range. A lift that prices one-month options accurately may be inadequate for one-year exotics or risk sensitivities.
Key takeaways
- rBergomi models forward variance with a lognormal rough Volterra driver.
- The forward variance curve, kernel discretization, and martingale check are core inputs.
- Hybrid, FFT, and multi-factor simulations trade accuracy against speed differently.
- Monte Carlo calibration needs noise controls and held-out hedge evidence.
- A superior short-dated fit is valuable only if risk and turnover improve.
