博客

量化套利入门 04|期货比现货贵出来的钱,什么时候才算利润?

期货常常比现货贵。贵出来的钱先要付利息、仓储和保证金,剩下的才可能是套利利润,而且要等合约到期、你真的走到结算那一步才算数。

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

2020 年 4 月 20 日,纽约商品交易所的 WTI 原油近月期货跌到了负数,盘中最低每桶 -40.32 美元。按美国能源信息署(EIA)事后的复盘,这是这份合约 1983 年开始交易以来第一次出现负价。

原油本身并没有变成垃圾。同一时间,更远月份的 WTI 合约仍然是正价,布伦特原油 6 月合约在 4 月 21 日收在每桶 19.33 美元。出问题的是那份马上到期的 5 月合约。WTI 期货拿到到期就要在俄克拉何马州的库欣实物交割,疫情让用油量骤降,库欣的储罐越来越满,没有提前订好库容的人,就算愿意收油也没地方放。于是有人宁可倒贴钱,也要在到期前把合约卖掉。

这件事把期货和现货之间的关系暴露得很彻底。期货价格会在到期时被拉回交割地的现货,这是合约规则逼出来的。可在拉回来之前,你要付储存的钱、借钱的利息,还得有资格走完交割那道门。

这篇要回答的问题就在这里。期货比现货贵出一截时,什么时候这截价差是可以拿走的套利利润,什么时候它只是一张还没付的账单。先说结论,价差里只有超过持有成本的那部分才可能是利润,到期收敛保证的是终点,中途的保证金、资金占用和交割资格,决定你能不能活着走到终点。

复古金融终端风插画:现货仓库和期货列车沿两条轨道驶向同一座到期交割门
现货留在仓库,期货沿日历前进,到期日把两条价格轨道拉到一起。

价差里先装着一张持有账单

先用小麦想一遍。假设今天买下一仓库小麦,同时和别人签好合同,三个月后按固定价格把小麦交出去。这三个月里,买粮的钱要付利息,仓库要收租金,粮食还要上保险,可能还有损耗。三个月后交货的价格,本来就应该比今天的现货价高一点,高出来的这部分用来覆盖这些开销。

现货和期货之间的这段距离,交易员叫它基差。不同市场的写法不完全一样。CME 的资料常把国债基差写成现货价格减去调整后的期货价格,加密交易里,大家更习惯直接说期货比现货高多少。正负号先不用纠结,它们说的都是同一件事,今天的价格和约定未来的价格隔了多远。

那段距离里合理的部分,叫持有成本。教科书会把合理期货价写成现货价加上持有成本,再减去持有期间拿到的收益。拆成账单就是四行。今天买货借了多少钱、要付多少利息。仓储和保险花了多少。持有期间收到多少股息、票息或者质押收益。到期能不能按合同顺利交出去。

不同资产这几行的数字差别很大。小麦和原油有实打实的仓储费。股票指数的现货会派股息,股息会把合理期货价往下压。比特币没有股息,也几乎没有仓储费,主要成本是资金利息和托管。某些可以质押的币,持有期间还能拿到链上收益,这笔收益同样会压低合理基差。

小麦的比喻在加密市场只成立一半。成立的部分是,期货价格的确会把持有一段时间的代价写进去。不成立的部分是,比特币没有粮仓,也不会发霉,所以它的基差几乎全由资金价格决定。市场上借钱越贵、想用杠杆做多的人越多,期货就越容易被推高。

WTI 的负价也是这张账单在极端情况下的样子。储罐满了,仓储这一行的成本暴涨,暴涨到持有近月合约的人宁愿付钱也不想收货。账单的每一行都可能变,程序不能拿过去一年的平均基差当常数,它得跟着利率、库容和质押收益一起重算,不然会把成本变化当成套利机会。

到期那天,两条价格为什么会碰头

