the work

张子琛 · AI 工程师 · 珀斯

数据

股票分析平台

按 AI 产业链整理的证券数据库。数据模型的目标是让回测不说谎:稳定主键、退市日期、ADR 约束。

目标

收集 AI 产业链相关公司的历史数据,方便查询,再在这之上做趋势预测。第一步是把证券表设计对:数据错了,后面所有分析都白做。

几个设计决定

  • 主键用 UUID,不用股票代码。 代码会变:Facebook 在 2022 年从 FB 改成了 META。
  • 代码只在「还在交易」的证券里唯一。 退市的代码可以被新公司重新使用,所以用部分唯一索引,只约束未退市的证券。
  • 用退市日期,不用 is_active。 日期能回答「某一天有哪些股票在交易」,回测时就不会有幸存者偏差。
  • ADR 规则写成约束。 ADR 必须有换股比例,非 ADR 不能有。比例用 NUMERIC,不用浮点数,因为它要参与价格换算。
  • 行业和 AI 产业链分层分开存。 GICS 行业和「在 AI 价值链的哪一层」是两个维度。

原则

约束应该挡住不可能的数据,而不是挡住少见的数据。比如 ARM 的普通股不在任何交易所上市,只以 ADR 形式在 NASDAQ 交易,所以「ADR 必须有本地交易所」这条约束被删掉了。

← 全部作品