《01 衍生品价格从何而来?》第 6 节最终交付的是一个逐合约的 risk-neutral pricing operator:

$$ V_t^i \mathrel{=} \mathcal M^{\mathbb Q} (\mathbf x_{t,i};\boldsymbol\vartheta^{\mathbb Q}) \in\mathbb R, $$

也就是说,只要给定模型、参数、第 $i$ 个合约的当前状态与合约条件,我们原则上已经知道怎样得到一个标量期权价格。后文为校准而把多个合约输出堆叠成向量时,那只是这张逐合约 map 的局部向量化。

但市场并不会直接告诉我们

$$ \boldsymbol\vartheta^{\mathbb Q} $$

是多少。真实市场提供的是不同 strike、不同 maturity 上的一组 bid、ask 与成交价格。于是,一个数学上已经定义好的 pricing model 要真正进入交易,还必须补上另一张 map:

$$ \text{market quotes} \longrightarrow \widehat{\boldsymbol\vartheta}^{\mathbb Q}. $$

这就是 calibration。

因此,本篇不再回答“期权为什么能够被定价”,而只处理上一篇留下的接口问题:

一个已经数学定义好的定价模型,如何与真实市场上的期权价格连接起来?

这条链会依次经过 market target、forward solver、inverse problem、identifiability,最后把一个可重复的 calibration map 交给下一篇的 risk / PnL 分解。


1. 需要连接的模型对象与市场对象分别是什么?

Calibration 之前首先要区分两个经常使用相同参数名、却回答完全不同问题的对象。

假设历史数据记为

$$ \mathcal D_t. $$

一个 physical-measure estimator 可以形式化写成

$$ \widehat{\boldsymbol\vartheta}^{\mathbb P}_t \mathrel{=} \mathcal E(\mathcal D_t), $$

例如在最简单的 maximum-likelihood 表述下,

$$ \widehat{\boldsymbol\vartheta}^{\mathbb P}_t \mathrel{=} \arg\max_{\boldsymbol\vartheta\in\mathcal A_{\vartheta}^{\mathbb P}} \log p^{\mathbb P}_{\boldsymbol\vartheta}(\mathcal D_t). $$

这里的参数属于 physical measure $\mathbb P$。它们描述的是历史数据在模型下怎样分布,以及未来 market move 在统计意义上可能怎样发生。

期权 calibration 的输入却不是历史时间序列,而是当前市场的 option quote vector:

$$ \mathbf y_t. $$

对 calibration universe 中第 $i$ 个合约,上一篇给出的 pricing operator 写成

$$ V_{i,t}^{\mathrm{model}} \mathrel{=} \mathcal M^{\mathbb Q} (\mathbf x_{t,i};\boldsymbol\vartheta^{\mathbb Q}), $$

把这些标量输出在校准截面上堆叠起来,才得到后文使用的 model-output vector。Calibration 的完整输入除清洗后的目标 $\mathbf y_t$ 外,还包括 spot、曲线、合约集合等当日已知输入,统一记为

$$ \boldsymbol\eta_t:=(\mathbf y_t,\mathbf a_t), $$

其中 $\mathbf a_t$ 收集不属于 calibration target、但会影响当日正向定价或校准程序的输入。Calibration 要构造的是

$$ \boxed{ \widehat{\boldsymbol\vartheta}^{\mathbb Q}_t \mathrel{=} \mathcal C(\boldsymbol\eta_t). } $$

因此,$\mathbf y_t$ 是拟合目标,而 $\boldsymbol\eta_t$ 才是 calibration map 的完整输入。关于 $\mathbb P/\mathbb Q$ 的理论区分见上一篇第 5 节;本篇只处理 $\mathbb Q$ marking problem。

Gatheral 和 Bergomi 在讨论 stochastic-volatility pricing 时采用的正是 risk-neutral dynamics:用于期权定价的是 $\mathbb Q$ 下的模型;如果转而研究 historical return time series,则是在处理另一个 statistical problem。[Gatheral, 2006; Bergomi, Stochastic Volatility Modeling]

因此,即使两个模型都写着 $\kappa$、$\rho$ 或 $\xi$,也不能因为符号相同就默认

$$ \widehat{\boldsymbol\vartheta}^{\mathbb P}_t \mathrel{=} \widehat{\boldsymbol\vartheta}^{\mathbb Q}_t. $$

要把二者连接起来,还必须另外指定 risk-premium structure。这个问题不属于本篇。

本篇只保留这一条边界:

$$ \boxed{ \mathbb P\text{ estimation 描述 physical distribution;} \qquad \mathbb Q\text{ calibration 匹配当前 option prices。} } $$

来源边界:当前项目文献可以支持 $\mathbb P$ 与 $\mathbb Q$ 的角色区分,但没有为一般 time-series estimation 提供正式的统计推断教材来源。因此上面的 MLE 只作为概念接口,不在这里发展 estimation theory。

问题于是转移到 $\mathbf y_t$ 本身:市场上的 raw quotes 能否直接作为 calibration target?

答案是否定的。


2. 什么样的市场数据可以作为 calibration target?

真实市场不是一张连续、光滑的数学曲面。

我们首先观察到的是离散的 bid / ask:

$$ \left\lbrace C_{i,t}^{\mathrm{bid}}, C_{i,t}^{\mathrm{ask}}, K_i,T_i \right\rbrace_{i=1}^{n}. $$

不同 expiry 上可交易的 strikes 不同,liquidity 不同,bid–ask spread 不同;forward curve 与 discount curve 的构造也会改变同一张 option 在报价空间中的位置。

所以 calibration 的第一步不是启动 optimizer,而是先回答:

我们究竟把市场中的什么对象视为模型需要匹配的 observable?

2.1 Implied volatility 首先只是报价坐标

对 European call,给定 forward

$$ F_t(T) $$

和 discount factor

$$ D(t,T), $$

其市场价格首先必须位于相应的 no-arbitrage bounds 内:

$$ D(t,T)\bigl(F_t(T)-K\bigr)^+ \le C_t^{\mathrm{mkt}} \le D(t,T)F_t(T). $$

如果价格位于可逆区间内,则 Black–Scholes implied volatility 被定义为满足

$$ C^{\mathrm{BS}} \bigl(t;K,T,\sigma_{\mathrm{imp}}\bigr) \mathrel{=} C_t^{\mathrm{mkt}} $$

的那个 $\sigma_{\mathrm{imp}}$。

在通常的非退化条件下,

$$ \frac{\partial C^{\mathrm{BS}}}{\partial\sigma} \mathrel{=} \mathrm{Vega}^{\mathrm{BS}}>0, $$

所以这是一维、单调的 inversion。

这一步非常容易被术语误导:

Implied-volatility inversion 不是 stochastic-volatility model calibration。

它只是把同一个 market price 从货币价格坐标转换成一个更便于横向比较的 quote coordinate。Homescu 也把 BSM implied volatility 作为从 option-price space 到 volatility quote space 的标准映射工具来讨论。[Homescu, 2011]

因此可以进一步定义 forward log-moneyness

$$ k_t(K,T) := \log\frac{K}{F_t(T)} $$

和 total implied variance

$$ w_t(k,T) := \sigma_{\mathrm{imp}}^2(t;K,T)(T-t). $$

不同 strikes 与 maturities 的 options 于是可以被组织到统一的 $(k,T,w)$ 坐标里。

2.2 离散 quotes 仍然不是连续 surface

即使已经全部转换成 implied volatility,市场仍然只给出有限个点。

但后面的 model calibration、interpolation,乃至 local-volatility inversion,往往需要一张连续 surface。因此还必须加入一个 market-representation layer:

$$ \text{raw quotes} \longrightarrow \text{clean discrete observables} \longrightarrow \text{continuous market surface}. $$

SVI 在本文中的角色就在这里。

对固定 maturity,可以用

