第一部分 新手入门
- 一 量化投资视频学习课程
- 二 Python 手把手教学
- 量化分析师的Python日记【第1天:谁来给我讲讲Python?】
- 量化分析师的Python日记【第2天:再接着介绍一下Python呗】
- 量化分析师的Python日记【第3天:一大波金融Library来袭之numpy篇】
- 量化分析师的Python日记【第4天:一大波金融Library来袭之scipy篇】
- 量化分析师的Python日记【第5天:数据处理的瑞士军刀pandas】
- 量化分析师的Python日记【第6天:数据处理的瑞士军刀pandas下篇
- 量化分析师的Python日记【第7天:Q Quant 之初出江湖】
- 量化分析师的Python日记【第8天 Q Quant兵器谱之函数插值】
- 量化分析师的Python日记【第9天 Q Quant兵器谱之二叉树】
- 量化分析师的Python日记【第10天 Q Quant兵器谱 -之偏微分方程1】
- 量化分析师的Python日记【第11天 Q Quant兵器谱之偏微分方程2】
- 量化分析师的Python日记【第12天:量化入门进阶之葵花宝典:因子如何产生和回测】
- 量化分析师的Python日记【第13天 Q Quant兵器谱之偏微分方程3】
- 量化分析师的Python日记【第14天:如何在优矿上做Alpha对冲模型】
- 量化分析师的Python日记【第15天:如何在优矿上搞一个wealthfront出来】
第二部分 股票量化相关
- 一 基本面分析
- 1.1 alpha 多因子模型
- 1.2 基本面因子选股
- 1.3 财报阅读 • [米缸量化读财报] 资产负债表-投资相关资产
- 1.4 股东分析
- 1.5 宏观研究
- 二 套利
- 三 事件驱动
- 四 技术分析
- 4.1 布林带
- 4.2 均线系统
- 4.3 MACD
- 4.4 阿隆指标 • 技术指标阿隆( Aroon )全解析
- 4.5 CCI • CCI 顺势指标探索
- 4.6 RSI
- 4.7 DMI • DMI 指标体系的构建及简单应用
- 4.8 EMV • EMV 技术指标的构建及应用
- 4.9 KDJ • KDJ 策略
- 4.10 CMO
- 4.11 FPC • FPC 指标选股
- 4.12 Chaikin Volatility
- 4.13 委比 • 实时计算委比
- 4.14 封单量
- 4.15 成交量 • 决战之地, IF1507 !
- 4.16 K 线分析 • 寻找夜空中最亮的星
- 五 量化模型
- 5.1 动量模型
- 5.2 Joseph Piotroski 9 F-Score Value Investing Model
- 5.3 SVR
- 5.4 决策树、随机树
- 5.5 钟摆理论
- 5.6 海龟模型
- 5.7 5217 策略
- 5.8 SMIA
- 5.9 神经网络
- 5.10 PAMR
- 5.11 Fisher Transform
- 5.12 分型假说, Hurst 指数
- 5.13 变点理论
- 5.14 Z-score Model
- 5.15 机器学习
- 5.16 DualTrust 策略和布林强盗策略
- 5.17 卡尔曼滤波
- 5.18 LPPL anti-bubble model
- 六 大数据模型
- 6.1 市场情绪分析
- 6.2 新闻热点
- 七 排名选股系统
- 八 轮动模型
- 九 组合投资
- 十 波动率
- 十一 算法交易
- 十二 中高频交易
- 十三 Alternative Strategy
第三部分 基金、利率互换、固定收益类
- 一 分级基金
- 二 基金分析
- 三 债券
- 四 利率互换
第四部分 衍生品相关
- 一 期权数据
- 二 期权系列
- 三 期权分析
- 四 期货分析
期权探秘1
版本:1.0
作者:李丞
1. 什么是期权
期权是期权买方与期权卖方达成的未来交割协议:期权的卖方承诺在未来的指定到期日向期权买方以指定的敲定价格出售(或者买入)指定的标的,这个合约是期权卖方的义务;同时是期权买方的权利。
当期权卖方有标的的卖出义务,期权买方有标的的买入权利时,这个期权称为看涨期权或者买入期权
当期权卖方有标的的买入义务,期权买方有标的的卖出权利时,这个期权称为看跌期权或者卖出期权
这样的期权可以在到期日之间在投资者之间自由的交易,这个价格的形成机制成为了期权投资者、套利者、套期保值者的研究核心。
首先我们从期权的买方(投资者)出发,研究买入期权的支付结构(Payoff):
如果到期日,标的资产价格高于敲定价格,那么投资者会很高兴行使买入的权利(Exercise);
反之在到期日,标的资产价格低于敲定价格,投资者宁可选择从市场上直接买入标的而不是行权。
如果我们假设投资者在行权之后会直接在市场上卖出标的,那么投资者的最终到期收益很容易的用下面的式子表示:
Payoff=MAX(S−K,0)
这里面S
就是到期日标的价格,K
是敲定价格。
考虑敲定价格为50的情形,让我们绘制支付函数的具体形状:
import numpy as np
from matplotlib import pylab
def future(S):
return S - 50.0
def call(S):
return max(S - 50.0,0.0)
callfunc = np.frompyfunc(call, 1, 1)
futurefunc = np.frompyfunc(future, 1, 1)
spots = np.linspace(0,100,20)
pylab.figure(figsize=(12,6))
pylab.plot(spots, callfunc(spots), 'k-.')
pylab.plot(spots, futurefunc(spots), 'ko')
font.set_size(15)
pylab.legend([u'期权',u'期货'], prop = font, loc = 'best')
pylab.title(u'期权 v.s.期货(不含期权本身价格)', fontproperties = font)
pylab.xlabel(u'标的价格', fontproperties = font)
pylab.ylabel(u'偿付', fontproperties = font)
pylab.grid()
很容易的可以从上图看到,期权相对于期货,具有上涨的完全收益,同时规避了下跌的风险。当然这样的“权利”自然不会是免费的,期权的价格就是期权买方需要付出的代价。我们这里假设期权的价格为10:
def future(S):
return S - 50.0
def call(S):
return max(S - 50.0,0.0) - 10.0
callfunc = np.frompyfunc(call, 1, 1)
spots = np.linspace(0,100,20)
pylab.figure(figsize=(12,6))
pylab.plot(spots, callfunc(spots), 'k-.')
pylab.plot(spots, futurefunc(spots), 'ko')
pylab.legend([u'期权',u'期货'], prop = font, loc = 'best')
pylab.title(u'期权 v.s.期货(含期权本身价格)', fontproperties = font)
pylab.xlabel(u'标的价格', fontproperties = font)
pylab.ylabel(u'偿付', fontproperties = font)
pylab.grid()
上图中可以清晰的看到,期权价格会直接影响到期的损益。在我们的这个例子中,除非标的价格到期涨到超过60元,客户不会有正的收益!
2. 影响期权价格的因素
这里我们暂不讨论期权的定价方法,这个我们将在后续的报告中讨论。这里我们首先讨论影响期权价格的几个显著要素。这里我们仍然选取上面的看涨期权的例子,先使用最常见的Black - Scholes模型[1](关于这个模型的详细介绍会在以后给出)。这里例子的数据取自经典教材[2]
- 期权类型:看涨期权
- 敲定价格:50
- 标的价格:50
- 无风险利率: 5%
- 红利率:0%
- 波动率:30%
- 到期时间:1年
在这篇报告中我们将只讨论:标的价格、敲定价格以及到期时间的影响。剩余的因子我们会在以后讨论。
2.1 标的价格
显然的,随着标的价格的上升,客户手上的期权未来值得行权的可能性越高,并且行权以后获得的收益也越高。由此可知期权价格是标的价格单调增函数:
optinType = Option.Call
strike = 50.0
riskFree = 0.05
dividend = 0.0
volatility = 0.3
maturity = 1.0
spots = np.linspace(10,80,20)
prices = BSMPrice(optinType, strike, spots, riskFree, dividend, volatility, maturity)['price']
pylab.figure(figsize=(12,6))
pylab.plot(spots, prices, 'k-.')
pylab.title(u'期权价格 v.s.标的价格', fontproperties = font)
pylab.xlabel(u'标的价格', fontproperties = font)
pylab.ylabel(u'期权价格', fontproperties = font)
pylab.grid()
2.2 敲定价格
与敲定价格恰恰相反,敲定价格与看涨期权价格是反向关系:敲定价格越高,看涨期权行权的可能性越小;即使可以行权,获得收益也相对于低敲定价格的期权低
strikes = np.linspace(10,80,20)
spot = 50.0
prices = BSMPrice(optinType, strikes, spot, riskFree, dividend, volatility, maturity)['price']
pylab.figure(figsize=(12,6))
pylab.plot(strikes, prices, 'k-.')
pylab.title(u'期权价格 v.s.敲定价格', fontproperties = font)
pylab.xlabel(u'敲定价格', fontproperties = font)
pylab.ylabel(u'期权价格', fontproperties = font)
pylab.grid()
2.3 到期时间
到期时间的作用不像标的价格以及行权价格那样一目了然,但是在假设的情形下吗,仍然是可以分析的:
如果离到期时间还有距离,那么意味着即使现在的标的价格仍然低于到期价格,仍然有机会“咸鱼翻身”。这时候到期时间对于期权价格的贡献是正的。
spot = 50
strike = 50
maturities = np.linspace(0.2,2.0,20)
prices = BSMPrice(optinType, strike, spot, riskFree, 0.0, volatility, maturities)['price']
pylab.figure(figsize=(12,6))
pylab.plot(maturities, prices, 'k-.')
pylab.title(u'期权价格 v.s.到期时间', fontproperties = font)
pylab.xlabel(u'到期时间', fontproperties = font)
pylab.ylabel(u'期权价格', fontproperties = font)
pylab.grid()
直接可以看到,期权的价格是到期时间单调增函数。
但是期权到期时间的影响没有那么简单,让我们看下面这张图:这里假设红利比率为20%,期权价格在1年左右达到最大值,随后开始下降。这里面的原因比较复杂,留待我们以后的报告中解释。
spot = 50
strike = 50
maturities = np.linspace(0.2,2.0,20)
prices = BSMPrice(optinType, strike, spot, riskFree, 0.2, volatility, maturities)['price']
pylab.figure(figsize=(12,6))
pylab.plot(maturities, prices, 'k-.')
pylab.title(u'期权价格 v.s.到期时间(红利水平20%)', fontproperties = font)
pylab.xlabel(u'到期时间', fontproperties = font)
pylab.ylabel(u'期权价格', fontproperties = font)
pylab.grid()
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论