【跨年策划】商品期货多因子 全市场对冲模型 完整代码分享

论坛 期权论坛 期权     
量化投资训练营   2019-5-25 13:24   2955   0
  写在前面


  2018年是投资者遭受苦难的一年,但过了这一年也许更难……所以无需安慰关怀各位读者,共同学习交流,抓紧时间丰富武器库,思考探索各类不同源资产,不同源模型,生存更久一些

  期货时间序列动量显著,尽管这类动量模型在近一两年来有衰减(特别是2017年盈利困难),但是2018年无论是年初的苹果AP,还是8月的焦炭J为主的黑色系飙升(外加PTA带动能化板块崛起),还是入冬后黑色系下挫,原油暴跌,都给动量模型带来不少机遇。

  债市2018年的表现不用说——市场公认最佳投资品种。我们通过风险平价Risk Parity、美林时钟、信用风火轮几篇文章都做过展示,债券在此阶段的配置比例应该是最高的,特别是前景不确定的2018年,这是全市场唯一个可以all in的品种。

  无论是写公众号,还是身处从业环境,我们一直偏向资产配置和FICC类策略研究(Fixed income Currencies & Commodities,译为固定收益证券、货币及商品期货),以此方式来对冲单纯股票市场的高beta,试图为投资者拓展眼光,增加投资稳定性。如果说取关一个公众号越来越容易,我希望这里提供的知识或许让你多想3秒再做打算。


  一、从知名因子模型说起


  大概50年前(20世纪60年代中期),资本资产定价模型(Capital asset pricing model, CAPM)认为,股票的收益只与整个股票市场的系统风险有线性关系。即Rit-Rft=βi(Rmt-Rft),股票的期望收益只与市场的系统风险β有关
  


