安装问题

Q: 支持哪些平台部署?

各平台部署方式:

  • Ubuntu:支持一键部署
  • Windows:推荐使用虚拟机或 WSL
  • Mac:支持 Docker 部署,需使用 amd64 兼容架构镜像

Q: Python 版本要求?

使用 Docker 一键部署 时无需在服务器手动安装 Python,依赖已包含在容器镜像内。若采用本地源码安装方式,需使用 Python 3.10(3.11/3.12 存在部分依赖兼容性问题)。

数据问题

Q: 如何获取历史数据?

推荐:管理后台初始化数据。部署完成后进入【管理后台】→【数据管理】点击【初始化数据】即可一键拉取全量历史行情与预计算因子(支持文件级断点续传,预计 1–3 小时);也可登录后进入【个人中心】→【数据平台】填入 QuantDB API Key 一键绑定同步,或在服务器执行 docker exec quantmind python backend/scripts/quantdb_daily_sync.py 完成在线下载与每日增量更新。

备选:魔搭社区一键同步初始化数据(ModelScope 数据集,约 60GB / 7.4 万文件):数据集 https://www.modelscope.cn/datasets/qusong0627/LightGBM_Alpha300。

Q: 数据更新频率?

  • 在线数据:QuantDB 每日增量同步,登录后自动更新
  • 离线数据包(魔搭 ModelScope):魔搭社区一键同步初始化数据

Q: 支持哪些市场?

支持五大市场:

  • A 股:上海(SH)、深圳(SZ)、北京(BJ)
  • 港股(HK)
  • 美股(US)
  • 期货 / 贵金属(QuantFutures)
  • 区块链 / 加密货币(QuantBC)

注:各市场拥有独立数据目录(QuantDB / QuantHK / QuantUS / QuantFutures / QuantBC)与同步链路。

回测问题

Q: 如何自定义策略?

请参考 docs/QuantMind策略编写手册_v2.md 文档。

模型问题

Q: 如何选择模型?

建议:

  • 截面预测:LightGBM(速度快、效果好)
  • 时序建模:LSTM / GRU
  • 长序列:Transformer

Q: 模型训练需要多长时间?

训练时长不是固定值,而是由「模型类型 × 特征数量 × 训练时间窗 × 数据量 × 算力 × 高级选项」共同决定。下面给出 QuantMind 13 个内置模型的实测单模型耗时,以及一次训练任务的完整链路开销与加速建议。

一、一句话结论(实测口径)

  • GBDT 系列(LightGBM / XGBoost / CatBoost):实测约 30 分钟起;
  • 深度学习系列(GRU / LSTM / ALSTM / Transformer / TabNet / TCN / NativeTFT / MLP):实测约 2 小时(120 分钟)起;
  • 叠加 WFA 滚动诊断、Stacking 集成、Optuna 超参搜索后,总时长按倍数继续放大;
  • 训练任务不设固定超时上限,会持续运行至训练完成;深度学习建议使用 GPU 节点以缩短耗时。

二、13 个模型的实测耗时

下表为实测口径(3–5 年、全市场特征):GBDT 系列均为半小时起,深度学习系列均为 2 小时起。具体随特征数量、训练时间窗、GPU 型号与数据量浮动。

类别 模型 算力 实测耗时 说明
线性 Ridge CPU 分钟级 闭式 / 迭代求解,sanity check 诊断基线,不用于实战
GBDT LightGBM CPU 约 30 分钟起 直方图算法,首个必跑基线,A 股选股 IC 最稳定
GBDT XGBoost CPU 约 30 分钟起 level-wise 分裂,与 LightGBM 异构互补,适合 Stacking
GBDT CatBoost CPU 约 30 分钟起 原生处理类别特征,行业特征场景优势最大
树模型 RandomForest CPU 分钟级–约半小时 Bagging 对照基线,判断非线性价值
DL MLP GPU 约 2 小时起 全连接,吃扁平特征;用于判断时序建模是否值得
DL TCN GPU 约 2 小时起 因果卷积替代 RNN,相对省时,适合频繁重训
DL GRU GPU 约 2 小时起 DL 里性价比最高,入门首选
DL LSTM GPU 约 2 小时起 比 GRU 更慢,A 股实测 IC 提升有限(<5%)
DL ALSTM GPU 约 2 小时起 注意力 LSTM,捕捉事件驱动行情,结果较不稳定
DL NativeTFT GPU 约 2 小时起 自研轻量 TFT,比 pytorch_forecasting 版轻约 10 倍
DL TabNet GPU 约 2 小时起 含预训练阶段
DL Transformer GPU 约 2 小时起 参数量大,需 ≥100 万行数据收敛,数据不足会欠拟合

