全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
1068 2
2012-05-29
请大家帮忙看看我这个程序,我想生成100个sample,每个sample100只股票。一只股票要选进一个sample必须满足几个条件(主要由下面的几个where和if完成),可是这个k并没有帮我完成计数的功能,请问该如何修改?谢谢了!

%macro sample_construction;
%do i=1 %to 100;

%do %until (namesample&i.k=100);
  data number;
    number=ceil(120*uniform(-123));
  run;
  proc sql;
    create table evntmon as
    select date as evntmon
    from kw.evntper as a, number as b
    where a.j=b.number;
  run;
  proc surveyselect data=kw.name  method = urs sampsize =1
     rep=1 out=tempname noprint;
     id cusip;
  run;

  proc sql;
    create table comp as
    select a.cusip, m as l, c.evntmon
    from kw.nyam_new as a, tempname as b, evntmon as c
    where a.cusip=b.cusip and a.date=c.evntmon;
  quit;
  proc sql;
    create table work.tempobs as
    select a.*, b.evntmon
    from kw.nyam_new as a, comp as b
    where a.cusip=b.cusip;
  quit;
  data _null_;
    set tempobs comp;
    if m=l-24 then call symput(id, cusip);
  run;
  data namesample&i;
    set namesample&i comp;
    if cusip=id then k=k+1;
  run;

%end;
proc sql;
  create table kw.newsample&i as
  select a.*, b.evntmon  
  from kw.nyam_new as a, work.namesample&i as b
  where a.cusip=b.cusip;
quit;
%end;
%mend sample_construction;
%sample_construction;

二维码

扫码加我 拉你入群

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

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

全部回复
2012-5-29 08:34:27
不懂
二维码

扫码加我 拉你入群

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

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

2012-5-29 11:15:28
用了一个宏变量和sas的nobs终于搞出来了。
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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