楼主: snowdeer
26347 29

[程序分享] 用stata做rolling regression [推广有奖]

  • 0关注
  • 2粉丝

硕士生

22%

还不是VIP/贵宾

-

威望
0
论坛币
66 个
通用积分
5.7600
学术水平
1 点
热心指数
1 点
信用等级
1 点
经验
1082 点
帖子
61
精华
0
在线时间
221 小时
注册时间
2008-2-23
最后登录
2021-7-11

相似文件 换一批

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
好像SAS R软件也可做rolling regression,但是可能要编程。本人,发现stata的窗口就可以做哦,所以只用输入一些关键要求,鼠标点击几次就OK啦!以下是步骤详解:

1 导入数据。我用的是时间序列,所以除了那些变量的时间序列数据外,还设定了一个“date”变量,里面是日期数据。但是stata对日期数据的格式有自己的要求,大家要自己改好哦!参考以下的小程序
gen stardate=date(date,"DMY")
format %td stardate

这个程序就是把变量“date”的日期格式改成stata所要求的格式,并且变量名换成“stardate”。值得注意的是,rolling要求的时间序列数据必须是连续的。本人用的汇率数据,周末和节假日是没有数据的。如果“stardate”变量中的日期是不连续的(比如只有交易日),又把window设置为130(也就是希望一次rolling用130个交易日的数据,时间跨度大概半年),那么实际上stata做出的一次rolling的number of observation只有90左右。因为rolling 做的确实是130个calendar date数据的回归,但由于没有非交易日的数据,stata可能默认非交易日的数据为空,所以只有90个样本容量。这也与130个calendar date中只有90个trade date的事实相符。那么,对于这个问题要怎么半呢?本人菜嘛,干脆一菜到底,就自己想了个本办法:就当那些时间序列数据是连续的,重新编一次连续的calendar date的日期,用作“stardate”里面的日期数据。但那些汇率数据究竟对应哪一天,本人还是清楚的(excel里面有原始数据)。也就是说,本来我的汇率数据是到今年3月为止的,但日期重新编过后,最后一个汇率数据对应的日期是2009的某一天。但这么做只是为了做rolling 方便,并不影响最终的结果,毕竟数据没变啊,而且window是固定的130。
2 做rolling之前一定要确定数据是时间序列数据,输入程序 “tsset stardate”即可。这样stata就知道变量“stardate”是时间序列了。
3 打开stata工具栏—Statistics—Time Series—Rolling-window and recursive estimation,这样就跳出了一个窗口。本人做的是最简单的rolling regression,所以窗口的操作也是很多功能没有用上哦。具体来看,
“main”窗口中的“Stata command to run”手动输入“reg 因变量 自变量”;“List of statistics”中“Model coefficients”和“SE of model coefficients”前的两个复选框都选上,这样每次回归就会输出系数和系数的标准误。“Other statististical expressions”中我没有输入任何东东。接下来是window啦,大家填一个阿拉伯数字就好。再接下来的“Recursive analysis”大家根据自己需要选。
“if/in”、“Weights”、“Advanced”窗口我没有输入任何东东,也就是这些通通都是省缺值。
“Options”窗口中我有选“save results to file”,自己新建一个文件,用来保存每次回归的系数和系数的标准误。"step size"默认是1,大家也可以根据自己情况更改。
“Reporting”窗口中我选的是“Display any output from command”

操作完这些后,我点击了“OK”,然后最先出现的是对整个样本的一次回归,不是以windows值为样本容量的回归哦。再然后点击“more”就会出现每一次回归的结果,这次是以windows值为样本容量的回归哦。也可以点击工具栏下方的图标Data Editor,所有的每次回归的系数和系数的标准误就会保存到之前新建的那个文件里啦。接着我把每次回归的系数和系数的标准误搬到excel里面,两者除一下就是t值哦,所以t值是可以自己算得,以此判断显著不显著。最后,我要把每次回归的系数值的变化轨迹画一个图,也是在excel里面操作,纵坐标是每次回归的系数,横坐标就是系数所对应的日期,这个日期不是导入到stata里面的日期,而是汇率数据所对应的真实日期,因为导入到stata里面的日期是连续的。当然每一个系数其实对应一段时间,所以横坐标我其实是设定每次回归的起始日。

啰啰嗦嗦说了这么多,大家轻拍吧,这样做也许很麻烦,但希望给不会编程又想用简单rolling regression的各位一点帮助!
二维码

扫码加我 拉你入群

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

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

关键词:regression regressio regress rolling Stata 分享 菜鸟 Stata regression rolling

已有 2 人评分经验 论坛币 学术水平 热心指数 信用等级 收起 理由
Sunknownay + 100 + 10 + 1 + 1 + 1 鼓励积极发帖讨论
dxystata + 20 好的意见建议

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

本帖被以下文库推荐

沙发
fossil1986 发表于 2010-4-2 20:34:52 |只看作者 |坛友微信交流群
感谢分享呵呵
商道即人道,财经也人文

使用道具

藤椅
timnin 发表于 2010-4-8 13:27:48 |只看作者 |坛友微信交流群
Thanks for sharing.

使用道具

板凳
ajun685 发表于 2010-7-30 20:28:17 |只看作者 |坛友微信交流群
有用,谢谢楼主!
生于忧患,死于安乐。

使用道具

报纸
johnyanlei 发表于 2011-3-8 21:22:35 |只看作者 |坛友微信交流群
呵呵,不错了

使用道具

地板
bacelonaboy 发表于 2011-3-9 09:47:02 |只看作者 |坛友微信交流群
1# snowdeer
这与样本外预测有什么关系吗?

使用道具

7
zgryyl 发表于 2011-4-4 14:36:36 |只看作者 |坛友微信交流群
我也碰到同样的问题,lz倒是提供了一个问题解决的方法,但是我觉得应该有另外的简单方法,不知道还有高手不,指点一二
[img][/img]

使用道具

8
joyye2008joyye 发表于 2011-8-16 20:46:16 |只看作者 |坛友微信交流群
对于多变量的时间序列分析,比如VEC命令,好像不行。请问这该怎么解决呢?

使用道具

9
orangeaqua 发表于 2012-8-25 09:06:23 |只看作者 |坛友微信交流群
滚动回归。。先mark再看
你当我是浮夸吧
夸张只因我很怕

http://weibo.com/yongzhu

使用道具

10
orangeaqua 发表于 2012-8-25 09:20:29 |只看作者 |坛友微信交流群
滚动回归。。先mark再看
你当我是浮夸吧
夸张只因我很怕

http://weibo.com/yongzhu

使用道具

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

本版微信群
加好友,备注jltj
拉您入交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-5-21 14:47