abaquant.derivatives.calibration.sabr¶
Import path: abaquant.derivatives.calibration.sabr
Domain: Derivative pricing, simulation, calibration, diagnostics, and strategy analysis.
Purpose¶
SABR smile calibration.
When to use it¶
This module fits model parameters to observations. Inspect convergence status, residual scale, bounds, weighting, and data provenance before treating fitted parameters as stable estimates.
Public objects¶
function:
calibrate_sabr— Calibrate SABR smile parameters with beta fixed.
Detailed reference¶
SABR smile calibration.
Purpose¶
The module fits SABR alpha, rho, and nu parameters with beta held fixed to a supplied implied-volatility smile.
Conventions¶
Forward and strikes share units; maturity is in years; all volatilities are decimal annual quantities.
References
[ 1 ] Hagan, P. S., D. Kumar, A. S. Lesniewski, and D. E. Woodward (2002), “Managing Smile Risk”.
- abaquant.derivatives.calibration.sabr.calibrate_sabr(forward, maturity, strikes, market_ivs, *, beta, initial_alpha=0.2, initial_rho=-0.3, initial_nu=0.4, tol=1e-8, max_iter=500)¶
Calibrate SABR smile parameters with beta fixed.
- Parameters:
forward (float) – Forward price or rate in the same units as the relevant strike.
maturity (float) – Time to option expiry in years.
strikes (np.ndarray) – Strike-price grid in the same currency units as the underlying or forward.
market_ivs (np.ndarray) – Observed market implied volatilities, expressed as annualized decimals.
beta (float) – Model-specific beta parameter; consult the module convention.
initial_alpha (float, default=0.2) – Initial calibration guess for SABR alpha.
initial_rho (float, default=-0.3) – Initial calibration guess for SABR rho.
initial_nu (float, default=0.4) – Initial calibration guess for SABR nu.
tol (float, default=1e-08) – Numerical convergence tolerance.
max_iter (int, default=500) – Maximum numerical-optimizer or root-finder iterations.
- Returns:
Named outputs of the calibrate sabr calculation.
- Return type:
dict[str, float]
Notes
Model inputs are interpreted according to the module-level rate, maturity, and volatility conventions. Numerical outputs depend on the validity of those assumptions.