$$ w(k) \mathrel{=} a_{\mathrm{SVI}}+b_{\mathrm{SVI}}\left[ \rho_{\mathrm{SVI}}(k-m_{\mathrm{SVI}}) + \sqrt{(k-m_{\mathrm{SVI}})^2+\eta_{\mathrm{SVI}}^2} \right] $$

表示一条 implied-total-variance slice。

这里的五个参数首先是在描述今天这一条 market smile,而不是声明 underlying 未来服从某种名为 SVI 的 stochastic dynamics。

这一区分决定了 SVI 与 Heston 在全文中的逻辑位置:

$$ \boxed{ \text{SVI:market surface representation} \qquad\neq\qquad \text{Heston:risk-neutral dynamics family}. } $$

而且,给离散点拟合一个平滑函数本身还不够。Surface construction 受到 static no-arbitrage structure 的约束:strike 方向不能产生明显 butterfly arbitrage,maturity 方向也不能制造 calendar arbitrage。Homescu 对 surface interpolation、extrapolation 以及这些 arbitrage constraints 做了系统梳理;Gatheral 对 SVI 与 volatility surface 的关系也给出了 practitioner-oriented 的讨论。[Gatheral, 2006; Homescu, 2011]

因此,$\mathbf y_t$ 从来不应被理解为“一串未经定义的市场中间价”。在 calibration 之前,至少已经隐含确定了:

  • calibration universe;
  • price / IV quote convention;
  • $F_t(T)$ 与 $D(t,T)$;
  • bid / ask 的处理方法;
  • data cleaning rule;
  • interpolation / surface convention;
  • static-arbitrage filter。

只有到这里,market target 才真正被定义。

下一步才能问:给模型任意一组候选参数时,我们能不能可靠地得到对应的 model prices?


3. 给定参数,forward pricing problem 是否可重复、可验证地求解?

把 calibration universe 中的所有 instruments 放在一起,可以把逐合约 pricing operator 的标量输出局部堆叠为 forward map:

$$ \boxed{ \mathbf m(\boldsymbol\vartheta) := \begin{pmatrix} m_1(\boldsymbol\vartheta)\\ \vdots\\ m_n(\boldsymbol\vartheta) \end{pmatrix}, \qquad m_i(\boldsymbol\vartheta) := \mathcal M^{\mathbb Q} (\mathbf x_{t,i};\boldsymbol\vartheta). } $$

Calibration optimizer 会反复调用这张 map。因此,在谈“反推参数”之前,必须先确认正向问题本身已经被稳定地解决。

Heston 是一个典型例子。上一篇只交付了一般定价接口,并没有定义 Heston dynamics;因此这里先明确本篇使用的风险中性模型。在确定性利率与股息曲线下,令

$$ \frac{dS_u}{S_u} \mathrel{=} [r(u)-q(u)]\,du +\sqrt{v_u}\,dW_u^{S,\mathbb Q}, $$$$ dv_u \mathrel{=} \kappa(\bar v-v_u)\,du +\xi\sqrt{v_u}\,dW_u^{v,\mathbb Q}, \qquad d\langle W^{S,\mathbb Q},W^{v,\mathbb Q}\rangle_u \mathrel{=} \rho\,du. $$

这里 $\kappa,\bar v,\xi>0$、$\rho\in[-1,1]$,而 $v_t$ 是当前 instantaneous-variance state。哪些量每日作为 state 更新、哪些量进入 $\boldsymbol\vartheta^{\mathbb Q}$ 被重新校准,必须由 implementation convention 明确指定;是否强制 Feller-type 条件则属于 admissible parameter domain 的选择。European option price 可以借助 characteristic function 通过 Fourier inversion 求得。Gatheral 强调的一个实务优势正是:Heston 对 European options 的 forward pricing 足够便宜,而 calibration 恰恰需要大量重复 pricing。[Gatheral, 2006]

