| 所在主题: | |
| 文件名: 申万行业分类.dta | |
| 资料下载链接地址: https://bbs.pinggu.org/a-2430997.html | |
| 附件大小: | |
|
我每次都是用同样的原始数据,一样的stata命令来处理数据,可是每次处理后的数据库居然是不一样的,这让我很苦恼,检查了好久发现数据是从egen mis=rowmiss(_all)drop if mis
这里开始不一致的,每次删除的记录数不同。drop if 报表类型 == "B"这个命令每次删除的记录数也不一样。求懂这个的老师同学们指点一下,真的谢谢了。下面我把我的stata命令贴出来。数据库在附件里。谢谢老师同学们 clear all use "固定资产.dta " ///325133 merge m:n 证券代码 会计期间 using "纵向利润.dta " ,keep (match) rename _merge m利润 merge m:n 证券代码 会计期间 using "纵向折旧.dta ",keep (match) rename _merge m折旧 merge m:n 证券代码 会计期间 using "纵向投资.dta ",keep (match) rename _merge m投资 merge m:n 证券代码using "申万行业分类.dta ",keep (match) rename _merge m基本情况 merge m:n 证券代码using "企业状态.dta ",keep (match) rename _merge m企业状态 //仅保留12月31日的数据 gen 年份=substr(会计期间,1,4) gen 月份=substr(会计期间,6,2) keep if 月份 == "12" //和个股回报率数据合并 merge m:n 证券代码年份 using "个股回报率.dta ",keep (match) rename _merge m个股回报率 //和存贷款利率合并 merge m:n 年份 using "存贷款利率.dta ",keep (match) rename _merge m存贷款利率 drop m* //删除B股 drop if strmatch(证券代码,"200***") drop if strmatch(证券代码,"900***") //删除状态异常股:ST和*ST keep if 戴帽摘帽时间 == "" //删除非银金融和银行以及公用事业 drop if 所属行业 == "非银金融" drop if 所属行业 == "公用事业" drop if 所属行业 == "银行" //删除那些上市时间晚于会计期间的数据 tostring year,force replace drop if year>年份 rename 固定资产折旧油气资产折耗生产性生物资产折旧 折旧 rename 购建固定资产无形资产和其他长期资产支付的现金 构建 rename 处置固定资产无形资产和其他长期资产收回的现金净额 处置 //初步处理完毕 gen 投资=构建-处置 order 年份 证券代码 会计期间 固定资产净额 投资 营业总收入/// 利润总额 所得税费用 构建 处置 报表类型 keep 年份 报表类型 固定资产净额 投资 短期借款 长期借款 /// 负债合计 折旧 营业总收入 利润总额 所得税费用 年个股总市值/// 年个股流通市值 考虑现金红利再投资的年个股回报率 /// 不考虑现金红利再投资的年个股回报率 本年平均存款利率 本年平均贷款利率 所属行业 /*每次到这里的数据库还是一样的,但是接下来就不一样了*/ //删除所有含有缺失值的记录条(每次drop掉的记录不一样,每次的sum也不一样的) egen mis=rowmiss(_all) drop if mis sum //删除母公司报表类型((每次drop掉的记录不一样,每次的sum也不一样的)) drop if 报表类型 == "B" sum save 初步合并.dta, replace |
|
熟悉论坛请点击新手指南
|
|
| 下载说明 | |
|
1、论坛支持迅雷和网际快车等p2p多线程软件下载,请在上面选择下载通道单击右健下载即可。 2、论坛会定期自动批量更新下载地址,所以请不要浪费时间盗链论坛资源,盗链地址会很快失效。 3、本站为非盈利性质的学术交流网站,鼓励和保护原创作品,拒绝未经版权人许可的上传行为。本站如接到版权人发出的合格侵权通知,将积极的采取必要措施;同时,本站也将在技术手段和能力范围内,履行版权保护的注意义务。 (如有侵权,欢迎举报) |
|
京ICP备16021002号-2 京B2-20170662号
京公网安备 11010802022788号
论坛法律顾问:王进律师
知识产权保护声明
免责及隐私声明