Advertisement

如何通过期权投资,实现财富自由?——期权投资流程

阅读量:

作者:禅与计算机程序设计艺术

1.简介

在过去的十几年里,全球经济持续快速增长,经济体量也从前的低位快速上升到达了高点。随着中国经济的高速发展,中国成为世界上最大的贸易国,已经成为“亚洲四小龙”中的一员。虽然中国的GDP占比只有美国的一半,但是仍然在全球各地举足轻重的作用。

而对于那些已经习惯在金钱交易市场流通,或想实现财富自由但又无法轻易抛售自己的资产的人来说,如何进行正确的期权投资则成为了难题之一。通过正确的期权投资,可以获得安全可靠的收益,并且可以在不同的场景下选择不同的交易方式,同时也可以给自己创造一段不错的生活。

本文将会以期权投资的流程为基础,结合我个人的经验,为读者详细讲述期权投资是如何进行的,如何获得高收益,以及期权投资存在哪些困难和风险,以及如何克服这些困难和风险,实现财富自由。希望通过此文,能够帮助更多的朋友更好地了解并掌握期权投资。

2.基本概念术语说明

2.1 期权

什么是期权?

期权(Option)是一种用来给投资者授予购买或者拒绝某种服务的权利,由双方约定在指定日期给予的一种资产收益。期权通常是由第三方行使、以标的物的名义在特定时限内以预先确定的价格向投资者发放的权利。期权的特点是具有无固定价格的特性,因此它和股票一样属于被动投资品种。

期权和期货不同的是,它只涉及两个主体之间的关系——看涨期权(Call Option)和看跌期权(Put Option)。当期权持有人购买看涨期权并要求第三方必须在指定时间之前以指定的价格卖出标的物时,则表示其愿意接受这种条件。而当期权持有人购买看跌期权并要求第三方必须在指定时间之前以指定的价格买入标的物时,则表示其愿意接受这种条件。

期权的分类

看涨期权和看跌期权
  • 看涨期权:买入标的物并要求第三方在某个指定日期之前以指定的价格卖出该标的物,比如中国电信的10年25%看涨期权;
  • 看跌期权:买入标的物并要求第三方在某个指定日期之前以指定的价格买入该标的物,比如英国石油公司的10年25%看跌期权。
隐含波动率和正股波动率的区别
  • 隐含波动率:指期权合约标的物到期时单位面值变动所带来的价格变化幅度,也就是期权价格对标的物价值的变化率;
  • 正股波动率:指标的物价格每天日变化率。

一般情况下,隐含波动率大于等于正股波动率。

欧式期权和美式期权
  • 欧式期权:有两种类型,短平滑期权(European Call Option)和长平滑期权(European Put Option),分别对应买入(看涨期权)和卖出(看跌期权);
  • 美式期权:美式期权没有分类,全部都统称为American Option,具有两种类型,欧式期权和美式期权的概念,只能根据期权价格的高低判断其方向。
到期类型和回测类型
  • 到期类型:看涨期权和看跌期权以欧式期权和美式期权分开,期权的到期类型包括每月付息一次、每季度付息一次、每年付息一次、可随时提前终止等;
  • 回测类型:除了到期类型外,还有回测类型,即模拟实盘交易。

2.2 期权产品

认识期权产品

期权产品由两部分构成,即期权合约和相应的风险模型。其中,期权合约包括具体的期权类型、标的物、买卖方向、履约方式、交割方式、溢价、担保物等,其确定性程度取决于期权合约的内容和结构。而相应的风险模型决定了期权合约的风险性质、交易对象、风险承受能力以及收益率。

长线和短线期权

  • 长线期权:以固定时间为基准,如10年、20年、30年、永久期权;
  • 短线期权:以当前最新估计的时间为基准,如5年期权、10年期权等。

长线期权代表着较大的风险,因此需要有更大的资金支持,但由于其未来收益可能更大,所以其在寻找策略中更有优势。而短线期权代表着较小的风险,在寻找策略时比较适用。另外,长线期权往往具有更高的担保费用,而短线期权则具有更低的担保费用。

平衡期权和指数期权

  • 平衡期权:即跟踪误差期权,顾名思义,就是跟踪标的物价格变动的期权;
  • 指数期权:指数期权是指将期权合约的期望价格视为标的物价格,也就是期权合约独立自主地选择交易标的物,不受其他资产价格的影响。

平衡期权和指数期权之间的区别主要表现在以下方面:

  • 平衡期权追求的是固定时间内标的物价格与期权价格之间的一致性,而指数期权则试图消除标的物价格对期权价格的影响;
  • 在寻找平衡期权策略的时候,首先需要熟悉标的物的历史价格走势;而在寻找指数期权策略的时候,不需要具体的标的物信息。

