基于机器学习的 A 股上市公司财务困境(ST/*ST)预测

用 CSMAR 真实 A 股财务数据预测上市公司被 ST/*ST:以第 T 年年报的 38 个财务比率,提前 1~2 年预警财务困境——SMOTE 解极端不平衡(困境仅 3.16%)+ 五模型对比 + 熵权-TOPSIS 客观选模 + 阈值优化 + SHAP 找预警因子,一条本土化的金融风控建模流水线。

  • 任务类型机器学习
  • 专业方向计算机 · 人工智能 · 经管/社科 · 数据科学

项目亮点

  • 真实 CSMAR 数据 + 规范 ST 标签:业内公认的中国财务困境研究范式,区别于合成数据项目。
  • 时序无泄露建模:T 年报特征 → 预测未来 ST,剔除已困境样本,杜绝前视偏差。
  • 类别不平衡处理:适度 SMOTE 过采样 + 阈值优化,避免准确率假象,关注 AUC 与困境类召回。
  • 多模型对比 + 客观赋权:5 模型 + TOPSIS 熵权法综合评价,结论自洽(树模型 > 线性基线)。

数据与任务

样本量CSMAR · 24203 个公司-年样本
核心方法SMOTE + 五模型 + 熵权-TOPSIS + SHAP
技术栈scikit-learn · XGBoost · LightGBM · SHAP

如果你想找一个落在真实 A 股市场、又能把机器学习全流程讲透的项目,这个「上市公司财务困境预测」很合适。

它的题目本身就有分量——拿真实财务报表预测哪些 A 股公司会被 ST/ST,是信用评级、债券风控、量化避雷里都在做的事。配套也给你备齐了,帮你真正搞懂它、在面试和答辩里讲明白*:带中文注释、能读懂的代码,一份从数据构建到 SHAP 预警因子层层讲透的技术说明文档(里面连简历描述和会被追问的面试问题都连答案写好了),还有一整套能直接做 PPT 的配图。

flowchart LR A["CSMAR 三大报表<br/>(2020-2024 年报)"] --> B["38 个财务比率<br/>(盈利/偿债/营运/成长/现金流)"] B --> C["特征筛选 + 衍生<br/>(→31 维)"] C --> D["SMOTE<br/>(困境 3.16%→适度过采样)"] D --> E["五模型对比<br/>+ 调参"] E --> F["熵权-TOPSIS<br/>客观选模"] E --> G["SHAP<br/>找预警因子"] F --> H["ST/*ST 困境预警"] G --> H

先说清楚,它到底在做什么

财务困境预测的难点有两层。第一层是数据极度不平衡:两万多个"公司-年"样本里,真正会被 ST 的只占 3.16%。一个无脑全猜"不会困境"的模型,准确率就能到 96%——可它一家要出事的公司都预警不出来,在风控里毫无价值。第二层更隐蔽,是时序泄露:你要用今天能看到的财报,去预测未来才会发生的 ST 事件,绝不能偷看未来。

这个项目从 CSMAR 中国上市公司财务报表数据库出发,用资产负债表、利润表、现金流量表算出 38 个财务比率(覆盖盈利、偿债、营运、成长、现金流五大维度),并严格用第 T 年年报的特征去预测 T+1~T+2 年是否被 ST、还剔除了 T 年已 ST 的公司,把任务锁定在"健康→困境"的转变预测上,杜绝前视偏差。再经方差与相关过滤把特征压到 31 维、加上几个基于财务困境理论的衍生指标,用 SMOTE 只对训练集做适度过采样;对比逻辑回归、随机森林、SVM、XGBoost、LightGBM 五种模型并逐一调参,用熵权-TOPSIS 客观选出最优模型(XGBoost),再做阈值优化,最后用 SHAP 找出哪些财务指标最能预警 ST。

训练集类别分布(SMOTE 前)
困境样本只占 3.2%——这张极端不平衡的分布图,正是整个项目所有设计的出发点。

搞懂它,你能在面试里讲清楚什么

把下面几件事吃透,面试官顺着风控这条线问下来你都能接得住。

标签怎么定,时序泄露怎么躲。 这是这个项目最见功力、也最能体现科研严谨度的地方。你要能讲清楚为什么只能用 T 年及以前的财报,为什么要剔除 T 年已经 ST 的公司,以及如果不小心用了未来信息会怎么把指标"刷虚高"。这套"信息截止线"的思路,正是真实金融建模和课堂玩具数据的本质区别。

极端不平衡怎么处理,为什么准确率会骗人。 你要能讲清楚为什么 96% 的准确率毫无意义,为什么这里要盯着 AUC 和困境类的召回、F1,以及 SMOTE 为什么只能在训练集上做、绝不能碰测试集——否则就是数据泄露。项目里还特意做了"适度过采样"而不是补到全平衡,避免合成样本泛滥把精确率打崩,这个取舍也能讲。

为什么五个模型还要客观选模。 "哪个模型最好"不该拍脑袋。这里用熵权法给准确率、精确率、召回率、F1、AUC 五个指标自动定权,再用 TOPSIS 综合排名,把选模做成一套客观、可追溯的流程。配上这张架构图,你能把"特征工程 → 五模型 → 熵权-TOPSIS 选模 → 阈值优化"整条链路一口气讲明白。

核心模型架构
照着这张图,能把 XGBoost 梯度提升、五模型横向对比到熵权-TOPSIS 客观选模的整条链路讲清楚。

SHAP 怎么把模型讲成"看得懂的预警因子"。 风控最怕黑盒——模型说一家公司要出事,你得说出凭什么。SHAP 能排出哪些财务指标最推动困境判断,还原出"是否亏损、销售净利率、成长性、偿债压力"这些核心预警信号,而它们恰好和 ST 制度(连续亏损触发)、财务困境理论高度吻合,让模型的判断站得住脚、讲得清楚。

下面这组分析图也都给你做好了,可以直接放进答辩或面试 PPT

SHAP 蜂群
SHAP 困境预警因子分析
ROC 对比
五模型 ROC 对比
评估雷达
多指标评估雷达图

更关键的是,每张图怎么跑出来的、该怎么解读,技术文档里都讲清楚了——你能说明白每张图到底说明了什么,而不只是把图贴上去。

面试官会问的,都帮你备好了

随便感受几个这个项目真实会被追问的问题:

  • 你怎么保证没用到未来数据?标签里的"T+1~T+2"是怎么设计的?
  • 困境样本只占 3%,你为什么不直接看准确率?该看什么指标?
  • SMOTE 为什么只对训练集做、还只过采样到适度而不是全平衡?
  • 熵权法和 TOPSIS 各自解决了选模里的什么问题?

看到会愣一下?正常。配套的项目讲解资料把这个项目——从整体思路到每个流程细节、各种可能被追问的点——连参考答案都给你写好了,从标签设计、不平衡处理到客观选模这些容易被深挖的环节,都帮你梳理成了能直接开口讲的话。另外还有现成的简历描述,照着改就能写进简历;那套配图也能直接套进 PPT 模板,快速出一份面试 / 答辩 PPT。

配套资料:搞懂一个项目需要的,这里全都有

先看那份技术说明文档——从 CSMAR 数据从哪来、标签怎么避开前视偏差,到特征工程、五模型对比、阈值优化,一直讲到 SHAP 可解释性,图文并茂、层层递进:

文档封面
封面 + 目录
数据页
数据集与不平衡分析
结果页
五模型对比与结果解读

代码也给你了——关键部分都带着中文注释,帮你读懂"它到底是怎么实现的":左边是从三大报表算出财务比率、再加衍生指标的特征工程,右边是用熵权法自动定权、TOPSIS 客观排名的那段选模逻辑:

特征工程代码
财务比率特征工程与衍生
TOPSIS 代码
熵权 + TOPSIS 客观选模

技术文档、项目讲解资料、源码注释、整套配图——搞懂一个项目、并在面试里讲清楚它,需要的全都备齐了。

适合谁

不管你是赶毕设、想给简历添个有金融含量的项目,还是在准备面试,这个题目都接得住。专业上,计算机、人工智能、金融科技、数据科学、统计、经济金融方向都很合适——尤其是想往量化、风控、信用评级方向走的同学,用真实 A 股数据做 ST 困境预警,是把机器学习落到中国资本市场的经典题。把这条从时序无泄露建模、极端不平衡处理到可解释风控的完整流水线真正搞懂、能讲出来,就是一个能写进简历、撑得起面试的项目。

想把这样的项目做成你简历上的亮点?

这是一套配齐了代码、文档、面试问答和配图的 AI+X 项目,可写进简历、在面试里讲清楚。 想做同类项目、或获取「基于机器学习的 A 股上市公司财务困境(ST/*ST)预测」的完整资料(代码 / 数据处理流程 / 论文文档 / 配图), 请联系为你介绍本页面的老师咨询,按你的情况定一个合适的项目。