楼主: 张沂薇
1279 6

[Stata高级班] 关于循环 [推广有奖]

  • 0关注
  • 0粉丝

VIP

讲师

91%

还不是VIP/贵宾

-

威望
0
论坛币
2078 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
2812 点
帖子
106
精华
0
在线时间
1123 小时
注册时间
2010-4-9
最后登录
2020-3-31
毕业学校
BIT

楼主
张沂薇 发表于 2011-10-14 22:29:55 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
prof. lian

我有100个企业的三年的数据,我想对“每个企业的每个月的数据”做一次回归,希望能用个两重循环的程序解决,我下边写的这个只能做ID=1时的36个循环,做到ID=2时,就会提示 所预测的变量已经存在,如图。类似的问题,我在做一层循环时也遇到过。
请问:如何克服这一困难?
多谢!
二维码

扫码加我 拉你入群

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

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

关键词:Lian Prof 程序 如何

附件: 你需要登录才可以下载或查看附件。没有帐号?我要注册
made in BIT, serving for USTB

沙发
arlionn 在职认证  发表于 2011-10-15 10:02:49

藤椅
张沂薇 发表于 2011-10-15 10:19:51
arlionn 发表于 2011-10-15 10:02
参见:
https://bbs.pinggu.org/thread-1204934-1-1.html
*-The Excess Return using extended-CAPM

*-假设 id year month 分别为公司代码,年度和月度标示。
*-     Ri 和 Rm 分别表示个股和市场月度回报率。
     
         egen m123 = group(year month), label lname(month123)
         tsset id m123
         xtdes
         global N = r(N)
         
     global  y "Ri"
         global  x "L.Rm Rm F.Rm"

         cap drop res
         cap drop R2
         cap drop R2_adj
     gen res  = .
         gen R2 = .
         gen R2_adj = .
         forvalues i = 1/$N{
           qui reg $y $x if (m123==`i')
           qui predict e if e(sample), res
           qui replace res = e if e(sample)
           qui replace R2 = e(r2) if e(sample)
           qui replace R2_adj = e(r2_a) if e(sample)
           drop e
         }                 
请问:
1       global  y "Ri"
         global  x "L.Rm Rm F.Rm"
——这两句,什么意思?
         cap drop res
         cap drop R2
         cap drop R2_adj
这组命令的作用是避免在进行第二组循环时出现 res already defined ?
2   drop e 的作用是什么?
3   这依然是个一重的循环;STATA可否做两重的循环?

3Q
made in BIT, serving for USTB

板凳
arlionn 在职认证  发表于 2011-10-15 15:08:21
1. help global  
我是想把被解释变量和解释变量分别放在两个全局暂元中。
    help capture
   你的理解没错,防止出现错误信息:…… already defined.   drop e 的作用也是相同的。
2. 可以做两重循环,参见 A5_prog 那一讲的内容。
   这个程序中,我已经通过 egen m123 = group(year month), label lname(month123) 命令,把本需两重循环的工作浓缩成了单重循环。

报纸
张沂薇 发表于 2011-10-15 15:23:02
我昨天问你之前用过类似 drop e的办法,都没搞定双重循环。后来也是处理成单循环了。
处理之后的单循环和两重循环的计算量应该是一样的吧?
但我觉得要能用双重循环做出来还是很NB的,所以来问你,呵呵。而且,我觉得双重循环的程序看起来比较直观、漂亮。
made in BIT, serving for USTB

地板
arlionn 在职认证  发表于 2011-10-16 08:22:24
如果穿一件衣服就能保暖,又何必非要穿两件呢?

7
张沂薇 发表于 2011-10-16 09:38:17
arlionn 发表于 2011-10-16 08:22
如果穿一件衣服就能保暖,又何必非要穿两件呢?
的确,我现在的追求是 能解决问题 就欧克了!
made in BIT, serving for USTB

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

本版微信群
加好友,备注jltj
拉您入交流群
GMT+8, 2026-1-2 11:14