上证所Level-2行情接口开发 高昀.

Slides:



Advertisements
Similar presentations
国家科技计划体系暨 国家重点新产品计划 申报简介
Advertisements

目錄 服務地點 南寮 世光教養院 飛鳳山 長安養老院 尖石國小 內灣 大華停車場 上智國小 二重國中 班級 領隊教師 參與人數 (人次)
Introduction 基本概念 授課老師:蕭志明
我在哈佛、麥肯錫 學到的一流工作術 富坂美織◎著.
淄博信息工程学校 ZIBOIT&ENGINEERING VOCATONAL SHCOOL 03 交换机干道技术 计算机网络技术专业.
第三章 数据类型和数据操作 对海量数据进行有效的处理、存储和管理 3.1 数据类型 数据源 数据量 数据结构
資料庫設計 Database Design.
股市不傳之秘 甘氏矩陣圖/價格推算 簡介、基礎學習步驟 1、學習觀念 2、基礎看圖法 A.大數推算 B.基礎角度線推算.
Chapter 4 流程控制.
第2章 数据定义功能 创建表 在关系型数据模型中,表(Table)是最基本的数据结构。
Google App Engine Google 應用服務引擎.
第7章 建立資料表與完整性限制條件 7-1 資料型別 7-2 資料表的建立 7-3 建立完整性限制條件 7-4 修改與刪除資料表
第14章 c++中的代码重用.
TTCN-3简介.
Lotus Domino R7 Designer
第一章 C语言概述.
程式設計 博碩文化出版發行.
KSDTools 伺服控制軟體與通訊 暨 伺服馬達選用 教育訓練
Visual Basic 6.0 學習範本 第三章 基本資料型態.
Hadoop I/O By ShiChaojie.
安全网管技术 张焕杰 中国科学技术大学网络信息中心
SIP消息之 逐项讲解.
C 程式設計— 語言簡介 台大資訊工程學系 資訊系統訓練班.
第3章 語法入門 第一個Java程式 文字模式下與程式互動 資料、運算 流程控制.
Arduino 藍牙通訊模組.
微程序控制器 刘鹏 Dept. ISEE Zhejiang University
C++ 程式設計— 語言簡介 台大資訊工程學系 資訊系統訓練班.
Schema 與DTD的比較 XML Schema 的特性 XML 資料型態 XML Schema 屬性宣告
XXXX公司商业计划 INSERY YOU AWESOME CLEVER SLOGAN OR THEME IN THIS AREA
第5章 資料倉儲的資料建置.
SOA – Experiment 3: Web Services Composition Challenge
管理信息结构SMI.
第3章 變數、常數與資料型態 3-1 C語言的識別字 3-2 變數的宣告與初值 3-3 指定敘述 3-4 C語言的資料型態
第11章:一些著名开源软件介绍 第12章:服务安装和配置 本章教学目标: 了解当前一些应用最广泛的开源软件项目 搭建一个网站服务器
Chapter 2 Basic Elements of Fortran
第3章 變數、資料型別與運算子 3-1 變數與資料型別的基礎 3-2 變數的命名與宣告 3-3 資料型別 3-4 運算式與運算子
Introduction to Multimedia Coding
文件读写实践 广州创龙电子科技有限公司 01 广州创龙电子科技有限公司
NS2 – TCP/IP Simulation How-Wei Wu.
KINGSUN-E2产品介绍 产品类型:儿童手表 建议零售价格:599元 上市时间: 2018年 7月13日 目标人群:适龄儿童
商业计划书模板 框架完整 内容实用 严谨专业 BUSINESS PLAN POWERPOINT TEMPLATE LOGO.
本章中將會更詳細地考慮有關重複的概念,並且會 介紹for和do…while等兩種用來控制重複的敘述 式。 也將會介紹switch多重選擇敘述式。 我們會討論直接和迅速離開某種控制敘述式的 break敘述式,以及用來跳過重複敘述式本體剩餘 部份的continue敘述式。 本章會討論用來組合控制條件的邏輯運算子,最後.
iRepor报表设计基础 IReport安装 普通实体报表 数据结果集报表 工作流主从报表 饼状图报表 柱状图,曲线图报表 条形码报表
数据挖掘工具性能比较.
PaPaPa项目架构 By:Listen 我在这.
SAP 權限的設定 QiQi V 張穎祺 內部教材 CONFIDENTIAL.
用event class 从input的root文件中,由DmpDataBuffer::ReadObject读取数据的问题
DevDays ’99 The aim of this mission is knowledge..
進階 WWW 程式設計 -- PHP 語言結構 靜宜大學資訊管理學系 蔡奇偉副教授 2003
A high payload data hiding scheme based on modified AMBTC technique
SAP Certified FI Consultant
编程作业3:网页正文抽取 (10分).
简单介绍 用C++实现简单的模板数据结构 ArrayList(数组, 类似std::vector)
Speaker: Liu Yu-Jiun Date: 2009/4/29
C# 基本語法、變數.
Cassandra应用及高性能客户端 董亚军 来自Newegg-NESC.
保留字與識別字.
Lightweight Data-flow Analysis for Execution-driven Constraint Solving
BUSINESS POWERPOINT TEMPLATE
第三章 世界文明的蛻變與互動 第一節 歐洲社會的蛻變 第二節 世界文明的交匯 第三節 亞洲大帝國的發展 1.
框架完整的 商业项目计划书 BUSINESS PLAN.
長者自務學習計劃運作模式 高秀群女士 黃燕卿女士 顧佩君女士 21/12/2005.
多层循环 Private Sub Command1_Click() Dim i As Integer, j As Integer
本章主題 C++的程式結構 資料型態與宣告 算術運算 簡易的輸入輸出指令 程式編譯(Compile)的過程與原理.
基于列存储的RDF数据管理 朱敏
C++语言程序设计 C++语言程序设计 第一章 C++语言概述 第十一组 C++语言程序设计.
VoIP组工作汇报 黄权 李光华.
Arduino 藍牙通訊模組.
数据表示 第 2 讲.
Introduction to Computer Security and Cryptography
Presentation transcript:

上证所Level-2行情接口开发 高昀

主要内容 Level-2产品介绍 Level-2系统接入 Level-2数据解码

一、Level-2 产品介绍

Level-1行情的不足 内容 Level-1行情Show2003.dbf不足之处 技术 按同一模式显示不同的交易品种--显示债券、基金信息时出现“市盈率”字段名 技术 5秒钟一次的快照,文件交换方式,发布延时明显 信息内容可扩展性差--dbf文件是固定字段,只能通过增加数据库字段方式来增加信息内容

从Level-1到Level-2 商业模式:“免费”->收费 发布路径:券商->信息商 行情深度:五档->十挡,新增委托明细和全部成交信息 行情频率:5秒->3秒 数据格式:dbf->FIX/STEP->FAST 交换方式:文件->文本数据流->二进制数据流 行情延时:3秒->28毫秒->20毫秒

Level-2内容 Reference Data (UA101) Transaction(UA3101) Market Data(UA3102,UA3113) Order Queue(UA3111)

行情展示 Transaction(UA3111) Market Data(UA3102) Order Queue(UA3111)

二、 Level-2系统接入

SSE to Vendor Connection VDE(Vendor Data Engine) VSS(Vendor Supplies System)

VDE to VSS Connection

Daily Procedure

三、 Level-2 FAST数据解码

Level-2 FAST的介绍 FIX Adapted for Streaming (FAST) 为解决FIX协议传输市场数据存在冗余度高,带宽需求大的问题,芝加哥商品交易所于2003年11月17日向FPL提交了一个隐示标记(Implicit tags)方案 FPL于2004年12月27日宣布成立市场数据优化工作组(MDOWG,Market Data Optimization Working Group). 2005年5月开始MDOWG根据一系列POC的结果,开始进行协议标准制定 2006年初完成FAST(FIX Adapted for STreaming)V1.0 2006年12月完成FAST V1.1

Level-2 FAST的介绍 中国证券市场的特点 1.2亿交易帐户 较高的换手率,上海证券交易所日交易金额峰值超过3000亿,成交笔数超过4000万 市场数据的发展趋势和挑战 产品越来越多、挂牌证券数量越来越大 更多的价格档位、更多的市场深度 更少的延时

Level-2 FAST的介绍 STEP协议的优缺点 基于FIX ,已成为事实上的证券数据标准 语法简单,定义灵活,易扩展 数据相对冗余 8=STEP.1.0.0<SOH>9=112<SOH>35=D<SOH>49=Sender<SOH>56=Target<SOH>34=235<SOH>1=A123456789<SOH>55=青岛啤酒<SOH>48=600600<SOH>54=B<SOH>44=8.520 <SOH> 38=1000 <SOH>60=20030703-09:35:28 <SOH>11=825<SOH>10=157 <SOH>

STEP 的冗余 平均每条消息长度为160字节, FAST编码后为25字节 平均每条消息长度为467字节,FAST编码后为127字节

Level-2 FAST的介绍 FAST的技术优势 高压缩比(70-80%) 低资源消耗 算法简单,效率高,每秒百万级别消息的处理能力

FAST系统测试结果 带宽利用率与STEP系统对比测试结果比较 测试结果: FAST版本 最大值为0.679Mbps;

FAST关键技术 Field Encoding 隐式标签(Implicit Tag)(模版 Template) 提供消息层面的优化 操作符(Operator) 消息层面和tag层面的优化 Transfer Encoding 二进制数据流 Presence Map(PMAP) Stop Bit Encoded Entities