但 characteristic-function inversion 只是 forward solver 的一种形式。对其他模型或 payoff,$\mathbf m(\boldsymbol\vartheta)$ 的各个分量也可能来自 PDE、finite difference / finite element、quadrature 或 Monte Carlo。

真正的要求不是“必须有 closed form”,而是:

$$ \boxed{ \text{同一组参数输入时,pricing engine 能否稳定、可重复地返回足够精确的价格?} } $$

Hilber 等人的 numerical-finance 框架特别区分了 numerical discretization error 与 modeling error。[Hilber et al., 2013] 这一点在 calibration 中尤其重要。

设数值 solver 返回

$$ m_i^{\mathrm{num}}(\boldsymbol\vartheta) \mathrel{=} m_i^{\mathrm{exact}}(\boldsymbol\vartheta) + e_i^{\mathrm{num}}(\boldsymbol\vartheta). $$

那么 optimizer 实际看到的 residual 是

$$ m_i^{\mathrm{num}}(\boldsymbol\vartheta)-y_i \mathrel{=} \underbrace{ m_i^{\mathrm{exact}}(\boldsymbol\vartheta)-y_i }_{\text{model-to-market residual}} + \underbrace{ e_i^{\mathrm{num}}(\boldsymbol\vartheta) }_{\text{solver error}}. $$

如果 solver error 与目标 calibration error 在同一个量级,optimizer 就不再只是在拟合市场,而会开始部分拟合 numerical noise。

这还会污染后面的 calibration Jacobian,因为我们最终关心的不只是

$$ m_i(\boldsymbol\vartheta), $$

还包括

$$ \frac{\partial m_i}{\partial\vartheta_j}. $$

如果 pricing output 随 grid、integration cutoff、random sampling 或 tolerance 不平滑,parameter sensitivities 也不会可靠。

所以顺序必须是:

$$ \boxed{ \text{solver convergence / stability} \quad\text{先于}\quad \text{parameter optimization}. } $$

这并不意味着每个 solver 都要算到 machine precision。更合理的要求是建立一个明确的 tolerance hierarchy,例如

$$ \text{numerical pricing error} \ll \text{target calibration tolerance}, $$

而 target calibration tolerance 本身又不应该脱离 bid–ask 这样的市场噪声尺度。

只有 forward map 足够可靠,inverse problem 才有明确含义。


4. Calibration 作为 inverse problem 应如何定义?

假设已经得到 calibration target

$$ \mathbf y \mathrel{=} (y_1,\ldots,y_n)^\top, $$

模型在同一报价坐标下的输出记为

$$ \mathbf m(\boldsymbol\vartheta) \mathrel{=} \bigl(m_1(\boldsymbol\vartheta),\ldots,m_n(\boldsymbol\vartheta)\bigr)^\top. $$

有限维 model calibration 可以写成

$$ \boxed{ \widehat{\boldsymbol\vartheta}^{\mathbb Q} \in \arg\min_{\boldsymbol\vartheta\in\mathcal A_{\vartheta}^{\mathbb Q}} \left\lbrace \sum_{i=1}^{n} \omega_i \bigl(m_i(\boldsymbol\vartheta)-y_i\bigr)^2 + \lambda\mathcal R(\boldsymbol\vartheta) \right\rbrace. } $$

这条公式说明了一件经常被“calibrate Heston”这种简写掩盖的事实:

在 objective、weights、parameter domain、regularization 与 numerical convention 被固定以前,calibration 还不是一个完整的数学问题。

4.1 Price error 与 implied-volatility error 不是同一个 objective

在某张 option 的 market implied volatility 附近,一阶近似给出

$$ \delta C \approx \mathrm{Vega}^{\mathrm{BS}} \,\delta\sigma_{\mathrm{imp}}. $$

因此

$$ \delta\sigma_{\mathrm{imp}} \approx \frac{\delta C} {\mathrm{Vega}^{\mathrm{BS}}}. $$

这说明,直接最小化未经 scaling 的 dollar price errors,会更强调高价格、高 Vega contracts;而在 implied-volatility space 中进行 fitting,则近似对应 price-space 中的 inverse-Vega scaling。

