但是用 sort stkcd date怎么也不能升序排列总是乱序 不知道咋回事儿 求大神帮忙
我运行的代码为
clear all
insheet using "D:/CHN_Stkmt_ddetails.csv",clear //读取融资融券文件
save "D:/CHN_Stkmt_ddetailsb.dta",replace
*中文不能识别,解码
clear all
pwd
cd "D:/"
unicode analyze CHN_Stkmt_ddetailsb.dta //dta的文件名不可以为在内存中使用过的
unicode encoding set gb18030
unicode translate CHN_Stkmt_ddetailsb.dta //解码成功
use "D:/CHN_Stkmt_ddetailsb.dta", clear
browse
save "D:/CHN_Stkmt_ddetails.dta", replace
rename stockcode stkcd
rename mtdate tradingdate
order tradingdate, after(stockname)
save "D:/CHN_Stkmt_ddetails.dta", replace
*检查数据是否连续
gen eventdate = date(tradingdate, "YMD")
format eventdate %td
order eventdate, after(stkcd) //生成stata格式的日期,为数值型变量
des //查看变量类型
sort stkcd eventdate tradingdate //排序成功
gen day=date(tradingdate,"YMD") //查看是否日期之间不连续
by stkcd:gen day1=day[_n-1]
gen day2=day-day1
bysort stkcd: gen y=1 if day2>=30 //令y为停牌大于等于30个自然日的都为1,其余为0
replace y=0 if y==.
bysort stkcd: egen x=sum(y) //按照stkcd变量分组后,对每组的y求和为新变量x
*未发现数据断裂超过30天的
drop day day1 day2 y x
order stockname, after(tradingdate)
sort stkcd eventdate tradingdate
save "D:/CHN_Stkmt_ddetails1.dta", replace //融资融券完整版为1
*无法排序


雷达卡






京公网安备 11010802022788号







