TickData解读

参考:上海证券交易所LDDS系统Level-1 FAST行情接口说明书、上海证券交易所LDDS系统竞价Level-2行情接口说明书(来自https://www.sseinfo.com/services/assortment

行情快照与逐笔数据

上交所的LDDS(Low Latency Data Distribution System)系统发布两个层面的行情:Level1行情和Level2行情。

Level1行情在交易日的8:30~15:30之间推送

  • 集合竞价期间提供证券代码、证券简称、前收盘价格、虚拟开盘价、虚拟匹配量、虚拟未匹配量和虚拟未匹配量的剩余方向。
  • 连续竞价期间提供证券代码、证券简称、前收盘价格、最新成交价格、当日最高成交价格、当日最低成交价格、当日累计成交量、当日累计成交金额、实时最高五个买入申报价格和数量、实时最低五个卖出申报价格和数量。

Level1行情3s更新一次,拿到的实际上是市场在当前这个时刻的快照(snapshot)。

Level2行情包含了快照类数据和逐笔成交类数据

  • 快照类数据:仍然是3s更新一次,但是相比于Level1行情
    • 提供买卖方十个价位的价格、股数和委托笔数信息
    • 同时提供第一档位的前50笔订单的委托量,揭示买卖双方行为细节
  • 逐笔成交类数据:在连续竞价阶段,推送竞价逐笔合并数据,最小时间间隔为0.01秒
    • 发送新增委托订单和删除委托订单(撤单)、产品状态订单及成交数据
    • 每个0.01秒内有可能有多笔委托,Level2行情数据对0.01秒内的委托时点进行模糊处理,不进行区分

实际上,Level2行情才能被称作是逐笔行情。

在VNPY目前的使用场景下,TickData一般指的是Level1的快照数据。真正使用Level2的逐笔行情,有较高门槛,且对算力、储存要求都很高。

行情快照Snapshot解读

用Tushare获得一小批快照数据,如下:

NAME TS_CODE DATE TIME OPEN PRE_CLOSE PRICE HIGH LOW BID ASK VOLUME AMOUNT B1_V B1_P B2_V B2_P B3_V B3_P B4_V B4_P B5_V B5_P A1_V A1_P A2_V A2_P A3_V A3_P A4_V A4_P A5_V A5_P
浦发银行 600000.SH 20241203 14:39:52 9.46 9.49 9.63 9.64 9.41 9.63 9.64 3.76916e+07 3.59744e+08 2762 9.63 4208 9.62 635 9.61 914 9.6 630 9.59 2231 9.64 6824 9.65 3750 9.66 2504 9.67 3514 9.68
浦发银行 600000.SH 20241203 14:39:55 9.46 9.49 9.64 9.64 9.41 9.63 9.64 3.76923e+07 3.5975e+08 2777 9.63 4212 9.62 635 9.61 914 9.6 630 9.59 2225 9.64 6824 9.65 3781 9.66 2504 9.67 3514 9.68
浦发银行 600000.SH 20241203 14:40:01 9.46 9.49 9.63 9.64 9.41 9.63 9.64 3.77018e+07 3.59842e+08 2717 9.63 4212 9.62 635 9.61 914 9.6 630 9.59 2145 9.64 6824 9.65 3781 9.66 2504 9.67 3514 9.68
浦发银行 600000.SH 20241203 14:40:04 9.46 9.49 9.64 9.64 9.41 9.63 9.64 3.77033e+07 3.59856e+08 2018 9.63 4212 9.62 635 9.61 914 9.6 630 9.59 2154 9.64 6824 9.65 3781 9.66 2504 9.67 3514 9.68
浦发银行 600000.SH 20241203 14:40:07 9.46 9.49 9.63 9.64 9.41 9.63 9.64 3.77049e+07 3.59872e+08 2009 9.63 4212 9.62 635 9.61 914 9.6 630 9.59 2724 9.64 6824 9.65 3781 9.66 2504 9.67 3514 9.68
浦发银行 600000.SH 20241203 14:40:10 9.46 9.49 9.64 9.64 9.41 9.63 9.64 3.77061e+07 3.59883e+08 2009 9.63 4212 9.62 635 9.61 914 9.6 630 9.59 2780 9.64 6824 9.65 3781 9.66 2504 9.67 3514 9.68
浦发银行 600000.SH 20241203 14:40:13 9.46 9.49 9.64 9.64 9.41 9.63 9.64 3.77082e+07 3.59903e+08 2023 9.63 4210 9.62 639 9.61 914 9.6 630 9.59 2771 9.64 6822 9.65 3781 9.66 2496 9.67 3514 9.68
浦发银行 600000.SH 20241203 14:40:16 9.46 9.49 9.64 9.64 9.41 9.63 9.64 3.77128e+07 3.59948e+08 1912 9.63 4210 9.62 639 9.61 914 9.6 630 9.59 2765 9.64 6842 9.65 3781 9.66 2496 9.67 3514 9.68
浦发银行 600000.SH 20241203 14:40:19 9.46 9.49 9.63 9.64 9.41 9.63 9.64 3.77182e+07 3.6e+08 1908 9.63 4209 9.62 639 9.61 914 9.6 630 9.59 2740 9.64 6842 9.65 3791 9.66 2496 9.67 3514 9.68
浦发银行 600000.SH 20241203 14:40:22 9.46 9.49 9.63 9.64 9.41 9.63 9.64 3.77254e+07 3.60069e+08 1840 9.63 4209 9.62 639 9.61 914 9.6 630 9.59 2756 9.64 6842 9.65 3791 9.66 2496 9.67 3454 9.68
  • TIME:快照数据的获取时间点,精确到秒。
    • 理论上,每笔快照数据之间 应该间隔3s,但是由于延迟或者丢包,会产生误差。
    • 如上面14:39:55之后没有14:39:58的数据,而是直接拿到了14:40:01的数据。
    • 此外,还会有数据重复出现的可能,在实施交易时要细致处理
  • OPEN:开盘价
  • PRE_CLOSE:昨日收盘价
  • PRICE:现价(最新成交价)
  • HIGH :今日(目前为止)最高价
  • LOW:今日(目前为止)最低价
  • BID:竞买价(买一价)
  • ASK:竞卖价(卖一价)
  • VOLUME:累计成交量(src=sina时是股,src=dc时是手,默认sina)
  • AMOUNT:累计成交金额
  • B1_V,B2_V,B3_V,B4_V,B5_V:最优五档买单量
  • B1_P,B2_P,B3_P,B4_P,B5_P:最优五档买单价
  • A1_V,A2_V,A3_V,A4_V,A5_V:最优五档买单量
  • A1_P,A2_P,A3_P,A4_P,A5_P:最优五档买单价

TickData数据结构解读

以下是VNPY默认TickData的形式,以及GmMdApi获取实时快照数据并与VNPY的TickData对齐的对比:

需要注意的是,最优五档买/卖量是手数,query_realtime_quotes写入TickData时,将其*100转换为股数。

使用行情快照合成分钟K线可能存在的问题

posted @   superzzh  阅读(16)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
点击右上角即可分享
微信分享提示