期货合约有一个写死的终点。实物交割合约到期要交真货,现金结算合约到期按约定的指数结算。假如到期那一刻期货还比现货贵很多,任何人都可以买入现货、卖出期货,然后把货交出去,或者直接按指数结算拿走差价。这样的人一多,差价就被吃掉了。

CME 的术语表把这个过程叫收敛,意思是合约临近到期时,现货与期货价格趋于一致,基差趋近于零。真正让两条价格碰头的,是那道可以执行的结算门。

现金结算的门换了个形状。到期价通常按某个指数,或者一段时间内的参考价格算出来。做套利之前要先弄清楚,指数由哪几家交易所的价格组成,按哪个时间窗口取值,遇到异常行情怎么处理。如果你的现货买在 A 交易所,结算指数却来自一篮子交易所,到期时两边还会差一点,这一点叫指数基差,它不会因为合约到期就自动消失。

实物交割的门更窄。品级、交割地点、交割日期、注册仓单,每一项都写在合约里。WTI 那次就是例子,合约要求的是在库欣收油,没有库容的人,理论上的收敛对他没有意义。EIA 也提到,平时大约只有 1% 的期货最后真的进入实物交割,大部分人都在到期前平仓。真到需要走交割的时候,才发现这扇门不是谁都能走。

期货太贵时,买现货、卖期货

知道了终点在哪,就可以算一笔最常见的交易。假设比特币现货是 100,三个月后到期的交割合约是 106。再假设借钱的年利率是 8%,三个月的利息就是 100 × 8% × 3 ÷ 12 = 2,比特币没有仓储费,持有三个月的成本就按 2 算。

程序买入 1 份现货,同时卖出等量的期货。到期时无论比特币涨到 150 还是跌到 60,期货都会被拉回现货价附近,现货那条腿的盈亏和期货那条腿的盈亏大致互相抵消。剩下的就是建仓时锁定的差价,106 减 100 等于 6,再扣掉 2 的利息,理论上剩下 4。

这种做法叫现金持有套利,英文是 cash and carry。它不猜涨跌,赚的是期货溢价高出持有成本的那一截。这 4 由谁付呢?由那些愿意按 106 买期货的人付。他们想要比特币的上涨敞口,又不想现在掏出全款、自己保管币,或者想用保证金放大仓位,于是接受了一个比持有成本更贵的价格。套利者站到他们对面,替他们把现货拿着,收的是这份服务费。

这种机会会一直存在,是因为套利者的钱有限。做这笔交易要先拿出全款买现货,还要另外准备期货保证金,市场越热、想做多的人越多,愿意冻结这么多资金的人就越不够用,溢价就会被撑大。反过来,期货便宜得过分时,理论上可以卖出现货、买入期货。现实里这条路难走得多,卖出现货可能要先借币,借币要付利息,还可能借不到,原本拿着现货能得到的质押收益也要放弃。

接着算收益率。现货花 100,期货端要 15 的保证金,三个月预计净赚 4。按占用 115 算,三个月收益是 4 ÷ 115,约 3.48%。这里先停一下,别急着乘以四。这 115 只是建仓当天的资金,它在中途很可能会变大,下一节就会看到。

传统国债市场会把这套账算得更细。不同债券的票息、转换因子和交割选择,会决定哪一只债券最适合拿去交割。CME 的国债期货手册给过买入现券、卖出期货并持有到交割的基差算例。在专业市场里,一张期货对一份现货的背后,往往还隔着转换规则和最便宜可交割券这些细节。

收敛之前,现金流会先来找你

还是刚才那笔交易。假设建仓后比特币从 100 一路涨到 140。现货那边账面赚了 40,期货空头那边大致亏了 40,整个组合的净值几乎没动,到期那 4 依然在。

麻烦在于这两笔盈亏不在同一个地方。现货的 40 浮盈躺在现货账户或者钱包里,期货交易所却会按每天的价格结算空头的亏损。当初只放了 15 的保证金,亏损 40 已经超出 25,还要满足维持保证金的要求。如果手头没有现金补进去,交易所会强制平掉空头仓位。空头一旦被平掉,剩下的只是一笔裸多的现货,原来锁定的那 4 也跟着没了。

