美式期权定价、希腊值计算方法与应用案例:Gamma Scalping程序化交易详解

论坛 期权论坛 期权     
RGF量化   2019-8-31 14:32   18966   0




当我们在美式期权做投机交易时,首先要清楚一个问题,我们为什么要使用期权这种非线性金融工具进行投机交易,而不用股票或者期货等线性金融工具进行投机交易,如果不清楚这个的话可以收下著名的CII投资箴言102:
  • 如果能猜对方向,还交易期权干啥?直接交易股票或者期货不就得了么!
  • 用买期权的方法来交易方向有多难赚钱你造吗?
  • 有时候方向对了,期权还是赔了呀!因为涨跌速度不对!!
  • 有时候没涨没跌,期权还是赔了呀!因为每天要衰减!!
  • 有时候方向和速度都对了,期权还是赔了呀!因为买贵了没回本!!


因此我们选用期权作为投机交易工具需要先明白我们交易的是波动率而不是方向,标的方向不好猜,但波动率相对更好预测,均值回归性更强。下文将从定价、希腊值计算和程序化执行的细节三个方面详细介绍一种long gamma的交易策略。


美式期权二叉树定价


1. 为什么要进行期权定价?

期权的价值受多种因素的影响,这些因素包含标的资产价格、执行价格、波动率、剩余期限和无风险利率。而我们要交易期权的波动率,需要先把波动率计算出来,而波动率分为历史波动率和隐含波动率,历史波动率反映的是标的资产过去一段时间的波动程度,而隐含波动率作为对期权定价公式反解出来的波动率数值可以作为市场对标的资产未来一段时间的波动率的预期值,因此当我们想要准确的计算出符合市场预期的隐含波动率数值的时候,选择好的期权定价方式至关重要,本文选择最经典的二叉树模型对期权进行定价;
2. 二叉树模型
假设股价未来只有两个价格状态,Su和Sd,在这两个状态中,衍生证券的价值为U和D,我们假设一个风险中性概率p(确切的说是风险中性情况下Su的状态概率),使其满足据此计算的期望等于S0的无风险增长:p * Su + (1 - p)*Sd = S0 * (e^rt), 解得:p = (S0 * (e^rt) – Sd)/(Su-Sd)。那么,此时就有:V = e^(-rt)(p*U + (1-p)*D)。这便是一个基本的单步二叉树的计算过程,实际运用中我们可以通过Python程序模拟任意步数的二叉树并把美式期权提前行权考虑其中。

隐含波动率及希腊值求解

1. 隐含波动率求解
因为美式期权二叉树定价模型无法没有解析解,但因为期权的价格和波动率的大小呈正相关关系,根据这个单调性条件,我们采用二分法计算隐含波动率的近似解,具体计算步骤如下:

步骤一:确定初始的隐含波动率区间[a, b],隐含波动率不会为负值,我们可以设置a=0,如果期权处于实值和平值的状态,隐含波动率不会太大,可以把b设置的较小,如果期权处于虚值状态,隐含波动率可能会比较大,可以把b设置的较大,分别把a和b作为波动率带入二叉树模型中对期权进行定价,求得当波动率为a和为b时候的期权价格记为f(a)和f(b);
步骤二:确定计算二分法求解的精度为1e-3;
步骤三:求区间[a, b]的中点c,把c作为波动率带入二叉树模型中对期权进行定价,求得当波动率为c时的期权价格计算f(c);
步骤四:当f(c)与期权真实价格之差的绝对值大于预设的精度的时候,如果f(c)大于期权的真实价格,更新c为原先的c和b的中点,如果 f(c)小于等于期权的真实价格,更新c为a和原先的c的中点,不断重复此过程直到f(c)与期权真实价格之差的绝对值小于等于预设的精度时停止,记录当前的c值为依据二叉树定价反向求解出来的隐含波动率;

2. 希腊值求解


