博客

量化套利入门 09|期权价格算错了,怎样用四条腿锁住差价?

到期时付出同样现金的两个组合,今天就不该差太多。这条规则把期权链上几百个价格绑在一起,但从发现差价到真正赚到它,中间隔着报价、借券、股息和合约规则。

约 13 分钟量化套利入门系列

2019 年 1 月,美股论坛 Reddit 的 WallStreetBets 版块上,一位网名叫 1R0NYMAN 的用户贴出了自己的仓位。他在 Robinhood 上用大约 5,000 美元本金,做了一大批期权箱体价差。有人在帖子下面劝他别做,他回答说自己没有钱处在风险中,理由是箱体到期的支付是固定的,标的涨跌都不影响结果。

几天后,他卖出的美式期权被对手提前行权,箱子被拆开,Robinhood 关闭了账户、强制平仓。据 MarketWatch 当时的报道,这笔“无风险”交易亏了将近 5.8 万美元,是本金的十倍以上。Robinhood 随后不再允许开立箱体价差,还提醒用户,箱体价差常被误当成套利机会,隐藏的风险可能让亏损远超预期。

这篇文章想讲清楚两件事。第一,期权链上那些看似各自报价的格子,为什么会被一条复制关系绑在一起,偏离时怎样用几条腿把差价锁住。第二,锁住的究竟是什么,哪些东西锁不住。先说结论,复制关系本身很可靠,屏幕上的差价却大多吃不到。它要么被买卖价差和手续费吃掉,要么本来就是市场在给借券、股息和提前行权定价。1R0NYMAN 踩的就是最后一种。

复古金融终端风插画:四块期权合约积木组合成锁定固定到期支付的盒子
不同积木拼出相同的到期结果,今天的总价就不该差得太远。

先搭出一只合成股票

先认识两个零件。看涨期权是一张“到期可以按约定价买入”的权利,约定的价格叫行权价。看跌期权反过来,是“到期可以按约定价卖出”的权利。买权利的人付钱,卖权利的人收钱,同时承担对方行权时的义务。

现在买入一张看涨期权,同时卖出同一行权价、同一到期日的看跌期权,行权价都是 100。到期时只有两种情况。股价高于 100,你手里的看涨值钱,你按 100 买入股票。股价低于 100,你卖出的看跌会被对方行权,你还是得按 100 买入股票。不管涨跌,结局都是到期花 100 拿到一股。

这和今天直接买一股股票很像。区别在于付钱的时间。直接买股票要今天掏钱,这套期权组合则是今天先收付一点期权费,到期再付 100。期权行业委员会(OIC)的教程把“买看涨、卖看跌”称为合成多头股票。

可以把它想成和卖家签了一份到期按 100 成交的买卖合同。这个类比在到期结果上成立,涨了你赚,跌了你赔,和持有股票一样。它不成立的地方也要记住。真股票持有人能收股息,合同不能。后面讲美式期权时还会看到,这份合同可能被对方提前执行。

既然到期结果一样,两条路今天的总成本也该一样。先看只能在到期日行权的欧式期权,暂时忽略股息,用符号写就是 C 减 P 等于 S 减去 K 的现值。C 是看涨价格,P 是看跌价格,S 是今天的股价,K 是行权价。K 的现值指的是今天要存多少钱,到期连本带息正好变成 K。年利率 5% 时,一年后的 100 今天约值 100 除以 1.05,也就是 95.24。

为什么要用现值。合成股票把 100 元的付款推迟到了到期日,这段时间这笔钱还能生息。直接买股票的人提前付了钱,等于放弃了这段利息。两边要公平,就得把利息算进去。这就是看涨看跌平价,名字听上去吓人,说的只是“两条路到同一个终点,今天的车票钱应该一样”。有股息时,S 还要再减去到期前股息的现值。美式期权多了提前行权的权利,这个等式只能近似成立,C 减 P 会落在一个上下界之间。

来算一个具体例子。假设某股票现价 100,离到期只剩几天,利息小到可以先不管。行权价 100 的看涨期权,市场上有人愿意卖的价格(卖价)是 4.8。同一行权价的看跌期权,市场上有人愿意买的价格(买价)是 5.2。你买看涨付出 4.8,卖看跌收到 5.2,净收 0.4。到期再付 100 拿到股票,这只合成股票的总成本是 100 减 0.4,等于 99.6。

再验算一下到期结果。股票涨到 130,看涨值 30,看跌作废,你按 100 买入一股价值 130 的股票。股票跌到 70,看涨作废,卖出的看跌被行权,你按 100 买入一股价值 70 的股票。两种情况都等于“股价减 100”。现金流对得上,才可以把它和真股票放在天平两边比较。

两边价格对不上,就买便宜的、卖贵的

