
1) 【一句话结论】高频策略的实时数据源分为交易所直连API(提供原始逐笔/分时数据,延迟低)和第三方行情数据提供商(提供加工后的行情/财务数据,延迟较高),需通过合规接口获取,并通过技术手段(如延迟监控、数据校验)确保合规性与时效性,选择时需结合策略对原始数据的需求。
2) 【原理/概念讲解】高频策略中,实时数据源的核心是“原始数据”与“加工数据”的获取。
3) 【对比与适用场景】
| 类别 | 定义 | 数据类型 | 时效性 | 获取方式 | 使用场景 | 注意点 |
|---|---|---|---|---|---|---|
| 交易所API | 交易所官方数据接口 | 原始逐笔成交、分时行情 | 毫秒级 | HTTP/HTTPS(带密钥) | 需原始数据的高频策略(做市、套利) | 需交易所授权,数据量巨大,处理复杂 |
| 行情数据提供商 | 第三方机构加工数据 | 加工后的K线、财务指标 | 秒级/分钟级 | 订阅API/数据文件 | 策略回测、基本面分析、多因子模型 | 数据延迟,加工误差,需验证 |
4) 【示例】以深圳交易所API获取股票“000001”实时逐笔成交数据为例(伪代码):
import requests
import time
def get_shenzhen_realtime_data(sec_code, start_time, end_time):
url = f"https://api.sse.com.cn/trade/realtime?sec_code={sec_code}&start_time={start_time}&end_time={end_time}&key=your_api_key"
try:
response = requests.get(url, timeout=5)
response.raise_for_status()
data = response.json()
trades = data.get('trades', [])
return trades
except Exception as e:
print(f"请求失败: {e}")
return None
if __name__ == "__main__":
sec_code = "000001"
start_time = "2024-01-01 09:30:00"
end_time = "2024-01-01 09:30:05"
trades = get_shenzhen_realtime_data(sec_code, start_time, end_time)
if trades:
print("实时逐笔成交数据:", trades)
(注:实际接口URL、参数需按交易所官方文档调整,示例为简化版)
5) 【面试口播版答案】高频策略的实时数据源主要分为交易所直连API和第三方行情数据提供商。交易所API(如深圳、上海交易所的官方接口)能获取原始逐笔成交、分时行情等数据,延迟低(毫秒级),适合需要低延迟决策的策略(如做市、套利);第三方如Wind、同花顺提供加工后的行情数据(含K线、财务指标),延迟较高(秒级),适合策略回测或基本面分析。为确保合规性,需通过交易所授权的合规接口获取数据,签署数据使用协议,遵守数据传输和存储的合规要求;时效性方面,交易所API通过实时流式传输(如WebSocket)减少延迟,第三方数据通过定时更新(如每秒/分钟)保证数据新鲜度,同时通过数据校验(如与交易所数据比对)确保数据准确性。
6) 【追问清单】
7) 【常见坑/雷区】