希腊值被定义为期权价值对各个变量和参数的导数,区分是对变量的导数还是对参数的倒数非常重要。如果只是对资产价格或者时间的导数,那么二叉树中有充分的信息来估计这些导数。这可能不是一个准确的估计,但它也是一个估计。期权的delta、gamma和theta都可以通过二叉树来估计,但如果想估计期权对其中一个参数的敏感性,就必须通过二叉树进行二次计算,比如期权的vega。

我们实际交易中对希腊值的计算结果没有采用传统的模型价格数值,而是采用更为实用的百分比变动数值,具体定义如下:Delta:当底层资产价格变动1%时,期权价格的变动;Gamma:当底层资产价格变动1%时,期权的delta的变动;Vega:当隐含波动率变化1%的时候,期权价格的变动;Theta:当剩余到期天数变化1天的时候,期权价格的变动。
Gamma Scalping交易策略
1. 策略原理














由上述公式可得,在保持delta中性的时候:
       如果我们 long gamma,当已实现波动率大于隐含波动率,我们会产生盈利;
       如果我们short gamma,当隐含波动率大于已实现波动率,我们会产生盈利。


2. 策略执行方法


        我们构建delta和vega中性组合来做多/做空gamma的方式是,先选择一个平值的期权作为贡献gamma的期权,因为平值期权的gamma值最大,再选择一个远期的期权来对冲平值期权的vega,因为远期的合约有更小的gamma和更大的vega,可以在对冲掉期权的vega的同时尽量小的影响gamma。


当我们认为已实现波动率大于隐含波动率,应当采用买股票+买平值的put option+卖远期的的组合或者卖股票+买平值的call option + 卖远期的call option的组合每日执行动态对冲保持delta中性;当我们认为已实现波动率小于隐含波动率,应当采用卖股票+卖put option的组合或者买股票+卖call option的组合每日执行动态对冲保持delta中性;但实际操作中,因为卖空股票需要付利息,如果没有特殊原因我们更倾向于选择买股票+买期权+卖期权的方法来交易gamma,下面以long gamma trade为例来介绍我们如何运用程序化交易系统来完成开仓、动态对冲、风控与平仓的操作。
开仓

第一步:选择当前市场最接近平值的put option和一个流动性较好的距离到期日还有1个月以上的put option;第二步:实时记录平值的put option最新的bidprice和股票最新的bidprice并计算该期权的delta、gamma和vega值,记为delta1, gamma1和vega1,实时记录远期的put option最新的askprice和股票最新的bidprice并计算该期权的delta、gamma和vega值, 记为delta2, gamma2和vega2 ;
第三步:建立约束方程, 设买w1手的平值期权,卖w2手的远期期权,w1和w2的取值范围均为1到5,寻找使得abs((w1*vega1 - w2*vega2)/(w1*gamma1-w2*gamma2))最小的(w1,w2)组合,然后在平值期权的bidprice挂w1手的限价买单,在远期期权的askprice挂w2手的限价卖单;
第四步:如果期权的盘口价格发生改变,撤单重新进行第二步和第三步;第五步:实际检测平值期权和远期期权的限价单的完成情况,如果其中一个期权的限价单部分成交或者完全,立刻把两个期权合约未完成的限价单立刻全部转成市价单让它们立刻成交;第六步:立刻以平值期权和远期期权分别的成交价格和股票的最新的bidprice分别计算两个期权的delta,记为delta1和delta2,然后买入100*(-w1*delta+w2*delta2)股的股票,保持期权组合的delta中性, 记录股票数为w_stk;

动态对冲
第一步:依据策略对波动率的判断来确定动态对冲保持delta中性的频率;
第二步:在需要动态对冲的时候,记录平值期权bidprice、远期期权的askprice和股票最新的成交价,利用这三个价格计算两个期权最新的delta,记为delta1_new和delta2_new;
第三步:计算需要调整的股票数,w_change = 100*abs(w1*(delta1 - delta1_new)-w2*(delta2 - delta2_new)),如果w1*(delta1 - delta1_new)-w2*(delta2 - delta2_new)>0,买入w_change股的股票,如果w1*(delta1 - delta1_new)-w2*(delta2 - delta2_new)
分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:45
帖子:12
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP