美股和港股的量化笔记-从下载逐笔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. 合规性:在公开平台分享策略时,注意只展示思路和逻辑,不要透露具体的数据接口密钥、原始数据切片等敏感信息,各平台对金融数据的分享都有审核规则。

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

相关推荐
老当益壮梁奶奶2 小时前
51单片机DS18B20温度传感器详解:单总线时序与C51驱动实现
笔记·stm32·单片机·嵌入式硬件·51单片机
小叶肥辉2 小时前
LangChain链和LangGraph图的学习笔记【三】——分别用langchain_openai库和langchain_community库调用大模型
笔记·python·langchain
从零开始的嵌入式之旅4 小时前
day44
arm开发·经验分享·笔记·嵌入式硬件
商业白皮书7 小时前
杭州企业做 GEO 怎么选服务商?B2B 制造、外贸出海与品牌连锁选型指南
笔记
商业白皮书7 小时前
密不透风的瑕疵防线:东集SEV400视觉传感器,定义“轻量化”精准检测
笔记
梦帮科技9 小时前
RNS 代币架构:ERC20 五件套扩展与六钱包分配
人工智能·sql·区块链·database·合成复用原则·加密货币
谢白羽10 小时前
MiniMax-H3 : 4卡 H20-3e一套权重部署实践/8卡H200部署优化实测
笔记·llm·论文·大模型部署·sglang
志尊宝10 小时前
Vue3 零基础每日笔记(024):组件的创建与使用——从 import 到自动导入
前端·vue.js·笔记·前端框架·html5
磐链科技10 小时前
区块链DApp开发部署篇:多链上线、Gas优化与运营监控
区块链·智能合约
Web3李李10 小时前
Meme 币绑定美股:Robinhood Chain 掀起链上传统市场新实验
web3·区块链·软件开发·dapp·robinhood chain·meme 币