楼主: yin8
1511 3

求助计算连续持有期间 [推广有奖]

  • 0关注
  • 0粉丝

本科生

4%

还不是VIP/贵宾

-

威望
0
论坛币
49 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
1128 点
帖子
12
精华
0
在线时间
120 小时
注册时间
2010-6-7
最后登录
2014-8-28

楼主
yin8 发表于 2014-8-21 09:08:49 |AI写论文
30论坛币
如图,ym 为0 是上半年  1是下半年。
以fundcode 000011持有的  stkcd000014为例   ,  2007年全年持有,半年数目为2   2009到2011连续三年持有,半年书目为6  。

fund.jpg (162.47 KB)

fund.jpg

fund.xls
下载链接: https://bbs.pinggu.org/a-1615088.html

6.41 MB

需要: 5 个论坛币  [购买]

最佳答案

freerunning_sky 查看完整内容

是以下这个结果,还是每个stkcd只计算最大的连续半年数?
关键词:持有期 stkcd Fund code ODE 2011

沙发
freerunning_sky(未真实交易用户) 在职认证  发表于 2014-8-21 09:08:50
是以下这个结果,还是每个stkcd只计算最大的连续半年数?
  1. proc import out=fund
  2.         datafile="C:/fund.xls"
  3.         dbms=excel replace;
  4. run;

  5. proc sort data=fund;by fundcode stkcd year ym;run;

  6. data fund1;
  7.         set fund;
  8.         by fundcode stkcd year ym;
  9.         retain lastyear lastym cnt index;
  10.         if first.stkcd then do;
  11.                 cnt=1;
  12.                 index=0;
  13.                 lastyear=.;
  14.                 lastym=.;
  15.         end;
  16.         else if (year-lastyear)*2+ym-lastym=1 then cnt=cnt+1;
  17.         else cnt=1;

  18.         if cnt=1 then index=index+1;
  19.         lastyear=year;
  20.         lastym=ym;
  21.         drop lastyear lastym;
  22.         proc sort;by fundcode stkcd index descending cnt;
  23. run;

  24. data fund2;
  25.         set fund1;
  26.         by fundcode stkcd index descending cnt;
  27.         retain ttcnt;
  28.         if first.index then ttcnt=cnt;
  29.         drop index;
  30.         proc sort;by fundcode stkcd year ym;
  31. run;
复制代码
已有 1 人评分学术水平 热心指数 信用等级 收起 理由
yin8 + 1 + 1 + 1 thxs

总评分: 学术水平 + 1  热心指数 + 1  信用等级 + 1   查看全部评分

藤椅
yin8(未真实交易用户) 发表于 2014-8-21 09:09:59
当然   也会有   下半年才持有的情况   请各位注意  谢谢

板凳
yin8(未真实交易用户) 发表于 2014-8-21 09:35:17
除了总共的半年数,也请给出累计的半年数,比如对于000011的000014   ,总共半年数为6,2009 到 2011累计持有半年数为1到6

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2026-1-21 01:45