簡體   English   中英

VBA 中的 SABR 模型隱含波動率

[英]SABR Model Implied Volatility in VBA

我正在嘗試編寫一個代碼,該代碼將在給定上述參數的情況下根據 SABR 模型計算隱含波動率。 但是,我總是為 ATM vol 獲得 NA。 使用的隱含波動率公式是這樣的: 在此處輸入圖片說明

Function SABRIV(alpha As Double, beta As Double, v As Double, rho As Double, f As Double, k As Double, T As Double) As Double
Dim z As Double
Dim x As Double
Dim numerator As Double
Dim denominator As Double

z = (v / alpha) * ((f * k) ^ ((1 - beta) / 2)) * Application.Ln(f / k)
x = Application.Ln((Sqr(1 - 2 * rho * z + z ^ 2) + z - rho) / (1 - rho))
numerator = ((1 - beta) ^ 2 / 24) * ((alpha ^ 2) / ((f * k) ^ (1 - beta))) + 1 / 4 * (rho * beta * v * alpha) / ((f * k) ^ ((1 - beta) / 2)) + (((2 - 3 * rho ^ 2) * v ^ 2) / 24)
denominator = (((f * k) ^ ((1 - beta) / 2)) * (1 + (((1 - beta) ^ 2) / 24) * (Application.Ln(f / k) ^ 2) + (((1 - beta) ^ 4) / 1920) * (Application.Ln(f / k) ^ 4)))

SABRIV = (alpha * (1 + numerator) * T) / denominator * z / x
End Function

波動率ATM(when f==K)有一個特例公式。 看看你的函數z/x(z)==1 ,由於log(f/K)消失,分母減少到f**(1 - beta)所以你得到:

SABRIV = (alpha * (1 + numerator) * T) / denominator

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM