全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
1458 1
2013-05-15
SAS初学中:    大侠--下面编写的GARCH(1,1)用宏来计算波动率,哪里错类~~~~求大侠指点。。。。。。程序前半部分未列出,只是下面部分运行不出结果 ~~~~~~~                                                                                                                                                                                                                                                            /*单个股票收益计算:*/                                                                                                                                                                                                                                          
data resdat.garch_port8(keep=date);                                                                                                                                                                                                                             
  set resdat.idx000001;                                                                                                                                                                                                                                         
  where 2004<=year(date)<=2005;                                                                                                                                                                                                                                 

%macro a(x);                                                                                                                                                                                                                                                   
data a(keep=date r_1);                                                                                                                                                                                                                                          
   set resdat.stk&x;                                                                                                                                                                                                                                            
   where 2004<=year(date)<=2005;                                                                                                                                                                                                                                
   adjclpr=clpr*mcfacpr;                                                                                                                                                                                                                                       
   r_1=(adjclpr-lag(adjclpr))/lag(adjclpr);      /*日百分比收益*/                                                                                                                                                                                               

data r_port8;                                                                                                                                                                                                                                                   
   set a;                                                                                                                                                                                                                                                      
   if r_1=. then r_1=0;                                                                                                                                                                                                                                         
   else r_1=r_1;                                                                                                                                                                                                                                                

/*单个股票波动率计算:*/                                                                                                                                                                                                                                       
proc autoreg data=r_port8;                                                                                                                                                                                                                                      
  model r_1=/ nlag=1 garch=(q=1,p=1,tr);                                                                                                                                                                                                                        
  output out=out cev=cev;                                                                                                                                                                                                                                       
data out(keep=date cev_1);                                                                                                                                                                                                                                      
  set out;                                                                                                                                                                                                                                                      
  cev_1=sqrt(cev);                                                                                                                                                                                                                                             
data resat.garch_port8(rename=(cev_1=cev&x));                                                                                                                                                                                                                  
  merge resat.garch_port8 out;                                                                                                                                                                                                                                 
  by date;                                                                                                                                                                                                                                                      
%mengd a;                                                                                                                                                                                                                                                      

%include"random1995.txt";                                                                                                                                                                                                                                       
run;                                                                                                                                                                                                                                                            




二维码

扫码加我 拉你入群

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

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

全部回复
2013-5-15 14:52:43
大侠们~~~指点小弟一下下~~一个人学SAS真难
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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