Market Data Request(V) Message

Purpose

Used to request or manage subscriptions for market data

Warning

When a FIX client subscribes multiple times to the same instrument, the last request will overwrite prior requests, so FIX client will always get market data according to the last request that the QST FIX server received. The client can ask for a Snapshot while being subscribed to an instrument, this will not interfere with the incremental or full refresh subscription for that instrument.

Note

If the client wants to change its subscription to an instrument, it should send a new subscribe request.

Note

For the clients that use API V2.0 version of the protocol, when they subscribe to market data, they also subscribe to security status. The security status will be sent alongside the Market Data Snapshot (W) message and Market Data Incremental Refresh (X) message. The SecurityStatusReqID (324) tag will be populated with the value of the MDReqID (262) tag.

Note

QST server supports coalescing the incremental market data at 100 ms, 250 ms or it can send them uncoalesced. The default coalescing interval is 250 ms, this interval can be changed at client’s request to the QST’s support team.

Note

QST server allows clients to subscribe only to active instruments (that are not expired).

If client asks only for snapshots, QST server provides the snapshots for all active instruments and in addition to this for TOM it provides snapshots also for expired instruments, for DOM it will return error if instrument is expired.

Message Direction

From FIX client to QST FIX server API server

Supported tags

Note

Each Market Data Request message should start with Standard Header component(with the tag 35 (MsgType) = V) and end with the Standard Trailer.

MDReqID - 262

Tag number

Field Name

Required

Data type

262

MDReqID

Y

String

Comments

Unique ID for this request. QST FIX server returns this ID in all responses to the request.


SubscriptionRequestType - 263

Tag number

Field Name

Required

Data type

263

SubscriptionRequestType

Y

char

Comments

Type of request.

Supported values include:

  • 0 Snapshot

  • 1 Snapshot plus updates (subscribe)

  • 2 Disable previous (unsubscribe)

Note

  • For Snapshot subscriptions, updates are delivered at one-second intervals or greater.

  • For Snapshot plus updates subscriptions, updates are delivered at 250 ms by default, but we support and other intervals.

  • If the request type is 2 (Disable previous) then the client will be completely unsubscribed from the instrument, regardless of what values are populated in MDEntryType (269) field.


MarketDepth - 264

Tag number

Field Name

Required

Data type

264

MarketDepth

C

int

Comments

Market depth to return in a snapshot.

Supported values include:
  • 0 Full book

  • 1 Top of book

Condition: Required when Tag 263 (SubscriptionRequestType) is 0 or 1.


MDUpdateType - 265

Tag number

Field Name

Required

Data type

265

MDUpdateType

C

int

Comments

Type of messages QST FIX server sends when updating market data.

Supported values include:

  • 0 Full refresh

  • 1 Incremental

Restrictions: Incremental Refresh updates are coalesced at 250 ms by default, but we support and other intervals; Full Refresh updates are coalseced at (1) second.

Condition: Required when Tag 263 (SubscriptionRequestType) is 1.

Warning

We do not allow a client to be subscribe to Incremental and Full Refresh at the same time for the same instrument.


NoMDEntryTypes - 267

Tag number

Field Name

Required

Data type

267

NoMDEntryTypes

Y

NumInGroup

Comments

Number of different Tag 269 (MDEntryType) fields in the request.


MDEntryType - 269

Tag number

Field Name

Required

Data type

269

MDEntryType

Y

char

Comments

Type of market data to request.

Supported values include:

  • 0 Bid (For stocks, this represents: Round lot, Ready Market)

  • 1 Ask (For stocks, this represents: Round lot, Ready Market)

  • 2 Trade

  • 4 Opening price

  • 5 Closing price

  • 6 Settlement price

  • 7 Trading session high price

  • 8 Trading session Low price

  • B Trade volume

  • Y Implied bid (For stocks, this represents: Odd lot, Unit Share)

  • Z Implied ask (For stocks, this represents: Odd lot, Unit Share)

  • t Initial settlement price

Warning

Supported only for clients that use API V2.0 version of the protocol:

  • C Open interest

  • N Day high bid

  • O Day low ask

  • W Fixing price

  • M Prior Settle Price

  • I Indicative opening price

Note: The number of tag 269 tags must match the value of tag 267 (NoMDEntryTypes).


NoRelatedSym - 146

Tag number

Field Name

Required

Data type

146

NoRelatedSym

Y

NumInGroup

Comments

Number of underlying instruments contained in this repeating group. Or number of instruments to subscribe to.


Component Instrument from FIX Client

Here is the content of this component: Instrument from FIX Client


IncludeNumberOfOrders - 18214

Tag number

Field Name

Required

Data type

18214

IncludeNumberOfOrders

N

char

Comments

Whether or not to include the number of orders that comprise the quantity in aggregated depth and an indicator as to whether or not that number is exact, when the exchange provides this information. Valid values include Y and N (default).

