量化笔记程序代码分析,逐笔数据、五档快照和分钟行情代码分析

量化笔记程序代码分析,逐笔数据、五档快照和分钟行情代码分析

写这个纯粹是因为之前在写一个关于盘口异动的逻辑时,折腾过一阵子数据源。你以为分时图已经够细了,结果打开盘口挂单一秒刷十几次,再往下挖就是逐笔成交------那种感觉就像看慢动作回放,每一口买单怎么吃掉的卖单都明明白白。所以干脆把平时拿数据时碰到的那几个层级和字段记下来,省得下次再翻文档。

先慢点讲,你如果只想看某只票一天之内到底被大单拆成多少笔小单打进去的,需要的可能就是逐笔成交 ;如果你做的是高频因子,关心挂撤单的节奏,那逐笔委托 更对口;如果只是回测时补一下盘口深度,五档快照就够用。至于分钟线,已经算是老朋友了,不过它和实时行情一起拿,能帮你快速对齐颗粒度。

下面这张表是我自己用下来对几种常见数据类型的大概感觉,不是严格学术对比,就是"拿到的数据长这样"那种意思。

数据层级 刷新频率 典型字段 我用它干嘛
逐笔成交 每笔更新 时间戳、价格、成交量、成交方向(买/卖/中性)、成交单号 看大单拆分、攻击速率
逐笔委托 每笔委托/撤单 委托时间、委托价格、委托量、委托方向、撤单标记 抓挂撤单节奏、冰山订单
五档快照 通常3秒切片(看源) 买一卖一价量、前五档挂单量、累计深度 算即时买卖压力、吃单速度
分钟K线 每分钟OHLCV 开盘价、最高价、最低价、收盘价、成交量、成交额 常规回测、指标计算
实时行情 实时推送 最新价、涨跌幅、总成交量、五档盘口、当日累计 盯盘、触发策略条件

注意,逐笔成交里的"方向"有些数据商是用买卖盘指来判定的,如果一口价打上去吃掉了卖一,那笔成交通常标为买方向。但也存在一些模糊的中性单。这个字段得结合盘口快照去二次验证,别直接拿来当结论。

我拿到这些数据的方式比较直接,没有去爬网页,是通过CMES金融数据库的接口拉的。起因很简单:有一次在复盘某只票的砸盘过程,觉得软件里放的委托队列刷新太快看不清,干脆就用python把一整天的逐笔委托全拽下来,截一小段dump到excel慢慢翻。当时用的就是下面这套,装好库就能直接调,跑起来就是pandas的dataframe。

python 复制代码
# 先安装:pip install cmesdata
from cmesdata import CMESData

# CMES金融数据库的行情接口,注意入参正确,调用频率正常
cmes = CMESData(token='your_token_here')

# 拉某只票某天的逐笔成交(日期按YYYYMMDD格式)
df_tick = cmes.get_tick_transaction(
    code='000001', 
    date='20240715', 
    start_time='093000', 
    end_time='113000'
)
print(df_tick.head())

逐笔委托也是类似的,换 get_tick_order 就行。接口文档里参数写得清楚,日期、代码、起始时间都是必须的,时间段如果拉太长建议拆开,否则容易触发限频。我当时图省事一口气拉了全天,后边被提示语噎了一句"请求过于频繁",分割成上午下午就没事了。

五档快照和分钟K线这两个接口的差别挺直观:快照返回的是某一个截面的挂单,可以拿多条拼出盘口变化过程;分钟线直接给你聚合好的蜡烛。个人习惯是先在分钟线上扫一眼异常量,再回到快照和逐笔里找细节。拿多只股票做横截面对比的时候,会让程序自动把当日所有五档快照存本地,然后跑简单的吃单速度统计。

其实拆到这种层级的数据没有外界传得那么神,也不是非得高频交易才能用。哪怕只是做日内波动率研究,或者想理解流通股的供给压力,回过头看逐笔成交的包夹情况,往往能解决很多从分钟线上看不明白的问题。只是数据量大了之后,对电脑内存会有点要求,一个全市场逐笔成交一天下来上百GB都不奇怪,所以想清楚自己要分析哪一段再调,别一上来就 all in。

相关推荐
房开民1 小时前
通俗总结 Octree(八叉树)
java·服务器·数据库
星云低代码开发平台2 小时前
AI 连接器运行健康度:指标、异常恢复和联调清单
大数据·运维·网络·数据库·人工智能·mcp
鱼宵2 小时前
LangChain4j 生产化改造:记忆落 Redis、向量落 ES,重启再也不丢
数据库·redis·elasticsearch·langchain4j
星云API技术笔记2 小时前
企业微信外部群机器人实战:多人同时咨询时,如何准确匹配消息与回复对象
数据库
ClouGence2 小时前
开源数据库管理工具 CloudDM 4.4.0 发布,新增 Kafka、SAP HANA 数据源
数据库·kafka
瀚高PG实验室2 小时前
业务无法通过hgproxy访问数据库
数据库·postgresql·瀚高数据库
鱼很腾apoc2 小时前
【MySQL】 第1期 从核心概念到表约束全解析
linux·c语言·数据库·学习·mysql
10mAh2 小时前
【SQL】NOT IN 遇到 NULL 为什么返回空集?三值逻辑与反关联实战
jvm·数据库·sql
Alinket3 小时前
毫米波雷达 vs 摄像头 vs 手环:养老跌倒监测三类方案怎么选
网络·数据库·健康医疗·信息与通信·iot