2007~2020 年税调企业周边一定范围内各种类型金融机构网点的数量

2020 年多了一些错误的,使用下面的代码删除即可:

gen tempyear = substr(sdid, 1, 4)

destring tempyear, replace

drop if 年份 != tempyear

drop tempyear

今天给大家分享一份 2007~2020 年税调企业周边一定范围内各种类型金融机构网点的数量数据。

本数据基于全国税收调查数据和金融机构网点数据,计算了每家税调企业周边 1~30km 范围内各类金融机构网点的数量,可用于研究企业周边金融资源可达性等相关问题。

数据来源与处理方法

本数据的原始数据来源如下:

  • 税调企业数据:全国税收调查数据(2007~2020 年),使用高德地图地理编码接口解析得到每家税调企业的经纬度坐标及其所处的省市区县信息;
  • 金融机构网点数据:来源于国家金融监督管理总局(原银保监会)金融许可证信息,包含各金融机构网点的批准成立日期、退出日期、经纬度等信息。

处理方法:

  1. 将金融机构网点数据按照 20 种类型进行分类(分类规则参见历史推文《1948~2025 年各省市区县金融机构网点数量面板数据》);
  2. 使用 R 语言 sf 包,对每个税调企业计算其与周边所有金融机构网点的球面距离;
  3. 按距离阈值(1km、2km、3km、4km、5km、10km、15km、20km、25km、30km)分别统计每家税调企业周边各类金融机构网点的数量;
  4. 使用 16 核并行计算(parallel 包)提高效率;
  5. 将计算结果汇总,并与金融机构类型表关联,最终生成面板数据。

数据概览

本数据为税调企业—年度层面的面板数据,时间跨度为 2007~2020 年。

数据中包含以下维度的信息:

  • 企业标识:sdid(税调企业 ID)、年份
  • 金融机构类型:共 20 类(政策性银行、农村信用社、资金互助社、金融资产管理公司、信托公司、财务公司、其他类金融机构、农村合作银行、城市信用社、汽车金融公司、货币经纪公司、贷款公司、金融租赁公司、国有银行、股份制银行、村镇银行、消费金融公司、邮政储蓄所、外资银行、城市银行)
  • 距离阈值:1km、2km、3km、4km、5km、10km、15km、20km、25km、30km
  • 主要变量:每个企业—年度—银行类型—距离组合对应一个变量,格式为 {银行类型}_{距离}km,如 国有银行_1km、股份制银行_5km 等;另外还有各距离下的总金融机构网点数量 总金融机构网点数量_{距离}km。

数据预览如下(使用 Stata 的 browse 命令查看效果):

图表展示

下图展示了 2007~2020 年税调企业周边 1~30km 范围内的金融机构数量变化趋势:

金融机构网点的全国地理分布如下(基于金融许可证数据绘制):

处理代码

以下展示数据处理的核心 R 代码(计算方法部分)。

第一步:计算每家税调企业周边各距离阈值内的金融机构网点数量(main.R)

library(tidyverse)
library(sf)
mycrs <- "+proj=aea +lat_0=0 +lon_0=105 +lat_1=25 +lat_2=47 +x_0=0 +y_0=0 +datum=WGS84 +units=m +no_defs"

# 读取金融机构的数据
haven::read_dta("金融机构面板数据.dta") -> dfjr

dfjr %>%
filter(年份 %in% 2017:2020) -> dfjr

# 读取税调的数据
haven::read_dta("2007~2020年税调经纬度及其所处的省市区县数据.dta") -> dfss
dfss %>%
filter(str_sub(sdid, 1, 4) %in% c("2017", "2018", "2019", "2020")) %>%
mutate(年份 = as.numeric(str_sub(sdid, 1, 4))) -> dfss

# 转换成 sf
dfjr %>%
filter(!is.na(经度)) %>%
st_as_sf(coords = c("经度", "纬度"), crs = 4326) %>%
st_transform(mycrs) -> dfjrsf

dfss %>%
filter(!is.na(经度)) %>%
st_as_sf(coords = c("经度", "纬度"), crs = 4326) %>%
st_transform(mycrs) -> dfsssf1

# 并行计算每家税调企业周边 30km 内的金融机构
library(parallel)
makeCluster(16) -> cl
clusterEvalQ(cl, expr = ({
library(tidyverse)
library(sf)
}))

parLapply(cl, 1:nrow(dfsssf1), function(x){
dfsssf1 %>%
slice(x) -> dfsssf1_temp
dfjrsf %>%
filter(年份 == dfsssf1_temp$年份) -> dfjrsf_temp

dfsssf1_temp %>%
st_distance(dfjrsf_temp) %>%
t() %>%
as.numeric() %>%
as_tibble() %>%
mutate(yhid = dfjrsf_temp$yhid) %>%
filter(value <= 30000) %>%
mutate(sdid = dfsssf1_temp$sdid) %>%
write_rds(paste0("30km内的计算结果/", dfsssf1_temp$年份, "/" , dfsssf1_temp$sdid, ".rds"))
}) -> res

第二步:按距离和银行类型汇总统计数量(统计数量.R)

library(tidyverse)

# 金融机构类型
haven::read_dta("金融机构类型.dta") -> jrlx

