非線性方程求解問題,撰寫計算隱含波動率的VBA函式。設σ滿足如下方程:

撰寫一個函式,其中C,S,X,r,T為輸入引數,計算σ的取值,0<σ<=1。
我的代碼是這樣的,請問哪里錯了呢?
Function f(c, s, x, r, t As Double)
Dim d1, d2, z, delta, temp, tempz As Double
temp = 1
For z = 0.1 To 1 Step 0.1
d1 = (((Log(s / x)) + (r * 1 / 2 * z * z) * t)) / (z * Sqr(t))
d2 = d1 - z * Sqr(t)
y = s * Norm.s.Dist(d1) - x * Exp(-r * t) * Norm.s.Dist(d2)
delta = c - y
If delta < 0 Then delta = -delta
If temp > delta Then temp = delta: tempz = z
Next z
f = tempz
End Function
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/84158.html
標籤:VBA
上一篇:VB--GetSubMemu句柄,并實作滑鼠點擊功能
下一篇:共用亂數
