Exchange Compliance

Introduction

This document describes the format for exchange compliance records that are created and made available to customers.  In some cases the formats are defined by the exchange.  When not defined by the exchange, a generic TT format is used.  These files are created daily for the previous day's activity (Friday and Saturday files are not generated until Sunday, depending on the exchange) and made available on the EFT server.  Customers should periodically check the EFT server for new files.  Access to the EFT server will be provided during the onboarding process. These files are commonly referred to as the audit trail records or audit trail CSV files.

A file will be created for each connection regardless of the trading activity for all connections owned by a company.  Expect a file with only the header if there is no trading activity.  If a connection is being shared with other companies that non-owning company should also expect a file with just the header (prior to Oct 21, 2021 files were only provided to non-owning companies when there was trading activity).

Companies receive records performed by 1) their users, 2) connections they own, 3) accounts they own (including all accounts in the record's account hierarchy), or 4) accounts where the company acts as the introducing broker.  This means a record will always be provided to the company which owns the connection, but may also be provided to several additional companies.

Each company is provided with a daily setup report.  The setup report includes snapshots of TTUS information (e.g., account limits, user settings, etc.).  There is also a change log which shows all the changes which have happened in TTUS in a given time range (typically 24 hours).  This data comes from TTUS reports that can be executed by company admins at any time.  Some of the reports are snapshots of the TTUS data at the moment of collection and some are reports based on a time range. Should collection fail or be delayed, there is no mechanism to recover older snapshots of the TTUS data. Time based reports can be re-executed in the future and will have consistent data for the time period.

Exchange send/recv logs are provided.  For exchanges which support a plain text send/recv log (e.g., FIX based exchanges) that data will be provided.  For exchanges which have a binary protocol (e.g., Eurex ETI) a plain text send/recv log will be created based on the binary data (NOTE: send/recv log collection began rolling out July 6, 2018 for limited exchanges; all exchanges will eventually be included).  The send/recv logs are only made available to companies which own connections.  

FIX send/recv logs can be provided for all orders routed to the TT Platform via the FIX Order Routing Service.  Companies who wish to receive these files should contact their account manager.  The FIX send/recv logs will contain data for all the markets a given FIX session supports.  The FIX Order Routing Service send/recv logs are only made available to companies which own the FIX connections and when there is non-heartbeat activity.  The files are named like fix_order_routing_service_tt_send_recv_logs_[company_identifier]_YYYY_MM_DD.zip.

FIX send/recv logs can be provided for companies that utilize the FIX Drop Copy Service (previously referred to in this document as FIX Back Office Service) to receive a FIX feed of their activity from the TT Platform.  Companies who wish to receive these files should contact their account manager. The FIX Drop Copy Service send/recv logs are created when there is non-heartbeat activity. In addition, a separate file may be created for each data center location. This may result in several files created at different times of the day.

The files are named in the format: fix_drop_copy_service_tt_send_recv_logs_[company_identifier]_[data_center]_YYYY_MM_DD.zip.

Note: Older versions of the FIX Drop Copy send/recv logs do not include the name of the [data_center] in the file name. The [data_center] was added as part of an effort to reduce the amount of time needed to collect these files

Examples of the FIX Drop Copy send/recv logfiles include: fix_drop_copy_service_tt_send_recv_logs_999_singapore_2022_10_10.zip and fix_drop_copy_service_tt_send_recv_logs_999_frankfurt_2022_10_10.zip.

The exchange send/recv logs and FIX send/recv logs have less collection robustness than the audit trail records. The audit trail records are stored in database systems, but the send/recv logs are simple log files stored on a single host created by a single application. There are many factors which can adversely affect collection, processing, and delivery of these files. Examples include unexpected system failure and drive corruption. TT may not be able to recover these files if collection is disrupted.

Each company is provided with a reconcile report for each calendar day. This file contains the list of files delivered to the EFT Server for a specific calendar day (UTC). The file will be empty except for the header if no files were delivered on the date associated with the report. Although a reconcile report is created for each calendar day, delivery of the reconcile file for Friday and Saturday doesn't happen until Sunday. For the other days of the week, delivery should happen around 2am UTC for the previous day (although many factors can slow the delivery). The timestamp used to determine if a file is included in a particular reconcile report is the delivery timestamp of the Exchange Compliance file archive system and may not match the file timestamps on the EFT Server. The reconcile reports are named like reconcile_tt_[company_identifier]_YYYY_MM_DD.txt. This feature became available on January 14, 2022 (no reconcile files are available prior to that date).

Safely Viewing Files

The csv files inside the zip file are plain text comma delimited files.  One common issue when viewing the data is that spreadsheet programs tend to automatically interpret and change some of the data when a csv file is opened (the degree depends on the spreadsheet and the configuration settings).  Some common changes include making large numbers into exponents, rounding numbers, and formatting dates.  If a csv file is viewed in a spreadsheet which has interpreted the data and the file is subsequently saved, the original data may be changed.  

Some suggestions to safely view the data:

  1. Attempt to import the data in your spreadsheet to avoid changes (example below).  This usually involves opening the spreadsheet program first (not double-clicking on the csv file) and then using an import wizard.
  2. Make sure to keep the original zip file which contained the original csv files to compare against any file which might have been altered.
  3. Open the file in a plain text viewer (e.g., Windows Notepad) if there is some question about the formatting.  Make sure to open the original file (resampling from the zip file if there is any chance changes were saved by a spreadsheet program).

Here's an example of how spreadsheets can modify the data using Google Sheets and how to avoid that.  To reduce clutter, only the first four columns of the csv are included in this example.

A sample of data as would be viewed in a plain text editor.  Note the time precision.

Date,Time,Message Type,TT Order ID
2019/08/27,09:59:30.088311120,NewOrderSingle,f96b573f-7eab-4781-9670-3ef0d133a9c7
2019/08/27,09:59:30.117216468,ExecutionReport,f96b573f-7eab-4781-9670-3ef0d133a9c7
2019/08/27,09:59:32.088100002,NewOrderSingle,08ec66e4-4d3a-4bc5-965e-77efcc232884

Another view of the same data (space formatted).

Date        Time                Message Type     TT Order ID                           
2019/08/27  09:59:30.088311120  NewOrderSingle   f96b573f-7eab-4781-9670-3ef0d133a9c7
  2019/08/27  09:59:30.117216468  ExecutionReport  f96b573f-7eab-4781-9670-3ef0d133a9c7
  2019/08/27  09:59:32.088100002  NewOrderSingle   08ec66e4-4d3a-4bc5-965e-77efcc232884

The same data opened in Google Sheets.  Notice the time has been changed.

To safely open this data in Google Sheets use the Import functionality.

In the Import menu, make sure to select that no conversion should happen.

When imported with no conversions, the date is displayed exactly as in the plain text viewer.

File Naming

Customers can expect one zip file per market named [market]_tt_[company_identifier]_YYYY_MM_DD.zip (e.g., sgx_tt_888_2016_10_16.zip).  This zip file will contain at least one csv file for each exchange connection owned by the company.  Files will also be present when sharing connections via account (orders/fills will be limited to those the sharing  company is allowed to access).

The market portion of the zip file name will be one of:

Market Abbrev Supports Send/Recv Notes
asx Yes
athex Yes
bist Yes
bitmex Yes
btec Yes BrokerTec on the OM Platform (ended on Jan 2020)
btec_cme Yes BrokerTec on the CME Globex Platform (beginning Jan 2020).
bvmf Yes B3
cboe Yes
cedx Yes
cfe Yes
cme Yes CME Globex.
cme_otc CME Clearport.
coinflex Yes
curveglobal Yes
deribit Yes
dgcx Yes
eex_derivative Yes
eex_derivative_otc EEX OTC trades.
eris Now part of CME and data will be included in the CME data.
espeed Yes Nasdaq Fixed Income
eurex Yes
euronext Yes
euronext_7xbridge Euronext provided via 7x bridge.
fenics Yes
fex Yes
gdax Yes Coinbase
hkex Yes
ice Yes
ice_l Yes ICE LIFFE
idem Yes
jpx Yes
jse Yes Prior to September 29, 2019 files were delivered as safex.
kcg
krx_bridge No KRX via FIX bridge.
lme Yes
lme_ntp Yes LMESelect 10
lse Yes
meff Yes
meff_7xbridge MEFF provided via 7x bridge.
mx_7xbridge MX provided via 7x bridge.
nasdaq_ned Yes Nordic Equity Derivatives Products. These products were previously available as part of ndaq_eu, but were split when the exchange segmented the APIs used to access them (March 28, 2022).
ndaq_eu Yes Nasdaq Nordic Commodity Products
nfx
nodal Yes
ose Yes Starting September 21, 2021 OSE became part of JPX.
sgx Yes
sgx_gift Yes SGX Connectivity for NSE Nifty products.
tfex Yes
tocom Yes Starting September 21, 2021 TOCOM became part of JPX.
tfx Yes

The MM_DD portion of the zip file is the end date of the range of records contained within the zip file in UTC.  The range of records is a 24 hour period, midnight to midnight, in the local time of the exchange.  That 24 hour range in local time will likely be split across two days when the time range is converted to UTC.  

For example, the CME runs in the America/Chicago timezone which can be 5 hours behind UTC.  The range of the query for 10/17/2016 in local time starts at 2016-10-17 00:00:00 and ends at 2016-10-17 23:59:59.  When converted to UTC that range starts at 2016-10-17 05:00:00 and ends at 2016-10-18 04:59:59.  Thus the zip file's MM_DD portion will use the end of the range 10/18 and will be named cme_tt_888_2016_10_18.zip.  

Another example at the other end of the timezone spectrum is ASX which runs in Australia/Sydney time which can be 11 hours ahead of UTC.  The range of the query for 10/17/2016 in local time starts at 2016-10-17 00:00:00 and ends at 2016-10-17 23:59:59.  When converted to UTC that range is 2016-10-16 13:00:00 and ends at 2016-10-17 12:59:59.  The zip file will be named asx_tt_888_2016_10_17.zip.

There are three types of csv files which contain exchange trading activity: 

1) those containing orders, fills, security definition requests, and quote requests named like [connection_id]_[market]_tt_audit_YYYY_MM_DD.csv (e.g., 4586_sgx_tt_audit_2018_08_01.csv) 

