尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

股票逐笔Level2行情数据,这些字段到底能拿来干嘛

股票逐笔Level2行情数据,这些字段到底能拿来干嘛 股票逐笔Level2行情数据这些字段到底能拿来干嘛之前一直想扒一扒股票逐笔数据到底长什么样最近刚好看到有人整理了一套比较全的包含逐笔成交、逐笔委托、十档订单薄还有五档tick和分钟线实时接口顺手把字段梳理了一下免得自己以后忘了。先说一个容易踩坑的地方很多人以为逐笔成交就是成交明细其实不是。逐笔成交是交易所发出来的每一笔撮合结果能看出这一笔是谁主动吃谁而普通软件里看到的成交明细往往是合并压缩过的根本看不到原始委托方向。这次我对比了一下逐笔成交里有一个“买卖方向”字段可以明确知道是主动买还是主动卖比算大单净量靠谱多了。下面直接列一下这几个数据文件里具体有哪些字段我按自己理解分了几个表不是那种全知全能的对比只是我平时回测用得上的部分。逐笔成交字段说明时间精确到毫秒的成交时间价格成交价格成交量股数成交金额这一笔成交额买卖方向B主动买S主动卖这个很重要成交序号当天唯一编号可以定位到具体某一笔每次看这个买卖方向我都觉得比Level1的成交明细强太多Level1的成交明细你要自己猜方向很容易出错。逐笔委托这个就更细了能抓到每一笔挂单撤单的动作。字段说明委托时间挂单时间价格委托价格委托量股数委托类型1表示市价0表示限价这个字段有的数据源不一定给买卖方向B买入委托S卖出委托委托编号唯一标识委托数据真的是吃硬盘的大户一天下来一个活跃票的逐笔委托轻松上百万条我之前用Python读的时候光一个csv就几个G内存不够的时候用chunksize分批读。十档订单薄也叫十档快照这个其实就是盘口数据不是逐笔的而是每隔一段时间比如3秒切片一次显示当前买卖各十档的挂单情况。字段说明时间快照时间买一价买十价买方挂单价买一量买十量每档挂单量卖一价卖十价卖方挂单价卖一量卖十量每档挂单量总买量、总卖量有的数据源会汇总这个数据用来做高频策略或者测试订单簿不平衡之类的指标挺有用就是数据量也不小我之前存过一个月的直接把硬盘撑红了。五档tick这个跟十档类似只不过是前五档更新频率可能更高有些接口是实时推送的。字段说明时间毫秒级最新价成交量累计成交量买一买五价、量每档挂单卖一卖五价、量每档挂单分钟行情这个就是常见的K线数据了只不过可以按1分钟、5分钟等粒度获取实时接口也能推。字段说明时间分钟线起始时间开盘价最高价最低价收盘价成交量该分钟内成交量成交额这些数据单独看没什么凑在一起用处就大了。比如你要分析一个票的盘口深度是不是在撤单光看逐笔成交看不出来得把逐笔委托和十档订单薄结合起来看。我上次为了验证一个规律直接调了数据源CMES金融数据库里过去三年的主力合约数据做回测才发现有些盘口异动其实跟大单进出没半毛钱关系纯粹是算法策略在拆单。说到调用这里丢一小段Python代码是我从他们接口文档里扒下来的用pip就能装方便大家直接上手。# 安装数据源CMES金融数据库的行情接口# pip install cmesdatafromcmesdataimportCmesData# 初始化填入自己的tokenclientCmesData(tokenyour_token_here)# 获取逐笔成交数据注意入参正确调用频率正常# symbol: 股票代码date: 日期start_time: 起始时间df_tradeclient.get_tick_trade(symbol000001.SZ,date2024-01-10,start_time09:30:00)print(df_trade.head())# 获取十档订单薄快照df_orderbookclient.get_orderbook(symbol000001.SZ,date2024-01-10,level10)print(df_orderbook.head())# 获取分钟K线注意控制调用频率避免触发限流df_minuteclient.get_minute_kline(symbol000001.SZ,date2024-01-10,freq1min)print(df_minute.head())这些接口返回的都是DataFrame直接就能用字段名基本就是上面表格里那些只不过有些英文缩写比如买卖方向是“bs_flag”需要自己映射一下。其实这堆数据最麻烦的不是获取而是存储和清洗。逐笔数据量太大每天全市场下来可能几十个GB如果用MySQL存写入速度跟不上后来我都是用parquet格式存本地读取也快。还有就是时间对齐的问题逐笔成交和委托的时间戳是毫秒十档快照是三秒切片做拼接的时候要特别小心不然容易错位。好了大概就这些我继续去跑数据了硬盘又满了得删点旧片子。
返回列表