Show pageOld revisionsBacklinksBack to top This page is read only. You can view the source, but not change it. Ask your administrator if you think this is wrong. ====== Security Definition Request ====== ===== Enabling Security Definition Requests ===== 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)**. ===== Definition of Securities ===== 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: * Exchange identifier * Contract identifier * Market identifier * Pricing * Minimum trading volumes * Minimum price amount (including Variable Tick Tables) * Quantity leg ratios * Buy/sell sides * Put/Call type * Strikes The **Security Definition Request** may interrogate the T4 FIX API for: * Available exchanges * Contracts within an exchange * Markets for a specific contract **SecurityRequestType (Tag 321)** is always set to request the list of securities (**Tag 321=3**). Returned record sets are determined by the combination of: * **SecurityType (Tag 167)** * **SecurityExchange (Tag 207)** * **Symbol (Tag 55)** * **SecurityID (Tag 48)** ===== Identifiers ===== * **Exchange** — Unique Exchange ID (**Tag 207 - SecurityExchange**) * **Contract** — Contract ID (**Tag 55 - Symbol**) * **Market** — Unique Market ID (**Tag 48 - SecurityID**) ===== Supported Use Cases ===== - **List Exchanges (Get Exchange IDs)** Set SecurityType (Tag 167). Returns all Exchange IDs in Tag 207 with description. - **List Contracts within an Exchange (Get Contract IDs)** Requires SecurityType (Tag 167) and SecurityExchange (Tag 207). Optional PutOrCall (Tag 201) for options. Returns all Contract IDs (Tag 55) with description (Tag 107). - **List Current Markets of a Specific Contract (Get Market IDs)** Requires SecurityType (Tag 167), SecurityExchange (Tag 207), Symbol (Tag 55). Optional SecuritySubType (Tag 762) to filter results. Returns Market IDs in Tag 48. - **List a Specific Current Market (Get Market ID)** Same as above, but includes SecurityID (Tag 48) for the specific market. - **List Expired Markets for a Specific Maturity** Requires SecurityType (Tag 167), SecurityExchange (Tag 207), Symbol (Tag 55), SecurityRequestType = REQUEST_LIST_SECURITIES_ONLY_EXPIRED, MaturityMonthYear (Tag 200). - **List All Only Expired Markets** Requires SecurityType (Tag 167), SecurityExchange (Tag 207), Symbol (Tag 55), SecurityRequestType = REQUEST_LIST_SECURITIES_ONLY_EXPIRED. ===== Interactive Usage ===== Security Definition Requests are **progressive and incremental**: * Send a request → process all responses → send the next request. * **Batching is not supported** — may cause performance issues or disconnection. * Avoid re-requesting all instruments on every FIX session logon — cache definitions where possible. * New market discovery should match contract expiration cycles (e.g., quarterly for CME equities). ===== Message Dictionary ===== ^ 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 | | ===== Valid Values for SecuritySubType (Tag 762) ===== ^ 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 | ====== Sample Messages ====== Requesting all exchanges <code> >> 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) </code> Requesting all contracts for a specific exchange <code> >> 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 </code> Requesting all markets for a specific contract <code> >> 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 </code> Requesting a specific market <code> >> 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 </code> [[developers:legacy_fix_api|T4 FIX API Home]] developers/fixapi.securitydefinitionrequest.txt Last modified: 2025/08/13 12:11by rob