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

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

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

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

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

数据层级 刷新频率 典型字段 我用它干嘛
逐笔成交 每笔更新 时间戳、价格、成交量、成交方向(买/卖/中性)、成交单号 看大单拆分、攻击速率
逐笔委托 每笔委托/撤单 委托时间、委托价格、委托量、委托方向、撤单标记 抓挂撤单节奏、冰山订单
五档快照 通常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。

相关推荐
Small-Young1 小时前
数据库乐观锁深度解析:MySQL、PostgreSQL 实战 + Spring Boot 集成指南
数据库·spring boot·mysql·postgresql·乐观锁·并发控制
浮生若城1 小时前
MySQL 数据库基础
数据库·mysql
香蕉大香蕉(06敬畏市场)1 小时前
MySQL 单点详解(09)
java·数据库·mysql·面试·八股·大厂实习
瀚高PG实验室1 小时前
瀚高数据库运行日志(错误日志)查看与分析方法
数据库·postgresql·瀚高数据库
snow@li1 小时前
PostgreSQL:PostgreSQL(PG)全景深度梳理
数据库·postgresql
java_nnnn2 小时前
Spring IoC & DI 从入门到理解:控制反转、依赖注入与 Bean 管理详解
数据库·sql·spring
瀚高PG实验室2 小时前
HGHAC集群版本升级
数据库·postgresql·瀚高数据库
品牌常新3 小时前
室外巡检机器人推荐:园区与厂区怎么选
数据库·人工智能·机器人
snow@li3 小时前
redis:RedisDesktopManager(RDM/RESP.app)Redis 数据可视化全景深度梳理
数据库·redis·缓存
lqbzlll3 小时前
MySQL 慢查询日志开了但看不懂?从 slow_query_log 到 EXPLAIN ANALYZE 一步步定位
数据库·mysql·adb