【点宽专栏】期货多因子(二)——各因子描述

【点宽专栏】期货多因子(二)——各因子描述

一、报告简介

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

二、因子研究方法

上期我们对于因子溢价构建方法进行了简介,本文采用同样方法,每天换仓,构建因子多空组合。对于多空组合收益率,我们采用总收益、年化收益、年化波动、夏普比率、最大回撤、收益回撤比、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天就重新学习一下特征,构建组合,从而降低回撤。

【点宽专栏】期货多因子(二)——各因子描述

上一篇:『论文笔记』Swin Transformer


下一篇:Titanic数据分析与可视化