Field Encoding—Implicit Tag 将FIX的tag=value格式进行分离,变成消息模板和消息内容。 消息模板在双方通信之前就确定,实际只需要传输消息内容

Field Encoding 常用数据类型 Data type Description string String data type int32 integer data type int64 long data type sequence repeating group

Field Encoding Field Encoding Operator Constant Constant value Default Entry Description Constant Constant value Default Default value if not specified Copy Copy previous value if not specified Increment Increment previous value if not specified Delta Delta value from previous value Tail Tail value from previous value

Field Encoding Operator Constant Value 用途:主要用于表示模板中的固定数据 constant value value in stream output value “VALUE” N/A

Field Encoding Operator Default Value 用途:主要用于表示默认值 default value value in stream output value “VALUE” N/A “HELLO”

Field Encoding Operator Copy Value 用途:主要用于表达相邻数据相同的情况 previous value value in stream output value “VALUE” N/A “HELLO”

Field Encoding Operator Increment Value 用途:主要用于表示前后数据有规律的递增的情况 previous value value in stream output value 5 N/A 6 10

Field Encoding

Field Encoding-Template 定义和语法,包括: Field(Message Structure) Field Encoding Operator Data Type 如何表示: XML语言

Field Encoding-Template XML格式的模板示例 Field Operators <template name="ExampleOrder">     <messageRef name="NewOrderSingle"/>     <string name="BeginStr"> <constant value="FIX.4.4"/> </string>     <u32 name="SeqNum"> <increment/> </u32>     <string name="SenderID"> <copy/> </string>     <string name="SendingTime"> <tail/> </string>     <decimal name="Price"> <delta/> </decimal>     <string name="Symbol"> <copy/> </string> </template> Data Types Structure

Transfer Encoding 对FIX数据实现二进制Byte/Bit Level优化 根据模板生成数据流,并且同步进行压缩的协议 本身具有通用性,是一个与具体的应用无关的协议。

Transfer Encoding stream ::= message* | block* block ::= BlockSize message+ message ::= segment segment ::= PresenceMap TemplateIdentifier? (field | segment)* field ::= integer | string | delta | ScaledNumber | ByteVector integer ::= UnsignedInteger | SignedInteger string ::= ASCIIString | UnicodeString delta ::= IntegerDelta | ScaledNumberDelta | ASCIIStringDelta | ByteVectorDelta

Transfer Encoding-Stop Bit 最高比特位 0:下一个字节属于同一个实体 1:下一个字节不属于同一个实体 编码举例:

Transfer Encoding-Presence Map 在每一条消息的开头处增加标志串(BYTE 数组) 每一个Bit标示后面的各个field存在与否,1存在,0不存在 不用传送的field不用进行编码,减少了数据量

Transfer Encoding-Presence Map Presence Map Bit in Required Operator Mandatory Optional None No default Yes constant Yes* copy increment

Presence Map and NULL NULL一般用来指示这一field没有出现(absent) Operator Presence Occupy 使用NULL None Mandatory no Optional yes constant Default,copy, increment

Data Type Example uInt32 Example—Optional Number

如何解析Level-2 FAST 的消息 VSS 1 Initial 2 ReadTemplates 3 Connect VDE 4 Logon 5 Receive Data 6 Decode 7 业务处理 8 数据存储和转发

FAST的实现过程

UA3101的解码实例 PMAP 5F E0 1011111 11100000 10111111100000 TID 占位=1 18 9d 11000 10011101 110000011101 3101 <string name="MessageType" id="35"><constant value="UA3101"/></string> 不占位 UA3101 <int32 name="DataStatus" id="10121" presence="optional"><default/></int32> 占位=0 <int32 name="TradeIndex" id="10011"><increment/></int32> 占位=1 81 10000001 00000001 1 <int32 name="TradeChannel" id="10115"><copy/></int32> 10115 占位=1 86 10000110 00000110 6

UA3101的解码实例 <string name="SecurityID" id="48" presence="optional"><copy/></string> 占位=1 36 30 31 37 36 B6 601766 <int32 name="TradeTime" id="10013" presence="optional"><copy/></int32> 占位=1 04 34 4A 83 100 0110100 1001010 0000011 9250051 9250050 <int32 name="TradePrice" id="10014" presence="optional" decimalPlaces="3"><default/></int32> 占位=1 29 83 101001 0000011 5251 5250 5.250 <int64 name="TradeQty" id="10015" presence="optional" decimalPlaces="3"><default/></int64> 占位=1 1E 42 A1 11110 1000010 0100001 500001 500000 500.000 <int64 name="TradeMoney" id="10016" presence="optional" decimalPlaces="5"><default/></int64> 10016 占位=1 00 7D 15 5D A1 1111101 0010101 1011101 0100001 262500001 262500000 2625.00000 35=UA3101|10011=1|10115=6|48=601766|10013=9250050|10014=5.250|10015=500.000|10016=2625.000|

谢 谢