【量化交易】特征存储与时间对齐:point-in-time 正确性

💡 原文中文,约30100字,阅读约需72分钟。
📝

内容提要

本文讨论了量化特征仓库的构建,强调时间正确性(PIT)和版本管理的重要性。特征存储需解决复用、版本化和训练-服务一致性的问题,避免数据修订导致的回测失效。采用双时间维度模型,确保在任意历史时刻能准确还原特征值。文章还介绍了特征存储的技术选型及工程实现,强调监控和回填机制的重要性,以确保数据的可靠性和一致性。

🎯

关键要点

  • 量化特征仓库的构建需要解决复用、版本化和训练-服务一致性的问题。
  • 特征存储采用双时间维度模型,确保在任意历史时刻能准确还原特征值。
  • 时间正确性(PIT)约束要求模型在时间t上只能看到t之前的真实信息。
  • 特征存储不是新数据库,而是一层契约,显式管理特征的定义、版本和依赖。
  • 量化特征仓库与通用ML特征存储的区别在于时间维度和数据修订的处理。
  • bitemporal数据模型结合内容寻址的版本化和as-of join查询接口是量化特征仓库的核心。
  • 特征的时间维度包括事件时间、特征时间和生效时间,需明确区分。
  • 存储后端的选择应考虑数据量、读写比和查询模式,常见选择包括Parquet + DuckDB和ClickHouse。
  • 特征版本化是为了确保旧策略的回测复现和新旧策略的对比一致性。
  • 监控特征仓库的可观测性包括新鲜度、行数/分布漂移、版本漂移等。
  • 回填和重算的区别在于回填是补充缺失数据,重算是因为代码或上游变更而重新计算。
  • 特征仓库的接口应尽量窄,以减少研究员绕过约束的可能性。
  • 在上线前应进行shadow trading以验证在线和离线特征的一致性。
  • bitemporal模型的实施需要研究员时刻意识到两个时间维度的存在。

延伸问答

量化特征仓库的构建需要解决哪些问题?

量化特征仓库的构建需要解决复用、版本化和训练-服务一致性的问题。

什么是时间正确性(PIT)?

时间正确性(PIT)要求模型在时间t上只能看到t之前的真实信息,以避免数据泄漏。

双时间维度模型在特征存储中有什么作用?

双时间维度模型确保在任意历史时刻能准确还原特征值,避免因数据修订导致的回测失效。

特征版本化的目的是什么?

特征版本化是为了确保旧策略的回测复现和新旧策略的对比一致性。

如何监控特征仓库的可观测性?

监控特征仓库的可观测性包括新鲜度、行数/分布漂移、版本漂移等。

回填和重算有什么区别?

回填是补充缺失数据,重算是因为代码或上游变更而重新计算。

➡️

继续阅读