Skip to content
All library documents

Feasibility of Layer-by-Layer Calibration in Dynamic SABR

Article Quant Q&A · Author: davide iavarone

Summary

The document investigates whether a time-dependent SABR model can match a sequence of independently calibrated static smiles through layer-by-layer calibration. It sets out cumulative-integral updates, formulas for effective parameters, admissibility constraints, and a multi-start nonlinear least-squares procedure. For the third layer, after two layers have matched, the reported optimizer solution drives correlation to its lower bound but still leaves sizable errors in all three target parameters.

The numerical example raises whether the target lies outside the map generated by the prior integrals, or whether implementation or optimization is at fault. It asks about the interpretation of the cited paper's equations and whether static slices must satisfy feasibility conditions. The document does not resolve these questions or prove infeasibility; the reported boundary solution is evidence about this solver run, not a theoretical certificate. Its detailed inputs and outputs make it useful as a calibration diagnostic case, while independent validation of equations and a more exhaustive feasibility analysis remain necessary.

Key ideas

  • Layer calibration matches effective SABR parameters by solving for piecewise-constant parameters on each time interval.
  • The example reports accurate fits for the first two layers and a failed third-layer fit.
  • The third-layer optimizer pushes correlation to its imposed lower bound while retaining material residuals.
  • A boundary solution may signal infeasibility or numerical and implementation problems, but does not establish which explanation is correct.
  • The document asks whether independently fitted static smiles need to obey conditions to admit a dynamic SABR representation.

Tags

Full text
# Dynamic SABR layer-by-layer calibration fails at third layer: implementation issue or no admissible solution?


# Dynamic SABR layer-by-layer calibration fails at third layer: implementation issue or no admissible solution?












I am implementing the layer-by-layer calibration of the time-dependent SABR model described in the paper “Managing Vol Surfaces” by Hagan et al in 2018. In particular, I am using the effective-parameter formulas around equations (3.7)–(3.8) and the piecewise-constant integral update formulas in equation (3.11) of the paper.

For each expiry $T_j$, I first calibrate a standard SABR smile and obtain target effective SABR parameters

$$ (\alpha_j^*, \rho_j^*, \nu_j^*). $$

Then I assume piecewise-constant dynamic SABR parameters on each interval

$$ (T_{j-1},T_j): \qquad \sigma(T)=\sigma_j,\quad \rho(T)=\rho_j,\quad \nu(T)=\nu_j, $$

and solve for

$$ x_j = (\sigma_j,\rho_j,\nu_j) $$

such that the effective SABR parameters at $T_j$ match the static SABR parameters calibrated from the smile.

The global settings are:





- $\varepsilon = 1.0$.

All times are expressed in years and all volatilities/parameters are annualized. The static SABR parameters are obtained using the same backbone/beta convention for all expiries.

The static SABR target parameters used as inputs are:

| Layer | $T_{\text{start}}$ | $T_{\text{end}}$ | $d_j$ | $\alpha_j^*$ | $\rho_j^*$ | $\nu_j^*$ |
| 1 | 0.00 | 0.25 | 0.25 | 0.01863 | 0.41786 | 1.21964 |
| 2 | 0.25 | 1.00 | 0.75 | 0.01666 | 0.31270 | 0.76510 |
| 3 | 1.00 | 5.00 | 4.00 | 0.01406 | 0.13788 | 0.35115 |
| 4 | 5.00 | 10.00 | 5.00 | 0.01300 | 0.12279 | 0.21804 |
| 5 | 10.00 | 20.00 | 10.00 | 0.01248 | -0.00542 | 0.18992 |
| 6 | 20.00 | 30.00 | 10.00 | 0.01213 | -0.10955 | 0.21490 |

The first two layers are matched, but the third layer does not seem to reach the target effective parameters. I would like to understand whether this is a numerical issue, an implementation mistake, or whether the sequence of independently calibrated static SABR slices may simply be dynamically inconsistent under the time-dependent SABR effective-parameter mapping.

The update formulas I use are the following. Let

$$ d_j = T_j - T_{j-1}. $$

Given the cumulative integrals from the previous layer, I update:

$$ I_0^j = I_0^{j-1} + \sigma_j^2 d_j, $$

$$ I_1^j = I_1^{j-1} + \rho_j \nu_j \sigma_j d_j, $$

$$ I_2^j = I_2^{j-1} + \sigma_j^2 d_j I_1^{j-1} + \frac{1}{2}\rho_j\nu_j\sigma_j^3 d_j^2, $$

