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 value1
(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.
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|
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|
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|