【期权机理与python实践】

2021/11/22 22:12:07

本文主要是介绍【期权机理与python实践】,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

第一章:期权市场机制


提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录

  • 第一章:期权市场机制
  • 前言
  • 一、期权类型
  • 二、期权中的交易者
    • 1.交易者类型
    • 2.举(多)个栗子
  • 总结


前言

期权作为重要的金融衍生产品,在风险对冲,套期保值,价格发现,套利等方面发挥着重要的作用,特别是我国金融衍生品的发展速度较快,如何更好的理解期权产品内涵,知道期权交易的基础知识,掌握关于期权的常见数理模型,是一个金融专业学生的基础素养,也是对期权感兴趣的交易者需要清楚的.这个系列的博文是我个人将自己所掌握的关于期权的内容进行系统整理,对于文中大部分内容,我都会使用python软件进行复现和量化,希望大家能够一起学习,共同进步.

一、期权类型

要了解期权,首先需要认识什么是衍生产品,因为期权是衍生产品的一种.通俗而言,衍生产品就是根据某些基础产品进行派生而来的产品,因此衍生产品的标的资产或者标的变量就是这些基础资产.比如,股票期权就是根据股票价格派生出的一种衍生产品.再如最近经常说的碳中和概念,其也有派生出的碳交易期货期权,其标的资产就是碳交易期货.

长话短说,期权就是一种合约,签订期权合约的交易者就拥有了一种权利,该合约赋予持有人在某一特定日期或该日之前的任何时间以固定价格购进或售出一种资产的权利.

那么,期权的概念了解以后,我们进一步来看期权的类型.联想一下,既然期权是基础资产的衍生产品,而基础资产,如股票,其价格多数时候都是曾献上涨或者下跌的情况,因此期权也可以分为看涨期权和看跌期权.其中,看涨期权持有者拥有在未来的一段时间内可以以某一特定价格买入某种资产的权利,看跌期权持有人拥有在未来的一段时间内可以以某一特定价格卖出某种资产的权利(很容易理解,既然是看涨,那持有者便认为标的资产未来的价格会更高,因此先约定以一个"合算"的价格在未来某一时间买入该资产,同理,看跌一样理解).

在了解期权的类型以后,需要知道期权合约中几个重要的变量或者要素.正如概念中所说的,“以某一特定价格”,这个特定价格通常被称为行权价或者执行价格(敲定价格),"特定时间"通常是到期日或者期限.说到期限,需要补充一点,欧式期权的持有人只有在到期日当天才可以选择是否行驶自己的权利,而美式期权则可以在到期日之前的任一交易日行使权力.

二、期权中的交易者

1.交易者类型

在期权交易过程中,根据交易者对未来行情的看法,可以分为四类:
(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 plt

K=8000

ST=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)

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

在这里插入图片描述

在这里插入图片描述
从以上的图中可以知道,期权买方的收益是无限大,亏损是一定的,期权卖方刚好相反.

这里可以思考一下,看涨期权买方和看跌期权卖方其对标的资产未来的价格表现其实是乐观的,看涨期权卖方和看跌期权买方对标的资产未来价格的看法是消极的.

行文至此,需要再补充一点,期权的买方被称为多头,期权的卖方被称为空头.对期权买方和卖方而言,其权利和义务是极端不对等的.期权买方在支付权利金以后便拥有权利,而没有义务(也就是说买方可以觉得自己是否行权,而没有任何义务),而卖方则相反,只有义务没有权利.

2.举(多)个栗子

那么期权作为衍生产品,为什么会具有如此的重要性,以至于学者和交易者对其兴趣极大?这里举几个例子进行简单的说明(附代码)

例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 plt

import matplotlib as mpl
mpl.rcParams["font.sans-serif"]=["SimHei"]
mpl.rcParams["axes.unicode_minus"]=False

S=98
K=100
ST=np.linspace(70,150,100)
X=5

H=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 plt

import matplotlib as mpl
mpl.rcParams["font.sans-serif"]=["SimHei"]
mpl.rcParams["axes.unicode_minus"]=False

S1=65
K1=70
ST1=np.linspace(40,150,100)
X1=7

H1=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 plt

import matplotlib as mpl
mpl.rcParams["font.sans-serif"]=["SimHei"]
mpl.rcParams["axes.unicode_minus"]=False

S2=98
K2=100
ST2=np.linspace(70,150,10)
X2=5

H2=-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 plt

import matplotlib as mpl
mpl.rcParams["font.sans-serif"]=["SimHei"]
mpl.rcParams["axes.unicode_minus"]=False

S3=65
K3=70
ST3=np.linspace(40,150,100)
X3=7


H3=-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)

在这里插入图片描述
看跌期权空头则与看跌期权多头相反.当股价下跌时,其亏损加大,股价上涨时,其收益有限.

例3 采用期权对冲
投资者5月持有1000股价值28元的股票,投资者担心股票价格下跌,买入看跌期权进行对冲.
7月合约,买入10手看跌期权,期权执行价为27.5元,期权报价为1元,因此期权的持有成本为1000元

import numpy as np
import matplotlib as mpl
import matplotlib.pyplot as plt

S=28
K=27.5
D=1000
ST=np.linspace(20,40,100)
h=ST*1000
H=np.maximum(K-ST,0)*1000-1000+ST*1000

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('证券组合在无对冲和有对冲情况下两个月后的价值')

在这里插入图片描述
可以看出,对冲策略的交易成本为1000元,可以确保股票的卖出价格至少为27.5元(合约期限之内).如果到期时股价低于27.5元,则持有者会行驶权利,那么收入为27.5*1000-1000=26500元.如果到期日股价高于27.5元,持有者不行权,但是股价收益会更高.此外,对冲组合能够锁定收益最小值,效果明显由于无对冲的收益.

例4 投机

#利用期权进行投机.假设股票现在的价格为20美元,执行价格为22.5美元,期限为两个月的看涨期权的当前价格为1美元。
两中投机方式
1.买入100股股票
2.买入2000份看涨期权
假设1:股票两个月后上涨至27美元
假设2:股票两个月后下降至15美元
投机收益情况如下

import numpy as np
import matplotlib as mpl
import matplotlib.pyplot as plt
from matplotlib import pyplot as plt
import matplotlib
matplotlib.rc("font",family='DengXian')

S=20
K=22.5

ST=np.linspace(10,40,100)
h=100*(ST-20)
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美元的股票的两种投机策略的盈亏')

blog.csdnimg.cn/c7f5215907d644609008da32c975bc85.png?,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA54ix5qC8MTk5Nw==,size_13,color_FFFFFF,t_70,g_se,x_16)
通过图中可知,期权策略可能会引起比股票策略更大的损失,但是也能够获得比股票策略更高的收益.这也说明期权能够提供一种杠杆效应.

总结

这是本系列的第一篇博文,主要是介绍了期权的基本概念,以及期权交易的基础知识,接下来会对期权的交易策略进行介绍.



这篇关于【期权机理与python实践】的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程