现在数据加载是:
Qlib Bin (5000股 × N字段 = 5000*N次小文件I/O)
→ Python表达式引擎逐个计算N+特征
→ 全范围DataFrame全量物化 (5-10GB内存)
→ Processor截面标准化 (groupby+transform)
每次加载数据都要重新计算,导致整体上相当的慢,是否可以采用以下模式:
原始数据 → Parquet bucket shards (已计算好的特征)
→ manifest.parquet (symbol→bucket映射)
→ meta.json (特征名/日期范围)
训练加载 → 列裁剪 + 行过滤 + 批量读取
→ date→row_indices 倒排索引
→ rolling窗口直接按日期索引
现在数据加载是:
Qlib Bin (5000股 × N字段 = 5000*N次小文件I/O)
→ Python表达式引擎逐个计算N+特征
→ 全范围DataFrame全量物化 (5-10GB内存)
→ Processor截面标准化 (groupby+transform)
每次加载数据都要重新计算,导致整体上相当的慢,是否可以采用以下模式:
原始数据 → Parquet bucket shards (已计算好的特征)
→ manifest.parquet (symbol→bucket映射)
→ meta.json (特征名/日期范围)
训练加载 → 列裁剪 + 行过滤 + 批量读取
→ date→row_indices 倒排索引
→ rolling窗口直接按日期索引