Instruments and Symbols

Instruments and Symbols

Supported Instruments

Once the client has logged on, it should expect to receive a list of all instruments that are supported by the Metro instance. (An instrument can be considered to be the smallest tradeable unit of an exchange product.) It is not guaranteed that all instruments will come in a single message. Clients should assume that they may receive multiple SupportedInstruments messages. The SupportedInstruments message will be followed by a SupportedInstrumentsAck to notify the client that the initial snapshot has been received; a SupportedInstrumentsAck message will be sent to the client after intra-day instrument additions as well.

Syntax

SupportedInstruments <Instrument> <Instrument> ...

Example

SupportedInstruments S GE GE 105212 GE 112300 03/16/2020 1249140 2840237 0.005 CME=857493 2 2839949 1.0 2840139 -1.0
Field Value Repeating Comment Example
Header SupportedInstrument N    
Instrument Type C, P, F, E, I, S, VS N option = C or P future = F
equity = E index = I
spread = S
vol spread = VS
S
ParentSymbol string N   GE
ClassSymbol string N   GE
ClassID int N   105212
GroupSymbol string N   GE
GroupID int N   112300
Expiration date N   03/16/2020
MonthID int N   1249140
InstrumentID int N   2840237
MinPriceIncrement double N   0.005
ExchangeIdentifier string N Exchange Security ID CME=857493
NumLegs int Y   2
LegInstrumentID int Y   2839949
LegRatio double Y   1.0
LegInstrumentID int Y   2840139
LegRatio double Y   -1.0

Note

When available, additional values will be available for exchange identifiers. For example, the 914525|UD:1N: 20VT 200412914525

An instrument can be an option, future, equity, index, spread, or volatility spread. The is defined in the first field, which will then determine the remainder of the parameters:

An option is defined as:

<InstrumentType = C or P> <ParentSymbol> <ClassSymbol> <ClassID> <GroupSymbol> <GrouplID> <Strike> <Expiration> <MonthID> <InstrumentID> <UnderlyingInstrumentID <MinPriceIncrement> <Exchange>

future is defined as:

<InstrumentType = F> <ParentSymbol> <ClassSymbol> <ClassID> <GroupSymbol> <GrouplID> <Expiration> <MonthID> <InstrumentID> <MinPriceIncrement> <Exchange>

An index is defined as:

<InstrumentType = I> <ParentSymbol> <ClassSymbol> <ClassID> <GroupSymbol> <GrouplID> <Symbol> <InstrumentID> <MinPriceIncrement> <Exchange>

An equity is defined as:

<InstrumentType = E> <ParentSymbol> <ClassSymbol> <ClassID> <GroupSymbol> <GrouplID> <Symbol> <InstrumentID> <MinPriceIncrement> <Exchange>

spread (or strategy) is defined as:

<InstrumentType = S> <ParentSymbol> <ClassSymbol> <ClassID> <GroupSymbol> <GrouplID> <Expiration> <MonthID> <InstrumentID> <MinPriceIncrement> <Exchange> <NumLegs> <Leg1> <Leg2>

leg is defined the same in both spreads and volatility spreads

<InstrumentID> <LegRatio>

volatility (or "covered") spread is defined as:

<InstrumentType = VS> <ParentSymbol> <ClassSymbol> <ClassID> <GroupSymbol> <GrouplID> <Expiration> <MonthID> <InstrumentID> <MinPriceIncrement> <Exchange> <NumLegs> <Leg1> <Leg2> <NumVolLegs> <VolLeg1> <VolLeg2>

where a volatility leg is defined as:

<InstrumentID> <VLegRatio> <VLegPrice> <VLegDelta>

The InstrumentType indicates if the instrument defined is a Call, Put, Future, Equity, Index, or Strategy. When processing strategies, LegRatio will be an integer indicating the number of contracts necessary to buy/sell to complete the strategy (VLegRatio works the same way for the volatility legs of a volatility spread). InstrumentIDs, MonthIDs, and ClassIDs are the main keys used by Metro, and at least one will need to be provided when updates are requested or sent, depending on the granularity of the request.

Activate Symbol

The ActivateSymbol message enables a client to “activate” a specific portfolio symbol. Symbol activation will start market data and quoting for all options under the symbol. Activation will also allow all clients to receive various updates for this symbol. For instance, trade updates will not be received for an IBM option until the portfolio symbol IBM is activated.

Example

ActivateSymbol IBM