定價

嵌套定價模型在兩類不同衍生品上的校準一致

  • December 29, 2014

大家好,我在 MATLAB 中程式,在校准定價模型的幾個嵌套規範時,我遇到了以下優化問題。

摘要:我有兩種定價模式( $ 1 $ 和 $ 2 $ , $ 1 $ 嵌套在 $ 2 $ ,即模型 $ 2 $ 簡化為模型 $ 1 $ 如果考慮其參數的特定配置)和兩組導數( $ A $ 和 $ B $ )。我同時在兩組儀器上校準每個模型,最大限度地減少定價錯誤。沒關係。嵌套請求中出現問題:我想要模型 $ 2 $ 分別在兩種工具集上產生較低的定價錯誤,我想知道是否可以定義一個自動完成此任務的損失函式,即我希望這種一致性條件成立:

$$ \begin{equation} \left{ \begin{aligned} error_{A}[2] \leq error_{A}[1] \ error_{B}[2] \leq error_{B}[1] \end{aligned} \right. \end{equation} $$ 不僅如此 $$ error_{A}[2] + error_{B}[2] \leq error_{A}[1] + error_{B}[1] $$ 摘要結束。 我正在考慮我想定價的兩組衍生品,比如說 $ A $ 和 $ B $ . 在課堂裡 $ A $ , 有 $ i=1,…,N $ 工具,市場價格表示為 $ a^{i}{MKT} $ , 在另一個有 $ j=1,…,M $ 工具,其市場價格用 $ b^{j}{MKT} $ .

我從一個模型開始 $ 1 $ ,取決於一組 $ {x} $ 的參數。在此模型下,儀器的模型價格 $ A $ 和 $ B $ 表示為 $ a^{i}{mdl}(x) $ 和 $ b^{j}{mdl}(x) $ .

簡單的想法是校準模型參數 $ {x} $ 最小化定價誤差。例如最小化平方和誤差損失:

$$ \begin{equation} \begin{aligned} loss(x) &= loss_{A}(x) + loss_{B}(x) \ &= \sum^{N}{i=1}\left|a^{i}{MKT} - a^{i}{mdl}(x) \right|^2 + \sum^{M}{j=1}\left|b^{j}{MKT} - b^{j}{mdl}(x) \right|^2 \end{aligned} \end{equation} $$ 這樣,最優參數 $ {x_{opt}} $ 將是那些最小化的 $ loss(x) $ . 隨它去:

$$ \begin{equation} \begin{aligned} loss(x_{opt}) &= loss_{A}(x_{opt}) + loss_{B}(x_{opt}) \ &\stackrel{def}{=} error_{A}[1] + error_{B}[1] \end{aligned} \end{equation} $$ 現在我的問題:我正在考慮一個模型 $ 2 $ 這是模型的概括 $ 1 $ , 從某種意義上說,模型 $ 2 $ 取決於擴展參數集 $ {x,y} $ . 模型 $ 2 $ 產生模型價格 $ \hat{a}^{i}{mdl}(x,y) $ 和 $ \hat{b}^{j}{mdl}(x,y) $ . 為了說明起見,您可能會認為該模型 $ 2 $ 簡化為模型 $ 1 $ 如果 $ y=0 $ , IE $ \hat{a}^{i}{mdl}(x,0) = a^{i}{mdl}(x) $ 和 $ \hat{b}^{i}{mdl}(x,0) = b^{i}{mdl}(x) $ .

現在,如果我繼續使用上述 SSE $ loss $ 校準模型 $ 2 $ , 我會最小化

$$ \begin{equation} \begin{aligned} loss(x,y) &= loss_{A}(x,y) + loss_{B}(x,y) \ &= \sum^{N}{i=1}\left|a^{i}{MKT} - \hat{a}^{i}{MDL}(x,y) \right|^2 + \sum^{M}{j=1}\left|b^{j}{MKT} - \hat{b}^{j}{mdl}(x,y) \right|^2 \end{aligned} \end{equation} $$ 模型的優化參數 $ 2 $ 將會 $ {x_{opt},y_{opt}} $ 相應地我們定義: $$ \begin{equation} \begin{aligned} loss(x_{opt},y_{opt}) &= loss_{A}(x_{opt},y_{opt}) + loss_{B}(x_{opt},y_{opt}) \ &\stackrel{def}{=} error_{A}[2] + error_{B}[2] \end{aligned} \end{equation} $$ 現在上述校準肯定會產生以下嵌套關係: $$ error_{A}[2] + error_{B}[2] \leq error_{A}[1] + error_{B}[1] $$ 但不是必需的 $$ \begin{equation} \left{ \begin{aligned} error_{A}[2] \leq error_{A}[1] \ error_{B}[2] \leq error_{B}[1] \end{aligned} \right. \end{equation} $$ 這就是我想要的。例如,模型 $ 2 $ 可以大大提高定價 $ A $ 衍生品,但在套裝上略有錯誤定價 $ B $ , wrt 模型 $ 1 $ . 我想要的是那個模型 $ 2 $ 根據模型改進定價 $ 1 $ 雙方 $ A $ 和 $ B $ 套! 任何人都可以建議我進行損失/校準程序/任何實現此目標的方法。提前感謝您的時間和關注。


技術說明:我的程序是在 Matlab 優化工具箱中使用lsqnonlin執行的。

似乎您隱含地考慮了多目標優化,因此當然可能會發生您無法同時實現所有目標的情況。假設一個更通用模型的輸出是 $ f(x,y) $ 所以第一個模型的輸出是 $ f(x,0) = f_0(x) $ . 表示市場價格 $ m_k $ 在您的情況下,這意味著 $ m_1 = A $ 和 $ m_2= B $ 您執行以下優化:

$$ (x’,y’):=\arg\min \sum_k d(f,m_k),\qquad x’’:=\arg\min \sum_k d(f_0,m_k), $$ 在哪裡 $ d $ 表示適當的距離函式 ( $ L_2 $ 在你的情況下規範)。現在,如果你想滿足額外的約束 $ d(f(x’,y’),m_k) \leq d(f(x’’,0),m_k) ;\forall k $ ,您只需將它們包含在您的優化中。我將概述如下步驟:

  1. 計算 $ x’’ $ 只需將第一個模型擬合到市場數據中即可。
  2. 使用約束 $ x’’ $ 在上一步中獲得以找到最佳的 $ (x’,y’) $ 對於第二個模型。

第二步的詳細實現取決於模型的結構,但本質上它只會使您使用的過程更加複雜,因為現在您必須考慮約束,以便最佳解決方案可能位於一個描述的邊界上的約束。例如,如果您之前使用梯度下降,現在您也可以使用它,但忽略引導您超出約束的方向:在這種情況下,只需沿著約束在所需方向移動。

引用自:https://quant.stackexchange.com/questions/15853