| name | model-train-infer-backtest-report |
| description | 模型训练-推理-组合回测-专业报告 全流程 — 提交T+N周期模型训练、批量推理全年、自定义组合策略回测(分数阈值+大盘MA+止损)、导出研报级MD+PDF报告。在 QuantBot / Claude Code 中训练模型、推理历史、回测策略、对比T+N周期、出专业分析报告时使用。触发词:训练模型、推理全年、回测策略、T+3、T+5、周期对比、止损、大盘过滤、出报告、效益分析 |
模型训练-推理-回测-报告(全流程)技能
覆盖 QuantMind 量化策略的完整闭环:训练模型 → 推理历史 → 组合回测 → 专业报告。用于验证"改个参数(周期/阈值/风控)收益会不会更好"这类问题,用数据说话而不是猜。
架构总览
① 训练模型 (run-training API)
├─ T+N 周期选择 (T+1/T+3/T+5...)
├─ 特征 (75~182 个来自 QuantDB)
| └─ 训练 2023-2025 → 推理 2026
② 推理历史 (批量推理 API)
├─ 单日 /models/inference/run
└─ 批量 range 模式 推理全年逐个交易日
③ 组合回测 (自定义脚本)
├─ backtest_l2_top20.py 基本 Top20 每日滚动
├─ backtest_l2_year.py 全年严格版 (滑点+T+1+涨跌停+ST剔除)
└─ backtest_l2_optimized.py 优化版 (分数阈值+大盘MA+止损5%)
④ 专业报告 (report_l2_optimized.py)
└─ 回测数据 → 研报级 MD → md_to_pdf_report.py → PDF
认证
BASE=http://localhost:8000
TOKEN=$(curl -s -X POST $BASE/api/v1/auth/login -H "Content-Type: application/json" \
-d '{"username":"admin","password":"admin123","tenant_id":"default"}' \
| python3 -c "import sys,json; print(json.load(sys.stdin).get('access_token',''))")
AUTH="Authorization: Bearer $TOKEN"
CT="Content-Type: application/json"
① 训练模型(提交 T+N CatBoost/LGB 等)
1.1 从现有模型复刻(推荐:保特征,只改周期)
训练参数模型在 admin_training_jobs.request_payload。要训练 T+3 版本对比已有 T+5,复制 T+5 的 payload 只改 target_horizon_days,保证特征/时间/数据完全一致,只变量周期。
已有可复用脚本:scripts/submit_t3_training.py(从 T+5 复制改 T+3)
docker cp scripts/submit_t3_training.py quantmind:/tmp/
docker exec quantmind python3 /tmp/submit_t3_training.py