Skip to content

为什么投资研究需要可靠的数据来源?

开始研究一个投资问题时,很多人首先想到的是:

  • 使用什么指标;
  • 采用什么策略;
  • 如何判断买卖时机。

这些问题都很重要,但在计算指标以前,还有一个更基础的问题:

我们使用的数据,真的能够支撑这项研究吗?

同一段分析代码,如果输入的数据范围、复权方式或更新时间不同,可能得到完全不同的结论。计算过程即使没有错误,也无法弥补数据本身的问题。

因此,可靠的数据并不是研究完成后的附加检查,而是统计、回测和投资实验能够成立的前提。

“可靠”只是指来源官网吗?

官方来源通常更接近基础事实,但“来自官网”并不等于这份数据可以直接用于所有研究。

一份适合研究的数据,至少需要回答五个问题:

  • 来源是否可追溯:能否说明数据来自哪里、何时获取;
  • 范围是否完整:是否遗漏历史证券、停牌记录或退市公司;
  • 口径是否一致:字段含义、单位、复权方式和时间范围是否统一;
  • 时间是否可还原:能否知道某条信息在当时是否已经公开;
  • 结果是否可复现:以后能否使用相同版本的数据重新得到结果。

例如,交易所可以提供上市公司名单和公告,第三方平台可以把多个来源整理成便于查询的接口,自建数据库则可以保存研究时实际使用的版本。它们解决的是不同问题,很难用一个来源替代全部环节。

那么,数据不可靠时,研究结果会受到什么影响?

数据问题会怎样改变结论?

有些数据错误很容易发现,例如日期缺失、价格为负数或证券代码格式不一致。更需要警惕的是那些看起来正常,却在不知不觉中改变样本的问题。

只保留当前股票会发生什么?

假设我们想回测过去十年的选股策略,却直接使用今天仍在上市的公司名单。

那些在十年间已经退市的公司不会进入样本,历史表现较差的证券因而被提前排除。回测看到的市场,比当时真实可选的市场更“优秀”。

这种偏差通常称为幸存者偏差。

真正需要还原的是:

在每一个历史时点,当时有哪些证券可以被选择?

因此,研究股票范围时不能只保存当前上市列表,还需要记录上市日期、终止上市日期、证券状态及其历史变化。

价格口径不同会发生什么?

同一只证券可能同时存在:

  • 不复权价格;
  • 前复权价格;
  • 后复权价格。

如果买入条件使用不复权价格,收益计算却混入另一种复权口径,信号和收益就可能不再对应同一条价格序列。

分红、拆股、合并等公司行为还可能让历史复权价格随计算基准发生变化。只保存最终结果,却不记录复权方式和数据版本,后续就很难复现实验。

使用后来才知道的信息会发生什么?

财务数据、指数成分和证券状态都会随时间更新。

如果回测在过去某一天作出决策时,使用了后来披露或修订的数据,就等于让策略提前知道了未来。这通常被称为前视偏差。

因此,历史研究不仅要问“这个数字是多少”,还要问:

在当时,这个数字是否已经可以被研究者获得?

这些例子说明,可靠性并不只是数值有没有填错,还包括样本是否完整、口径是否一致,以及时间关系是否真实。

为什么不能只依赖行情软件?

行情软件很适合查看价格、观察走势和辅助交易。对于临时查询,一张 K 线图往往已经足够。

但研究需要的不只是“现在能看到”,还需要:

  • 可以重复获取;
  • 可以保存原始数据;
  • 可以批量和程序化处理;
  • 可以记录当时使用的版本;
  • 可以检查缺失、重复和异常;
  • 可以让别人复现相同结果。

如果软件更新后历史数据或复权结果发生变化,而研究者没有保存原始版本,过去的回测就可能无法重现。

因此,行情软件更适合观察市场;研究数据系统则需要负责留存、校验和复现。两者并不冲突,只是承担的任务不同。

但这是否意味着每项研究都要从零建设一套数据库?

“自己的数据”不等于从零采集

建立自己的研究数据,并不一定要绕过所有第三方来源,也不意味着收集得越多越好。

更实际的做法是,把研究真正需要的数据纳入可控制的流程:

text
记录数据来源

保存原始数据或下载快照

检查缺失、重复和异常

统一代码、日期、单位和字段

记录清洗与转换规则

生成可复现的研究数据集

即使数据来自专业终端、互联网平台或开源接口,只要保留来源、获取时间、原始文件和处理过程,就能逐步建立自己的研究版本。

这里的“自己的数据”,重点不是所有权,而是:

能够说明这份数据从哪里来、经过哪些处理,以及如何再次得到相同结果。

