常见问题
安装、使用和故障排除的常见问题解答。
安装问题
Q: 安装依赖时出现编译错误?
部分依赖(如 lightgbm)需要编译。请确保已安装:
- C++ 编译器(Windows: Visual Studio Build Tools)
- CMake(版本 ≥ 3.12)
或使用预编译的 wheel 文件:
bash
pip install lightgbm --extra-index-url https://pypi.org/simple
Q: Python 版本要求?
推荐使用 Python 3.10 或 3.11。Python 3.12 部分依赖可能尚未完全兼容。
Q: 如何在 Windows 上安装?
Windows 用户建议:
- 安装 Visual Studio Build Tools(选择 "Desktop development with C++")
- 使用 Anaconda 或 Miniconda 管理环境
- 避免在路径中包含中文字符
数据问题
Q: 如何获取历史数据?
从夸克网盘下载:
解压后替换 db 和 models 目录。
Q: 数据更新频率?
- 日频数据:每周周末更新
- 因子数据:与日频数据同步更新
- 实时行情:需要配置行情源(如 Tushare、AKShare)
Q: 支持哪些市场?
当前主要支持 A 股市场,包括:
- 上海证券交易所(SH)
- 深圳证券交易所(SZ)
- 北交所(BJ)- 部分支持
回测问题
Q: 回测速度慢怎么办?
优化建议:
- 减少回测时间范围
- 缩小股票池(如使用 csi300 替代 all)
- 增加内存配置
- 使用 DuckDB 替代 CSV 存储
Q: 回测结果与实盘差异大?
可能原因:
- 未考虑滑点:设置
slippage_rate - 未考虑手续费:设置
commission_rate - 涨跌停限制:启用
forbid_all_trade_at_limit - 未来函数:检查是否使用了未来数据
Q: 如何自定义策略?
参考示例策略编写:
python
from qlib.contrib.strategy.signal_strategy import TopkDropoutStrategy
class MyStrategy(TopkDropoutStrategy):
def generate_trade_decision(self, execute_result=None):
# 自定义信号生成逻辑
return super().generate_trade_decision(execute_result)
实盘问题
Q: 如何对接 QMT?
需要:
- 安装 QMT 客户端(券商提供)
- 配置 QMT 路径和账户信息
- 启动交易网关服务
详细配置请参考 实盘交易 文档。
Q: 实盘交易有延迟吗?
延迟取决于通道类型:
| 通道 | 典型延迟 |
|---|---|
| QMT 极速版 | ~50ms |
| QMT 极速柜台 | ~5ms |
Q: 有哪些风控措施?
- 单笔交易金额限制
- 日内交易次数限制
- 持仓集中度控制
- 异常波动熔断
- 盘前盘后禁止交易
模型问题
Q: 如何选择模型?
建议:
- 截面预测:LightGBM(速度快、效果好)
- 时序建模:LSTM / GRU
- 长序列:Transformer
Q: 模型训练需要多长时间?
取决于数据量和硬件:
| 数据范围 | 硬件 | 时间 |
|---|---|---|
| 3年 × 3000股 | 8核 CPU | ~10分钟 |
| 3年 × 3000股 | GPU (RTX 3080) | ~2分钟 |
Q: 如何评估模型效果?
主要指标:
- IC:信息系数,衡量预测与实际收益的相关性
- ICIR:IC 的稳定性,越高越好
- Rank IC:排序相关性
获取帮助
如果以上 FAQ 未解决您的问题,可以通过以下方式获取帮助:
- GitHub Issues:提交 Bug 或功能请求
- GitHub Discussions:讨论和交流