需求说明
从财务造假动机、造假手段、纵向历史波动、横行行业偏离、报表勾稽关系、关联交易等维度出发、构建财务异常机器学习判别模型(随机森林,XGBoost)。
国际上著名的M-Score、F-Score。
数据选取
数据说明
选取样本包括2014-2018年所有的上市公司财务报表。根据会计事务所给出的审计意见划分是否财务造假;总共5w多个样本;共有223起涉嫌财务造假事件,涉及170家上市公司。
数据处理
缺失值按一级行业均值填充;若仍有缺失,按该特征的全部样本均值填充
数据集划分:为将该模型推广到其他未知财务主体,按公司划分;为让模型应用在最新的财务数据上,按时间划分,18年为测试集。
正负样本不均衡:
SMOTE算法;
for i in 少数类样本集S:
for j in i的特征集合T:
在S中找到i关于特征j的k各近邻;
从k近邻中随机选择一个样本x,生成一个0-1的随机数w,新的样本xn = xi + w(x-xi)
成比例复制少数类样本;
数据特征探索
解释变量计算方法
资产异常:
应收款项占比=应收款项/营业收入
应收变化率=应收款项占比同比
存货占比=存货/营业成本
存货变化率=存货占比同比
应付款项占比=应付款项/营业成本
应付变化率=应付款项占比同比
软资产比例=(总资产-固定资产-在建工程-工程物资-货币资金)/ 总资产
带息负债率=带息负债/股东权益
现金异常:
现金销售率=(营业收入-应收账款)/ 营业收入
自由现金流变动 = delta(净利润 + 折旧费用 - delta(流动资产-流动负债)+ delta(一年到期的长期负债))/ 总资产
货币资金占比=货币资金/流动资产
盈利异常:
毛利率异常:毛利率在行业前20%,同时存货周转率在行业后20%,是取1,否则取0
前一年是否亏损:前一年净利润为负则为1,否则为0
前一年扣非ROE:前一年扣非ROE小于6%则为1,否则为0
非财务指标:
是否再融资:当有股权或债券融资时为1,否则为0
资产异常和盈利异常采用行业分位值=(v-min)/(max-min)
T检验与特征分析
剔除解释性差的特征;保证变量间无高相关性
模型结果分析
逻辑回归 | 随机森林 | GDBT | XGBoost | |
准确率 | 77.19% | 84.02% | 79.49% | 80.34% |
精确率 | 8.45% | 10.98% | 9.04% | 8.85% |
召回率 | 62.83% | 56.64% | 60.18% | 55.75% |
F1值 | 14.9% | 18.39% | 15.72% | 15.27% |
因子贡献度:
应收款项占比:通过应收账款手法虚增收入是很常见的造假手段。提前确认或虚假确认的收入,会造成应收款项大幅增加,而其他收款往往是其转移对象,故该指标期末值会偏大;
软资产占比:造假公司往往会推迟确认费用,造成软资产比例显示过高;
带息负债率:过高,意味着公司过度举债发展,经营可能陷入困境;
前一年是否亏损:为率不被ST或保壳,亏损后的第二年可能有财务造假的动机;
前一年扣非ROE:增发和配股要求公司最近3个会计年度ROE平均不低于6%,前一年扣非ROE小于6%的公司有财务造假的动机;
是否再融资:为满足再融资的需求,有造假动机。