还用上面的数字。合成股票成本 99.6。假设真股票此刻能卖出的价格是 100.2,同一样东西两个价格,差了 0.6。

套利者的做法是买入便宜的合成股票,同时卖空贵的真股票。卖空就是先从券商借来一股卖掉,以后再买回来还上。这个组合在行内叫反向转换。反过来,持有真股票、同时卖看涨买看跌,叫转换,用在合成股票比真股票贵的时候。

把反向转换的现金一步步走一遍。今天卖空股票收到 100.2,期权两条腿净收 0.4,口袋里一共 100.6。到期时,不管股价在哪,你都会通过期权按 100 买到一股,拿去还给出借股票的人。100.6 减 100,剩下 0.6。股价是 130 还是 70,都不影响这个数。

这 0.6 是理论毛利,账还没算完。卖空股票要付借券费。持有期间如果股票分红,卖空的人要替出借者补上这笔股息。四笔成交各有手续费。假设这些合计 0.75,最终净利润就是负 0.15。屏幕上的机会,扣完成本反而亏钱。

那 0.6 的差价究竟是谁让出来的。有时确实是某个报价挂旧了,或者有人急着成交,这时利润来自那位报错价的对手。更常见的情况是,这只股票很难借。能借到的人要付高额借券费,愿意卖空的人少,真股票的价格就偏高,合成股票相对便宜。差价其实就是借券费的影子,你赚到的 0.6 会原样付给出借股票的人。教科书假设卖空随时可做、不花钱,现实里最显眼的错价往往就出在最难借的股票上。

股息是第二个容易漏的地方。真股票的持有人能收股息,合成股票收不到。做转换时你持有真股票,能收到。做反向转换时你卖空了真股票,要往外付。除息日落在到期日之前时,少估一笔股息,“无风险利润”就可能倒过来变成亏损。

四条腿围出一个箱子,箱子里装的是一笔借款

反向转换还要碰股票,借券和股息都绕不开。如果把股票也换成期权,只用期权自己跟自己对冲,就得到了箱体价差。

做法是选两个行权价,比如 100 和 110。买 100 的看涨、卖 110 的看涨,这是一组看涨价差。再买 110 的看跌、卖 100 的看跌,这是一组看跌价差。两组合在一起,四条腿正好围成一个箱子。

验算三种到期情形。股价到 120,看涨价差值 120 减 100 再减去 120 减 110,等于 10,两张看跌都作废,合计 10。股价到 105,看涨价差值 5,110 的看跌值 5,合计 10。股价到 90,看涨都作废,110 的看跌值 20,卖出的 100 的看跌要赔 10,合计还是 10。不管股价在哪,箱子到期都正好支付两个行权价之差。

OIC 的箱体价差资料也把它解释成固定到期支付。到期支付固定的东西,本质上就是一张零息债券,今天买入,到期按面值收回,中间不付利息,利息藏在买入价和面值的差额里。所以箱子的合理价格主要受期限和利率影响。

算一下。花 9.70 买入一只到期支付 10 的箱子,等于今天借出去 9.70,到期收回 10,多出的 0.30 就是利息。若离到期正好一年,收益率是 0.30 除以 9.70,约 3.09%。卖出箱子的人今天拿到 9.70,到期还 10,相当于以 3.09% 借了一笔钱。这笔利息由借钱的一方支付,也就是卖箱子的人。

这样看,箱体价差的“套利”其实是在比较利率。箱子隐含的利率明显高于你能拿到的其他无风险收益,买箱子就是把钱借给出价更高的人。箱子隐含的利率明显低于你别处的借款成本,卖箱子就是找到了更便宜的借款。市场中的箱体价格,因此也能反映交易者真正能拿到的融资利率。

反过来,若卖出箱体今天能收到 10.20,到期只需支付 10,看上去像借钱还倒收利息。先别急着高兴。这种价格可能来自某条腿根本没有真实买盘,也可能来自保证金、提前行权和手续费。屏幕上的负利率,有时只是四个陈旧报价拼成的海市蜃楼。

屏幕上的差价,为什么常常吃不到

期权报价有两个数。买价是别人愿意从你手里买的价格,卖价是别人愿意卖给你的价格,卖价总比买价高,中间的距离叫买卖价差。很多页面还显示一个中间价,即两者的平均。中间价方便看,却通常没人按它成交。

一只箱体包含四张期权。拿四个中间价相加,回测会显得很富有。真实下单时,买入要吃卖价,卖出要打买价,每条腿都要让出半个买卖价差。四个半价差叠起来,常常比理论错价还大。

举个例子。按四条腿的中间价,100/110 箱子的成本是 9.72,比到期支付的 10 便宜 0.28。真正下单时,两条买入腿各多付 0.08,两条卖出腿各少收 0.07。9.72 加 0.16 再加 0.14,净成本变成 10.02,已经超过 10。再加四份手续费,套利还没开始,利润已经下班了。

