全部版块 我的主页
论坛 计量经济学与统计论坛 五区 计量经济学与统计软件 Stata专版
1868 1
2018-08-09
现有321家公司,已处理为平衡面板,时间有185个月份。
希望在一次模拟中,对321家公司的重复抽样出来的月份使相同的。同时希望运行1000次这样的模拟。

代码如下:
mat bs_alpha_t = J(321,1000,0)   /*一列为一次模拟的t*/
quietly{
        forvalues j = 1/1000{
                    forvalues i=1/321{  
                        preserve
                        set seed 1234
                                bsample 185 if id==`i'
                                reg bs_growth mkt_rf smb hml umd if id==`i'
                                mat bs_alpha_t[`i',`j'] = (_b[_cons])/(_se[_cons])
                        restore
                }
        }
    svmat bs_alpha_t, name(bs_t_alpha)
}
如果在第二次循环中设置种子数(如上),可以保证321公司对应的可重复月份样本相同,但是往后的模拟会和前面的相同。
将种子数设置在其他地方,则无法保证在一次模拟中的321公司对应的可重复月份样本相同。

是否有更好的函数使得一次模拟的321个可重复月份样本相同,又能够使1000次模拟可重复。


二维码

扫码加我 拉你入群

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

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

全部回复
2018-8-9 16:27:38
尝试用直接用bootstrap,但是bootstrap抽样会自动忽略缺失值,使得每个公司的抽出来的样本数还是每个公司的有数据的时间长度。
因为我希望是可以抽出相同的月份及相等的月份数(185个),至于抽出的月份对于每个公司是oversample还是undersample都没有关系。
二维码

扫码加我 拉你入群

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

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

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

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