第三讲:模型的顶层设计

2022-09-24

播放量 2.6k

video_lock
no-comment

开通服务即可查看评论~

文字稿

上一讲,我们讲了建立模型的目的,和模型的测试内容。我们的目标是找到一个能够应对各种市场环境,并且收益风险比最高的期权策略。这一期视频,我们就要具体介绍模型的顶层设计了。我会给大家介绍模型的设计逻辑,数据搜集,以及一些重要的假设。这些内容比较硬核,但是如果你想应用这套策略,就必须要清楚这背后的逻辑。不然就可能出现扛着步枪当棒槌的情况。 在模型中,我们的初始资金是1000万美元。我们相当于是以一千万为保证金进行sell put策略。这里多说一句,我知道各位看官想达到这样规模的本金并不容易,选择这个数量级的原因单纯是为了给我们不同的测试留下足够的余地。我们做模型主要是为了定量的测试效果,上手实操的部分我们会在模型介绍完后再具体讲解。大家先不用纠结这些模型数据的实操性,接下来的很多参数也是这个逻辑。 我们知道,单纯sell put是不需要消耗现金的,反而能获得现金。咱们的模型中,除了持有sell put仓位外,就是大量的现金本金以及sell put暂时获得的权利金现金。这些现金我们默认将它们全部去买国债,赚取无风险利率。这步买国债的操作,不会影响我们的模型结果,单纯是金融模型的一种常规操作手段。我们的重点是,如何设计sell put策略的使用。 我们sell put的基础选择,是在每个月的第一天,卖一个月到期的,行权价ATM的SPY put。然后在每个月的最后一天,也就是期权即将到期时关仓,交易时间固定在下午4点收盘的那一刻。赚钱了我们就收着,亏钱了就take loss。然后同一时间,我们将期权rollover到下一个月,为了保持一致性,我们还是rollover到一个月到期,行权价ATM的put。这不过这回的ATM是根据现在新的股价的ATM,而不是之前的价格了。一个月后,我们再做同样的操作,继续rollover,循环往复。 以上这是基础选择,在模型测试中,我们还会测试不同的rollover方式,以及不同的行权价对于最终收益和风险的影响。比如,如果我们不选择每次都rollover到ATM,而是rollover到相同的行权价结果会如何?再比如,如果我们开仓就不是ATM,而是ITM或是OTM,结果会有什么不同? 细心的看官可能意识到了,并不是每个月的第一天都是交易日,也不是每个月的最后一天都有期权到期。所以为了解决这个问题,我们的每个月第一天是按照第一个交易日计算的,每个月的最后一天也是最后一个交易日。但是期权的到期日,我们没办法控制。另一个我们无法控制的是,期权的行权价。经常交易期权的看官会了解,并不是所有的价格都会出现在期权链上。比如当前股价是300.5美元的话,那么我们就很难找到严格ATM的期权。而这就会牵扯出另一个问题,如果没有真实的期权正好在月底到期,又正好有我们需要的那个价格话,我们怎么给期权进行定价呢? 关于期权的定价,我们模型中用的并不是真实的期权价格,而是通过BSM模型计算出来的价格。上过美投君初级期权课的看官应该就了解。真实的期权本身就是通过BSM模型来定价的。它是通过期权此时此刻的行权价,到期时间,波动率和正股股价等一系列参数算出来的价格。那么我们就可以通过抓取这些真实的参数,来反推出期权的价格。通过验证,我发现BSM定价的效果非常好,99%以上情况下BSM模型反推出的价格和真实价格都是完全吻合的。一些极个别情况数据不吻合,差距也很小,并不影响我们模型测试的结论。 搞定了sell put的操作和期权定价,下一步就是要确定仓位了,也就是我们要交易多少张put。首先,我们必须要了解,一张sell put背后所对应的是100股正股。假设现在SPY的价格是400美元,那么一张sell put所对应的本金就是4万美元。我们假设没有任何杠杆,那么1000万的本金,如果满仓,就是可以卖1000万除以4万,250张put。不过,随着我们整体仓位的赚钱和亏钱,我们的本金不会一直保持在1000万。假设一个月后,账户的价值从1000万变成1100万了,那么满仓的数量可能就会有所增加,如果账户价值变成了900万,那么满仓的合约数量就会减少。可以看到,虽然仓位没变,但是sell put的数量会发生改变。 在真实的交易中,我们能够保持多大的仓位,交易多少张put,是受到券商规则的限制的。一般情况下,券商允许我们以本金为保证金,最多开到5倍的杠杆,也就是5000万的仓位,所对应的put就是1250张。但是我们的模型中肯定是不会开这么多的,因为我们要保证风险可控。但是我们也会合理的利用杠杆,来最大化收益风险比。 那么究竟多少的杠杆率是合理的呢?这也是我们模型要探讨的重要问题。可以确定的是,不同的市场环境下,我们需要不同大小的仓位,也就是不同数量的sell put。为了找到这个答案,我们需要引入一个金融领域内,专业的调仓概念,dynamic weighting动态仓位。之所以叫动态仓位,是因为我们仓位是根据市场环境实时变化的。 举个例子,如果今天市场波动率增加,也就是风险变高,那我就可以相应的进行减仓。你也可以反其道而行之,风险增加,我就加仓抄底。这里的波动率变化就是调仓信号,而加仓或减仓就是调仓策略。不同的信号,不同的策略,最终也会有不同的效果。关于dynamic weighting我们之后还会做更详细的介绍。这里我们的核心思路是这样的,一开始我们的基础选择就是始终保持无杠杆下的满仓sell put,也就是仓位不变的策略。我们以此为benchmark,之后再加入不同的dynamic weighting方式,测试什么样的仓位选择最优。 以上就是我们这套模型的顶层设计。接下来,我再简单介绍一下数据的选择。模型中所有数据的时间是从2000年的1月1日,到2020年的12月31日,共21年的时间。之所以选择这个时间段,是因为这段时间的市场情况比较多样,而且数据很全。在2000年到2020年这段时间里,有包括互联网泡沫,911,金融危机,中美贸易战,疫情崩盘等多次形态不同的熊市。同时也包含了一个从09年到19年维持了10年多的历史大牛市。更细分,我们还能找到各种形态各异的市场状况,而且21年的时间也足够长,测试结果也有足够的代表意义。 我们选择的数据,包括了SPY正股的各种信息,比如股价,收益率,波动率等等。也包括了SPY期权的各种信息,比如VIX,IV等等。还包括了宏观数据,比如利率水平等等。这些数据都来自于专业的金融机构,真实性是有保证的。 最后,我们还要解释一下,这个模型中的一些假设。模型作为定量分析的工具,他的目的不是严格做出可以照搬的策略,而是找到最优的思路。所以说,我们在建立模型的时候,会做出一些假设,让模型更简单,不会受到太多干扰因素的影响。 首先,我们建立的这个模型,忽略了所有交易成本的影响。也就是我们假设每笔交易都没有佣金,同时也没有交易过程中流动性的损耗。另外,我们假设我们所有的现金仓位都能及时的放入无风险国债中,赚取无风险利率。真实情况下,确实有些券商会为你的现金提供无风险投资的选项,但想要做到及时调整也是很难的。最后,为了保证模型的连贯性,我们确实虚构了一些期权的存在。比如有的行权价可能不存在,有的月底到期的到期日可能不存在。不过随着SPY交易量的增加,近些年月底到期的期权都是存在的,行权价的密度也在增加。往后看,这样的结果也许更具有参考意义。但毋庸置疑,目前这个假设也会造成一些结果上的偏差。 到这里,我们用了三期课程的时间,将模型的策略选择,模型逻辑,以及顶层设计都介绍完了。这部分内容可能会有些枯燥,但他是让我们理解后面的模型结果,和实际应用所必备的前提。希望各位看官没有被这些内容吓退。之后的课程就会更有意思了,我会为大家展示模型的测试的结果,并结合定性的分析,为各位看官展示sell put这个策略的最优玩法。
search