The TT FIX Inbound Drop Copy service allows third parties to import their data sources into the TT environment for TT Trade Surveillance processing.
The following sections describe this process and provide information about creating the necessary input:
The TT FIX Inbound Drop Copy service supports a subset of the FIX protocol (Version 4.2 with Errata 20010501) message types and tags within the message types. When importing data into TT Trade Surveillance, the TT FIX Inbound Drop Copy service supports only those messages and tags described in this document. Do not submit other messages or tags, as doing so can produce unexpected results.
The TT FIX Inbound Drop Copy service supports persistent FIX sessions. When it is started for the first time, it will send a Logon (A) message with Tag 34 (MsgSeqNum)=1. When there are unscheduled restarts, the standard FIX message sequence number negotiation will take place.
After the TT FIX Inbound Drop Copy service creates a connection to the FIX acceptor, the FIX acceptor can start sending unsolicited Execution Report (8) messages to be processed by the TT FIX Inbound Drop Copy service.
The Execution Report (8) message for TT FIX Drop Copy sessions is used to import order information into Trade Surveillance for processing, such as confirmations, fills, and unsolicited changes
Tag # | Field Name | Req’d | Data type | Comments |
---|---|---|---|---|
8 | BeginString | Y | String |
FIX protocol version The tag indicates the beginning of a new message. This tag must be the first tag in the message. You must set the value to FIX.4.2. |
9 | BodyLength | Y | int |
Message length (in characters) The value represents number of characters in the message following this tag up to, and including, the delimiter immediately preceding Tag 10 (CheckSum). This tag must be the second field in a message. |
35 | MsgType | Y | String |
Type of message contained in the message body This tag must appear third in the list of header tags. Only 35=8 (Execution Report) is supported. |
49 | SenderCompID | Y | String |
Assigned value used to identify firm sending message |
56 | TargetCompID | Y | String |
Assigned value used to identify the receiving firm |
50 | SenderSubID | N | String |
Unique ID for the message sender |
34 | MsgSeqNum | Y | SeqNum |
Message sequence number |
52 | SendingTime | Y | UTCTimestamp |
Time, in UTC, the message was sent. Examples:
|
1 | Account | C | String |
Order-routing account |
10553 | Username | C | String |
3rd party system username |
20 | ExecTransType | N | char |
Type of execution report Only 20=3 (Status) is supported. |
37 | OrderId | Y | string |
Unique identifier for an order that remains constant for the life of the order |
Instrument block | Y | Component | For tags that you include in the Instrument Component and any restrictions in their use, refer to Instrument block. | |
150 | ExecType | Y | char |
Indicates the reason for sending this Execution Report Possible values include:
|
54 | Side | Y | char |
Order side Possible values include:
|
39 | OrdStatus | Y | int |
Status of the order Possible values include:
|
32 | LastShares | C | int |
Indicates the number of contracts that just filled Condition: Sent only when Tag 150 (ExecType) is 1 (Partial Fill) or 2 (Fill) |
31 | LastPx | C | Price |
Price of this fill If Tag 442 (MultiLegReportingType) is 2 (Leg), the value represents the price at which a leg of the spread filled. The message's Instrument Component identifies the filled leg. Condition: Sent when Tag 150 (ExecType) is 1 (Partial Fill) or 2 (Fill) |
14 | CumQty | Y | int |
Total number of contracts that have filled over the life of this order The value always equals the sum of the Tag 32 (LastShares) of all fill execution reports received for this order, including this one. Note: If Tag 442 (MultiLegReportingType) is 2 (Leg), this value represents the total number of contacts that have filled for the leg of the specified strategy. |
151 | LeavesQty | Y | int |
Number of contracts that are still working in the market Possible values include:
Note: If Tag 442 (MultiLegReportingType) is 2 (Leg), this value represents the total number of contracts that are still working for the leg of the specified strategy. |
442 | MultiLegReportingType | N | char |
Indicates what an Execution Report represents (e.g. used with multi-leg securities, such as option strategies, spreads, etc.) Possible values include:
|
44 | Price | C | Price |
Order price Condition: Sent when Tag 40 (OrdType) is:
|
99 | StopPx | C | Price |
Trigger price for a stop order Condition: Sent when Tag 40 (OrdType) is:
|
38 | OrderQty | C | Qty |
Total order quantity |
1138 | DisplayQty | C | Qty |
Sum of working quantities of child orders. |
1088 | RefreshQty | C | Qty |
Quantity disclosed for a disclosed quantity (Iceberg) order Condition: Sent only for disclosed quantity orders |
40 | OrdType | C | char |
Order type Possible values include:
|
59 | TimeInForce | C | char |
How long an order remains active Possible values include:
Note: The "Plus" enums indicate that the TIF is available for the after hours (ATH) T + 1 session. For more information about TIFs supported by exchanges, refer to Supported Order Types and TIFs in the Setup help. |
432 | ExpireDate | C | LocalMktDate |
Date a Good Till Date order expires Condition: Sent unless Tag 59 (TimeInForce) = 6 (Good Till Cancel) |
58 | Text | C | String |
Additional information about the message Condition: Sent when the TT FIX needs to send additional information |
10 | Checksum | Y | String |
Unencrypted three-character checksum
This tag must always be the last field in a message (i.e. it serves, with the trailing |
When sending the instrument component block in a FIX execution report, you can specify the instrument in any of the following methods:
These methods can be used as follows:
Tag # | Field Name | Req’d | Data type | Comments | |
---|---|---|---|---|---|
48 | SecurityID | Y | String |
ID of the instrument Note: The combination of this tag and tag 22 (IDSource) must uniquely identify an instrument in the TT platform. |
|
22 | IDSource | Y | String |
Source for the value of tag 48 (SecurityID). Possible values include:
Note: The following markets support RIC codes (22=5) for identifying futures, spreads and options instruments in tag 48 (SecurityID):
Note: The combination of this tag and tag 48 (SecurityID) must uniquely identify an instrument in the TT platform. |
|
207 | SecurityExchange | C | Exchange |
Name of the market where the instrument trades. TT FIX uses this value to identify the exchange that offers the security. Possible values include:
Condition: Required when Tag 100 (ExtDestination) is absent and when tag 22 (IDSource) is 8 (Exchange symbol), 97 (Alias) or 9 (Name). |
|
OR | |||||
100 | ExDestination | C | Exchange |
Market Identifier Code (MIC) of the sub-market where the instrument trades. Execution destination for the order as defined by the institution Some traders use this tag in place of Tag 207 (SecurityExchange) to identify the exchange. ISO 10383 defines a comprehensive list of MIC codes. Condition: Required when Tag 207 (SecurityExchange) is absent and when tag 22 (IDSource) is 8 (Exchange symbol), 97 (Alias) or 9 (Name). |
|
55 | Symbol | Y | String |
Exchange-provided product symbol for the tradable product. When specifying instruments for NewOrderMultileg (AB) and MultilegOrderCancelReplace (AC):
|
You can also identify instruments by specifying its name and characteristics. You might use this method if your application or business practices do not use security IDs.
Tag # | Field Name | Req’d | Data type | Comments | |
---|---|---|---|---|---|
207 | SecurityExchange | C | Exchange |
Name of the market where the instrument trades. TT FIX uses this value to identify the exchange that offers the security. Possible values include:
Condition: Required when Tag 100 (ExtDestination) is absent and when tag 22 (IDSource) is 8 (Exchange symbol), 97 (Alias) or 9 (Name). |
|
OR | |||||
100 | ExDestination | C | Exchange |
Market Identifier Code (MIC) of the sub-market where the instrument trades. Execution destination for the order as defined by the institution Some traders use this tag in place of Tag 207 (SecurityExchange) to identify the exchange. ISO 10383 defines a comprehensive list of MIC codes. Condition: Required when Tag 207 (SecurityExchange) is absent and when tag 22 (IDSource) is 8 (Exchange symbol), 97 (Alias) or 9 (Name). |
|
55 | Symbol | Y | String |
Exchange-provided product symbol for the tradable product. When specifying instruments for NewOrderMultileg (AB) and MultilegOrderCancelReplace (AC):
|
|
167 | SecurityType | Y | String |
Asset class of the instrument. Possible values include:
|
|
55 | Symbol | Y | String |
Exchange-provided product symbol for the tradable product. |
|
200 | MaturityMonthYear | Y | MonthYear |
Month and year the instrument reaches maturity in the format YYYYMM. Note: If included, tag 541 (MaturityDate) will override this tag. |
|
205 | MaturityDay | C | DayOfMonth |
Day of expiration for the instrument. TT FIX uses this value and Tag 200 (MaturityMonthYear) to specify the maturity date when Tag 167 (SecurityType) is not MLEG. Range: 1-31 Note: If included, tag 541 (MaturityDate) will override this tag. Condition: Required when multiple contracts exist for the same month |
|
201 | PutOrCall | C | int |
Whether the option represents a put or call Possible values include:
Condition: Required when Tag 167 (SecurityType) is OPT |
|
202 | StrikePrice | C | Price |
Strike price for an option Condition: Required when Tag 167 (SecurityType) is OPT |
The following sample FIX messages illustrate different ways of identifying an instrument in an Execution Report (8) message.
8=FIX.4.2|9=00512|35=8|49=TT_ORDER|56=TTDROPCOPY|50=TTORDFADTS300|34=3122|52=20181023-20:53:10.869|55=6A|22=98|48=6AZ8|167=FUT|207=CME|1=jdoe123|10553=JDOE|37=02KZCJ028|32=1|151=0|14=1|54=1|40=2|59=0|150=2|39=2|442=1|44=7139|38=1|31=7139|60=20181023-20:53:10.545|10=104|
8=FIX.4.2|9=00512|35=8|49=TT_ORDER|56=TTDROPCOPY|50=TTORDFADTS300|34=3122|52=20181023-20:53:10.869|55=6A|22=97|48=6A Dec18|167=FUT|207=CME|1=jdoe123|10553=JDOE|37=02KZCJ028|32=1|151=0|14=1|54=1|40=2|59=0|150=2|39=2|442=1|44=7139|38=1|31=7139|60=20181023-20:53:10.545|10=104|
8=FIX.4.2|9=00512|35=8|49=TT_ORDER|56=TTDROPCOPY|50=TTORDFADTS300|34=3122|52=20181023-20:53:10.869|55=6A|22=5|48=1ADX8|167=FUT|207=CME|1=jdoe123|10553=JDOE|37=02KZCJ028|32=1|151=0|14=1|54=1|40=2|59=0|150=2|39=2|442=1|44=7139|38=1|31=7139|60=20181023-20:53:10.545|10=104|
8=FIX.4.2|9=00536|35=8|49=TT_ORDER|56=TTDROPCOPY|50=TTORDFADTS300|34=2425|52=20181024-15:42:49.292|55=ES|22=98|48=ESZ8 C0100|167=OPT|207=CME|1=jdoe123|10553=JDOE|37=02KZKR006|200=201812|32=1|151=0|14=1|201=1|54=2|40=2|59=0|150=2|39=2|442=1|202=10000|44=20|38=1|31=20|60=20181024-15:42:49.170|10=208
8=FIX.4.2|9=00536|35=8|49=TT_ORDER|56=TTDROPCOPY|50=TTORDFADTS300|34=2425|52=20181024-15:42:49.292|55=ES|22=97|48=ES Dec18 C10000|167=OPT|207=CME|1=jdoe123|10553=JDOE|37=02KZKR006|200=201812|32=1|151=0|14=1|201=1|54=2|40=2|59=0|150=2|39=2|442=1|202=10000|44=20|38=1|31=20|60=20181024-15:42:49.170|10=208
8=FIX.4.2|9=00536|35=8|49=TT_ORDER|56=TTDROPCOPY|50=TTORDFADTS300|34=2425|52=20181024-15:42:49.292|55=ES|22=5|48=ES100L8|167=OPT|207=CME|1=jdoe123|10553=JDOE|37=02KZKR006|200=201812|32=1|151=0|14=1|201=1|54=2|40=2|59=0|150=2|39=2|442=1|202=10000|44=20|38=1|31=20|60=20181024-15:42:49.170|10=208