寻龙诀 PRO
看板

A 股本地数据湖怎么做?

把数据放在自己手里,才能稳定复现回测,不被接口和网络牵着走。

本页要点

  • 原始层只追加不覆盖,派生层随时可重建。
  • 每批数据带批次号和入库时间,问题可追溯。
  • 53 条质量断言 + 3 条复权不变量,不过即失败。
本页目录

只靠接口现拉数据,会碰到限流、保留期、字段变化和重复计算。本地数据湖把原始数据按主键保存下来,派生数据随时重建,回测和研究才有稳定底座。

为什么用 DuckDB + Parquet

  • 列式存储:只读需要的列,适合行情和指标聚合。
  • 单机可用:不需要额外数据库服务,2 核 2 GB 也能跑。
  • 可核对:原始层只追加不覆盖,带批次和入库时间。
  • 可重建:复权、指标等派生层可以从原始层重算。

表怎么分层

原始层保存日线、竞价、涨停池、龙虎榜、人气榜等;派生层保存复权、指标和策略产物;消费方只读视图 v_*,不直接读中间文件。

质量比“有数据”更重要

数据湖不只是把文件存下来。每个交易日要跑 53 条质量断言和 3 条复权不变量:前复权末根等于真实价、后复权首根等于真实价、因子恒为正。不过即退出码非零,避免错误数据继续流向策略。

为什么不能只存一份 CSV

行情数据有复权、停牌、退市、除权、字段变更等问题。只存一份扁平文件,出了问题很难知道是哪一步、哪一天、哪一批数据错了。

本地数据湖会给每批数据留批次号和入库时间,原始层不覆盖,派生层可以重建。这样回测和排障才能复现。

常见问题

一定要用 DuckDB 吗? 不是。DuckDB 只是单机分析的一种选择,核心是分层、主键、可重建和质量校验。

2 核 2 GB 能跑吗? 可以跑日常流程,但盘中高频扫描和全量回测要错开,避免同时占用内存。