牛頓迭代法計算隱含波動率及引數設定
當期權價格已知,可以透過BSM求解隱含波動率即BSIV,由於無法獲得解析式,需要透過數值方法來求解BSIV,這裡主要介紹牛頓迭代法求解方法,我們將期權價格的表示式簡寫如下:
其中,s為標的價格,k為期權執行,r為無風險收益率,t為期權剩餘時間,v為隱含波動率,cp代表期權型別。
在進行牛頓迭代之前,我們要先評估期權價格是否能夠透過數值方法解出BSIV,即要判斷其時間價值是否大於0,對於認購期權要滿足p>(s-k)*e-rt,認沽期權期權要滿足price>(k-e-rt*s)。
一、牛頓法迭代法過程
將函式f(v)在
附近泰勒展開,取一階展開式:
其中:
現在已知期權價格f(v),再給出初始隱含波動率為0。2,每次迭代之後的更新波動率,直到達到精度要求為止。
當我們要求的精度在0。0001時,可以將收斂條件設為dv<0。00001,通常虛值期權迭代十次以內即可收斂。
二、引數設定
隱含波動率的計算核心在於引數的設定,不同的引數往往會帶來不同的結果,根據不同的計算需求也會有不同的引數輸入,因此需要對上述有爭議的引數逐一說明,主要是r、t和s。
(一)標的價格s
除了使用現貨價格s直接用做標的價格計算隱含波動率外,還可以使用期權的合成期貨價格,根據期權平價公式,可以得到合成期貨價格F:
合成期貨價格和現貨價格存在一定的升貼水,我們以2022年7月25日的收盤價為例,分別來觀察一下兩種不同標的價格情況下的隱含波動率結果。
從上圖可以發現直接使用現貨價格計算的隱含波動率在認購和認沽之間有明顯的差異,形成波動率差的原因可能是預期加合成期貨的升貼水。而使用合成期貨貼現的現貨價格計算得到的隱含波動率認購和認沽幾乎在同一水平上,能夠形成較平滑的波動率微笑。我們將實值度較大的期權去掉之後,將兩種方法計算的隱含波動率放在一起比較,可以發現透過現貨價格計算的隱含波動率,認購偏低,而認沽偏高。
實際交易中應該用合成現貨計算隱含波動率。因為期權合成現貨相對現貨價格總是存在一定的升貼水,並且升貼稅率都處於變動中,體現在用現貨價格計算的波動率微笑曲線上就是認購和認沽之間存在明顯的斷層,很難觀察固定波動率微笑曲線。該升貼水率q既包含了隱含融券成本,也包含了一定的認沽和認購的波動率差,很難將兩者區分開來。
(二)無風險收益率r
可以根據期權到期日在收益率曲線上找到對應得國債收益率或者Shibor利率作為無風險收益率,但是由於無風險收益率在較小範圍內變動時對隱含波動率計算結果影響不夠顯著,因此可以取固定值(比如r=2%)。具體影響可以見下圖,分別計算了無風險收益率取1%和3%情況下得結果。
(三)剩餘時間t
剩餘時間按照實際交易日/年度交易日總數計算,即按照上述例子剩餘交易日為23日,2022年實際交易日為242天。