刺蝟教你量化投資(二十三):計算期權價值

計算期權的價值有許多種方法,但萬變不離其宗,核心原理都是將未來現金流的各種情況按照其發生的概率折現。首先看看BSM模型和隱含波動率的問題。

BSM期權價格計算公式

BSM模型假設:
1、股價隨機波動並服從正態分佈;(特別不符合現實)
2、期權有效期內,Rf和E(r)和價格波動率恆定;(特別不符合現實)
3、市場無摩擦,沒有交易成本及稅收;
4、股票資產在期權有效期內不分紅;
5、適用於歐式期權;
6、沒有無風險套利的機會;
7、交易是連續的,非離散;
8、沒有賣空限制。

簡單而言,看漲期權的價值等於股價與執行價格的差額,即C = S - X。

我們不知道未來股價S,所以用S0代替,現在的S0與未來的S之間需要乘以正態分佈的累積概率,即N(d1)。

我們知道未來的執行價格X,但爲了求現在的期權價值,則需減去的其實是X的現值。因此X需要乘以 e的-rT次方。同時,由於行權並不一定會發生,因此需要再乘以執行的概率N(d2),即S大於等於X的概率。

隱含波動率與歷史波動率

波動率越大,可選擇權越大,期權的價值越大。

implied vol意義是按照實際期權價格倒推出來的波動率,表示市場的觀點。隱含波動率越大,表示預期的波動率越大。

歷史波動率的意義是根據過往的股價數據,求出的股價波動率,代表了歷史的真實情況。

隱含波動率的計算

使用牛頓迭代法近似求解非線性方程。根據C(St,K,t,T,r,σ) = C* 倒推出σ。公式如下:

對於一個一元二次方程,可用公式(x+a/x)/2來計算。比如求根號a,可以先假設x是其解,則計算 (x+a/x)/2,得到的結果x1繼續代入(x1+a/x1)/2,一直重複下去,即可得近似值。

一般化公式爲x1 = x0 - (f(x0)-0)/f'(x0)。其中的0其實是目標y的值,在求隱含波動率的時候,數值爲當前股價。

其中,f'(x0)其實就是Vega,其公式爲:

理解公式的計算步驟後,即可將其轉換成Python代碼,先導入期權的風險要素數據,然後計算Vega,然後代入牛頓迭代法的公式,進一步求出期權的隱含波動率,最後是可視化呈現。依照這個思路,可以藉助Python的計算能力,大大節約數據分析的時間。


刺蝟偷腥
2019年1月10日

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章