永发信息网

如何用python计算隐含波动率

答案:1  悬赏:20  手机版
解决时间 2021-03-07 23:10
  • 提问者网友:美人性情
  • 2021-03-07 18:35
如何用python计算隐含波动率
最佳答案
  • 五星知识达人网友:风格不统一
  • 2021-03-07 19:06
  • 设定参数
  • r=0.032 # risk-free interest rate
  • t=float(30)/365 # time to expire (30 days)
  • q=0 # dividend yield
  • S0=2.3 # underlying price
  • X=2.2 # strike price
  • mktprice=0.18 # market price
  • # 用二分法求62616964757a686964616fe78988e69d8331333363376539implied volatility,暂只针对call option
  • sigma=0.3 # initial volatility
  • C=P=0
  • upper=1
  • lower=0
  • while abs(C-mktprice)>1e-6:
  • d1=(np.log(S0/X)+(r-q+sigma**2/2)*t)/(sigma*np.sqrt(t))
  • d2=d1-sigma*np.sqrt(t)
  • C=S0*np.exp(-q*t)*norm.cdf(d1)-X*np.exp(-r*t)*norm.cdf(d2)
  • P=X*np.exp(-r*t)*norm.cdf(-d2)-S0*np.exp(-q*t)*norm.cdf(-d1)
  • if C-mktprice>0:     
  • upper=sigma  
  • sigma=(sigma+lower)/2
  • else:       
  • lower=sigma     
  • sigma=(sigma+upper)/2
  • print sigma # implied volatility
  • 我要举报
    如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
    点此我要举报以上问答信息
    大家都在看
    推荐资讯