• 上交所行情文件解析之mktdt03


    一、前言

      先将前面mktdt00、01、02归总下:

    mktdt00 竞价撮合平台>>>>>

      MDStreamID=MD001  指数行情

      MDStreamID=MD002  股票行情

      MDStreamID=MD003  债券分销行情

      MDStreamID=MD004  基金行情

    mktdt01 综合业务平台>>>>>

      MDStreamID=MD101  国债预发行行情

      MDStreamID=MD102  盘后固定价格交易行情

    mktdt02 新债券平台>>>>>

      MDStreamID=MD201  债券现券和质押式回购行情

      今天要搞的mktdt03是期权平台,股票期权行情文件。

    二、行情文件接口

      mktdt03是股票期权的行情接口,对应接口文档是《IS113_上海证券交易所股票期权市场参与者接口规格说明书》。

      mktdt03目前只有股票期权的行情,品种目前只有50ETF期权和300ETF期权,对应标的分别是50ETF(510050)和沪深300ETF(510300).

      这里就要说到上交所和深交所ETF期权与中金所期权的区别了。

      首先中金所期权是“股指期权”,其标的是“指数”,由于标的是指数那只能“现金交割”。怎么理解呢,比如买入中金所沪深300指数期权,其价格涨跌是基于“沪深300指数”,到期交割时买卖双方依据当时的沪深300指数以及自己买入或卖出的沪深300指数值计算盈亏,假如你买的时候是3000点,现在涨到3100,那你就赚了100点,交割时1个点等于300元,那你就赚了3W。

      沪深市场的期权是“ETF期权”,其标的是“ETF”,是实物交割。所谓实物交割就是到期就把50ETF或300ETF给你。比如买入50ETF期权后,其涨跌价格是基于“上证50ETF”这个基金,到期后你需要准备足够的资金来买这个50ETF基金,不过买入价格不是当前现价,而是你买的那个合约价,比如你买的是“50ETF购9月2850”,那么9月合约到期后,你就要以2850这个价格买50ETF这个基金。如果50ETF现价是3000,那你就赚了,不过还得等T+2基金交割到你手上后,你卖出基金才能真实获利。对应的,另外会有一个兄弟(你的对手方),他需要在交割时准备好足够的50ETF基金,当然他可以选择当天买入足够的基金或提前买入也可以。

    三、行情解析

    1、文件头

      参见另一篇mktdt00的解析

      大部分都一样,只有MDSesStatus市场行情状态有一点描述上的不同。

    2、文件尾

      参见另一篇mktdt00的解析

    3、文件体

      文件体即行情部分,目前只有期权行情。

      MDStreamID=MD301

      内容如下:

    MDStreamID|SecurityID|TotalLongPosition|TradeVolume|TotalValueTraded|PreSettlPrice|OpenPrice|AuctionPrice|AuctionQty|HighPrice|LowPrice|TradePrice|BuyPrice1|BuyVolume1|SellPrice1|SellVolume1|BuyPrice2|BuyVolume2|SellPrice2|SellVolume2|BuyPrice3|BuyVolume3|SellPrice3|SellVolume3|BuyPrice4|BuyVolume4|SellPrice4|SellVolume4|BuyPrice5|BuyVolume5|SellPrice5|SellVolume5|SettlPrice|TradingPhaseCode|Timestamp|ReservedWord

      含义如下:

    行情数据类型、合约编码、总持仓量、当日累计成交数量、当日累计成交金额、昨日结算价、今日开盘价、动态参考价格、虚拟匹配数量、当日最高成交价、当日最低成交价、最新成交价格、申买价一、申买量一、申卖价一、申卖量一、申买价二、申买量二、申卖价二、申卖量二、申买价三、申买量三、申卖价三、申卖量三、申买价四、申买量四、申卖价四、申卖量四、申买价五、申买量五、申卖价五、申卖量五、今日结算价、产品实时阶段及标志、时间戳、预留时间字段

      示例如下:

    M0301|10003669| 4840| 734| 462627.89| 0.0589| 0.0554| 0.0554| 0| 0.0653| 0.0530| 0.0631| 0.0604| 20| 0.0649| 20| 0.0501| 1| 0.0673| 1| 0.0484| 1| 0.0707| 1| 0.0451| 2| 0.0807| 1| 0.0431| 2| 0.0907| 1| 0.0000|T 01|11:29:16.390|00:00:00.000

      对比说明如下:

    行情数据类型  M0301
    合约编码  10003669
    总持仓量  4840
    当日累计成交数量  734
    当日累计成交金额  462627.89
    昨日结算价  0.0589
    今日开盘价  0.0554
    动态参考价格  0.0554
    虚拟匹配数量  0
    当日最高成交价  0.0653
    当日最低成交价  0.0530
    最新成交价格  0.0631
    申买价一  0.0604
    申买量一  20
    申卖价一  0.0649
    申卖量一  20
    申买价二  0.0501
    申买量二  1
    申卖价二  0.0673
    申卖量二  1
    申买价三  0.0484
    申买量三  1
    申卖价三  0.0707
    申卖量三  1
    申买价四  0.0451
    申买量四  2
    申卖价四  0.0807
    申卖量四  1
    申买价五  0.0431
    申买量五  2
    申卖价五  0.0907
    申卖量五  1
    今日结算价  0.0000
    产品实时阶段及标志  T 01
    时间戳  11:29:16.390
    预留时间字段  00:00:00.000
     
    动态参考价格,即波动性中断参考价:
      波动性中断是指价格波动超过一定幅度会中断交易,比如根据上交所的规定,在期权连续竞价阶段,当期权合约的盘中价格较最近的参考价涨跌价大于等于50%,股票价格涨跌绝对值大于等于五个最小报价单位时,期权合约进入3分钟的集合竞价交易时间段,这就是期权的熔断机制。动态参考价格就是上述的“虚拟匹配价”,与集合竞价时段的虚拟匹配价异曲同工,但又要区分开来。
     
    虚拟匹配数量,与动态参考价一起的:
      这里的虚拟匹配数量就是波动中断时的虚拟匹配数量。注意需要与集合竞价时的虚拟匹配区分开来。
     
    集合竞价阶段,由于没有实时行情发布,所以通过虚拟参考价、虚拟匹配量、虚拟未匹配量以供参考:
      申买价一(BuyPrice1)和申卖价一(SellPrice1)中同时为虚拟动态参考价格,即根据集合竞价算法计算得出的虚拟撮合价格
      申买量一(BuyVolume1)和申卖量一(SellVolume1)分别为行情发布时刻的买方和卖方虚拟匹配量
      申买量二(BuyVolume2)和申卖量二(SellVolume2)分别为行情发布时刻的买方和卖方虚拟未匹配量
      要特别注意,这里买一卖一、申买量和申卖量,在集合竞价阶段是虚拟匹配价和虚拟匹配量,但不是前面的动态参考价格和虚拟匹配数量,前面那两个独立的字段是盘中熔断时使用的。注意区分。
      那为什么盘中熔断要单个搞两个字段呢?因为我猜测盘中熔断时用户还是可以正常报单的,所以不能占用盘口的字段,只能单独拉字段来放这个数据了。 
     
    关于TradingPhaseCode产品实时阶段及标志:
      第 1 位:
        ‘S’表示启动(开市前)时段,
        ‘C’表示集合竞价时段,
        T’表示连 续交易时段,
        ‘B’表示休市时段,
        ‘E’ 表示闭市时段,
        ‘V’表示波动性中断,
        ‘P’表示临时停牌、
        ‘U’表示收盘集 合竞价。
        ‘M’表示可恢复交易的熔断 (盘中集合竞价),
        ‘N’表示不可恢复 交易的熔断(暂停交易至闭市)

      第 2 位:
        ‘0’表示未连续停牌,
        ‘1’ 表示连续停牌。
        (预留,暂填空格)

      第 3 位:
        ‘0’表示不限制开仓,
        ‘1’ 表示限制备兑开仓,
        ‘2’表示卖出开仓,
        ‘3’表示限制卖出开仓、备兑开仓,
        ‘4’ 表示限制买入开仓,
        ‘5’表示限制买入 开仓、备兑开仓,
        ‘6’表示限制买入开 仓、卖出开仓,
        7’表示限制买入开仓、 卖出开仓、备兑开仓

      第 4 位:
        ‘0’表示此产品在当前时段不 接受进行新订单申报,
        ‘1’ 表示此产 品在当前时段可接受进行新订单申报。

    其他的如数据长度、校验和参考之前的mktdt00解析
     
     
  • 相关阅读:
    Codeforce-Power Tower(欧拉降幂)
    Caesar Cipher
    BZOJ-1143-祭祀river(二分图-偏序集最大反链)
    商务英语中级第三版 MODULE2 Task 3: Listen to the presentation and write what each refers to.
    计算机网络第一章学习笔记
    第一篇博客随笔
    子页面传递数组给父页面
    第6课第4节_Binder系统_驱动情景分析_服务注册过程_分析
    opencv Mat 与MFC中的CImage相互转换
    多文档中建立一个对话框类,通过这个方法来在其他类中得到对话框对象指针,访问对话框成员
  • 原文地址:https://www.cnblogs.com/cation/p/16494304.html
Copyright © 2020-2023  润新知