Volume
3.2
OneChicago, LLC. Application Program Interface
OCXdelta1® OneChicago Ticker Plant (OCTP)
. PROGRAMMERS DEVELOPMENT SPECIFICATIONS
Programmer’s Guide to Messages and Content
for Real-time OneChicago Market Data
 OneChicago LLC.
311 South Wacker Drive, Suite 1700
Chicago, Illinois 60606
Phone 312 883 3410
2
. Disclaimer
Copyright 2015 by OneChicago, LLC as an unpublished work. This document is provided “AS IS”
with all faults and without warranty of any kind, either express or implied.
Support and Questions Regarding This Document
Questions regarding this document can be directed to OneChicago at 312.883.3410 or via e-mail at
operations@OneChicago.com
3
. Change Notice
Date
Version
Description of Change
October 22, 2014
V1.4
Updated table 2.1 IP addresses added.
November 6, 2014
V1.5
Added EntryLegPrice near and far description for EFP transactions.
November 10, 2014
V1.6
Updated MPSecID breakdown, and removed 7am dissemination of product catalog.
November 20, 2014
V1.7
Removed static data from update messages.
Added Trading Status to Instrument group to be disseminated in product catalog message.
January 23, 2015
V1.8
Added heartbeat message for line integrity.
March 13, 2015
V1.9
Added clarity for Notification time and TransactTime.
March 23, 2015
V2.0
Updated heartbeat message type.
April 2, 2015
V2.1
Updated sample messages and format, added clarity on restart protocol. Specified header is little endian
encoded.
April 27, 2015
V2.2
Provided ASCII message type values. Moved sample packet captures to section 6.0.
May 6, 2015
V2.3
Updated title and description. Verified price precision on all prices in specification.
May 12, 2015
V2.4
On May, 18th 2015 OCTP will start new broadcasting for the following:
Channel configurations:
A Feed
=> Instrument Definition Refresh 51009 233.158.244.19
B Feed
=> Instrument Definition Refresh 52009 233.158.244.29
DR A Feed
=> Instrument Definition Refresh 53009 233.158.244.119
DR B Feed
=> Instrument Definition Refresh 54009 233.158.244.129
Content:
OCXMD:: ProductCatalog
Bandwidth:
Default loop configuration
Current Product list ~ packet rate
Current Product list ~ data rate
: 120 sec
: 580 packets/s
: 0.5440 Mb/s
June 9, 2015
V2.5
Added clarity for repeating group tags.
June 29, 2015
V2.6
Added Sequence numbers for Level 1 feed update and refresh messages.
Added samples feed stream data for
order lifecycle.
Added sample corporate event Packet Capture.
July 21, 2015
V2.7
Added clarity for GoodMorning message sequence reset.
July 23, 2015
V2.8
Changed Good Morning dissemination time to 5:10 CT.
August 3, 2015
V2.9
Updated channel configurations tables.
August 18, 2015
V3.0
Decommissioned EFP refresh channels.
Added Sample level 2 Market Data refresh message.
November 23, 2015
V3.1
Added Position Accountability.
Spread orders will now Have EntryLegPriceNear and EntryLegPriceFar for both Market Data Refresh and
Market Data Update messages).
Added UAT C feed configurations.
January 11, 2015
V3.2
On January 11th, OCTP will introduce
Instrument Group Trading Session Open/Close Time changed from HHmmss to HH:mm:ss
4
. Table of Contents
1.0 Introduction .................................................................................................................................................................................................................................... 6
1.1 Message Cycles................................................................................................................................................................................................................................ 6
2.0 Connectivity .................................................................................................................................................................................................................................... 6
2.1 Network Configuration - Production and DR: ...........................................................................................................................................................................
6
3.0 Channels/Feeds .............................................................................................................................................................................................................................. 7
3.1 Channel Descriptions ..................................................................................................................................................................................................................... 7
3.1.1 Main Channel ...............................................................................................................................................................................................................................
7
3.1.2 Level 1- SSF Refresh Channel.................................................................................................................................................................................................... 7
3.1.3 Level 2- SSF Refresh Channel.................................................................................................................................................................................................... 8
3.1.4 Level 1- Spread Refresh Channel...............................................................................................................................................................................................
8
3.1.5 Level 2- Spread Refresh Channel............................................................................................................................................................................................... 8
3.1.6 Level 1- Incremental Update Channel ...................................................................................................................................................................................... 8
3.1.7 Level 2- Incremental Update Channel ......................................................................................................................................................................................
8
3.1.8 Instrument Definition Refresh Channel ................................................................................................................................................................................... 8
3.2 Channel Groups.............................................................................................................................................................................................................................. 9
4.0 Message Overview ........................................................................................................................................................................................................................
11
4.1 Repeating Groups ......................................................................................................................................................................................................................... 11
4.2 Message Header ............................................................................................................................................................................................................................ 11
4.3 Message Types ..............................................................................................................................................................................................................................
11
4.4 Message Body................................................................................................................................................................................................................................ 11
4.5 Message Descriptions ................................................................................................................................................................................................................... 12
4.5.1 Good Morning ...........................................................................................................................................................................................................................
12
4.5.2 Product Catalog ......................................................................................................................................................................................................................... 12
4.5.2.1 Corporate Events ................................................................................................................................................................................................................... 14
4.5.3 Exchange Summary ...................................................................................................................................................................................................................
14
4.5.4 Market Data Refresh ................................................................................................................................................................................................................. 16
4.5.5 Market Data Update .................................................................................................................................................................................................................. 18
4.5.6 Market State Notifications ........................................................................................................................................................................................................
20
4.5.7 Heartbeats................................................................................................................................................................................................................................... 21
4.5.8 Restarts ....................................................................................................................................................................................................................................... 21
5.0 Sample Packet Captures ...............................................................................................................................................................................................................
22
6.0 GPB Templates............................................................................................................................................................................................................................. 41
6.1 Good Morning .............................................................................................................................................................................................................................. 41
6.2 Product Catalog ............................................................................................................................................................................................................................
41
6.3 Exchange Summary ...................................................................................................................................................................................................................... 41
6.4 Market Data Refresh .................................................................................................................................................................................................................... 42
6.5 Market Data Update .....................................................................................................................................................................................................................
42
6.6 Market State Notification ............................................................................................................................................................................................................ 42
7.0 issecting the OCXdelta1 MPSecID ............................................................................................................................................................................................ 43
7.1 Breakdown.....................................................................................................................................................................................................................................
43
7.2 Sample MPSecID breakdown ..................................................................................................................................................................................................... 43
5
. 1.0 Introduction
The OneChicago Ticker Plant (OCTP) publishes trade and quote data using the following message
format explained in this document. All data will be transmitted using a multicast network protocol.
The OCTP is a redundant dissemination system for parties interested in market data, and exists as
two feeds on distinct servers, systematically disseminating real time OCXdelta1 market data.
Consumers are required to join groups for both Primary (A) and Secondary (B) feeds to provide
reliability.
OneChicago utilizes extranet providers in addition to leased lines from the interested participants.
Visit our website for a complete list of extranet providers.
OCTP serializes messages using Google Protocol Buffers (GPB). For information on how to work
with Google Protocol Buffers, visit https://developers.google.com/protocolbuffers/docs/overview
1.1 Message Cycles
It is advised the users log on before message cycles begin.
Table 1.1
Messages
Good Morning
Product Catalog
Exchange Summary -SOD
Exchange Summary -EOD
Market State Notification
Market Data Refresh Channels
Market Data Updates
Time
05:10 CT
06:00 CT
06:15 CT
16:45 CT
See Trading Hours.
07:00 CT (refresh intervals begin)
Event driven.
2.0 Connectivity
Two connections are required to receive the A and B feeds. It is not permitted to receive both feeds
over the same physical connection.
2.1 Network Configuration - Production and DR:
Direct connections require the use of PIM Sparse mode with static Rendezvous Points (RPs).
Firms
need to setup routes and allow traffic from the matching multicast group and source address.
Routing is currently provided statically, BGP is done only by request. Configurations with an
extranet service will differ.
6
. Table 2.1
Data Center
NJ2
CH1
CH1 (UAT)
A Feed Groups
Source Network Rendezvous
10.38.66.131/32
10.38.66.254/32
10.38.65.131/32
10.38.65.254/32
10.38.65.90/32
10.38.65.254/32
B Feed Groups
Source Network Rendezvous
10.38.66.132/32 10.38.66.254/32
10.38.65.132/32 10.38.65.254/32
N/A
N/A
Ticker Plant customers must choose between extranet providers or leased line connection. Our
production environment is located at NJ2, and Disaster Recovery at CH1. Consumers are
encouraged to establish connectivity to our UAT environment to ensure OCTP upgrades can be
adequately tested prior to release.
Firms who choose to use direct connections are responsible for ordering and managing their own
WAN circuits and routers to connect to the OneChicago Ticker Plant. In the event of a disaster,
data will be disseminated from OneChicago’s disaster recovery site in Chicago.
Direct connect firms
are required to have a circuit and router in the DR site.
3.0 Channels/Feeds
A channel is broken into two groups (primary and secondary) where information is identical across
the twin feeds. OCTP feeds are allocated across 9 channels, resulting in the 18 individual feeds.
3.1 Channel Descriptions
OCTP supports three types of channels, main channels, level 1 market data, and level 2 market data.
Level 1 feeds distribute top of book quote and trade data aggregating size at best bid and best ask
price level. Level 2 feeds distribute updates from respective markets on an individual order basis, in
addition to trade data.
3.1.1 Main Channel
Message Type(s): Good Morning, Product Catalog, Exchange Summary, and Market State
Notification.
3.1.2 Level 1- SSF Refresh Channel
Disseminates top of book quote and trade data for OCXdelta1 Single Stock Futures (SSF) and Block
markets.
Channel refresh interval TBD. Products will cycle alphabetically
Message Type(s): Market Data Refresh
7
. 3.1.3 Level 2- SSF Refresh Channel
Disseminates full book depth (by order) quote and trade data for OCXdelta1 Single Stock Futures
(SSF) and Block markets. Channel refresh interval TBD. Products will cycle alphabetically
Message Type(s): Market Data Refresh
3.1.4 Level 1- Spread Refresh Channel
Disseminates top of book quote and trade data for OCXdelta1 Single Stock Futures (SSF) and Block
intra-market/calendar spread markets. Channel refresh interval TBD.
Products will cycle
alphabetically
Message Type(s): Market Data Refresh
3.1.5 Level 2- Spread Refresh Channel
Disseminates full book depth (by order) quote and trade data for OCXdelta1 Single Stock Futures
(SSF) and Block intra-market/calendar spread markets. Channel refresh interval TBD. Products
will cycle alphabetically
Message Type(s): Market Data Refresh
3.1.6 Level 1- Incremental Update Channel
Disseminates event driven (real time) top of book quote and trade data for all OCXdelta1 markets.
Message Type(s): Market Data Update
3.1.7 Level 2- Incremental Update Channel
Disseminates event driven (real time) order based quote and trade data for all OCXdelta1 markets.
Message Type(s): Market Data Update
3.1.8 Instrument Definition Refresh Channel
Disseminates product catalog messages on a refresh throughout the trading day.
Message Type(s): Product Catalog.
8
.
3.2 Channel Groups
Table 3.2 Primary Channels
Channel
port
51000
233.158.244.10
B Feed => Main
52000
233.158.244.20
A Feed => Level 2- SSF Refresh
51001
233.158.244.11
B Feed => Level 2- SSF Refresh
52001
233.158.244.21
A Feed => Level 2 - Spread Refresh
51003
233.158.244.13
B Feed => Level 2 - Spread Refresh
52003
233.158.244.23
A Feed => Level 2 – Incremental Update
51004
233.158.244.14
B Feed => Level 2 – Incremental Update
52004
233.158.244.24
A Feed => Level 1- SSF Refresh
51005
233.158.244.15
B Feed => Level 1- SSF Refresh
52005
233.158.244.25
A Feed => Level 1 - Spread Refresh
51007
233.158.244.17
B Feed => Level 1 - Spread Refresh
52007
233.158.244.27
A Feed => Level 1 – Incremental Update
51008
233.158.244.18
B Feed => Level 1 – Incremental Update
52008
233.158.244.28
A Feed => Instrument Definition Refresh
51009
233.158.244.19
B Feed => Instrument Definition Refresh
52009
233.158.244.29
Groups
A Feed => Main
Channel IP
9
. Table 3.3 DR Channels
Groups
DR A Feed => Main
Channel
Channel IP
port
53000 233.158.244.110
DR B Feed => Main
54000 233.158.244.120
DR A Feed => Level 2- SSF Refresh
53001 233.158.244.111
DR B Feed => Level 2- SSF Refresh
54001 233.158.244.121
DR A Feed => Level 2 - Spread Refresh
53003 233.158.244.113
DR B Feed => Level 2 - Spread Refresh
54003 233.158.244.123
DR A Feed => Level 2 – Incremental Update
53004 233.158.244.114
DR B Feed => Level 2 – Incremental Update
54004 233.158.244.124
DR A Feed => Level 1- SSF Refresh
53005 233.158.244.115
DR B Feed => Level 1- SSF Refresh
54005 233.158.244.125
DR A Feed => Level 1 - Spread Refresh
53007 233.158.244.117
DR B Feed => Level 1 - Spread Refresh
54007 233.158.244.127
DR A Feed => Level 1 – Incremental Update
53008 233.158.244.118
DR B Feed => Level 1 – Incremental Update
54008 233.158.244.128
DR A Feed => Instrument Definition Refresh
53009 233.158.244.119
DR B Feed => Instrument Definition Refresh
54009 233.158.244.129
Table 3.4 UAT Channels
Groups
C UAT Feed => Main
Channel
Channel IP
port
55000 233.158.244.130
C UAT Feed => Level 2- SSF Refresh
55001 233.158.244.131
C UAT Feed => Level 2 - Spread Refresh
55003 233.158.244.133
C UAT Feed => Level 2 – Incremental Update
55004 233.158.244.134
C UAT Feed => Level 1- SSF Refresh
55005 233.158.244.135
C UAT Feed => Level 1 - Spread Refresh
55007 233.158.244.137
C UAT Feed => Level 1 – Incremental Update
55008 233.158.244.138
C UAT Feed => Instrument Definition Refresh
55009 233.158.244.139
10
. 4.0 Message Overview
Message packets contain header and body.
4.1 Repeating Groups
Repeating group tags are denoted with a ‘ïƒ ’ value preceding the field name. These may appear
more than once per message, indicating all components.
4.2 Message Header
Message Header is binary encoded. The header is little endian.
Table 4.2
Field Name
Message Type
Sequence Number
Sending Time
Protobuf Size
Field Type
char
uint32_t
uint64_t
uint32_t
Byte Length
1
4
8
2
Notes
See table 4.3 for valid message types.
Sequenced by channel.
Millisecond UTC timestamp
Byte size of serialized protobuf message
4.3 Message Types
Valid message types are listed below with subsequent char values.
Table 4.3
Message Type
Exchange Summary
Good Morning
Market Data Refresh
Market Data Update
Market State Notification
Product Catalog
Heartbeat
Value
ASCII
c
b
2
1
a
d
Null
99
98
50
49
97
100
00
4.4 Message Body
Message body is a serialized GPB. See GPB Templates 5.0.
11
.
4.5 Message Descriptions
4.5.1 Good Morning
OneChicago starts each trading day by pushing out a start of day message. This is an opportunity
for each consumer to confirm connectivity. The Good Morning message will be disseminated only
on the main channel and will indicate a sequence reset message for all OCTP channels. In the event
of a technology issue, OneChicago may reset sequence numbers intra-day.
The receipt of a Good
Morning serves as notice that the sequence numbers for all channels on the corresponding feed have
been reset. See Message Cycles Table 1.1.
Table 4.5.1.1 Good Morning Structure
Field
ID
GPB Type
TradeDate
190
string
Text
186
string
Comments
YYYY-MM-ddTHH:MM:SS UTC timestamp
“OCX.TP MAIN CH, READY” or other
notification text.
4.5.2 Product Catalog
Product catalog describes an OCXdelta1 market’s instrument configuration by a unique security
identifier (MPSecID). In the event of technology issues, OneChicago may distribute the product
catalog outside of predetermined message cycle times.
See Message Cycle table 1.1. The Product
Catalog message is also available over the Instrument Refresh Channel.
Table 4.5.2.1 Product Catalog Structure
Field
ID
GPB Type
Instrument
1029 InstrumentGroup
183
string
ïƒ Symbol
112
fixed64
ïƒ MPSecID
459
string
ïƒ ïƒ Underlying
147
int32
ïƒ ProductType
ïƒ MaturityDate
ïƒ MaturityDateBack
96
97
string
string
ïƒ SecuritySubType
173
int32
Notes
SSF symbol e.g. AAPL1C
OneChicago assigned SecurityID
Underlying stock ticker
14 =SSF
15 =EFP
16 =Spread
YYYYMMdd
YYYYMMdd – For calendar spreads will be
populated with expiration date of back
contract month.
e.g. AAPL1C calendar
spread Sep v Oct back month will have
October expiration YYYYMMdd
S = SSF
12
. ïƒ ProductSubType
146
int32
ïƒ OpenTime
509
string
ïƒ CloseTime
464
string
454
ïƒ StrikePrice
ïƒ ContractMultiplier 61
ïƒ PositionLimit
458
double
double
int32
B = Block
E = EFP
BS = Block Spread
SS = SSF Spread
0 =SSF
1 = Block
2 = EFP
3 = Block Spread
4 = SSF Spread
UTC timestamp HH:mm:ss – Close time for
appropriate product type. Times vary across
product types.
UTC timestamp HH:mm:ss – Close time for
appropriate product type. Times vary across
product types.
Option strike price
OneChicago assigned contract multiplier –
number of stock deliverables per futures
contract.
OneChicago assigned position limit –
represents the maximum number of contracts
that anyone can carry in one instrument at any
given time.
-1 = Position Accountability
ïƒ TradingStatus
195
int32
LastMessage
701
int32
Position Accountability: Traders who hold net
positions greater than 22,500 in a contract
subject to Position Accountability must
provide information to the exchange and
consent to halt increasing their positions
when so ordered by the exchange
2=Halted
17=Open
18=Closed
21=Pre-open
When LastMessage field is populated with 1,
it signifies the end of the Product Catalogue
stream.
13
. 4.5.2.1 Corporate Events
When an underlying experiences a corporate event the underlying repeating group may appear more
than once per message, indicating all underlying components. For more information regarding
corporate events visit our website at:
See 5.9 for sample Product catalog corporate event packet capture.
http://www.onechicago.com/wpcontent/uploads/content2011/SSF%20Corporate%20Events%20Ver%202%204.pdf
4.5.3 Exchange Summary
Exchange summary describes the OCXdelta1 trading activity for given trading day. This message
will be distributed at two distinct times each day. The first distribution of exchange summary
contains the previous trading day’s market information, including the official open interest for each
respective market as reported by the OCC.
The second distribution contains end of day summaries
of the current trading day’s activity, note open interest is not included in this distribution. See
Message Cycle table 1.1.
Summary content is distributed by Single Stock Future (SSF) contracts, rather than tradable
instrument. EFP, Block, Spread, and SSF markets are summarized within each message entry.
Table 4.5.3.1 Exchange Summary Structure
Field
ID
GPB Type
InstrumentSummary 1026 InstrumentSumm
aryGroup
183
string
ïƒ Symbol
96
string
ïƒ MaturityDate
173
string
ïƒ SecurityType
442
double
ïƒ HighPx
519
int32
ïƒ HighPxIndicator
Notes
SSF symbol e.g.
AAPL1C
YYYYMMdd
FUT
High price. Across all OCX markets.
Indicator for value associated with high price.
Possible indicators:
9 = No Value
0 = Trade
49 = Bid
Initially ‘no value’;
Trade Events:
EFP Trade, Price of transacted SSF
leg
SPREAD Trade, Price of either
transacted SSF legs
SSF/BLOCK Trade, price of
transacted
14
. Bid:
SSF/BLOCK, price of entered bid
ïƒ LowPx
ïƒ LowPxIndicator
444
520
double
int32
Low price. Across all OCX markets.
Indicator for value associated with low price.
Possible indicators:
9 = No Value
0 = Trade
50 = Offer
Initially ‘no value’;
Trade Events:
EFP Trade, Price of transacted SSF
leg
SPREAD Trade, Price of either
transacted SSF legs
SSF/BLOCK Trade, price of
transacted
Offer:
SSF/BLOCK, price of entered
offer
ïƒ ClosePx
445
double
ïƒ ClosePxindicator
521
int32
Closing price. Across all OCX markets. Last
trade, that was within 60 seconds of the
market close.
If no trade within 60 seconds
of close we use reference price.
0 = Trade
1 = Reference Price
Initially ‘no value’;
Trade Events:
EFP Trade, Price of transacted SSF
leg
SPREAD Trade, Price of either
transacted SSF legs
SSF/BLOCK Trade, price of
transacted
Reference Price:
Theoretical price calculation at the
time of close
ïƒ OpenPx
443
double
ïƒ OpenPxIndicator
522
int32
Opening price. Across all OCX markets.
First trade, that was within 60 seconds of the
market open. If no trade within 60 seconds
of open we use reference price.
0 = Trade
1 = Reference Price
Initially ‘no value’;
Trade Events:
15
.
leg
EFP Trade, Price of transacted SSF
SPREAD Trade, Price of either
transacted SSF legs
SSF/BLOCK Trade, price of
transacted
Reference Price:
Theoretical price calculation at the
time of the open
ïƒ SettlePx
ïƒ NetChangePx
ïƒ BlockVolume
446
448
451
double
double
int32
ïƒ EFPVolume
450
int32
ïƒ SSFVolume
523
int32
ïƒ TotalVolume
449
int32
ïƒ OpenInterest
452
int32
TradeDate
LastMessage
190
701
string
int32
Official exchange assigned settlement price.
Day to day difference in settle Price
Total block volume - sum of all volume for
block transactions on the corresponding SSF.
Total EFP volume - sum of all volume for
EFP transactions on the corresponding SSF.
Total SSF volume - sum of all volume for SSF
transactions on the corresponding SSF.
Total volume- sum of all volume that settle to
the corresponding SSF.
Open interest for the previous trading day will
come in the morning exchange summary, as it
is a summation of yesterday’s trading day.
Summation of today’s trading day shows no
open interest.
YYYYMMdd – always todays trade date.
When LastMessage field is populated with 1,
it signifies the end of the Exchange Summary
Message stream.
4.5.4 Market Data Refresh
Market data refresh describes quote and trade data for a given OCXdelta1 market. See Message
Cycle table 1.1.
Table 4.5.4.1 Market Data Refresh Structure
Field
ID
GPB Type
Notes
Instrument
1029 InstrumentGroup
112
fixed64
OneChicago assigned SecurityID
ïƒ MPSecID
MDEntry
1027 MDEntryGroup
16
. ïƒ EntryPrice
511
double
ïƒ EntrySize
512
double
ïƒ EntrySide
513
int32
ïƒ EntryLegPriceNear 514
double
ïƒ EntryLegPriceFar
515
double
ïƒ SequenceNo
516
int32
Level 1: With entry side bid, entry price will
represent the current best bid. Additionally
entry price with entry side of offer will
represent the current best offer.
Level 2: Price of corresponding order or trade
event.
Level 1: With entry side bid, entry size will
represent the current best bid. Additionally
entry size with entry side of offer will
represent the current best offer.
Level 2: size of corresponding order or trade
event.
49 = Bid
50 = Offer
For Calendar spreads, entry leg price near is
the fair market price of the SFF associated
with front leg for the spread. For EFP
transactions Entry Leg price will represent the
stock price.
For Calendar spreads, entry leg price far is the
fair market price of the SFF associated with
back leg for the spread.
For EFP transactions
Entry Leg price will represent the future
price.
For LEVEL 1 order events: Incremented on
each market event affecting TOB aggregated
at price level by Side
Example:
Refresh ( Bid TOB, NO Ask TOB )
SequenceNo = 1 - > Bid entered at best price
SequenceNo = 2 -> Bid updated ( px/qty) or
another bid entered at the same price ( +/- to
qty )
SequenceNo = 3 -> Bid canceled/filled
resulting in 0 best bid qty ( indicating no bid )
For LEVEL 2 order events: Incremented on
each market event for the corresponding
order.
Example:
SequenceNo = 1 -> order enters market
SequenceNo = 2 -> order is updated (
px/qty)
SequenceNo = 3 -> order is filled
17
. Order is cancel replaced SequenceNo = 2,
Order is filled SequenceNo = 3.
See example 5.8 Market Data Order Life Cycle
Sample
ïƒ ReferenceID
517
fixed64
ïƒ EntryRate
518
double
ïƒ TransactTime
196
string
ïƒ NetChangePx
448
double
LastPx
LastQty
LastMessage
84
85
701
double
double
int32
The persistent ID of an individual order for
the lifetime of the order. Level 2 only. For
trade events, indicates the exchange assigned
Trade Match ID, and will be referenced for
trade bust events.
Implied rate for calendar spread orders and
trades, and will be desseminated both for level
1 and level 2 order entry and trade events.
HH:mm:ss.SSS – For level 1 and level 2 order
and trade events will indicate the time in
which the trade or order event occurs on the
OCXdelta1 match platform out to
millisecond resolution. – milliseconds UTC
timestamp
Change in price on day, off of yesterday’s
settlement price.
Only disseminated on trade
events and block and SSF product subtypes.
Last traded price.
Last traded quantity.
When LastMessage field is populated with 1,
it signifies the end of the Exchange Summary
Message stream.
4.5.5 Market Data Update
Market data update describes event driven (real-time) quote and trade data for a given OCXdelta1
market. See Message Cycle table 1.1.
Table 4.5.5.1 Market Data Update Structure
Field
ID
GPB Type
Notes
Instrument
1029 InstrumentGroup
112
fixed64
OneChicago assigned SecurityID
ïƒ MPSecID
MDEntry
1027 MDEntryGroup
510
int32
Relevant for level 2 refresh and only trade
ïƒ EntryType
events on level 1 refresh
1 = New
2 = Update
3 = Delete
18
. ïƒ EntryPrice
511
double
ïƒ EntrySize
512
double
ïƒ EntrySide
513
int32
ïƒ EntryLegPriceNear 514
double
ïƒ EntryLegPriceFar
515
double
ïƒ SequenceNo
516
int32
4 = Trade
5 = Trade bust
For level 2 order events you can receive new,
update, delete.
For trade events you will receive trade and
trade bust, both on level 1 and level 2 refresh
channels.
Dissemination of top of book order events
will not include an entry type, and should be
identified via entry side.
Level 1: With entry side bid, entry price will
represent the current best bid. Additionally
entry price with entry side of offer will
represent the current best offer.
Level 2: Price of corresponding order or trade
event.
Level 1: With entry side bid, entry size will
represent the current best bid. Additionally
entry size with entry side of offer will
represent the current best offer.
Level 2: size of corresponding order or trade
event.
49 = Bid
50 = Offer
For Calendar spreads, entry leg price near is
the fair market price of the SFF associated
with front leg for the spread. For EFP
transactions Entry Leg price will represent the
stock price.
For Calendar spreads, entry leg price far is the
fair market price of the SFF associated with
back leg for the spread.
For EFP transactions
Entry Leg price will represent the future
price.
For LEVEL 1 order events: Incremented on
each market event affecting TOB aggregated
at price level by Side
Example:
Refresh ( Bid TOB, NO Ask TOB )
SequenceNo = 1 - > Bid entered at best price
SequenceNo = 2 -> Bid updated ( px/qty) or
another bid entered at the same price ( +/- to
qty )
SequenceNo = 3 -> Bid canceled/filled
resulting in 0 best bid qty ( indicating no bid )
19
. For LEVEL 2 order events: Incremented on
each market event for the corresponding
order.
Example:
SequenceNo = 1 -> order enters market
SequenceNo = 2 -> order is updated (
px/qty)
SequenceNo = 3 -> order is filled
Order is cancel replaced SequenceNo = 2,
Order is filled SequenceNo = 3.
See example 5.8 Market Data Order Life Cycle
Sample
ïƒ ReferenceID
517
fixed64
ïƒ EntryRate
518
double
ïƒ TransactTime
196
string
ïƒ NetChangePx
448
double
The persistent ID of an individual order for
the lifetime of the order, level 2 only. For
trade events, indicates the exchange assigned
Trade Match ID, and will be referenced for
trade bust events.
Implied rate for calendar spreads orders and
trades, and will be disseminated both for level
1 and level 2 order entry and trade events.
HH:mm:ss.SSS – For level 1 and level 2 order
and trade events will indicate the time in
which the trade or order event occurs on the
OCXdelta1 match platform out to
millisecond resolution.
Change in price on day, off of yesterday’s
settlement price. Only disseminated on trade
events and block and SSF product subtypes.
4.5.6 Market State Notifications
Market state notifications are event driven and distributed in two fashions, by OCXdelta1 product
type and security identifier (MPSecID). Typical start of day and end of day market cycles notify
market states by product type.
Halt and resumption market states are typically notified by security
identifier.
Table 4.5.6.1 Market State Notification Structure
Field
ID
GPB Type
UpdateType
524
int32
NotificationTime
801
Fixed64
Notes
0 = Product Type
1 = Product Sub Type
2 = MPSecID
Microsecond UTC timestamp from epoch
20
. TradingStatus
195
int32
2=Halted
17=Open
18=Closed
21=Pre-open
Optional Relevant message.
Reason for security halt.
HaltReason_REGULATORY = 1
Text
HaltReason
186
700
string
int32
Instrument
ïƒ MPSecID
1029
112
InstrumentGroup
fixed64
OneChicago assigned SecurityID
Table 4.5.5.1 Trading Sessions
Trading Status
Description
Pre-Open
For all supported OCXdelta1tradable instruments this trading session
allows bilateral trade reporting only.
Open
This trading session allows day limit order entry, order replace, order
cancel, bilateral trade reporting, and price time priority order matching.
Close
This trading session prohibits any trading activity including order cancel,
and bilateral trade reporting.
Halt
This trading session allows order cancel only.
4.5.7 Heartbeats
Heartbeat messages will be transmitted every 5 seconds of inactivity to every channel including main
channels as a line integrity test. They will be a simple message header with Message Type 00.
4.5.8 Restarts
In the unlikely event OneChicago must restart a Ticker Plant intraday, all connected users will be
notified. Working order and trade messages will be replayed in the order in which they were
previously disseminated. The data transmitted in these messages will be identical to the message sent
prior to the restart event.
21
.
5.0 Sample Packet Captures
5.1 Good Morning Packet Capture
-------------------------------------------------10:45:00.863576 : PCAP: 233.158.244.10:51000
-------------------------------------------------GOOD_MORNING
Packet Length
: 61
62010000 003ed748 6a4c0100
0b154f43 582e5450 204d4149
2c205245 414459f2 0b133230
332d3330 5431303a 34353a30
Header Length
SndTm
MsgType
SequenceNo
Size
002e00d2
4e204348
31352d30
30
: 15
1427712300862
98
1
46
Payload Length : 46
Text: "OCX.TP MAIN CH, READY"
TradeDate: "2015-03-30T10:45:00"
--------------------------------------------------
22
. 5.2 Product Catalog Packet Capture
-------------------------------------------------15:22:17.599415 : PCAP: 233.158.244.200:58200
-------------------------------------------------PRODUCT_CATALOG
Packet Length
: 117
64417504 007f0af1 cd500100
2b00aa40 60e90300 00000000
06083230 31353132 31388a06
8080ba88 037b078b 90090098
0153ba0b 05504550 3143980c
ffffffff ffffffff 01da1c03
1d083230 3a30303a 3030ea1f
30303a30 30
Header Length
SndTm
MsgType
SequenceNo
Size
006600e8
00594082
01308107
090eea0a
11d01cff
50455082
0831323a
: 15
1446564137599
100
292161
102
Payload Length : 102
LastMessage: 0
Instrument {
ContractMultiplier: 100
MaturityDate: "20151218"
MaturityDateBack: "0"
MPSecID: 10018111151218000000
ProductSubType: 0
ProductType: 14
SecuritySubType: "S"
Symbol: "PEP1C"
TradingStatus: 17
PositionLimit: -1
Underlying: "PEP"
CloseTime: "20:00:00"
OpenTime: "12:00:00"
}
-------------------------------------------------15:58:16.468826 : PCAP: 233.158.244.200:58200
-------------------------------------------------PRODUCT_CATALOG
Packet Length
: 109
64f40600 0094fb11 ce500100
2b00aa40 58e90300 00000000
06083230 31353132 31388a06
8060d230 4480128b 90090298
0145ba0b 05535449 3143980c
69da1c03 53544982 1d083230
3030ea1f 0831323a 30303a30
Header Length
SndTm
MsgType
SequenceNo
Size
005e00e8
00594082
01308107
090fea0a
11d01cbc
3a30303a
30
: 15
1446566296468
100
1780
94
23
. Payload Length : 94
LastMessage: 0
Instrument {
ContractMultiplier: 100
MaturityDate: "20151218"
MaturityDateBack: "0"
MPSecID: 10021213151218000000
ProductSubType: 2
ProductType: 15
SecuritySubType: "E"
Symbol: "STI1C"
TradingStatus: 17
PositionLimit: 13500
Underlying: "STI"
CloseTime: "20:00:00"
OpenTime: "12:00:00"
}
-------------------------------------------------13:02:59.598279 : PCAP: 233.158.244.200:58200
-------------------------------------------------PRODUCT_CATALOG
Packet Length
: 125
64e10402 000e8271 cd500100
2b00aa40 68e90300 00000000
06083230 31353038 32318a06
35303931 388107c6 7053be8a
09049809 10ea0a02 5353ba0b
3143980c 15d01cff ffffffff
01da1c03 53544982 1d083230
3030ea1f 0831323a 30303a30
Header Length
SndTm
MsgType
SequenceNo
Size
006e00e8
00594082
08323031
87128b90
05535449
ffffffff
3a30303a
30
: 15
1446555779598
100
132321
110
Payload Length : 110
LastMessage: 0
Instrument {
ContractMultiplier: 100
MaturityDate: "20150821"
MaturityDateBack: "20150918"
MPSecID: 10021221150821150918
ProductSubType: 4
ProductType: 16
SecuritySubType: "SS"
Symbol: "STI1C"
TradingStatus: 21
PositionLimit: -1
Underlying: "STI"
CloseTime: "20:00:00"
OpenTime: "12:00:00"
}
--------------------------------------------------
24
. 5.3 Exchange Summary Packet Capturs
-------------------------------------------------11:15:08.750209 : PCAP: 233.158.244.10:51000
-------------------------------------------------EXCHANGE_SUMMARY
Packet Length
: 147
63310901 004e3d2a e04f0100
0b083230 31353039 3138e82b
82060832 30313531 303136ea
54ba0b05 4a4f4531 44d11b7b
fa3140d9 1bec51b8 1e85ab31
703d0ad7 a33140e9 1b5c8fc2
40f11b5c 8fc2f528 dc314081
999999a9 3f881ce8 07901c00
-TradeDate: "20150918"
LastMessage: 0
InstrumentSummary {
MaturityDate: "20151016"
SecurityType: "FUT"
Symbol: "JOE1D"
HighPx: 17.98
OpenPx: 17.67
LowPx: 17.64
ClosePx: 17.86
SettlePx: 17.86
NetChangePx: 0.05
TotalVolume: 1000
EFPVolume: 0
BlockVolume: 0
OpenInterest: 3000
HighPxIndicator: 49
LowPxIndicator: 50
ClosePxindicator: 1
OpenPxIndicator: 0
SSFVolume: 1000
}
008400f2
00924073
0a034655
14ae47e1
40e11ba4
f528dc31
1c9a9999
981c00a0
--------------------------------------------------
25
. 5.4 Market Data Refresh Level 1 Packet Capture
-------------------------------------------------19:27:59.056887 : PCAP: 233.158.244.117:53007
-------------------------------------------------MARKET_DATA_REFRESH
Packet Length
: 171
32f3a800 00ae4274 764c0100
05000000 00000000 00a90500
000000e8 2b009a40 39a20c15
30343031 2d31393a 32353a35
32f91f00 00000000 00000081
00000000 00882031 b1200000
00009a40 39a20c15 32303135
2d31393a 32353a35 312e3030
00000000 00000081 20000000
00882032 b1200000 00000000
0a81079b 72749b82 7f8392
Header Length
SndTm
MsgType
SequenceNo
Size
009c00a1
00000000
32303135
312e3030
20000000
00000000
30343031
32f91f00
00000000
0000aa40
: 15
1427916473006
50
43251
156
Payload Length : 156
LastPx: 10.23
LastQty: 180
LastMessage: 0
MDEntry {
TransactTime: "20150401-19:25:51.002"
EntryPrice: 10
EntrySize: 5
EntrySide: 49
EntryRate: 0
}
MDEntry {
TransactTime: "20150401-19:25:51.002"
EntryPrice: 10.5
EntrySize: 10
EntrySide: 50
EntryRate: 0
}
Instrument {
MPSecID: 10557422150417150619
}
-------------------------------------------------19:27:59.056887 : PCAP: 233.158.244.117:53007
-------------------------------------------------MARKET_DATA_REFRESH
Packet Length
: 202
324a710f 006d6099 cd500100
05000000 00000000 00a90500
000000e8 2b009a40 50a20c15
31313033 2d31333a 34303a31
32f91f9a 99999999 99c93f81
00000024 40882031 91208a8e
00ca00a1
00000000
32303135
302e3430
20000000
e4f21f4a
26
. 5e409920
20daab8f
30313531
2e383635
00000000
f21f4a5e
2001b120
07c6f00a
575bb1bf
87bebb95
3130332d
f91f4725
00002440
409920b0
9b38b9df
3a27ecc7
Header Length
SndTm
MsgType
Seq
Sz
ec565e40
3f9a4050
31333a34
75029a08
88203291
03e78c28
a128a03f
8a
: 15
:
:
:
:
a02008b1
a20c1532
313a3331
d33f8120
208a8ee4
5d5e40a0
aa400a81
1446558392429
50
1012042
202
LastPx: 0
LastQty: 0
LastMessage: 0
MDEntry {
TransactTime: "20151103-13:40:10.402"
EntryPrice: 0.2
EntrySize: 10
EntrySide: 49
EntryLegPriceNear: 121.1582
EntryLegPriceFar: 121.3582
SequenceNo: 8
EntryRate: 0.021224
}
MDEntry {
TransactTime: "20151103-13:41:31.865"
EntryPrice: 0.29740000000000005
EntrySize: 10
EntrySide: 50
EntryLegPriceNear: 121.1582
EntryLegPriceFar: 121.4556
SequenceNo: 1
EntryRate: 0.03156
}
Instrument {
MPSecID: 10000221150821150918
}
27
. 5.4 Market Data Refresh Level 2 Packet Capture
-------------------------------------------------19:27:59.056887 : PCAP: 233.158.244.113:53003
-------------------------------------------------MARKET_DATA_REFRESH
Packet Length
:
3242985c 008a637a
05000000 00000000
000000e8 2b009a40
30383139 2d31393a
33f91f29 5c8fc2f5
00000014 40882032
e5c038be 8eb12001
4046a20c 15323031
3a33363a 34332e34
f528cc3f 81200000
32a02001 a920057a
018750a5 660f943f
31353038 31392d31
353033f9 1f295c8f
00000000 00144088
7af9e5c0 38be8eb1
3f9a4046 a20c1532
31393a33 363a3235
14ae47e1 ca3f8120
882032a0 2001a920
b12012a5 bdc11726
32303135 30383139
352e3734 35f91fb1
20000000 00000014
20027af9 e5c038be
6e863f9a 4046a20c
392d3139 3a33363a
b1726891 ed7cbf3f
14408820 31a02001
be8eb120 853e58c6
0765c637 f7e338be
Header Length
SndTm
MsgType
SequenceNo
Size
474
474f0100
00a90500
46a20c15
33363a35
28cc3f81
a02001a9
8750a566
35303831
3039f91f
00000000
f9e5c038
9a4046a2
393a3336
c2f528cc
2032a020
20018750
30313530
2e333939
00000000
037af9e5
933f9a40
2d31393a
726891ed
40882031
8eb12085
15323031
31322e36
81200000
a920017a
866e863f
8e
00da01a1
00000000
32303135
392e3337
20000000
20067af9
0f943f9a
392d3139
295c8fc2
14408820
be8eb120
0c153230
3a33332e
3f812000
01a92004
a5660f94
3831392d
f91fe27a
00002440
c038be8e
46a20c15
33363a31
7cbf3f81
a02001a9
3e58c686
35303831
3030f91f
00000000
f9e5c038
aa400a81
: 15
1427916473006
50
43251
156
Payload Length : 459
LastPx: 0
LastQty: 0
LastMessage: 0
MDEntry {
TransactTime: "20150819-19:36:59.373"
EntryPrice: 0.22
EntrySize: 5
EntrySide: 50
SequenceNo: 1
ReferenceID: 10285721000104000006
EntryRate: 0.01959
}
MDEntry {
TransactTime: "20150819-19:36:43.409"
28
. EntryPrice: 0.22
EntrySize: 5
EntrySide: 50
SequenceNo: 1
ReferenceID: 10285721000104000005
EntryRate: 0.01959
}
MDEntry {
TransactTime: "20150819-19:36:33.503"
EntryPrice: 0.22
EntrySize: 5
EntrySide: 50
SequenceNo: 1
ReferenceID: 10285721000104000004
EntryRate: 0.01959
}
MDEntry {
TransactTime: "20150819-19:36:25.399"
EntryPrice: 0.21000000000000002
EntrySize: 10
EntrySide: 50
SequenceNo: 1
ReferenceID: 10285721000104000003
EntryRate: 0.0187
}
MDEntry {
TransactTime: "20150819-19:36:15.745"
EntryPrice: 0.12300000000000001
EntrySize: 5
EntrySide: 49
SequenceNo: 1
ReferenceID: 10285721000104000002
EntryRate: 0.010953
}
MDEntry {
TransactTime: "20150819-19:36:12.600"
EntryPrice: 0.12300000000000001
EntrySize: 5
EntrySide: 49
SequenceNo: 1
ReferenceID: 10285721000104000001
EntryRate: 0.010953
}
Instrument {
MPSecID: 10285721150717150821
}
-------------------------------------------------19:27:59.056887 : PCAP: 233.158.244.113:53003
-------------------------------------------------MARKET_DATA_REFRESH
Packet Length
:
32b6db0e 00b1ae95
05000000 00000000
000000e8 2b009a40
31313033 2d31333a
35f91f47 2575029a
00000024 40882032
5e409920 af03e78c
2047ea2e 2204ecc7
28a03f9a 405aa20c
315
cd500100
00a90500
5aa20c15
34313a33
08d33f81
91208a8e
285d5e40
8ab1209b
15323031
003b01a1
00000000
32303135
312e3836
20000000
e4f21f4a
a02001a9
38b9dfa1
35313130
29
. 332d3133
b1726891
14408820
20a7e848
2e2204ec
9a405aa2
333a3430
999999c9
20319120
b1bfec56
ecc78ab1
8107c6f0
3a34313a
ed7cbf3f
3191208a
2eff515e
c78ab120
0c153230
3a31302e
3f812000
8a8ee4f2
5e40a020
20daab8f
0a3a27ec
Header Length
SndTm
MsgType
MsgType
Seq
Sz
:
:
:
:
:
:
32322e32
81200000
8ee4f21f
40a02001
8be1ea00
31353131
343032f9
00000000
1f4a5e40
01a92045
87bebb95
c78a
3431f91f
00000000
4a5e4099
a92046ea
88bb8a3f
30332d31
1f9a9999
00244088
9920575b
ea2e2204
3faa400a
15
1446558089817
50
50
973750
315
LastPx: 0
LastQty: 0
LastMessage: 0
MDEntry {
TransactTime: "20151103-13:41:31.865"
EntryPrice: 0.29740000000000005
EntrySize: 10
EntrySide: 50
EntryLegPriceNear: 121.1582
EntryLegPriceFar: 121.45559999999999
SequenceNo: 1
ReferenceID: 10000221000097000007
EntryRate: 0.03156
}
MDEntry {
TransactTime: "20151103-13:41:22.241"
EntryPrice: 0.12300000000000001
EntrySize: 5
EntrySide: 49
EntryLegPriceNear: 121.1582
EntryLegPriceFar: 121.2812
SequenceNo: 1
ReferenceID: 10000221000097000006
EntryRate: 0.013053
}
MDEntry {
TransactTime: "20151103-13:40:10.402"
EntryPrice: 0.2
EntrySize: 10
EntrySide: 49
EntryLegPriceNear: 121.1582
EntryLegPriceFar: 121.3582
SequenceNo: 1
ReferenceID: 10000221000097000005
EntryRate: 0.021224
}
Instrument {
MPSecID: 10000221150821150918
}
-----------------------------------------------
30
. 5.5 Market Data Update Packet Capture
-------------------------------------------------13:07:26.031569 : PCAP: 233.158.244.204:58204
-------------------------------------------------MARKET_DATA_UPDATE
Packet Length
: 104
31ad0600 00cf9275 cd500100
4049a20c 15323031 35313130
3a30373a 32362e30 3331f01f
00000000 405e4081 20000000
40882031 a02001a9 2041d7e7
8ab12000 00000000 000000aa
40133bc0 f7e3c78a
Header Length
SndTm
MsgType
SequenceNo
Size
0059009a
332d3133
01f91f00
00000014
73e7e3c7
400a8107
: 15
1446556046031
49
1709
89
Payload Length : 89
MDEntry {
TransactTime: "20151103-13:07:26.031"
EntryType: 1
EntryPrice: 121
EntrySize: 5
EntrySide: 49
SequenceNo: 1
ReferenceID: 10000212080821000001
EntryRate: 0
}
Instrument {
MPSecID: 10000212150821000000
}
-------------------------------------------------13:06:32.841574 : PCAP: 233.158.244.204:58204
-------------------------------------------------MARKET_DATA_UPDATE
Packet Length
: 124
31a20600 0009c374 cd500100
405da20c 15323031 35313130
3a30363a 33322e38 3430f01f
f1d24d62 10d03f81 20000000
40882031 91208a8e e4f21f4a
7c613255 305a5e40 a02001a9
2204ecc7 8ab12022 c495b377
400a8107 c6f00a3a 27ecc78a
Header Length
SndTm
MsgType
SequenceNo
Size
006d009a
332d3133
01f91faa
00000024
5e409920
2041ea2e
469b3faa
: 15
1446555992841
49
1698
109
31
. Payload Length : 109
MDEntry {
TransactTime: "20151103-13:06:32.840"
EntryType: 1
EntryPrice: 0.251
EntrySize: 10
EntrySide: 49
EntryLegPriceNear: 121.1582
EntryLegPriceFar: 121.4092
SequenceNo: 1
ReferenceID: 10000221000097000001
EntryRate: 0.026636
}
Instrument {
MPSecID: 10000221150821150918
}
--------------------------------------------------
32
. 5.6 Market State Notification Packet Capture
-------------------------------------------------13:30:04.960517 : PCAP: 233.158.244.10:51000
-------------------------------------------------MARKET_STATE_NOTIFICATION
Packet Length
: 41
61fa4103 00bfe9df 6a4c0100
0c118932 94d9a67a 81120500
07408652 dda215e3 90
Header Length
SndTm
MsgType
SequenceNo
Size
001a0098
aa400a81
: 15
1427722201535
97
213498
26
Payload Length : 26
TradingStatus: 17
NotificationTime: 1427722201389460
Instrument {
MPSecID: 10440212150417000000
}
--------------------------------------------------
5.7 Heartbeat Packet Capture
-------------------------------------------------19:27:25.884133 : PCAP: 233.158.244.110:53000
-------------------------------------------------HEARTBEAT
Packet Length
: 15
00140000 00bcd873 764c0100
Header Length
SndTm
MsgType
SequenceNo
Size
: 15
1427916445884
0
20
0
Payload Length
000000
: 0
--------------------------------------------------
33
. 5.8 Market Data Order Life Cycle Sample
###############################################
(1)
1 Bid event (enter 10 @ $128.50) ( incr not shown )
(2)
1 Bid event (enter 10 @ $128.50) ( incr not shown )
(3)
1 Bid event (enter 10 @ $128.50)
###############################################
LEVEL 1 Incremental
----------------------------------------------SndTm
=1435072298112
MsgType
=49
Seq
=32
Sz
=76
MDEntry {
TransactTime: "20150623-15:11:38.113"
EntryPrice: 128.5
EntrySize: 30
EntrySide: 49
SequenceNo: 3
EntryRate: 0.021931
}
Instrument {
MPSecID: 10000211151218000000
}
31 20 00 00 00 80 7c f9 20 4e 01 00 00 4c 00 9a
40 3c a2 0c 15 32 30 31 35 30 36 32 33 2d 31 35
3a 31 31 3a 33 38 2e 31 31 33 f9 1f 00 00 00 00
00 10 60 40 81 20 00 00 00 00 00 00 3e 40 88 20
31 a0 20 03 b1 20 96 05 13 7f 14 75 96 3f aa 40
0a 81 07 80 c0 3f 03 0f e3 c7 8a
----------------------------------------------LEVEL 1 SSF Refresh
----------------------------------------------SndTm
=1435072331017
MsgType
=50
Seq
=1697361
Sz
=162
LastPx: 0
LastQty: 0
LastMessage: 0
MDEntry {
TransactTime: "20150623-15:11:38.113"
EntryPrice: 128.5
EntrySize: 30
EntrySide: 49
SequenceNo: 3
EntryRate: 0.021931
}
MDEntry {
TransactTime: "20150623-12:00:00.000"
EntryPrice: 0
EntrySize: 0
EntrySide: 50
SequenceNo: 0
EntryRate: 0
}
Instrument {
MPSecID: 10000211151218000000
}
34
. 32 51 e6 19 00 09 fd f9 20 4e 01 00 00 a2 00 a1
05 00 00 00 00 00 00 00 00 a9 05 00 00 00 00 00
00 00 00 e8 2b 00 9a 40 3c a2 0c 15 32 30 31 35
30 36 32 33 2d 31 35 3a 31 31 3a 33 38 2e 31 31
33 f9 1f 00 00 00 00 00 10 60 40 81 20 00 00 00
00 00 00 3e 40 88 20 31 a0 20 03 b1 20 96 05 13
7f 14 75 96 3f 9a 40 3c a2 0c 15 32 30 31 35 30
36 32 33 2d 31 32 3a 30 30 3a 30 30 2e 30 30 30
f9 1f 00 00 00 00 00 00 00 00 81 20 00 00 00 00
00 00 00 00 88 20 32 a0 20 00 b1 20 00 00 00 00
00 00 00 00 aa 40 0a 81 07 80 c0 3f 03 0f e3 c7
8a
----------------------------------------------###############################################
(1)
1 Ask event (enter 10 @ $128.51)
###############################################
LEVEL 1 Incremental
----------------------------------------------SndTm
=1435072584896
MsgType
=49
Seq
=89
Sz
=76
MDEntry {
TransactTime: "20150623-15:16:24.896"
EntryPrice: 128.51
EntrySize: 10
EntrySide: 50
SequenceNo: 1
EntryRate: 0.02209
}
Instrument {
MPSecID: 10000211151218000000
}
31 59 00 00 00 c0 dc fd 20 4e 01 00 00 4c 00 9a
40 3c a2 0c 15 32 30 31 35 30 36 32 33 2d 31 35
3a 31 36 3a 32 34 2e 38 39 36 f9 1f b8 1e 85 eb
51 10 60 40 81 20 00 00 00 00 00 00 24 40 88 20
32 a0 20 01 b1 20 90 49 46 ce c2 9e 96 3f aa 40
0a 81 07 80 c0 3f 03 0f e3 c7 8a
----------------------------------------------LEVEL 1 SSF Refresh
----------------------------------------------SndTm
=1435072693183
MsgType
=50
Seq
=5334345
Sz
=162
LastPx: 0
LastQty: 0
LastMessage: 0
MDEntry {
TransactTime: "20150623-15:11:38.113"
EntryPrice: 128.5
EntrySize: 30
EntrySide: 49
SequenceNo: 3
EntryRate: 0.021931
}
MDEntry {
35
. TransactTime: "20150623-15:16:24.896"
EntryPrice: 128.51
EntrySize: 10
EntrySide: 50
SequenceNo: 1
EntryRate: 0.02209
}
Instrument {
MPSecID: 10000211151218000000
}
32 49 65 51 00 bf 83 ff 20 4e 01 00 00 a2 00 a1
05 00 00 00 00 00 00 00 00 a9 05 00 00 00 00 00
00 00 00 e8 2b 00 9a 40 3c a2 0c 15 32 30 31 35
30 36 32 33 2d 31 35 3a 31 31 3a 33 38 2e 31 31
33 f9 1f 00 00 00 00 00 10 60 40 81 20 00 00 00
00 00 00 3e 40 88 20 31 a0 20 03 b1 20 96 05 13
7f 14 75 96 3f 9a 40 3c a2 0c 15 32 30 31 35 30
36 32 33 2d 31 35 3a 31 36 3a 32 34 2e 38 39 36
f9 1f b8 1e 85 eb 51 10 60 40 81 20 00 00 00 00
00 00 24 40 88 20 32 a0 20 01 b1 20 90 49 46 ce
c2 9e 96 3f aa 40 0a 81 07 80 c0 3f 03 0f e3 c7
8a
----------------------------------------------###############################################
(4)
1 Bid event (cancel 10 @ $128.50)
###############################################
LEVEL 1 Incremental
----------------------------------------------SndTm
=1435072786765
MsgType
=49
Seq
=129
Sz
=76
MDEntry {
TransactTime: "20150623-15:11:38.113"
EntryPrice: 128.5
EntrySize: 20
EntrySide: 49
SequenceNo: 4
EntryRate: 0.021931
}
Instrument {
MPSecID: 10000211151218000000
}
31 81 00 00 00 4d f1 00 21 4e 01 00 00 4c 00 9a
40 3c a2 0c 15 32 30 31 35 30 36 32 33 2d 31 35
3a 31 31 3a 33 38 2e 31 31 33 f9 1f 00 00 00 00
00 10 60 40 81 20 00 00 00 00 00 00 34 40 88 20
31 a0 20 04 b1 20 96 05 13 7f 14 75 96 3f aa 40
0a 81 07 80 c0 3f 03 0f e3 c7 8a
----------------------------------------------LEVEL 1 SSF Refresh
----------------------------------------------SndTm
=1435072981078
MsgType
=50
Seq
=8225281
Sz
=162
LastPx: 0
LastQty: 0
36
. LastMessage: 0
MDEntry {
TransactTime: "20150623-15:11:38.113"
EntryPrice: 128.5
EntrySize: 20
EntrySide: 49
SequenceNo: 4
EntryRate: 0.021931
}
MDEntry {
TransactTime: "20150623-15:16:24.896"
EntryPrice: 128.51
EntrySize: 10
EntrySide: 50
SequenceNo: 1
EntryRate: 0.02209
}
Instrument {
MPSecID: 10000211151218000000
}
32 01 82 7d 00 56 e8 03 21 4e 01 00 00 a2 00 a1
05 00 00 00 00 00 00 00 00 a9 05 00 00 00 00 00
00 00 00 e8 2b 00 9a 40 3c a2 0c 15 32 30 31 35
30 36 32 33 2d 31 35 3a 31 31 3a 33 38 2e 31 31
33 f9 1f 00 00 00 00 00 10 60 40 81 20 00 00 00
00 00 00 34 40 88 20 31 a0 20 04 b1 20 96 05 13
7f 14 75 96 3f 9a 40 3c a2 0c 15 32 30 31 35 30
36 32 33 2d 31 35 3a 31 36 3a 32 34 2e 38 39 36
f9 1f b8 1e 85 eb 51 10 60 40 81 20 00 00 00 00
00 00 24 40 88 20 32 a0 20 01 b1 20 90 49 46 ce
c2 9e 96 3f aa 40 0a 81 07 80 c0 3f 03 0f e3 c7
8a
----------------------------------------------###############################################
(5)
1 Bid event (cancel 10 @ $128.50) ( incr not shown )
(6)
1 Bid event (cancel 10 @ $128.50)
###############################################
LEVEL 1 Incremental
----------------------------------------------SndTm
=1435073053319
MsgType
=49
Seq
=183
Sz
=76
MDEntry {
TransactTime: "20150623-15:24:13.320"
EntryPrice: 0
EntrySize: 0
EntrySide: 49
SequenceNo: 6
EntryRate: 0
}
Instrument {
MPSecID: 10000211151218000000
}
31
40
3a
00
31
b7
3c
32
00
a0
00
a2
34
00
20
00
0c
3a
00
06
00
15
31
81
b1
87
32
33
20
20
02
30
2e
00
00
05
31
33
00
00
21
35
32
00
00
4e
30
30
00
00
01
36
f9
00
00
00
32
1f
00
00
00
33
00
00
00
4c
2d
00
00
00
00
31
00
88
aa
9a
35
00
20
40
37
. 0a 81 07 80 c0 3f 03 0f e3 c7 8a
----------------------------------------------LEVEL 1 SSF Refresh
----------------------------------------------SndTm
=1435073106465
MsgType
=50
Seq
=9484237
Sz
=162
LastPx: 0
LastQty: 0
LastMessage: 0
MDEntry {
TransactTime: "20150623-15:24:13.320"
EntryPrice: 0
EntrySize: 0
EntrySide: 49
SequenceNo: 6
EntryRate: 0
}
MDEntry {
TransactTime: "20150623-15:16:24.896"
EntryPrice: 128.51
EntrySize: 10
EntrySide: 50
SequenceNo: 1
EntryRate: 0.02209
}
Instrument {
MPSecID: 10000211151218000000
}
32 cd b7 90 00 21 d2 05 21 4e 01 00 00 a2 00 a1
05 00 00 00 00 00 00 00 00 a9 05 00 00 00 00 00
00 00 00 e8 2b 00 9a 40 3c a2 0c 15 32 30 31 35
30 36 32 33 2d 31 35 3a 32 34 3a 31 33 2e 33 32
30 f9 1f 00 00 00 00 00 00 00 00 81 20 00 00 00
00 00 00 00 00 88 20 31 a0 20 06 b1 20 00 00 00
00 00 00 00 00 9a 40 3c a2 0c 15 32 30 31 35 30
36 32 33 2d 31 35 3a 31 36 3a 32 34 2e 38 39 36
f9 1f b8 1e 85 eb 51 10 60 40 81 20 00 00 00 00
00 00 24 40 88 20 32 a0 20 01 b1 20 90 49 46 ce
c2 9e 96 3f aa 40 0a 81 07 80 c0 3f 03 0f e3 c7
8a
----------------------------------------------###############################################
(2)
1 Ask event (cancel 10 @ $128.51)
###############################################
LEVEL 1 Incremental
----------------------------------------------[2015-06-23 15:25:44.144067] :
channel
=233.158.244.188:58008
SndTm
=1435073144142
MsgType
=49
Seq
=201
Sz
=76
MDEntry {
TransactTime: "20150623-15:25:44.143"
EntryPrice: 0
EntrySize: 0
EntrySide: 50
38
. SequenceNo: 2
EntryRate: 0
}
Instrument {
MPSecID: 10000211151218000000
}
31 c9 00 00 00 4e 65 06 21 4e 01 00 00 4c 00 9a
40 3c a2 0c 15 32 30 31 35 30 36 32 33 2d 31 35
3a 32 35 3a 34 34 2e 31 34 33 f9 1f 00 00 00 00
00 00 00 00 81 20 00 00 00 00 00 00 00 00 88 20
32 a0 20 02 b1 20 00 00 00 00 00 00 00 00 aa 40
0a 81 07 80 c0 3f 03 0f e3 c7 8a
----------------------------------------------LEVEL 1 SSF Refresh
----------------------------------------------SndTm
=1435073201658
MsgType
=50
Seq
=10440111
Sz
=162
LastPx: 0
LastQty: 0
LastMessage: 0
MDEntry {
TransactTime: "20150623-15:24:13.320"
EntryPrice: 0
EntrySize: 0
EntrySide: 49
SequenceNo: 6
EntryRate: 0
}
MDEntry {
TransactTime: "20150623-15:25:44.143"
EntryPrice: 0
EntrySize: 0
EntrySide: 50
SequenceNo: 2
EntryRate: 0
}
Instrument {
MPSecID: 10000211151218000000
}
32 af 4d 9f 00 fa 45 07 21 4e 01 00 00 a2 00 a1
05 00 00 00 00 00 00 00 00 a9 05 00 00 00 00 00
00 00 00 e8 2b 00 9a 40 3c a2 0c 15 32 30 31 35
30 36 32 33 2d 31 35 3a 32 34 3a 31 33 2e 33 32
30 f9 1f 00 00 00 00 00 00 00 00 81 20 00 00 00
00 00 00 00 00 88 20 31 a0 20 06 b1 20 00 00 00
00 00 00 00 00 9a 40 3c a2 0c 15 32 30 31 35 30
36 32 33 2d 31 35 3a 32 35 3a 34 34 2e 31 34 33
f9 1f 00 00 00 00 00 00 00 00 81 20 00 00 00 00
00 00 00 00 88 20 32 a0 20 02 b1 20 00 00 00 00
00 00 00 00 aa 40 0a 81 07 80 c0 3f 03 0f e3 c7
8a
-----------------------------------------------
39
. 5.9 Corporate Event Packet Capture
-------------------------------------------------11:01:00.648984 : PCAP: 233.158.244.10:51000
-------------------------------------------------PRODUCT_CATALOG
Packet Length
: 116
640ef000 006830fa 3e4e0100
2b00aa40 5fe90300 00000000
06083230 31353132 31388a06
80905f32 45db809d 90090198
0142ba0b 06474f4f 47324398
bc69da1c 06555343 415348da
4f47821d 06323130 303030ea
30303030
Header Length
SndTm
MsgType
SequenceNo
Size
006500e8
00594082
01308107
090eea0a
0c12d01c
1c04474f
1f063132
: 15
1435575660648
100
61454
101
Payload Length : 101
LastMessage: 0
Instrument {
ContractMultiplier: 100
MaturityDate: "20151218"
MaturityDateBack: "0"
MPSecID: 11349312151218000000
ProductSubType: 1
ProductType: 14
SecuritySubType: "B"
Symbol: "GOOG2C"
TradingStatus: 18
PositionLimit: 13500
Underlying: "USCASH"
Underlying: "GOOG"
CloseTime: "210000"
OpenTime: "120000"
}
--------------------------------------------------
40
. 6.0 GPB Templates
Visit ftp://www.onechicago.com for relevant proto file template
6.1 Good Morning
message GoodMorning
{
optional string TradeDate = 190;
optional string Text = 186;
}
6.2 Product Catalog
message ProductCatalog
{
optional InstrumentGroup Instrument = 1029;
optional string Symbol = 183;
optional fixed64 MPSecID = 112;
repeated string Underlying = 459;
optional int32 ProductType = 147;
optional string MaturityDate = 96;
optional string MaturityDateBack = 97;
optional string SecuritySubType = 173;
optional int32 ProductSubType = 146;
optional string OpenTime = 509;
optional string CloseTime = 464;
optional double StrikePrice = 454;
optional double ContractMultiplier = 61;
optional int32 PositionLimit = 458;
optional int32 TradingStatus = 195;
optional int32 LastMessage = 701;
}
6.3 Exchange Summary
message ExchangeSummary
{
optional InstrumentSummaryGroup InstrumentSummary = 1026;
optional string Symbol = 183;
optional string MaturityDate = 96;
optional string SecurityType = 173;
optional double HighPx = 442;
optional int32 HighPxIndicator = 519;
optional double LowPx = 444;
optional int32 LowPxIndicator = 520;
optional double ClosePx = 445;
optional int32 ClosePxindicator = 521;
optional double OpenPx = 443;
optional int32 OpenPxIndicator = 522;
optional double SettlePx = 446;
optional double NetChangePx = 448;
optional int32 BlockVolume = 451;
optional int32 EFPVolume = 450;
optional int32 SSFVolume = 523;
optional int32 TotalVolume = 449;
optional int32 OpenInterest = 452;optional string TradeDate = 190;
optional int32 LastMessage = 701;
}
41
. 6.4 Market Data Refresh
message MarketDataRefresh
{
optional InstrumentGroup Instrument = 1029;
optional fixed64 MPSecID = 112;
repeated MDEntryGroup MDEntry = 1026;
optional int32 EntryType = 510;
optional double EntryPrice = 511;
optional double EntrySize = 512;
optional int32 EntrySide = 513;;
optional double EntryLegPriceNear = 514;
optional double EntryLegPriceFar = 515;
optional int32 SequenceNo = 516;
optional fixed64 ReferenceID = 517;
optional double EntryRate = 518;
optional string TransactTime = 196;
optional double NetChangePx = 448;
optional double LastPx = 84;
optional double LastQty = 85;
optional int32 LastMessage = 701;
}
6.5 Market Data Update
message MarketDataUpdate
{
optional InstrumentGroup Instrument = 1029;6
optional fixed64 MPSecID = 112;
repeated MDEntryGroup MDEntry = 1026;
optional int32 EntryType = 510;
optional double EntryPrice = 511;
optional double EntrySize = 512;
optional int32 EntrySide = 513;;
optional double EntryLegPriceNear = 514;
optional double EntryLegPriceFar = 515;
optional int32 SequenceNo = 516;
optional fixed64 ReferenceID = 517;
optional double EntryRate = 518;
optional string TransactTime = 196;
optional double NetChangePx = 448;
}
6.6 Market State Notification
message MarketStateNotification
{
optional int32 UpdateType = 524;
optional fixed64 NotificationTime = 801;
optional int32 TradingStatus = 195;
optional string Text = 186;
optional int32 HaltReason = 700;
optional InstrumentGroup Instrument = 1029;
optional fixed64 MPSecID = 112;
optional double ContractMultiplier }
42
. 7.0 Dissecting the OCXdelta1 MPSecID
OCXdelta1 utilizes proprietary Market Place Security ID’s (MPSecID) to identify tradable
instruments. MPSecID’s are used in all trading, and market data on OCXdelta1. The construction
of a MPSecID can be seen below.
7.1 Breakdown
ID (max 83,999)
|
| Group ID
|
|
|
| Front Month Exp—(yymmdd)
|
|
|
|
|
| Back Month Exp—(yymmdd)
|
|
|
|
v
v
v
v
1xxxxx|xx|xxxxxx|xxxxxx ( 20 long )
Id values would correspond to product type ( i.e. AAPL1C/AAPL1D/ AAPL3H).
Group id will
distinguish the product subtype. Valid values:
11 = SSF
12 = Block
13 = EFP
21 = SSF spread
22 = block spread
7.2 Sample MPSecID breakdown
MPSecID – 10000211140815000000
Id = 100002 – AAPL1C
Group ID = 11 – SSF
Front Month Exp = 140815 – August 15th, 2014
Back Month Exp = 000000 – No back month, not spread
43
.