Structure |
Related Messages
Description
The Mass Quote message can contain quotes for multiple securities to support applications that allow for the mass quoting of an option series. Two levels of repeating groups have been provided to
minimize the amount of data required to submit a set of quotes for a class of options (e.g. all option series for IBM).
A QuoteSet specifies the first level of repeating tags for the Mass Quote message. It represents a group of related quotes and can, for example, represent an option class.
Each QuoteSet contains an optional repeating group of QuoteEntries which can represent an option series.
It is possible the number of Quote Entries for a Quote Set (option class) could exceed one's physical or practical message size. It may be necessary to fragment a message across multiple quote messages. Message size limits must be mutually
agreed to with one's counterparties.
The grouping of quotes is as follows:
NoQuoteSets - specifies the number of sets of quotes contained in the message
QuoteSetID - Is a unique ID given to the quote set
Information regarding the security to which all of the quotes belong
TotQuoteEntries - defines the number of quotes for the quote set across all messages
NoQuoteEntries - defines the number of quotes contained within this message for this quote set
QuoteEntryID - Is a unique ID given to a specific quote entry
Information regarding the specific quote (bid/ask size and price)
If there are too many Quote Entries for a Quote Set to fit into one physical message, then the quotes can be continued in another Mass Quote <i> message by repeating all of the QuoteSet information
and then specifying the number of Quote Entries (related symbols) in the continued message.
The TotQuoteEntries <304> is provided to optionally indicate to the counterparty the total number of Quote Entries for a Quote Set in multiple quote messages. This permits, but does not require, a
receiving application to react in a stateful manner where it can determine if it has received all quotes for a Quote Set before carrying out some action. However, the overall approach to fragmentation is to permit each Mass Quote <i> message to be processed in a stateless manner as it is received. Each Mass Quote <i> message should contain enough information to have the Quote
Entries applied to a market without requiring the next message if fragmentation has occurred. Also, a continued message should not require any information from the previous message.
Maximum message size for fragmentation purposes can be determined by using the optional MaxMessageSize <383> field in the Logon <A> message or by mutual agreement
between counterparties.
Requesting Acknowledgement for Mass Quotes
Applications can optionally support acknowledgement of quotes using the QuoteResponseLevel <301> tag. The QuoteResponseLevel <301> is used to specify the level of
acknowledgement requested from the counterparty. A QuoteResponseLevel <301> of 0 indicates that no acknowledgement is requested. A ResponseLevel <301> of 1 requests acknowledgement of invalid or erroneous
quotes. A QuoteResponseLevel <301> of 2 requests acknowledgement of each Mass Quote <i> message.
See Appendix H: Mass Quote Message Scenarios
Notes on usage for Options Markets:
It is assumed that for many options markets, the Mass Quote <i> message will be used to generate quotes in high volumes in an unsolicited manner. This means that multiple quotes will be sent to the
counterparty (an exchange) without acknowledgement. The Mass Quote <i> message can be used to send quotes for multiple classes, each with multiple series.
Example: Multiple Option Series for a single Option Class (No Fragmentation)
QuoteID=XXX
QuoteReqID=YYY
NoQuoteSets=1
QuoteSetID=1
Symbol=AA
TotQuoteEntries=2
NoQuoteEntries=2
Other quote set fields
QuoteEntryID=1
MaturyMonthYear=199901
StrikePrice=25.00
PutOrCall=1
BixPx=5.00
OfferPx=5.25
BidSize=10
OfferSize=10
QuoteEntryID=2
MaturyMonthYear=199901
StrikePrice=30.00
PutOrCall=1
BixPx=3.00
OfferPx=3.25
BidSize=10
OfferSize=10
Example: Multiple Option Series for a single Option Class (Fragmentation)
First Message:
QuoteID=XXX
QuoteReqID=YYY
NoQuoteSets=1
QuoteSetID=1
Symbol=AA
TotQuoteEntries=3
NoQuoteEntries=2
Other quote set fields
QuoteEntryID=1
MaturyMonthYear=199901
StrikePrice=25.00
PutOrCall=1
BixPx=5.00
OfferPx=5.25
BidSize=10
OfferSize=10
QuoteEntryID=2
MaturyMonthYear=199901
StrikePrice=30.00
PutOrCall=1
BixPx=3.00
OfferPx=3.25
BidSize=10
OfferSize=10
Second Message:
QuoteID=XXX
QuoteReqID=YYY
NoQuoteSets=1
QuoteSetID=1
Symbol=AA
Other quote set fields
TotQuoteEntries=3
NoQuoteEntries=1
QuoteEntryID=3
MaturyMonthYear=199901
StrikePrice=35.00
PutOrCall=1
BixPx=2.00
OfferPx=2.25
BidSize=10
OfferSize=10
Structure
Tag |
Field Name |
Req'd |
Comments |
<MessageHeader> |
Y |
MsgType <35> = i
|
131 |
QuoteReqID |
N |
Required when quote is in response to a Quote Request <R> message
|
117 |
QuoteID |
Y |
|
301 |
QuoteResponseLevel |
N |
Level of Response requested from receiver of quote messages.
|
293 |
DefBidSize |
N |
Default Bid Size for quote contained within this quote message - if not explicitly provided.
|
294 |
DefOfferSize |
N |
Default Offer Size for quotes contained within this quote message - if not explicitly provided.
|
296 |
NoQuoteSets |
Y |
The number of sets of quotes in the message
|
=> |
302 |
QuoteSetID |
Y |
Sequential number for the Quote Set. For a given QuoteID <117> - assumed to start at 1.
Must be the first field in the repeating group.
|
=> |
311 |
UnderlyingSymbol |
Y |
|
=> |
312 |
UnderlyingSymbolSfx |
N |
|
=> |
309 |
UnderlyingSecurityID |
N |
|
=> |
305 |
UnderlyingIDSource |
N |
|
=> |
310 |
UnderlyingSecurityType |
N |
|
=> |
313 |
UnderlyingMaturityMonthYear |
N |
Required if UnderlyingMaturityDay <314> is specified.
|
=> |
314 |
UnderlyingMaturityDay |
N |
|
=> |
315 |
UnderlyingPutOrCall |
N |
|
=> |
316 |
UnderlyingStrikePrice |
N |
|
=> |
317 |
UnderlyingOptAttribute |
N |
|
=> |
436 |
UnderlyingContractMultiplier |
N |
For Fixed Income, Convertible Bonds, Derivatives, etc.
|
=> |
435 |
UnderlyingCouponRate |
N |
For Fixed Income.
|
=> |
308 |
UnderlyingSecurityExchange |
N |
|
=> |
306 |
UnderlyingIssuer |
N |
|
=> |
362 |
EncodedUnderlyingIssuerLen |
N |
Must be set if EncodedUnderlyingIssuer <363> field is specified and must immediately precede it.
|
=> |
363 |
EncodedUnderlyingIssuer |
N |
Encoded (non-ASCII characters) representation of the UnderlyingIssuer <306> field in the encoded format specified via the MessageEncoding <347> field.
|
=> |
307 |
UnderlyingSecurityDesc |
N |
|
=> |
364 |
EncodedUnderlyingSecurityDescLen |
N |
Must be set if EncodedUnderlyingSecurityDesc <365> field is specified and must immediately precede it.
|
=> |
365 |
EncodedUnderlyingSecurityDesc |
N |
Encoded (non-ASCII characters) representation of the UnderlyingSecurityDesc <307> field in the encoded format specified via the MessageEncoding <347>
field.
|
=> |
367 |
QuoteSetValidUntilTime |
N |
|
=> |
304 |
TotQuoteEntries |
Y |
Total number of quotes for the quote set across all messages. Should be the sum of all NoQuoteEntries <295> in each message that has repeating quotes that are part of the same quote set.
|
=> |
295 |
NoQuoteEntries |
Y |
The number of quotes for this Symbol <55> (QuoteSet) that follow in this message.
** Nested Repeating Group follows **
|
=> |
=> |
299 |
QuoteEntryID |
Y |
Uniquely identifies the quote as part of a QuoteSet.
Must be used if NoQuoteEntries <295> is used
|
=> |
=> |
55 |
Symbol |
N |
|
=> |
=> |
65 |
SymbolSfx |
N |
|
=> |
=> |
48 |
SecurityID |
N |
|
=> |
=> |
22 |
IDSource |
N |
|
=> |
=> |
167 |
SecurityType |
N |
Must be specified if a Future or Option. If a Future: Symbol <55>, SecurityType <167>, and MaturityMonthYear <200> are
required. If an Option: Symbol <55>, SecurityType <167>, MaturityMonthYear <200>, PutOrCall
<201>, and StrikePrice <202> are required.
|
=> |
=> |
200 |
MaturityMonthYear |
N |
Specifies the month and year of maturity. Required if MaturityDay <205> is specified.
|
=> |
=> |
205 |
MaturityDay |
N |
Can be used in conjunction with MaturityMonthYear <200> to specify a particular maturity date.
|
=> |
=> |
201 |
PutOrCall |
N |
For Options.
|
=> |
=> |
202 |
StrikePrice |
N |
For Options.
|
=> |
=> |
206 |
OptAttribute |
N |
For Options.
|
=> |
=> |
231 |
ContractMultiplier |
N |
For Fixed Income, Convertible Bonds, Derivatives, etc. Note: If used, quantities should be expressed in the "nominal" (e.g.
contracts vs. shares) amount.
|
=> |
=> |
223 |
CouponRate |
N |
For Fixed Income.
|
=> |
=> |
207 |
SecurityExchange |
N |
Can be used to identify the security.
|
=> |
=> |
106 |
Issuer |
N |
|
=> |
=> |
348 |
EncodedIssuerLen |
N |
Must be set if EncodedIssuer <349> field is specified and must immediately precede it.
|
=> |
=> |
349 |
EncodedIssuer |
N |
Encoded (non-ASCII characters) representation of the Issuer <106> field in the encoded format specified via the MessageEncoding <347> field.
|
=> |
=> |
107 |
SecurityDesc |
N |
|
=> |
=> |
350 |
EncodedSecurityDescLen |
N |
Must be set if EncodedSecurityDesc <351> field is specified and must immediately precede it.
|
=> |
=> |
351 |
EncodedSecurityDesc |
N |
Encoded (non-ASCII characters) representation of the SecurityDesc <107> field in the encoded format specified via the MessageEncoding <347> field.
|
=> |
=> |
132 |
BidPx |
N |
If F/X quote, should be the 'all-in' rate (spot rate adjusted for forward points). Note that either BidPx <132>, OfferPx <133> or both must be specified.
|
=> |
=> |
133 |
OfferPx |
N |
If F/X quote, should be the 'all-in' rate (spot rate adjusted for forward points). Note that either BidPx <132>, OfferPx <133> or both must be specified.
|
=> |
=> |
134 |
BidSize |
N |
|
=> |
=> |
135 |
OfferSize |
N |
|
=> |
=> |
62 |
ValidUntilTime |
N |
|
=> |
=> |
188 |
BidSpotRate |
N |
May be applicable for F/X quotes
|
=> |
=> |
190 |
OfferSpotRate |
N |
May be applicable for F/X quotes
|
=> |
=> |
189 |
BidForwardPoints |
N |
May be applicable for F/X quotes
|
=> |
=> |
191 |
OfferForwardPoints |
N |
May be applicable for F/X quotes
|
=> |
=> |
60 |
TransactTime |
N |
|
=> |
=> |
336 |
TradingSessionID |
N |
|
=> |
=> |
64 |
FutSettDate |
N |
Can be used with forex quotes to specify a specific 'value date'
|
=> |
=> |
40 |
OrdType |
N |
Can be used to specify the type of order the quote is for
|
=> |
=> |
193 |
FutSettDate2 |
N |
Can be used with OrdType <40> = 'Forex - Swap' to specify the 'value date' for the future portion of a F/X swap.
|
=> |
=> |
192 |
OrderQty2 |
N |
Can be used with OrdType <40> = 'Forex - Swap' to specify the order quantity for the future portion of a F/X swap.
|
=> |
=> |
15 |
Currency |
N |
Can be used to specify the currency of the quoted price.
|
<MessageTrailer> |
Y |
|
|
Related Messages
|