识别财务舞弊的“机器之眼”:本福特定律建模
2018-05-31
市值风云APP原创作品 欢迎转发,转载需授权
作者 | 熊本熊(实习生)
编辑 | 小鲨鱼
上市公司造假的手段,主要可以分为三类:
其一,收入类造假,如伪造合同虚构收入的万福生科;
其二,成本费用类造假,如通过少计成本虚增利润的三峡新材;
其三,关联交易造假,如隐瞒与关联方之间的交易,导致利润总额虚增的康欣新材。
在大A股这充满诱惑的市场,遍地都是娇嫩的韭菜,只要通过会计分录,简简单单便能割走大把钱财,让揣着镰刀的老板,如何按耐得住心中的悸动呢。
而对于财务造假的识别,一直是一个难题,每一家上市公司看起来都是那么眉清目秀婀娜多姿,没有谁脸上写着“造假”两个字。
别说普通的投资者,就是在资本市场浸淫多年且具备专业财务技能的业内人士,也很难识破财务舞弊。
在互联网技术突飞猛进的当今社会,风云君曾想是否可以利用互联网技术来提高财务舞弊识别效率,甚至开发一种简单实用的财务舞弊辅助识别工具?
一、本福特定律
本福特定律,是一个有关于首位数字在数值数据集的频率分布,此定律已经存在很长的一段时间,但到了最近几年才被频繁地讨论和使用。
本福特定律命名来源于20世纪的英国科学家本福特,他使用的前提限制为,数据必须为自然数据,所以人为制造的数据,像手机号码、身分证字号都不适用这个定律。
本福特定律指出在这些自然数据中,如信用卡付费帐单、财务报表等,第一个首位数字1(例如:1 ,123,1234)的出现次数约为30.1%,首位数字是2的比例约为17.6%,后面数字出现的机率将逐渐变小,到首位字母为9时,数字出现机率已经小于5%。
本福特定律:P(d)=
这个结论与常人的直观结论不同,一般来说我们会认为1~9每个数字,出现的机率皆为1/9,但本福特定律指出,在自然数据下,首字母的分布,并不是这样的。
据说本福特是在翻对数表时发现这个定律的,像图书馆的书一样,前面几页的颜色总是特别深,越到后面颜色越浅,书页越新,因而让本福特想到,是不是1为首字母的数会是最多的呢,从而得出这个定律。
二、手把手教你用python建模
接下来科普点技术。
大A股3000多家上市公司,算上每年IPO的企业,若是一家一家用excel建模,那得到何年何月才能做完呢?
俗话说授人以鱼不如授人以渔,今天风云君便手把手教大家,如何用python建模,来检验上市公司报表的首位字母是否满足本福特定律。
ps:对于不想学的老板们,看到这边就可以直接跳到最下面的留言区,只要阅读量过万,留言区便会将源码奉上。
步骤一:安装python3
步骤二:安装这次所需要的库
os:主要用来抓取档案位置
pandas:主要用来进行运算
stats:主要用来做卡方检定
步骤三:定义函数(ps:此代码以东方财富choice数据提供的excel为基准建立)
1、将重复代码定义成函数,可以使代码易读性上升,修改运用起来也会比较容易。取财务报表每个单元格的首位数字,以中国平安为例:
我们得取出每个数字的首位字母,以营业收入27,712,000,000为例,会得到首位字母为2,以此类推,因此写一个函数来执行这个动作。
2、统计首位字母出得次数
3、计算出每张报表里,他的数字分布。
从东方财富choice上下载上市公司数据会分成三个excel,分别是现金流量表、资产负债表和利润表,所以我们要分别计算出各表首字母出现的次数。
4、将三张表数字加总
我们将三张表通过函数,分别计算出他的分布结果,并将结果放入下面三个list中
profitsheet_num=[]
cash_flow_num=[]
Assetsheet_num=[]
5、计算依照本福特定律,财务报表中各个首字母的期望次数
6、卡方检定
至此,函数也就定义完毕了
步骤四:将会用到的东西,设定好
步骤五:从文件资料中取出上市公司的代码
文件资料档名:(ps:这是额外写一个程式,批量更改档名后的结果,源代码将在破万阅读后,放在留言区)
步骤六:读入代码进行计算
步骤七:将结果存在dataframe后打印结果,并输出成excel。
三、上证50及舞弊公司测试结果
卡方检验
虚无假设:财报首字母分布符合本福特定律
对立假设:财报首字母分布不符合本符特定律
本次我们抓取前4季的数据,第二行的601668,其代表意义为,在这4季度中,601688无法拒绝虚无假设的季度有4季,可以拒绝虚无假设的季度为0季。亦即它的分布决大部分符合本福特定律。
我们整理出上证50与五家有舞弊行为的公司的无法拒绝虚无假设的均值作为比较
上证五十样本为:北京银行、工商银行、光大银行、国泰君安、华泰证券、交通银行、洛阳钼业、农业银行、上海银行、新华保险、浙商证券、中国电建、中国核电、中国建筑、中国交建、中国平安、中国人寿、中国石油、中国太保、中国铁建、中国银河、中国银行、中国中车、中国中铁、中国重工、宝钢股份、保利地产、北方稀土、大秦铁路、东方证券、贵州茅台、海通证券、华夏幸福、江苏银行、康美药业、绿地控股、民生银行、南方航空、浦发银行、山东黄金、上汽集团、万华化学、伊利股份、兴业银行、招商银行、招商证券、中国联通、中国神华、中国石化、中信证券。
舞弊五家样本为:保千里、尔康制药、欣泰电器、雅百特、中安消。
上表中,可以发现上证五十季度资料平均值,符合本福特定律的季度数,不管在最近一年、两年、三年、四年,都高于舞弊五家的季度均值,但考量到均值差异并不是十分明显,我们推断可能是受到样本的数据量较小影响所致。
所以我们初步认为,本福特定律这个工具在实际应用中是可以起到一个初步筛选的作用,但是在实际判别时,还得深入的研究上市公司的基本面及财务数据,需运用专业的财务知识进行更严谨的分析。
END