全部版块 我的主页
论坛 计量经济学与统计论坛 五区 计量经济学与统计软件 Stata专版
1391 8
2012-05-25
我有10000个股票,要对每个股票和市场收益等等变量做回归 (例子中以字母代替),并把得出的相关估计值存到变量a里,大概程序的例子如下

xtset id date
gen a = .
forvalues i=1/10000 {
      reg y x w z if id==`i'
     replace a=_b[x] if id=`i'&n==1
     replace a=_b[w] if id=`i'&n==2
     replace a=_b[z] if id=`i'&n==3
    }

问题是在有几只股票的时候返回了错误信息,说matrix is not positive defined, 然后程序就停了。 有没有什么方法不让程序停下来,如果这支股票不行就去做下一只。我查了一下貌似是capture命令,但是具体怎么用呢,加在程序哪一行?麻烦各位大侠了。另外这个程序不知为什么特别慢,一万个股票要算大概2-3个小时,请问正常吗?
二维码

扫码加我 拉你入群

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

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

全部回复
2012-5-25 22:37:51
replace a=_b[x] if id=`i'&n==1
replace a=_b[w] if id=`i'&n==2
replace a=_b[z] if id=`i'&n==3
至少这里的等号有问题
二维码

扫码加我 拉你入群

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

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

2012-5-25 22:48:03
sungmoo 发表于 2012-5-25 22:37
至少这里的等号有问题
等号没问题,我之前设置过 bysort id: gen n=_n
二维码

扫码加我 拉你入群

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

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

2012-5-25 23:22:08
那个等号没问题?
二维码

扫码加我 拉你入群

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

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

2012-5-26 03:55:22
309 发表于 2012-5-25 23:22
那个等号没问题?
哎呀,楼上2位不好意思,我少打了一个等号,原来程序里是对的,我抄的时候疏忽了
二维码

扫码加我 拉你入群

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

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

2012-5-26 06:36:17
g a = .
forv i=1/10000{
cap {
reg y x w z if id==`i'
replace a=_b[x] if e(sample)&n==1
replace a=_b[w] if e(sample)&n==2
replace a=_b[z] if e(sample)&n==3
}
}
二维码

扫码加我 拉你入群

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

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

点击查看更多内容…
相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

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