请选择 进入手机版 | 继续访问电脑版
楼主: 点宽DigQuant
681 0

[宽客人生] 【点宽专栏】国泰君安——综合期限多样性的趋势选股策略(中) [推广有奖]

  • 0关注
  • 4粉丝

本科生

25%

还不是VIP/贵宾

-

威望
0
论坛币
0 个
通用积分
1.5552
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
990 点
帖子
35
精华
0
在线时间
34 小时
注册时间
2020-12-14
最后登录
2023-3-24

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
步骤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
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝


您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注jr
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-4-19 08:09