市场还有另一个天然尺度:bid–ask spread。一个 spread 很宽的 illiquid quote 并没有给出非常精确的 price information,所以实践中常会让更 liquid、spread 更窄的 instruments 获得更高权重。Homescu 对 price error、IV error、Vega normalization 与 bid–ask-aware weighting 都有直接讨论。[Homescu, 2011]

因此 $\omega_i$ 不是一个无关紧要的 optimizer tuning parameter。它实际上定义了:

模型被要求优先解释市场的哪一部分?

4.2 三种“反解”必须分开

在 volatility modeling 里,至少有三类问题经常都被口语化地称为 calibration,但它们在数学上不是同一件事。

第一类是单个合约的 implied-volatility inversion:

$$ C^{\mathrm{BS}}(\sigma) \mathrel{=} C^{\mathrm{mkt}}. $$

这是一个单合约、一维、单调函数反解

第二类是 Heston 这类 finite-dimensional model calibration:

$$ \mathbf y \longrightarrow \widehat{\boldsymbol\vartheta}^{\mathbb Q}. $$

这是一个有限维 constrained optimization problem

第三类是 Dupire local-volatility inversion。

设在常数利率 $r$ 与股息率 $q$ 下,$\mathbb Q$ 中

$$ dS_t \mathrel{=} (r-q)S_t\,dt + \sigma_{\mathrm{loc}}(t,S_t)S_t\,dW_t^{\mathbb Q}. $$

如果 European call surface $C(K,T)$ 对 $(K,T)$ 足够光滑并满足相应的 no-arbitrage 条件,则 local variance 可以由

$$ \boxed{ \sigma_{\mathrm{loc}}^2(T,K) \mathrel{=} \frac{ \partial_T C +(r-q)K\partial_K C +qC }{ \tfrac12K^2\partial_{KK}C }. } $$

恢复。[Gatheral, 2006]

Dupire 的结论必须精确理解。它说明的是:在指定的 local diffusion model class 内,完整的 European option surface 可以确定与这些 marginal distributions 一致的 local-volatility coefficient。它并不意味着 vanilla surface 唯一决定了 underlying 的全部 stochastic dynamics。

事实上,local-volatility model 与 stochastic-volatility model 可以生成极为接近的 European option prices,却对未来 smile dynamics 或 path-dependent claims 给出不同结果。[Gatheral, 2006; Bergomi]

Dupire 还直接暴露了 inverse problem 的脆弱性:右侧需要

$$ \partial_T C, \qquad \partial_{KK}C, $$

而市场只给我们 noisy、discrete bid–ask observations。微分会放大输入噪声,所以实际 inversion 不能跳过上一节已经建立的 smooth、arbitrage-consistent surface,并且必须保证使用区域中至少满足

$$ \partial_{KK}C>0. $$

于是顺序必须是

$$ \boxed{ \text{raw quotes} \rightarrow \text{clean market surface} \rightarrow \text{inverse problem}. } $$

而不是把 raw prices 直接扔进 optimizer。

有限维 calibration 同样需要明确 admissible parameter set

$$ \mathcal A_{\vartheta}^{\mathbb Q}. $$

例如在 Heston calibration 中,variance positivity、parameter bounds 以及是否强制某种 Feller-type convention 都必须作为 implementation choice 明确记录;不应把某一条常见约束未经说明地提升为所有实现都必须满足的唯一规则。

如果 objective 中加入 regularizer

$$ \mathcal R(\boldsymbol\vartheta), $$

也必须说明它在惩罚什么:parameter size、time variation、相对 prior 的偏离,还是其他结构。Regularization 改变了 calibration problem 本身,而不是简单地“让 optimizer 更稳定”。

来源边界:当前项目文献足以支持 regularized calibration 的实践存在,但没有 formal inverse-problem / regularization 教材作为理论来源。因此本文不在这里声称某个特定 regularizer 能一般性地恢复 uniqueness 或 stability。

