SAS中文论坛
标题:
多列生成新数据和多列回归!急求助!!!
[打印本页]
作者:
shiyiming
时间:
2008-1-18 16:17
标题:
多列生成新数据和多列回归!急求助!!!
有一个sas数据集,含50列股票价格,p1,p2…p50,每一列为50个星期的每周收盘价.pma为某综指周收盘价.rf为无风险周收益率.求:
1. 求51列收益率.r1 = log(p1) – log(lag(p1)) , r2 = log(p2) – log(lag(p2)) …… r50 = log(p50) – log(lag(p50)) ,
rma = log(pma) – log(lag(pma))
2. 由capm模型,做50个无截距的线性回归.ri – rf = Bi(rma – rf), 得到50个Bi.
3. 根据50支股票的权重x1,x2…x50.求组合贝塔B=x1*B1 + x2*B2 +… +x50*B50
我的麻烦:
做一次是没问题,做50个就不知道怎么实现比较方便了.感觉应该用循环和宏,但我用的很菜,编了两天都编不对.
在找贝塔Bi时,我不知道怎么把系数提出来.
我是个菜鸟,学sas的时间还不长,希望有人可以帮帮我,谢谢!
作者:
shiyiming
时间:
2008-1-22 11:33
标题:
Re: 多列生成新数据和多列回归!急求助!!!
呵呵,先写好一个,然后在程序外面套上宏
%macro aaa(begin,end);
%do i=&begin. %to &end.;
%end;
%mend aaa;
将宏中间的程序中涉及到后缀(即需要循环执行)的部分替换成&i.,调用宏
%aaa();
就可以了,如果有需要循环的字符串也可以加到宏参数里,
欢迎光临 SAS中文论坛 (https://mysas.net/forum/)
Powered by Discuz! X3.2