(来源网站:运兴ETF)
提到期权,大家可能常常听到认购期权、欧式期权、虚值期权等各种叫法,认为很复杂,其实这些只是对期权的不同分类。
从期权买方的权利内容来看,期权可以分为认购期权(call options)和认沽期权(put options)。
认购期权是指期权的买方向期权的卖方支付一定数额的权利金后,将有权在期权合约规定的时间内,按事先约定的价格向期权卖方买入一定数量的期权合约规定的标的资产,但不负有必须买进的义务。而期权卖方有义务在期权合约规定的时间内,应期权买方的要求,以期权合约事先规定的价格卖出期权合约规定的标的资产。
认沽期权是指期权的买方向期权的卖方支付一定数额的权利金后,即有权在期权合约规定的时间内,按事先约定的价格向期权卖方卖出一定数量的期权合约规定的标的资产,但不负有必须卖出的义务。而期权卖方有义务在期权合约规定的时间内,应期权买方的要求,以期权合约事先规定的价格买入期权合约规定的标的资产。
按行权时间来看,可以分成欧式期权和美式期权。
欧式期权只允许期权买方在到期日当天行使购买(如果是认购期权)或出售(如果是认沽期权)标的资产。
美式期权允许期权买方在到期日或到期日前任一交易日行使购买(如果是认购期权)或出售(如果是认沽期权)标的资产的权利。
按标的资产不同来看,期权可以分为个股期权、股指期权、利率期权、外汇期权和商品期权等。
其中,个股期权的标的资产是单只股票,期权买方在交付了权利金后取得在期权合约规定的行权日按照行权价买入或卖出一定数量的某一只股票的权利。
按照行权价与标的资产价格的相关关系,期权可以分为实值期权、虚值期权和平值期权。
实值期权,也叫价内期权,是指行权价与标的资产的当前市场价格相比较为有利(即如果立即行权可以获得相应收益)的期权。如果是认购期权,那么行权价小于标的资产价格的期权为实值期权;如果是认沽期权,那么行权价大于标的资产价格的期权为实值期权。
虚值期权,也叫价外期权,是指行权价与标的资产的当前市场价格相比较为不利(即如果立即行权将会导致亏损)的期权。如果是认购期权,那么行权价大于现行标的资产价格的期权为虚值期权;如果是认沽期权,那么行权价小于现行标的资产价格的期权为虚值期权。
平值期权,也叫价平期权,是指行权价与标的资产的当前市场价格一致的期权。
举个例子来说,某ETF认购期权行权价格是2元,如果此时ETF的市场价格是2.5元,那么这一认购期权就是实值期权;如果此时ETF的市场价格是1.5元,那么这一期权是虚值期权;如果ETF的市场价格是2元,则期权为平值期权。
另外,按照交割方式不同,期权还可以分为实物交割型期权和现金交割型期权。实物交割是指在期权合约到期后,认购期权的权利方支付现金买入标的资产,认购期权的义务方收入现金卖出标的资产,或认沽期权的权利方卖出标的资产收入现金,认沽期权的义务方买入标的资产并支付现金。现金交割则是指期权买卖双方按照结算价格以现金的形式支付价差,不涉及标的资产的转让。(来源网站:运兴ETF www.50etf520.com)
data.corr() # 协方差矩阵
- 1
cu | zn | |
---|---|---|
cu | 1.000000 | 0.941114 |
zn | 0.941114 | 1.000000 |
# 数据可视化,看相关关系
plt.figure(figsize =(8,6))
plt.title('Stock Correlation')
plt.plot(data['cu'], data['zn'], '.');
plt.xlabel('cu')
plt.ylabel('zn')
data.dropna(inplace = True)
- 1
- 2
- 3
- 4
- 5
- 6
- 7
# 对两股票价格做线性回归(白噪声项符合正态分布)
[slope, intercept] = np.polyfit(data.iloc[:,0], data.iloc[:,1], 1).round(2)
slope,intercept
- 1
- 2
- 3
(0.48, 266.73)
- 1
(y-266.73-0.48x) 符合Stationary
# 算出 (y-266.73-0.48x) 一列
data['spread'] = data.iloc[:,1] - (data.iloc[:,0]*slope + intercept)
data.head()
- 1
- 2
- 3
cu | zn | spread | |
---|---|---|---|
date | |||
2016/10/18 | 37300 | 18080 | -90.73 |
2016/10/19 | 37260 | 18200 | 48.47 |
2016/10/20 | 37270 | 18255 | 98.67 |
2016/10/21 | 37150 | 18245 | 146.27 |
2016/10/24 | 37320 | 18175 | -5.33 |
data['spread'].plot(figsize = (8,6),title = 'Price Spread');