方向对冲了,现金流没有对冲。这是期现交易里最反直觉的地方,交易往往在离最终盈利最近的时候被赶下车。

复古金融终端风插画:期现组合表面平衡,暴涨行情中期货账户的保证金警报亮起
最终会收敛,不代表你一定撑得到最终。保证金可能先把交易赶下车。

要撑过这一段,就得在期货账户里多备至少 25。这样算下来,这笔交易真正占用的资金是 100 + 15 + 25 = 140,三个月收益变成 4 ÷ 140,约 2.86%,比建仓当天算的 3.48% 少了一截。这还没算交易手续费、买卖时的滑点,以及在两个账户之间调钱的时间。币价涨得越快,你越需要在几小时内把钱从一边挪到另一边,而链上转账和交易所提币都可能排队。

加密市场的年化基差确实高过。国际清算银行(BIS)的一篇工作论文统计了比特币和以太坊的期货基差,2019 年 4 月到 2022 年 1 月各交易所平均在年化 10% 上下,最高的时候能到 60%。作者也指出,做期现套利的资金一直不够多,原因之一就是行情回撤时保证金要求和强平会突然加码。再看年化是怎么算出来的,比如三个月 5% 的差价直接乘以四,就是 20% 的年化。这个数字背后没写的东西很多,中途要追加的保证金,交易所本身的信用,资金不能随时撤出,以及基差在到期前继续扩大带来的账面亏损。年化只是一把方便比较的尺子,它不承诺任何收益。

还有一些风险靠对冲消除不了。交易所出问题,两条腿可能一条被冻住。结算指数被异常行情扭曲,到期价就不是你以为的那个价格。可质押的资产被罚没或者解锁排队,原本算进账单的收益会突然变成零。这些都不会因为你同时持有多空两边而抵消。

不碰现货,只做近月和远月

同一个品种通常同时挂着好几个到期月份。近月指离到期最近的那份,远月指更晚到期的。买一份、卖一份,不碰现货,这叫跨期价差交易。它依赖的仍然是那张持有账单,远月比近月多出来的价格,应当能用多持有那几个月的成本解释。

比如近月是 102,远月是 108,差了 6。看到 6 还不能直接说远月太贵,中间多出的三个月也要付利息和持有成本。假设算下来合理的期限差是 4,多出来的 2 才是可能的机会,交易者可以买近月、卖远月,等这 2 缩回去。

麻烦在于两份合约不会在同一天碰头。近月先到期,远月还在继续交易。近月到期时,你要么把它平掉,要么接下交割,把它变成一份现货,再拿这份现货去对冲远月空头。这一步怎么处理,决定这笔交易到底是套利,还是对期限结构的判断。

WTI 那次给了一个极端的反例。按美国国会研究服务处(CRS)的简报,4 月 20 日收盘时 5 月合约约为每桶 -37.6 美元,6 月合约还在 20.43 美元,两个相邻月份差了 58 美元左右。若有人持有买近月、卖远月的仓位,又没有库容接货,他面对的就是近月跌穿零、远月还停在正价,价差朝最不利的方向扩大。纸面上合理的期限差,在库存这一行账单失控时毫无约束力。

把价格公式当成账单来读

John Hull 的《Options, Futures, and Other Derivatives》会用无套利关系推导期货价格。公式很重要,它告诉你哪些现金流必须算进去。更实用的读法,是把每个符号翻译成一张真实的账单。借钱花多少,持仓拿到什么,到期怎么结算,保证金什么时候可能吃紧。

回到开头那个问题。期货比现货贵出来的钱,先要还给利息、仓储和放弃掉的收益。剩下的部分,要等你扛过中途的保证金、把资金调度过来、并且有资格走进到期那道门,才会变成真正的利润。2020 年 4 月那些没有库容的 WTI 多头,合约照样会收敛,只是那道门对他们关着。