$$ I_3^j = I_3^{j-1} + \sigma_j^2 d_j \left[ \left( I_1^{j-1} + \frac{1}{2}\rho_j\nu_j\sigma_j d_j \right)^2 + \frac{1}{12} \left( \rho_j\nu_j\sigma_j d_j \right)^2 \right], $$

$$ I_4^j = I_4^{j-1} + \nu_j^2 d_j, $$

$$ I_5^j = I_5^{j-1} + \sigma_j^2 d_j I_4^{j-1} + \frac{1}{2}\nu_j^2\sigma_j^2 d_j^2, $$

$$ I_6^j = I_6^{j-1} + 2\sigma_j^2 d_j I_5^{j-1} + \sigma_j^4 d_j^2 I_4^{j-1} + \frac{1}{3}\nu_j^2\sigma_j^4 d_j^3. $$

Then I compute

$$\Delta_j^2 = \frac{I_0^j}{T_j},$$

$$\bar b_j = \frac{2I_2^j}{(I_0^j)^2},$$

$$\bar c_j = \frac{3I_6^j + 9I_3^j}{(I_0^j)^3} - 3\bar b_j^2,$$

$$G_j^* = \frac{2I_5^j}{(I_0^j)^2} - \bar c_j.$$

Finally, the effective SABR parameters are

$$\alpha_{\mathrm{eff},j} = \sqrt{\Delta_j^2}\exp\left(\frac{1}{4}\varepsilon^2 I_0^j G_j^*\right),$$

$$\rho_{\mathrm{eff},j} = \frac{\bar b_j}{\sqrt{\bar c_j}},$$

$$\nu_{\mathrm{eff},j} = \sqrt{\Delta_j^2}\sqrt{\bar c_j}.$$

So the nonlinear system I solve at each layer is

$$ F(\sigma_j,\rho_j,\nu_j) = \begin{pmatrix} \alpha_{\mathrm{eff},j}-\alpha_j^* \\ \rho_{\mathrm{eff},j}-\rho_j^* \\ \nu_{\mathrm{eff},j}-\nu_j^* \end{pmatrix} = 0. $$

with constraints

$$ \sigma_j > 0, \qquad \nu_j > 0, \qquad -1 < \rho_j < 1. $$

The objective minimized by the 3D solver is the sum of squared residuals:

$$ SSR = (\alpha_{\mathrm{eff},j}-\alpha_j^*)^2 + (\rho_{\mathrm{eff},j}-\rho_j^*)^2 + (\nu_{\mathrm{eff},j}-\nu_j^*)^2. $$

The 3D calibration method is a multi-start Levenberg-Marquardt scheme:

- 27 initial guesses on a $3\times 3\times 3$ grid;

- $\sigma_j$ starting values: ${0.2\alpha_j^*, 1.0\alpha_j^*, 5.0\alpha_j^*}$;

- $\rho_j$ starting values: ${-0.7, \rho_j^*, 0.7}$;

- $\nu_j$ starting values: ${0.2\nu_j^*, 1.0\nu_j^*, 5.0\nu_j^*}$;

- first scan: 50 LM iterations for each starting point;

- final polish: 400 LM iterations from the best candidate;

- finite-difference Jacobian;

- bounds enforced numerically: $\sigma_j\geq 10^{-8}$, $\nu_j\geq 10^{-8}$, and $-0.9999\leq \rho_j\leq 0.9999$.

For the failing third layer, the previous cumulative integrals after layer 2 are:

| Quantity | Value |
| $I_0^{2}$ | $9.386031997022536\times 10^{-5}$ |
| $I_1^{2}$ | $-7.383657219878922\times 10^{-4}$ |
| $I_2^{2}$ | $1.0877751497615332\times 10^{-7}$ |
| $I_3^{2}$ | $1.7342127739522748\times 10^{-10}$ |
| $I_4^{2}$ | $31.528024105319403$ |
| $I_5^{2}$ | $1.2923651476505206\times 10^{-4}$ |
| $I_6^{2}$ | $1.7030113443892636\times 10^{-9}$ |

The third layer data are:

| Quantity | Value |
| $T_3$ | $5.0$ |
| $d_3=T_3-T_2$ | $4.0$ |
| target $\alpha_3^*$ | $0.01406$ |
| target $\rho_3^*$ | $0.13788$ |
| target $\nu_3^*$ | $0.35115$ |

