Skip to content

quantaxispro/stark

Repository files navigation

项目分析说明

1. 模型选择及原因

本项目目标是 预测指定股票在未来 90 天内是否上涨超过 10%,这是一个典型的 金融时间序列二分类问题,数据包含了 日线技术指标季度财务指标,具有以下特点:

  • 数据类型多样:包含数值型(日线价格、成交量、财务指标)、类别型(季度 period)、时间序列依赖。
  • 非线性关系显著:财务指标与未来收益之间往往存在非线性关系,不能简单用线性回归建模。
  • 特征数量较多,且部分特征相关性较强(如多个财务指标之间高度相关)。
  • 噪声较大:金融市场数据随机性高,需要模型具备一定鲁棒性。

基于以上考虑,本项目选择 LightGBM 作为核心模型,原因如下:

  1. 适合结构化金融数据:LightGBM 是基于梯度提升树(GBDT)的算法,天然适合处理 tabular 数据,在金融预测类问题上表现稳定。
  2. 处理非线性与交互关系:树模型能自动建模复杂的非线性关系和高阶交互特征,无需显式构造多项式特征。
  3. 训练高效,支持大数据量:相比 XGBoost,LightGBM 在数据量较大时效率更高,支持快速迭代实验。
  4. 特征选择与解释性:通过内置的 feature importance (gain/split) 可以直接进行特征选择,并结合 SHAP 分析,解释模型的决策逻辑。
  5. 处理缺失值能力强:不需要额外插补,提升了财报数据和日线数据合并后的灵活性。

因此,LightGBM 在本项目中兼顾了 预测性能、训练效率与可解释性,是最合适的建模工具。


2. 特征选择方法

为了避免过多无效特征带来的噪声和过拟合,本项目采用了 LightGBM 内置的 Gain 特征重要性 进行特征选择。

  • Gain:衡量某个特征在所有分裂点上带来的信息增益,数值越高说明该特征对分类贡献越大。
  • 实施流程
    1. 使用全部特征训练 LightGBM baseline 模型;
    2. 提取各特征的 Gain 值并排序;
    3. 设定阈值(如累计贡献度达到 90% 的前 N 个特征)作为最终保留特征;
    4. 对不同时间区间做交叉验证,筛掉稳定性较差的特征。

这样不仅能减少特征维度,还能保留对模型预测最有价值的核心因子。


3. 新特征构造思路

在已有的日线和季度数据基础上,可以通过以下方法 推论并构造更有效的新特征

(1)基于日线数据的派生特征

  • 动量类指标:过去 20 日、60 日、90 日的累计收益率(return_t / return_t-n)。
  • 波动率指标:滚动 20 日、60 日收益标准差,作为风险代理。
  • 均线偏离度:当前收盘价相对 20/60 日均线的偏离率,衡量超买/超卖程度。
  • 成交量特征:成交量/20 日均量,代表资金活跃度。

(2)基于季度财报的派生特征

  • 增长率指标
    • YoY:revenue_t / revenue_(t-4) - 1
    • QoQ:EPS_t / EPS_(t-1) - 1
  • 盈利能力指标gross_margin = gross_profit / revenue
  • 财务健康度debt_to_equity = total_debt / total_equity
  • 趋势信号:连续 3 个季度 EPS 增长 → 强趋势特征。

(3)交叉特征(财报 × 市场)

  • 估值指标
    • PE = close / EPS
    • PB = close / book_value
  • 因子交叉
    • 高 ROE + 高动量(质量因子 × 技术因子)
    • 高负债率 + 高波动率(风险叠加因子)

(4)目标时间窗口对齐特征

由于预测目标是 未来 90 天收益是否 ≥10%,因此在特征构造中,可以增加:

  • 90 天滚动波动率(未来目标周期一致)
  • 过去 90 天最大回撤 / 最大涨幅
  • 90 天财务指标累积变化率

🎯 总结

  • 模型:选择 LightGBM,因为其适合结构化金融数据,能处理非线性、特征交互,并具备较好可解释性。
  • 特征选择:利用 LightGBM 的 Gain 排序特征重要性,筛选稳定且贡献大的特征。
  • 新特征构造:从日线(动量、波动)、季度财报(YoY、QoQ、盈利能力)、交叉因子(PE、PB、ROE × 技术指标)、目标周期对齐特征(90 天滚动统计)等维度推导出更有效的变量。

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published