2) those containing trade capture reports named like trade_captures_[connection_id]_[market]_tt_audit_YYYY_MM_DD.csv (e.g., trade_captures_3331_sgx_tt_audit_2018_09_01.csv).

3) those containing OTC trades named like trade_reports_[connection_id]_market_tt_audit_YYYY_MM_DD.csv (e.g., trade_reports_17408_lse_tt_audit_2019_10_08.csv).  The trade_reports file is similar to the trade_captures file and was introduced in Q4 2019.  This will be the preferred format for OTCs and eventually data in trade_captures may migrate to this format.

In some cases an exchange may dictate that alternate file schemes be used.  The YYYY_MM_DD values on the csv files are inherited from the containing zip file.  Dates on files within the zip file were introduced in Q4 2018.  Files previously created will not contain the YYYY_MM_DD portion.

The setup report file naming convention is tt_setup_reports_[company_identifier]__YYYY_MM_DD.zip (e.g., tt_setup_reports_1_2018_05_01.zip).  The zip file will contain a csv file with the contents of each report.  The report csv files within the zip file are named like [company_identifer]_[report_type]_YYYY_MM_DD.csv (e.g., 819_user_account_connection_2018_10_17.csv).   Dates on files within the zip file was introduced in Q4 2018.  Files previously created will not contain the YYYY_MM_DD portion.

The send/recv file naming convention is [market]_tt_send_recv_logs_[company_identifier]_YYYY_MM_DD.zip (e.g., bvmf_tt_send_recv_logs_1_2018_06_07.zip).  The zip file will contain at least one file for each exchange connection.  The naming of each send/recv log varies by market, but will always include _cid_[connection_id]_send_recv_YYYY_MM_DD.log.  The beginning of the file name will typically include some exchange specific connection identifier that only has meaning to that exchange (e.g., sender comp id for CME).   Dates on files within the zip file was introduced in Q4 2018.  Files previously created will not contain the YYYY_MM_DD portion.

In some cases, a send/recv log in the zip file may be prefixed with [digit]_ (e.g., 2_CTTCA800_bvmf_cid_13922_send_recv_2018_09_15.log).  This will happen when a fix session is executed on more than one server.

The FIX Order Routing Service send/recv logs are named like fix_order_routing_service_tt_send_recv_logs_[company_identifier]_[data_center]_YYYY_MM_DD.zip (e.g., fix_order_routing_service_tt_send_recv_logs_17_singapore_2019_04_10.zip).  The zip file will contain at least one file for each active FIX connection.  If a FIX connection has no activity then no file will be created.  Similarly, if all FIX connections owned by a company have no activity then no zip file will be created.  The FIX connection logs within the zip file are named like fixorderrouting_[Remote_Comp_ID][_Target_Sub_ID]_send_recv_YYYY_MM_DD.log (e.g., fixorderrouting_Hasong_OR_TT_ORDER_send_recv_2019_04_10.log).  Note: previously the files were named like orderrtgnode_[Remote_Comp_ID][_Target_Sub_ID]_send_recv_YYYY_MM_DD.log and some zip files may contain files with both naming conventions.

In some cases, a FIX Order Routing Service send/recv log in the zip file may be prefixed with [digit]_ (e.g., 2_fixorderrouting_Hasong_OR_TT_ORDER_send_recv_2019_04_10.log).  This will happen when a FIX session was executed on more than one server within the collection time period.

The FIX Drop Copy Service send/recv logs are named like fix_drop_copy_service_tt_send_recv_logs_[company_identifier]_YYYY_MM_DD.zip (e.g., fix_drop_copy_service_tt_send_recv_logs_17_2019_04_10.zip).  The zip file will contain at least one file for each active FIX connection.  If a FIX connection has no activity then no file will be created.  Similarly, if all FIX connections owned by a company have no activity then no zip file will be created.  The FIX connection logs within the zip file are named like fixdropcopy_[Remote_Comp_ID][_Target_Comp_ID]_send_recv_YYYY_MM_DD.log (e.g., fixdropcopy_H8_BO_send_recv_2019_04_10.log).  NOTE: previously these files were named like backofficenode_[Remote_Comp_ID][_Target_Comp_ID]_send_recv_YYYY_MM_DD.log and some zip files may contain files with both naming conventions.

In some cases, a FIX Drop Copy Service send/recv log in the zip file may be prefixed with [digit]_ (e.g., 2_fixdropcopy_H8_BO_send_recv_2019_04_10.log).  This will happen when a FIX session was executed on more than one server within the collection time period.

The collection of FIX Drop Copy files is distributed across data centers and runs independently. That means customers might receive several FIX Drop Copy send/recv zip files per day and these files might be delivered at slightly different times. The number of files will depend on which data center is performing the collection of the FIX activity.

File Availability

The files are created for each market independently.  In general files will be available on the EFT server within a few hours for the previous calendar day (some exceptions noted below).  For example, Monday's CME activity is generally available on the EFT server early Tuesday morning in America/Chicago time.  Monday's Eurex activity is generally available on the EFT server early Tuesday morning in Europe/Berlin time.  

