Skip to main content
Version: Upcoming

SpiderStream

Overview

SpiderStream multicast data feeds are distributed from SpiderRock datacenters using proprietary record layouts. All SpiderStream multicast feeds utilize publicly assigned and routable multicast addresses and cna be transported over standard 1/10/40/100 Gb IP network links.

SpiderStream data is organized into records which have a primary key. When the state of a record with a given primary key changes, an update message with that primary key is sent on the Feed.

To allow an application to obtain the current state of records of interest, SpiderStream data records are available from SpiderRock hosted cache servers.

SpiderStream multicast data is also consumed by our SRSE/SQL servers and can be accessed from those servers using traditional SQL queries. If you are looking for a semi-live query-able datasource, you should consider this product.

Connectivity

A connection to SpiderRock is required in order to access SpiderStream data. Currently, the following are supported:

  • Cross connect with SpiderRock in either Equinix CH2 (Chicago) or Equinix NY4 (New Jersey).
  • Connect via a commercial network provider. Contact SpiderRock customer support for more details.

SpiderStream Data Provisioning

SpiderStream data is delivered via a series of data channels where each channel corresponds to a unique public IP multicast address and also a unique multicast port. Clients are typically provisioned to only receive individual channels or channel groups. Provisioning, in the case of certain live market data streams, may require approval of the originating exchange or data source and may incur additional data fees.

SpiderStream Message Layouts

SpiderStream message layouts are designed for fast message parsing using struct overlay (blitting) techniques - however, any suitable parsing technique could be used.

All individual messages have the following layout: [FIX LENGTH HEADER] [FIXED LENGTH KEY] [BODY].

Individual IP packets may contain one or more messages laid out sequentially. The maximum size of a transmitted UDP packet is 1,500 bytes (1 MTU). Fragmented UDP packets are not transmitted.

Note:

Fields in the message BODY can be either fixed or variable length. Typically, only fixed length fields are used for high velocity messages.

A SpiderStream API is available in C++ and in C# on GitHub. The API can be used to parse SpiderStream messages. The documentation can also be used to review message layout on the wire.

Message Header

Each message begins with a fixed length header, which includes the following information:

Field NameField Description
SysEnvironmentNone=0, V7_Stable=3, V7_Latest=4
message_typeSee the message summary for type values.
source_idSequence number source
sequence_number
sent_timeDatacenter synchronized timestamp
message_lengthLength of the message (inclusive of this header)
key_lengthLength of the message key

See cpp/include/SpiderRock/DataFeed/Header.H in the SRDataFeed repository for details about header field data types and layout.

SpiderStream Data Channels

The following SpiderStream channels are available:

Multicast ChannelMulticast AddressMulticast Port
CfeAdmin233.74.249.2730277
CmeAdmin233.74.249.2530275
EqtAdmin233.74.249.2830278
FundQuoteMfqs233.74.249.3930289
FutNbboQuoteV233.74.249.4530295
FutNbboQuoteX233.74.249.4330293
FutNbboQuoteY233.74.249.4430294
FutPrintMarkupCbot233.74.249.18530435
FutPrintMarkupCfe233.74.249.18930439
FutPrintMarkupCme233.74.249.18430434
FutPrintMarkupComex233.74.249.18730437
FutPrintMarkupIce233.74.249.18830438
FutPrintMarkupNymex233.74.249.18630436
FutQuoteCbot233.74.249.2230272
FutQuoteCfe233.74.249.4130291
FutQuoteCme233.74.249.2130271
FutQuoteComex233.74.249.2430274
FutQuoteIce233.74.249.2030270
FutQuoteNymex233.74.249.2330273
IceAdmin233.74.249.2630276
IdxQuoteCboe233.74.249.5330303
IdxQuoteMIAX233.74.249.5430304
IdxQuoteSR233.74.249.5230302
Imbalance233.74.249.16930419
ImbalanceArca233.74.249.17030420
ImbalanceNasdaq233.74.249.17230422
ImbalanceNyse233.74.249.17130421
ImpliedQuoteCbot233.74.249.6330313
ImpliedQuoteCme233.74.249.6230312
ImpliedQuoteComex233.74.249.6530315
ImpliedQuoteIce233.74.249.6630316
ImpliedQuoteNmsA233.74.249.7130321
ImpliedQuoteNmsB233.74.249.7130321
ImpliedQuoteNmsC233.74.249.7230322
ImpliedQuoteNmsD233.74.249.7230322
ImpliedQuoteNmsE233.74.249.7330323
ImpliedQuoteNmsF233.74.249.7330323
ImpliedQuoteNmsG233.74.249.7430324
ImpliedQuoteNmsH233.74.249.7430324
ImpliedQuoteNmsLoop233.74.249.6130311
ImpliedQuoteNymex233.74.249.6430314
NmsSpreadQuote233.74.249.1730267
OptNbboQuoteA233.74.249.1130261
OptNbboQuoteB233.74.249.1130261
OptNbboQuoteC233.74.249.1230262
OptNbboQuoteD233.74.249.1230262
OptNbboQuoteE233.74.249.1330263
OptNbboQuoteF233.74.249.1330263
OptNbboQuoteG233.74.249.1430264
OptNbboQuoteH233.74.249.1430264
OptNbboQuoteSpx233.74.249.1530265
OptNbboQuoteX233.74.249.1830268
OptNbboQuoteY233.74.249.1930269
OptQuoteCbot233.74.249.3230282
OptQuoteCme233.74.249.3130281
OptQuoteComex233.74.249.3430284
OptQuoteIce233.74.249.3030280
OptQuoteNymex233.74.249.3330283
OTCNbboQuote233.74.249.530255
StkNbboQuoteA233.74.249.130251
StkNbboQuoteB233.74.249.130251
StkNbboQuoteC233.74.249.230252
StkNbboQuoteD233.74.249.230252
StkNbboQuoteE233.74.249.330253
StkNbboQuoteF233.74.249.330253
StkNbboQuoteG233.74.249.430254
StkNbboQuoteH233.74.249.430254
StkPrintMarkup233.74.249.18030430