Unit 14, lesson 111

Calibration inverse problems and identifiability

How calibration inverts a forward pricing map with a weighted loss, how the price Jacobian shows which parameters quotes identify, what ridge selection adds and what an out-of-sample hedge tests.

  • Video 111
  • Differentiation, calibration and validation

A two-parameter model is fitted to a single quoted instrument and matches it exactly, but a second parameter pair matches it just as well, and the two pairs give different prices and hedge ratios for an instrument that is not quoted. Which pair did the quote determine? This lesson treats calibration as an inverse problem, derives the weighted normal equations for a linear pricing map, and uses a constructed one-quote family to show how a null direction of the price Jacobian leaves parameters unidentified. It then explains what a ridge penalty selects, what it cannot supply, and why hedges have to be tested on data the fit did not use.

Key terms

Model calibration

Definition A model with parameter vector θ\theta in an admissible set Θ⊆Rp\Theta \subseteq \mathbb{R}^p assigns to each of mm quoted instruments a model value gi(θ)g_i(\theta). The forward map

g=(g1,…,gm) ⁣:Θ→Rmg = (g_1, \dots, g_m) \colon \Theta \to \mathbb{R}^m

contains everything that turns parameters into quotes, namely the contract terms and dates, the valuation time, the settlement and discounting conventions, and the conversion into the quotation convention (a price, an implied volatility or a spread), so that gi(θ)g_i(\theta) and the observed quote qiq_i are in the same units. Calibration chooses, when a minimizer exists,

θ^∈argmin⁡θ∈ΘL(θ;q)\hat\theta \in \operatorname{argmin}_{\theta \in \Theta} \mathcal{L}(\theta; q)

for a loss L\mathcal{L} that measures the misfit between g(θ)g(\theta) and the quote vector q=(q1,…,qm)q = (q_1, \dots, q_m). Recovering inputs from outputs in this way is an inverse problem. In the sense of Hadamard it is well posed when, for each admissible data vector, a solution exists, is unique and depends continuously on the data. Calibration can fail each of the three conditions. Noisy, stale or mutually inconsistent quotes, or a misspecified model, leave no exact fit. Too few independent quotes leave many parameter vectors with the same fit. Nearly dependent quotes make the solution move far when a quote moves a little.

In plain words Pricing runs from parameters to prices. Calibration runs the other way, from the prices you observe back to parameters that reproduce them. A good fit shows that the model can reproduce the quotes. It does not show that only one parameter vector can, or that prices of instruments outside the fit are pinned down.

Example Implied volatility is the one-parameter case. For a European call with S>0S > 0, K>0K > 0 and τ>0\tau > 0, the Black-Scholes price is strictly increasing and continuous in σ>0\sigma > 0, so a quote strictly inside the no-arbitrage bounds determines exactly one σ\sigma, and that σ\sigma depends continuously on the quote. The constructed family on this page has two parameters. Instrument ii sits at a normalized factor coordinate tit_i and has the model value gi(a,b)=a+b tig_i(a, b) = a + b\,t_i in constructed price units, where lowercase aa is an intercept and bb a slope, distinct from the matrix AA used below. One quote q1=3q_1 = 3 at t1=1t_1 = 1 requires a+b=3a + b = 3, which has infinitely many solutions, so this inverse problem fails uniqueness.

Weighted calibration loss

Definition Write ri(θ)=gi(θ)−qir_i(\theta) = g_i(\theta) - q_i for the residual of quote ii and let W=diag⁡(w1,…,wm)W = \operatorname{diag}(w_1, \dots, w_m) with every wi>0w_i > 0. The weighted calibration loss, with an optional penalty, is

L(θ)=∑i=1mwi ri(θ)2+η∥Γ(θ−θ0)∥2,\begin{aligned} \mathcal{L}(\theta) &= \sum_{i=1}^{m} w_i\, r_i(\theta)^2 \\[0.4em] &\quad + \eta \lVert \Gamma(\theta - \theta_0) \rVert^2, \end{aligned}

