-
Notifications
You must be signed in to change notification settings - Fork 2
Open
Labels
enhancementNew feature or requestNew feature or requesthigh priorityHigh priority mattersHigh priority matters
Description
模型训练与回测结果持久化存储
背景
当前存储方式
- 训练产物:Qlib
R(Experiment Recorder) 默认写入本地目录(如mlruns/) - 回测产物:
run_grid.py输出至reports/grid_runs/<timestamp>/summary.json:本次网格参数与窗口配置results.jsonl:每个 job 的 recorder_id、HTML 报告路径、日志路径、状态logs/*.log:训练/回测日志
- 模型/预测/回测 artifact:通过
R.save_objects()等写入本地
问题
- 本地磁盘易占满,难以在多机/多环境共享
- 无统一元数据索引,不易检索、对比历史实验
- 缺乏结构化存储,无法高效做报表与可视化分析
目标
将模型训练与回测结果进行持久化存储,实现可扩展、可检索、可复现的实验管理:
- 文件存储(MinIO):模型权重、checkpoint、HTML 回测报告、日志等二进制/大文件,支持多机共享与版本追溯
- 元数据存储(PostgreSQL):实验配置、训练参数、回测指标(IC/IR、年化收益、最大回撤等)、关联路径索引,支持结构化查询与对比分析
计划
基础设施
- 1.1 封装 MinIO 客户端:支持上传/下载/列举,配置 endpoint/bucket/凭证(环境变量或 config)
- 1.2 设计 PostgreSQL 表结构:experiments、train_runs、backtest_runs、grid_jobs 等
训练流程接入
- 2.1 在
train_lgb_alpha158_pit.py中,训练结束后将模型 artifact 上传至 MinIO - 2.2 将训练元数据(recorder_id、market、label、pit 配置、时间窗口等)写入 PostgreSQL
回测流程接入
- 3.1 在
generate_html_report.py中,回测完成后将 HTML 报告、日志上传至 MinIO - 3.2 将回测指标(IC、IR、年化收益、最大回撤等)及 MinIO 路径写入 PostgreSQL
- 3.3 在
run_grid.py中串联上述逻辑,确保每个 job 完成后自动持久化
查询
- 4.1 搭建前端项目(如 React/Vue 等),对接后端查询接口
- 4.2 实验列表页:展示实验列表,支持按市场/时间/状态筛选
- 4.3 训练与回测详情页:展示单次实验的配置、指标、关联的 MinIO 报告/日志链接
- 4.4 指标对比与可视化:支持多实验指标对比、图表展示(IC、IR、收益曲线等)
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or requesthigh priorityHigh priority mattersHigh priority matters