全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
997 5
2014-03-10
各位大侠

我有一个股票的时间序列数据,包括不同股票,不同时间的数据。我有一个变量w,是0 或1 ,我想求每个股票在w=1时候,到w=0时候之间的日期,即标注w=1到w=0之间的日期。请问程序怎么写,谢谢。


非常感谢
二维码

扫码加我 拉你入群

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

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

全部回复
2014-3-10 17:04:44
举例说明一下
看不懂你的文字表达
二维码

扫码加我 拉你入群

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

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

2014-3-10 19:16:16
恩恩 需要上数据。
二维码

扫码加我 拉你入群

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

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

2014-3-10 20:21:59
就是我有所有股票的日交易数据,在这个数据中,有一个变量,表面某一直股票在什么时候开始被ST,在什么时候被摘除ST,这两个日期之间的观测值也应该被标记为st,就是不知道应该如何把这两个日期之间的数据进行标记。谢谢
二维码

扫码加我 拉你入群

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

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

2014-3-10 20:52:18
/*假设你w只有在摘st和上st日才有值0,1;其他的时候为'.',而且只有一个w=0和一个w=1;*/
%macro a(x);
data a;
set work;/*work是你要处理的数据集*/
if hstocd=&x;/*筛选股票*/
if w=1;


data b;
set a;
call symput('star',date);


data a;
set work;
if hstocd=&x;
if w=0 ;

data b;
set a;
call symput('end',date);

data c;
set work;
if hstocd=&x;
if  hstocd &star<=date<=&end then st=1;/*处在时间中间的标记st=1*/
run;



%mend a;

%a(600123) /*比说说600123是你想看的股票代码*/




不知道你的数据集,有问题可以再告诉我
二维码

扫码加我 拉你入群

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

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

2014-3-10 20:54:55
非常感谢,但是每只股票不一定只有一个0和1,有的有很多组,有的只有一个1
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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