2. 数据基础

历史数据回放与规则策略仿真的可信度,首先取决于数据基础是否扎实。很多策略在回测中表现优异,实盘却迅速失效,根源往往不在规则逻辑,而在数据本身:类型选错、来源混淆、频率错配、字段理解偏差,或数据质量未经验证。本节围绕数据类型、来源、频率、字段含义与质量评估五个维度,建立可落地的数据基础方法论。

一、核心原理:数据是仿真的“物理约束”

回放仿真的本质,是在历史时间轴上重演信息到达与决策执行的过程。数据在这里不是背景素材,而是约束条件:它决定了策略能看到什么、何时看到、以什么精度看到。因此,数据基础的核心原理可以概括为三点:

  • 时序一致性:任何字段都必须带有明确的时间语义,包括事件时间、采集时间与可用时间。若忽略“可用时间”,就会引入未来函数。
  • 粒度匹配性:策略决策频率与数据频率必须匹配。用日频数据仿真日内规则,或用逐笔数据仿真周频调仓,都会造成失真。
  • 语义可解释性:字段含义必须可追溯、可验证。价格是成交价还是中间价?成交量是单边还是双边?这些差异会直接改变策略盈亏。

关键判断:在回放系统中,数据质量问题的破坏力通常大于规则逻辑错误。因为逻辑错误容易通过复盘发现,而数据错误往往被“合理”的盈亏结果掩盖。

二、数据类型、来源与频率:建立数据地图

金融与业务数据可按结构分为三类:结构化数据(行情、财务、订单表)、半结构化数据(日志、JSON报文、公告文本)、非结构化数据(新闻、研报、语音)。回放仿真主要依赖结构化数据,但半结构化数据常用于事件驱动规则。

按来源划分,常见包括:交易所行情、券商柜台、第三方数据商、企业内部业务系统、公开网络数据。不同来源的可靠性与延迟差异显著,必须在数据字典中标注。

频率方面,从低到高依次为:低频(日、周、月)、中频(分钟、小时)、高频(秒级、逐笔、快照)。频率越高,数据量越大,对存储与回放引擎的要求也越高。

数据类别 典型来源 常见频率 回放关注点
行情快照 交易所、数据商 3秒、1秒、逐笔 时间戳对齐、买卖盘口重建
成交明细 交易所 逐笔 成交方向、撤单识别
财务数据 上市公司公告 季度、年度 公告可用时间、追溯调整
业务订单 企业内部系统 实时、日批 状态流转、字段口径
宏观指标 统计部门、数据商 月、季 发布延迟、修订版本

三、字段含义:从“有数据”到“懂数据”

字段含义是数据基础中最容易被低估的环节。以行情数据为例,同一列“price”可能是最新成交价、买一价、卖一价或中间价;同一列“volume”可能是单边成交量或双边成交量。若不在数据字典中明确,回放结果将不可比。

建议为每个字段建立最小元数据描述,至少包含:字段名、业务含义、数据类型、单位、精度、空值规则、时间语义、来源系统。例如:

字段名: last_price
业务含义: 最新成交价
数据类型: decimal(18,4)
单位: 元
空值规则: 集合竞价前为空
时间语义: 交易所事件时间
来源系统: 交易所行情网关

在规则策略中,字段含义直接影响信号计算。例如“涨跌幅”若基于前收盘价,需确认前收盘是否经过除权调整;“换手率”若基于流通股本,需确认股本数据是否为最新。任何口径不一致,都会在回放中放大为系统性偏差。

四、数据质量评估方法:可执行的检查清单

数据质量评估不是一次性工作,而应嵌入数据接入与回放前准备流程。推荐从完整性、准确性、一致性、时效性、唯一性五个维度展开,并形成可自动化的检查清单:

  1. 完整性:检查时间序列是否存在缺口,字段空值率是否超过阈值。
  2. 准确性:抽样比对不同来源,验证价格、数量是否在合理区间。
  3. 一致性:检查同一实体在不同表中的编码、口径是否统一。
  4. 时效性:验证数据到达时间是否晚于策略可用时间,避免未来函数。
  5. 唯一性:检查主键是否重复,防止回放时重复触发规则。

实操建议:将质量检查脚本化,每次回放前自动运行,输出质量报告。报告应包含异常记录数、异常比例、影响范围与建议处理方式。

常见误区:只检查“有没有数据”,不检查“数据对不对、什么时候可用”。很多回测中的“稳定盈利”,其实来自使用了未来才发布的数据。

五、案例与复盘:一次频率错配导致的仿真失真

某团队用日频收盘价回放日内突破规则,结果回测收益极高。复盘发现:规则在日内触发,但回放引擎只在每日收盘时读取价格,导致所有触发都被延迟到收盘执行,实际成交价与真实盘中价格严重偏离。修正方法是引入分钟级行情,并按事件时间逐笔推进。修正后收益大幅回落,但更接近真实。

该案例说明:数据基础不是“准备数据”这么简单,而是要与规则的时间语义严格对齐。频率、字段、来源三者必须形成闭环验证。

回放前检查命令示例:
python check_data_quality.py \
  --input data/market_1min.csv \
  --time-col timestamp \
  --price-col last_price \
  --volume-col volume \
  --report reports/quality_report.json

综上,数据基础决定了回放仿真的上限。建立清晰的数据地图、严格的字段字典与自动化的质量评估流程,是后续规则策略仿真可信的前提。