Security Definition Request (c) Message

Purpose

Used to request contract information

Note

QST FIX server provides security definitions on demand. If the client needs updated security definitions it should explicitly send a security definition request.

Message Direction

From FIX client to QST FIX server

Supported tags

Note

Each Security Definition Request message should start with Standard Header component(with the tag 35 (MsgType) = c) and end with the Standard Trailer.

SecurityReqID - 320

Tag number

Field Name

Required

Data type

320

SecurityReqID

Y

String

Comments

Unique ID for this request

QST FIX server includes this tag in its responses to this Security Definition (d) request.


Symbol - 55

Tag number

Field Name

Required

Data type

55

Symbol

N

String

Comments

Exchange-provided product symbol for the tradable product.

If you specify a value, QST FIX server returns Security Definition (d) messages for only those contracts whose product symbols match the specified value.


SecurityType - 167

Tag number

Field Name

Required

Data type

167

SecurityType

C

String

Comments

Asset class of the instrument

Supported values include:

  • FUT Future

  • MLEG Multi-leg

  • OPT Option

  • B Bond

  • E Equity Outright

  • ED Equity Derivative

  • I Index

  • FX Index

  • CFD Index

  • PHY Index

If you specify a value, QST FIX server returns Security Definition (d) messages for only those contracts whose security types match the specified value.


SecurityExchange - 207

Tag number

Field Name

Required

Data type

207

SecurityExchange

C

Exchange

Comments

Name of the market where the instrument trades.

QST FIX server uses this value to identify the exchange that offers the security.

Supported values include:

  • CME - For all exchanges that are part of the CME Group(NYMEX, COMEX, CBOT, CME, KCBT).

  • ICE - For ICE US.

Condition: Required when Tag 100 (ExtDestination) is absent.


ExDestination - 100

Tag number

Field Name

Required

Data type

100

ExDestination

C

Exchange

Comments

Market Identifier Code (MIC) of the sub-market where the instrument trades(according to ISO 10383).

Supported values:

  • XCBT

  • XCME

  • XNYM

  • XCEC

  • KCBT

  • IFUS

Condition: Required when Tag 207 (SecurityExchange) is absent.


SecurityID - 48

Tag number

Field Name

Required

Data type

48

SecurityID

N

String

Comments

QST internal instrument ID that uniquely identifies an instrument in the QST platform.

If you specify a value, QST FIX server returns Security Definition (d) messages only for only the single instrument whose security ID matches the specified value.

Note

If Tag 48 (SecurityID) is provided, no other tags to identify the instrument are needed.

SubscriptionRequestType - 263

Warning

Supported only for clients that use API V2.0 version of the protocol. For API V1.0 the user will be automatically subscribed the to the security definitions.

Tag number

Field Name

Required

Data type

263

SubscriptionRequestType

N

char

Comments

Type of request.

Supported values include:

  • 0 Snapshot

  • 1 Snapshot plus updates (subscribe)

Note

  • The unsubscribe is not supported, so once the user is subscribed, the only way to unsubscribe from definitions is to disconnect from our server.

  • If the SubscriptionRequestType is not given, it will be only snapshot by default.


Message Notes

The Security Definition Request (c) message is used by FIX clients to request contract data.

You can filter your security definitions so that QST FIX server supplies only those instruments that match the specified values for one or more of the following tags:

  • Tag 55 (Symbol)

  • Tag 167 (SecurityType)

  • Tag 207 (SecurityExchange)

  • Tag 48 (SecurityID)

Sending a Security Definition Request (c) message instructs QST FIX server to provide instrument definitions that match the filter criteria. QST FIX server sends Security Definition (d) messages for all matching contracts.

QST FIX server uses AND logic to build the query, so specifying multiple tags reduces the matched securities.

Note

If QST FIX server finds no contracts that match the specified filter, it sends a response back to the FIX client. The response contains the SecurityResponseType populated with value 6 (Cannot match the search criteria).

Async Security Definitions

To receive async security definitions, the clients must subscribe to these:

  • API V1.0 Clients - Are subscribed automatically when they send a security definition request.

  • API V2.0 Clients - Must send SubscriptionRequestType(263) with value 1 (Snapshot plus updates (subscribe) in the security definition request.

The QST server will subscribe the clients using the criteria that was sent in the request, for example if the client asked for a definition for a specific instrument, the client will be subscribed only to that instrument. So when the data from that contract is changed, the client will receive the async definition for it. Same thing when the client asks for all definitions for all futures(or any other security type) from a product or an exchange. If an instrument is changed/added from/to that product or exchange, the server will send it to the client.

The QST server will send a security definition message with the SecurityReqID(320) set to the value of the request that generated that subscription. If multiple requests end up subscribing to the same data, the server will use the SecurityReqID(320) from the reqeust that was the closest to the insturment. For example. if the client asks for the security definition for instrument 1, and then asks for all future definitions from product X, which contains insturment 1. The QST server will generate the async definition using the SecurityReqID(320) sent in the request that asked for the definiton for that contract, not the one that asked for all definitions from product X.

To unsusbcribe from the async definitions, the client must disconnect.


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. Ask for all security definitions from a specific exchange, using a specific security type:

# Ask for all futures from CME:
8=FIX.4.2|9=86|35=c|34=2|49=user123|52=20210823-15:43:20.343|56=qst_qapi|167=FUT|207=CME|320=SRQ0001|10=052|

# Ask for all options from CME:
8=FIX.4.2|9=86|35=c|34=2|49=user123|52=20210823-15:44:15.361|56=qst_qapi|167=OPT|207=CME|320=SRQ0001|10=061|

# Ask for all strategies from CME:
8=FIX.4.2|9=87|35=c|34=2|49=user123|52=20210823-15:44:32.717|56=qst_qapi|167=MLEG|207=CME|320=SRQ0001|10=116|
  1. Ask for all futures from a specific exchange, using a specific product symbol:

8=FIX.4.2|9=92|35=c|34=2|49=user123|52=20210823-15:44:53.927|56=qst_qapi|55=ES|167=FUT|207=CME|320=SRQ0001|10=128|
  1. Ask for security definition for a specific instrument:

8=FIX.4.2|9=82|35=c|34=2|49=user123|52=20210823-15:45:15.216|56=qst_qapi|48=18531299|320=SRQ0004|10=017|