其他分享
首页 > 其他分享> > 【点宽专栏】国泰君安——综合期限多样性的趋势选股策略

【点宽专栏】国泰君安——综合期限多样性的趋势选股策略

作者:互联网

前言

此策略报告策略构建部分参考 国泰君安综合期限多样性的趋势选股策略数量化专题之九十。

原报告思想

移动平均线由于具有简单直观的特征,是最常用的技术指标之一, 除了简单发送多空信号之外, 移动平均指标作为历史股价走势信息的载体,能够对未来收益起到一定的预测作用。

由于不同期限移动平均指标包含的信息不同, 本报告策略的核心思想在于同时捕捉个股历史短期、中期、长期趋势特征,并结合市场整体环境, 构建趋势模型, 进行个股收益的预测。模型本身不依赖于市场短期、中期、长期的动量反转特征的事前假设,各移动平均指标的预测方向和力度随市场整体环境而动态变化。

原报告概述

移动平均线由于具有简单直观的特征,是最常用的技术指标之一,在指导交易时, 多用于发送多空信号。在单均线应用中,价格上穿或下穿均线是趋势形成的必要而充分条件;双均线系统里,长期和短期均线形成的“金叉”和“死叉”可分别发送做多和做空的信号。

不同期限移动平均指标包含的信息不同, 短期、中期、长期移动平均指标分别捕捉了个股短期、中期、长期趋势特征。个股的价格在多、空相反方向力量的共同作用下形成, 短期、中期、长期移动平均线分别捕捉个股短期、中期、长期的动量反转特征,可以简单看作股价所受到的正反两个方向作用力。除了个股本身因素之外,市场整体环境也会影响各方向作用力的效果。

鉴于此, 本文通过截面回归的方式,寻找不同期限移动平均指标与下一期收益之间作用关系。具体而言,以股票下一期收益为被解释变量,以各期移动平均指标为解释变量, 进行截面回归。回归得到的系数反映了市场整体趋势结构,即不同期限移动平均指标对下一期收益的预测属性,既包含方向、也包含大小。在模型具有较好的外推性的前提下,样本外收益预测指标便可以作为选股依据。

策略构建

注:本文剔除120,240移动均线

步骤1:

在移动均线的选取中,为了捕捉股价在不同时期的趋势,我们分别选取3、 5、 10、 20、 30、 60(原文有120,240,此处剔除)这些常用参数,得到的均线分别代表股价在过去超短期、短期、中期的表现。考虑到指数移动平均线(EMA)相对普通移动平均线存在更高的灵敏度,相对较近的股价被赋予更高的权重,因此优选 EMA 指标。具体构建方法如下:
图片

步骤2:

等式左边为 i 股截至 t 期末的 n 日 EMA, 考虑市场中个股之间价格相差巨大,为避免之后的回归模型受到极端值的干扰, 我们对 EMA 指标进行进一步标准化:
图片

1、2代码部分


%标准化EMA计算
function today=EMA(close,n) 
    emas = 2/(n+1)*close(:,end-n+2)+(n-1)/(n+1)*close(:,end-n+1);    
    for i=3:n
        emas = 2/(n+1)*close(:,end-n+i)+(n-1)/(n+1)*emas;    
    end
    today = emas./close(:,end);
end
其中n为均线周期,close为收盘价数据。

步骤3:

将 EMA 除以当天收盘价,在得到标准化的 EMA 的基础上,进行截面回归:
图片

function betavalue=coef(close,t)     
 %t对应月份,0表示当月,1表示上个月,依次类推
    %月度收益的计算
    Y =(close(:,end-20*t)-close(:,end-20-20*t))./close(:,end-20*t);
    %上一个月的收盘
    lastclose = close(:,1:end-20-20*t);       
    oldEMA3= EMA(lastclose,3);
    oldEMA5= EMA(lastclose,5);
    oldEMA10= EMA(lastclose,10);
    oldEMA20= EMA(lastclose,20);
    oldEMA30= EMA(lastclose,30);
    oldEMA60= EMA(lastclose,60);    
    %oldEMA120= EMA(lastclose,120);
    %oldEMA240= EMA(lastclose,240);
    X = [ones(size(close,1),1),oldEMA3,oldEMA5,oldEMA10,oldEMA20,oldEMA30,oldEMA60];
    Z = [Y,X];
    Z(any(isnan(Z),2),:) = [];%剔除无效信息
    Y=Z(:,1);X=Z(:,2:end);    
    if ((sum(sum(isnan(X))))>0)        
        disp(sum(sum(isnan(X))))
        betavalue =nan(6,1);%若有效数据不足则传回nan不操作
        return;    
    else
        disp('完成');    
    end
    b=regress(Y,X);%回归系数的计算
    betavalue =b(2:end);
end

步骤4:

各移动平均线的相对预测属性均不稳定,因此我们对各期回归系数在时间序列上进行平滑处理(原系数为12):
图片

得到 t+1 期的回归系数预测值。

%beta值的计算
betavalue=coef(close,0);%beta的值的求解
for t=1:2
    betavalue=betavalue+coef(close,t);
end
betavalue =betavalue/3;%beta均值计算

步骤5:

最后计算回归系数的预测值与个股 EMA 的乘积:
图片

其表示基于市场整体趋势特征和个股超短期、 短期、中期、长期历史价格信息对下一期个股收益的预测,并基于此构建选股策略。

%%EMA计算
nowEMA3= EMA(close,3);
nowEMA5= EMA(close,5);
nowEMA10= EMA(close,10);
nowEMA20= EMA(close,20);
nowEMA30= EMA(close,30);
nowEMA60= EMA(close,60);    
%nowEMA120= EMA(close,120);
%nowEMA240= EMA(close,240);%预期收益相对大小
oldvalue=[nowEMA3,nowEMA5,nowEMA10,nowEMA20,nowEMA30,nowEMA60]*bet

选股时选出该值最大的一批股票。(上述代码为EMA多期限组合计算)

实现与结果部分

注:此报告只参考其选股部分内容,对EMA3,5,10,20,30,60操作,为了横向比较单独测试了EMA3,5,10,20,30,60,以及EMA大综合(即包含所有周期测试效果),以及单独测试的EMA3,20,30综合组合。观测多周期EMA线的趋势选股策略的效果。

参数设定

股票池:中证500
时间:2010年1月1日~2017年6月30日
资金:1,000,000,000
手续费:万分之二点五
无风险利率:百分之二
滑价:0
20日一调仓,每期调50支股票
调仓后设置止损
以每日的下一个bar开盘价成交

各曲线如下

在这里插入图片描述

在这里插入图片描述

总表

图片

红色代表达标(超过平均值),黄色代表不达标(未超过平均值)。

可以粗略看出综合项的回撤均较低有相对较好的夏普率,EMA3和EMA20在收益上表现良好,EMA30回撤较低,对EMA3,20,30进行综合,得到了一个综合更为理想的回测(回撤较低,且保证了收益)。由此可见综合项包含信息较多的优势。

该策略主要根据上个月各EMA线情况回归这个月的收益得到系数,用这个月的情况与系数相乘预测下个月的收益,调仓时选取预测收益最大的股票进行买入。

图片

从年化收益与各指标来说,与其他策略相比可能并不是特别好。可以考虑缩短调仓周期,更换止损策略,尝试不同的EMA线的长度等等,或者采取组合策略。

标签:20,平均指标,EMA,多样性,专栏,lastclose,close,选股,end
来源: https://blog.51cto.com/u_14793075/2781001