Most exchanges Friday and Saturday activity will be made available on the EFT server Sunday evening.  Keep in mind that the names of the files continue to follow the convention based on the range of records within them and not when they are created.  For example, the CME Friday activity for 10/14/2016 will be named cme_tt_888_2016_10_15.zip, but won't be made available until the evening of Sunday, 10/16/2016 on the EFT server.

The asx and fex exchanges have their data available on Friday evening (Chicago time), the remaining will have data available Sunday evening (Chicago time).

The exchange compliance zip file will be generated for each calendar day for all exchanges (regardless of whether the exchange is open).  This is done to allow customers to easily determine if they've downloaded all the files from the EFT server (note that this is a change in behavior, prior to Oct 21, 2021 files were only provided for calendar days in which exchanges were open).

The exchange send/recv logs are generally available about thirty minutes after the trading session ends.  The exchange send/recv logs are collected based on exchange sessions and so files are not created on days when exchanges are closed.  The FIX Order Routing Service and FIX Drop Copy Service send/recv logs are collected M-F around 4:10pm Chicago time and should be available on the EFT server soon after.  Each FIX Order Routing and FIX Drop Copy send/recv log file will contain about 24 hours of data from 4:00pm Chicago time (Monday's file will also contain any data from Sunday's activity).  If there is no activity for a company no logs will be collected and no zip file will be placed on the EFT server.

In some cases, it may take up to 24 hours for the files to be generated.  It's recommended that users check periodically for new files.

File Integrity

Each zip file will be accompanied by a checksum file that can be used to ensure integrity of the zip file after downloading from the EFT server.  The checksum file will be named like [market]_tt_[company_identifier]_YYYY_MM_DD.zip.sha256sum.txt (e.g., cme_tt_98_2017_12_19.zip.sha256sum.txt).  The checksum file will use linux style line endings, conversion to Windows style may be necessary if validation is happening on Windows or other non-linux platforms.

The first line of the checksum file will be the SHA256 hash of the zip file computed at its creation.  The second line of the checksum file will contain the name of the zip file for which the checksum was computed.   To validate the zip file, compute the SHA256 hash after downloading the zip file (there are free utilities on most platforms).  The value computed should match the value in the first line of the checksum file.

Timestamps

A message will have many timestamps associated with it in the Audit Trail file and Send/Recv log.  In most cases the timestamps will have small differences.  Some timestamps are created when the message is constructed (e.g., FIX tag 52) because the message's checksum must be computed after the timestamp has been created.  We endeavor to send messages as soon as possible after creation, but it's not always instant (this will be greatly exaggerated in our UAT environment due to compute constraints).  

The Send/Recv logs typically contain a timestamp at the beginning of each line.  This timestamp records when the message was sent or received from the network.  It's possible the log lines are out of sequence, but the timestamps are a correct chronological ordering of the messages.

Contract Details

Contracts contain dozens of fields and it's not feasible to add a column for each one (e.g., in many cases the columns are exchange specific).  To allow customers to obtain any/all contract information associated with a record in a compliance csv file, the TT contract identifier will be included in all rows.  The TT contract identifier can be used to query contract information via TT's PDS service that's part of the TT REST API.  The instrument identifier will be in the column TT Instrument ID.

Exchange Defined Formats

The following exchanges define their own format.  Links to the exchange documentation regarding the definitions are provided.  In some cases exchanges allow TT to extend the exchange mandated format with additional fields.

Exchange Documentation Notes
CME CME Audit Trail Requirements

CME Clearport trades do not provide an exchange format, so clearport trades are recorded in the generic TT format.

Additional note on CME audit requests. CME periodically requests customers to submit audit trails to ensure customers are maintaining the necessary records and to ensure the data is correct. In general, CME only requires rows of the audit trail CSV file for instruments on the exchanges: CME, CBOT, COMEX, and NYMEX.

Your audit trail CSV file might have records for many other exchanges such as XMGE (Minneapolis Grain Exchange), DUMX (Dubai Mercantile Exchange), or XKLS (Bursa Malaysia Derivatives). Always follow the instructions from CME's audit request; making sure to filter out records for the unneeded instruments.

The exchange name for the row's instrument is found in the column Exchange Code. These values will allow filtering based on the instrument. It is likely rows except the following should be omitted: XCME (CME), XNYM (NYMEX), XCBT (CBOT), XCEC (COMEX).

As part of an audit request the CME may ask for the version of TT's Audit Trail software. The version for iLink2 is TTAuditTrail: v1.0.4 and for iLink3 is TTAuditTrail: v1.0.1.

Similarly, the CME may ask for the TT's ApplicationSystemName (1603), ApplicationSystemVersion (1604), and ApplicationSystemVendor (1605). The values are 1603=CME Gateway, 1604=8.0, and 1605=TT.

CFE CFE Audit Trail Requirements
ICE ICE Audit Trail Requirements ICE and ICE LIFFE use the same format.
ATTENTION: Any extra fields added to exchange defined formats will always be added after exchange fields.  If the exchange adds a new field that newly added field may appear in the middle of the columns.  Keep that in mind when parsing this file.  

Extended CME Format

Column Name Value Format Examples Since Notes
Product/Instrument Group Code String value. 802928 04/21/2016 The contract's Security ID as defined by CME.  More specifically, this is tag 48 (SecurityID) from CME's Security Definition.
Exchange Code String value. XCME 04/21/2016 The security exchange; the exchange used to identify a security.  More specifically, this is tag 207 (SecurityExchange) from CME's Security Definition.
TT User ID Number. 21417 08/11/2017 The TT platform user identifier.
TT Current User ID Number. 21417 08/11/2017 The TT platform user identifier.  This value may differ from the TT User ID if another user changes or deletes an order.  This field is not populated on new orders.
TT FIX Client Order ID String value. 12191976 9/7/2018 Customer's FIX client order identifier (tag 11).  Populated when orders are routed to the TT Platform via FIX.
TT FIX Original Client Order ID String value. 03161978 9/7/2018 Customer's FIX original client order identifier (tag 41).  Populated when orders are routed to the TT Platform via FIX.
TT Order ID Thirty-two hexadecimal digits grouped with hyphens. 1eef9474-65eb-4774-9b39-f46fe3600bc5 07/10/2020 TT order identifier that remains associated with the order through all order activity (changes, rejects, fills, hold, submit, etc.).  This value is not sent to exchanges and is only understood within the TT platform.  Unique across all orders forever within the TT platform.  Stored as 128-bit value, and displayed as 32 hexadecimal digits with groups separated by hyphens.
TT Account ID Number. 3298 07/10/2020 The TT platform account identifier.
TT Instrument ID Sixty-four bit integer. 4741073286074065548 07/10/2020 Unique identifier for the contract within the TT platform.
Customer Handling Instr String W 12/2/2022 Codes that apply special information that the Broker / Dealer needs to report, as specified by the customer.

  • W - Desk
  • Y - Electronic (Default)
  • C - Vendor-provided Platform billed by Executing Broker
  • G - Sponsored Access via Exchange API or FIX provided by Executing Broker
  • H - Premium Algorithmic Trading Provider billed by Executing Broker
  • D - Other, including Other-provided Screen

Extended CFE Format