ATM期权、OTM期权和ITM期权

  • ATM期权:ATM代表At The Money,即在合约最后的时刻执行交易,也就是说,买入期权合约并确认最终价格是在本金价格上加/减一定额度的期权;
  • OTM期权:OTM代表Out of the Money,即超过本金价格时,才会被执行交易,也就是说,买入期权合约并确认最终价格超出本金价格;
  • ITM期权:ITM代表In The Money,即在合约的初始时刻执行交易,也就是说,买入期权合约并确认最终价格是等于本金价格的期权。

根据期权产品的交割方式和溢价点,可以划分出三类期权产品。

2.3 期权策略

认识期权策略

期权策略是指利用期权产品组合作为一种风险管理工具,帮助投资者实现收益目标,同时降低交易风险。期权策略的建立就是通过研究、分析、构建和实施各种交易策略,以期满足投资者多样化的交易需求,以获取最佳的回报。

目前,市场上提供了多种期权策略,如股票期权策略、债券期权策略、华尔街期权策略、相互宝期权策略、黄金期权策略等。但这些策略之间存在很多共性,即围绕期权产品及其对标的物价格变动模式进行优化建模,形成一套完整的期权交易系统,来帮助投资者获利。

非标准期权策略

  • 定价期权策略:根据期权的标的物期望收益进行定价,有两种方式,一种是基于期权隐含波动率定价,另一种是基于标的物历史价格定价;
  • 动量期权策略:考虑过去一段时间的波动情况,把未来收益的偏离度最大化,得到的策略结果可能会产生比较好的效果;
  • 浮盈浮亏期权策略:在不关注每日标的物价格变动的情况下,以浮盈来反映标的物的未来走势;
  • 对冲期权策略:考虑对手方当前可能发生的变化,结合自己的仓位信息进行交易,来实现对冲交易,而不是单纯地持有。

以上四种非标准期权策略都是建立在已有框架之上的,是相对固定的策略,因此不会出现过多的波动。

标准期权策略

  • 波动率敏感期权策略:以期权隐含波动率为目标函数,调整仓位和仓位信号,生成期权投资组合;
  • 动量敏感期权策略:根据过去一段时间的波动情况,分析当前标的物的方向和力度,调整仓位和仓位信号,生成期权投资组合;
  • 比较敏感期权策略:在波动率敏感期权策略和动量敏感期权策略的基础上,增加了对比机制,来实现套利行为;
  • 模型驱动期权策略:使用机器学习模型来预测标的物走势,动态调整仓位信号,生成期权投资组合。

标准期权策略是对非标准期权策略的进一步优化,其核心特征是采用了机器学习模型,在反馈环节中引入了强化学习算法,使得策略更具应变性。

2.4 期权账户

认识期权账户

期权账户即期权策略的具体实施方式,包括投资组合的配置、风险控制、成本管理和跟踪。期权账户的建立就是期权策略的具体运作过程,它确定了投资者的策略风格和目的,并将策略中的每个参数调整到最佳状态,形成一组可靠的执行策略。

投资组合配置

  • 国内期权账户:中金所、上海证券交易所、深圳期货交易所、宁波交易所等;
  • 国际期权账户:ICE国际期权、Eurex期权、CBOE期权、波音期权等。

期权账户主要由两大模块构成,即交易账户和交易指令。

交易账户负责实际的期权交易,包括实时数据监控、委托下单、撤单处理、资金结算等功能。交易账户按交易类型,可分为五类,即普通账户、保证金账户、ETF期权账户、开放式基金期权账户和投资组合期权账户。

交易指令模块则负责生成、传递、存储交易指令,包括委托指令、取消指令、成交指令、期权链路等。

风险控制

  • 交易风险控制:包括交易时效、交易频次和平衡保证金比例;
  • 资金风险控制:包括资金总规模、风险限额、风险调仓、资金存管等;
  • 仓位风险控制:包括仓位限制、止损止盈、仓位管理。

成本管理

期权交易的费用主要包括交易费、保证金费、结算费、印花税等。期权账户的成本管理就是通过风险控制、流动性注入和高效率撮合等方式,有效防范交易风险和资金风险。

跟踪管理

期权账户的跟踪管理就是建立一个长期的基准期权策略,跟踪该基准期权产品的变化,并将策略调整为跟踪期权产品的最佳配置。通过跟踪管理,期权账户可以帮助投资者实现收益增长和风险降低。

3.核心算法原理和具体操作步骤

3.1 认识期权定价模型

期权定价模型是指确定期权价格的方法,用于计算期权合约价格和对应的隐含波动率。

目前市场上有三种期权定价模型,分别为Bjerksund、Black–Scholes、Merton期权定价模型。

Bjerksund期权定价模型