lapply(2017:2020, function(a){
print(a)
readr::read_rds(paste0("rds/", a, ".rds")) %>%
left_join(jrlx) -> df

lapply(c(1000, 2000, 3000, 4000, 5000, 10000,
15000, 20000, 25000, 30000), function(x){
y <- x / 1000
print(x)
df %>%
filter(value <= x) %>%
mutate(year = a) %>%
count(sdid, year, 银行类型) %>%
pivot_wider(names_from = "银行类型", names_glue = paste0("{银行类型}_", y, "km"),
values_from = "n") %>%
rename(年份 = year)
}) %>%
reduce(left_join) %>%
readr::write_rds(paste0("numres/", a, ".rds"))
}) -> res

第三步:生成最终 Stata 数据(main.do)

*- 合并各距离的总金融机构网点数量
use sdid计算结果.dta, clear
egen 总金融机构网点数量_1km = rowtotal(*_1km)
egen 总金融机构网点数量_2km = rowtotal(*_2km)
egen 总金融机构网点数量_3km = rowtotal(*_3km)
egen 总金融机构网点数量_4km = rowtotal(*_4km)
egen 总金融机构网点数量_5km = rowtotal(*_5km)
egen 总金融机构网点数量_10km = rowtotal(*_10km)
egen 总金融机构网点数量_15km = rowtotal(*_15km)
egen 总金融机构网点数量_20km = rowtotal(*_20km)
egen 总金融机构网点数量_25km = rowtotal(*_25km)
egen 总金融机构网点数量_30km = rowtotal(*_30km)
*- 合并 2007~2016 年旧版数据
append using "2007~2016年税调企业周边一定范围内各种类型金融机构网点的数量.dta"
drop 企业名称 法人代码
gsort sdid
compress
label data "数据计算:微信公众号 RStata"
save 2007~2020年税调企业周边一定范围内各种类型金融机构网点的数量, replace

附件中也提供了该数据的处理代码供参考:

金融机构分类

这里的机构类型分类标准如下:

  • 政策性银行:原数据中机构类型变量为 “政策性银行” 的;
  • 农村信用社:原数据中机构类型变量为 “农村信用社” 的;
  • 资金互助社:原数据中机构类型变量为 “资金互助社” 的;
  • 金融资产管理公司:原数据中机构类型变量为 “金融资产管理公司” 的;
  • 信托公司:原数据中机构类型变量为 “信托公司” 的;
  • 财务公司:原数据中机构类型变量为 “财务公司” 的;
  • 其他类金融机构:原数据中机构类型变量为 “其他类金融机构” 的;
  • 农村合作银行:原数据中机构类型变量为 “农村合作银行” 的;
  • 城市信用社:原数据中机构类型变量为 “城市信用社” 的;
  • 汽车金融公司:原数据中机构类型变量为 “汽车金融公司” 的;
  • 货币经纪公司:原数据中机构类型变量为 “货币经纪公司” 的;
  • 贷款公司:原数据中机构类型变量为 “贷款公司” 的;
  • 金融租赁公司:原数据中机构类型变量为 “金融租赁公司” 的;
  • 国有银行:工农中建交以邮蓄银行;
  • 股份制银行:招商、浦发、中信、光大、华夏、民生、广发、兴业、平安、浙商、恒丰、渤海、深发展;
  • 村镇银行:原数据中机构类型变量为 “村镇银行” 的;
  • 消费金融公司:原数据中机构类型变量为 “消费金融公司” 的;
  • 邮政储蓄所:机构名称含 “邮政” 的但又不是邮储银行的;
  • 农商行:机构名称含有 “农村商业银行” 的;
  • 外资银行:各种外资银行;
  • 城市银行:其他的商业银行。

数据引用格式

在论文中使用该数据请注明数据来源于 RStata 数据中心 或 RStata Data Center,并使用如下格式引用:

RStata 数据中心: 2007~2020年税调企业周边一定范围内各种类型金融机构网点的数量. 2026. https://tidyfriday.cn/rsdb2/

英文文献可以使用下面的格式引用:

RStata Data Center: Number of Various Types of Financial Institution Outlets within a Certain Range around Tax Survey Enterprises, 2007–2020. 2026. https://tidyfriday.cn/rsdb2/

另外也建议在说明数据来源的同时,根据本文的介绍在论文中描述数据的详细处理方法。

关联课程/数据推荐

1990~2022 年上市公司办公地址及注册地址周边 1~30km 范围内各种类型金融机构的数量:https://rstata.duanshu.com/#/course/854aad54f55846079ac77d0b0eb270a3

1990~2023 年上市公司办公地址及注册地址周边 1~300km 范围内各种类型金融机构的数量:https://rstata.duanshu.com/#/course/ff0f75ddf9e240e2ae9b00b75724635a

2007~2020 年税调企业地理信息数据(含经纬度及其所处的省市区县):https://rstata.duanshu.com/#/course/39f5d95ad58841628fa4d935371bf3fd

1948~2025 年各省市区县金融机构网点数量面板数据:https://rstata.duanshu.com/#/course/0857147f74bc40b287efcfcf7ff88a1e

如有相关数据处理需求,欢迎联系 RStata 付费定制。

点击这里跳转到 RStata 短书平台获取附件:2007~2020 年税调企业周边一定范围内各种类型金融机构网点的数量

评论