全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
4059 2
2015-07-20
我是sas新手,正在学习怎样用sas做car值(市场调整法)。在选取事件日前后三天(包括事件日一共七天)的数据这一步,有一些疑问请求大神帮帮忙~在已有参考程序中,它的思路是将日期转换成数值型后减去事件日得出一个新的变量,然后选择该变量取值为-3~3的样本作为事件日前后三天的数据。假设事件日是2013年2月1日,程序如下:

data b;set a;
t=tr_date-20130201;
run;
data c;set b;
if t>3 or t<-3 then delete;
run;

那么,现在问题来了
如果有公司i在正好这几天内某一天停牌了,那么i剩下的数据就只有5天的,这样子最后计算的结果肯定是有问题的。
我现在的想法是把t按正负分成两个文件然后去count前三个(或者4个),再合并,程序如下:data b;
set a;
by stkcd;
if first.stkcd then count=0;
count+1;
if count < = 3 then output;
else delete;
run;
想请教一下论坛里的牛人们有没有更好更简单的办法呢~感谢!


二维码

扫码加我 拉你入群

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

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

全部回复
2016-3-23 18:52:35
proc rank;
二维码

扫码加我 拉你入群

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

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

2019-10-23 21:53:36
楼主,我最近也在学习sas,刚入门....可以分享下car值的完整计算代码吗
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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