图片来自:slidemodel.com

  只有β因素能解释股价吗?CAPM这样的风险归因显然是不足的,毕竟它是单因子模型,但是考虑到当时全球市场没有足够金融数据积累,使用市场风险来解释个股风险是理想方案。后来出现了多因子模型的理论基础,套利定价理论(Arbitrage Pricing Theory,简称APT),通过更多因子来解释风险,并根据无套利原则,得到风险资产均衡收益与多个因素之间存在(近似的)线性关系。

  



  多因子模型(Multiple-Factor Model,MFM)体系中知名度最高的是1993年Fama和French指出三因子模型来解释股票回报率,三因子分别是市场资产组合(RmRf)、市值因子(SMB)、账面市值比因子(HML),其中又以市值因子(SMB)对股票价格定价影响最为显著。Fama和French三因子模型后来在世界多国资本市场都被验证是有效的。

  值得注意的是Fama和French三因子模型主要用于解释风险,这类结构化风险模型对收益率进行简单的线性分解,之后出现的Barra风险模型也是一样,被广泛接受的Barra风险模型采用了多个风险因子来解释收益。


  二、商品期货多因子模型探索


  Jesse et al. (2016)发现,可以用三因子模型(Carry也就是展期收益率,MKT也就是所有期货品种的平均收益率,TSMOM也就是时间序列动量)解释商品期货的现货溢价和期货溢价,用三因子模型作为衡量商品基金的基准,就好比是用Fama-French三因素模型作为衡量股票基金的基准。三因子的定义如下:

  1、市场因子(Market):所有商品期货的等权平均收益;
  2、高/低期现溢价因子(Hterm/Lterm):根据展期收益率基差排序,高于/低于中位数的商品期货组合的期货溢价;
  3、时间动量因子(TSMOM):过去12个月获得正收益的商品等权组合与获得负收益的商品等权组合的收益之差。

  《RISK PREMIA IN CHINESE COMMODITY MARKETS》(中国商品市场的风险偏好)一文解释了国内商品期货市场风险溢价,认为美国和中国市场的商品回报存在实质性的截面回归因素差异。基于最近12个月的动量表现影响美国市场11.3%,中国市场17.5%。高/低期现溢价因子(展期收益率)在美国市场的解释力为8.4%,在中国市场为6.1%。文献使用的数据是25个中国商品期货市场品种,横截面日频数据,1999年1月至2014年12月。

  之后我们找到华泰期货多因子系列报告,海通期货多因子系列报告,基本上都将主要因子分为动量和期限结构两部分




  《海通证券-基于因子剥离的FOF择基逻辑系列八》报告,将CTA基金的收益来源分成两大部分:市场因子和风格因子,市场因子进一步分为商品(针对商品期货)、权益(针对股指期货)和债券(针对国债期货),风格因子进一步分为动量和期限结构。




  动量因,选取了南华商品指数,以刻画商品资产的系统性风险。动量因子可以进一步分为时间序列动量TSMOM和横截面动量XMOM,两种动量有一定相关性。目前国内绝大部分的CTA 策略都是趋势追踪策略,动量因子可以很好地剥离掉跟随趋势带来的收益。基于动量因子,无论是隔日中长线模型还是日内模型,只要价格或者收益率突破某个阈值,则延续同方向波动的区间足够入场出场获取利润,一般呈现出高盈亏比,低胜率的特征。

  期限结构因子,属于大类资产中的利差因子(carry),股票和债券的利差因子分别为股息率和票息率,同一商品期货品种有多个不同到期日的期货合约。将不同月份合约价格连接起来可以得到商品价格的期限结构。根据仓储成本理论,期限结构与现货库存、持有成本、便利收益和无风险利率有关。在期限结构和现货价格保持稳定的条件下,随着到期日的临近,期货和现货价格将逐渐收敛,处于贴水状态的期货品种价格将上涨,而处于升水状态的期货品种价格将下跌。

  对于套利者来说,可以买入一篮子处于贴水状态的期货品种,卖出一篮子处于升水状态的期货品种,从升贴水收敛中获得收益。对于单边组合交易者而言,可以通过做多展期收益率较高的前N%品种,做空展期收益率较低的前N%品种来构建期限结构因子模型。


  三、构建商品期货多因子模型


  我们参考海通证券研报《FICC 系列研究之五——商品期货因子挖掘与组合构建再探究》,通过类似股票多因子模型的截面打分法,采用多个因子对商品期货品种截面表现进行打分评价,选择前N%品种做多,后N%品种做空。基本实现全市场市值对冲的情况下,观察因子表现。

  按照研报介绍:海外市场上常用的商品期货因子可以分为动量因子、期限结构因子、量价因子、持仓相关因子、价值因子、基本面因子和 beta 因子等七个主要的类别,各类因子还可以做 进一步的细化,例如量价因子包括特质波动率、偏度、流动性等等。




  截面因子投资模型在海外商品期货中十分有效,如图在海外商品期货多因子研究中,《Harvesting Commodity Risk Premia》(获取商品风险溢价)这篇文献影响力较大。文章梳理了影响商品期货溢价的因子,总结了学术界和业界提出的构建商品期货多空组合的11大类因子(绝大多数均有正收益,其中期限结构、价值和偏度因子正收益率最为显著),其中既包括广泛讨论的动量因子、期限结构因子、特质波动率等因子,同时还探讨了2010年以后兴起的持仓情况因子、流动性因子、通胀因子、汇率因子等影响期货定价的因子。

  文章案通过期货多因子组合,在美国市场12种农产品、5种能源、2种牲畜肉类、3种金属和木材,在近30年间取得了近30倍的涨幅,而同期全品种等权组合只上涨了61%。

  本次研究中,我们集中于这几个因子:截面动量、流动性、展期收益率、归一化VSTD、偏度、期货现货基差、会员持仓结构。


  1、截面动量

  在每个日期截面上,首先计算动量值,如果单独使用此因子,选择上涨最多的N个品种做多,下跌最多的N个品种做空。它的假设是:强者恒强,弱者恒弱。动量是相对出现于品种之间的,而不是以一个绝对数值,体现出方向性。截面动量模型的持仓是对冲形态的,每一期账户内总有N个品种多头,N个品种空头。

  海通研报认为横截面动量因子在不同参数组下均能取得正收益,但平均收益低于时间序列动量因子。当回看期R为30-45,持有期H为5-10个交易日时,因子表现相对较好,年化收益率超过4%




  截面动量因子的表现具有很强的参数敏感性。这是因为由不同的计算周期所得到动量特征表现结果不一,不同的品种的动量特征也会表现不一,所以在构建截面动量因子组合之后,组合的整体表现就会很强地受参数选择的影响。综合考虑之后,东方证券衍生品研究院的观点是,截面动量因子的有效性只存在部分参数区域内,较为合适的R值范围为10天~30左右,而H的合理取值范围为5~25天左右


  2、流动性(也译为非流动性)

  根据流动性illiquidity溢价理论,流动性越差的资产预期收益越高,Amivest 流动性比率和Amihud 非流动性比率是常用的刻画股票流动性的因子,这里我们使用后者作为期货因子,计算方法如下:




  其中ri和Amonuti分别表示期货合约在第i个交易日的收益率和成交金额,ILLIQ越高表示该品种流动性越差

  非流动性因子ILLIQ构建流动性是衡量证券变现能力的指标,流动性强,说明证券能够在折价较小的情况下,顺利卖出;相反,流动性弱,则表明交易证券需要在成交价格上做出较大让步;因此,流动性差也是风险之一。 按照风险与收益相匹配的特征,理论上市场会赋予流动性差的证券一定的收益补偿。




  如上图:优矿量化哥针对该指标,在全A指数上,使用2008~2016年数据做测试,发现该指标针对股票有非常强的区分能力,且Alpha稳定,仅在2015年牛市来临前短暂性失效,从侧面说明了该因子的主要作用区间是小市值区域股票。


  3、展期收益率

  展期收益率属于期限结构研究的变量之一,刚才已经描述过。展期收益策略是商品期货特有的策略类型。逻辑上,展期收益策略与传统的趋势类策略相关性较差,有较好的互补性,因为他们从根源上不同源。

  对于资产管理,商品配置一般不投资于实物商品,业内流行的方式是通过商品期货,然后滚动移仓,达到配置商品的目的。理论上,投资商品期货的收益可以分解成:

  Futuresreturn = Spotreturn + Rollreturn + Collateralreturn

  即期货投资收益由3部分构成:对应现货的收益、展期收益和现金收益。

  在商品期货市场,同一标的品种对应着不同交割日的期货合约,如螺纹钢每年有1月,5月,10月,这3个主力合约,还有很多次主力小合约。

  商品期货的现货价格(这里常用近月合约代替现货价格)与不同交割月期货合约交易价格之间的价格差,即商品期货的期限结构。若现货价格大于期货价格,或近月合约的期货价格大于远月合约的期货价格,称为期货贴水backward,或现货升水;若现货价格小于期货价格,或近月合约的期货价格小于远月合约的期货价格,称为期货升水Contango,或现货贴水。聚宽社区里有关于期限结构的策略模型,可以详细看其解释,我们也是基本上按照此结构撰写本模型。

  我们一般说升贴水,都是针对远期合约

  假设 Pt,n 是 t 时刻近月合约的价格,Pt,d 是 t 时刻远月合约的价格,Nt,n 是近月合约在 t 时刻距离交割日的天数,Nt,n 是远月合约在 t 时刻距离交割日的天数。则展期收益率 Rt为:
  


  当 Rt 为正,即近月合约价格大于远月合约价格,当 Rt 为负,即近月合约价格小于远月合约价格。对同一横截面的所有品种来说,最大的 Rt,即对所有品种来说,该标的的近月合约对远月合约涨幅最大,最小的 Rt,即对所有品种来说,该标的的近月合约对远月合约跌幅最大。




  按照渤海证券的交易逻辑:若不同合约的展期收益率排名可在一定程度上体现“多强空弱”中的“强”、“弱”概念,即可根据展期收益率排名构建交易策略,我们做多展期收益率最高的品种,做空展期收益率最低的品种,该因子有很强的左侧交易的味道

  由华泰期货研究所提供的上图(图3、图4)的动量策略与期限结构策略各年份收益图可以发现,动量策略在 2011 年、2012 年及 2016 年表现较好,但期限结构策略在 2010 年、2013 年及 2017 年表现优秀,两者直观上看相关性较低

  
  4、归一化VSTD

  成交量标准差(然后用成交量均值归一化,或者理解为成交量CV指标)是典型的交易行为因子,这类波动因子是指过去一段时间内股价或成交量等等其他指标的波动情况,也是一类非常重要同时效果十分显著的风格因子。通过改变所取的时间区间的长度,可以观察到不同时长下的股票波动效应强弱。




  引入它的原因首先是看到光大金工在股票因子测试中该因子表现较好,这类因子作为负向的大类因子,其单调性表现较为出色。




  我们在聚宽测试了中证800样本股在该因子下的分层能力,同样,可以清晰区分1~5组股票(蓝、黄、绿、红、紫),且因子值最高的一组表现最差,说明如果成交量变化过于迅猛,则这类股票应该做空。期货多因子研报上无此因子,这是我们随股票多因子的经验带入期货模型的因子


  5、偏度

  偏度是关于实值随机变量的平均值的概率分布的不对称性的量度。除正态分布的偏度为0,以偏度值的大小正负,可以分为正偏或者负偏分布,对于单峰分布,负偏表示概率密度函数左侧的尾部比右侧更长或更胖。相反,正偏斜表示右侧的尾巴比左侧长或胖。下图是正偏与负偏。




  Miffre et al.(2013)16使用过去 12 个月的日收益率数据计算各个期货品种的三阶矩,并从低到高排序,做多偏度最低的前 20%品种,做空偏度最高的前 20%品种来构建偏度因子,因子取得 8.01%的年化超额收益




  研报显示偏度必须将窗口期放到很长,才能体现效果。这个窗口期大致在140~180日区间,且对于持有期不是很敏感,我们在实际测试中,发现偏度是一个负向因子,对于多因子模型有一定帮助。


  6、期货现货基差

  期货现货基差指的是期货合约价格与现货价格的差值,现货价格不像期货价格,没有统一的权威的参照,很多大宗商品由于各地区运输成本的存在,差别各异,所以现货价格参照的选取就很讲究了。这里统一参照生意社网站整理的数据,生意社网站已经对不同的商品参照了不同的市场现货价格,如:螺纹钢、玻璃、硅铁参照生产者价格,棉花、甲醇参照市场价格等。

  虽然我们在模型中已经添加了期限结构,但是真正的现货数据比起远期合约,又新增了一个维度的因子,值得参考。该因子近几年表现稳定(单因子)。这里的数据来自Fushare提供:

  地址和使用方式参考:https://www.joinquant.com/post/15594

  个人交易者要想获得类似非结构化清洗后的数据,如果没有tushare、fuahare这样的第三方数据平台支持,真的很困难,尤其是IT功底较差的大部分开发者(以我为例)

  



  通过该平台提出数据后,转换成行名称为品种名,列名称为日期的数据格式,上传到聚宽【研究】平台,即可在模型中调用,调用代码参考:

# 导入读入csv文件
def csv_setting(context):
      # 基差setting
      body1=read_file("Basis_xzh.csv")
      df1 = pd.read_csv(StringIO(body1))
      df1.fillna(0)
      df1.index = df1['Unnamed: 0']
      del df1['Unnamed: 0']
      g.df1 = df1[g.instruments]


  7、会员持仓结构

  所谓成交持仓表,是一项非常具有中国特色的市场信息——在每个交易日收盘之后,交易所公布每个期货品种的“结算会员成交持仓排名”,该排名以结算会员为单位,披露成交量和持仓量的数据。




  2016年9月,方正金工提出了简便版的蜘蛛网策略,该方案不带一丝华丽的数学计算,在沪深300指数期货上却绩效惊人,日胜率57.3%,盈亏比1.48,交易信号的信息比率大于5,堪称性价比最高的期货CTA信号。

  交易策略构建:

  (1)计算会员机构的知情度:记会员机构i的多单持仓量为Bi,空单持仓量为Si,当日成交量为Vi。定义其知情度的统计量Stat如下:
  Stat_i = (Bi+Si) / Vi
  Stat_i 的值越大,相当于当日换手率越小,则会员机构i中知情投资者的比例越高。

  (2)计算会员机构的情绪指标:记会员机构i当日的多单增量为dBi,空单增量为dSi 。其情绪指标TS(Trader Sentiment)由如下公式计算得到:
  TS = (dBi-dSi) / (|dBi|+|dSi|)
  TS 的值越大,表明该会员机构背后的交易者情绪越偏多,反之则越偏空。

  需要注意的是,如果单独使用该因子,策略按照如下规则发出交易信号:
  若T日ITS>UTS,则T+1日开盘开仓做多,T+2日开盘平仓;
  若T日ITS
分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

下载期权论坛手机APP