分腿下单还有另一种风险。第一、二条腿成交了,后两条迟迟不成交,手里就只剩一组看涨价差。它的盈亏随股价变化,固定支付不复存在,你从放贷人变成了押方向的人。

复古金融终端风插画:四条期权腿只有两条成交,原本完整的盒子从中断裂
四条腿只成交两条,固定收益就会立刻变成方向赌注。

专业市场为此提供组合订单,四条腿按一个净价打包,要么一起成交,要么都不成交。这解决了断腿的问题,但不保证成交。净价报得保守,机会被别人拿走。追价成交,安全垫又变薄。部分成交、保证金和清算规则也还要单独处理。

美式期权能提前行权,箱子会被拆开

前面所有计算都默认四条腿在到期日同时结算。这个前提只对欧式期权成立,它们只能在到期日行权。美式期权允许持有人在到期前任何一天行权。美股的个股期权和 ETF 期权基本都是美式的。

你卖出的那张期权,持有人什么时候行权由他决定。他行权后,清算机构和券商会按规则从卖方中挑人来履约,这叫被指派。被指派的那一刻,你的箱子少了一条腿,账户里会突然多出股票多头或空头,保证金要求随之改变。

回到 1R0NYMAN 的箱子。报道没有拆开讲每条腿,这里用一个简化的情形说明被指派时会发生什么。假设被行权的是你卖出的一张深度实值看涨期权,行权价远低于股价。被指派意味着要按行权价交出股票,一张合约对应 100 股,手里没有股票,账户就变成了股票空头。理论上你还持有另一条看涨腿,可以行权买回股票来补,箱子在纸面上仍然是对冲的。可仓位一大,账户里的真实风险敞口就会是本金的许多倍,券商不会陪你等到期。1R0NYMAN 的结局正是账户被关、仓位被强制平掉,到期日那笔固定支付永远没有机会兑现。

这种风险没法靠更精确的公式消除,因为它取决于对手什么时候行权。股息会放大它。OIC 也提到,除息日前看涨期权的行权和指派会明显增多,深度实值看涨的持有人提前行权,就能拿到股息。卖出看涨的一方被指派后变成股票空头,还得补付这笔股息。难借的股票也会放大它,被指派的那一天起,空头仓位就要付借券费。

所以 OIC 的箱体资料特意说明,箱体价差一般用欧式期权来做,免得提前行权或指派打乱固定结果。现金结算的欧式指数期权就常被拿来做这件事,它们不能提前行权,到期按现金结差额,不需要交割股票。合约规则不是附录,它本身就在定价公式里。

即使熬到到期,还有一种钉住风险。股价收盘时正好贴着某个行权价,那张期权会不会被行权,收盘时你未必知道。四条腿在模型里同时结算,在真实账户里可能留下几十股意外仓位。周一开盘一跳空,它就不再是一只安静的箱子。

期权套利扫描器怎样工作

有了上面这些坑,扫描程序的工作重点就很清楚了。它先按标的、到期日和行权价整理期权链,再用对应方向的买价和卖价构造合成组合,加入现货买卖价、利率、预计股息和借券费。

数据层要防止把不同合约混在一起。同一标的、同一到期日、同一行权价、同一合约乘数和同一结算方式,缺一不可。指数期权与 ETF 期权看起来跟踪同一个市场,税务、行权和结算规则却可能完全不同。

发现候选后,系统重建四条腿的盘口,按最差可接受价格模拟成交,看每条腿能成交多少。再计算资金占用、借券费、股息、手续费和被提前指派的可能。全部扣完还剩足够厚的安全垫,才决定用组合订单出手,否则放弃。所以扫描器应该同时给出理论价、可执行净价和可成交数量,不能只弹出一行绿色的“套利机会”。很多专业套利程序最常做的动作,是把漂亮却无法成交的机会删掉。

平价关系更像一把尺子

回到开头的问题。期权链上的价格确实被复制关系绑得很紧,两个到期结果相同的组合,今天的价格偏离不会太远,也不会偏离太久。但偏离出现时,先该想的是谁在为什么付钱。可能是借券费,可能是即将到来的股息,可能是提前行权的权利,也可能只是一条挂旧了的报价。真正属于套利者的,只是扣掉这些之后剩下的那一小截,而且要在别人之前成交才拿得到。

对多数人来说,平价关系更实用的用途是检查。某个报价明显破坏复制关系,可能是市场错价,也可能是数据断了,或者合约规则跟你想的不一样。先验证合约和盘口,再谈套利。四条腿锁住的是到期现金流,锁不住对手提前行权,也锁不住粗心。