with a penalty weight η≥0\eta \ge 0, a prior parameter vector θ0\theta_0 and a penalty matrix Γ\Gamma. This card takes η=0\eta = 0. For a linear forward map g(θ)=Aθg(\theta) = A\theta with A∈Rm×pA \in \mathbb{R}^{m \times p}, the loss is (Aθ−q)⊤W(Aθ−q)(A\theta - q)^{\top} W (A\theta - q) and its gradient is 2A⊤W(Aθ−q)2A^{\top}W(A\theta - q). Setting the gradient to zero gives the weighted normal equations

A⊤WA θ=A⊤Wq.A^{\top} W A\, \theta = A^{\top} W q .

The Hessian 2A⊤WA2A^{\top}WA is positive semidefinite, so the loss is convex and every solution of the normal equations is a global minimizer. Solutions always exist, because A⊤WAA^{\top}WA and A⊤A^{\top} have the same range, which contains A⊤WqA^{\top}Wq. For every direction δ\delta the quadratic form δ⊤A⊤WA δ=∑iwi(Aδ)i2\delta^{\top}A^{\top}WA\,\delta = \sum_i w_i (A\delta)_i^2 is positive exactly when Aδ≠0A\delta \ne 0. So A⊤WAA^{\top}WA is positive definite, and the minimizer is unique, if and only if AA has full column rank pp. Multiplying every weight by the same positive constant does not change the minimizer when η=0\eta = 0. If the quote errors are independent with variances viv_i, the weights wi=1/viw_i = 1/v_i give generalized least squares, which is maximum likelihood when the errors are also Gaussian. Weights can instead express how much each instrument matters for the intended use. A bid-ask spread is a range of trading prices, not automatically the standard deviation of an independent Gaussian error, so turning spreads into weights is a modeling choice.

In plain words Square each pricing miss, multiply it by how much you trust or care about that quote, and add. For a linear model, setting the derivative to zero gives a square linear system, and it has exactly one solution when no change of parameters leaves every quoted price unchanged.

Example Take two constructed quotes q=(3,5)q = (3, 5) at t=1t = 1 and t=2t = 2, with weights 11 and 22. Then

A=[1112],A⊤WA=[3559],A⊤Wq=[1323].\begin{gathered} A = \begin{bmatrix} 1 & 1 \\ 1 & 2 \end{bmatrix}, \\[0.4em] A^{\top}WA = \begin{bmatrix} 3 & 5 \\ 5 & 9 \end{bmatrix}, \\[0.4em] A^{\top}Wq = \begin{bmatrix} 13 \\ 23 \end{bmatrix}. \end{gathered}

The determinant of A⊤WAA^{\top}WA is 27−25=227 - 25 = 2, and the solution is (a,b)=(1,2)(a, b) = (1, 2), with zero residual on both quotes. Any positive weights give the same answer here, because both quotes can be fitted exactly. Weights matter when the quotes are inconsistent. For three constructed quotes 11, 33 and 44 at t=0t = 0, 11 and 22, equal weights give (a,b)=(7/6,3/2)(a, b) = (7/6, 3/2), while the weights 11, 11 and 44 give (25/21,10/7)≈(1.190,1.429)(25/21, 10/7) \approx (1.190, 1.429).

Parameter identifiability

