楼主: BessieBcc
14558 20

请教foreach [推广有奖]

  • 0关注
  • 0粉丝

高中生

5%

还不是VIP/贵宾

-

威望
0
论坛币
10 个
通用积分
0
学术水平
1 点
热心指数
1 点
信用等级
1 点
经验
149 点
帖子
18
精华
0
在线时间
14 小时
注册时间
2010-6-25
最后登录
2018-1-18

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
以前学的是文科,电脑功底极弱,以前处理数据只用过Excel。为做论文开始学习Stata。我要对400支基金的月收益率数据以Fama-French模型进行回归,得出他们的残差序列和常数项的值,储存。看教程后我认为用foreach命令可以满足我的要求。我输入了以下命令

foreach var of varlist r* {
regress `r*' smb hml umd rmrf
}

我用r1,r2......r400来表示400支股票的收益率,所以我决定用r*代表他们;
smb hml umd rmrf是自变量的变量名。
但是运行不成功。
对各位来说是简单的问题,可是对于我这种第一次接触计量软件的人来说很麻烦。
见笑。
请给予指点。
谢谢
二维码

扫码加我 拉你入群

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

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

关键词:foreach Reach For regress varlist 请教 foreach

已有 1 人评分学术水平 热心指数 信用等级 收起 理由
日新少年 + 1 + 1 + 1 精彩帖子

总评分: 学术水平 + 1  热心指数 + 1  信用等级 + 1   查看全部评分

本帖被以下文库推荐

沙发
lishengji 发表于 2010-6-26 21:51:20 |只看作者 |坛友微信交流群
谢谢分享啦!~~谢谢分享啦!~~谢谢分享啦!~~

使用道具

藤椅
sungmoo 发表于 2010-6-26 22:36:47 |只看作者 |坛友微信交流群
BessieBcc 发表于 2010-6-26 21:39
foreach var of varlist r* {
regress `r*' smb hml umd rmrf
}
foreach v of varlist r* {
reg `v' smb hml umd rmrf
}

使用道具

板凳
jzhyue 发表于 2010-6-26 22:37:40 |只看作者 |坛友微信交流群
BessieBcc 发表于 2010-6-26 21:39
以前学的是文科,电脑功底极弱,以前处理数据只用过Excel。为做论文开始学习Stata。我要对400支基金的月收益率数据以Fama-French模型进行回归,得出他们的残差序列和常数项的值,储存。看教程后我认为用foreach命令可以满足我的要求。我输入了以下命令

foreach var of varlist r* {
regress `r*' smb hml umd rmrf
}

我用r1,r2......r400来表示400支股票的收益率,所以我决定用r*代表他们;
smb hml umd rmrf是自变量的变量名。
但是运行不成功。
对各位来说是简单的问题,可是对于我这种第一次接触计量软件的人来说很麻烦。
见笑。
请给予指点。
谢谢
*试试
foreach v of varlist r* {
regress `v' smb hml umd rmrf
}

上楼sungmoo已回答了

使用道具

报纸
BessieBcc 发表于 2010-6-26 23:24:39 |只看作者 |坛友微信交流群
3# sungmoo 谢谢!
得到我想要的结果了。
呵呵,从昨天开始就查啊查,查到合适的命令,运行一下得不到结果,郁闷。
您的回复让我心情舒畅很多~
另外,请问如果我想把这400次回归所得结果的常数项列出来的话除了手动一个一个摘下来输到Excel里面去由其它方法吗?我知道肯定有其他简便的方法,但是在Help的内容里面没有找到相关的命令。
如果您很忙,请给我大概的提示,我便可以到Help里面找。
谢谢啦~

使用道具

地板
BessieBcc 发表于 2010-6-26 23:27:57 |只看作者 |坛友微信交流群
4# jzhyue 谢谢!得到我想要的结果了。呵呵,从昨天开始就查啊查,查到合适的命令,运行一下得不到结果,郁闷。您的回复让我心情舒畅很多~另外,请问如果我想把这400次回归所得结果的常数项列出来的话除了手动一个一个摘下来输到Excel里面去由其它方法吗?我知道肯定有其他简便的方法,但是在Help的内容里面没有找到相关的命令。如果您很忙,请给我大概的提示,我便可以到Help里面找。谢谢啦~

使用道具

7
arlionn 在职认证  发表于 2010-6-27 08:17:32 |只看作者 |坛友微信交流群
gen b_0 = .
gen b_s = .
gen b_h = .
gen b_r = .
local j = 1
foreach v of varlist r* {
    qui regress `v' smb hml umd rmrf
    replace b_0 = _b[cons] in `j'
    replace b_s = _b[smb] in `j'
    replace b_h = _b[hml] in `j'
    replace b_u = _b[umd] in `j'
    replace b_r  = _b[rmrf] in `j++'
}

使用道具

8
sungmoo 发表于 2010-6-27 09:28:05 |只看作者 |坛友微信交流群
BessieBcc 发表于 2010-6-26 23:24 另外,请问如果我想把这400次回归所得结果的常数项列出来的话除了手动一个一个摘下来输到Excel里面去由其它方法吗?
*注意:首字母是r的变量不光是r1-r400。结果xls文件在默认文件夹里。

mat c=J(400,1,.)
forv i=1/400{
reg r`i' smb hml umd rmrf
mat e=e(b)'
mat c[`i',1]=e[5,1]
}
clear
svmat c
outs using c.xls,replace
已有 1 人评分论坛币 学术水平 热心指数 信用等级 收起 理由
jzhyue + 5 + 4 + 4 + 4 精彩帖子

总评分: 论坛币 + 5  学术水平 + 4  热心指数 + 4  信用等级 + 4   查看全部评分

使用道具

9
BessieBcc 发表于 2010-6-27 22:14:00 |只看作者 |坛友微信交流群
7# arlionn 谢谢~我想是我的表述出了问题,没有得到我想要的结果,我再检查看我的数据是否有问题,也可能是我的表述不正确。
谢谢!

使用道具

10
BessieBcc 发表于 2010-6-27 22:19:25 |只看作者 |坛友微信交流群
8# sungmoo 谢谢您及时的、耐心的回答。我没有得到想要的结果。大概是我的表述出了问题,也有可能是数据的问题。我再检查一下吧。谢谢了!

使用道具

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

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

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

GMT+8, 2024-4-20 05:37