Column Name Value Format Examples Since Notes
DISPLAY_NAME String value. VX Nov16
VX Mar17-Nov16 Calendar
09/16/2016 The CFE has requested TT add an additional column which contains a human readable contract name.
TT User ID Number. 21417 08/11/2017 The TT platform user identifier.
TT Current User ID Number. 21417 08/11/2017 The TT platform user identifier.  This value may differ from the TT User ID if another user changes or deletes an order.  This field is not populated on new orders.
TT FIX Client Order ID String value. 12191976 9/7/2018 Customer's FIX client order identifier (tag 11).  Populated when orders are routed to the TT Platform via FIX.
TT FIX Original Client Order ID String value. 03161978 9/7/2018 Customer's FIX original client order identifier (tag 41).  Populated when orders are routed to the TT Platform via FIX.
TT Order ID Thirty-two hexadecimal digits grouped with hyphens. 1eef9474-65eb-4774-9b39-f46fe3600bc5 07/10/2020 TT order identifier that remains associated with the order through all order activity (changes, rejects, fills, hold, submit, etc.).  This value is not sent to exchanges and is only understood within the TT platform.  Unique across all orders forever within the TT platform.  Stored as 128-bit value, and displayed as 32 hexadecimal digits with groups separated by hyphens.
TT Account ID Number. 3298 07/10/2020 The TT platform account identifier.
TT Instrument ID Sixty-four bit integer. 4741073286074065548 07/10/2020 Unique identifier for the contract within the TT platform.

Extended ICE Format

Column Name Value Format Examples Since Notes
TT User ID Number. 21417 08/11/2017 The TT platform user identifier.
TT Current User ID Number. 21417 08/11/2017 The TT platform user identifier.  This value may differ from the TT User ID if another user changes or deletes an order.  This field is not populated on new orders.
DirectElectronicAccess String value. Y 12/08/2017 Whether or not the order is sent from direct/sponsored access, or from another source.  Value range:
YN
TradingCapacity String value. P 12/08/2017 Indication of a user dealing on own account (DEAL), trading in a matched principal capacity (MATCH), or trading in any other trading capacity (AOTC).  Value range:
P (DEAL)R (MATCH)A (AOTC)
LiquidityProvision String value. Y 12/08/2017 Indication of market making.  Value range:
YN
CommodityDerivIndicator String value. Y 12/08/2017 Indication of whether the order is for hedging purposes to reduce risk.  Value range:
YN
InvestmentDecision String value. 121 12/08/2017 Indication of who made the trading decision.
InvestmentDecisionIsAlgo String value. N 12/08/2017 Indicates if the investment decision was made by an algorithm.  Value range:
YN
ExecutionDecision String value. 845 12/08/2017 Indication of who or what algo submitted the order.
ExecutionDecisionIsAlgo String value. N 12/08/2017 Indicates if the execution decision was made by an algorithm.  Value range:
YN
ClientIDCode String value. 999 12/08/2017 Identification of the customer (LEI/Short Code).
MifIDID String value. 450 12/08/2017 Mifid identifier.
Message Type String value. D 7/20/2018 FIX Message Type.  For execution report messages, the order status will also be included.  The two values will be separated with a backslash character (e.g., 8\0, 8\1, etc.).
TV TIC String value. 201807051523559444820000600005950005578028 8/3/2018 Trading Venue Transaction Identification Code (TVTIC) is a number generated by trading venues and disseminated to both the buying and the selling parties in accordance with EU regulations.
TT FIX Client Order ID String value. 12191976 9/7/2018 Customer's FIX client order identifier (tag 11).  Populated when orders are routed to the TT Platform via FIX.
TT FIX Original Client Order ID String value. 03161978 9/7/2018 Customer's FIX original client order identifier (tag 41).  Populated when orders are routed to the TT Platform via FIX.
Authorized Group ID  String value. ttdts 5/10/2019 The value of the right side of tag 144.
Text String value Missing Field 8/16/2019 The value of tag 58.
TT Order ID Thirty-two hexadecimal digits grouped with hyphens. 1eef9474-65eb-4774-9b39-f46fe3600bc5 07/10/2020 TT order identifier that remains associated with the order through all order activity (changes, rejects, fills, hold, submit, etc.).  This value is not sent to exchanges and is only understood within the TT platform.  Unique across all orders forever within the TT platform.  Stored as 128-bit value, and displayed as 32 hexadecimal digits with groups separated by hyphens.
TT Account ID Number. 3298 07/10/2020 The TT platform account identifier.
TT Instrument ID Sixty-four bit integer. 4741073286074065548 07/10/2020 Unique identifier for the contract within the TT platform.
Last Qty Number. 6 6/1/2021 The amount filled on this execution report.
Cum Qty Number. 2 6/1/2021 The total quantity filled.  In general, Order Qty = Leaves Qty + Cum Qty.
Customer Handling Instr String W 12/2/2022 Codes that apply special information that the Broker / Dealer needs to report, as specified by the customer.

  • W - Desk
  • Y - Electronic (Default)
  • C - Vendor-provided Platform billed by Executing Broker
  • G - Sponsored Access via Exchange API or FIX provided by Executing Broker
  • H - Premium Algorithmic Trading Provider billed by Executing Broker
  • D - Other, including Other-provided Screen

TT Format (Orders/ Fills/ SecurityDefinition/ Quotes)

