蒙特卡羅

局部波動率模型的正確蒙特卡羅模擬

  • February 18, 2021

我正在使用蒙特卡羅模擬在時間點網格上演化以下 SDE $ 0,t_1,…,t_N $ .

$$ \begin{equation} dS(t)=\sigma(t, S(t))dw(t) \end{equation} $$

這裡 $ \sigma(t_i,S(t_i)), i=1,…,N $ 之前已經根據 Dupire 公式使用到期的歐式期權確定 $ t_i $ . SDE 的歐拉離散化 $ t_{i} $ 至 $ t_{i+1} $ 給出:

$$ \begin{equation} S(t_{i+1}) = S(t_i) + \sigma(t_i, S(t_{i})) \sqrt{\Delta t_i}\zeta(0,1) \end{equation} $$ 在哪裡 $ \zeta(0,1) $ 是標準高斯變數,並且 $ \Delta t_i=t_{i+1}-t_{i} $ . 也就是說,給定 $ S(t_i) $ , 期間的波動率 $ t_i $ 至 $ t_{i+1} $ , 是從時間的局部波動率表面插值的 $ t_i $ , IE $ \sigma(t_i,S(t_i)) $ 並在此期間持平 $ t_i $ 至 $ t_{i+1} $ .

但從理論的角度來看,這感覺是錯誤的。 $ \sigma(t_i,S(t_i)) $ 來自馬爾可夫投影/Gyongy定理論證,即從時間上取的波動率 $ 0 $ 到時間 $ t_i $ 為了匹配真實的分佈 $ S(t_i) $ 使用近似 SDE。所以,為了匹配分佈 $ S(t_i) $ , 我希望 $ \sigma(t_i,S(t_i)) $ 從今天起在整個期間應用(時間 $ 0 $ ) 至 $ t_i $ ,不只是從 $ t_i $ 至 $ t_{i+1} $ . 更令人擔憂的是,鑑於在前一個時間步, $ t_{i-1} $ 至 $ t_i $ , 我們使用波動率 $ \sigma(t_{i-1},S(t_{i-1})) $ 表面上,我看不出我們將如何恢復時間 $ t_i $ 的分佈 $ S(t_i) $ 用這種方法。

所以我在模擬時不禁想到 $ t_i $ 至 $ t_{i+1} $ , 而不是僅從 $ \sigma(t_i, S(t_i)) $ ,我們應該從兩者進行插值 $ \sigma(t_i,S(t_i)) $ 和 $ \sigma(t_{i+1},S(t_{i+1})) $ 推斷遠期波動率, $ \hat{\sigma}(t_i,S(t_i)) $ . 類似的東西(這只是一個猜測)

$$ \begin{equation} \hat{\sigma}(t_i,S(t_i)) = \sqrt{\frac{\sigma(t_{i+1}, S(t_{i}))^2 t_{i+1}- \sigma(t_i, S(t_i))^2 t_i}{\Delta t_i}} \end{equation} $$

因為我讀過的所有論文都只是從 $ \sigma(t_i, S(t_i)) $ ,我相當肯定我錯了,但我不明白為什麼。任何幫助將不勝感激。

謝謝!

$$ I think $$問題在於 SDE,而不是數值方案

乍一看,正如我評論的那樣,我認為您遇到的問題更多地源於基礎 SDE,而不是數值近似方案。為了進一步解釋這一點,讓我們快速回顧一下 SDE $$ \mathrm{d}S_t = \sigma(t, S_t) ,\mathrm{d}W_t $$ 有一些給定的初始條件(例如 $ S_t = S_0 $ 在 $ t = 0 $ ),這實際上是積分方程的解 $$ S_t = S_0 + \int_0^{t} \sigma(u, S_u) ,\mathrm{d}W_u. $$ 您使用的積分被解釋為 Ito 積分,定義為極限 $$ \int_0^{t} \sigma(u, S_u) ,\mathrm{d}W_u = \lim_{\delta t \to 0} \sum_i \sigma(t_i, S_{t_i}) (W_{t_{i+1}} - W_{t_i}). $$