Definition The parameters of a forward map g ⁣:Θ→Rmg \colon \Theta \to \mathbb{R}^m are identifiable from the quoted instruments if g(θ)=g(θ′)g(\theta) = g(\theta') with θ,θ′∈Θ\theta, \theta' \in \Theta implies θ=θ′\theta = \theta', that is, if gg is injective on Θ\Theta. They are locally identifiable at θ∗\theta^* if gg is injective on Θ∩U\Theta \cap U for some neighborhood UU of θ∗\theta^*. Identifiability is a property of the model, the instrument set and the admissible set together, stated for noise-free outputs, and no optimizer can create it. For a linear map g(θ)=Aθg(\theta) = A\theta on Θ=Rp\Theta = \mathbb{R}^p, the parameters are identifiable exactly when the null space of AA is {0}\{0\}, that is, when AA has rank pp, which needs at least pp quotes whose rows of AA are linearly independent. If Aδ=0A\delta = 0 for some δ≠0\delta \ne 0, then θ\theta and θ+sδ\theta + s\delta give the same quotes for every real ss. A combination c⊤θc^{\top}\theta is still identified exactly when cc lies in the row space of AA, because then it is a fixed combination of model quotes. For nonlinear maps the rank condition is local. If gg is continuously differentiable near an interior point θ∗\theta^* and its Jacobian at θ∗\theta^* has rank pp, then the parameters are locally identifiable at θ∗\theta^*. Global identifiability can still fail, and a singular Jacobian does not by itself rule identifiability out.

In plain words Ask whether two different parameter vectors could ever produce exactly the same quotes. If they can, no amount of fitting tells them apart, and anything that depends on the difference between them is not determined by the data.

Example In the one-quote family, (a,b)=(3,0)(a, b) = (3, 0) and (a,b)=(1,2)(a, b) = (1, 2) both price the quote at t=1t = 1 at 33. At the unquoted coordinate t=2t = 2 they give 33 and 55, and their slopes in tt are 00 and 22. Along the direction δ=(1,−1)\delta = (1, -1) the quoted value a+ba + b does not change, so the sum a+ba + b is identified and the slope bb is not. Every price a+bta + bt with t≠1t \ne 1 equals 3+b(t−1)3 + b(t - 1) on the exact-fit line and can take any value. Two nonlinear cases mark the limits of the rank test. If the model prices depend on a volatility parameter only through σ2\sigma^2, as they do when σ\sigma multiplies a Brownian motion, and Θ\Theta allows negative σ\sigma, then σ\sigma and −σ-\sigma give the same prices for every instrument, although the derivative at σ=0.2\sigma = 0.2 is nonzero for any instrument with positive vega. Restricting Θ\Theta to σ>0\sigma > 0 restores identifiability when a quoted price is strictly increasing in σ\sigma, as a Black-Scholes call price is. In the other direction, the map θ↦θ3\theta \mapsto \theta^3 is injective although its derivative vanishes at 00.

Price Jacobian

Definition If gg is differentiable at θ\theta, the price Jacobian is the m×pm \times p matrix J(θ)J(\theta) with entries

Jij(θ)=∂gi∂θj(θ),J_{ij}(\theta) = \frac{\partial g_i}{\partial \theta_j}(\theta),

in units of quote ii per unit of parameter jj. It gives the first-order response of every quote to a small parameter move δ\delta,

g(θ+δ)=g(θ)+J(θ) δ+o(∥δ∥).\begin{aligned} g(\theta + \delta) &= g(\theta) + J(\theta)\,\delta \\[0.4em] &\quad + o(\lVert \delta \rVert). \end{aligned}

A direction δ≠0\delta \ne 0 with J(θ)δ=0J(\theta)\delta = 0 is a null direction, which leaves every quote unchanged to first order. With weights WW, the singular values s1≥⋯≥sp≥0s_1 \ge \dots \ge s_p \ge 0 of W1/2J(θ)W^{1/2}J(\theta), the square roots of the eigenvalues of J⊤WJJ^{\top}WJ, measure how strongly parameter directions move the weighted quotes, since ∥W1/2Jδ∥≥sp∥δ∥\lVert W^{1/2}J\delta \rVert \ge s_p \lVert \delta \rVert for every δ\delta, with equality when δ\delta is an eigenvector of J⊤WJJ^{\top}WJ for its smallest eigenvalue. A small sps_p marks a weakly identified direction, and a large condition number s1/sps_1/s_p marks a calibration that turns small quote changes into large parameter changes. For a linear map, J=AJ = A at every point. For a nonlinear map, a damped Gauss-Newton step linearizes the residual r(θ)=g(θ)−qr(\theta) = g(\theta) - q at the current iterate θk\theta_k and solves

(Jk⊤WJk+μI) δ=−Jk⊤W r(θk)\begin{aligned} &\bigl(J_k^{\top} W J_k + \mu I\bigr)\,\delta \\[0.4em] &\quad = -J_k^{\top} W\, r(\theta_k) \end{aligned}

with Jk=J(θk)J_k = J(\theta_k) and a damping μ≥0\mu \ge 0, where μ=0\mu = 0 gives the Gauss-Newton step itself. A standard local result, stated here without proof, links the Jacobian to parameter uncertainty. Suppose q=g(θ∗)+εq = g(\theta^*) + \varepsilon with E[ε]=0\mathbb{E}[\varepsilon] = 0 and Cov⁡(ε)=Σ\operatorname{Cov}(\varepsilon) = \Sigma positive definite, take W=Σ−1W = \Sigma^{-1}, and suppose that gg is twice continuously differentiable, that J=J(θ∗)J = J(\theta^*) has rank pp at an interior point θ∗\theta^*, and that the errors are small. Then, to first order,

Cov⁡(θ^)≈(J⊤Σ−1J)−1,\operatorname{Cov}(\hat\theta) \approx \bigl(J^{\top}\Sigma^{-1}J\bigr)^{-1},

and an unquoted price f(θ)f(\theta) has variance about ∇f⊤(J⊤Σ−1J)−1∇f\nabla f^{\top}\bigl(J^{\top}\Sigma^{-1}J\bigr)^{-1}\nabla f, with the gradient taken at θ∗\theta^*. For a linear map with full column rank and a linear unquoted price, both formulas hold exactly, without normality. Neither accounts for model misspecification.

In plain words The Jacobian says how much each quote moves when each parameter moves a little. A direction that moves no quote cannot be learned from those quotes, and a direction that moves them only slightly can be learned only roughly. Prices of instruments that depend on such a direction inherit that uncertainty.

Example For the one-quote family the Jacobian is the row [1    1][1 \;\; 1], with null direction (1,−1)(1, -1). The two quotes at t=1t = 1 and t=2t = 2 give the full-rank matrix AA of the previous card, and with weights 11 and 22 the singular values of W1/2AW^{1/2}A are 6+34≈3.440\sqrt{6 + \sqrt{34}} \approx 3.440 and 6−34≈0.411\sqrt{6 - \sqrt{34}} \approx 0.411, the square roots of the eigenvalues of A⊤WAA^{\top}WA. If those weights are the inverse variances of independent quote errors, the covariance of the fitted parameters is exactly

(A⊤WA)−1=[4.5−2.5−2.51.5],\begin{aligned} &(A^{\top}WA)^{-1} \\[0.4em] &= \begin{bmatrix} 4.5 & -2.5 \\ -2.5 & 1.5 \end{bmatrix}, \end{aligned}

so the fitted value a+bta + bt has variance 4.5−5t+1.5t24.5 - 5t + 1.5t^2. It equals the quote variances 11 and 0.50.5 at t=1t = 1 and t=2t = 2, falls to 0.3750.375 at t=1.5t = 1.5 and rises to 33 at the unquoted coordinate t=3t = 3. Moving the second quote to t=1.01t = 1.01 keeps the rank at 22, but the unweighted singular values become about 2.0052.005 and 0.004990.00499, a condition number of about 402402.

Ridge selection

Definition Take a linear map, a penalty weight η>0\eta > 0, a prior θ0\theta_0 and the identity penalty Γ=I\Gamma = I. Ridge calibration minimizes

L(θ)=(Aθ−q)⊤W(Aθ−q)+η∥θ−θ0∥2.\begin{aligned} \mathcal{L}(\theta) &= (A\theta - q)^{\top}W(A\theta - q) \\[0.4em] &\quad + \eta \lVert \theta - \theta_0 \rVert^2 . \end{aligned}

Its gradient is 2A⊤W(Aθ−q)+2η(θ−θ0)2A^{\top}W(A\theta - q) + 2\eta(\theta - \theta_0), so the minimizer solves

(A⊤WA+ηI) θ=A⊤Wq+η θ0.\begin{aligned} &(A^{\top}WA + \eta I)\,\theta \\[0.4em] &\quad = A^{\top}Wq + \eta\,\theta_0 . \end{aligned}

For η>0\eta > 0 the matrix A⊤WA+ηIA^{\top}WA + \eta I is positive definite even when AA is rank deficient, so the minimizer θη\theta_\eta exists and is unique. It satisfies

θη−θ0=(A⊤WA+ηI)−1×A⊤W(q−Aθ0),\begin{aligned} &\theta_\eta - \theta_0 \\[0.4em] &= (A^{\top}WA + \eta I)^{-1} \\[0.4em] &\quad \times A^{\top}W(q - A\theta_0), \end{aligned}

which lies in the row space of AA. Hence the component of θη\theta_\eta along every null direction of AA equals that of θ0\theta_0, for every η>0\eta > 0. As η→0+\eta \to 0^{+}, the solution tends to the minimizer of the unpenalized weighted loss that is closest to θ0\theta_0 in the Euclidean norm, and as η→∞\eta \to \infty it tends to θ0\theta_0. With a general penalty matrix Γ\Gamma the Hessian is 2(A⊤WA+η Γ⊤Γ)2(A^{\top}WA + \eta\,\Gamma^{\top}\Gamma), and the minimizer is unique exactly when the null spaces of AA and Γ\Gamma meet only in 00. The value of η\eta is a further choice, and so is θ0\theta_0.

In plain words A ridge penalty gives the problem one answer by preferring parameters near a chosen prior. In directions the quotes determine, it trades a little fit for closeness to the prior. In directions the quotes cannot see, the prior alone decides, so a unique and stable answer can still carry information that came from the analyst rather than from the market.

Example For the one quote 33 at t=1t = 1 with prior (1,1)(1, 1) and η=0.1\eta = 0.1, the loss is

L(a,b)=(a+b−3)2+0.1[(a−1)2+(b−1)2].\begin{aligned} \mathcal{L}(a, b) &= (a + b - 3)^2 \\[0.4em] &\quad + 0.1\bigl[(a - 1)^2 + (b - 1)^2\bigr]. \end{aligned}

The two first-order conditions are 2(a+b−3)+0.2(a−1)=02(a + b - 3) + 0.2(a - 1) = 0 and 2(a+b−3)+0.2(b−1)=02(a + b - 3) + 0.2(b - 1) = 0. Subtracting them cancels the shared data residual and leaves a=ba = b, and then (2a−3)+0.1(a−1)=0(2a - 3) + 0.1(a - 1) = 0 gives 2.1a=3.12.1a = 3.1, so

a=b=3121≈1.476190.a = b = \frac{31}{21} \approx 1.476190 .

The fitted quote is 62/21≈2.95238162/21 \approx 2.952381, a residual of −1/21≈−0.047619-1/21 \approx -0.047619, and the price at t=2t = 2 is 31/7≈4.42857131/7 \approx 4.428571. The residual is nonzero on purpose, since fitting the quote exactly would move the parameters further from the prior. For general η>0\eta > 0 the solution is a=b=(3+η)/(2+η)a = b = (3 + \eta)/(2 + \eta), which tends to 1.51.5, the exact fit closest to the prior, as η→0+\eta \to 0^{+}. The equality a=ba = b is inherited from the prior, which has a−b=0a - b = 0, and is not learned from the quote.

Out-of-sample hedge

Definition Let θ^\hat\theta be calibrated on a data set DD, and count every choice made while fitting, including the model, the instruments, the weights, the prior and η\eta, as part of the fit. A position with value VV is hedged by selling h(θ^)h(\hat\theta) units of hedge instruments with prices HH, where hh is sized from the fitted model, often as a vector of model sensitivities. An out-of-sample hedge test measures the hedged profit and loss

ΔΠ=ΔV−h(θ^)⊤ΔH\Delta\Pi = \Delta V - h(\hat\theta)^{\top}\Delta H

over moves or instruments that were not used to make any choice in the fit, with consistent accounting of timestamps, cash flows, funding and costs. The calibration residual measures agreement on DD only. Parameters that agree on DD but differ along a null or weak direction can give different hedges, and only data outside DD can separate them. A held-out test is evidence about the period and the moves it covers, and it bears on future use only to the extent that those moves are relevant. It is not a forecast of hedge performance.

In plain words A fit tells you how well the model matches the quotes you used. Whether its hedge ratios work is a separate question, which can be answered only by following the hedged position on data the fit never saw.

Example The exact one-quote fits (3,0)(3, 0) and (1,2)(1, 2) have the same zero calibration error, yet their sensitivities to the coordinate tt are b=0b = 0 and b=2b = 2, and the ridge fit has b=31/21≈1.476b = 31/21 \approx 1.476. As a constructed illustration, read tt as the level of a factor and gg as the value of one position at that level, and let the held-out observation be the value 55 at t=2t = 2. Over the move from t=1t = 1 to t=2t = 2 the position gains 22, and a hedge with ratio bb in an instrument that gains 11 per unit of tt leaves

ΔΠ=2−b,\Delta\Pi = 2 - b,

which is 22, 00 and 11/21≈0.52411/21 \approx 0.524 for the three fits. The calibration residual could not rank the two exact fits, and this single held-out move can. One move is one observation, and the illustration says nothing about hedge performance in a real market.

Check yourself

  1. The constructed family g(t)=a+btg(t) = a + bt is calibrated to a single quote 44 at t=2t = 2. Write the price Jacobian, find a null direction, and give two exact fits with their prices at the unquoted coordinate t=3t = 3.
Show the answer

The quoted value is a+2ba + 2b, so the Jacobian is the row [1    2][1 \;\; 2], and δ=(2,−1)\delta = (2, -1) is a null direction because 1⋅2+2⋅(−1)=01 \cdot 2 + 2 \cdot (-1) = 0. The fits (a,b)=(4,0)(a, b) = (4, 0) and (a,b)=(0,2)(a, b) = (0, 2) both give 44. At t=3t = 3 they give 44 and 66. On the exact-fit line the price at t=3t = 3 is 4+b4 + b, which the quote does not determine. Only the combination a+2ba + 2b is identified, and a second quote at a coordinate other than t=2t = 2 would make the Jacobian full rank.

  1. Two constructed quotes 33 and 3.023.02 sit at t=1t = 1 and t=1.01t = 1.01. Fit the family exactly, then move the second quote to 3.033.03 and fit again. Are the parameters identified, and how reliable is the fit?
Show the answer

The equations a+b=3a + b = 3 and a+1.01b=3.02a + 1.01b = 3.02 give 0.01b=0.020.01b = 0.02, so b=2b = 2 and a=1a = 1. With the second quote at 3.033.03 the same subtraction gives 0.01b=0.030.01b = 0.03, so b=3b = 3 and a=0a = 0. The Jacobian rows (1,1)(1, 1) and (1,1.01)(1, 1.01) are linearly independent, with determinant 0.010.01, so the parameters are identified exactly. Yet a change of 0.010.01 in one quote changed the slope by 11, a hundred times as much, because the condition number of the Jacobian is about 402402. Identification is an exact rank property, while conditioning says how much quote noise the identified parameters can tolerate.

  1. Two analysts calibrate the one-quote family to the quote 33 at t=1t = 1, both with ridge weight η=0.1\eta = 0.1. One uses the prior (1,1)(1, 1) and the other the prior (2,0)(2, 0). Find both solutions, their residuals and their prices at t=2t = 2. Each solution is unique, so does the quote determine the price at t=2t = 2?
Show the answer

Write s=a+bs = a + b and s0=a0+b0s_0 = a_0 + b_0 for a prior (a0,b0)(a_0, b_0). The first-order conditions are 2(s−3)+0.2(a−a0)=02(s - 3) + 0.2(a - a_0) = 0 and 2(s−3)+0.2(b−b0)=02(s - 3) + 0.2(b - b_0) = 0. Subtracting them gives a−b=a0−b0a - b = a_0 - b_0, and adding them gives 4(s−3)+0.2(s−s0)=04(s - 3) + 0.2(s - s_0) = 0, so

s=12+0.2 s04.2.s = \frac{12 + 0.2\, s_0}{4.2} .

Both priors have s0=2s_0 = 2, so both give s=62/21s = 62/21, the same residual −1/21≈−0.0476-1/21 \approx -0.0476 and the same loss value 1/211/21. The first prior gives a=b=31/21a = b = 31/21 and the price 31/7≈4.428631/7 \approx 4.4286 at t=2t = 2. The second keeps a−b=2a - b = 2, so a=52/21≈2.4762a = 52/21 \approx 2.4762 and b=10/21≈0.4762b = 10/21 \approx 0.4762, and the price at t=2t = 2 is s+b=72/21=24/7≈3.4286s + b = 72/21 = 24/7 \approx 3.4286. The quote does not determine that price. Uniqueness came from the penalty, the two answers fit the quote identically, and they differ by 11 in the unquoted price, entirely along the null direction (1,−1)(1, -1), whose component each analyst took from the prior.

How this lesson connects