Column Name Value Format Examples Since Notes
Date YYYY/MM/DD 2016/08/01 09/01/2014 In UTC.  For messages going to the exchange this represents when the message is sent to the exchange from the order server.  For messages received from the exchange this represents when the message is sent from the order server to the rest of the TT platform.
Time HH:MM:SS.dddddddd 09:50:08.21557297 09/01/2014 UTC with nanosecond precision.  For messages going to the exchange this represents when the message is sent to the exchange from the order server.  For messages received from the exchange this represents when the message is sent from the order server to the rest of the TT platform.
Message Type String derived from FIX style messages. NewOrderSingle, ExecutionReport 09/01/2014 Value range:
NewOrderSingle, NewOrderCross, OrderCancelReplaceRequest, OrderCancelRequest, ExecutionReport, OrderCancelReject, SecurityDefinitionRequest, SecurtyDefinition, QuoteRequest, QuoteRequestResponse,News.
TT Order ID Thirty-two hexadecimal digits grouped with hyphens. 1eef9474-65eb-4774-9b39-f46fe3600bc5 09/01/2014 TT order identifier that remains associated with the order through all order activity (changes, rejects, fills, hold, submit, etc.).  This value is not sent to exchanges and is only understood within the TT platform.  Unique across all orders forever within the TT platform.  Stored as 128-bit value, and displayed as 32 hexadecimal digits with groups separated by hyphens.  Tag 37 in TT Fix Drop Copy feed.
TT Instrument ID Sixty-four bit integer. 4741073286074065548 09/01/2014 Unique identifier for the contract within the TT platform.
Product Type String description. FUT 09/01/2014 TT platform product categorization.  Value range: FUT, OPT, MLEG, and STRA
Product Symbol String description. FESX 09/01/2014 In general this field will contain the contract's symbol as defined by the exchange.  Please refer to exchange documentation for more information. 
Maturity Date YYYY-MM-DD 2016-08-14 09/01/2014 The maturity date of the contract.
TT Request ID Sixty-four bit integer. 89564 09/01/2014 A TT platform identifier for each order request.
Exchange Request ID String value. 50005001 09/01/2014 The exchange provided order request identifier.  The format and meaning differ by exchange.
Exchange Order ID String value. 93584839 09/01/2014 The exchange provided order identifier.  The format and meaning differ by exchange.  Tag 198 in TT Fix Drop Copy feed.
Exchange Link Association String value. 90202406 09/01/2014 A TT defined string that associates the exchange connection used when interacting with the exchange (e.g., for Eurex the Session ID is used).
Order Type String value. ORD_TYPE_LIMIT 09/01/2014 A TT defined set or order types.  Value range: 
ORD_TYPE_MARKET, ORD_TYPE_LIMIT, ORD_TYPE_STOP, ORD_TYPE_STOP_LIMIT, ORD_TYPE_MARKET_WITH_LEFT_OVER_AS_LIMIT, ORD_TYPE_MARKET_LIMIT_MARKET_LEFT_OVER_AS_LIMIT,  ORD_TYPE_STOP_MARKET_TO_LIMIT, ORD_TYPE_IF_TOUCHED_MARKET, ORD_TYPE_IF_TOUCHED_LIMIT, ORD_TYPE_IF_TOUCHED_MARKET_TO_LIMIT
Time In Force String value. TIME_IN_FORCE_DAY 09/01/2014 A TT defined set or time in force values.  Value range:
TIME_IN_FORCE_DAY, TIME_IN_FORCE_GOOD_TILL_CANCEL, TIME_IN_FORCE_AT_THE_OPENING, TIME_IN_FORCE_IMMEDIATE_OR_CANCEL, TIME_IN_FORCE_FILL_OR_KILL, TIME_IN_FORCE_GOOD_TILL_CROSSING, TIME_IN_FORCE_GOOD_TILL_DATE, TIME_IN_FORCE_AT_THE_CLOSE, TIME_IN_FORCE_GOOD_THROUGH_CROSSING, TIME_IN_FORCE_AT_CROSSING, TIME_IN_FORCE_GOOD_IN_SESSION
Expire Date YYYY/MM/DD 2016/10/31 09/01/2014
Execution Type String value. EXEC_TYPE_NEW 09/01/2014 A set of TT defined execution types.  Value range:
EXEC_TYPE_NEW, EXEC_TYPE_DONE_FOR_DAY, EXEC_TYPE_CANCELED, EXEC_TYPE_REPLACED, EXEC_TYPE_PENDING_CANCEL, EXEC_TYPE_STOPPED, EXEC_TYPE_REJECTED, EXEC_TYPE_SUSPENDED, EXEC_TYPE_PENDING_NEW, EXEC_TYPE_CALCULATED, EXEC_TYPE_EXPIRED, EXEC_TYPE_RESTATED, EXEC_TYPE_PENDING_REPLACE, EXEC_TYPE_TRADE, EXEC_TYPE_TRADE_CORRECT, EXEC_TYPE_TRADE_CANCEL, EXEC_TYPE_ORDER_STATUS, EXEC_TYPE_TRADE_IN_A_CLEARING_HOLD, EXEC_TYPE_TRADE_HAS_BEEN_RELEASED_TO_CLEARING, EXEC_TYPE_TRIGGERED_OR_ACTIVATED_BY_SYSTEM, EXEC_TYPE_POSITION_RESERVE_CANCEL_REJECT, EXEC_TYPE_POSITION_RESERVE_REPLACE_REJECT, EXEC_TYPE_ALGO_MESSAGE,  EXEC_TYPE_EXPIRED_ORDERBOOK, EXEC_TYPE_SQUARE_OFF
Order Status String value. ORD_STATUS_NEW 09/01/2014 A set of TT defined order statuses which generally follow the FIX protocol.To understand the reason for the execution report refer to the field Execution Type. Value range:
ORD_STATUS_NEW, ORD_STATUS_PARTIALLY_FILLED, ORD_STATUS_FILLED, ORD_STATUS_DONE_FOR_DAY, ORD_STATUS_CANCELED , ORD_STATUS_PENDING_CANCEL, ORD_STATUS_STOPPED, ORD_STATUS_REJECTED, ORD_STATUS_SUSPENDED, ORD_STATUS_PENDING_NEW, ORD_STATUS_CALCULATED, ORD_STATUS_EXPIRED, ORD_STATUS_ACCEPTED_FOR_BIDDING, ORD_STATUS_PENDING_REPLACE
Text String value. Rejected due to price outside reasonability limit. 09/01/2014 Represents free for text typically sent by the exchange.
Reject Source String value. REJECT_SOURCE_RISK 09/01/2014 Defines the subsystem of the TT platform which caused an order operation to be rejected.  Value range:
REJECT_SOURCE_EDGE, REJECT_SOURCE_RISK, REJECT_SOURCE_GATEWAY, REJECT_SOURCE_EXCHANGE, REJECT_SOURCE_ALGO, REJECT_SOURCE_ASE,   REJECT_SOURCE_TTINT
Side String value. B 09/01/2014 A set of TT defined representations of the side or the order.  Value range:
BS
Order Qty Number. 12 09/01/2014 Total order quantity.  In general, Order Qty = Leaves Qty + Cum Qty.
Cum Qty Number. 6 09/01/2014 The total quantity filled.  In general, Order Qty = Leaves Qty + Cum Qty.
Leaves Qty Number. 3 09/01/2014 The total quantity available for further execution.  In general, Order Qty = Leaves Qty + Cum Qty.
Min Qty Number 5 09/01/2014 The minimum quantity to be executed.
Last Qty Number. 2 09/01/2014 The amount filled on this execution report.
Display Qty Number. 5 09/01/2014 The amount of the order to be publicly displayed at the exchange, typically set on iceberg orders.
Refresh Qty Number. 5 09/01/2014 The amount to refresh the Displayed Qty.
Exchange Order Qty Number. 10 09/01/2014 Used to reconcile quantities for exchanges which do not keep a history of order qty through order operations.
Exchange Leaves Qty Number. 5 09/01/2014 Used to reconcile quantities for exchanges which do not keep a history of leaves qty through order operations.
Exchange Cum Qty Number. 5 09/01/2014 Used to reconcile quantities for exchanges which do not keep a history of cum qty through order operations.
Price Number (possibly with decimal). 12.50 09/01/2014
Last Price Number (possibly with decimal). 12.50 09/01/2014 Price of this fill.
Stop Price Number (possibly with decimal). 12.50 09/01/2014 Price at which price triggered orders trigger.
Execution ID String value. 14528824094 09/01/2014 Exchange defined execution identifier.  Tag 526 in TT Fix Drop Copy feed.
Trade Date YYYY/MM/DD 2016/10/14 09/01/2014 Date of the trade.
Account String value. 737B3608 09/01/2014 The account used when placing the order.  The exact meaning of this field can vary by exchange as each exchange defines their account rules.
Sender Sub ID String value. trader9 09/01/2014 The meaning of this field can vary by exchange as each exchange defines their rules for identifying the order's operator.
TT Connection ID Number. 430 12/15/2015 The TT platform connection identifier.  A connection is a container for the information required to interact with an exchange (e.g., username, password, exchange ip address, etc.).
Security Request ID Thirty-two hexadecimal digits grouped with hyphens. 1eef9474-65eb-4774-9b39-f46fe3600bc5 12/15/2015 A TT generated identifier for the security request. Only valid for SecurityDefinitionRequest and SecurityDefinition messages.
Security Definition Status String value. SECURITY_DEFINITION_STATUS_ACCEPTED 12/15/2015 A set of TT defined representations of the security definition status.  Value range:
SECURITY_DEFINITION_STATUS_ACCEPTED, SECURITY_DEFINITION_STATUS_REJECTED, SECURITY_DEFINITION_STATUS_PENDING
TT User ID Number. 21417 12/15/2015 The TT platform user identifier.
TT Account ID Number. 3298 04/15/2016 The TT platform account identifier.
User ID String value. trader9 04/15/2016 The meaning of this field can vary by exchange as each exchange defines their rules for identifying the order's operator.
Take Up Member String value. member5 04/15/2016 The meaning of this field can vary by exchange as each exchange defines their rules for take up.
Exchange Account String value. account50 04/15/2016 The meaning of this field can vary by exchange as each exchange defines their rules for specifying account information.
Text 1 String value. account50 04/15/2016 The meaning of this field can vary by exchange as each exchange defines their rules for specifying account information.
Text 3 String value. account50 04/15/2016 The meaning of this field can vary by exchange as each exchange defines their rules for specifying account information.
Account Code String value. account50 04/15/2016 The meaning of this field can vary by exchange as each exchange defines their rules for specifying account information.
ComplianceID Sixty-four bit integer. 4564345433 04/15/2016 Exchange defined identifier for compliance purposes.
Quote Request ID Thirty-two hexadecimal digits grouped with hyphens. 1eef9474-65eb-4774-9b39-f46fe3600bc5 04/15/2016 A TT generated identifier for the quote request. Only valid for QuoteRequest and QuoteRequestResponse messages.
Quote Status String value. QUOTE_REQUEST_STATUS_OK 04/15/2016 A set of TT defined representations of the quote status.  Value range:
QUOTE_REQUEST_STATUS_OK, QUOTE_REQUEST_STATUS_REJECTED, QUOTE_REQUEST_STATUS_PENDING, QUOTE_REQUEST_STATUS_SENT
Headline String value. Trading has been halted. 8/11/2017 The headline information of a news message.
TT Current User ID Number. 21417 08/11/2017 The TT platform user identifier.  This value may differ from the TT User ID if another user changes or deletes an order.  This field is not populated on new orders.
IP Address IP Address 10.195.2.49 10/23/2017 An IP address to help identify where the order operation originated.  May not be available on all order operations.
DirectElectronicAccess String value. Y 11/10/2017 Whether or not the order is sent from direct/sponsored access, or from another source.  Value range:
YN
TradingCapacity String value. P 11/10/2017 Indication of a user dealing on own account (DEAL), trading in a matched principal capacity (MATCH), or trading in any other trading capacity (AOTC).  Value range:
P (DEAL)R (MATCH)A (AOTC)
LiquidityProvision String value. Y 11/10/2017 Indication of market making.  Value range:
YN
CommodityDerivIndicator String value. Y 11/10/2017 Indication of whether the order is for hedging purposes to reduce risk.  Value range:
YN
InvestmentDecision String value. 121 11/10/2017 Indication of who made the trading decision.
InvestmentDecisionIsAlgo String value. N 11/10/2017 Indicates if the investment decision was made by an algorithm.  Value range:
YN
ExecutionDecision String value. 845 11/10/2017 Indication of who or what algo submitted the order.
ExecutionDecisionIsAlgo String value. N 11/10/2017 Indicates if the execution decision was made by an algorithm.  Value range:
YN
ClientIDCode String value. 999 11/10/2017 Identification of the customer (LEI/Short Code).
CustomerDefinedClientIDCode String value. 547 11/10/2017 Additional identifier information (used by limited exchanges).
TV TIC String value. 201807051523559444820000600005950005578028 8/3/2018 Trading Venue Transaction Identification Code (TVTIC) is a number generated by trading venues and disseminated to both the buying and the selling parties in accordance with EU regulations.
TT FIX Client Order ID String value. 12191976 9/7/2018 Customer's FIX client order identifier (tag 11).  Populated when orders are routed to the TT Platform via FIX.
TT FIX Original Client Order ID String value. 03161978 9/7/2018 Customer's FIX original client order identifier (tag 41).  Populated when orders are routed to the TT Platform via FIX.
TT Execution ID String value. BhMmxResaO2G1x3P9hGUxD 02/15/2019 TT defined execution identifier. Tag 16612 in TT Fix Drop Copy feed.
Exchange Latency Number. 102076 07/10/2020 The elapsed time (microseconds) between when a request leaves the TT Platform to the exchange and the response from the exchange is received by the TT Platform.  This field is only populated on the response of a request/response pair.
Customer Handling Instr String W 12/2/2022 Codes that apply special information that the Broker / Dealer needs to report, as specified by the customer.

  • W - Desk
  • Y - Electronic (Default)
  • C - Vendor-provided Platform billed by Executing Broker
  • G - Sponsored Access via Exchange API or FIX provided by Executing Broker
  • H - Premium Algorithmic Trading Provider billed by Executing Broker
  • D - Other, including Other-provided Screen

