一、报告简介

上期我们对于期货多因子的逻辑和用途进行了小结,我们构建期货多因子是为了刻画期货的特征,从而用于机器学习。上期我们探究了动量因子,本篇报告将把更多的因子特征呈现出来。

二、因子研究方法

上期我们对于因子溢价构建方法进行了简介,本文采用同样方法,每天换仓,构建因子多空组合。对于多空组合收益率,我们采用总收益、年化收益、年化波动、夏普比率、最大回撤、收益回撤比、Hurst指数、5,10,20,60,120日方差比率检验来衡量。

其中,Hurst指数(见中信建投Hurst报告)以及方差比率检验(Lo, MacKinley(1988)文章)是用于刻画因子是否具有趋势性。如果因子不是随机游走,具备短期趋势,那么我们可以根据这些特征来预测未来商品指数强弱,择时构建溢价。

因子溢价构建

function [p1,p2] = factorPremium(factorMat,retMat,order)
%% 参数说明
% factorMat:因子矩阵
% retMat:收益率矩阵
% order:true/false,正序或反序
% 返还30%多空和50%多空
%%
[tradeDate,~] = size(retMat);
p1 = nan(tradeDate,1);
p2 = nan(tradeDate,1);
for i=1:tradeDate
factor = factorMat(i,:);
ret = retMat(i,:);
d = quantile(factor,0.3);
u = quantile(factor,0.7);
short = mean(ret((factor<=d)&(~isnan(factor))));
long = mean(ret((factor>=u)&(~isnan(factor))));
if order
p1(i,1) = long-short;
else
p1(i,1) = short-long;
end;
d = quantile(factor,0.5);
u = quantile(factor,0.5);
short = mean(ret((factor<=d)&(~isnan(factor))));
long = mean(ret((factor>=u)&(~isnan(factor))));
if order
p2(i,1) = long-short;
else
p2(i,1) = short-long;
end
end
p1 = ret2tick(p1);
p2 = ret2tick(p2);
figure
plot([p1,p2])
legend(‘3-7’,‘5-5’)
xlim([1,tradeDate])
end

因子评价

function record = factorEvaluation(retIndex)
record = zeros(1,10);
n = length(retIndex);
retPer = tick2ret(retIndex);
record(1) = retIndex(end)-1; % 总收益
record(2) = retIndex(end)^(252/n)-1; % 年化收益
record(3) = std(retPer)*sqrt(252); % 年化波动
record(4) = record(2)/record(3); % 年化夏普
record(5) = mdd(retIndex); % 最大回撤
record(6) = record(2)/record(5); % 收益最大回撤比
mid = HurstCompute(retPer(2:end)); % Hust指数
record(7) = mid(1);
[,,record(8)] = vrt_full(tick2ret(retIndex),5); % 方差比率检验5日
[,,record(9)] = vrt_full(tick2ret(retIndex),10); % 方差比率检验10日
[,,record(10)] = vrt_full(tick2ret(retIndex),20); % 方差比率检验20日
[,,record(11)] = vrt_full(tick2ret(retIndex),60); % 方差比率检验60日
[,,record(12)] = vrt_full(tick2ret(retIndex),120); % 方差比率检验120日
end

三、各类因子评价

(1)动量因子
这里动量因子是衡量现在价格与均线价格偏离程度,即商品趋势性衡量,上期报告已有较为充分的描述,公式为:

图1:20日趋势动量因子

(2)时间序列动量因子

时间序列动量因子与动量因子稍有区别,为过去N日商品总收益率,其衡量的是总趋势性,而非短期偏离均线的趋势,运用也较多。当某些技术指标被广泛接受时,会产生自我实现的预期。表现较好的时间序列动量因子有60日和120日。

(3)偏度因子

偏度因子能够衡量商品期货的强弱程度,因为大单拉动趋势,小单反向操作时,会产生较高的偏度,因此偏度能够较好的捕捉人们交易行为,此外,偏度因子还代表着商品期货的博彩性质,偏度大的商品期货吸引更多资金前来对赌。我们采用的是过去N日收益率偏度来衡量,其中表现较好的为10日、20日、60日偏度因子。


(4)其他因子

我们还总结了其他一些因子,包括流动性因子、资金流向因子、振幅因子、基差因子。


四、综合评价

下面是各因子溢价的表现,同时我们还用Hurst指数和方差比率检验的t值来衡量因子趋势的筛检情况。大部分因子的短期趋势都较为明显,如果小资金操作,可以考虑每5天或者10天就重新学习一下特征,构建组合,从而降低回撤。

©著作权归作者所有:来自51CTO博客作者点宽Digquant的原创作品,如需转载,请注明出处,否则将追究法律责任

更多相关文章

  1. 诺奖得主五因子定价模型的国际检验, 做金融的得学起来了!
  2. 建立表观遗传修饰和转录因子结合位点的关系模型
  3. DolphinDB丨金融高频因子流批一体计算神器
  4. 时间同步、双因子安全验证及自动化安装实现过程
  5. python量化——利用python构建Fama-French三因子模型
  6. 公钥密码的三大数学问题
  7. 开发者选项中动画时长原理分析(Android(安卓)M)
  8. android动画 开发者选项中动画时长原理分析(Android(安卓)M)
  9. Android 密度转换多分辨率

随机推荐

  1. PHP基础之输出缓冲区基本概念、原理分析
  2. php工程师主要是干什么的
  3. PHP闭包function() use()中的详细使用方
  4. PHP传递数组格式参数到shell脚本中
  5. php主要是干什么用的
  6. php-resque :基于Redis的后台任务系统
  7. 解析PHP的self关键字
  8. php网站怎么做
  9. phpcms如何修改成手机pc自适应
  10. 如何对php文件加密