全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
1179 3
2014-04-23
*-----------------------------------------------------------------------------------*
|programme name:多指标分组看组内[5,250]累积收益;分组指标:市值、市净率、[-250,0]的β  |
|purpose:       单一指标分组不理想,看看多指标分组怎么样                              |
|date:          2014.4.23                                                           |
*------------ ----------------------------------------------------------------------*;
%macro grouping(para1,para2);

proc rank data=prioff.bill7feature out= prioff.a&para1 groups=5;
        var &para1;
        ranks r_&para1;/*按&para1分5组:0-4组,&para1递增*/
run;

proc rank data=prioff.size out=prioff.&para1._&para2 groups=5;
        var &para2;
        ranks r_&para2; /*在&para1分组基础上,按&para2分组:0-4组,&para2递增*/
run;

proc sort data=prioff.&para1._&para2 out=prioff.&para1._&para2_sort;
        by r_&para1 r_&para2;
        where r_&para1 ^= . and r_&para2 ^= .;
run; /*剔除分组指标内缺失值;按市值、市净率分组后排序*/


%macro fenzu; /*分组求[5,250]累积原始收益的统计特征*/
%do m = 0 %to 4; /* &para1迭代 */
%do n = 0 %to 4; /* &para2迭代 */
proc means data=prioff.&para1._&para2_sort noprint;
        var return;
        where r_&para1 = &m and r_&para2 = &n;
        output out= stat_&para1.&m._&para2.&n(drop= _freq_ _type_) min=mini max=maxi mean=means  ;
run;
data stat_&para1.&m._&para2.&n;
        set stat_&para1.&m._&para2.&n;
        &para1 = &m;
        &para2 = &n;
run;
%end;
%end;
%mend fenzu;
%fenzu

%macro hebing;
%do p = 0 %to 4;
data &para1_&para2.&p;
        set stat_&para1.&m._&para2.0 -  stat_&para1.&m._&para2.4;
run;
%end;
%mend hebing;
%hebing

data prioff.&para1.&para2.55; /* &para1 和 &para2,5*5分组的累积收益统计特征*/
        set &para1_&para2.0 - &para1_&para2.4;
        group = _n_;
run;

%macro draw;  
%do groupid = 0 %to 4;
goptions reset=all ;
axis1 label=('市净率:小→大') ;
axis2 label=( angle=90 '[5,250]累积原始收益率') ;   
title 第 '&groupid' 组 '&para1' 内部按 '&para2' 分组的[5,250]累积原始收益均值;
proc gchart data= prioff.&para1.&para2.55;
        vbar group/sumvar=means outside=mean discrete maxis=axis1 raxis=axis2;
        where &para1 = &groupid ;
run;
quit;
%end;

%mend grouping;
%grouping(size,beta)\[asf\]

二维码

扫码加我 拉你入群

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

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

全部回复
2014-4-23 15:48:48
坐等热心大侠
二维码

扫码加我 拉你入群

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

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

2014-4-23 17:21:15
是不是没有%mend draw;
二维码

扫码加我 拉你入群

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

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

2014-4-27 10:49:54
pobel 发表于 2014-4-23 17:21
是不是没有%mend draw;
谢谢pobel,怪我太粗心
二维码

扫码加我 拉你入群

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

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

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群