楼主: zwnSAS121
981 1

[程序分享] hash对象计算股票不同时间段之间的起始值,终点值和累积值 [推广有奖]

  • 6关注
  • 2粉丝

博士生

19%

还不是VIP/贵宾

-

威望
0
论坛币
294 个
通用积分
2.0010
学术水平
13 点
热心指数
16 点
信用等级
13 点
经验
2473 点
帖子
112
精华
0
在线时间
330 小时
注册时间
2015-12-18
最后登录
2020-8-29

楼主
zwnSAS121 发表于 2017-1-18 17:03:15 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
  1. /*hash对象计算不同时间段之间的起始值,终点值和累积值*/
  2. data sh3(keep=code date money);
  3. set stock.sh600195 stock.sh600196 stock.sh600197;
  4. run;

  5. /*计算每只股票在某一个时间段的累积总额*/
  6. data hashb;
  7. retain code sdate edate;
  8. informat sdate yymmdd10. edate yymmdd10.;
  9. input code $ sdate edate;
  10. format sdate yymmdd10. edate yymmdd10.;
  11. datalines;
  12. sh600195 2016-01-04 2016-12-30
  13. sh600195 2015-01-04 2015-12-31
  14. sh600195 2014-01-04 2014-12-31
  15. sh600196 2016-01-04 2016-12-30
  16. sh600196 2015-01-04 2015-12-31
  17. sh600196 2014-01-04 2014-12-30
  18. sh600197 2016-01-04 2016-12-30
  19. sh600197 2015-01-04 2015-12-31
  20. sh600197 2014-01-04 2014-12-31
  21. ;
  22. /*hash对象计算不同时间段之间的起始值,终点值和累积值*/
  23. data hash;
  24. if 0 then set sh3;
  25. /*读表的结构,编译到内存,变量读到内存,不读记录,不执行*/
  26. if _n_=1 then do;
  27.         declare hash count(dataset:'sh3', ordered:'ascending');
  28.         /*count类似python里面的类,sh3是类的一个对象*/
  29.         count.definekey ('code', 'date');/*由于股票code有相同值,运用用符合索引,code和日期组合才是唯一索引*/
  30.         count.definedata(all:'yes');/*不管有多少变量,都定义为data*/
  31.         count.definedone();/*定义结束*/
  32. end;
  33. set hashb;/*大表,因为可能有很多时间段*/
  34. rc=count.find(key:code,key:sdate);
  35. smoney=money;/*企业的起始出口国家数量*/
  36. rc=count.find(key:code,key:edate);
  37. emoney=money;/*企业的最后出口国家数量*/
  38. tmoney=0;/*总国家数量开始赋值为0*/
  39. do i=sdate to edate by 1;/*企业起始年到最终年的出口国家数量*/
  40.         rc=count.find(key:code,key:i);
  41.         tmoney+money;/*累加*/
  42. end;
  43. keep code sdate edate smoney emoney tmoney;
  44. run;
复制代码


二维码

扫码加我 拉你入群

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

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

关键词:HASH 时间段 Has informat Defined 时间段

已有 1 人评分经验 论坛币 学术水平 热心指数 信用等级 收起 理由
prince315 + 20 + 20 + 5 + 5 + 5 鼓励积极发帖讨论

总评分: 经验 + 20  论坛币 + 20  学术水平 + 5  热心指数 + 5  信用等级 + 5   查看全部评分

沙发
tzh012 发表于 2017-1-18 21:18:38
不错哦。

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

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-29 08:49