全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
1780 4
2008-03-12

假如有一百天的单只股票交易数据,每天分为48个时段(五分钟为一时段,除了9:30之前的半小时),数据已按日期时间排列,且每天分的48个时段也作为一个变量(假设为tp)在数据集里,有价格、日期、tp变量,(例如:tp=1代表的是时间9:30-9:35,这其中可能会有多个1,因为5分钟之内可能有多笔交易;tp=2代表9:35-9:40,以此类推。且每天的tp变量值都从1-48。)怎样编程求每五分钟的股票收益率。请高手指点,谢谢!

二维码

扫码加我 拉你入群

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

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

全部回复
2008-3-12 13:29:00

直接把这些数据合并为五分钟数据然后再求收益即可

二维码

扫码加我 拉你入群

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

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

2008-3-13 12:39:00

这个很简单,设数据集名为base,价格、日期、tp变量 分别命名为 price date tp

第一步先求五分钟内的平均价,如果交易笔数有权重,还可以假如weight子句, 比如一笔交易了 w 手

proc summary data=base nway missing;

 class date tp;

var price /weight=w;

output out = base2(drop =_:) mean=;

run;

proc sort data=base2; by date tp;run;

data base3;

 set base2;

 by date;

 retain price;

 ROC=dif(price)/lag(price);

 if first.date then ROC=.;

 run;

 另外说明一下,lag表示上一笔记录的值,dif表示当前值与上一笔观测值的差.

dif(x)=x-lag(x);

dif 和 lag的值依赖于观测进入PDV的顺序,所以一定要在前面排序

[此贴子已经被作者于2008-3-13 12:44:52编辑过]

二维码

扫码加我 拉你入群

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

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

2008-3-13 13:06:00

股票用统计学研究是非常危险的。

那是政治、军事下的复属物。

你猜不透的是老美什么时候对那个国家发动战争,你也猜不透老美为了玩耨世界那天宣布美元大幅贬值,你更猜不透老美什么时候什么方式操纵股市。

如果有一天,老美突然攻打伊朗、朝鲜,或货币政策突然改变,你的股票会怎样?-虽然SAS会帮助你说稳赚不赔

所以为了不致于彻底完蛋,你不能只靠统计学研究股票,那是骗小孩的玩意。多多关心世界大局变化吧

[此贴子已经被作者于2008-3-13 13:07:32编辑过]

二维码

扫码加我 拉你入群

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

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

2008-3-13 22:38:00
不好意思,这两天学校有点事情,没来得及回复,谢谢大家,特别是wolfcrying朋友,感谢你的编程示例。有机会再向你们请教。
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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