如何构建稳健的商品期货carry组合?
本文由刀疤连、Chandeman和小海哥合作完成,任何问题可联系我们进行沟通讨论,点击阅读原文可进入markdown版本
【摘要】本文在已有研究和经验的基础上,介绍了商品Carry策略的基本原理,并对该策略进行了全方位的回溯。本文设计的的carry策略测试效果较好,结果稳健,并与其它策略相关性较低,可以为多元化组合提供新的收益来源。
1.前言
无论是学术上,还是实践中,carry策略(期限结构策略)都有很多讨论。
早在2006年,Erb和Harvey在讨论商品期货的战略和战术价值时,就介绍期限结构多空组合。通过构造一个简单的期限结构组合,即做多展期收益最高的6个品种,做空展期收益最低的6个品种,能实现高于商品指数的收益和夏普。
Fabozzi、Fuss和Kaiser(2008)在讨论商品alpha的来源的时候,提出商品买卖的基本规则:买多backward的商品,卖空contango的商品。
Koijen、Moskowitz、Pedersen和Vrugt(2013)提出carry策略无处不在,他们详细研究了carry策略在股票、货币、债券和商品中的应用。在商品方面,介绍了商品carry收益的理论推导和实际估计方法,并研究了两个策略:1)每月末rebalance,买多carry收益靠前的N%的商品,卖空carry收益靠后的后N%的商品;2)将carry作为一个择时指标,当carry大于0时买多,当carry小于0时卖空。结果发现,carry策略历史上能带来显著的收益。
Fuertes、Miffre和 Fernandez-Perez(2014)通过多因子回归的方式,利用动量、期限结构和特质波动率解释并预测商品的收益率,并构建投资组合,结果表明期限结构是一类十分有效的因子。
Campbell(2014)详细分解了期货投资的收益,并推导了carry策略的逻辑基础,最后得出结论,在商品现货长期波动很小的假设下,期货投资收益主要由carry收益决定。
Till(2015)讨论了CTAs收益的来源,其中一个重要的因素来自carry,并介绍了几个carry策略的例子。
南华期货也在编制南华对冲策略指数时,也考虑了商品的期限结构,对于多头且contango的商品延迟展期,多头且backward的商品提前展期,空头则相反。
目前国内一些卖方机构也做了相关的研究,大多研究可能存在以下问题。首先,由于国内商品主力合约换月规律并不稳定,在定义展期收益率时如果用主力合约和次主力合约数据,因子值不稳定,容易跳空,换手率也较大,对成本会比较敏感。其次,在构建组合时简单地将期限结构因子进行排序,多头和空头分别持有两端的N%,而没有考虑期限结构实际数值符号和大小。最后,在估计交易成本时过于乐观,普遍设置在万三甚至更低,几乎忽略了冲击成本的影响。
本文将在已有研究的基础上进行改进,试图构建稳健的carry组合。接下来的内容由以下部分组成,第二部分介绍carry策略背后的逻辑和原理,第三部分说明需要的数据及来源,第四部分讨论几种常见的期限结构因子,第五部分设计了一个完整的横截面carry组合,第六部分进行稳健性测试,第七部分研究carry在时间序列上的应用,第八部分对比和其他资产策略的关系,第九部分总结。
2.策略原理
理论上,持有某一类资产,需要承担一定成本,同时享受该资产带来的收益,持有收益超过持有成本的部分,即为carry收益(carry yield)。常见资产的持有收益和成本见表1。
表1 不同资产持有收益和成本
资产类别 | 收益 | 成本 |
---|---|---|
债券 | current yield(coupon) | financing rate |
货币 | foreign deposit rate | local deposit rate |
股票 | divident yield | financing rate |
波动率 | hedging against increases in volatility | insurance premium |
大宗商品 | convenience yield | storage;transport;insurance;financing rate |
对于持有商品来说,会有便利收益(convenience yield)。便利收益是一个理论上的收益,实际中无法观测,当存货很低或商品短缺时,便利收益会更大。在持有商品时,存储、运输和保险等都会产生成本。当便利收益超过持有成本时,持有商品变得有利可图;当便利收益小于持有成本时,持有商品变得很不划算。
因此,买入carry收益为正的商品,卖出carry收益为负的商品,理论上会是一个不错的策略。那么如何计算carry收益呢?
最简单最直接的方式是获取商品的便利收益和存储等成本,相减即可得到。然而,便利收益是一个理论收益,实际中很难观测,没有确切的数据;另外,存储、交通和保险虽然可以获取,但存在数据质量和数据完整度问题,而且不同地区的数据难以统一;最后,持有实物商品流动性差,管理难度较大。以上困难促使我们不得不寻找其他计算方式。
对于资产管理,商品配置一般不投资于实物商品,业内流行的方式是通过商品期货,然后滚动移仓,达到配置商品的目的。理论上,投资商品期货的收益可以分解成:
Futuresreturn=Spotreturn+Rollreturn+Collateralreturn
即期货投资收益由3部分构成:对应现货的收益、展期收益和现金收益[1]。
这里roll收益和carry收益相对应。如果不考虑现金收益,当roll yield为负,下一个合约[2]价格高于当前合约,持有期货收益将低于持有现货收益,carry收益为负(benefits<costs),此时商品处于contango形态;相反,当roll yield为正,下一个合约价格低于当前合约,持有期货收益将高于持有现货收益,carry收益为正(benefits>costs),此时商品处于backward形态。如果现货价格波动较小,且roll yield具有一定持续性[3],那么买入处于backward的商品,卖出处于contango的商品,将在理论上获利。
另外,也可以从存储理论(Theory of Storage)的角度理解carry策略。Gorton、Hayashi和Rouwenhorst(2007)发现,便利收益和存货存在非线性的负相关关系。当库存降低时,商品短缺(便利收益大),现货价格高于期货价格(backwardation),现货(及期货)价格倾向于持续上涨;当库存上升时,商品充裕(便利收益低),现货价格低于期货价格(contango),现货(及期货)价格价格有下跌趋势。库存是供需平衡的蓄水池,carry策略和库存的关系说明它并不是一个纯粹的量价模型,而是具有深刻的基本面基础。
3.数据
3.1合约数据
在计算期限结构指标时,需要用到合约数据,合约数据来自wind。需要重点说明的是,由于合约设计上的不合理,部分商品修改过合约细则,并更改了商品代码,这些品种包括WS、ER、ME、TC和RO,修改后的代码分别为WH、RI、MA、ZC和OI。本质上,这种修改并不影响商品的价格,商品还是那个商品,价格还是原来那个商品的价格,具有连续性。因此,我们将合约修改前后的数据进行了向后统一,例如RO即为OI,RO203即为OI203。
3.2商品收益率指数
在做期货的研究时,常常使用主力合约指数和合约加权指数,这些指数构造起来比较简便,理解起来也不复杂,但并不能反映期货交易的真实收益。作为替代,一个有效的方案是收益率指数。
商品收益率指数模拟了换月时的真实过程,能最大程度体现期货投资者的真实收益。目前国内南华商品指数质量高应用广,本文使用的收益率指数来自刀疤连和桂琪琪(2018)的方案,总体上和南华相似。
4.期限结构因子
商品的期限结构是市场参与者对不同合约的价格预期,反映了经济周期、商品供求、市场情绪等诸多信息。如果远期合约价格高于近期合约价格,商品价格曲线向右上方倾斜,此时市场处于远期价格升水状态(contango),如图1左。如果远期合约价格低于近期合约价格,商品价格曲线向右下方倾斜,此时市场处于远期价格贴水状态(backward),如图1右。
通过定义一个期限结构因子,可以很好地刻画商品的期限结构。一个好的期限结构因子应该具有如下特征:1)直观性;2)稳定性;3)易得性。目前主要有3类计算方法:展期收益率、斜率法和主成分法。
4.1展期收益率(roll yield)
商品的carry收益反映了持有商品现货的净收益(即便利收益减去储蓄、运输和保险等成本)。当carry yield<0时,持有商品收益小于成本,商品曲线呈contango形态;当carry yield>0时,持有商品收益高于成本,商品呈backward形态。因为持有商品的收益和成本无法轻易获得,因此可以通过期货和现货数据近似计算,即:
C(t)=(S(t)−F(t))/F(t)
其中,S(t)为现货价格,F(t)为期货价格(一般为主力)。上式又被成为展期收益(roll yield)。由于无法获取及时、准确和完整的现货数据,上式也无法计算。作为替代,可以使用两个期货合约价近似计算,计算方法为:
C(t)=(F(t1)−F(t2))/(F(t2)(t2−t1))
其中,F(t1)为近月合约,还有t1个月到期;F(t2)为远月合约,还有t2个月到期。
在实际计算时,F(t1)为主力,F(t2)为次主力;或者F(t1)为最近合约,F(t2)为主力。
目前学术上一般用该方法衡量商品的期限结构。国内大多数商品期货换月规律并不确切,导致展期收益率会有不同程度的跳空,使得数值不连续和不稳定。
4.2曲线斜率(the slope of term structure curve)
事实上,商品期限曲线并非完全的单调递增或单调递减,很多时候会呈现扭曲的结构(如图2)。在计算展期收益率时,只使用了曲线上的两个合约,这两个点的连线不能完全反映整条曲线的信息。为了弥补这个缺陷,可以使用期限曲线的斜率(slope)来描述其形态。
图2 橡胶期货扭曲的期限结构
期限曲线斜率的含义很直观,其符号代表倾斜方向。如果斜率大于0,则表示曲线向右上方倾斜,呈contango形态;如果小于0,则表示曲线向右下方倾斜,呈backward形态。其数值绝对额代表上倾或下倾的程度,如果绝对值很大,说明远期升水或贴水较深;如果绝对值较小,说明曲线平坦。
4.3主成分法(PCA)
和利率的期限结构一样,可以将商品期货的期限结构进行主成分分解。Barra(2011)在设计其商品多因子模型时,采用的便是这个方法。
一般来说,商品期货的期限结构可以由三个主成分解释,分别为shift、twist和butterfly,每一个因子都有特殊的含义。在这些主成分上进一步开发,便能得到趋势跟踪因子和期限结构因子。
5.多空对冲组合
接下来,计算每个商品在每个交易日的期限结构因子(ts),构造多空对冲组合并回溯其表现。在展示该模型(TS组合)结果之前,先介绍具体参数设置和构建细节,包括测试区间、因子计算、投资范围、组合构建、调仓频率和成本估计。
5.1测试区间
为了保证可选商品池较大,起始日期为2010-01-04,结束日期2018-09-21。
5.2因子计算
在每个交易日,计算每个商品的期限结构因子ts。ts为正,该商品远月升水;ts为负,该商品远月贴水;ts绝对值越大,期限结构曲线越陡峭。总体来说,期限结构因子呈左偏尖峰,自相关性较强。关于该因子属性的详细讨论,见附录1。
5.3商品池
投资范围采用动态商品池,即动态考虑商品的流动性,从而选择是否纳入池子。关于商品池的进一步讨论,见附录2。
5.4组合构建
在交易日t,通过如下方式构建多头组合和空头组合:
1)提取商品池内所有商品的ts因子,将因子大于0的商品归为contango组,将因子小于0的商品归为backward组;
2)在contango组,选择因子大于50分位数的商品,进入卖空名单short list;在backward组,选择因子小于50分位数的商品,进入买多名单long list;
3)所有商品等权重,即权重等于1/[len(short list) + len(long list)]。
5.5成本设置
成本主要来自交易费用和冲击成本。根据经验,交易费用一般在万2以内;冲击成本设置为两个滑点,平均为万20。因此,单边总成本设置为单边千2.5。
5.6rebalance
调仓频率为一个月,每月最后一个交易日进行换仓操作。
5.7结果展示
回溯TS组合,历史累计净值及其风险收益指标见图3。可以看到,该组合近8年表现非常优秀,年华收益11.52%,夏普高达1.53[4];风险方面,最大回撤8.19%,年华波动7.28%,属于中等风险水平;另外,该组合并非每年稳定盈利,具有一定的周期性。
图3 期限结构多空组合
6.稳健性测试
上面介绍的TS模型涉及到一些参数,这一部分对这些参数进行稳健性检验,包括商品池的选择、商品持仓数量、组合权重、调仓频率、建仓起点和交易成本等。
6.1商品池
附录2讨论了两种常见的商品池,当从固定商品池进行选择时,结果见图4。可以看到,固定商品池的和动态商品池没什么两样,两种方式都能获得相似的结果。
图4 固定商品池多空组合
6.2分位数选择
在组合构建时,选择因子大于q分位数的contango商品进入short列表,选择小于100-q分位数的backward商品进入long列表。q取不同值的测试结果见表2。
当q等于0时,空头持有所有处于contango状态的商品,多头持有所有处于backward的商品;随着q的变大,组合持仓商品数量开始变少,年化收益开始增加,同时波动也加大;当q很大时,过少的持仓导致组合波动较大,收益和夏普同时降低。总体来说,结果对组合持仓大小并不敏感。
表2 不同分位数(组合大小)多空组合
6.3商品权重
在没有更好更多的信息时,等权重是一个较优秀选择。另外,也可以用因子值进行加权,即期限曲线越倾斜,相应的权重应该越大;曲线越平坦,权重越小。因子加权测试结果见图5。从图5可以看出,因子绝对值加权并没有变差,但也没有明显改善。
图5 因子值加权组合
6.4 21个交易日=一月
在定义一个月时,既可以用自然月(每年12个自然月),也可用固定交易天数作为一个月(如21天)。固定21个交易日rebalance的结果见图6。结果显示,无论用哪种方式,区别不大。
图6 定义21个交易日为1个月
6.5 换仓日的不同
原始模型在每月最后一个交易日进行rebalance,这也是绝大多数研究约定俗成的日期。表3检验了不同换仓日的测试结果,其中“天数”指距离每月最后一个交易日的天数。例如天数为0时换仓日即为每月最后一个交易日,天数为2时换仓日则当月倒数第三个交易日。从表3的结果可以看出,多空组合并不受换仓日的影响。
表3 每月月末(调仓日)的定义
6.6 调仓频率
无论是自然月还是21个交易日,调仓频率都为1个月。表4统计了不同调仓频率下的组合结果。可以看到,调仓频率太小或者太大,都会导致年化收益降低,但总体上此参数对结果没有实质影响。
表4 调仓频率
6.7交易成本
将交易成本按0.5‰的步长从0加到5‰(单边),测试结果见表5。由于因子换手率并不高,交易成本的增加并不不会导致结果的急剧恶化。
表5 不同的交易成本
7.时间序列carry
Koijen et al.(2013)在介绍carry策略时,既研究了横截面的carry,也测试了时间序列上的carry。横截面的carry,也可以叫做相对carry,即在某个交易日t,根据因子值对所有商品进行排序,选择一篮子商品建立多头组合和空头组合。时间序列carry,只关注商品自身的历史情况,根据因子值产生买卖信号进行择时。
利用ts因子,我们设计如下时间序列策略:1)对每一个商品,当ts因子小于0时,建立多头头寸;当ts因子大于0时,建立空头头寸。
交易成本为单边2.5‰时,固定商品池所有商品的风险收益指标统计如图6。
可以看到,ts作为一个择时指标,在大多数商品上能实现正的风险调整收益。然而,该择时策略也面临着波动大、回撤大的缺点。另外,如何把单个商品汇总成多商品组合,也是一个需要探讨的地方。关于时间序列上的carry,需要进一步优化,这是一个方向。
8.和其他模型的比较
一个策略的价值,除了其自身具有较高的逻辑性、稳健性和收益性外,还需要带来新的信息增量。如果该策略和已有的策略高度重叠,能被已有策略解释,不具有任何差异性,那么即使新策略多么漂亮也只是一个影子罢了。
图7计算了carry组合和趋势跟踪策略、A股指数、利率债指数、信用债指数和大宗商品指数的相关性。可以看到,carry组合和商品趋势跟踪组合相关性较低,可以有效提高CTA组合的多样性;和其他几类资产相比,相关性更低,对于多资产多因子组合来说,是一个非常有潜力的分散源。
图7 相关性分析
其中Trend用的是中信商品动量指数,Commodity用的南华商品指数,Ashare用的中证全A指数,Treasure和Credit分别用的是中债国债和信用债总财富指数
9.总结
本文在已有研究和经验的基础上,介绍了Carry策略的基本原理,并对该策略进行了全方位的回溯。本文设计的的carry策略测试效果较好,结果稳健,并与其它策略相关性较低,可以为多元化组合提供新的收益来源。
进一步研究的方向有:
1)时间序列carry稳健组合构建方式;
2)因子计算和组合权重的深度优化;
3)优化展期策略(例如延迟或提前展期)。
参考资料
刀疤连,&桂琪琪.(2018).期货收益率指数编制方案https://mp.weixin.qq.com/s/4g-SGBfaXY1ryOIoOcjGAg
李洋, & 郑志勇. (2015). 量化投资:以MATLAB为工具. 电子工业出版社.
Barbieri, A., & Stoyanov, T. (2011). The Barra Commodity Model (COM2).
Campbell. (2014). Deconstructing Futures Returns: The Role of Roll Yield. Campbell & Company.
Erb, C. B., & Harvey, C. R. (2006). The tactical and strategic value of commodity futures. Nber Working Papers, 62(2).
Fabozzi, F. J., Fuss, R., & Kaiser, D. G. (2008). The handbook of commodity investing (Vol. 156). John Wiley & Sons.
Fuertes, A. M., Miffre, J., & Fernandez-Perez, A. (2014). Commodity strategies based on momentum, term structure, and idiosyncratic volatility. Social Science Electronic Publishing, 35(3), 274–297.
Gorton, G., Hayashi, F., & Rouwenhorst, K. G. (2008). The Fundamentals of Commodity Futures Returns. Yale School of Management.
Koijen, R. S., Moskowitz, T. J., Pedersen, L. H., & Vrugt, E. B. (2013). Carry (No. w19325). National Bureau of Economic Research.
Till, H. (2015). What are the sources of return for ctas and commodity indices?, a brief survey of relevant research. Social Science Electronic Publishing, 18(4), 108-123.
附录
1.ts因子的特性
分布特征
将所有商品的ts因子放在一起,进行描述性分析,其频率分布图和简单统计量见图A1。可以看出,绝大多数ts因子介于-0.02~0.02之间,均值大于0,左偏且尖峰,说明商品contango的情形比backward更常见,这和Gorton(2008)的结论一致。
图A1 ts因子的分布特征
自相关性
所有商品的ts因子序列如下图A2,可以看到ts因子具有持续性和聚集性,即大的因子值后面倾向于紧跟大的因子值,小的因子值后面倾向于紧跟小的因子值。
图A2 所有商品ts因子序列
为了进一步确认ts因子的持续性和聚集性,计算每个商品因子序列的1-63阶自相关,以及所有商品自相关的平均值,如图A3所示。平均来看,即使相隔3个月(63阶左右),自相关系数还能达到70%。因子的持续性和聚集性导致较低的换手率,也解释了为什么策略对交易频率和交易成本不敏感。
图A3 ts因子自相关性分析
2.商品池(universe)
理论上,投资范围越广,越能分散风险(如果不考虑相关性的话)。在构建carry组合时,投资范围定为在大商所、郑商所和上期所交易的所有商品。但是,考虑到某些商品极不活跃,流动性极差,在实际交易时会产生较大的冲击成本,甚至根本不能成交。因此需要将交易范围进行压缩,剔除掉这部分商品,创建一个可交易的商品池。在实际确定商品池时,有固定和动态两个方法。
固定商品池
选择那些长期活跃的商品,可以构建固定商品池,组合构建时只在该商品池中选择商品。
长期活跃的商品有:['A', 'AG', 'AL', 'AU', 'C', 'CF', 'CS', 'CU', 'FG', 'I', 'J', 'JD', 'JM', 'L', 'M','MA', 'NI', 'OI', 'P', 'PP', 'RB', 'RM', 'RU', 'SR', 'TA', 'V', 'Y', 'ZC', 'ZN']。
考虑到不同商品上市日期不一样,固定商品池中实际商品数量见图A4。
图A4 固定商品池
动态商品池
事实上,某些商品并非一直活跃,某些商品也并非一直是死品种。有些品种开始很活跃,最后成交慢慢降低,沦为死品种,如两板;相反,有些品种长期为死品种,从某时起关注度增加,又重新活跃起来,如hc。静态商品池无法捕捉到这些特征,使得商品组合可能会忽略某些机会,或暴露流动性风险。
创建动态商品池的步骤如下:
1)在交易日t,计算所有商品的流动性指标(liquidity);
2)按liquidity对商品降序排名,选择排名靠前的3/4作为商品池。
常见的流动性指标有:
1)滚动126天volume;2)滚动126天openint;3)滚动126天volume/openint
其中volume和openint为商品c在交易日t所有合约的加总;这里的3/4和126(半年)并不是一个核心参数,结果对其不敏感。
对于第三个指标,很多研究人员(如李洋和郑志勇(2015))用其来衡量商品的活跃性,单可能也面临一些问题。当oi很小时,vol/oi值会很大,例如某商品成交量为10,持仓量为2,计算出来的liquidity指标为5,使得该商品很容易进入商品池。但这么小的成交持仓量,显然不是一个好的交易对象,因此该指标有其不合理的地方。指标1和指标2差异不大,我们将选用指标2确定动态商品池。动态商品池中实际商品数量见图 A5。
图A5 动态商品池
现金收益可以理解为,因为商品投资是保证金收益,非保证金占用部分的资金可以购买无风险资产,获取无风险收益率。 ↩
既要换过去的合约 ↩
很多文献支持roll yield具有持续性这一条件 ↩
为了简化计算,这里夏普并没有考虑无风险收益率,直接为年化收益除以年化波动。 ↩
(END)
新投顾(公众号:new-advisor)专注于跨资产的因子配置研究、学习和交流
可长按识别二维码关注,喜欢请分享