上市公司审计收费与报表科目相关性分析
领导问我上市公司审计收费是与资产规模还是什么相关?
虽然各省注协提供了一个收费的参考标准:
显示出计费基数是资产总额或营业收入。
但是,我还是想从上市公司历年收费数据出发,用数据找出和哪个报表科目具有强相关关系。
数据获取
通过 Tushare 金融数据接口批量获取 A 股上市公司 2000 年以来资产负债表、利润表、审计收费数据。
将数据导入 mysql 数据库,三张表拼接成一张表。
注: 1.部分审计收费金额缺失,我们在分析时将剔除这部分缺失数据 2.2008年以前审计收费数据缺失严重,我们从 2008 年开始统计分析
各市场板块审计收费统计
利用 Python 连接 mysql 数据库,对审计收费聚合统计中位数、平均值、最大值、最小值。
import pandas as pd
import pymysql
connect = pymysql.connect(
host='127.0.0.1', db='book', user='root',
passwd='1234', charset='utf8')
sql = """
select * from audit_fees
where market in ('主板','中小板','创业板','北交所','科创板')
and month(end_date) = 12
and audit_fees !=0 and audit_fees is not null
"""
df = pd.read_sql(con=connect,sql=sql)
# 将audit_fees单位转换为万元
df['audit_fees'] = df['audit_fees'] / 10000
# # 定义需要计算的统计量
agg_dict = {
'audit_fees': ['median', 'mean', 'max', 'min']
}
# 按 market 分组,计算多个统计量
result = df.groupby(['end_date','market']).agg(agg_dict)
result = result.applymap('{:,.2f}'.format)
result = result.reset_index()
result.to_excel('上市公司各板块审计收费统计.xlsx')
print(result)
执行结果:
( 单位:万元 )
年度 | 市场 | 中位数 | 平均数 | 最大值 | 最小值 |
---|---|---|---|---|---|
2008 | 中小板 | 40.00 | 43.88 | 270.00 | 12.00 |
2008 | 主板 | 50.00 | 194.48 | 22,100.00 | 10.00 |
2009 | 中小板 | 40.00 | 48.21 | 280.00 | 12.00 |
2009 | 主板 | 55.00 | 179.15 | 20,700.00 | 10.00 |
2009 | 创业板 | 50.00 | 80.21 | 275.00 | 10.00 |
2010 | 中小板 | 50.00 | 55.12 | 390.00 | 12.00 |
2010 | 主板 | 60.00 | 201.47 | 28,100.00 | 10.00 |
2010 | 创业板 | 39.50 | 74.29 | 444.50 | 8.00 |
2011 | 中小板 | 50.00 | 61.55 | 601.30 | 15.00 |
2011 | 主板 | 65.00 | 196.44 | 22,300.00 | 10.00 |
2011 | 创业板 | 40.00 | 49.14 | 310.00 | 10.00 |
2012 | 中小板 | 56.00 | 64.36 | 350.00 | 1.00 |
2012 | 主板 | 70.00 | 191.47 | 22,200.00 | 16.00 |
2012 | 创业板 | 45.00 | 48.77 | 280.00 | 15.00 |
2013 | 中小板 | 60.00 | 70.28 | 674.16 | 17.00 |
2013 | 主板 | 74.00 | 196.89 | 18,500.00 | 20.00 |
2013 | 创业板 | 50.00 | 52.12 | 180.00 | 20.00 |
2014 | 中小板 | 65.00 | 77.20 | 678.61 | 15.00 |
2014 | 主板 | 76.00 | 195.71 | 19,900.00 | 20.00 |
2014 | 创业板 | 50.00 | 59.90 | 459.54 | 20.00 |
2015 | 中小板 | 75.00 | 90.00 | 1,380.00 | 20.00 |
2015 | 主板 | 80.00 | 206.06 | 21,400.00 | 20.00 |
2015 | 创业板 | 60.00 | 67.66 | 780.00 | 10.00 |
2016 | 中小板 | 80.00 | 101.25 | 1,620.00 | 20.00 |
2016 | 主板 | 85.00 | 203.95 | 21,300.00 | 10.00 |
2016 | 创业板 | 64.00 | 75.93 | 950.00 | 10.00 |
2017 | 中小板 | 88.00 | 110.98 | 1,495.00 | 23.00 |
2017 | 主板 | 90.00 | 203.74 | 21,500.00 | 4.00 |
2017 | 创业板 | 70.00 | 84.91 | 1,000.00 | 25.00 |
2018 | 中小板 | 95.00 | 121.43 | 1,851.70 | 20.00 |
2018 | 主板 | 90.05 | 209.90 | 23,200.00 | 4.00 |
2018 | 创业板 | 75.00 | 94.35 | 1,000.00 | 16.00 |
2018 | 北交所 | 25.00 | 28.50 | 120.00 | 9.00 |
2018 | 科创板 | 30.00 | 30.00 | 30.00 | 30.00 |
2019 | 中小板 | 100.00 | 131.32 | 2,270.93 | 20.00 |
2019 | 主板 | 98.00 | 219.77 | 22,900.00 | 4.00 |
2019 | 创业板 | 80.00 | 95.94 | 900.00 | 8.00 |
2019 | 北交所 | 20.00 | 27.95 | 220.00 | 7.00 |
2019 | 科创板 | 70.00 | 87.80 | 660.00 | 15.00 |
2020 | 中小板 | 100.00 | 135.82 | 2,423.78 | 30.00 |
2020 | 主板 | 100.00 | 218.44 | 23,700.00 | 4.00 |
2020 | 创业板 | 80.00 | 97.08 | 1,075.00 | 10.00 |
2020 | 北交所 | 27.00 | 31.41 | 130.00 | 9.00 |
2020 | 科创板 | 70.00 | 86.57 | 690.00 | 15.00 |
2021 | 中小板 | 110.00 | 140.79 | 2,244.59 | 31.80 |
2021 | 主板 | 100.00 | 212.40 | 17,600.00 | 3.50 |
2021 | 创业板 | 80.00 | 103.79 | 1,200.00 | 10.00 |
2021 | 北交所 | 40.00 | 39.59 | 130.00 | 9.00 |
2021 | 科创板 | 70.00 | 97.58 | 2,032.46 | 20.00 |
2022 | 中小板 | 100.00 | 132.69 | 763.00 | 43.00 |
2022 | 主板 | 100.70 | 332.72 | 14,800.00 | 11.74 |
2022 | 创业板 | 71.00 | 98.37 | 448.00 | 40.00 |
2022 | 北交所 | 36.50 | 38.41 | 60.00 | 14.80 |
2022 | 科创板 | 72.10 | 106.98 | 636.00 | 30.00 |
( 注: 2022 年数据截止至 2023 年3月 27 日,大部分数据暂未公布 )
审计收费中位数年分布图
根据上表数据,我们画出中位数年波动图:
可以看到从 2019 年开始主板、中小板、创业板、科创板的审计收费中位数基本上就没有增长了,仅北交所收费有所增长。
审计已经收不起来费了。
从 2021 年上市公司年报审计收费数据来看,主板和中小板收费在 100 万,创业板收费 80 万,科创板收费 70 万,北交所收费 40 万,就算是中游水平了。
2021年审计收费箱型图分析
我们再画一个 2021 年审计收费的箱型图,更直观看下收费水平:
箱型图(Box plot),也叫盒须图,是一种用于可视化数据分布的图表。它展示了数据的五个关键统计量:最小值、最大值、中位数、上四分位数和下四分位数,并使用一组箱子和线条来表示这些统计量。
箱型图中实体部分由Q1(25%)-Q3(75%)分位线组成,实体中间横线表示中位数。只要超过实体部分,那就超过了75%的项目收费了。
所以如果是主板超过 178 万、中小板超过 158 万、创业板超过 120 万、科创板超过 100 万、北交所超过 50 万,那就超过75%同板块的收费了,应该算收费比较高的大项目了。
高收费项目所在会计师事务所
我们以上面超过 178 万认为高收费项目,统计 2021 年高收费项目超过 10 个的会计师事务所:
select audit_agency,format(sum(audit_fees),2) 大项目收费,
count(1) 大项目数量, format(sum(audit_fees)/count(1),2) 平均单价
from audit_fees
where end_date='2021-12-31'
and audit_fees>=1780000
group by audit_agency
having count(1)>=10
order by sum(audit_fees) desc
( 注:使用数据中 2021 年有 268 个上市公司审计收费缺失,另外存在审计机构为会计师分所等多个名称情况,统计数据可能不准确,仅作参考)
执行结果:
四大仍然占据着收费高的大项目, 2021 年4个上亿审计收费的银行、保险、电信行业均是四大审计。
其次就是立信、天健、信永中和、大华、容诚、致同、天职、大信、中审众环等国内大所。
审计收费相关性分析
接着我们回到主题,审计收费究竟与什么报表科目最相关?
这里我们是将资产负债表、利润表、审计收费拼成一张大表,计算各字段之间的相关系统矩阵,找出相关系统最大值的科目名称。
import pandas as pd
df = pd.read_csv('your_data.csv')
df = df.fillna(0)
corr = df.corr()
corr.to_excel('相关系统矩阵.xlsx')
print('over')
执行后我们可以得到相关系数矩阵如下:
筛选出和审计收费相关系数最高的 10 个报表科目如下:
科目名称 | 相关系数 |
---|---|
期末总股本 | 0.889652237 |
利润总额 | 0.836708374 |
营业利润 | 0.835990408 |
净利润(含少数股东损益) | 0.834132119 |
负债及股东权益总计 | 0.812169663 |
资产总计 | 0.812169662 |
应付职工薪酬 | 0.811363931 |
综合收益总额 | 0.809026198 |
负债合计 | 0.806048206 |
现金及存放中央银行款项 | 0.80327793 |
通常情况下,以下规则适用于相关性系数的判断:
相关性系数的绝对值小于0.3表示相关性很弱。相关性系数的绝对值在0.3和 0.7 之间表示相关性中等。相关性系数的绝对值大于等于0.7表示相关性很强。但是需要注意的是,这些规则只是一般性的判断,具体情况需要根据数据的实际情况来判断。另外,需要注意的是,相关系数只是反映了变量之间的线性相关性,而不是其他可能存在的关系,例如非线性相关性、因果关系等。
因此,在使用相关系数来分析数据时,需要综合考虑数据的实际情况和背景知识,以及其他可能存在的关系,而不是仅仅依赖于相关系数的大小来做出结论。
结合上述数据和实务,上市公司的利润和资产规模与审计收费相关性最强。
相关数据下载
我将本文使用到的数据分享大家:
2000-2022年上市公司资产负债表
https://wwds.lanzoum.com/b01ql5e7a 密码:bh0s
2000-2022年上市公司利润表
https://wwds.lanzoum.com/b01ql5ejc 密码:b3ju