基于python视角的期权详解—期权种类、对冲及投机策略

# 期权类型
# 看涨期权:给期权持有者在将来某个日期以一定价格买入某种资产的权力
# 看跌期权:给期权持有者在将来某个日期以一定价格卖出某种资产的权力
# 例1
# 投资者买入执行价格为100美元、购买100股股票的看涨期权。假如股票的价格为98元,期权到期日为4个月,购买1股股票的期权价格为5美元。
# 持有者的最初投资为500美元。期权为欧式期权,只能在到期日行权。假如到期时股票价格小于100美元,投资者不会行使权力,假如股票价格大于100美元
# 期权会被执行。
# 假定到期时股票价格为115美元,通过行使期权权力,投资者可以挣得1500美元,除去最初的期权费用,投资者盈利为1000美元
# 以下代码展示了本例投资者买入看涨期权后的盈利与最终股票价格之间的关系
import numpy as np
import matplotlib as mpl
import matplotlib.pyplot as pltimport matplotlib as mpl
mpl.rcParams["font.sans-serif"]=["SimHei"]
mpl.rcParams["axes.unicode_minus"]=FalseS=98
K=100
ST=np.linspace(70,150,100)
X=5H=np.maximum(ST-K,0)*100-X*100
plt.plot(ST,H)
plt.grid()
plt.title('欧式看涨期权的盈亏')
plt.axhline(0,color='r',linestyle="--",alpha=0.8) 
plt.legend(loc=1)
plt.xlabel(' 最终股价')
plt.ylabel(' 盈利(美元)')my_y_ticks = np.arange(-1000, 5000, 500)
plt.yticks(my_y_ticks)

在这里插入图片描述

# 例2
# 看涨期权持有者希望股票价格上涨,而看跌期权持有者希望股票价格下跌
# 假设看跌期权的执行价格为70美元,以执行价出售100股股票的看跌期权,假定股票当前的价格为65美元,期权到期日为三个月,卖出一份看跌期权的费用为7美元
# 投资者最初投资为700美元。欧式期权,只有在到期日股票价格低于70美元时才会被行权,假定到期日时股票价格为55美元投资者能以55美元买入100股股票
# 按照70美元卖出100股股票,所以投资者盈利为1500美元,减去最初的期权费用700美元,净盈利为800美元
# 以下代码为上述过程的可视化
import numpy as np
import matplotlib as mpl
import matplotlib.pyplot as pltimport matplotlib as mpl
mpl.rcParams["font.sans-serif"]=["SimHei"]
mpl.rcParams["axes.unicode_minus"]=FalseS1=65
K1=70
ST1=np.linspace(40,150,100)
X1=7H1=np.maximum(K1-ST1,0)*100-X1*100
plt.plot(ST1,H1)
plt.grid()
plt.title('欧式看跌期权的盈亏')
plt.axhline(0,color='r',linestyle="--",alpha=0.8) 
plt.legend(loc=1)
plt.xlabel(' 最终股价')
plt.ylabel(' 盈利(美元)')my_y_ticks = np.arange(-1000, 5000, 500)
plt.yticks(my_y_ticks)

在这里插入图片描述

# 期权头寸
# 任何一个期权合约都有两方,一方为期权的多头,即期权的买入方,一方为期权的空头,即期权的卖出方。
# 卖出期权的一方在最初收入期权费,但这一方在今后有潜在的义务,卖出期权的一方的盈亏与买入期权的一方的盈亏相反。
# 以下代码为期权的卖方盈亏情况
import numpy as np
import matplotlib as mpl
import matplotlib.pyplot as pltimport matplotlib as mpl
mpl.rcParams["font.sans-serif"]=["SimHei"]
mpl.rcParams["axes.unicode_minus"]=FalseS2=98
K2=100
ST2=np.linspace(70,150,10)
X2=5H2=-np.maximum(ST2-K2,0)*100+X2*100
plt.plot(ST2,H2)
plt.grid()
plt.title('卖出看涨期权的盈亏')
plt.axhline(0,color='r',linestyle="--",alpha=0.8) 
plt.legend(loc=1)
plt.xlabel(' 最终股价')
plt.ylabel(' 盈利(美元)')my_y_ticks = np.arange(-5000, 1000, 500)
plt.yticks(my_y_ticks)

