大家好,欢迎来到我的量化手记。
很多刚接触量化交易的同学,第一反应都是去画 K 线图。但随着学习的深入,你会发现 K 线图丢失了太多细节。如果你想研究更高级的交易策略,比如“高频套利”或者“做市策略”,你就必须掌握Tick 数据。
什么是 Tick 数据?
简单来说,Tick 就是交易所发出的每一笔“快照”。如果说 K 线是电影的剧情梗概,那么 Tick 就是电影的每一帧画面。
新手面临的挑战
很多同学问我:“老师,我想抓 Tick 数据,但是交易所的 API 文档太难懂了,而且数据量太大,一跑程序就死机,怎么办?”
这很正常。处理海量、高频的数据,本身就是一道技术门槛。我们需要解决两个问题:
怎么拿? 需要一个稳定的数据源。
怎么存? 需要合理的代码逻辑。
一种轻松上手的方案
对于初学者,我不建议大家一上来就去啃交易所的原始接口。我们可以利用一些封装好的 API 服务来降低难度。
这里我演示一种利用通用接口(如 AllTick)来获取数据的方案。它的优点是简单直接,不用你去处理复杂的鉴权和网络协议,非常适合用来练手和搭建个人数据库。
手把手代码教学
下面这段 Python 代码,演示了如何“分页”拉取数据。请注意看我是如何处理返回的 JSON 数据的,这是量化工程师的基本功:
import requests
API_KEY = "YOUR_API_KEY"
BASE_URL = "https://api.alltick.co/v1/market/tick/history"
params = {
"symbol": "AAPL.US",
"market": "US",
"start_time": "2024-01-02 09:30:00",
"end_time": "2024-01-02 09:31:00",
"limit": 1000
}
headers = {
"Authorization": f"Bearer {API_KEY}"
}
resp = requests.get(BASE_URL, params=params, headers=headers)
data = resp.json()
for tick in data.get("data", []):
ts = tick["timestamp"]
price = tick["price"]
volume = tick["volume"]
print(ts, price, volume)给同学们的作业
代码跑通后,你会在控制台看到一行行飞速跳动的价格和时间戳。这就是市场的脉搏。
建议大家试着把这些数据存入 CSV 文件,然后用 Pandas 打开分析一下:在这一分钟内,到底发生了多少笔交易?买单多还是卖单多?当你开始思考这些问题时,恭喜你,你已经迈出了从程序员向宽客(Quant)转型的关键一步!

随时随地看视频