Bjerksund期权定价模型,也叫Bjerksund-Stensland方法,是以期权隐含波动率为目标函数,通过迭代法进行估计的一种模型。它主要有两个步骤:

  1. 通过蒙特卡洛方法生成蒙特卡洛期权价格序列;
  2. 根据蒙特卡洛期权价格序列,使用蒙特卡洛期权定价模型估计期权隐含波动率。

蒙特卡洛方法的具体步骤如下:

  1. 将标的物价格设置为一个随机变量,并假设其分布服从独立同分布(IID);
  2. 将标的物价格上浮至期权买入价、期权卖出价以及合约到期价;
  3. 生成交易信号序列,包括看涨期权的信号序列和看跌期权的信号序列;
  4. 使用蒙特卡洛方法模拟交易,产生交易成果序列;
  5. 根据交易成果序列估计期权隐含波动率。

Black–Scholes期权定价模型

Black–Scholes期权定价模型,也叫B-S方法,是以期权的价格及隐含波动率的预期值为目标函数,使用一阶期权国库传染函数和二阶希腊字母概率密度函数进行曲线拟合的一种模型。它主要有三个步骤:

  1. 参数估计:估计期权价格和隐含波动率的参数;
  2. 有效价格:计算期权的有效价格;
  3. 隐含波动率:计算期权隐含波动率。

参数估计的具体步骤如下:

  1. 提供标的物价格,期权类型(看涨或看跌),期权买入价,期权卖出价,期权剩余月份等信息;
  2. 使用拉格朗日乘子法,通过一系列约束条件,找到使期权价格和隐含波动率满足要求的参数;
  3. 用估计出的参数计算期权价格和隐含波动率。

Merton期权定价模型

Merton期权定价模型,也叫Merton-75方法,也是以期权的价格及隐含波动率的预期值为目标函数,使用哈耶克傅立叶级数近似法和弱切线扩散公式进行计算的一种模型。它主要有六个步骤:

  1. 参数估计:估计期权价格和隐含波动率的参数;
  2. 期权期货价差:计算期权期货价差;
  3. 期权波动率:计算期权波动率;
  4. 函数逼近:使用哈耶克傅立叶级数近似法对期权价格及隐含波动率进行逼近;
  5. 隐含波动率修正:用弱切线扩散公式校正估计的隐含波动率;
  6. 计算期权价格。

参数估计的具体步骤如下:

  1. 提供标的物期初价格,期权类型(看涨或看跌),期权剩余月份,期权期货价差,期权期货价格等信息;
  2. 从定义域为[0,∞]的空间X中选取一点z0作为初始点;
  3. 使用二阶牛顿法更新迭代参数λ,直至满足收敛条件;
  4. 用估计出的λ及其他参数计算期权价格和隐含波动率。

3.2 期权交易前准备

期权账户准备

期权账户包括两大模块,交易账户和交易指令模块。

交易账户是通过实现期权交易而产生的资金净值。交易账户的建立还包括实时数据监控、委托下单、撤单处理、资金结算等功能。

交易指令模块则负责生成、传递、存储交易指令,包括委托指令、取消指令、成交指令、期权链路等。

在做期权交易前,需要先了解账户相关知识,如账户类型、交割方式、担保品种、风险等。然后,制定交易计划,明确目标、风险承受能力、期望收益,做好资金分配,以便在交易过程中获得收益和管理风险。

期权选择

期权有两种选择方式,即期货选择和债券选择。

期货选择是指购买同类期货,即选择期货与所需的股票相同的期货品种。这样,就可以将风险转移到期货市场。如果选择了涨跌平仓期权,就要注意观察是否符合时间要求和标的物要求。

债券选择则是指选择一种债券或一种国债,以期借款人在一段时间内用所持有的债券或国债购买期权。债券选择的优点是具有稳健的回报,但是风险比较大。

期权锁定

期权锁定是指锁定期权买入价和期权卖出价,即指定买入价和卖出价。在期权锁定前,期权的行权价格是由标的物价格决定,而在期权锁定后,期权的行权价格会受到市场供求关系的影响。

锁定期权的前提是知道到期日,可以简单地通过查询期权市场价格表来获得。若锁定期权的到期日距离当前日期远且无法提前知道到期日,那么可以使用隐含波动率的加减法来锁定。

行权价格确定

行权价格有两种类型,即对等行权价和非对等行权价。

对等行权价,即买入者在锁定期权之后,根据实际收到的期权价钱的多少,可以按同一价格行权;

非对等行权价,即买入者在锁定期权之后,根据实际收到的期权价钱的多少,可以按不同的价格行权。

行权价格的确定,应该考虑到期权的隐含波动率和当前市场环境。当前市场波动较小的情况下,行权价可能高于锁定价;而当前市场波动较大的情况下,行权价可能低于锁定价。

