发布信息

高新技术企业认定stata代码解读

作者:本站编辑      2023-08-01 20:29:03     77

在实证分析时,经常使用高新技术企业认定数据进行分类讨论,本期推文将介绍如何使用stata将CSMAR数据库中的资质认定数据生成方便使用的面板数据。

数据准备

从CSMAR数据库下载企业资质认定的原始数据(原始数据.xlsx)

代码解读

/定义文件路径
cd C:\Users\86132\Desktop\高新技术企业
//导入从CSMAR数据库下载企业资质认定的原始数据
import excel  原始数据.xlsx,firstrow clear
//选择资质认定类型为高新技术企业
keep if 认定项目类型=="高新技术企业" 
//选择认定对象为上市公司本身
keep if  认定对象身份=="上市公司本身" 
//考虑到CSMAR数据库一部分样本认定时间缺失,将缺失的认定时间填充为公告日期
replace 认定时间=公告日期 if 认定时间==""
//截取有效期数字
gen 有效期限1=real(substr(有效期限,1,1))
//考虑到CSMAR数据库一部分样本有效期缺失,将缺失的有效期填充为常见的3年
replace 有效期限1=3 if 有效期限1==.
//截取认定时间年份数据
gen year=real(substr(认定时间,1,4))
keep 证券代码  有效期限1 year
//考虑到CSMAR数据库存在一年多次认定的数据,选择一年有效时间最长的
bys year 证券代码:egen n=max(有效期限1) 
keep if 有效期限1==n
//删除重复值
duplicates drop 证券代码 year ,force
//使用joinby命令,将研究样本整个期间的基础面板数据分别合并至高新认定年份
joinby 证券代码  using 基础面板数据.dta
sort 证券代码 year year1
//生成年份与高新认定年份的相对年份差
gen time1=year-year1
//对有效期内的年份赋值
* CSMAR数据库里面高新有限期刊做多为6年,最少为1年
gen hi=1 if time1<1 & time1>-3 & n==3  
replace hi=1 if time1<1 & time1>-1 & n==1
replace hi=1 if time1<1 & time1>-2 & n==2
replace hi=1 if time1<1 & time1>-4 & n==4
replace hi=1 if time1<1 & time1>-5 & n==5
replace hi=1 if time1<1 & time1>-5 & n==6 
keep 证券代码  year1  hi
keep if hi==1
rename hi 高新技术企业
//删除重复值
duplicates drop 证券代码 year ,force
//合并基础面板数据
merge 1:1 证券代码 year1 using 基础面板数据.dta,keep(2 3) nogen
replace 高新技术企业=0 if 高新技术企业==.
sort 证券代码 year
rename year1 year
keep  证券代码 year 高新技术企业 
save 上市公司高新技术企业,replace

相关内容 查看全部