python BSM
时间: 2023-10-12 08:05:43 浏览: 136
BSM(Black-Scholes-Merton)是用于定价欧式期权的数学模型,它基于一些基本假设,包括股票价格的对数正态分布、无风险利率的恒定和市场无摩擦。在Python中,你可以使用一些库来计算BSM模型的期权定价,例如`numpy`和`scipy`。
下面是一个使用Python计算BSM期权定价的示例代码:
```python
import numpy as np
from scipy.stats import norm
def bsm_option_price(S, K, r, T, sigma, option_type):
d1 = (np.log(S/K) + (r + 0.5*sigma**2)*T) / (sigma*np.sqrt(T))
d2 = d1 - sigma*np.sqrt(T)
if option_type == 'call':
price = S*norm.cdf(d1) - K*np.exp(-r*T)*norm.cdf(d2)
elif option_type == 'put':
price = K*np.exp(-r*T)*norm.cdf(-d2) - S*norm.cdf(-d1)
else:
raise ValueError("Invalid option type")
return price
# 示例参数
S = 100 # 标的资产价格
K = 100 # 行权价格
r = 0.05 # 无风险利率
T = 1 # 时间到期
sigma = 0.2 # 标的资产的波动率
# 计算call和put期权的定价
阅读全文