常见问题
安装、使用和故障排除的常见问题解答。
安装问题
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 个因素
- 模型类型:树 / 线性在 CPU 上分钟级,DL 需 GPU 且慢一个量级。
- 特征数量:系统特征池 169 个,推荐选 60–80 个;数量越多训练越慢、越易过拟合。
- 训练时间窗:推荐 3–5 年,窗口越长样本越多、越慢。
- 数据量 / 标签周期:T+5、T+10 等标签周期与样本行数直接决定训练耗时。
- 算力:本地 Docker 默认 CPU(会自动探测并挂载可用 GPU);深度学习建议用 AutoDL GPU 节点。
- 数据缓存:命中 CBS 磁盘缓存可省去重复下载,显著缩短数据准备阶段。
- 高级选项: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) 反馈与交流: