Python画期权的payoff图,同时要展示出不同到期时间的损益图
时间: 2024-02-27 14:56:58 浏览: 27
好的,您可以使用Python中的Matplotlib库来画期权的payoff图。以下是一个简单的例子,展示了一个看涨期权和看跌期权的payoff图,同时展示了不同到期时间的损益图:
```python
import numpy as np
import matplotlib.pyplot as plt
# 看涨期权的payoff函数
def call_payoff(sT, strike_price, premium):
return np.where(sT > strike_price, sT - strike_price, 0) - premium
# 看跌期权的payoff函数
def put_payoff(sT, strike_price, premium):
return np.where(sT < strike_price, strike_price - sT, 0) - premium
# 设置参数
spot_price = 100
strike_price = 105
premium = 2
# 生成股票价格数组
sT = np.arange(80, 120, 1)
# 画图
plt.figure(figsize=(10,5))
plt.plot(sT, call_payoff(sT, strike_price, premium), label='Call Option')
plt.plot(sT, put_payoff(sT, strike_price, premium), label='Put Option')
plt.xlabel('股票价格')
plt.ylabel('收益')
plt.title('看涨和看跌期权的Payoff图')
plt.legend()
plt.show()
# 不同到期时间的损益图
expiries = [30, 60, 90] # 到期时间
plt.figure(figsize=(10,5))
for expiry in expiries:
t = expiry/365
call_profit = call_payoff(sT, strike_price, premium) - premium
put_profit = put_payoff(sT, strike_price, premium) - premium
call_profit = call_profit * np.exp(-r*t)
put_profit = put_profit * np.exp(-r*t)
plt.plot(sT, call_profit, label='Call Option, T={}'.format(expiry))
plt.plot(sT, put_profit, label='Put Option, T={}'.format(expiry))
plt.xlabel('股票价格')
plt.ylabel('收益')
plt.title('不同到期时间的损益图')
plt.legend()
plt.show()
```
在这个例子中,我们首先定义了看涨期权和看跌期权的payoff函数,然后设置了一些参数,如股票价格、执行价格和期权费用。接下来,我们生成了一个股票价格数组,并使用Matplotlib库来画出看涨期权和看跌期权的payoff图。最后,我们使用不同的到期时间来计算不同的损益图,并使用Matplotlib库将其画出。
相关推荐
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)