ISE Spread Book Feed Specification - ISE.com
ISE Spread Book Feed Specification - ISE.com
ISE Spread Book Feed Specification - ISE.com
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
<strong>ISE</strong> Options Exchange<br />
<strong>ISE</strong> <strong>Spread</strong> <strong>Book</strong> <strong>Feed</strong> <strong>Specification</strong><br />
For use with FIX software version 5.0<br />
Issue date: June, 2008<br />
Version: 1.0<br />
Produced by:<br />
International Securities Exchange, Inc.<br />
60 Broad Street, New York NY 10004<br />
www.ise.<strong>com</strong><br />
Copyright 2007 International Securities Exchange, Inc. All rights reserved. No part of this<br />
document may be reproduced without a written permission of International Securities Exchange,<br />
Inc.
Table of Contents<br />
1 Introduction ..............................................................................................................................4<br />
1.1 About <strong>ISE</strong> <strong>Spread</strong>s ® ........................................................................................................4<br />
1.2 Overview of <strong>ISE</strong> <strong>Spread</strong> <strong>Book</strong> <strong>Feed</strong> ...............................................................................4<br />
1.3 Hours of Operation..........................................................................................................5<br />
1.4 Support and Connectivity ................................................................................................6<br />
2 <strong>ISE</strong> <strong>Spread</strong> <strong>Book</strong> <strong>Feed</strong> ............................................................................................................7<br />
2.1 Snapshot / Full Refresh.................................................................................................10<br />
2.2 Incremental Refresh - New order..................................................................................12<br />
2.3 Debit vs. Credit and Bid vs. Offer..................................................................................15<br />
2.4 Oversize snapshot messages.......................................................................................16<br />
2.5 Change order ................................................................................................................16<br />
2.6 Delete order...................................................................................................................17<br />
3 Message Formats ..................................................................................................................19<br />
3.1 FIX Message Headers ..................................................................................................19<br />
3.2 Market Data Incremental Refresh .................................................................................20<br />
3.3 Market Data Snapshot / Full Refresh............................................................................22<br />
3.4 Sequence Reset............................................................................................................24<br />
4 Communications ....................................................................................................................25<br />
4.1 Transmission Standards ...............................................................................................25<br />
4.2 Failover..........................................................................................................................25<br />
4.3 Production IP Groups....................................................................................................26<br />
4.4 Testing IP Groups .........................................................................................................26<br />
<strong>ISE</strong> <strong>Spread</strong> <strong>Book</strong> <strong>Feed</strong> 2
About This Document<br />
This document is a programmer’s reference guide intended to aid in the development and<br />
integration of the <strong>ISE</strong> <strong>Spread</strong> <strong>Book</strong> feed. It is intended to cover the general business behavior of<br />
the <strong>ISE</strong> <strong>Spread</strong> order book feed and the technology standards and techniques employed to<br />
provide this service.<br />
Intended Audience<br />
This document is for programmers, analysts and IT managers who are developing <strong>ISE</strong> <strong>Spread</strong><br />
<strong>Book</strong> feed client applications.<br />
Related Documents<br />
The <strong>ISE</strong> <strong>Spread</strong> <strong>Book</strong> <strong>Feed</strong> makes use of the FIX protocol version 5.0.<br />
Document Description Location<br />
Financial Information<br />
Exchange Protocol v5.0<br />
Describes the industry standard<br />
for broker – institution<br />
www.fixprotocol.org/specificatio<br />
ns/<br />
<strong>com</strong>munication.<br />
FIX Protocol Internet site Provides a central repository for www.fixprotocol.org<br />
FIX documents.<br />
<strong>ISE</strong> Internet site<br />
Provides exchange information<br />
for members.<br />
www.ise.<strong>com</strong><br />
Document History<br />
Version<br />
Version 1.0<br />
Change History<br />
Initial Release<br />
<strong>ISE</strong> <strong>Spread</strong> <strong>Book</strong> <strong>Feed</strong> 3
1 Introduction<br />
1.1 About <strong>ISE</strong> <strong>Spread</strong>s ®<br />
<strong>ISE</strong> <strong>Spread</strong>s ® is an innovative technology that enables all market participants to trade smarter by<br />
providing efficient and liquid markets for multi-legged strategies including Complex, Buy-write and<br />
Delta Neutral orders. The fully electronic order book was launched in 2003 and offers immediate<br />
execution in over 1000 products.<br />
The <strong>Spread</strong> <strong>Book</strong> <strong>Feed</strong> provides subscribers with a <strong>com</strong>plete view of all <strong>com</strong>plex orders on the<br />
<strong>ISE</strong> <strong>Spread</strong> book. The feed consists of spread order information including instrument data,<br />
spread ratio, net price and order quantity.<br />
Orders are NOT aggregated at each price level. All orders of the same type are grouped together<br />
with a <strong>com</strong>mon SecurityID assigned to that type and shown in Bid/Offer format.<br />
The spread book broadcast service is based on industry and technology standards including<br />
Financial Information exchange (FIX) protocol for business level messaging, and UDP IPv4<br />
standards for transmission of broadcast data dissemination. The <strong>ISE</strong> <strong>Spread</strong> <strong>Book</strong> <strong>Feed</strong> is<br />
currently distributed by BT Radianz via the Radianz Shared Market Infrastructure, by NYSE<br />
Euronext Advanced Trading Solutions Secure Financial Transaction Infrastructure (SFTI®) and<br />
by SAVVIS.<br />
1.2 Overview of <strong>ISE</strong> <strong>Spread</strong> <strong>Book</strong> <strong>Feed</strong><br />
The <strong>ISE</strong> <strong>Spread</strong> <strong>Book</strong> feed has two message types. An Incremental Refresh message that<br />
provides updates to the order book, and Full Refresh message that provides a snapshot of the<br />
order book. The term Snapshot and Full Refresh are interchangeable throughout this document.<br />
Snapshot messages are used to continuously cycle through the <strong>Spread</strong> Order <strong>Book</strong> every two<br />
minutes throughout the day and always reflect the state of the order book as at the last<br />
Incremental Refresh message<br />
The following information is sent out for each spread order:<br />
• Security ID<br />
• Refresh Indicator<br />
• Number of legs<br />
• Time in force<br />
• Net Price<br />
• Quantity<br />
• Order ID<br />
• Special Order type<br />
• Interest Only<br />
The following information is sent out for each leg of the spread order:<br />
• OPRA Code<br />
• CFI Code<br />
• Expiration Date<br />
• Strike Price<br />
• Leg Side<br />
• Leg Ratio<br />
<strong>ISE</strong> <strong>Spread</strong> <strong>Book</strong> <strong>Feed</strong> 4
The data feed is being Multicast over various networks in an A-feed / B-feed format, similar to<br />
OPRA. The market data is distributed over 2 multicast addresses. There is no need to request<br />
retransmissions of lost packets. If a packet is lost or if you are late to join the data feed, you will<br />
wait for a <strong>com</strong>plete cycle of the Snapshot / Full Refresh messages to ensure that the order book<br />
data is accurate.<br />
The messages are defined using the FIX.5.0 standard for market data, and follow the best<br />
practices outlined by the FIX Market Data Working Group.<br />
For more information about the FIX 5.0, please refer to the following web sites:<br />
http://fixprotocol.org/specification.<br />
1.3 Hours of Operation<br />
Normal trading hours for the <strong>ISE</strong> Options market are from 9:30am to 4:00pm ET and 4:15pm ET<br />
for Index Options.<br />
The <strong>ISE</strong> <strong>Spread</strong> <strong>Book</strong> <strong>Feed</strong> is brought online each day at approximately 7:00am ET and<br />
continues to broadcast information throughout the trading day. The services stop broadcasting at<br />
5:00pm ET.<br />
Time<br />
7:00am<br />
<strong>Spread</strong> <strong>Book</strong> <strong>Feed</strong> Activity<br />
The <strong>Spread</strong> <strong>Book</strong> feed begins.<br />
All spread orders of the same type and the inverse of that type are assigned a<br />
<strong>com</strong>mon SecurityID so that like orders can be shown in an order book format.<br />
A Full Refresh message is sent for the first order of each type and establishes the<br />
Security ID for that type.<br />
As new orders are entered into the system leading to the market open. Incremental<br />
Refresh messages are sent out for orders that are added/changed/modified on the<br />
book.<br />
Full Refresh messages are disseminated continuously with a <strong>com</strong>plete refresh of the<br />
<strong>Spread</strong> Order <strong>Book</strong> every two minutes.<br />
9:30am<br />
The Market opens and regular trading begins.<br />
Incremental Refresh messages are sent to update the book as the market changes.<br />
Full refresh messages are sent continuously with a <strong>com</strong>plete refresh of the market<br />
every two minutes.<br />
4:00pm/<br />
4:15pm<br />
6:00pm<br />
Regular trading ends.<br />
Market Data Snapshot Full Refresh messages continue to be disseminated with end<br />
of day information.<br />
The <strong>ISE</strong> <strong>Spread</strong> <strong>Book</strong> <strong>Feed</strong> stops disseminating Full Refresh messages.<br />
Table 1 - Normal Processing Schedule<br />
<strong>ISE</strong> <strong>Spread</strong> <strong>Book</strong> <strong>Feed</strong> 5
1.4 Support and Connectivity<br />
<strong>ISE</strong> support for the <strong>Spread</strong> <strong>Book</strong> <strong>Feed</strong> is available from 8 am to 6 pm (Eastern Time) on market<br />
days and the contacts are as follows:<br />
<strong>ISE</strong> Contacts<br />
Business Issues 212 897-8160 bizdev@ise.<strong>com</strong><br />
Technical Support 212 897-0284 <strong>com</strong>puteroperations@ise.<strong>com</strong><br />
FIX Support 212 897-0244, #2 tms@ise.<strong>com</strong><br />
The <strong>ISE</strong> <strong>Spread</strong> <strong>Book</strong> <strong>Feed</strong> is currently distributed by BT Radianz via the Radianz Shared Market<br />
Infrastructure, by NYSE Euronext Advanced Trading Solutions Secure Financial Transaction<br />
Infrastructure (SFTI®) and by SAVVIS. We re<strong>com</strong>mend a 10 MB redundant connection with an<br />
aggregate of 20 MB of bandwidth, which represents 100% head room based on the peak data<br />
rates as of January 2008. The contacts for support and connectivity are as follows:<br />
BT Radianz Inc.<br />
Edmond Esquilin 212 415 4664 edmond.esquilin@bt.<strong>com</strong><br />
Support 877 882-1497<br />
SFTI (Secure Financial Transaction Infrastructure) contacts at NYSE Euronext Advanced<br />
Trading Solutions<br />
Sales 212 244-5551 sales@transacttools.<strong>com</strong><br />
Support 800 873-7422 SFTI@SIAC.<strong>com</strong><br />
SAVVIS<br />
Sales 800-463-8294 Team<strong>ISE</strong>@savvis.net<br />
Support 888-638-6771<br />
For additional information please send email to bizdev@ise.<strong>com</strong>.<br />
<strong>ISE</strong> <strong>Spread</strong> <strong>Book</strong> <strong>Feed</strong> 6
2 <strong>ISE</strong> <strong>Spread</strong> <strong>Book</strong> <strong>Feed</strong><br />
This section describes the <strong>ISE</strong> <strong>Spread</strong> <strong>Book</strong> <strong>Feed</strong>, the different messages that are sent by <strong>ISE</strong><br />
and how they are used to maintain the <strong>Spread</strong> Order <strong>Book</strong>. The <strong>ISE</strong> <strong>Spread</strong> <strong>Book</strong> <strong>Feed</strong> provides<br />
subscribers with a full view of the <strong>ISE</strong> <strong>Spread</strong> Order <strong>Book</strong> where all orders are assigned to<br />
SecurityID (Tag 48). SecurityIDs are created when orders with unique structure characteristics<br />
are entered into the <strong>Spread</strong> Order <strong>Book</strong>.<br />
Structure characteristics:<br />
• Series Legs – A maximum of 4 options legs (series) plus a cash equity leg<br />
• Ratio of each leg<br />
• Side of each leg (buy/sell)<br />
Example of a SecurityID and inverse orders<br />
Order<br />
Buy 1 GOOG9JAN600.0C<br />
Sell 2 GOOG9JAN650.0C<br />
Buy 1 GOOG9JAN700.0P<br />
If this is the first time an order of this leg/ratio/side <strong>com</strong>position is entered a new randomly<br />
generated Security is created and disseminated through with the Full Refresh.<br />
Security example: 0de0f330-a80e-4595-8ea1-d34f2774f9cb<br />
If this is NOT the first time an order of this leg/ratio/side <strong>com</strong>position is entered then an<br />
Incremental Refresh with a “MDUpdateAction” of “New” is disseminated where the Incremental<br />
references an existing “SecurityID”.<br />
If the following inverse order is entered an Incremental Refresh with an “MDUpdateAction” of<br />
“New” is disseminated where the Incremental Refresh references same Security ID of 0de0f330-<br />
a80e-4595-8ea1-d34f2774f9cb.<br />
Sell 1 GOOG9JAN600.0C<br />
Buy 2 GOOG9JAN650.0C<br />
Sell 1 GOOG9JAN700.0P<br />
The <strong>ISE</strong> <strong>Spread</strong> <strong>Book</strong> feed utilizes following FIX message types as listed in the table below.<br />
MsgType<br />
(tag=35)<br />
X<br />
Message Name<br />
Market Data Incremental<br />
Refresh<br />
Notes<br />
The MDUpdateAction tag indicates the usage<br />
of the message type:<br />
• MDUpdateAction = 0 - New order<br />
• MDUpdateAction = 1 - Change order<br />
• MDUpdateAction = 2 - Delete order<br />
W Market Data Snapshot /<br />
Full Refresh<br />
Snapshots of all order on the book.<br />
4 Sequence Reset Indicates the message sequence number is<br />
being reset.<br />
Table 2 - Market Data Messages<br />
<strong>ISE</strong> <strong>Spread</strong> <strong>Book</strong> <strong>Feed</strong> 7
The message formats are based on the FIX.5.0 specification, with some extensions as noted in<br />
Section 3.<br />
Incremental with MDUpdateAction – New - Is used to add new orders to structures (securities)<br />
that are already defined on the feed. There should never be an Incremental with<br />
MDUpdateAction – New without reference to an existing “SecurityID” (Tag48)<br />
Incremental with MDUpdateAction – Change – Is used to update an order when order quantity<br />
is decreased. For an increase in quantity an Incremental with a MDUpdateAction of Delete<br />
followed by a Incremental with a New is sent out.<br />
Incremental with MDUpdateAction – Delete – Is used to delete orders from structures<br />
(SecurityID) or to increase the quantity of existing orders. Deletes can be sent out for the<br />
following reasons<br />
1. Order has traded out <strong>com</strong>pletely<br />
2. Order has been altered up in quantity or has been traded partially – Note Incremental<br />
with MDUpdateAction of new is sent out with the new quantity<br />
3. Order has been deleted<br />
4. Order Price – Increase or decrease – For an increase or decrease in price an<br />
Incremental with a MDUPdateAction of Delete followed by a Incremental with a New is<br />
sent out.<br />
In the event that all order size has been traded/deleted for a SecurityID the feed must continue to<br />
publish the SecurityID through the Full Refresh Message. This Full Refresh message should<br />
continue to distribute information regarding the structure and will have tag 268 NoMDEntries = 0.<br />
The <strong>Spread</strong> <strong>Book</strong> <strong>Feed</strong> <strong>com</strong>mences each day at 07:00 AM EST with a Snapshot Message for<br />
each order in the book followed by an Incremental Refresh Message. The ‘Snapshot’ message is<br />
sent for each series every two minutes. Incremental Refresh messages will now insert price and<br />
quantity into the order books. Each message has one instruction (MDUpdateAction) that can be<br />
to add, change or delete an order.<br />
The following is an example of a spread order posted on the <strong>ISE</strong> <strong>Spread</strong> <strong>Book</strong>:<br />
ID B/S Ratio Qty Price Valid<br />
ALL8DEC47.5C<br />
ALL8DEC52.5C<br />
Buy<br />
Sell<br />
1<br />
1<br />
10 2.75 Day<br />
Following Snapshot message is sent out with the SecurityID of the spread order. If this is the first<br />
time an order of this leg/ratio/side <strong>com</strong>position is entered then Full refresh message always has<br />
MD entries field set to 0 and refresh indicator set to 1.<br />
Tag<br />
Tag Name Value Description<br />
Number<br />
Standard FIX Header MsgType = “W”<br />
48 SecurityID 653c34f6-ac00-436ca065-3ba12fb0debd<br />
Security identifier value.<br />
22 SecurityIDSource 99 Valid values:<br />
<strong>ISE</strong> <strong>Spread</strong> <strong>Book</strong> <strong>Feed</strong> 8
Tag<br />
Tag Name Value Description<br />
Number<br />
Standard FIX Header MsgType = “W”<br />
99 – GUID<br />
911 TotNumReports 1 Total number of Market<br />
Data reports.<br />
1 (Default)<br />
963 MDReportID 1 Unique identifier for<br />
Market Data report<br />
1 (Default)<br />
1187 RefreshIndicator 1 Default value is set to 0.<br />
When set to 1, the<br />
message should be<br />
processed. When set to<br />
0, the message could be<br />
processed.<br />
555 NoLegs 2 Number of legs<br />
> 600 LegSymbol ALL This is the underlying<br />
symbol and not the 3<br />
char OCC trading symbol<br />
602 LegsSecurityID ALLEY FULL OPRA CODE<br />
603 LegsSecurityIDSource J J – Options Price<br />
Reporting Authority (for<br />
Option legs)<br />
608 LegCFICode OC OC-Option Call [OPT]<br />
611 LegMaturityDate 20080517 Maturity Date (only for<br />
Option legs in<br />
YYYYMMDD format)<br />
612 LegStrikePrice 47.5 0 - 99999999.9999 (only<br />
for Option legs)<br />
624 LegSide 1 1-Buy<br />
623 LegRatioQty 1 must be an integer >=1<br />
> 600 LegSymbol ALL This is the underlying<br />
symbol and not the 3<br />
char OCC trading symbol<br />
602 LegsSecurityID ALLEX FULL OPRA CODE<br />
603 LegsSecurityIDSource J Identifies class or source<br />
of the Security<br />
J – Options Price<br />
Reporting Authority (for<br />
Option legs)<br />
608 LegCFICode OC OC-Option Call [OPT]<br />
611 LegMaturityDate 20080517 Maturity Date (only for<br />
Option legs in<br />
YYYYMMDD format)<br />
612 LegStrikePrice 52.5 0 - 99999999.9999 (only<br />
for Option legs)<br />
624 LegSide 2 2-Sell<br />
623 LegRatioQty 1 must be an integer >=1<br />
268 NoMDEntries 0 Number of entries<br />
following for this strategy.<br />
Incremental Refresh Message is sent following Snapshot with MD update Action set to 0<br />
<strong>ISE</strong> <strong>Spread</strong> <strong>Book</strong> <strong>Feed</strong> 9
Tag Number Tag Name Value Description<br />
Standard FIX Header MsgType = “X”<br />
268 NoMDEntries 1 Number of entries<br />
following.<br />
Valid value: 1<br />
> 279 MDUpdateAction 0 0 – New<br />
48 SecurityID 653c34f6-ac00-436ca065-3ba12fb0debd<br />
Security identifier value.<br />
GUID in this case. (Same<br />
as Snapshot)<br />
22 SecurityIS Source 99 99 – GUID<br />
269 MDEntryType 0 Bid<br />
270 MDEntryPx 2.75 Entry price for the Order<br />
271 MDEntrySize 10 Quantity or Volume<br />
represented by the Market<br />
Data Entry<br />
59 Time In Force 0 Day<br />
37 Order ID 726DB618:1623CA44 Order ID assigned by <strong>ISE</strong><br />
9202 Special Order R<br />
Regular order<br />
Type<br />
10 CheckSum Trailer<br />
Full Refresh Messages are being continuously sent such that feed subscriber receives Full<br />
Refresh Messages for every spread orders on the book every two minutes. The Full Refresh<br />
message always reflects the state of the last Incremental Refresh Message.<br />
Snapshot messages can be ignored unless the field ‘Refresh Indicator’ has the value ‘1’. This is<br />
used in the event of a system failure that requires the <strong>ISE</strong> to send snapshots for all orders to<br />
refresh the order book or when an order with new leg/ratio/side <strong>com</strong>position added throughout the<br />
day.<br />
2.1 Snapshot / Full Refresh<br />
A Snapshot message is used to send a <strong>com</strong>plete picture of the order book. Prior to market<br />
opening the Snapshot is sent to provide an initial view of spread order book. A Snapshot of entire<br />
order book is sent every two minutes to provide an initial state for applications as they connect to<br />
the data feed, and it also serves as a heartbeat mechanism so that client applications can<br />
constantly check that they are receiving data.<br />
Snapshot / Full Refresh Example - An example of a Snapshot following the opening would be<br />
as follows:<br />
Tag Tag Name Value Description<br />
Number<br />
Standard FIX Header MsgType = “W”<br />
48 SecurityID e450bcfe-6d2b-4053- Security identifier value.<br />
83c9-24603c2f5408<br />
22 SecurityIDSource 99 Valid values:<br />
99 – GUID<br />
911 TotNumReports 1 Total number of Market Data<br />
reports.<br />
1 (Default)<br />
963 MDReportID 1 Unique identifier for Market Data<br />
<strong>ISE</strong> <strong>Spread</strong> <strong>Book</strong> <strong>Feed</strong> 10
Tag Tag Name Value Description<br />
Number<br />
Standard FIX Header MsgType = “W”<br />
report<br />
1 (Default)<br />
1187 RefreshIndicator 1 Default value is set to 0. When<br />
set to 1, the message should be<br />
processed. When set to 0, the<br />
message could be processed.<br />
555 NoLegs 2 Number of legs<br />
> 600 LegSymbol ALL This is the underlying symbol<br />
and not the 3 char OCC trading<br />
symbol<br />
602 LegsSecurityID ALLEY FULL OPRA CODE<br />
603 LegsSecurityIDSourc<br />
e<br />
J<br />
J – Options Price Reporting<br />
Authority (for Option legs)<br />
608 LegCFICode OC OC-Option Call [OPT]<br />
611 LegMaturityDate 20080517 Maturity Date (only for Option<br />
legs in YYYYMMDD format)<br />
612 LegStrikePrice 47.5 0 - 99999999.9999 (only for<br />
Option legs)<br />
624 LegSide 1 1-Buy<br />
623 LegRatioQty 1 must be an integer >=1<br />
> 600 LegSymbol ALL This is the underlying symbol<br />
and not the 3 char OCC trading<br />
symbol<br />
602 LegsSecurityID ALLEX FULL OPRA CODE<br />
603 LegsSecurityIDSourc<br />
e<br />
J<br />
Identifies class or source of the<br />
Security<br />
J – Options Price Reporting<br />
Authority (for Option legs)<br />
608 LegCFICode OC OC-Option Call [OPT]<br />
611 LegMaturityDate 20080517 Maturity Date (only for Option<br />
legs in YYYYMMDD format)<br />
612 LegStrikePrice 52.5 0 - 99999999.9999 (only for<br />
Option legs)<br />
624 LegSide 2 2-Sell<br />
623 LegRatioQty 1 must be an integer >=1<br />
268 NoMDEntries 3 Number of entries following for<br />
this strategy.<br />
> 269 MDEntryType 0 Bid<br />
270 MDEntryPx 10.50 Entry price for the Order<br />
271 MDEntrySize 10 Quantity or Volume represented<br />
by the Market Data Entry<br />
59 Time In Force 0 Day<br />
37 Order ID 726DB618:1623CA44 Order ID assigned by <strong>ISE</strong><br />
9202 Special Order Type R Regular order<br />
> 269 MDEntryType 0 Bid<br />
270 MDEntryPx 10.60 Entry price for the Order.<br />
271 MDEntrySize 50 Quantity or Volume represented<br />
by the spread order.<br />
59 Time In Force 0 Day<br />
37 Order ID 726DB618:1623CA44 Order ID assigned by <strong>ISE</strong><br />
9202 Special Order Type R Regular order<br />
<strong>ISE</strong> <strong>Spread</strong> <strong>Book</strong> <strong>Feed</strong> 11
Tag Tag Name Value Description<br />
Number<br />
Standard FIX Header MsgType = “W”<br />
> 269 MDEntryType 0 Bid<br />
270 MDEntryPx 10.70 Entry price for the Order<br />
271 MDEntrySize 10 Quantity or Volume represented<br />
by the spread order.<br />
59 Time In Force 1 GTC<br />
37 Order ID 726DB618:1623CA44 Order ID assigned by <strong>ISE</strong><br />
9202 Special Order Type R Regular order<br />
10 Checksum Trailer<br />
The Information being conveyed above represents following snapshot of the <strong>Spread</strong> <strong>Book</strong>:<br />
ID B/S Ratio Qty Price I/E Valid<br />
ALL8DEC47.5C Buy 1<br />
10 10.50 E Day<br />
ALL8DEC52.5C Sell 1<br />
ALL8DEC47.5C Buy 1<br />
50 10.60 E Day<br />
ALL8DEC52.5C Sell 1<br />
ALL8DEC47.5C<br />
ALL8DEC52.5C<br />
Buy<br />
Sell<br />
1<br />
1<br />
10 10.70 E GTC<br />
2.2 Incremental Refresh - New order<br />
Incremental Refresh Example 1 – A new order added to existing SecurityID:<br />
State of the book before a new order is entered:<br />
ID B/S Ratio Qty Price I/E Valid<br />
ALL8DEC47.5C Buy 1<br />
10 10.50 E Day<br />
ALL8DEC52.5C Sell 1<br />
ALL8DEC47.5C Buy 1<br />
50 10.60 E Day<br />
ALL8DEC52.5C Sell 1<br />
ALL8DEC47.5C<br />
ALL8DEC52.5C<br />
Buy<br />
Sell<br />
1<br />
1<br />
10 10.70 E GTC<br />
A new Customer order for 20 contracts is added to spread book to buy ALL Dec 47.5 and sell<br />
Dec 52.5 calls. The order is priced at $10.80.<br />
Tag Number Tag Name Value Description<br />
Standard FIX Header MsgType = “X”<br />
268 NoMDEntries 1 Number of entries following.<br />
Valid value: 1<br />
> 279 MDUpdateAction 0 0 – New<br />
48 SecurityID 653c34f6-ac00-436ca065-3ba12fb0debd<br />
22 SecurityID Source 99 99 – GUID<br />
269 MDEntryType 0 Bid<br />
Security identifier value. GUID<br />
in this case. (Same as<br />
Snapshot)<br />
<strong>ISE</strong> <strong>Spread</strong> <strong>Book</strong> <strong>Feed</strong> 12
Tag Number Tag Name Value Description<br />
Standard FIX Header MsgType = “X”<br />
270 MDEntryPx 10.80 Entry price for the Order<br />
271 MDEntrySize 20 Quantity or Volume represented<br />
by the Market Data Entry<br />
59 Time In Force 0 Day<br />
37 Order ID 726DB618:1623CAAR Order ID assigned by <strong>ISE</strong><br />
9202 Special Order R<br />
Regular order<br />
Type<br />
10 CheckSum Trailer<br />
State of the book after the order is entered:<br />
ID B/S Ratio Qty Price I/E Valid<br />
ALL8DEC47.5C Buy 1<br />
10 10.50 E Day<br />
ALL8DEC52.5C Sell 1<br />
ALL8DEC47.5C Buy 1<br />
50 10.60 E Day<br />
ALL8DEC52.5C Sell 1<br />
ALL8DEC47.5C Buy 1<br />
10 10.70 E GTC<br />
ALL8DEC52.5C Sell 1<br />
ALL8DEC47.5C<br />
ALL8DEC52.5C<br />
Buy<br />
Sell<br />
1<br />
1<br />
20 10.80 E Day<br />
Incremental Refresh Example 2 – A new spread order for IBM.<br />
This example shows an order arriving with different spread structure for IBM for the first time in<br />
current trading session.<br />
State of the book before a new order is entered:<br />
ID B/S Ratio Qty Price I/E Valid<br />
ALL8DEC47.5C Buy 1<br />
10 10.50 E Day<br />
ALL8DEC52.5C Sell 1<br />
ALL8DEC47.5C Buy 1<br />
50 10.60 E Day<br />
ALL8DEC52.5C Sell 1<br />
ALL8DEC47.5C<br />
ALL8DEC52.5C<br />
Buy<br />
Sell<br />
1<br />
1<br />
10 10.70 E GTC<br />
A new spread order for 10 contracts is added to the <strong>Spread</strong> Order <strong>Book</strong> to buy IBM October 95<br />
Call and sell October 100 Call. The order is priced at $20.95. This result in a full refresh message<br />
with new security ID followed by incremental refresh message to add price and quantity of the<br />
spread order.<br />
Tag Tag Name Value Description<br />
Number<br />
Standard FIX Header MsgType = “W”<br />
48 SecurityID e450bcfe-6d2b- Security identifier value.<br />
4053-83c9-<br />
24603c2f5408<br />
22 SecurityIDSource 99 Valid values:<br />
99 – GUID<br />
<strong>ISE</strong> <strong>Spread</strong> <strong>Book</strong> <strong>Feed</strong> 13
Tag Tag Name Value Description<br />
Number<br />
Standard FIX Header MsgType = “W”<br />
911 TotNumReports 1 Total number of Market Data<br />
reports.<br />
1 (Default)<br />
963 MDReportID 1 Unique identifier for Market Data<br />
report<br />
1 (Default)<br />
1187 RefreshIndicator 1 Default value is set to 0. When set<br />
to 1, the message should be<br />
processed. When set to 0, the<br />
message could be processed.<br />
555 NoLegs 2 Number of legs<br />
> 600 LegSymbol IBM This is the underlying symbol and<br />
not the 3 char OCC trading symbol<br />
602 LegsSecurityID IBMVS FULL OPRA CODE<br />
603 LegsSecurityIDSource J J – Options Price Reporting<br />
Authority (for Option legs)<br />
608 LegCFICode OC OC-Option Call [OPT]<br />
611 LegMaturityDate 20081018 Maturity Date (only for Option legs<br />
in YYYYMMDD format)<br />
612 LegStrikePrice 95 0 - 99999999.9999 (only for Option<br />
legs)<br />
624 LegSide 1 1-Buy<br />
623 LegRatioQty 1 must be an integer >=1<br />
> 600 LegSymbol IBM This is the underlying symbol and<br />
not the 3 char OCC trading symbol<br />
602 LegsSecurityID IBMVT FULL OPRA CODE<br />
603 LegsSecurityIDSource J Identifies class or source of the<br />
Security<br />
J – Options Price Reporting<br />
Authority (for Option legs)<br />
608 LegCFICode OC OC-Option Call [OPT]<br />
611 LegMaturityDate 20081018 Maturity Date (only for Option legs<br />
in YYYYMMDD format)<br />
612 LegStrikePrice 100 0 - 99999999.9999 (only for Option<br />
legs)<br />
624 LegSide 2 2-Sell<br />
623 LegRatioQty 1 must be an integer >=1<br />
268 NoMDEntries 0 Number of entries following for this<br />
strategy.<br />
Incremental refresh message sent to add price and quantity of the order.<br />
Tag Number Tag Name Value Description<br />
Standard FIX Header MsgType = “X”<br />
268 NoMDEntries 1 Number of entries following.<br />
Valid value: 1<br />
> 279 MDUpdateAction 0 0 – New<br />
48 SecurityID e450bcfe-6d2b-<br />
4053-83c9-<br />
24603c2f5408<br />
Security identifier value. GUID in<br />
this case. (Same as Snapshot)<br />
<strong>ISE</strong> <strong>Spread</strong> <strong>Book</strong> <strong>Feed</strong> 14
Tag Number Tag Name Value Description<br />
Standard FIX Header MsgType = “X”<br />
22 SecurityIS Source 99 99 – GUID<br />
269 MDEntryType 0 Bid<br />
270 MDEntryPx 20.95 Entry price for the Order<br />
271 MDEntrySize 10 Quantity or Volume represented by<br />
the Market Data Entry<br />
59 Time In Force 0 Day<br />
37 Order ID 726DB618:1623C Order ID assigned by <strong>ISE</strong><br />
AAR<br />
9202 Special Order Type R Regular order<br />
10 CheckSum Trailer<br />
State of the book after the order is entered:<br />
ID B/S Ratio Qty Price I/E Valid<br />
ALL8DEC47.5C Buy 1<br />
10 10.50 E Day<br />
ALL8DEC52.5C Sell 1<br />
ALL8DEC47.5C Buy 1<br />
50 10.60 E Day<br />
ALL8DEC52.5C Sell 1<br />
ALL8DEC47.5C Buy 1<br />
10 10.70 E GTC<br />
ALL8DEC52.5C Sell 1<br />
IBM8OCT95.0C<br />
IBM8OCT100.0C<br />
Buy<br />
Sell<br />
1<br />
1<br />
10 20.95 E Day<br />
2.3 Debit vs. Credit and Bid vs. Offer<br />
When a new SecurityID is created the following rules apply when determining the whether the<br />
SecurityID is broadcast as a Bid vs. Offer.<br />
1. If the net price of the order is a positive value then the structure (leg sides and ratio) of the<br />
SecurityID is created as entered into the book as a BID.<br />
Example:The following order is entered for a Debit of 9.00<br />
The feed publishes the following<br />
Buy 1 GOOG9JAN600.0C<br />
Sell 2 GOOG9JAN650.0C<br />
Buy 1 GOOG9JAN700.0P<br />
Buy 1 GOOG9JAN600.0C<br />
Sell 2 GOOG9JAN650.0C as a BID of 9.00<br />
Buy 1 GOOG9JAN700.0P<br />
2. If the net price of the order is a negative value then the structure (leg sides and ratio) of the<br />
SecurityID is created as an INVERSE of the entered into the book as an OFFER.<br />
Example:<br />
The following order is entered for a Credit of -9.00<br />
Sell 1 GOOG9JAN600.0C<br />
Buy 2 GOOG9JAN650.0C<br />
<strong>ISE</strong> <strong>Spread</strong> <strong>Book</strong> <strong>Feed</strong> 15
Sell 1 GOOG9JAN700.0P<br />
The feed publishes the following **Note Inverse Structure**<br />
Buy 1 GOOG9JAN600.0C<br />
Sell 2 GOOG9JAN650.0C as an OFFER of 9.00<br />
Buy 1 GOOG9JAN700.0P<br />
NOTE: since the price is negative for the very first order in this structure, the inverse of in<strong>com</strong>ing<br />
structure is created, MDEntryType=OFFER & price = (-1) * order_price for the in<strong>com</strong>ing order.<br />
Throughout the trading day prices could be positive or negative. All prices would start positive at<br />
the start of the day and may move to negative prices.<br />
2.4 Oversize snapshot messages<br />
All orders that belong to a structure are sent in the Snapshot full refresh message. It is possible<br />
that the size of a full snapshot message exceeds the datagram packet size threshold of 1000<br />
bytes due to multiple orders in a structure. In this scenario, the full snapshot message would be<br />
broken into multiple full refresh messages and then written to the multicast address.<br />
Tags 911 (TotNumReports) and 963 (MDReportID) are used for <strong>com</strong>municating the number of<br />
refresh messages related to each security ID.<br />
For example, if there were 25 orders in one structure and each snapshot is set to disseminate 10<br />
orders, then the Full refresh message would be broken as follows:<br />
Msg 1: TotNumReport=3, MDReportID=1, FullRefreshMsg contains 10 orders<br />
Msg 2: TotNumReport=3, MDReportID=2, FullRefreshMsg contains 10 orders<br />
Msg 3: TotNumReport=3, MDReportID=3, FullRefreshMsg contains 5 orders<br />
2.5 Change order<br />
An Incremental Refresh Message with MDUpdateAction equal to “1” indicates a change to a<br />
posted order. This includes Price and/or Quantity update.<br />
Incremental Refresh Example 3 – Customer reduce quantity on existing order:<br />
State of the book before the execution:<br />
ID B/S Ratio Qty Price I/E Valid<br />
ALL8DEC47.5C Buy 1<br />
10 10.50 E Day<br />
ALL8DEC52.5C Sell 1<br />
ALL8DEC47.5C Buy 1<br />
50 10.60 E Day<br />
ALL8DEC52.5C Sell 1<br />
ALL8DEC47.5C Buy 1<br />
10 10.70 E GTC<br />
ALL8DEC52.5C Sell 1<br />
IBM8OCT95.0C<br />
IBM8OCT100.0C<br />
Buy<br />
Sell<br />
1<br />
1<br />
10 20.95 E Day<br />
The quantity of an existing buy order in IBM October 95 and 100 Calls is reduced from 10<br />
contracts to 5. The price remains the same ($20.95).<br />
<strong>ISE</strong> <strong>Spread</strong> <strong>Book</strong> <strong>Feed</strong> 16
Tag Number Tag Name Value Description<br />
Standard FIX Header MsgType = “X”<br />
268 NoMDEntries 1 Number of entries following.<br />
Valid value: 1<br />
> 279 MDUpdateAction 1 1 – Change<br />
48 SecurityID e450bcfe-6d2b-4053-<br />
83c9-24603c2f5408<br />
Security identifier value. GUID in<br />
this case. (Same as Snapshot)<br />
22 SecurityIS Source 99 99 – GUID<br />
269 MDEntryType 0 Bid<br />
270 MDEntryPx 20.95 Entry price for the Order<br />
271 MDEntrySize 5 Quantity or Volume represented<br />
by the Market Data Entry<br />
59 Time In Force 0 Day<br />
37 Order ID 726DB618:1623CAAR Order ID assigned by <strong>ISE</strong><br />
9202 Special Order R<br />
Regular order<br />
Type<br />
10 CheckSum Trailer<br />
State of the book after the order is executed:<br />
ID B/S Ratio Qty Price I/E Valid<br />
ALL8DEC47.5C<br />
ALL8DEC52.5C<br />
ALL8DEC47.5C<br />
ALL8DEC52.5C<br />
ALL8DEC47.5C<br />
ALL8DEC52.5C<br />
IBM8OCT95.0C<br />
IBM8OCT100.0C<br />
Buy<br />
Sell<br />
Buy<br />
Sell<br />
Buy<br />
Sell<br />
Buy<br />
Sell<br />
1<br />
1<br />
1<br />
1<br />
1<br />
1<br />
1<br />
1<br />
10 10.50 E Day<br />
50 10.60 E Day<br />
10 10.70 E GTC<br />
5 20.95 E Day<br />
2.6 Delete order<br />
An Incremental Refresh (Message Type X) with MDUpdateAction equal to “2” is used to indicate<br />
an order delete.<br />
Incremental Refresh Example 4 – Existing order deleted on <strong>ISE</strong> by customer:<br />
State of the book before the execution:<br />
ID B/S Ratio Qty Price I/E Valid<br />
ALL8DEC47.5C Buy 1<br />
10 10.50 E Day<br />
ALL8DEC52.5C Sell 1<br />
ALL8DEC47.5C Buy 1<br />
50 10.60 E Day<br />
ALL8DEC52.5C Sell 1<br />
ALL8DEC47.5C Buy 1<br />
10 10.70 E GTC<br />
ALL8DEC52.5C Sell 1<br />
IBM8OCT95.0C<br />
IBM8OCT100.0C<br />
Buy<br />
Sell<br />
1<br />
1<br />
5 20.95 E Day<br />
<strong>ISE</strong> <strong>Spread</strong> <strong>Book</strong> <strong>Feed</strong> 17
The order to buy IBM Oct95 calls and sell Oct 100 calls was deleted. <strong>ISE</strong> <strong>Spread</strong> <strong>Book</strong> <strong>Feed</strong><br />
sends out a delete Incremental refresh message, specifying which order was deleted.<br />
Tag Number Tag Name Value Description<br />
Standard FIX Header MsgType = “X”<br />
268 NoMDEntries 1 Number of entries following.<br />
Valid value: 1<br />
> 279 MDUpdateAction 2 2 – Delete<br />
48 SecurityID e450bcfe-6d2b-4053-<br />
83c9-24603c2f5408<br />
Security identifier value. GUID<br />
in this case. (Same as<br />
Snapshot)<br />
22 SecurityIS Source 99 99 – GUID<br />
37 Order ID 726DB618:1623CAAR Order ID assigned by <strong>ISE</strong><br />
10 CheckSum Trailer<br />
State of the book after the delete message is received<br />
ID B/S Ratio Qty Price I/E Valid<br />
ALL8DEC47.5C Buy 1<br />
10 10.50 E Day<br />
ALL8DEC52.5C Sell 1<br />
ALL8DEC47.5C Buy 1<br />
50 10.60 E Day<br />
ALL8DEC52.5C Sell 1<br />
ALL8DEC47.5C<br />
ALL8DEC52.5C<br />
Buy<br />
Sell<br />
1<br />
1<br />
10 10.70 E GTC<br />
<strong>ISE</strong> <strong>Spread</strong> <strong>Book</strong> <strong>Feed</strong> 18
3 Message Formats<br />
This section describes each message type in detail. Each message is described in its FIX format<br />
followed by an example of the message.<br />
3.1 FIX Message Headers<br />
Every message has a standard FIX.5.0 header with the following tags:<br />
Tag Field Name Req'd Comments<br />
8 BeginString Y Identifies beginning of new message and protocol<br />
version. ALWAYS FIRST FIELD IN MESSAGE.<br />
Valid value:<br />
FIX.5.0<br />
35 MsgType Y Defines message type.<br />
Valid values:<br />
W = Market Data – Snapshot/Full Refresh<br />
X = Market Data – Incremental Refresh<br />
34 MsgSeqNum Y Integer message sequence number.<br />
52 SendingTime Y Time of message transmission (always expressed in<br />
UTC (Universal Time Coordinated, also known as<br />
"GMT").<br />
Table 3 - FIX Message Headers<br />
<strong>ISE</strong> <strong>Spread</strong> <strong>Book</strong> <strong>Feed</strong> 19
3.2 Market Data Incremental Refresh<br />
The Market Data Incremental Refresh message contains the fields listed in the following table<br />
below. The repeating group is noted by the “>” in the far left hand column.<br />
Tag Field Name Req'd Comments<br />
Standard Header Y MsgType = X<br />
268 NoMDEntries Y Number of entries following.<br />
Valid value: 1<br />
> 27 MDUpdateAction Y<br />
9<br />
Must be first field in this repeating group.<br />
Valid values:<br />
0 – New<br />
1 – Change<br />
2 – Delete<br />
Component Block <br />
> 48 SecurityID Y Security identifier value. GUID in this case.<br />
> 22 SecurityIDSource Y Valid values:<br />
99 – GUID<br />
End Block <br />
> 269 MDEntryType Y Type of Market Data Entry.<br />
Valid Values:<br />
0 – Bid<br />
1 – Offer<br />
> 270 MDEntryPx N Entry price for the Order.<br />
> 271 MDEntrySize Y Quantity or Volume represented by the Market Data<br />
Entry<br />
> 59 TimeInForce N For optional use when this Bid or Offer represents<br />
an order<br />
Valid values:<br />
0 – Day<br />
1 – Good Till Cancel (GTC)<br />
3 – Immediate Or Cancel (IOC)<br />
> 18 ExecInst N Can contain multiple instructions, space delimited<br />
Valid value:<br />
G – All or None<br />
<strong>ISE</strong> <strong>Spread</strong> <strong>Book</strong> <strong>Feed</strong> 20
37 OrderID Y For optional use when this Bid, Offer, or Trade<br />
represents an order<br />
Valid value: LogB Order Number<br />
> 920<br />
2<br />
SpecialOrdType N Valid Values:<br />
R – Regular order (default)<br />
F - Facilitation order<br />
S – Unsolicited order<br />
Z – Interest order<br />
Table 4 - Market Data Incremental Refresh<br />
<strong>ISE</strong> <strong>Spread</strong> <strong>Book</strong> <strong>Feed</strong> 21
3.3 Market Data Snapshot / Full Refresh<br />
The Market Data Snapshot message is used to refresh the book and contains the fields listed in<br />
the table below. The repeating group is noted by the “>” in the far left hand column.<br />
Tag Field Name Req' Comments<br />
d<br />
Standard Header Y MsgType = W<br />
Component Block <br />
48 SecurityID Y Security identifier value.<br />
22 SecurityIDSource Y Valid values:<br />
99 – GUID<br />
End Block <br />
911 TotNumReports N Total number of Market Data reports.<br />
1 (Default)<br />
963 MDReportID N Unique identifier for Market Data report<br />
1 (Default)<br />
1187 RefreshIndicator Y Default value is set to 0. When set to 1, the<br />
message should be processed. When set to 0, the<br />
message could be processed.<br />
555 NoLegs N Number of legs<br />
Component Block <br />
> 60 LegSymbol Y This is the underlying symbol and not the 3 char<br />
0<br />
OCC trading symbol<br />
> 60<br />
2<br />
> 60<br />
3<br />
> 60<br />
8<br />
> 61<br />
1<br />
> 61<br />
2<br />
> 62<br />
4<br />
LegSecurityID N FULL OPRA CODE<br />
LegSecurityIDSourc<br />
e<br />
N<br />
Identifies class or source of the Security<br />
Valid values:<br />
J – Options Price Reporting Authority (for Option<br />
legs)<br />
8 – Exchange Symbol (for Stock legs)<br />
LegCFICode Y OC-Option Call [OPT]<br />
OP-Option Put [OPT]<br />
ES-Equity Common Shares [CS]<br />
LegMaturityDate N Maturity Date (only for Option legs in YYYYMMDD<br />
format)<br />
LegStrikePrice N 0 - 99999999.9999 (only for Option legs)<br />
LegSide Y 1-Buy<br />
2-Sell<br />
3-Sell Short<br />
<strong>ISE</strong> <strong>Spread</strong> <strong>Book</strong> <strong>Feed</strong> 22
62 LegRatioQty Y must be an integer >=1<br />
3<br />
< end of Instrument Leg ><br />
268 NoMDEntries Y Number of entries following for this strategy.<br />
> 269 MDEntryType Y Type of Market Data Entry.<br />
Valid Values:<br />
0 – Bid<br />
1 – Offer<br />
> 270 MDEntryPx N Entry price for the Order.<br />
> 271 MDEntrySize Y Quantity or Volume represented by the Market Data<br />
Entry<br />
> 59 TimeInForce N For optional use when this Bid or Offer represents<br />
an order<br />
Valid values:<br />
0 – Day<br />
1 – Good Till Cancel (GTC)<br />
3 – Immediate Or Cancel (IOC)<br />
> 18 ExecInst N Can contain multiple instructions, space delimited<br />
Valid value:<br />
G – All or None<br />
> 37 OrderID Y For optional use when this Bid, Offer, or Trade<br />
represents an order<br />
Valid value: LogB Order Number<br />
> 9202 SpecialOrdType N Valid Values:<br />
R – Regular order (default)<br />
F - Facilitation order<br />
S – Unsolicited order<br />
Z – Interest order<br />
Table 5 - Market Data Snapshot / Full Refresh<br />
<strong>ISE</strong> <strong>Spread</strong> <strong>Book</strong> <strong>Feed</strong> 23
3.4 Sequence Reset<br />
Tag Field Name Req'd Comments<br />
Standard Header Y MsgType = 4<br />
123 GapFillFlag N Indicates that the Sequence Reset message is<br />
replacing administrative or application messages<br />
which will not be resent.<br />
Valid value:<br />
N – Reset mode<br />
36 NewSeqNo Y New sequence number<br />
If a Sequence Reset message is received the client should expect the next sequence number to<br />
be higher than NewSeqNo tag value.<br />
<strong>ISE</strong> <strong>Spread</strong> <strong>Book</strong> <strong>Feed</strong> 24
4 Communications<br />
The <strong>ISE</strong> <strong>Spread</strong> <strong>Book</strong> <strong>Feed</strong> is currently distributed by BT Radianz via the Radianz Shared Market<br />
Infrastructure and by NYSE Euronext Advanced Trading Solutions Secure Financial Transaction<br />
Infrastructure (SFTI®). These providers use advanced tele<strong>com</strong>munications protocols, and was<br />
designed to support a number of industry-standard protocols including IP and UDP as defined by<br />
the Internet Engineering Task Force (IETF). We expect additional extranet providers to distribute<br />
this data.<br />
<strong>ISE</strong> <strong>Spread</strong> <strong>Book</strong> feed data is disseminated using multicast via two redundant lines (A and B)<br />
that are intended to provide a level of fault tolerance. We re<strong>com</strong>mend a 10 MB redundant<br />
connection with an aggregate of 20 MB of bandwidth, which represents 100% head room based<br />
on the peak data rates as of January 2008. A separate set of addresses and ports are used for<br />
functional testing.<br />
4.1 Transmission Standards<br />
The <strong>ISE</strong> <strong>Spread</strong> <strong>Book</strong> feed utilizes IP version 4 (IPv4) over UDP and Ethernet standards. The<br />
figure below illustrates the header information as defined in IETF RFC 791 (IPv4) and RFC 768<br />
(UDP) transmission protocol standards.<br />
Bits 0-7 8-15 16-23 24-31<br />
0<br />
32<br />
Source Address<br />
Destination Address<br />
64 Zeros Protocol<br />
Source Port<br />
Length<br />
96<br />
128<br />
160<br />
Data<br />
Figure 1 - UDP Header<br />
UDP Length<br />
Destination Port<br />
Checksum<br />
One or more encoded FIX.5.0 messages may be included in a single UDP packet.<br />
4.2 Failover<br />
The <strong>ISE</strong> <strong>Spread</strong> <strong>Book</strong> feed has been architected for fault tolerance by providing two redundant<br />
streams of data disseminated from two diversely located data centers. There is one feed from<br />
each site: ‘A’ feed from the A site/server and ‘B’ feed from the B site/server.<br />
When there has been a failure in the service at the <strong>ISE</strong> the ‘RefreshIndicator’ is set to ‘1’ which<br />
indicates that the subscriber should discard the contents in the order book and <strong>com</strong>pletely<br />
replace it with the contents of this Snapshot message. The ‘RefreshIndicator’ also allows the<br />
subscriber to only process Snapshots that are set to ‘1’ once the market is open.<br />
<strong>ISE</strong> <strong>Spread</strong> <strong>Book</strong> <strong>Feed</strong> 25
4.3 Production IP Groups<br />
The table below identifies the primary and secondary multicast address and port information for<br />
the production <strong>com</strong>munication services.<br />
Primary (Group A) Secondary (Group B)<br />
Line Address Port Address Port<br />
1 233.104.73.97 53097 233.104.73.33 53033<br />
2 233.104.73.98 53098 233.104.73.34 53034<br />
Table 6: Production Multicast Lines<br />
4.4 Testing IP Groups<br />
A third sub-set of addresses and ports will be used to provide test data both during and after<br />
market hours but not on weekends. The following symbols are available on each IP address.<br />
Test Group and Symbols<br />
Address Port Symbols included<br />
1 233.104.73.161 53161 YHOO, IBM, QQQQ, INTC, SPY, MSFT, ALL,<br />
Table 7: Test Multicast Lines<br />
<strong>ISE</strong> <strong>Spread</strong> <strong>Book</strong> <strong>Feed</strong> 26