求期權的隱含波動率

2022-09-13 09:33:10 字數 2445 閱讀 6525

1

#-*- coding: utf-8 -*-

2"""

3created on wed nov 24 20:12:47 2021

4求隱波

5@author: administrator

6"""78

from scipy import

stats

9import

numpy as np

10from scipy.optimize import

fsolve

1112

defblsprice(price, strike, rate, time, volatility):13#

price標的資產市場**,strike執行**,rate無風險利率, 14#

time距離到期時間,volatility標的資產**波動率

1516 price, strike, rate, time, volatility =float(price), float(strike), \

17float(rate), float(time), float(volatility)

1819 d1 = (np.log(price / strike) + (rate + 0.5 * volatility ** 2) * time) /\

20 (volatility *np.sqrt(time))

2122 d2 = d1 - volatility *np.sqrt(time)

2324 call = price * stats.norm.cdf(d1, 0.0, 1.0) -\

25 strike * np.exp(-rate * time) * stats.norm.cdf(d2, 0.0, 1.0)

26 put = strike * np.exp(-rate * time) * stats.norm.cdf(-d2, 0.0, 1.0) -\

27 price * stats.norm.cdf(-d1, 0.0, 1.0)

2829

return

call, put

3031

def impliedvolatititycallobj(call, price, strike, rate, time, volatility_est=0.174):32#

volatility_est預期的標的資產**波動率

33def

difference(volatility_est, price, strike, rate, time):34#

根據引數,使用blsprice計算期權**

35 est_call =blsprice(price, strike, rate, time, volatility_est)[0]

36return est_call -call37#

存在乙個波動率使得下列等式成立

38 iv = fsolve(difference, volatility_est, args=(price, strike, rate, time))[0]

3940

return

iv41

42def impliedvolatitityputobj(put, price, strike, rate, time, volatility_est=0.174):

43def

difference(volatility_est, price, strike, rate, time):44#

根據引數,使用blsprice計算期權**

45 est_put = blsprice(price, strike, rate, time, volatility_est)[1]

46return est_put -put47#

存在乙個波動率使得下列等式成立

48 iv = fsolve(difference, volatility_est, args=(price, strike, rate, time))[0]

4950

return

iv5152#

函式求解

5354

55 price = 3.273

56 strike = 3.2

57 rate = 0.04

58 time = 28/365

5960

print ('

implied volatitity of call =

', impliedvolatititycallobj(0.1101, price, strike, rate, time))

61print( '

implied volatitity of put =

', impliedvolatitityputobj(0.0269, price, strike, rate, time))

求期權隱含波動率的幾種方法

最近實習開始算期權隱含波動率。期權隱含波動率的演算法寫的人不多,分享幾種計算方法。1.根據bs公式用二分法計算 從wind裡面取數之後算會出現的實際問題是有些 的期權並沒有 沒人買 所以顯示p 0。def bsm f0,k,t,r,sigma d1 np.log f0 k r 0.5 sigma 2...

隱含馬爾可夫 隱含狀態 隱含的危險

隱含馬爾可夫 隱含狀態 本文是對前幾天我讀到的 未經學習的青年程式設計師 文章的回應 如果您之前花一些時間閱讀它會更好,但是對於 屬於我的那些 懶惰的人,這裡是乙份簡短的簡歷。作者似乎是一位經驗豐富的軟體開發人員。他觀察到,當他要求其他初級開發人員執行某些操作時,結果通常不是他期望的。為了說明他的觀...

隱含的 this 指標

成員函式具有乙個附加的隱含形參,即指向該類物件的乙個指標。這個隱含形參命名為 this,與呼叫成員函式的物件繫結在一起。儘管在成員函式內部顯式引用 this 通常是不必要的,但有一種情況下必須這樣做 當我們需要將乙個物件作為整體引用而不是引用物件的乙個成員時。最常見的情況是在這樣的函式中使用 thi...