Note

This tag is supported when tag 269 (MDEntryType) contains any of the following:

  • 0 Bid

  • 1 Ask

  • Y Implied bid

  • Z Implied ask


Message Notes

The Market Data Request (V) message is used by a FIX client to request market data information from QST FIX server API server. You can request information like the top of book (Bid, Ask, and session prices) and market depth data.

QST FIX server responds to a Market Data Request (V) message with a Market Data Snapshot (W) message. Additionally:

  • If the FIX Client sets Tag 263 (SubscriptionRequestType) to 0, QST FIX server sends no further messages. It does not update the market data.

  • If the FIX Client sets Tag 263 (SubscriptionRequestType) to 1, QST FIX server updates market data according to the setting the FIX Client uses in Tag 265 (MDUpdateType):

    • 0 To update market data, QST FIX server sends Market Data Snapshot (W) messages.

    • 1 To update market data, QST FIX server sends Market Data Incremental Refresh (X) messages.

  • If the FIX Client sets Tag 263 (SubscriptionRequestType) to 2, QST FIX server stops sending updates.

If QST FIX server cannot fulfill a request for market data because the request contains an invalid instrument, it sends a Market Data Request Reject (Y) message.


Examples

Note

The checksum(tag 10) might not be correct for some examples, this is because the username was changed before we’ve added the example here. When a client sends requests to our server, the checksum must contain the correct value.

  1. Identifying an instrument by a single security ID:

# Subscribe to asks and bids for a instrument identified by instrument internal id:
8=FIX.4.2|9=132|35=V|34=2|49=user123|52=20210823-14:56:27.357|56=qst_qapi|146=1|48=18531299|22=96|262=CL12.0001|263=1|264=0|265=1|267=2|269=0|269=1|10=207|

# Subscribe to asks, bids and trade volume for a instrument identified by instrument internal id without sending the IDSource (tag 22):
8=FIX.4.2|9=136|35=V|34=2|49=user123|52=20211104-10:16:59.304|56=qst_qapi|146=1|48=32111818|262=CL12.0001|263=1|264=0|265=1|267=3|269=0|269=1|269=B|10=182||

# Subscribe to asks and bids for a instrument identified by exchange id:
8=FIX.4.2|9=136|35=V|34=2|49=user123|52=20210823-14:57:23.588|56=qst_qapi|146=1|48=21558|207=CME|22=8|262=CL12.0001|263=1|264=0|265=1|267=2|269=0|269=1|10=170|
  1. Identifying an instrument by multiple alternative security IDs:

# Subscribe to asks and bids for a instrument identified by alternative QST internal symbol representation of the instrument:
8=FIX.4.2|9=173|35=V|34=2|49=user123|52=20210823-15:03:33.759|56=qst_qapi|60052=20210823-15:00:56.871|146=1|207=CME|454=1|455=ESZ21|456=99|262=CL12.0001|263=1|264=0|265=1|267=2|269=0|269=1|10=020|

# Subscribe to asks and bids for a instrument identified by alternative exchange id:
8=FIX.4.2|9=144|35=V|34=2|49=user123|52=20210823-15:00:56.871|56=qst_qapi|146=1|207=CME|454=1|455=21558|456=8|262=CL12.0001|263=1|264=0|265=1|267=2|269=0|269=1|10=024|
  1. Identifying an instrument by security attributes:

8=FIX.4.2|9=318|35=V|34=2|49=user123|52=20210823-15:03:51.599|56=qst_qapi|146=1|55=CL|167=MLEG|200=202112|205=1|207=CME|555=2|600=CL|609=FUT|616=CME|624=1|623=1|604=1|605=308149|606=8|600=CL|609=FUT|616=CME|624=2|623=1|604=1|605=349985|606=8|262=CL12.0001|263=1|264=0|265=1|267=9|269=0|269=1|269=2|269=4|269=5|269=6|269=7|269=8|269=B|10=085|
  1. Subscribing to multiple instruments in the same request:

# Subscribing to 3 intruments to all entry types.
8=FIX.4.2|9=209|35=V|34=2|49=user123|52=20210823-15:06:54.833|56=qst_qapi|146=3|55=HPD|48=4099|207=CME|22=8|55=K3|48=1540|207=CME|22=8|55=DBD|48=1030|207=CME|22=8|262=CL12.0001|263=1|264=0|265=1|267=4|269=0|269=1|269=Z|269=Y|10=243|
  1. Subscribing to full refresh for an instrument:

# Subscribe to asks and bids for a instrument identified by instrument internal id:
8=FIX.4.2|9=132|35=V|34=2|49=user123|52=20210823-14:56:27.357|56=qst_qapi|146=1|48=18531299|22=96|262=CL12.0001|263=1|264=0|265=0|267=2|269=0|269=1|10=207|