至此,即使 objective 找到了一个很低的 minimum,仍然不能马上说“参数已经被市场确定”。


5. 何时可以相信校准结果,而不只相信 in-sample fit?

设 calibrated parameter 为

$$ \widehat{\boldsymbol\vartheta}^{\mathbb Q}. $$

在它附近,对 model outputs 做一阶展开:

$$ \delta\mathbf m \approx J\,\delta\boldsymbol\vartheta, $$

其中 calibration Jacobian 为

$$ J_{ij} := \frac{\partial m_i} {\partial\vartheta_j}. $$

如果存在某个 parameter direction 满足

$$ J\,\delta\boldsymbol\vartheta \approx0, $$

那么沿这个方向改变参数,即使幅度很大,calibration instruments 的 model prices 也可能几乎不变。

于是市场可以非常精确地告诉我们

$$ \mathbf m(\boldsymbol\vartheta) $$

应该在哪里,却几乎没有告诉我们

$$ \boldsymbol\vartheta $$

应该在哪里。

这就是 price fit 与 parameter identification 的区别。

在 regular local analysis 下,

$$ \operatorname{rank}(J) \mathrel{=} \dim(\boldsymbol\vartheta) $$

是判断参数是否具有独立局部可观察方向的标准 regularity condition。反过来,如果最小 singular value 很小,那么 calibration 在某些 parameter directions 上接近 singular。

在最简单的 unconstrained local linearization 中,

$$ \delta \widehat{\boldsymbol\vartheta}^{\mathbb Q} \approx J^+\delta\mathbf y, $$

其中 $J^+$ 是 pseudoinverse。

这意味着,当 $J$ 接近奇异时,一个很小的 quote perturbation

$$ \delta\mathbf y $$

就可能对应很大的 parameter perturbation。

于是实务中常见的现象——market surface 几乎没动,但某个 Heston parameter 突然大幅跳动——不一定是 optimizer 出错。它可能来自两个不同层次的问题。

第一类是 optimization landscape:objective 有多个 local minima,因此结果依赖 initialization。Homescu 对 gradient methods、initial guesses、global / hybrid optimization 等实践问题有专门讨论。[Homescu, 2011]

第二类则更根本:即使 optimizer 每次都进入同一个 basin,objective 在某些 parameter directions 上也可能本来就非常平坦。这是 identification / conditioning 问题,不会因为换一个更强的 optimizer 自动消失。

所以,一个可信的 calibration 不能只报告一句

$$ \mathrm{RMSE}=0.002. $$

至少应该进一步检查:

  • multi-start 是否得到相近的 minima;
  • profile loss / contour 是否存在明显平坦方向;
  • parameter bounds 是否频繁被撞到;
  • Jacobian singular values 是否显示弱识别方向;
  • 小幅 bump quotes 后 parameters 是否失控;
  • rolling calibration 是否出现无经济解释的跳变;
  • out-of-sample options 是否仍有合理 fit;
  • 改变 numerical tolerance 后结果是否稳定。

更重要的是,稳定的 model outputs 可能比稳定的 raw parameters 更重要

如果两组不同参数

$$ \boldsymbol\vartheta^{(1)} \neq \boldsymbol\vartheta^{(2)} $$

却满足

$$ \mathbf m(\boldsymbol\vartheta^{(1)}) \approx \mathbf m(\boldsymbol\vartheta^{(2)}), $$

那么仅仅因为参数不稳定,并不能立刻推出模型的 vanilla marks 不稳定;但它会直接影响 parameter interpretation,以及后面基于 recalibration 的 risk mapping。

同样,even perfect vanilla fit 也不能识别所有 dynamics。不同 model classes 可以拟合几乎相同的 European surface,却对未来 smile evolution 或 path-dependent claims 给出不同结果。Gatheral 对 local volatility 与 stochastic volatility 的对比正好说明了这一点。[Gatheral, 2006]

因此 calibration quality 至少包含两个彼此独立的问题:

