To receive Security Definitions as responses to Security Definition Requests, the initiating FIX session Logon message must have Tag 372 (RefMsgType) set to `“c”` (Enable security definitions requests). Requests that are not enabled will be rejected with a Security Definition containing SecurityResponseType = Reject Security Proposal (Tag 323=5).
The T4 FIX API provides a mechanism to list the securities available for trading and market data streaming. All Security Definition Request messages (Tag 35=c) are successfully responded with one or more Security Definition messages.
For outrights, spreads, options and multi-legged strategies, result sets contain:
The Security Definition Request may interrogate the T4 FIX API for:
SecurityRequestType (Tag 321) is always set to request the list of securities (Tag 321=3). Returned record sets are determined by the combination of:
Set SecurityType (Tag 167). Returns all Exchange IDs in Tag 207 with description.
Requires SecurityType (Tag 167) and SecurityExchange (Tag 207). Optional PutOrCall (Tag 201) for options.
Returns all Contract IDs (Tag 55) with description (Tag 107).
Requires SecurityType (Tag 167), SecurityExchange (Tag 207), Symbol (Tag 55).
Optional SecuritySubType (Tag 762) to filter results. Returns Market IDs in Tag 48.
Same as above, but includes SecurityID (Tag 48) for the specific market.
Requires SecurityType (Tag 167), SecurityExchange (Tag 207), Symbol (Tag 55),
SecurityRequestType = REQUEST_LIST_SECURITIES_ONLY_EXPIRED, MaturityMonthYear (Tag 200).
Requires SecurityType (Tag 167), SecurityExchange (Tag 207), Symbol (Tag 55),
SecurityRequestType = REQUEST_LIST_SECURITIES_ONLY_EXPIRED.
Security Definition Requests are progressive and incremental:
Tag | Field Name | Req'd | Comments |
---|---|---|---|
*Standard Header* | Y | MsgType = c | |
320 | SecurityReqID | Y | Unique identifier for this request. |
321 | SecurityRequestType | Y | 3 = REQUEST_LIST_SECURITIES (Active markets), 4 = REQUEST_LIST_SECURITIES_ONLY_EXPIRED (Expired markets only) |
167 | SecurityType | N | FUT = Futures, OPT = Options, STK = Stock, SYN = Synthetic, BIN = Binary Option |
207 | SecurityExchange | N | T4 Exchange ID |
55 | Symbol | N | T4 Contract ID |
48 | SecurityID | N | T4 Market ID |
201 | PutOrCall | N | 0 = Put, 1 = Call |
200 | MaturityMonthYear | N | Format YYYYMM00 or YYYYMM |
762 | SecuritySubType | N | Further describes the security (see valid values list) |
*Standard Trailer* | Y |
Code | Description |
---|---|
0 | None (Outrights) |
1 | Calendar Spread |
2 | RT Calendar Spread |
3 | Inter Contract Spread |
4 | Butterfly Spread |
5 | Condor Spread |
6 | Pack Spread |
7 | Bundle Spread |
8 | Inter Exchange Spread |
9 | Crack Spread |
10 | Spark Spread |
11 | Crush Spread |
12 | Reverse Crush Spread |
13 | Strip |
14 | Straddle |
15 | Strangle |
16 | Guts |
17 | Synthetics |
18 | Combo |
19 | Vertical Spread |
20 | Horizontal Spread |
21 | Diagonal Spread |
22 | Ratio Spread |
23 | Back Spread |
24 | Covered Call |
25 | Covered Put |
26 | Married Put |
27 | Collar |
28 | Fence |
29 | Conversion |
30 | Reverse Conversion |
31 | Box Spread |
32 | Jelly Roll |
33 | Iron Condor |
34 | Iron Butterfly |
35 | Ladder |
36 | Seagull |
37 | Strip (Option Strategy) |
38 | Strap |
39 | Synthetic Long Stock |
40 | Synthetic Short Stock |
41 | Synthetic Long Future |
42 | Synthetic Short Future |
43 | Reversal |
44 | Risk Reversal |
45 | Calendar Butterfly |
46 | Calendar Condor |
47 | Calendar Straddle |
48 | Calendar Strangle |
49 | Diagonal Butterfly |
50 | Diagonal Condor |
51 | Diagonal Straddle |
52 | Diagonal Strangle |
53 | Horizontal Butterfly |
54 | Horizontal Condor |
55 | Horizontal Straddle |
56 | Horizontal Strangle |
57 | Ratio Butterfly |
58 | Ratio Condor |
59 | Ratio Straddle |
60 | Ratio Strangle |
61 | Vertical Butterfly |
62 | Vertical Condor |
63 | Vertical Straddle |
64 | Vertical Strangle |
65 | Box (Synthetic Arbitrage) |
66 | Diagonal Box |
67 | Horizontal Box |
68 | Ratio Box |
69 | Vertical Box |
70 | Inter Contract Strip |
Requesting all exchanges
>> 10/15/2012 4:22:27 PM [FIXSECURITYDEFINITIONREQUEST] 34=2|49=T4Example|56=T4|52=20121015-21:22:27.673|320=sc-10/15/2012 4:22:27 PM|321=3|167=FUT| [FIXSECURITYDEFINITIONREQUEST] [MsgSeqNum] 34 = 2 [SenderCompID] 49 = T4Example [TargetCompID] 56 = T4 [SendingTime] 52 = 20121015-21:22:27.673 [SecurityReqID] 320 = sc-10/15/2012 4:22:27 PM [SecurityRequestType] 321 = 3 (REQUEST_LIST_SECURITIES) [SecurityType] 167 = FUT (FUTURE)
Requesting all contracts for a specific exchange
>> 10/15/2012 4:22:39 PM [FIXSECURITYDEFINITIONREQUEST] 34=3|49=T4Example|56=T4|52=20121015-21:22:39.638|320=sc-10/15/2012 4:22:39 PM|321=3|167=FUT|207=CME_Eq| [FIXSECURITYDEFINITIONREQUEST] [MsgSeqNum] 34 = 3 [SenderCompID] 49 = T4Example [TargetCompID] 56 = T4 [SendingTime] 52 = 20121015-21:22:39.638 [SecurityReqID] 320 = sc-10/15/2012 4:22:39 PM [SecurityRequestType] 321 = 3 (REQUEST_LIST_SECURITIES) [SecurityType] 167 = FUT (FUTURE) [SecurityExchange] 207 = CME_Eq
Requesting all markets for a specific contract
>> 10/15/2012 4:23:22 PM [FIXSECURITYDEFINITIONREQUEST] 34=7|49=T4Example|56=T4|52=20121015-21:23:22.117|320=sc-10/15/2012 4:23:22 PM|321=3|55=ES|167=OPT|201=1|207=CME_EqOp| [FIXSECURITYDEFINITIONREQUEST] [MsgSeqNum] 34 = 7 [SenderCompID] 49 = T4Example [TargetCompID] 56 = T4 [SendingTime] 52 = 20121015-21:23:22.117 [SecurityReqID] 320 = sc-10/15/2012 4:23:22 PM [SecurityRequestType] 321 = 3 (REQUEST_LIST_SECURITIES) [Symbol] 55 = ES [SecurityType] 167 = OPT (OPTION) [PutOrCall] 201 = 1 (CALL) [SecurityExchange] 207 = CME_EqOp
Requesting a specific market
>> 10/15/2012 4:40:18 PM [FIXSECURITYDEFINITIONREQUEST] 34=4|49=T4Example|56=T4|52=20121015-21:40:18.421|320=sc-10/15/2012 4:40:18 PM|321=3|55=ES|167=FUT|207=CME_Eq|48=CME_20121200_ESZ2| [FIXSECURITYDEFINITIONREQUEST] [MsgSeqNum] 34 = 4 [SenderCompID] 49 = T4Example [TargetCompID] 56 = T4 [SendingTime] 52 = 20121015-21:40:18.421 [SecurityReqID] 320 = sc-10/15/2012 4:40:18 PM [SecurityRequestType] 321 = 3 (REQUEST_LIST_SECURITIES) [Symbol] 55 = ES [SecurityType] 167 = FUT (FUTURE) [SecurityExchange] 207 = CME_Eq [SecurityID] 48 = CME_20121200_ESZ2