def call_BSM():
'''运用布莱克-斯科尔斯-莫顿定价模型计算期权在授予日的公允价值
S:股票在授予日的市价;
K:股票期权的行权价;
sigma:股票收益率的年化波动率;
r:连续复利的无风险年收益率;
T:股票期权的剩余到期时间(按年算)'''
import numpy as np
import scipy
from scipy.stats import norm
r1 = float(input("请输入无风险年收益率r:"))
r=np.log(1+r1)
print("无风险年收益率转化为连续复利的无风险年收益率为:",r)
S = float(input("请输入股票在期权授予当日的市价S:"))
K = float(input("请输入股票期权的执行价格K:"))
sigma = float(input("请输入股票收益率的年化波动率sigma:"))
T = float(input("请输入股票的剩余到期时间T:"))
d1=(np.log(S/K)+(r+pow(sigma,2)/2)*T)/(sigma*np.sqrt(T))
d2=d1-sigma*np.sqrt(T)
print("欧式看涨期权的价格为:",S*norm.cdf(d1)-K*np.exp(-r*T)*norm.cdf(d2))
option_price = call_BSM()
看涨期权计算函数实现(Python)
最新推荐文章于 2023-04-06 16:28:27 发布