全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
4126 17
2011-11-23
想利用股票高频数据计算每只股票每日买入和卖出次数。看了坛子里有关的频数帖子还是写不出来。请高手指点,谢谢!
原始数据:S表示卖,B表示买。需要按每只股票每日统计S和B出现的次数。

Code

Qdate

Trdirec

000002

2009-01-05

S

000002

2009-01-05

S

000002

2009-01-05

B

000002

2009-01-05

F

000003

2009-01-05

S

000003

2009-01-05

S

000003

2009-01-05

S

000003

2009-01-05

B

000002

2009-02-05

F

000002

2009-02-05

S

000002

2009-02-05

S

000002

2009-02-05

B

000003

2009-02-05

S

000003

2009-02-05

B

000003

2009-02-05

B

000003

2009-02-05

B


希望得到的数据

Code

Qdate

buys

sells

000002

2009-01-05

1

2

000003

2009-01-05

1

3

000002

2009-02-05

1

2

000003

2009-02-05

3

1


二维码

扫码加我 拉你入群

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

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

全部回复
2011-11-23 23:10:29
复制代码
二维码

扫码加我 拉你入群

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

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

2011-11-24 08:53:45
用tabulate也可以解决,你可以直接把结果的F统计数删除即可
复制代码
二维码

扫码加我 拉你入群

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

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

2011-11-24 09:02:28
复制代码
二维码

扫码加我 拉你入群

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

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

2011-11-24 10:12:05
谢谢以上三位的回复,另外还想问一下,用PROC summary 或者PROC SQL +count 能否实现。我用这两个试了都没成。
我写的程序:
proc sql;
title 'buys sells';
select code,qdate,
count(trdirec,'B') as n label='buys',
count(trdirec,'S') as n label='sells'
from stock
group by code,qdate;
quit;

日志里提示:WARNING: GROUP BY 子句已变换为 ORDER BY 子句,因为 SELECT 子句和相关表的表达式的可选 HAVING 子句都没有引用汇总函数。

我看了结果是逐条数的,没有汇总,是什么原因呢?count没有汇总功能吗?
谢谢了!
二维码

扫码加我 拉你入群

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

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

2011-11-24 10:33:50
我觉得是count用的不是很对,不过可能我的学习也不够深入。
proc sql;
title 'buys sells';
select distinct
code,qdate,count(trdirec) as n
from stock
group by code,qdate,trdirec;
quit;
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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