在这里插入图片描述

import numpy as np
import matplotlib as mpl
import matplotlib.pyplot as pltimport matplotlib as mpl
mpl.rcParams["font.sans-serif"]=["SimHei"]
mpl.rcParams["axes.unicode_minus"]=FalseS3=65
K3=70
ST3=np.linspace(40,150,100)
X3=7H3=-np.maximum(-ST3+K3,0)*100+X3*100
plt.plot(ST3,H3)
plt.grid()
plt.title('卖出看跌期权的盈亏')
plt.axhline(0,color='r',linestyle="--",alpha=0.8) 
plt.legend(loc=1)
plt.xlabel(' 最终股价')
plt.ylabel(' 盈利(美元)')my_y_ticks = np.arange(-3000, 1000, 500)
plt.yticks(my_y_ticks)

在这里插入图片描述

# 期权的交易一共有4中头寸形式
# 1.看涨期权多头
# 2.看跌期权多头
# 3.看涨期权空头
# 4.看跌期权空头
# 假定到期日的股票价格为ST,期权的执行价格为K
# 欧式看涨期权的多头收益为:max(ST-K,0)
# 欧式看跌期权的多头收益为:max(K-ST,0)
# 欧式看涨期权的空头收益为:min(K-ST,0)
# 欧式看跌期权的空头收益为:min(ST-K,0)
import numpy as np
import matplotlib as mpl
import matplotlib.pyplot as pltK=8000ST=np.linspace(7000,9000,100)h=np.maximum(ST-K,0)
plt.figure()plt.plot(ST,h,lw=2.5)
plt.xlabel('ST')
plt.ylabel('收益')
plt.title('看涨期权多头')
plt.grid(True)

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

# 采用期权对冲
# 投资者5月持有1000股价值28元的股票,投资者担心股票价格下跌,买入看跌期权进行对冲
# 7月合约,买入10手看跌期权,期权执行价为27.5元,期权报价为1元,因此期权的持有成本为1000元import numpy as np
import matplotlib as mpl
import matplotlib.pyplot as pltS=28
K=27.5
D=1000
ST=np.linspace(20,40,100)
h=ST*1000
H=np.maximum(K-ST,0)*1000-1000+ST*1000plt.plot(ST,h,lw=2.5,color='r',linestyle='--',label='无对冲')
plt.plot(ST,H,lw=2.5,color='m',linestyle='-',label='有对冲')
plt.xlabel('股价(美元)')
plt.ylabel('持有者头寸价值(美元)')
plt.grid(True)
plt.legend(loc=0)
plt.title('证券组合在无对冲和有对冲情况下两个月后的价值')

在这里插入图片描述

# 利用期权进行投机
# 假设股票现在的价格为20美元,执行价格为22.5美元,期限为两个月的看涨期权的当前价格为1美元。
# 两中投机方式
# 1.买入100股股票
# 2.买入2000份看涨期权
# 假设1:股票两个月后上涨至27美元
# 假设2:股票两个月后下降至15美元
# 投机收益情况如下
import numpy as np
import matplotlib as mpl
import matplotlib.pyplot as pltS=20
K=22.5ST=np.linspace(10,40,100)
h=ST*100
H=np.maximum(ST-K,0)*2000-2000
plt.plot(ST,h,lw=2.5,color='r',linestyle='--',label='买入股票')
plt.plot(ST,H,lw=2.5,color='m',linestyle='-',label='买入期权')
plt.xlabel('股价(美元)')
plt.ylabel('利润(美元)')
plt.grid(True)
plt.legend(loc=0)
plt.title('对价格为20美元的股票的两种投机策略的盈亏')

在这里插入图片描述


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部