Intent To Cross String T 1/27/2023 Indicates intent on pre-negotiated trades (MX)

TT Format (Trade Capture Reports)

Trade capture reports use a distinct format from orders and fills because the vast majority of the fields are different.  The trade capture reports file is only provided for exchanges for which this message type is valid.

Column Name Value Format Examples Since Notes
Date YYYY/MM/DD 2016/08/01 05/22/2015 UTC
Time HH:MM:SS.dddddddd 09:50:08.21557297 05/22/2015 UTC with nanosecond precision.
Message Type String derived from FIX style messages. TradeCaptureReport 05/22/2015 Value range:
TradeCaptureReport, TradeCaptureReportAck
TT Instrument ID Sixty-four bit integer. 4741073286074065548 05/22/2015 Unique identifier for the contract within the TT platform.
Product Type String description. FUT 05/22/2015 TT platform product categorization.  Value range: FUT, OPT, MLEG, and STRA
Product Symbol String description. FESX 05/22/2015 The meaning of this field can vary by exchange as each exchange defines their contracts and symbology.
Maturity Date YYYY-MM-DD 2016-08-14 05/22/2015 The maturity date of the contract.
Sender Sub ID String value. trader9 05/22/2015 The meaning of this field can vary by exchange as each exchange defines their rules for identifying the order's operator.
Report ID Thirty-two hexadecimal digits grouped with hyphens. 1eef9474-65eb-4774-9b39-f46fe3600bc5 05/22/2015 GUID which is an identifier of the trade capture report.
Secondary Report ID String value. 4345433454 05/22/2015 Exchange assigned identifier of the trade capture report.
Transaction Type String value. TRADE_REPORT_TRANS_TYPE_NEW 05/22/2015 A set of TT defined representations of the transaction type.  Value range:
TRADE_REPORT_TRANS_TYPE_NEW, TRADE_REPORT_TRANS_TYPE_CANCEL, TRADE_REPORT_TRANS_TYPE_REPLACE, TRADE_REPORT_TRANS_TYPE_RELEASE, TRADE_REPORT_TRANS_TYPE_REVERSE, TRADE_REPORT_TRANS_TYPE_CANCEL_DUE_TO_BACK_OUT_OF_TRADE, TRADE_REPORT_TRANS_TYPE_INQUIRE, TRADE_REPORT_TRANS_TYPE_ACCEPT, TRADE_REPORT_TRANS_TYPE_REGISTER
Report Type String value. TRADE_REPORT_TYPE_ACCEPT 05/22/2015 A set of TT defined representations of the report type.  Value range:
TRADE_REPORT_TYPE_SUBMIT, TRADE_REPORT_TYPE_ALLEGED, TRADE_REPORT_TYPE_ACCEPT, TRADE_REPORT_TYPE_DECLINE, TRADE_REPORT_TYPE_NO_WAS, TRADE_REPORT_TYPE_CANCEL, TRADE_REPORT_TYPE_ALLEGED_NEW, TRADE_REPORT_TYPE_ALLEGED_NO_WAS, TRADE_REPORT_TYPE_UNKNOWN, TRADE_REPORT_TYPE_CLEARING, TRADE_REPORT_TYPE_PENDING
Handling Instruction String value. TRADE_HANDLING_INSTR_TRADE_CONFIRMATION 05/22/2015 A set of TT defined representations of the handling instruction.  Value range:
TRADE_HANDLING_INSTR_TRADE_CONFIRMATION, TRADE_HANDLING_INSTR_TWO_PARTY_REPORT, TRADE_HANDLING_INSTR_ONE_PARTY_REPORT_FOR_MATCHING, TRADE_HANDLING_INSTR_ONE_PARTY_REPORT_FOR_PASS_THROUGH, TRADE_HANDLING_INSTR_AUTOMATED_FLOOR_ORDER_ROUTING, TRADE_HANDLING_INSTR_THIRD_PARTY_REPORT_FOR_PASS_THROUGH, TRADE_HANDLING_INSTR_PENDING_TRADE_REPORT, TRADE_HANDLING_INSTR_COMPLETED_TRADE_REPORT, TRADE_HANDLING_INSTR_EXPIRED_TRADE_REPORT 
Trade Type String value. TRD_TYPE_REGULAR_TRADE 05/22/2015 TRD_TYPE_REGULAR_TRADE, TRD_TYPE_BLOCK_TRADE, TRD_TYPE_EXCHANGE_FOR_PHYSICAL, TRD_TYPE_TRANSFER, TRD_TYPE_EXCHANGE_FOR_RISK, TRD_TYPE_EXCHANGE_FOR_SWAP, TRD_TYPE_EXCHANGE_OF_OPTIONS_FOR_OPTIONS, TRD_TYPE_VOLATILITY, TRD_TYPE_EFP_FINANCIAL, TRD_TYPE_EFP_INDEX_FUTURES, TRD_TYPE_STRATEGY_BLOCK_TRADE, TRD_TYPE_BLOCK_STANDARD_CF, TRD_TYPE_BLOCK_COMBINATION_CF, TRD_TYPE_EFS_EFP_CF, TRD_TYPE_BLOCK_INTERNAL_CF, TRD_TYPE_PORTFOLIO_CF, TRD_TYPE_CORRECTION_CF, TRD_TYPE_BLOCK_COMBINATION_BUYER_CF, TRD_TYPE_BLOCK_COMBINATION_SELLER_CF, TRD_TYPE_EFS_EFP_COMBINATION_CF, TRD_TYPE_EFS_EFP_COMBINATION_BUYER_CF, TRD_TYPE_EFS_EFP_COMBINATION_SELLER_CF, TRD_TYPE_OTC_STANDARD_CIO, TRD_TYPE_OTC_COMBINATION_CIO, TRD_TYPE_OTC_COMBINATION_BUYER_CIO, TRD_TYPE_OTC_COMBINATION_SELLER_CIO, TRD_TYPE_STANDARD_TRADE_CD, TRD_TYPE_STANDARD_OUTSIDE_SPREAD_CD, TRD_TYPE_COMBINATION_CD, TRD_TYPE_OLD_CD, TRD_TYPE_INTERNAL_CD, TRD_TYPE_PORTFOLIO_CD, TRD_TYPE_CORRECTION_CD, TRD_TYPE_EXCHANGE_GRANTED_FD, TRD_TYPE_STANDARD_OUTSIDE_FD, TRD_TYPE_OFF_HOURS_FD, TRD_TYPE_BLOCK_FD, TRD_TYPE_EXCH_GRANTED_EXCEED_MAX_LOT_FD, TRD_TYPE_EXCH_GRANTED_EML_OFF_HOURS_FD, TRD_TYPE_EXCH_GRANTED_LATE_FD, TRD_TYPE_FLEX_CONTRACT_CONVERSION_FD, TRD_TYPE_ICE_EFRP, TRD_TYPE_ICEBLK, TRD_TYPE_BASIS, TRD_TYPE_VOLATILITY_CONTINGENT, TRD_TYPE_STOCK_CONTINGENT, TRD_TYPE_CCX_EFP, TRD_TYPE_OTHER_CLEARING_VALUE, TRD_TYPE_N2EX, TRD_TYPE_EEX, TRD_TYPE_EFS_EFP_CONTRA, TRD_TYPE_EFM, TRD_TYPE_NG_EFP_EFS, TRD_TYPE_CONTRA, TRD_TYPE_CPBLK, TRD_TYPE_BILATERAL_OFF_EXCH, TRD_TYPE_OTC_PRIVATELY_NEGOTIATED_TRADES, TRD_TYPE_OTC_LARGE_NOTIONAL_OFF_FACILITY_SWAP, TRD_TYPE_BLOCK_SWAP_TRADE, TRD_TYPE_LARGE_IN_SCALE, TRD_TYPE_AGAINST_ACTUAL, TRD_TYPE_LARGE_IN_SCALE_PACKAGE, TRD_TYPE_GUARANTEED_CROSS, TRD_TYPE_REQUEST_FOR_CROSS
Price Number (possibly with decimal). 12.50 05/22/2015
Quantity Number. 15 05/22/2015
Trade ID String value. trade87 05/22/2015 Exchange trade identifier.
Trade Match ID String value. trade99 05/22/2015 Exchange matching engine identifier.
Trade Link ID String value trade888 05/22/2015 Exchange provided link to all child trade capture reports that may be generated by the exchange for all the report sides of this trade capture report.
Report Ref ID Thirty-two hexadecimal digits grouped with hyphens. 1eef9474-65eb-4774-9b39-f46fe3600bc5 05/22/2015 Serves as a reference to a permanent trade capture report identifier in cases where additional actions are taken on an existing trade capture report.
Secondary Report Ref ID String value. trade43 05/22/2015 Serves as a reference to a exchange provided permanent trade capture report identifier in cases where additional actions are taken on an existing trade capture report.
Status String value. TRD_RPT_STATUS_ACCEPTED 05/22/2015 A set of TT defined representations of the trade report status.  Value range:
TRD_RPT_STATUS_ACCEPTED, TRD_RPT_STATUS_REJECTED, TRD_RPT_STATUS_CANCELLED, TRD_RPT_STATUS_ACCEPTED_WITH_ERRORS
Sides A string value.  A repeating collection of:
side:<SIDE> executing_firm:<EF> customer_account:<CA>
side:SIDE_SELL executing_firm:NFTTG2 customer_account:8 side:SIDE_BUY executing_firm:NFTTG3 customer_account:13 05/22/2015 The sides participating in the trade capture report.
TT Account ID Number. 3298 05/22/2015 The TT platform account identifier.
TT User ID Number. 21417 05/22/2015 The TT platform user identifier.
TT Current User ID Number. 21417 05/22/2015 Only populated if the user requesting change/delete of the trade capture report is different that the user from the last trade capture report.
TT Connection ID Number. 430 08/20/2015 The TT platform connection identifier.  A connection is a container for the information required to interact with an exchange (e.g., username, password, exchange ip address, etc.).
Transaction Booked Time YYYY/MM/DD HH:MM:SS.dddddddd 2016/10/14 09:05:12.25438723 08/20/2015 Time of trade agreement, in UTC.
IP Address IP Address 10.195.2.49 10/23/2017 An IP address to help identify where the order operation originated.  May not be available on all order operations.