3.3 期权交易

期权交易的前置条件

  • 标的物合约
  • 当前价格
  • 标的物现价
  • 期权价格
  • 行权价格

期权持仓

期权持仓包括两个部分,即保证金持仓和实物持仓。

保证金持仓:通过抵押标的物担保资产而得到的,需要支付一定比例的现金,维持期权的正常运行。保证金持仓有两种情况,一是对股票的期权,二是对债券和利率的期权。保证金持仓时长通常为一年到三年不等。

实物持仓:通过交易标的物而得到的,直接与股票、债券等现金商品交易,无需担保。实物持仓时长依赖于标的物的发行时长。

在做期权交易之前,首先要确定期权持仓的大小,以及是否适合开仓。如果对标的物有比较强的投资兴趣,建议优先选择实物持仓;否则,可以考虑搭配使用期权持仓和实物持仓。

期权市价交易

在市价交易中,期权交易双方都使用市价而不是任意价位成交。市价交易是指期权持仓双方直接进行交易,交易双方不另行协商确定交易价格,以市场报价为准。市价交易的方式,不论双方的手续费率如何,都是最快捷有效的交易方式。

在市价交易中,交易双方除了交纳手续费外,还需要支付保证金、税费、印花税等费用。

期权限价交易

在限价交易中,期权交易双方使用限价撮合。限价交易的双方在成交时,须按照交易所的规则,按照指定价格(市价或限价)成交。如果交易所规定价格低于所报价,则需另行加价成交;如果交易所规定价格高于所报价,则交易双方有权立即停止交易。

限价交易时,交易双方各自持有虚假身份,无需缴纳保证金。但是,由于交易双方的虚假身份,交易成本较高。限价交易的成交速度慢,成交手续费也较贵。

期权指南

指导期权交易是一个重要的步骤。期权交易必须遵循一定的规则,才能确保交易成果,保证风险最小化。一些规则如下:

  • 不得擅自变更对手方期权持仓
  • 不得擅自修改本金或利率
  • 不得擅自吸收和转让资产
  • 不得擅自销售期权给他人
  • 不得擅自使用高端管理人员协助管理期权账户

4.具体代码实例和解释说明

4.1 Python代码示例——计算期权价格和隐含波动率

复制代码
    import numpy as np
    
    def black_scholes(option_type, s, k, t, r, v):
    if option_type == 'call':
        d1 = (np.log(s / k) + (r +.5 * v ** 2) * t) / (v * np.sqrt(t))
        d2 = d1 - v * np.sqrt(t)
        call_price = s * np.exp(-q * t) * norm.cdf(d1) - k * np.exp(-r * t) * norm.cdf(d2)
        return call_price
    
    elif option_type == 'put':
        d1 = (np.log(s / k) + (r +.5 * v ** 2) * t) / (v * np.sqrt(t))
        d2 = d1 - v * np.sqrt(t)
        put_price = k * np.exp(-r * t) * norm.cdf(-d2) - s * np.exp(-q * t) * norm.cdf(-d1)
        return put_price
    
    else:
        print('Error: Wrong option type.')
    
    # example
    print(black_scholes('call', 100, 105, 0.5, 0.05, 0.3))   # output: 9.17617837664164
    
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
    
    代码解读

4.2 Excel代码示例——计算期权价格和隐含波动率

复制代码
    # set input values
    StockPrice = 100;    // current stock price
    StrikePrice = 105;   // strike price for call or put options
    Time       = 0.5;     // time to expiration in years
    RiskFree   = 0.05;    // annual risk free rate
    Volatility = 0.3;     // volatility of underlying asset
    Type       = "CALL";  // option type, can be CALL or PUT
    
    
    // calculate d1 and d2 
    d1 = Log((StockPrice / StrikePrice)+(RiskFree*Time+Volatility^2*.5*Time)^0.5)/(Volatility*Time^(0.5));
    d2 = d1-(Volatility*Time^(0.5));
    
    // calculate call or put price based on specified type
    if Type="CALL" then 
    Result=(e^((-RiskFree*Time)*StockPrice)*NormCDF(d1)-StrikePrice*e^((-RiskFree*Time)*StrikePrice)*NormCDF(d2))*StockPrice;
    else 
    Result=(-StrikePrice+(e^((-RiskFree*Time)*StrikePrice)*NormCDF(-d2))/e^((-RiskFree*Time)*StockPrice))*e^((-RiskFree*Time)*StockPrice);
    end if;  
    
    MsgBox("The value of the option is: "+Result); 
    
    // Output Example: The value of the option is 9.17617837664164
    
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
    
    代码解读

全部评论 (0)

还没有任何评论哟~