我的是2001-2012的IPO面板数据,需要按发行市值排序将股票平均分为0,1,2三组,如果是这样,应该用egen aa=cut(size), group(3)即可;但由于年度跨度较大,不同年份IPO的股票市值不具可比性,我希望能按股票在其发行年份的发行市值排序并分组,即发行市值在该年(其所在IPO年份)所有新股中排前1/3的股票分在0组,后1/3的股票分在2组,其余在1组,于是写了如下简单程序:
gen size_group=1
forvalues ipoyear=2001/2012{
egen pct1=pctile(iposize),p(66.7)
egen pct3=pctile(iposize),p(33.3)
replace size_group=0if iposize>pct1
replace size_group=1 if iposize<pct3
drop pct1
drop pct3
}
结果在第一次循环中,程序就把所有年份股票都一次性分好组了,之后的循环貌似都没作用,(如下),初学stata,不知道这是为什么,可以请高手帮解答下吗?谢了!
(2129 real changes made)
(2509 real changes made)
(0 real changes made)
(0 real changes made)
(0 real changes made)
...
...


雷达卡




京公网安备 11010802022788号







