正文
根据我们对基本面的研究发现,动力煤产地主要集中在山西、陕西和内蒙,供应数据主要包括坑口煤价等,但其数据频率为周频且相对于港口数据变化较为不敏感。
中游的数据主要由港口锚地船舶数量,港口海运费,港口库存和港口吞吐量、调入调出量(日度数据)。
下游主要包括沿海地区六大电厂库存、日耗(日度数据),以及内陆重点电厂库存(周度数据)。
港口的海运费和电厂库存均和动力煤价格走势有较强的相关性(我们这里选取动力煤现货价格为秦皇岛港平仓价:
Q5500,即标准交割品)。
一般而言,港口海运费的上涨代表中游交投活跃,且当海运费走高时,其动力煤运输成本也走高。
因此海运费对价格的影响是双重作用。
电厂库存和动力煤价格往往呈现出相反的走势,这是因为当电厂库存高企时,电厂补库需求开始下降;
而库存去化的过程种,库存压力下降,上游议价能力较强。
一个有趣的现象是,动力煤下游需求端主要是电厂,在夏冬两季是消费旺季,春秋是淡季。
但很多情况其价格走势并不出符合需求季节性走势。
比如2018年4-6月份动力煤价格上涨,而6-8月旺季价格下跌。
一个很重要的因素是下游电厂在淡季采取战略性补库的行为,在旺季来临之前把库存累积到一定高位,从而对价格产生干扰,进而控制其在消费旺季的成本。
还有一个因素是非电力行业的消费影响,因水泥化工行业的消费旺季在春秋。
因此往往按照传统的消费淡旺季来做动力煤价格预判往往效果较差。
(三)动力煤期货特性:
低波动,基本面主导
一方面,动力煤产业链和煤焦钢矿产业链的不同之处在于其下游是以电厂、化工、供热等行业组成,而煤焦钢矿产业链是通过焦煤产出焦炭,结合铁矿石生产钢材,供下游房地产、基建、汽车行业使用。
因此动力煤虽然属于黑色系商品,但其产业逻辑和钢材产业链不能混为一谈。
因此动力煤价格和螺纹钢价格走势也在波段上有所不同(二者都属于黑色系工业品,价格走势在大周期相仿,但并不能排除阶段性的分化,且幅度不同)。
因此动力煤是在工业品中比较理想的分散风险的商品,其既有黑色原料的属性,又有能源工业品的属性。
价格走势自成体系。
以动力煤期货出发的量化策略能够较大程度上分散和黑色系的同涨同跌风险。
另一方面,动力煤价格的走势相对螺纹钢、焦炭而言,波动性比较低。
因为实体产业机构在动力煤期货上的参与度要高于螺纹钢和焦炭,也就是其参与者结构主要以产业、机构投资者为主,投机性、金融属性低于螺纹钢和焦炭。
相比之下,螺纹钢的投机度较高,很多时候价格被“炒作”的嫌疑比较大。
从动力煤和焦炭、甲醇等活跃品种的波动率也可以看到,其波动水平远低于后两者。
因此其价格走势将更加由基本面主导,并在价格超涨超跌、基本面转向后能够较快的出现反转信息。
这无疑增加了基本面策略的有效性。
最后,数据上的支持,相比于螺纹钢和焦炭等品种,动力煤基本面数据以日度为主,而螺纹钢等以周度、月度数据为主。
在瞬息万变的大宗商品市场上,周度频率的数据并不能满足灵敏性较高的量化策略,其有效性也被大大减弱。
动力煤的这一属性也加强了基本面量化的可行性。
二、单因素模型的探索——以中游数据为例
基于对动力煤产业链的分析,我们发现动力煤中游数据:
锚地船舶数,海运费和动力煤价格的正向相关性比较高。
我们以这两个指标的数据作为基础,构建出两个单因素动力煤期货的择时模型。
(一)基础数据指标选取
港口运费的选择:
因为海运主要是北煤南运,因此我们选择各个主要港口之间的运费平均值作为运费指标。
各个港口运费分别为:
天津-上海、天津-镇江,京唐/曹妃甸-宁波,秦皇岛-广州,秦皇岛-福州,秦皇岛-宁波,秦皇岛-上海,秦皇岛-张家港,黄骅港-上海,秦皇岛-南京。
锚地船舶数量的选择:
我们以秦皇岛港口、曹妃甸港口和京唐港的锚地船舶数量之和作为船舶数量指标。
其中,秦皇岛是最主要的动力煤贸易港口,秦皇岛锚地船舶数多于曹妃甸港口数量,但随着这几年曹妃甸港口和京唐港船舶数量的增多,我们最终将三个港口船舶数量之和作为最终的指标。
(二)指标的构建
对于运费,我们的思路是:
通过判断港口运费在一段时间内的累计变化量来判断买卖入场点。
即,设为运费的时间窗口,也就是累计变化量的计算时间区间;
设为运费变化量,也就是时间窗口内的运费累计变化量。
当观测到累计变化量超过设定的值时,即为买入信号;
当观测到累计变化量低于设定的时,即为卖出信号。
同样,对于港口锚地船舶数量,我们的思路是,通过判断船舶数量在一段时间内的累计变化量来判断买卖入场点。
设为船舶数量的时间窗口,为船舶数量变化量。
当观测到船舶累计变化量超过时,即为买入信号,当观测到船舶累计变化量低于设定的时,即为卖出信号。
当买入或者卖出信号出现后,即在第二个交易日开始下单。
并且开仓过程中不涉及平仓操作,状态非买入即卖出。
(三)单因素模型回测及结果
1)单因素回测方面,重点在于展示数据有效性,我们使用动力煤期货指数(ZCFI.WI)作为价格合约。
2)交易手续费方面,我们按交易所规定的4元/手的标准进行双边扣除。
3)杠杆使用率方面,我们不使用杠杆,且不做浮动加仓。
为了直观表示,我们截取部分有效参数,观察该模型的表现。
海运费单因素模型,选取的时间窗口内,的变化对结果的影响。
以下为不同(,)的净值结果,以2016年10月12日的动力煤指数收盘价作为基准,价格指数为541。
船舶数量单因素模型,选取的时间窗口内,的变化对结果的影响。
以下为不同(,)的净值结果,以2016年1月19日的动力煤指数收盘价作为基准,价格指数为310.6。
从以上截取的部分参数下的模型表现结果可以看出,海运费和锚地船舶数量数据对价格的指引有着正向的作用,并且在一定的参数设置下,在样本内可以获得相对可观收益。
比如,的情况下,从2016.10.12至2019.7.12累积净值达到1.91,年化收益率26.48%,最大回撤13.19%,夏普比率1.604,卡尔玛比率2.01。
在,的情况下,从2016.1.19至2019.7.12累积净值达到3.225,年化收益率41.11%,最大回撤17.3%,夏普比率1.02,卡尔玛比率2.38。
但是,根据上面回测结果可以发现,单因素模型参数敏感度很高。
比如海运费模型(3,3)的组合表现很差,(3,4)明显优于前者。
并且,由于单因素模型无法完全解释动力煤价格变动,其下游需求是驱动动力煤价格变动的根本因素之一,中游偏表象。
而运用到择时策略上,单因素模型风险较高,面临回撤较大。
因此我们在下文给出了基于中下游数据的多因素择时模型,来改善以上的缺点。
三、多因素择时模型
(一)数据选取思路
由于单个指标对价格变化的解释度有限,在部分行情中容易出现指标与价格偏离的情况。
因此我们选择采用多个因素进行择时测试。
在本篇报告中,我们用中游和下游的数据设计择时指标(上游数据多为产地价格、产量数据,由于变化频率低,且滞后性比较明显,故在该策略中不引用)。
我们选取6大电厂日耗合计、港口运费、港口库存、港口船舶数量以及6大电厂库存作为5大因素。
其中港口库存包括秦皇岛、曹妃甸和国投京唐港的库存。
这些指标覆盖了动力煤产量链中以电煤为主的中下游数据,能够基本解释动力煤价格的走势。
(二)指标设计思路
每一组数据都能代表流量和存量数据,流量数据代表一定时间窗口内,数据的变化量(具有方向);
存量数据代表目前时点该数据的绝对值。
根据这一特性,我们针对不同的源数据,设计了流量因子和存量因子(以上频率均是日度):
流量因子:
存量因子:
对于的选择,我们根据不同数据对于动力煤期货价格的最优先行天数而定(这里是指在一定的交易天数内,选取相关系数最大的值对应的天数)。
而因各个指标与动力煤价格之间有着不同程度上的相关性,这些均为非线性相关。
这里我们采用spearman相关系数代替传统的Pearson相关系数算法。
从而计算出不同源数据对应的不同的相关系数:
(以下是截至目前为止全周期内的流量和存量因子分布图,可以看到这些指标展现出较强的正态分布特性,并有一定的峰度和偏度偏差)
思路:
利用最优先行周期计算5个指标的流量,成为流量因子;
存量因子等于数据的绝对价格,其分布仍然用高斯分布模拟。
将以上10个因子做分布统计,时间为2013.10-2019.7。
根据不同数据的相关系数,可得到在给确定的起始时间和终止时间的区间内的滚动相关数据时间序列数据。