研究方法 数据来源

第 1 章

数据来源与覆盖范围

回测结果的可靠程度,取决于所使用的数据质量。本章详细说明我们的市场数据来自哪里、如何进行验证,以及每份报告所涵盖的范围。

1. 我们收集的数据类型

我们的回测依赖三大类市场数据。每一类数据均独立获取、验证和存储,以避免交叉污染造成的错误。

OHLCV 价格数据

主要回测数据源

来自经核实的交易所数据源的每日开盘价、最高价、最低价、收盘价和成交量数据。这是每一项信号计算和交易模拟所使用的核心数据。

  • ● 复权收盘价(已按拆股和分红调整)
  • ● 未复权收盘价(供参考)
  • ● 以股数和成交金额计算的每日成交量
  • ● 提供时包含成交量加权平均价(VWAP)
  • ● 部分策略使用的日内数据(1 分钟、5 分钟、15 分钟、每小时)

指数与基准数据

表现比较

用于基准比较、Beta 计算和市场状态识别的指数点位与成分股权重。我们跟踪 12 个国家和地区的 30 多个主要指数。

  • ● 恒生指数(HSI)及其分类指数
  • ● S&P 500、NASDAQ-100、Russell 2000
  • ● MSCI World、MSCI Emerging Markets
  • ● FTSE 100、DAX 40、CAC 40
  • ● Nikkei 225、TOPIX、Kospi

另类数据

市场背景与状态信号

用于市场状态分类、波动率背景和策略筛选的补充数据集。不会直接用于交易信号,仅作为市场环境背景参考。

  • ● VIX 及各地区波动率指数
  • ● 国债收益率曲线(美国、香港、日本)
  • ● 行业 ETF 相对资金流向
  • ● 财报日历及除息日期
  • ● 央行利率决议

2. 交易所与市场覆盖范围

我们为以下交易所维护经核实的数据源。各市场的覆盖深度不一——香港和美国市场拥有最完整的历史数据。

交易所 市场 历史年限 覆盖规模 级别
HKEX 香港股票 20+ 年 2,500+ 个代码 主要
NYSE 美国股票 20+ 年 3,000+ 个代码 主要
NASDAQ 美国股票 20+ 年 3,500+ 个代码 主要
TSE(日本) 日本股票 15+ 年 3,800+ 个代码 次要
LSE 英国股票 15+ 年 2,000+ 个代码 次要
SSE / SZSE 中国 A 股 10+ 年 5,000+ 个代码 次要
ASX 澳大利亚股票 10+ 年 2,200+ 个代码 次要
SGX 新加坡股票 10+ 年 700+ 个代码 次要
HKEX Crypto 香港上市加密货币 ETF 3+ 年 15+ 个代码 新兴
CME/COMEX 美国期货(商品) 15+ 年 主要合约 次要

3. 公司行动调整

原始价格数据会受到公司行动的扭曲。一只股票在 1 拆 5 之前的股价为 HK$10,数据上看起来像是一夜之间下跌了 80%——但实际上并没有任何损失。使用未经调整的数据进行回测,会得出完全错误的结果。我们会对所有历史价格序列进行追溯调整,涵盖以下各项。

拆股与合股

当公司进行拆股(例如 2 拆 1)时,历史价格序列会按拆股比例调整,使图表呈现连续且可比较的价格历史。

示例:2 拆 1 → 拆股前所有价格除以 2。

分红调整

现金分红会在除息日造成股价瞬间下跌,而这与策略表现无关。我们使用将分红再投资的总回报复权价格。

示例:每股分红 HK$0.50 → 除息日之前的价格减去 HK$0.50。

配股与融资

以折价进行的配股会因股权稀释而导致股价下跌。这些影响会被调整剔除,以免在除权日出现错误的卖出信号。

示例:配股折价 30% → 对历史数据应用调整因子。

合并、收购与退市

当公司被收购或退市时,我们会记录最后成交价,并将该代码标记为已终止。已退市的代码仍保留在历史样本中。

示例:以每股 HK$15 被收购 → 记录最后一笔交易,代码关闭。

4. 数据验证流程

原始数据源存在各种错误:缺失的 K 线、极端异常值、零成交量日期以及时间戳不一致。数据在进入我们的回测引擎之前,必须通过六个阶段的自动化验证流程。

01

导入与去重

所有传入记录都会使用复合键(代码 + 日期)与现有记录比对。因数据源冗余而产生的重复行会被丢弃。每个交易日每个代码只会生成一条 OHLCV 记录。

02

OHLC 一致性检查

我们会核实 H ≥ max(O,C)、L ≤ min(O,C),且所有数值均为正数。未通过此测试的 K 线会被标记以供人工复核。每年约有 0.02% 的原始 K 线未能通过此项检查——通常是数据源错误所致。

03

异常值检测

单日价格变动超过 ±50% 时,系统会自动与交易所公告进行比对。如果没有任何公司行动可以解释该变动,该 K 线将被隔离。这样可以拦截录入错误和数据源故障。

04

成交量合理性检查

零成交量的日期会与交易所交易日历交叉核对。真正的市场休市日会被接受;如果在已确认的交易日出现零成交量,则会标记为潜在数据缺口。我们会尽可能从次要数据源补全数据。

05

连续性与缺口分析

我们会核实每个代码在所述回测期间内的数据是否连续。连续超过 5 个交易日的缺口(不包括已知的交易所休市)会记录在报告的脚注中。

06

调整因子验证

应用公司行动调整后,我们会检查所得的复权价格序列是否仍存在阶跃式跳变。任何无法用已知事件解释的不连续情况,都会触发使用备用数据源的第二轮修正。

5. 更新频率与数据时效

报告使用截至特定截止日期的数据进行回测,并清楚列明于每份报告的页首。我们的数据流程按以下时间表运行:

自动化流程时间表

每个交易日 所有主要市场(香港、美国)的每日收盘 OHLCV 数据
每个交易日 分红及拆股公告解析
每周 次要市场(欧洲、日本、澳大利亚、新加坡)
每周 另类数据更新(VIX、收益率曲线)
每月 样本范围再平衡——加入新上市标的、标记已退市标的
每季度 全面数据审计——与次要数据源交叉验证

报告数据披露

每份发布的报告均包含数据披露部分,列明:

数据截止日期(包含的最后一个交易日)
数据供应商名称
任何已知的数据缺口或剔除项目
调整方法(总回报与价格回报)
样本范围定义(指数成分股与整体市场)