$$ \boxed{ \text{模型输出是否贴近市场?} } $$

以及

$$ \boxed{ \text{实现这种贴近的参数是否可识别、稳定?} } $$

前者是 fit,后者才是 inverse problem 的 stability / identification。

来源边界:当前项目没有 formal identifiability / ill-posed inverse problem 的标准理论来源。因此这里使用 Jacobian rank、singular values 与 pseudoinverse perturbation 作为 local diagnostics,不把它们单独提升为 global uniqueness theorem。

这一点还有一个直接的工程后果。

如果同一个 market snapshot 存在多个近似等价的 minimizers,那么抽象的

$$ \arg\min $$

本身是一个 set。于是下一节写

$$ \mathcal C(\boldsymbol\eta_t) $$

时,$\mathcal C$ 不能只代表 objective function;它必须代表整个实际 calibration procedure:calibration universe、parameter bounds、initialization、optimizer、regularization、numerical tolerance,以及在多个 candidate solutions 之间的 selection rule。

只有这样,calibration 才真正成为一张可以跨日期重复执行的 map。


6. Calibration 应向 risk article 交付什么?

到目前为止,$\mathbb Q$ 数据链已经可以写成

$$ \boxed{ \boldsymbol\eta_t \xrightarrow{\;\mathcal C\;} \widehat{\boldsymbol\vartheta}^{\mathbb Q}_t \xrightarrow{\;\mathcal M^{\mathbb Q}\;} V_t^i. } $$

但如果第二篇只把

$$ \widehat{\boldsymbol\vartheta}^{\mathbb Q}_t $$

交给第三篇,整条 theory $\rightarrow$ calibration $\rightarrow$ risk 链仍然是不闭合的。

原因在于,calibrated parameters 不是脱离市场独立运动的 primitive risk factors。它们本身就是完整 calibration input 的函数:

$$ \widehat{\boldsymbol\vartheta}^{\mathbb Q}_t \mathrel{=} \mathcal C(\boldsymbol\eta_t), \qquad \boldsymbol\eta_t=(\mathbf y_t,\mathbf a_t). $$

因此还需要另外定义直接进入 marking function 的 market-state vector

$$ \mathbf z_t. $$

当前 mark 应完整写成

$$ \boxed{ V_t^i \mathrel{=} \mathcal M^{\mathbb Q} \left( \mathbf z_{t,i}; \mathcal C(\boldsymbol\eta_t) \right). } $$

这里的 notation 不是形式主义。

$\mathbf z_{t,i}$ 可能包含 spot、curve 或其他直接 pricing states;$\boldsymbol\eta_t$ 则包含用于重新确定 calibrated parameters 的 option quotes 与当日辅助输入。两者在真实系统里可能共享经济因子,所以进入 risk attribution 之前必须固定 factor partition,否则同一个 market move 可能既被作为 direct move 记一次,又通过 recalibration 再记一次。

如果 calibration map 在当前输入附近可微,本篇把它的 Jacobian 记为

$$ \boxed{ J_{\mathcal C}(\boldsymbol\eta_t) := \frac{\partial\mathcal C}{\partial\boldsymbol\eta} (\boldsymbol\eta_t). } $$

这里不提前展开 composite pricing map 的 chain rule,也不定义 PnL buckets;第三篇第 3 节会用 $J_{\mathcal C}$ 把 direct-state move 与 recalibration move 组合起来。本篇只交付这张 map、它的局部 Jacobian 以及 factor-overlap 说明。

如果 calibration procedure 在某处并不光滑——例如 optimizer 会在不同 minima 之间跳跃——那么

$$ J_{\mathcal C} $$

可能没有稳定的局部意义。此时实际系统可以交付一个明确的 bump-and-recalibrate operator:

$$ \boldsymbol\eta \rightarrow \boldsymbol\eta+\delta\boldsymbol\eta \rightarrow \mathcal C(\boldsymbol\eta+\delta\boldsymbol\eta) \rightarrow V^{\mathrm{bumped}}. $$

