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...