常见数据来源分别适合做什么?

投资研究中常见的数据来源大致可以分为四类。

交易所和其他官方披露平台

这类来源适合核对基础事实,例如:

  • 证券列表;
  • 上市和终止上市状态;
  • 官方公告;
  • 交易规则;
  • 市场统计资料。

它们通常更接近信息披露的起点,但网页结构和下载方式未必适合批量研究,历史版本也可能需要单独整理。

专业金融数据服务

Wind 等专业数据服务会对多个来源进行标准化,通常提供较完整的字段、查询工具和数据支持。

它们可以降低数据整理成本,但研究者仍然需要确认字段定义、授权范围、更新时间和历史修订方式,而不能只因为数据来自专业终端就忽略口径检查。

互联网金融平台

东方财富等互联网平台适合快速查询行情、证券资料和市场信息,也可以作为交叉核对的补充来源。

不过,网页字段和接口可能随产品调整而变化。用于长期研究时,仍然需要保存获取时间、字段说明和原始结果。

开源数据接口

AkShare 等开源项目可以帮助研究者快速获取和整理公开数据,适合原型验证和小规模实验。

但开源接口通常依赖上游网站。上游页面、字段或访问规则变化时,接口结果也可能随之变化。因此,使用接口不等于完成了数据验证,还需要检查实际来源、字段语义和异常处理方式。

不同来源各有价值。更稳妥的做法不是只问“哪个最好”,而是根据研究问题选择主来源,并用其他来源进行抽样核对。

为什么交易所数据仍然重要?

对于证券列表、上市状态和官方公告等基础事实,交易所网站通常是重要的核对入口。

中国内地股票研究常用的交易所入口包括:

这些页面适合查询和核对,但正式研究仍需要记录实际获取日期,并检查页面提供的是当前状态、历史记录还是公告索引。

官方数据也不一定自动满足回测需要。例如,当前股票列表可以回答“现在有哪些股票”,却不能单独还原“过去某一天有哪些股票”。从官方事实到历史研究数据,中间仍然需要整理、留存和验证。

怎样判断一份数据能否进入研究?

在开始计算以前,可以先做一份简化检查:

来源检查

  • 数据来自哪里;
  • 是原始披露、第三方整理,还是二次计算;
  • 获取时间和接口版本是否有记录。

完整性检查

  • 日期是否连续;
  • 是否存在重复记录;
  • 是否遗漏停牌、退市或历史证券;
  • 缺失值是没有数据,还是数值为零。

口径检查

  • 价格是否复权;
  • 成交量和成交额的单位是什么;
  • 证券代码和市场标识是否统一;
  • 日期代表交易日、公告日还是数据入库日。

时间检查

  • 研究时使用的信息在当时是否已经公开;
  • 后续修订是否覆盖了原始版本;
  • 股票范围和指数成分是否按历史时点还原。

复现检查

  • 原始文件是否保留;
  • 清洗规则是否有记录;
  • 程序、依赖和参数是否可以再次运行;
  • 更新数据后,能否解释结果为什么发生变化。

这份检查并不能保证数据完全没有错误,但可以让问题更早暴露,也能帮助研究者判断结论能够达到多高的可信度。

从数据来源到研究系统

一套长期可维护的数据流程,可以整理为:

text
提出研究问题

定义所需字段与时间口径

选择数据来源

保存原始数据和获取记录

校验、清洗与格式统一

生成带版本的研究数据集

统计分析与回测

使用新数据持续复核

这里的目标不是建立一个规模庞大的数据库,而是让每个研究结论都能追溯到具体数据和处理过程。

当结果出现异常时,我们可以沿着这条链路继续追问:

  • 是市场发生了变化;
  • 是数据源更新了历史记录;
  • 是清洗规则改变了;
  • 还是研究假设本身不成立。

只有能够区分这些原因,数据系统才真正服务于研究。

当前结论

投资研究不是从指标开始,而是从能够支撑指标的数据开始。

可靠的数据不只意味着来源权威,还意味着来源可追溯、历史尽量完整、统计口径一致、时间关系真实,并且研究结果可以重复验证。

不同来源可以承担不同角色:

  • 官方平台用于核对基础事实和原始披露;
  • 专业与互联网数据服务用于提高获取和整理效率;
  • 开源接口用于快速实验;
  • 自建数据流程用于保存版本、统一口径和复现研究。

这些来源不必相互替代。更重要的是根据问题选择数据,理解每个来源的边界,并对关键字段进行交叉验证。

明确这一点后,下一个问题就更具体了:

如果准备从官方来源建立市场基础数据,上海证券交易所提供了哪些入口,又应该怎样获取和保存这些数据?