它保留了同一个核心事实:risk engine 必须知道 parameters 是怎样由 market quotes 重新生成的。

因此,本篇向下一篇交付的不是孤立的一组 numbers,而是一整套可复现的 marking specification:

  • 当前 $\widehat{\boldsymbol\vartheta}^{\mathbb Q}_t$ 与 current model mark;
  • complete calibration input $\boldsymbol\eta_t=(\mathbf y_t,\mathbf a_t)$ 及其中的 quote target $\mathbf y_t$;
  • per-contract market-state vector $\mathbf z_{t,i}$ 以及它与 $\boldsymbol\eta_t$ 是否共享底层因子;
  • calibration universe;
  • objective、weights 与 parameter constraints;
  • numerical tolerance 与 fit residual;
  • calibration map $\mathcal C$;
  • $J_{\mathcal C}$ 或 bump-and-recalibrate rule;
  • frozen / recalibrated marking policy。

到这里,一个定价模型才算在 operational sense 上完成了 model closure:市场状态不再只是外部观测,而是通过一条明确、可重复的 calibration procedure 被映射成足以驱动 pricing engine 的当前 model state。

来源边界:$J_{\mathcal C}$ 是 calibration procedure 的局部 Jacobian;当前项目 source map 没有 recalibration-risk attribution 的直接金融文献来源。因此本文只把它作为 B $\rightarrow$ C 的数学接口,不在这里赋予额外的市场惯例或 risk taxonomy。


结语:Calibration 不是“找到几个参数”

从上一篇到这一篇,模型完成了从 abstract pricing operator 到 market marking system 的转换。

上一篇给出

$$ V_t^i \mathrel{=} \mathcal M^{\mathbb Q} (\mathbf x_{t,i};\boldsymbol\vartheta^{\mathbb Q}), $$

说明:如果模型和参数已经给定,我们知道怎样定价。

这一篇补上

$$ \widehat{\boldsymbol\vartheta}^{\mathbb Q}_t \mathrel{=} \mathcal C(\boldsymbol\eta_t), $$

于是才得到真正随市场更新的 mark:

$$ V_t^i \mathrel{=} \mathcal M^{\mathbb Q} \left( \mathbf z_{t,i}; \mathcal C(\boldsymbol\eta_t) \right). $$

这条链中没有哪一步可以跳过。

Raw quotes 不能自动成为 calibration target;implied volatility 首先只是 quote transformation;SVI 解决的是 market-surface representation,而不是 underlying dynamics;forward solver 必须先稳定,inverse optimizer 才有意义;objective、weights 与 constraints 决定了“fit”本身的含义;低 loss 不保证 parameter identification;最终交给 risk system 的也不能只有 calibrated parameters,而必须包含产生这些参数的 calibration map 与 marking convention。

因此,本篇真正建立的是

$$ \boxed{ \text{market snapshot} \longrightarrow \boldsymbol\eta_t \longrightarrow \mathcal C \longrightarrow \widehat{\boldsymbol\vartheta}^{\mathbb Q}_t \longrightarrow \mathcal M^{\mathbb Q} \longrightarrow V_t^i. } $$

至此,theory $\rightarrow$ calibration 的接口闭合。

《03 期权组合的 PnL 如何分解?》才进入最后一个问题:当 $\mathbf z_t$ 与 $\boldsymbol\eta_t$ 的底层市场因子真正发生变化时,这个 mark 如何进一步转化为 sensitivities、hedging decisions、portfolio PnL 与 residual attribution。


参考文献

  1. Jim Gatheral, The Volatility Surface: A Practitioner’s Guide, Wiley, 2006.
  2. Lorenzo Bergomi, Stochastic Volatility Modeling, CRC Press.
  3. Lucian Homescu, “Implied Volatility Surface Construction Methodologies and Characteristics”, 2011.
  4. Michael Hilber et al., Computational Methods for Quantitative Finance, 2013.
  5. Paul Wilmott, Paul Wilmott on Quantitative Finance.