局部波動率

局部波動率模型錯誤

  • August 23, 2020

我正在使用 MATLAB 中的有限差分法來實現我的局部波動率定價器。我使用 SSVI 參數化 ( Gatheral & Jacquier ) 對隱含波動率表面進行參數化,這使我能夠獲得非常平滑的局部波動率表面:

在此處輸入圖像描述

我根據總隱含變異數使用 Dupire 公式 $ w(k,T) $ , 在哪裡 $ k=\log(K/F_{0,T}) $ 並interpSsviStineman負責對 ATMF 總變異數曲線進行插值,並返回任意任意任意值的隱含總變異數水平 $ k $ 和 $ T $ :

delta_k = 0.0001;
delta_t = 1e-6;
w_k_t = interpSsviStineman(k, t_, ssvi_param_);
w_k_tm = interpSsviStineman(k, t_-delta_t, ssvi_param_);
w_k_tp = interpSsviStineman(k, t_+delta_t, ssvi_param_);
dwdt = (w_k_tp-w_k_tm)/(2*delta_t);
w_km_t = interpSsviStineman(k-delta_k, t_, ssvi_param_);
w_kp_t = interpSsviStineman(k+delta_k, t_, ssvi_param_);
dwdk = (w_kp_t-w_km_t)/(2*delta_k);
d2wdk2 = (w_kp_t+w_km_t-2*w_k_t)/(delta_k^2);
[kg, ~] = ndgrid(k, t_);
local_var = dwdt./(1-kg./w_k_t.*dwdk+1/4*(-1/4-1./w_k_t+...
   kg.^2./w_k_t.^2).*(dwdk).^2 + 1/2*d2wdk2);
local_vol = sqrt(local_var);

為了驗證我的實現,我首先對用於校準波動率表面的普通選項重新定價。如果我的實現是正確的,我希望能夠取消用於生成局部波動率表面的相同隱含波動率。情況並非如此,我似乎只能匹配 AMTF 期權的價格,而我的實施卻對即將到來的期權定價過高:

在此處輸入圖像描述

我將不勝感激任何可以指出我錯誤的建議。

乾杯!

我在 PDE 求解器中遇到的錯誤是用於在時間近似選項值 $ t $ 在向後算法中,我對到期時間的局部波動率進行採樣 $ t $ 代替 $ T-t $ .

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