全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
9134 11
2012-02-22
      请教一个问题,计算经市场调整的股票回报率,公式为 未命名.jpg ,其中R是股票的月回报率,M是市场回报率,sas里怎么编程,可以实现计算出每种股票在每一个年度的经市场调整的股票回报率~貌似需要两次分类连乘~
  数据简单举例:
      stock  year             R         M
        1       2001          0.1      0.01
        1       2002          0.1      0.02
        ......
        2       2001          0.2      0.01
        2       2002          0.1      0.02
          ......
二维码

扫码加我 拉你入群

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

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

全部回复
2012-2-22 18:24:35

data stock;
length stock $1 year R M 8;
input stock $ year  R  M ;

datalines;
1 2001 0.1 0.01
1 2002 0.2 0.02
1 2003 0.3 0.03
2 2001 0.4 0.04
2 2002 0.5 0.05
2 2003 0.6 0.06
;



proc sort data=stock;
by stock year;
run;

data stock_profit;
set stock;
by stock ;
retain stock_m stock_r;
if first.stock then do;
        stock_m = (1+m);
        stock_r = (1+r);
end;
else do;
        stock_m = stock_m * (1+m);
        stock_r = stock_r * (1+r);
        if last.stock then do;
                stock_profit = stock_r - stock_m ;
                output;
        end;       
end;
run;
二维码

扫码加我 拉你入群

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

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

2012-2-22 22:27:01
Jackywolf_2008 发表于 2012-2-22 18:24
data stock;
length stock $1 year R M 8;
input stock $ year  R  M ;
非常感谢!
二维码

扫码加我 拉你入群

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

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

2012-2-23 11:26:00
自己的方法:
data tmp1;set need2;
  month1=substr(month,6,2)+0;
  lgret=log(1+mros);
  lgmret=log(1+rom);
  year=substr(month,1,4)+0;
  run;
  proc sort;by stock year;run;
  proc means  noprint;
var lgret lgmret;
by stock year;
output out=ret0112 sum=tlgret tlgmret;run;
data ret0112;set ret0112;
ret0112_raw=exp(tlgret)-1;
ret0112_adj=exp(tlgret)-exp(tlgmret);
run;
data ret0112;set ret0112(keep=stock year ret0112_raw ret0112_adj);
where 2000<year<2011;
run;
二维码

扫码加我 拉你入群

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

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

2012-2-23 12:54:19
这个其实只需要一步就够了

proc sql;
  create table return as
  select stock, exp(sum(log(1+R)))-exp(sum(log(1+M))) as return
  from stock
  group by stock;
quit;
二维码

扫码加我 拉你入群

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

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

2012-2-23 18:53:00
ntsean 发表于 2012-2-23 12:54
这个其实只需要一步就够了

proc sql;
确实是好方法!
二维码

扫码加我 拉你入群

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

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

点击查看更多内容…
相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

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