TT Format (Trade Reports)

Trade reports use a distinct format from orders and fills because the vast majority of the fields are different. The trade reports file is only provided for exchanges for which this message type is valid.

Column Name Value Format Examples Since Notes
Date YYYY/MM/DD 2016/08/01 11/01/2019 UTC
Time HH:MM:SS.dddddddd 09:50:08.21557297 11/01/2019 UTC with nanosecond precision.
Message Type String derived from FIX style messages. TradeReport 11/01/2019 Value range:
TradeReport
TT Instrument ID Sixty-four bit integer. 4741073286074065548 11/01/2019 Unique identifier for the contract within the TT platform.
Product Type String description. FUT 11/01/2019 TT platform product categorization.  Value range: FUT, OPT, MLEG, and STRA
Product Symbol String description. FESX 11/01/2019 The meaning of this field can vary by exchange as each exchange defines their contracts and symbology.
Maturity Date YYYY-MM-DD 2016-08-14 11/01/2019 The maturity date of the contract.
Sender Sub ID String value. trader9 11/01/2019 The meaning of this field can vary by exchange as each exchange defines their rules for identifying the order's operator.
Report ID Thirty-two hexadecimal digits grouped with hyphens. 1eef9474-65eb-4774-9b39-f46fe3600bc5 11/01/2019 GUID which is an identifier of the trade report.
Secondary Report ID String value. 4345433454 11/01/2019 Exchange assigned identifier of the trade report.
Transaction Type String value. OTC_TRANS_TYPE_NEW 11/01/2019 A set of TT defined representations of the transaction type.  Value range:
OTC_TRANS_TYPE_UNKNOWN.OTC_TRANS_TYPE_NEW, OTC_TRANS_TYPE_REPLACE, OTC_TRANS_TYPE_CANCEL, OTC_TRANS_TYPE_APPROVE, OTC_TRANS_TYPE_TRADE_CONFIRMATION, OTC_TRANS_TYPE_REJECT, OTC_TRANS_TYPE_INQUIRE, OTC_TRANS_TYPE_COMPLETE, OTC_TRANS_TYPE_EXPIRE
Transaction Status String value. OTC_TRD_STATUS_NEW 11/01/2019 A set of TT defined representations of the report type.  Value range:
OTC_TRD_STATUS_UNKNOWN,;OTC_TRD_STATUS_PENDING_NEW, OTC_TRD_STATUS_NEW, OTC_TRD_STATUS_PENDING_REPLACE, OTC_TRD_STATUS_REPLACED, OTC_TRD_STATUS_PENDING_CANCEL, OTC_TRD_STATUS_CANCELLED, OTC_TRD_STATUS_PENDING_APPROVE, OTC_TRD_STATUS_APPROVED, OTC_TRD_STATUS_FILLED, OTC_TRD_STATUS_COMPLETED, OTC_TRD_STATUS_EXPIRED, OTC_TRD_STATUS_REJECTED, OTC_TRD_STATUS_WAITING_FOR_APPROVAL
Trade Type String value. TRD_TYPE_REGULAR_TRADE 11/01/2019 TRD_TYPE_REGULAR_TRADE, TRD_TYPE_BLOCK_TRADE, TRD_TYPE_EXCHANGE_FOR_PHYSICAL, TRD_TYPE_TRANSFER, TRD_TYPE_EXCHANGE_FOR_RISK, TRD_TYPE_EXCHANGE_FOR_SWAP, TRD_TYPE_EXCHANGE_OF_OPTIONS_FOR_OPTIONS, TRD_TYPE_VOLATILITY, TRD_TYPE_EFP_FINANCIAL, TRD_TYPE_EFP_INDEX_FUTURES, TRD_TYPE_STRATEGY_BLOCK_TRADE, TRD_TYPE_BLOCK_STANDARD_CF, TRD_TYPE_BLOCK_COMBINATION_CF, TRD_TYPE_EFS_EFP_CF, TRD_TYPE_BLOCK_INTERNAL_CF, TRD_TYPE_PORTFOLIO_CF, TRD_TYPE_CORRECTION_CF, TRD_TYPE_BLOCK_COMBINATION_BUYER_CF, TRD_TYPE_BLOCK_COMBINATION_SELLER_CF, TRD_TYPE_EFS_EFP_COMBINATION_CF, TRD_TYPE_EFS_EFP_COMBINATION_BUYER_CF, TRD_TYPE_EFS_EFP_COMBINATION_SELLER_CF, TRD_TYPE_OTC_STANDARD_CIO, TRD_TYPE_OTC_COMBINATION_CIO, TRD_TYPE_OTC_COMBINATION_BUYER_CIO, TRD_TYPE_OTC_COMBINATION_SELLER_CIO, TRD_TYPE_STANDARD_TRADE_CD, TRD_TYPE_STANDARD_OUTSIDE_SPREAD_CD, TRD_TYPE_COMBINATION_CD, TRD_TYPE_OLD_CD, TRD_TYPE_INTERNAL_CD, TRD_TYPE_PORTFOLIO_CD, TRD_TYPE_CORRECTION_CD, TRD_TYPE_EXCHANGE_GRANTED_FD, TRD_TYPE_STANDARD_OUTSIDE_FD, TRD_TYPE_OFF_HOURS_FD, TRD_TYPE_BLOCK_FD, TRD_TYPE_EXCH_GRANTED_EXCEED_MAX_LOT_FD, TRD_TYPE_EXCH_GRANTED_EML_OFF_HOURS_FD, TRD_TYPE_EXCH_GRANTED_LATE_FD, TRD_TYPE_FLEX_CONTRACT_CONVERSION_FD, TRD_TYPE_ICE_EFRP, TRD_TYPE_ICEBLK, TRD_TYPE_BASIS, TRD_TYPE_VOLATILITY_CONTINGENT, TRD_TYPE_STOCK_CONTINGENT, TRD_TYPE_CCX_EFP, TRD_TYPE_OTHER_CLEARING_VALUE, TRD_TYPE_N2EX, TRD_TYPE_EEX, TRD_TYPE_EFS_EFP_CONTRA, TRD_TYPE_EFM, TRD_TYPE_NG_EFP_EFS, TRD_TYPE_CONTRA, TRD_TYPE_CPBLK, TRD_TYPE_BILATERAL_OFF_EXCH, TRD_TYPE_OTC_PRIVATELY_NEGOTIATED_TRADES, TRD_TYPE_OTC_LARGE_NOTIONAL_OFF_FACILITY_SWAP, TRD_TYPE_BLOCK_SWAP_TRADE, TRD_TYPE_LARGE_IN_SCALE, TRD_TYPE_AGAINST_ACTUAL, TRD_TYPE_LARGE_IN_SCALE_PACKAGE, TRD_TYPE_GUARANTEED_CROSS, TRD_TYPE_REQUEST_FOR_CROSS
Price Number (possibly with decimal). 12.50 11/01/2019
Quantity Number. 15 11/01/2019
Trade ID String value. trade87 11/01/2019 Exchange trade identifier.
Trade Match ID String value. trade99 11/01/2019 Exchange matching engine identifier.
Report Ref ID Thirty-two hexadecimal digits grouped with hyphens. 1eef9474-65eb-4774-9b39-f46fe3600bc5 11/01/2019 Serves as a reference to a permanent trade capture report identifier in cases where additional actions are taken on an existing trade capture report.
Secondary Report Ref ID String value. trade43 11/01/2019 Serves as a reference to a exchange provided permanent trade capture report identifier in cases where additional actions are taken on an existing trade capture report.
TT Account ID Number. 3298 11/01/2019 The TT platform account identifier.
TT User ID Number. 21417 11/01/2019 The TT platform user identifier.
TT Current User ID Number. 21417 11/01/2019 Only populated if the user requesting change/delete of the trade capture report is different that the user from the last trade capture report.
TT Connection ID Number. 430 11/01/2019 The TT platform connection identifier.  A connection is a container for the information required to interact with an exchange (e.g., username, password, exchange ip address, etc.).
Transaction Booked Time YYYY/MM/DD HH:MM:SS.dddddddd 2016/10/14 09:05:12.25438723 11/01/2019 Time of trade agreement, in UTC.
Legs String value. leg_instrument_id:14682970062123678680 price:831.2 side:B executing_firm:333 customer_account:25 side:S executing_firm:444 customer_account:87 11/01/2019 A repeating group of legs of the trade.  Within each leg a repeating group of sides for that leg.
For each leg:leg_instrument_id:ID price:PRC  For each side in this leg:  side:SD   executing_firm: EF        customer_account: CA
(the data will have no newlines, they are shown here to help illustrate the repeating groups)
IP Address IP Address 10.195.2.49 11/01/2019 An IP address to help identify where the order operation originated.  May not be available on all order operations.