Equivalently, for the third layer I am asking whether the target point

$$ (\alpha_3^*,\rho_3^*,\nu_3^*)=(0.01406,0.13788,0.35115) $$

belongs to the image of the map

$$ (\sigma_3,\rho_3,\nu_3) \mapsto (\alpha_{\mathrm{eff},3},\rho_{\mathrm{eff},3},\nu_{\mathrm{eff},3}) $$

given the cumulative integrals after layer 2.

The best 3D candidate found by the multi-start Levenberg-Marquardt routine is:

| Quantity | Value |
| $\sigma_3$ | $6.732644144691606\times 10^{-4}$ |
| $\rho_3$ | $-0.9999$ |
| $\nu_3$ | $4.172091357712332$ |

Using this candidate, the updated integrals become:

| Quantity | Value |
| $I_0^3$ | $9.567345985738738\times 10^{-5}$ |
| $I_1^3$ | $-1.1972924733978022\times 10^{-2}$ |
| $I_2^3$ | $9.725384110464655\times 10^{-8}$ |
| $I_3^3$ | $2.6573216225899337\times 10^{-10}$ |
| $I_4^3$ | $101.15340929371112$ |
| $I_5^3$ | $2.495215143558578\times 10^{-4}$ |
| $I_6^3$ | $2.351604001199082\times 10^{-9}$ |

The reduced/effective quantities are:

| Quantity | Value |
| $\Delta_3^2=I_0^3/T_3$ | $1.9134691971477476\times 10^{-5}$ |
| $\bar b_3$ | $21.249748742436793$ |
| $\bar c_3$ | $9432.127971997032$ |
| $G_3^*$ | $45087.769912437114$ |

The produced effective SABR parameters are:

| Parameter | Produced | Target | Relative error |
| $\alpha_{\mathrm{eff},3}$ | $0.012860714109057685$ | $0.01406$ | $-8.5297716283%$ |
| $\rho_{\mathrm{eff},3}$ | $0.2188008259409324$ | $0.13788$ | $+58.6893138533%$ |
| $\nu_{\mathrm{eff},3}$ | $0.4248303936628354$ | $0.35115$ | $+20.9825982238%$ |

The corresponding unscaled sum of squared residuals is approximately

$$ SSR \approx 0.0119784187679213. $$

The first two layers matched the target effective parameters essentially exactly. The resulting dynamic parameters for the first two layers were:

| Layer | $\sigma_j$ | $\rho_j$ | $\nu_j$ |
| 1 | $0.01863$ | $0.41786$ | $1.21964$ |
| 2 | $0.0030748647602185392$ | $-0.2093689360371161$ | $6.44527151462418$ |

For layer 2, the produced effective parameters were equal to the static targets within numerical precision:

| Parameter | Produced | Target |
| $\alpha_{\mathrm{eff},2}$ | $0.01666$ | $0.01666$ |
| $\rho_{\mathrm{eff},2}$ | $0.31270$ | $0.31270$ |
| $\nu_{\mathrm{eff},2}$ | $0.76510$ | $0.76510$ |

I am not primarily asking for help with the VBA/Excel implementation. I am trying to understand whether, for the numerical data above, the third-layer inverse problem should theoretically admit an admissible solution, or whether the failure may indicate that the independently calibrated static SABR slices are not dynamically consistent under this time-dependent SABR construction.

My questions are:

- Are the formulas above the correct interpretation of the layer-by-layer calibration equations in the Hagan-Lesniewski-Woodward dynamic SABR paper?

- Given the previous cumulative integrals after layer 2 and the target static SABR parameters at $T_3=5$, should an admissible solution $(\sigma_3,\rho_3,\nu_3)$ always exist?

- If no admissible solution exists, is this an expected indication that independently calibrated static SABR slices are not dynamically consistent under the time-dependent SABR effective-parameter mapping?

- Is the fact that the best candidate pushes $\rho_3$ to the lower bound $-0.9999$ a sign of a numerical optimizer issue, or is it evidence that the target effective parameters at layer 3 may lie outside the image of the layer map generated by the previous integrals?

- Are there known necessary conditions on the sequence of static effective SABR parameters $(\alpha_j^*,\rho_j^*,\nu_j^*)$ for the layer-by-layer dynamic SABR calibration to be feasible?

Shown in full with attribution under the source's licence. Licence: CC BY-SA 4.0 (Stack Exchange)

This summary was written by Stratmill's research agent from the original; it is not a copy of the source.