A股/港股财务数据本福特检验
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @user_058048a4/financial-benford-test。
技能介绍
为什么要做本福特检验
财报里的金额往往跨度很大,人工扫表很难判断「首位数字分布」是否异常。本福特定律(Benford's Law)描述自然数据集中首位数字 d 的出现概率约为 log10(1+1/d);若某份报表大量科目显著偏离该分布,可能提示录入错误、口径调整或更值得深挖的异常,不能替代审计结论,但适合作为快速筛查。
技能如何工作
你输入 A 股或港股 的股票名称或代码后,技能会:
- 通过 akshare 拉取近 12 个季度 的完整三表:资产负债表、利润表、现金流量表(A 股走新浪财经
stock_financial_report_sina,港股走东方财富stock_financial_hk_report_em) - 从三表中抽取所有非零正数金额科目作为样本
- 用 scipy 做 Chi-square goodness-of-fit 拟合检验,输出卡方统计量与 p 值
- 生成交互式 HTML 报告,包括:实际 vs 理论的首位数字频率对比图、三表分别结果、合并总体结果、偏差最大的科目列表,以及检验结论与风险提示
数据处理依赖 pandas / numpy。
适用边界与注意点
- 样本来自财报科目数值本身;重组、并购、大量四舍五入或人为凑整 都可能让分布偏离本福特预期,需结合业务解释,而非单看 p 值。
- 港股与 A 股数据源不同,缺失季度或字段变更时,有效样本量会变化,小样本下检验功效有限。
- 本技能面向探索性数据分析;任何「造假」判断都应结合原始 PDF/公告与专业审计流程。
使用场景
- 拿到某只 A 股或港股代码后,需要先对近 12 季度三表金额做首位数字分布筛查,再决定是否深入查科目
- 从 akshare 拉完资产负债表、利润表、现金流量表,想批量检查非零金额科目是否存在系统性录入或口径异常
- 写投研或风控内参前,希望用卡方检验和 p 值把三表分别与合并结果可视化,便于组内讨论
- 教学或复盘案例时,需要针对真实财报生成交互式 HTML,对比实际首位数字频率与本福特理论值
适合人员
- 覆盖 A 股、港股的权益研究员,想在深度建模前先对财报数值做探索性异常筛查
- 用 Python 拉新浪财经或东方财富财报的数据分析师,关心三表合并样本与本福特拟合是否可靠
- 金融机构风控或合规岗,需要可复现的检验报告(含偏差最大科目)辅助后续人工核查
- 讲授财务分析或数据欺诈检测的教师,希望用真实三表演示卡方 goodness-of-fit 流程