Traditional vs Digital Factors: Asset Pricing in China's A-Share Electronic Components Sector
数字金融导论 Final Project · Shenzhen MSU-BIT University · 2025 Spring
本研究以中国A股元件板块(MLCC + PCB + 电子元件,~60只股票)为样本,系统比较传统财务因子与数字舆情因子在资产定价中的表现差异。
核心问题:NLP情感信号是否具有传统因子之外的增量定价能力?
This project compares traditional financial factors against NLP-based sentiment factors extracted from Eastmoney Guba (股吧) posts, using Fama-MacBeth regression, gradient-boosting ML models, SHAP analysis, and portfolio backtesting.
| 模块 | 方法 | 说明 |
|---|---|---|
| 数据底座 | akshare API + 东方财富爬虫 | 财务指标 + 日线价格 + 股吧帖子 |
| 因子工程 | 7传统因子 + 5情感因子 | z-score 标准化、Panel 构建 |
| 线性定价 | Fama-MacBeth 两步回归 | 基准/受控/数字 三模型对比 |
| 非线性建模 | XGBoost + LightGBM + SHAP | 特征重要性、非线性交互 |
| 分组回测 | 5分位组合(含0.1%滑点) | 传统/数字/联合 三组对比 |
| 稳健性 | 子期间分析(牛/熊) | 2019-2021 vs 2022-2025 |
传统因子 (A组): ROE, ROA, 资产负债率, 流动比率, 速动比率, 毛利率, 净利率
数字因子 (B组): SENT_MEAN(季度平均情感分), SENT_STD(波动率), SENT_POS_RATIO(正面帖占比), SENT_NEG_RATIO(负面帖占比), SENT_VOLUME(讨论热度)
final/
├── main.py # 主程序入口(全流程管线)
├── config.py # 配置中心(参数/路径/因子定义)
├── data_loader.py # akshare 数据拉取 + 本地缓存
├── factors.py # 因子工程 + Panel 构建
├── fama_macbeth.py # Fama-MacBeth 两步回归
├── ml_models.py # XGBoost + LightGBM + SHAP
├── backtest.py # 分组回测(含滑点)
├── visualize.py # 可视化(7图 + 5表)
├── sentiment_analyzer.py # SnowNLP 情感分析
├── sentiment_crawler.py # 东方财富股吧爬虫
├── stock_filter.py # 股票过滤(ST/次新股)
├── generate_answers.py # 期末复习答案文档生成
├── requirements.txt # Python 依赖
│
├── data/
│ ├── prices/ # 60只股票日线数据 (CSV)
│ ├── financials/ # 60只股票财务指标 (CSV)
│ └── sentiment/ # 股吧帖子 + 情感分 (CSV)
│
├── output/ # 图表 + 表格输出
│ ├── fig1~7_*.png # 7张可视化图表
│ └── table*.csv # FM回归表 + 回测绩效表
│
└── docs/ # 论文 + PPT + 文档
├── 数字金融导论第二组小组论文.pdf
├── 项目完整大纲_终版.docx
├── Traditional_vs_Digital_Finance.pptx
└── ...
pip install -r requirements.txt核心依赖:akshare, pandas, numpy, statsmodels, xgboost, lightgbm, shap, snownlp, jieba, matplotlib, seaborn
# 全流程(含数据拉取 + 爬虫)
python main.py
# 跳过数据拉取(使用缓存)
python main.py --skip-fetch
# 跳过股吧爬虫
python main.py --skip-crawl
# 跳过机器学习
python main.py --skip-ml| 因子 | 平均溢价 | NW t-stat | p-value |
|---|---|---|---|
| 速动比率 | -15.91% | -2.54 | 0.011** |
| 流动比率 | +14.43% | +2.28 | 0.023** |
| 毛利率 | +1.23% | +1.63 | 0.104 |
| ROE | +1.09% | +0.53 | 0.595 |
流动性因子在元件板块有显著定价力,盈利因子定价力有限(与CH-3一致)。
| 组合 | 年化收益 | 夏普比率 | 最大回撤 |
|---|---|---|---|
| Q1 (Low) | 12.15% | 0.34 | -29.87% |
| Q5 (High) | 18.07% | 0.47 | -33.90% |
| Long-Short | 3.82% | 0.07 | -22.99% |
| 指标 | 数值 |
|---|---|
| 方向正确率 | 4/6 (67%) |
| 年化收益 | +86.4% |
| 夏普比率 | 1.49 |
| 最大回撤 | -21.4% |
- 本项目为课程作业,不构成投资建议
- 数据来源:akshare (东方财富) + 东方财富股吧
- 样本期:2019Q1 – 2025Q4
- 行业范围:仅限元件板块,结论不可简单外推
- 滑点假设:0.1% 单边(实际交易成本可能更高)
This project is released under the MIT License. See LICENSE for details.
Project materials are shared for educational and research purposes. Source data copyrights remain with their respective owners.