美股和港股的量化笔记-从下载逐笔tick到合成分钟

做量化回测,选对数据源和数据类型真的太重要了,搞不好就是白忙活一场。今天就来聊聊我平时会用到的几种高频数据,主要是美股和港股的,看看它们里面到底有什么,应该怎么用。

先从最"重"的Tick数据说起

这玩意儿是硬盘杀手,真不是开玩笑的。Tick数据,也叫逐笔成交,就是交易所每发生一笔成交就记录一次。它记录的是最原始的交易行为。

我一般会关注这几个核心字段:

字段 说明(我自己的理解)
symbol 股票代码,这个不用多说。
time 成交时间,通常精确到毫秒甚至微秒。市场微观结构研究就靠这个了。
price 成交价格。
volume 成交数量。注意,这里是一笔的成交量,不是累计的。
turnover 成交金额,就是 price * volume。
bs_flag 买卖方向标识。这个很重要,能看出是主动性买盘还是卖盘推动的成交,分析资金流向的核心。

新手千万别一上来就怼着几年的Tick数据跑回测,光是数据清洗和存储就能劝退。我之前为了研究订单薄动态,尝试用免费的原始数据,结果光是处理停牌、除权除息这些脏活就花了一周。后来图省事,直接用了CMES金融数据库里已经清洗和复权好的版本,虽然要花点积分,但省下的时间成本更值。

十档行情(Level 2)

如果说Tick是"成交"的明细,那十档行情就是"挂单"的快照。它定时(比如每秒多次)拍下市场上最好的十个买价和卖价,以及每个价位上挂了多少手单子。

它最有价值的地方是能让你看到盘口深度,而不仅仅是买一卖一。比如,有时候股价在关键位置横盘,你看买一挂单量很大,以为是强支撑,但一看十档,发现卖二到卖五的累积压单更重,这可能就是个假象。

主要字段包括快照时间、十个买卖价位和对应的挂单量。很多短线策略,比如捕捉流动性瞬间消失,或者估算大单冲击成本,都离不开这个。

分钟线数据:回测的好朋友

对于大多数策略回测来说,分钟线是性价比最高的选择。它把Tick数据按分钟做了聚合,信息量大幅压缩,但保留了日内走势的关键细节。

一分钟K线通常包含:时间(哪一分钟)、开盘价、最高价、最低价、收盘价,以及这一分钟内的总成交量和成交额。

如果你想做日内趋势或者均值回复策略,用分钟线数据就足够了。比如,我之前想验证一个基于开盘后30分钟波动率的突破策略,就是调取了过去几年的港股分钟线,跑起来效率很高。

美股和港股有啥不同?

数据字段大同小异,但规则细节要注意。比如,美股没有涨跌停板,波动更连续,Tick数据会更密集。港股交易时段和规则也和A股不同,数据的时间戳处理要留意。

这里给个用Python接口获取数据的简单例子,接口文档在他们官网都能找到。用之前记得先pip install一下。

python 复制代码
# 示例:获取港股腾讯控股的分钟线数据
# 注意:需要先在CMES金融数据库官网获取API Key和Secret
import cmes_data

# 初始化客户端,注意替换成你自己的密钥
client = cmes_data.Client(api_key='你的API_KEY', api_secret='你的API_SECRET')

# 请求数据,注意参数别写错,频率别调太高,小心被限流
data = client.get_bar_data(
    symbol='00700.HK',  # 股票代码
    frequency='1m',     # 频率:1分钟
    start_time='2024-05-20 09:30:00',
    end_time='2024-05-20 16:00:00',
    adjust='qfq'        # 前复权
)

print(data.head())
# 通常返回DataFrame,包含时间、开高低收、成交量等字段

最后碎碎念几句

  1. 数据量:Tick > 十档 > 分钟线。选数据前先评估自己的硬件和需求。
  2. 数据质量:时间戳是否连续?是否有异常值(比如价格为零)?是否做了复权处理?这些直接影响回测结果。自己清洗很痛苦,所以我现在倾向于用现成的清洗好的数据源。
  3. 合规性:在公开平台分享策略时,注意只展示思路和逻辑,不要透露具体的数据接口密钥、原始数据切片等敏感信息,各平台对金融数据的分享都有审核规则。

大概就这些了。数据本身只是原料,关键还是看你的策略想法。不过,用好原料确实能少走很多弯路。如果大家对处理高频数据有什么心得,或者知道怎么高效压缩存储,欢迎聊聊,我最近正为这个头疼呢。

相关推荐
LinXunFeng3 天前
Obsidian - 使用 Share Note 分享笔记并自部署
前端·笔记·github
闪闪发亮的小星星7 天前
高斯光以及高斯光公式解释
笔记
cqbzcsq7 天前
CellFlow虚拟细胞论文阅读
论文阅读·人工智能·笔记·学习·生物信息
m0_380167147 天前
面向开发者的Top10加密货币数据API(2026年最新)
大数据·人工智能·区块链
阿米亚波7 天前
【Windows】QEMU 启动 openEuler aarch64/arm64 架构系统 + 离线软件源
linux·windows·经验分享·笔记·架构·arm
自传.7 天前
尚硅谷 Vibe Coding|第三章(1) Claude Code深度使用与进阶技巧 学习笔记
笔记·学习·尚硅谷·vibecoding
.千余7 天前
【C++】模板进阶全解:非类型参数|全特化|偏特化|分离编译完全指南
开发语言·c++·笔记·学习·其他
自传.7 天前
尚硅谷 Vibe Coding|第二章 AI编程工具生态 学习笔记
笔记·学习·ai编程·尚硅谷·vibe coding
秋波。未央7 天前
Java Agent 开发 · Day 1 学习笔记(含作业完整标准答案)
java·笔记·学习
中屹指纹浏览器7 天前
2026指纹浏览器字体指纹、字体渲染偏差检测与全维度虚拟字体池搭建方案
经验分享·笔记