三、一次训练任务的完整链路耗时

训练中心的一次任务不只是模型拟合,还包含数据准备、特征筛选与产物注册,端到端大致如下:

阶段 典型耗时 说明
数据准备与拉取 首次 5–30 分钟 从对象存储下载 parquet,视网络与数据量而定;命中本地缓存或挂载 CBS 缓存盘可跳过
特征筛选(可选) 约 1–5 分钟 IC / ICIR 阈值初筛 + 相关性去冗余,替代手工试错
模型训练 见上表 GBDT 系列半小时起,深度学习系列 2 小时起
WFA 滚动稳定性诊断(可选) 约 3–10 倍于单次训练 rolling / expanding 多窗分别训练与回测,仅支持 LightGBM / XGBoost / CatBoost / Ridge
Stacking 集成(可选) 约 N 倍 + 1 次元学习 时序 K-Fold OOF,N 个基模型各训一次,再用 Ridge 元学习器融合
SHAP 归因(可选) 约 1–3 分钟 默认采样 30000 行,可关闭以省时
产物导出与注册 约 1–2 分钟 模型同步到用户本地镜像并写入注册表,校验后置为 ready

四、影响时长的 7 个因素

  1. 模型类型:树 / 线性在 CPU 上分钟级,DL 需 GPU 且慢一个量级。
  2. 特征数量:系统特征池 169 个,推荐选 60–80 个;数量越多训练越慢、越易过拟合。
  3. 训练时间窗:推荐 3–5 年,窗口越长样本越多、越慢。
  4. 数据量 / 标签周期:T+5、T+10 等标签周期与样本行数直接决定训练耗时。
  5. 算力:本地 Docker 默认 CPU(会自动探测并挂载可用 GPU);深度学习建议用 AutoDL GPU 节点。
  6. 数据缓存:命中 CBS 磁盘缓存可省去重复下载,显著缩短数据准备阶段。
  7. 高级选项:WFA、Stacking、Optuna、SHAP 会各自叠加额外时间。

五、算力与环境

  • 本地 Docker 训练:默认 CPU,启动时自动探测并挂载可用 GPU,容器内完成训练、SHAP 与产物导出。
  • 远程 AutoDL GPU 节点:需先在个人中心 / 后台配置节点;节点初始数据从魔搭 ModelScope 拉取(默认 3 个因子集全量)。
  • 运行时长:训练任务不设固定超时,会持续运行至训练完成,无需担心因时限被中断。
  • 训练 / 推理分工:训练用 GPU,推理用 CPU(单日小样本,CPU 足够且稳定)。

六、把训练跑快 / 少踩坑的建议

  • 先跑基线对照(GBDT 系列约 30 分钟起,Ridge / RandomForest 更快),再决定是否上 DL。
  • 特征选 60–80 个并开启「因子筛选」,不要一次性全上 169 个。
  • DL 一律用 GPU;数据量不足时优先 GRU / TCN,不要硬上 Transformer。
  • 开启早停:树模型默认 early_stopping_rounds=100,DL 默认 early_stop=20,避免无效轮次空跑。
  • 挂载 CBS 缓存盘,避免每次训练重复下载 parquet 数据。
  • WFA 与 Stacking 同时开启会成倍放大耗时,建议分步验证。
  • 深度学习数据量 < 50 万行时慎用 GRU(易过拟合),可先用 MLP 或树模型。

以上为实测口径,实际以训练中心任务详情页显示的进度与日志为准;数据量、特征数、算力(CPU / GPU 型号)差异会显著改变耗时。深度学习任务建议使用 GPU 节点。

Q: 如何评估模型效果?

主要指标:

  • IC:信息系数,衡量预测与实际收益的相关性
  • ICIR:IC 的稳定性,越高越好
  • Rank IC:排序相关性

获取帮助

如果以上 FAQ 未解决您的问题,欢迎加入 QuantMind QQ 交流群(群号 1097406397) 反馈与交流:

GitHub 仓库 · 群二维码