Skip to content
    Finance / SABR (Hagan et al. 2002) stochastic-volatility implied-vol smile

    SABR Model Calculator — Swaption Volatility Smile

    Compute the SABR implied-volatility smile and swaption prices from alpha, beta, rho and nu using the Hagan et al. (2002) asymptotic formula, with the ATM limit.

    ToolCalculatorExecutionIn browserCategoryFinancial
    ZORVLABS · SABR SWAPTION

    Stochastic Alpha Beta Rho Swaption Matrix

    SABR forward-measure dynamics with Hagan's asymptotic Black implied-vol formula, backbone, smile/skew, and 2D / 3D views.
    Numerical Integrity
    asymptotic SABR
    Hagan et al. Eq. (2.17) / (2.18) style implementation.
    ATM vol
    0.103971
    σATM from Hagan eq. 2.18
    Call price
    0.002767
    Black price × annuity
    Put price
    0.002767
    Parity-consistent
    z / x(z)
    0.000000
    Smile distortion factor
    Backbone
    0.099846
    σATM at T→0
    Skew slope
    -2.19801243
    Finite-difference dσ/dK
    Vol-of-vol λ
    107.858371
    ν / (α F^{1−β})
    Delta / Vega
    0.518531 / 0.152378
    Black sensitivity
    View mode
    3D surface
    Forward F0
    Annuity / PV01
    ATM strike
    Maturity T (years)
    Alpha
    Beta
    Rho
    Nu (vol-of-vol)
    Smile min strike factor
    Smile max strike factor
    Surface strike min factor
    Surface strike max factor
    Surface maturity max
    Surface strike resolution
    Surface maturity resolution
    ATM / Backbone
    0.103971 / 0.099846
    ATM vs T→0 backbone
    Smile curvature
    436.85674548
    Second derivative proxy
    z factor
    0.000000
    ν/α · (FK)^(1−β)/2 · ln(F/K)
    x(z)
    1.000000
    Hagan transform
    Core SABR SDE: dF_t = α_t F_t^β dW_1, dα_t = ν α_t dW_2, dW_1 dW_2 = ρ dt.
    Black vol asymptotic: σ_B = α / (F K)^((1−β)/2) · (z/x(z)) · [1 + O(T)].
    2D volatility smile
    Three forward levels; values are Black implied vols from the SABR asymptotic formula
    Smile: implied vol vs strikeStrike KBlack implied vol0.0190.0250.0300.0350.0400.0450.0940.1090.1250.1400.1550.171F × 0.90F × 1.00F × 1.10
    2D backbone and term structure
    ATM volatility backbone across maturities
    Backbone: σATM(T)Maturity TATM Black vol0.0502.0404.0306.0208.01010.0000.1000.1020.1030.1050.1060.108ATM backbone
    2D swaption price curve
    Black price × annuity at selected maturity
    Call price vs strikeStrike KSwaption price0.0190.0250.0300.0350.0400.0450.0000.0030.0050.0070.0100.012Call price
    2D ATM smiles at shifted maturities
    Smile evolution over time, same forward
    Smile family by maturityStrike KBlack implied vol0.0190.0250.0300.0350.0400.0450.0960.1100.1240.1380.1520.167T × 0.50T × 1.00T × 1.50
    3D SABR surface
    Implied volatility surface
    3D implied volatility surface σB(K,T)StrikeMaturityVolsurface grid48 × 64 cells · max Vol = 0.194473
    Source equations
    Hagan, Kumar, Lesniewski & Woodward (2002)
    Dynamics: dF_t = α_t F_t^β dW_1, dα_t = ν α_t dW_2, dW_1 dW_2 = ρ dt.
    Lognormal implied vol: σ_B = α/(FK)^((1−β)/2) · (z/x(z)) · [1 + ((1−β)^2 α^2)/(24(FK)^(1−β)) + (ρβνα)/(4(FK)^((1−β)/2)) + (2−3ρ²)ν²/24]T.
    Transform: z = (ν/α)(FK)^((1−β)/2) ln(F/K), x(z)=ln((√(1−2ρz+z²)+z−ρ)/(1−ρ)).
    ATM limit: σ_ATM = α/F^(1−β) · [1 + ((1−β)^2 α²)/(24 F^(2−2β)) + (ρβνα)/(4F^(1−β)) + (2−3ρ²)ν²/24]T.
    finance methodology

    A clear path from inputs to results.

    Build a swaption volatility smile from the four SABR parameters that desks actually quote. SABR (stochastic alpha-beta-rho) gives a closed-form asymptotic for the Black implied volatility at every strike, so you can take a forward swap rate and a calibration and read off the lognormal volatility and swaption price across the strike grid. Enter the forward, the annuity (PV01), maturity, and alpha, beta, rho, and nu, and the matrix returns the at-the-money volatility, the full smile, and prices.

    Step-by-step methodWorked exampleAssumptions explained

    How to use

    1. Set the forward swap rate and the maturity (option expiry) in years for the swaption you are quoting.
    2. Enter the annuity, or PV01, of the underlying swap; this is the present value of a basis point that scales the Black price into a cash premium.
    3. Set the strike (or strike grid center); at the money the strike equals the forward.
    4. Enter the SABR parameters: alpha (the overall volatility level), beta (the backbone exponent, 0 for normal and 1 for lognormal dynamics, 0.5 here), rho (the forward/volatility correlation that tilts the smile), and nu (the volatility-of-volatility that curves it).
    5. Read the at-the-money implied volatility from Hagan eq. 2.18 and the full smile from eq. 2.17 across the strike range.
    6. Read the swaption price, computed with the Black formula using the SABR volatility at each strike and discounted by the annuity.

    The formula

    σB(K,F)=α(FK)(1−β)/2[1+(1−β)224ln⁡2 ⁣FK+(1−β)41920ln⁡4 ⁣FK]⋅zx(z)⋅{1+[(1−β)224α2(FK)1−β+ρβνα4(FK)(1−β)/2+2−3ρ224ν2]T},z=να(FK)(1−β)/2ln⁡FK,x(z)=ln⁡1−2ρz+z2+z−ρ1−ρ\sigma_B(K,F) = \frac{\alpha}{(FK)^{(1-\beta)/2}\left[1 + \frac{(1-\beta)^2}{24}\ln^2\!\frac{F}{K} + \frac{(1-\beta)^4}{1920}\ln^4\!\frac{F}{K}\right]}\cdot\frac{z}{x(z)}\cdot\left\{1 + \left[\frac{(1-\beta)^2}{24}\frac{\alpha^2}{(FK)^{1-\beta}} + \frac{\rho\beta\nu\alpha}{4(FK)^{(1-\beta)/2}} + \frac{2-3\rho^2}{24}\nu^2\right]T\right\}, \quad z = \frac{\nu}{\alpha}(FK)^{(1-\beta)/2}\ln\frac{F}{K}, \quad x(z) = \ln\frac{\sqrt{1-2\rho z + z^2} + z - \rho}{1-\rho}

    Reference: Hagan, Kumar, Lesniewski & Woodward (2002), "Managing Smile Risk", Wilmott Magazine, eqs. (2.17a-2.17c) for the implied-volatility smile and (2.18) for the at-the-money limit.

    Worked example

    Five-year at-the-money payer swaption

    Inputs
    • Forward swap rate 3.25% (0.0325), annuity/PV01 0.92, strike 3.25% (at the money), maturity 5 years; SABR parameters alpha = 0.018, beta = 0.5, rho = -0.25, nu = 0.35.
    Calculation path
    1. 1

      At the money, ln(F/K) = 0 so z/x(z) -> 1 and the smile formula reduces to the eq. 2.18 limit sigma_ATM = alpha/F^{1-beta} * {1 + [ ((1-beta)^2/24)(alpha^2/F^{2-2beta}) + (rho*beta*nu*alpha)/(4*F^{1-beta}) + ((2-3*rho^2)/24)*nu^2 ] * T}. The base alpha/F^{0.5} = 0.018/sqrt(0.0325) = 0.099846. The bracket is (0.25/24)(0.000324/0.0325) + (-0.25*0.5*0.35*0.018)/(4*0.180278) + (1.8125/24)(0.1225) = 0.0001039 - 0.0010921 + 0.0092519 = 0.0082637, times T = 5 gives a 4.132% uplift, so sigma_ATM = 0.099846 * 1.041319 = 0.103971. Pricing the payer with Black at that volatility, annuityPV01*(F*N(d1) - K*N(d2)) with F = K, gives 0.002767.

    Result

    At-the-money lognormal (Black) implied volatility 10.397%; at-the-money payer swaption price 0.002767 per unit notional, or 27.67 basis points. The eq. 2.17 smile value at the forward matches the eq. 2.18 limit to the printed digits, as it must.

    Interpreting the result

    The SABR output is a Black implied volatility, not a price: you feed sigma_B(K,F) into the Black swaption formula and discount by the annuity to get the premium. Alpha sets the overall height of the smile, beta fixes the backbone (how the at-the-money volatility moves as the forward moves), rho tilts the smile so that one wing is higher than the other, and nu controls the curvature or how fast volatility rises away from the money. Because the formula is an asymptotic expansion, it is accurate near the money and for moderate maturities but can misbehave at very low strikes, which is where practitioners switch to the normal or shifted-SABR variants.

    Assumptions & limitations

    • The implied volatility is the Hagan et al. (2002) asymptotic expansion, accurate near the money and for moderate maturities; it loses accuracy at extreme strikes and long expiries and can produce arbitrage in the far wings.
    • Prices use the lognormal Black model with the SABR volatility, so the forward is assumed positive; near-zero or negative rates need the normal or shifted-lognormal version, which this lognormal form does not apply.
    • The annuity (PV01) is supplied as a single number; the full discount-curve and swap-schedule construction behind it is not modeled here.
    • The four SABR parameters are taken as given, not calibrated to a set of market quotes within the tool.
    • Beta is treated as an input rather than being inferred, since beta and rho are partly interchangeable in fitting the smile and beta is usually fixed by convention.

    Frequently asked questions

    What do the four SABR parameters mean?

    Alpha is the current volatility level and sets the height of the smile. Beta is the backbone exponent that fixes how the at-the-money volatility moves when the forward moves: beta = 0 is normal (absolute) dynamics, beta = 1 is lognormal, and 0.5 is a common middle choice for rates. Rho is the correlation between the forward and its volatility and tilts the smile, while nu is the volatility-of-volatility that controls its curvature.

    What is the annuity or PV01 for?

    A swaption pays off on a swap, so its value scales with the present value of that swap's fixed-leg basis point, called the annuity or PV01. The Black formula gives a price per unit annuity, and multiplying by the annuity (0.92 in the example) converts it into an actual premium. A larger annuity, from a longer or higher-notional swap, means a proportionally larger swaption premium.

    When does the SABR approximation break down?

    It is an asymptotic expansion, so it is sharpest near the money and for shorter maturities. At very low or negative strikes the lognormal form can imply negative probabilities (butterfly arbitrage) in the deep wings, and long expiries degrade accuracy. In low-rate environments desks use the normal SABR or a shifted-lognormal version to keep the forward away from zero.

    Why does SABR return a volatility instead of a price?

    SABR is a smile model: its job is to give the Black implied volatility at every strike in closed form. You then plug that volatility into the standard Black swaption formula and multiply by the annuity to get the cash premium. Separating the two lets desks quote and risk-manage in volatility terms, which is how the swaption market actually trades.

    Why does the at-the-money formula look simpler?

    At the money the strike equals the forward, so ln(F/K) is zero, the z/x(z) ratio tends to one, and the log-moneyness correction terms vanish. What remains is eq. 2.18, alpha/F^{1-beta} times a single maturity-dependent correction. That is why the worked example evaluates the compact ATM form and still matches the general eq. 2.17 smile value at the forward.

    Does rho or beta control the skew?

    Both affect the slope of the smile, which is why they are partly interchangeable in calibration. Beta sets the backbone and contributes a structural skew through the (FK) power terms, while rho adds a direct correlation-driven tilt. In practice beta is fixed by convention (here 0.5) and rho is calibrated to match the observed skew, with nu then fitting the curvature.

    Methodology last reviewed 2026-10-06. Results are informational and not financial or engineering advice — see our disclaimer.