全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
9579 30
2011-01-17
本人用sas进行些股票的研究。
数据是从大智慧上拷贝的,格式如下:

一只股票一个txt文件,有2036只股票;每只股票记录的天数大概在1500天左右,每天有8个变量(开盘,最高,最低。。。等)

用sas data step 读入,并转化成sas内部的data; 例如A600000.sas7data,存放在不是work的一个逻辑区下保存。在读入txt文件的时候用的是data step方法,并用macro,一个股票一个股票的读入。这个阶段还好,实际用一个 %do i = 1 to 2036 %end,很快就可以读好。这样每个data有约1500*8 个记录,同时有2036个这样的data。

问题来了,现在我想把他们join到一个data里边,这样就可以方便的根据时间或者symbol来读取股票数值了。因为单个股票只能进行个例分析,如果想看某一个时间段的股票相对表现,个人认为这样存放data比较方便。

但是这样的话生成的data有(1500*2036)row 8 column的dimensions,我的方法是一个一个的往一个总的data里merge或者join。但是无论用data step还是sql的方法,结果都很差,到最后就是10几秒才能merge一个股票,因为前期merge的data很大了,还要读取,用macro的loop方法每一次都要读取一个股票数据和前边merge好的data,这样的话很慢。

对sasdata的存储大家能给点建议么?谢谢
二维码

扫码加我 拉你入群

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

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

全部回复
2011-1-17 22:41:46
我学SAS也是出于想用统计分析研究证券投资,这个问题我也很兴趣,不过现在我刚学帮不了你,坐等高手解答吧。
二维码

扫码加我 拉你入群

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

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

2011-1-17 22:57:51
我听说etl这个部分是不是对data专门的工具,大家都来谈谈。
二维码

扫码加我 拉你入群

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

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

2011-1-18 09:08:06
这个把它们全部set在一起可以吗?
二维码

扫码加我 拉你入群

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

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

2011-1-18 17:03:14
4# soporaeternus
多谢有心人的回答,

我现在的方法就是类似于:

data 旧的file;
      set 旧的file 新的一只股票的file;
run;

旧的file就比如已经集成了几百只股票的file,这个方法一开始很快,但是到了大概600多只股票的时候就大概10秒才能新加一个股票,而且我还有2036-600只股票等着。

请问有什么好办法么?
二维码

扫码加我 拉你入群

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

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

2011-1-18 17:13:47
shewenhao 发表于 2011-1-18 17:03
4# soporaeternus
多谢有心人的回答,

我现在的方法就是类似于:

data 旧的file;
      set 旧的file 新的一只股票的file;
run;

旧的file就比如已经集成了几百只股票的file,这个方法一开始很快,但是到了大概600多只股票的时候就大概10秒才能新加一个股票,而且我还有2036-600只股票等着。

请问有什么好办法么?
我想4# soporaeternus 的意思应该是这个吧
9.2 SAS,用在宏里面,
set %do i = 1 %to 2036; data&i  %end;;
二维码

扫码加我 拉你入群

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

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

点击查看更多内容…
相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

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