全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
2514 1
2011-10-31
现有大量的股票数据,想分别对每一个股票的return做autoregressive model  AR(15)的分析, 即:
y= c + a1*y(t-1) + a2*y(t-2) + a3*Y(t-3) + .....+ a15*Y(t-15) + e;
sample data shown below:
date                ID                 y
20040105      am            0.0123
20040107      am            0.0134
20040108      am            0.0158
    ..
    ..
20040105      ad            0.0123
20040107      ad            0.0134
20040108      ad            0.0158
    ..
    ..
现知道有两种运行autoregressive 的方法:
方法一:
proc autoreg data=a;
model y = / nlag=15 method=ml;
by ID;
run;

方法二:
data b;
set a;
ylag1 = lag1( y ); ylag2 = lag2( y );ylag3 = lag3( y ); .....ylag15 = lag15( y );
run;
proc autoreg data=b;
model y = ylag1 ylag2 ylag3 ...ylag15 ;
by ID;
run;

想请教这两种方法都可行么?我用上面两种方法运行出来的结果好像不太一样。其中方法一的语句“model y = / nlag=15 method=ml;” y=后面可以是空白么?

另一个问题是用proc autoreg运行出来的结果都在output里显示,但由于我的数据量过大,运行后会提示“windows is full and must be cleared" 想请教能不能用其他什么语句 例如 outset或者output out语句把运行出来的结果输出到数据集里。我想要输出的结果包括AR model的系数以及p-value(t-value),R-square。
请教各位高手帮忙解答一下 万分感谢!!


二维码

扫码加我 拉你入群

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

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

全部回复
2012-7-25 23:53:08
另一个问题是用proc autoreg运行出来的结果都在output里显示,但由于我的数据量过大,运行后会提示“windows is full and must be cleared" 想请教能不能用其他什么语句 例如 outset或者output out语句把运行出来的结果输出到数据集里。我想要输出的结果包括AR model的系数以及p-value(t-value),R-square。
我不是高手,但刚碰到楼上的同一个问题,网上搜索已解决。答案很简单,增加一个小小的选项OUTEST=就可以作为数据集输出了。
proc autoreg data=newsample2 OUTEST=new1;
model absolute= / nlag=1 method=ml;
by n;
run;
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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