楼主: sun0063033
33793 24

[一般统计问题] 怎么保存stata分组回归的残差 [推广有奖]

11
sungmoo 发表于 2011-7-19 15:30:36
本版这样的提问很多了。https://bbs.pinggu.org/thread-1090113-1-1.html

12
herbertzhao 发表于 2011-7-19 15:47:54
sungmoo 发表于 2011-7-19 15:26
herbertzhao 发表于 2011-7-15 12:40 既然可以用by,就可以用foreach 或者forvalues。每次回归之后就把收集起来的数据存放在新建的变量里就好了。比如
gen resid_stddev = .
forvalues year in 1980/2010 {
        reg Y X1 X2 X3 if year == `year'
        capture drop resid
        predict resid if e(sample), r
        su resid
        replace resid_stddev = r(sd) if year == `year'
}
table year, contents(mean resid_stddev)
g e=.
forv year=1980/2010 {
reg y x1 x2 x3 if year == `year'
predict rs if e(sample), r
replace e=rs if e(sample)
drop rs
}
egen rs=sd(e)
forvalues那个地方的确应该用等号。呵呵。是我记错了。
至于后面的代码,不知道lz是想要每年的std dev还是回归的时候每年回归但是std dev要 pooled。也许是我没理解对吧。

13
sungmoo 发表于 2011-7-19 17:18:38
herbertzhao 发表于 2011-7-19 15:47 不知道lz是想要每年的std dev还是回归的时候每年回归但是std dev要 pooled
前面漏掉了"bys year:"

14
sun0063033 发表于 2011-7-19 17:26:58
真的非常感谢herbertzhao 和sungmoo版主。虽然你们的命令有好多我看不懂,不过,好像这样可以对每只股票进行回归了:
g e=.
forv id=1/5 {
reg y x1 x2 x3 if id == `id'
predict rs if e(sample), r
replace e=rs if e(sample)
drop rs
}
egen rs=sd(e)
我打算报班了,刚学stata,基础太差。。。
以后还想跟大家学更多的东西, O(∩_∩)O谢谢啦

15
陶圆 发表于 2012-3-15 10:48:59
刚好要用到sd(),求收益率月波动率,要把su结果中的标准差结果记录下来,这个好好用啊~ 各位大神谢啦~

16
tcpq 发表于 2012-3-27 11:01:36
sungmoo 发表于 2011-7-19 15:26
g e=.
forv year=1980/2010 {
reg y x1 x2 x3 if year == `year'
我也遇到这个问题。但是我的股票代码和年份 都存在不连续的情况。我试了一下,这个forv循环遇到不连续的时候就自动终止命令了啊。请问应该怎么改呢?

17
sungmoo 发表于 2012-3-27 15:29:45
我的股票代码和年份 都存在不连续的情况
egen与group()连用可生成自然数序号

18
tcpq 发表于 2012-3-28 09:17:16
sungmoo 发表于 2012-3-27 15:29
egen与group()连用可生成自然数序号
可以了。谢谢!

19
XjtuJason 发表于 2013-2-23 19:52:00
论坛币不够

20
幸福安wang 发表于 2014-4-24 18:28:06
亲,你还记得当时的命令吗?我遇到和你一样的毕业论文题目,求股价暴跌的,我对不同公司分年回归都不懂,甚至用excel回归,求详细解释。。。谢谢

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

本版微信群
加好友,备注jltj
拉您入交流群
GMT+8, 2025-12-26 09:33