回想一下,Euler-Maruyama 方案只是通過出現在極限中的相同事物來近似這個積分。因此,數值方案和潛在的隨機過程都存在您難以解決的缺陷。因此,我不會將感知到的建模缺陷歸咎於數值方案。

Stratonovich 積分似乎更合適

看起來你可能追求的是一個可以看到平均波動率的過程,特別是如果你打算用數值方案來捕捉它。擷取這一點的一種方法是使用 Stratonovich 積分/SDE 來描述該過程,而我們有 $$ \int_0^{t} \sigma(u, S_u) \circ ,\mathrm{d}W_u = \lim_{\delta t \to 0} \sum_i \dfrac{\sigma(t_i, S_{t_i}) + \sigma(t_{i+1}, S_{t_{i+1}})}{2} (W_{t_{i+1}} - W_{t_i}), $$ 然後將其寫為 SDE $$ \mathrm{d}S_t = \sigma(t, S_t) \circ ,\mathrm{d}W_t. $$

然後,您可以看到您希望建模的動力學、隨機過程和數值近似方案之間似乎有更好的匹配。有關如何逼近 Stratonovich SDE 的解的詳細資訊,請參閱 Kloeden 和 Platen。

關於數值方案、財務建模和隨機過程的一些評論

值得注意的是,這只是金融市場的一個模型,而不是嚴格的數學分析(因此它是關於量化金融而不是數學溢出)。在現實的金融世界中,可以說使用離散時間模型同樣(甚至更)合適。此外,在數學建模中,您經常需要確定底層模型是什麼,以及它是基本離散的還是連續的。雖然連續模型通常在分析上更具吸引力,但如果核心模型是離散的,那麼通過連續過程對其進行近似,然後通過離散過程再次對其進行近似是不必要的本末倒置。

儘管如此,如果您確定問題是數值方案的缺點,那麼還有無數其他數值方案,您可能會發現其中許多更有吸引力或更適合您的目的。只需拿起 Kloeden 和 Platen,看看迭代方法、校正方法、高階方法、Stratonovich 積分方法等。

儘管@oliversm 對我的問題的回答非常出色,但我認為還有一個關於如何解釋的問題 $ \sigma(t,S(t)) $ 在本地捲模型中。

鑑於 $ \sigma(t,S(t)) $ 來自一個複雜隨機過程的馬爾可夫投影到一個更簡單的過程,我的解釋(可能是錯誤的)是它應該代表一個單一的波動率(條件是知道 $ S(t_i) $ )不時使用 $ 0 $ 至 $ t_i $ 為了恢復真實的分佈 $ S(t_i) $ .

換句話說,如果我想模擬 $ S(t_i) $ 從時間 $ 0 $ 至 $ t_i $ 並恢復複雜模型的分佈,我會,以知道為條件 $ S(t_i) $ ,從 $ \sigma(t_i,S(t_i)) $ 我使用 Dupire 局部波動率方法針對歐式期權校準的函式。

問題隨之而來,然後繼續從 $ t_i $ 至 $ t_{i+1} $ . 文獻中的普遍共識是從 $ \sigma(t_{i+1},S(t_{i+1})) $ . 但這怎麼可能是正確的呢? $ \sigma(t_{i+1},S(t_{i+1})) $ 也是馬爾可夫投影的結果,(大概)也意味著當我們插值這個函式時(以知道為條件 $ S(t_{i+1}) $ ),由此產生的波動率應從 $ 0 $ 至 $ t_{i+1} $ . 但我們只使用它 $ t_i $ 至 $ t_{i+1} $ ,即僅用於時間線的一部分。那麼我們怎麼可能期望恢復時間 $ t_{i+1} $ 的分佈 $ S(t_{i+1}) $ ? 這與我們使用的數值方案無關。

一旦我們知道在模擬中的哪個時間點要使用什麼波動率,那麼我們就可以專注於可用的數值方案來近似其隨時間的演變,並接受@oliversm 的出色指導。

我希望我的論點有一個缺陷(或者可能不止一個),我會感謝任何可以闡明的人。

謝謝!

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