3. Level2 行情数据源:交易所授权数据、第三方数据商与 API

Level2 行情数据的获取是量化策略开发的起点。不同数据源在延迟、字段完整性、历史回溯深度、合规授权与成本上存在显著差异。本章系统梳理三大主流数据源路径,帮助策略开发者根据自身场景做出合理选择。

3.1 数据源全景对比

数据源类型 典型代表 数据延迟 历史数据深度 合规授权 成本
交易所授权数据 上交所 L1/L2、深交所 L1/L2 实时(毫秒级) 仅实时,无历史 需交易所授权 高(年费 + 席位费)
第三方数据商 万得、聚宽、通联数据 准实时(秒级) 5-10 年 Tick 级 数据商统一授权 中(按年/按量)
数据接口与 API CTP、XTP、UFT、MDGW 实时(微秒级) 有限(通常仅当日) 需期货/券商柜台 低(按流量/免费)
关键判断: 策略回测依赖第三方数据商的历史 Tick 库;实盘交易依赖 API 接口的低延迟推送;交易所授权数据主要用于合规展示与深度盘口分析。

3.2 交易所授权数据

上海证券交易所与深圳证券交易所分别提供 Level1(3 秒快照)与 Level2(逐笔成交 + 十档行情)数据。获取方式包括:

  • 上证信息公司:提供 SSE Level2 行情授权,需申请专线或 VPN 接入。
  • 深证信息公司:提供 SZSE Level2 行情授权,支持 MDGW 协议接入。
  • 数据内容:逐笔成交、逐笔委托、十档买卖盘、加权平均委买委卖、总买总卖等。
  • 限制:不提供历史数据存储,仅实时推送;需自行搭建接收与存储系统。
实践建议: 交易所授权数据适合机构级高频策略,需配备专用服务器、低延迟网卡与行情解码库。个人开发者通常不直接申请交易所授权,而是通过第三方数据商间接获取。

3.3 第三方数据商

第三方数据商是量化策略回测与研究的核心数据来源。它们从交易所获取原始数据后,进行清洗、对齐、存储并提供 API 或文件下载。

数据商 Level2 覆盖 历史 Tick 深度 获取方式 典型用户
万得 (Wind) 沪深全量 2010 年起 Wind 终端 / API 券商、基金、私募
聚宽 (JoinQuant) 沪深全量 2013 年起 JQData API / 本地下载 个人量化、中小私募
通联数据 (DataYes) 沪深全量 2010 年起 REST API / Python SDK 量化研究、资管
RiceQuant 沪深全量 2014 年起 RQData API 个人、教育
注意: 不同数据商对同一只股票同一时刻的 Tick 数据可能存在毫秒级时间戳差异,回测时需统一对齐。建议在回测框架中内置数据源适配层,避免硬编码。

3.4 数据接口与 API

实盘交易场景下,策略需要通过 API 接口直接接收交易所行情。主流接口包括:

  • CTP(综合交易平台):上期所旗下,支持期货与期权 Level2 行情,C++ API,延迟极低。
  • XTP(极速交易平台):中泰证券出品,支持 A 股 Level2 行情,C++/Java API。
  • UFT(统一快速交易平台):华泰证券,支持沪深 Level2,低延迟架构。
  • MDGW(行情数据网关):深交所官方行情网关,支持 Level2 逐笔数据。
// CTP 行情订阅示例(伪代码)
CThostFtdcMdApi* pMdApi = CThostFtdcMdApi::CreateFtdcMdApi();
pMdApi->RegisterSpi(&g_MdSpi);
pMdApi->RegisterFront("tcp://180.168.146.187:10010");
pMdApi->Init();

// 订阅合约
char* ppInstrumentID[] = {"600519.SH", "000001.SZ"};
pMdApi->SubscribeMarketData(ppInstrumentID, 2);
API 选择原则: 高频策略优先选择 C++ API(CTP/XTP);中低频策略可使用 Python 封装版(如 vnpy、xtquant);回测研究优先使用第三方数据商的 Python SDK。

3.5 数据源架构关系

下图展示了从交易所原始数据到策略终端的完整数据流转路径,以及三类数据源在其中的位置与作用。

Level2 行情数据源架构图 Level2 行情数据源架构关系 交易所行情源 交易所授权数据 第三方数据商 数据接口 / API 策略终端(回测 / 实盘 / 监控) 说明: 交易所授权数据 → 实时快照,无历史,适合合规展示与深度盘口分析。 第三方数据商 → 历史 Tick 库 + 准实时推送,适合回测与中低频策略。 数据接口 / API → 微秒级实时推送,适合高频实盘交易。

3.6 数据源选择决策流程

根据策略类型与资源条件,推荐以下选择路径:

  1. 回测研究阶段:优先选择第三方数据商(聚宽/通联),获取 5-10 年历史 Tick 数据,使用 Python SDK 快速验证策略。
  2. 模拟交易阶段:使用第三方数据商的准实时 API 或券商提供的模拟行情接口,验证策略在准实时环境下的表现。
  3. 实盘交易阶段:根据策略频率选择:
    • 中低频(分钟级):第三方数据商实时推送 + 券商交易 API。
    • 高频(秒级/毫秒级):CTP/XTP/UFT 等低延迟 API,搭配本地行情解码与存储。
  4. 合规展示:交易所授权数据用于生成合规的十档盘口、逐笔成交展示页面。
最佳实践: 建议在策略框架中设计数据源抽象层,将数据获取与策略逻辑解耦。这样可以在回测时使用第三方数据商,实盘时无缝切换为 API 接口,无需修改策略核心代码。