Skip to content

lgz20061024-cmyk/digital-finance-factor-pricing

Repository files navigation

传统财务因子 vs 数字舆情因子:中国A股元件板块的定价能力比较

Traditional vs Digital Factors: Asset Pricing in China's A-Share Electronic Components Sector

数字金融导论 Final Project · Shenzhen MSU-BIT University · 2025 Spring


📌 项目概述 | Overview

本研究以中国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.


🧩 研究方法 | Methodology

模块 方法 说明
数据底座 akshare API + 东方财富爬虫 财务指标 + 日线价格 + 股吧帖子
因子工程 7传统因子 + 5情感因子 z-score 标准化、Panel 构建
线性定价 Fama-MacBeth 两步回归 基准/受控/数字 三模型对比
非线性建模 XGBoost + LightGBM + SHAP 特征重要性、非线性交互
分组回测 5分位组合(含0.1%滑点) 传统/数字/联合 三组对比
稳健性 子期间分析(牛/熊) 2019-2021 vs 2022-2025

因子定义 | Factor Definitions

传统因子 (A组): ROE, ROA, 资产负债率, 流动比率, 速动比率, 毛利率, 净利率

数字因子 (B组): SENT_MEAN(季度平均情感分), SENT_STD(波动率), SENT_POS_RATIO(正面帖占比), SENT_NEG_RATIO(负面帖占比), SENT_VOLUME(讨论热度)


📂 项目结构 | Project Structure

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
    └── ...

🚀 快速开始 | Quick Start

环境 | Requirements

pip install -r requirements.txt

核心依赖:akshare, pandas, numpy, statsmodels, xgboost, lightgbm, shap, snownlp, jieba, matplotlib, seaborn

运行 | Run

# 全流程(含数据拉取 + 爬虫)
python main.py

# 跳过数据拉取(使用缓存)
python main.py --skip-fetch

# 跳过股吧爬虫
python main.py --skip-crawl

# 跳过机器学习
python main.py --skip-ml

📊 核心发现 | Key Findings

Fama-MacBeth 回归

因子 平均溢价 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一致)。

分组回测(5分位)

组合 年化收益 夏普比率 最大回撤
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%

⚠️ 注意事项 | Notes

  • 本项目为课程作业,不构成投资建议
  • 数据来源:akshare (东方财富) + 东方财富股吧
  • 样本期:2019Q1 – 2025Q4
  • 行业范围:仅限元件板块,结论不可简单外推
  • 滑点假设:0.1% 单边(实际交易成本可能更高)

📄 License

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.

About

No description, website, or topics provided.

Resources

License

Stars

15 stars

Watchers

1 watching

Forks

Packages

 
 
 

Contributors

Languages