# Field Type Group Example Value Possible Values Description
1INGESTION_DATEDATETime series2025-04-22ISO 8601 YYYY-MM-DDTrade report ingestion date set by Propellant.
2TRADING_DATE_AND_TIMETIMESTAMPTime series2025-04-22 20:37:24.180000 UTCISO 8601 YYYY-MM-DD HH:MM:SS.ssssss UTCTrade execution timestamp provided by the execution venue in UTC.
3PUBLICATION_DATE_AND_TIMETIMESTAMPTime series2025-04-22 20:52:21.120000 UTCISO 8601 YYYY-MM-DD HH:MM:SS.ssssss UTCTrade publication timestamp provided by the publication venue in UTC.
4POST_TRADE_DATE_AND_TIMETIMESTAMPTime series2025-04-22 20:37:24.180000 UTCISO 8601 YYYY-MM-DD HH:MM:SS.ssssss UTCAlways populated — uses execution timestamp if available, otherwise publication timestamp.
5EVENT_IDSTRINGReport identifier067a065d31890cfc14aa25af455e955bSequence of 32 hexadecimal digitsUnique report identifier set by Propellant.
6TRADE_IDSTRINGReport identifierb1b446ef8bb49eccb636383a3136b4a8Sequence of 32 hexadecimal digitsTrade identifier set by Propellant. One TRADE_ID might have multiple EVENT_IDs.
7SEQUENCE_NUMINTEGERData management35Positive natural number 1..NSequence EVENT_IDs within particular TRADE_ID, last report has highest value. Set by Propellant.
8TRANSACTION_IDENTIFICATION_CODESTRINGReport identifier2504222045220473710Alphanumeric codeTransaction identification code provided by the Venue.
9ORIGINAL_TRANSACTION_IDENTIFICATION_CODESTRINGReport identifier7209497743327421758Alphanumeric codeReference to original transaction identification code provided by the Venue, when amend or cancel happens on a trade.
10SOURCESTRINGData managementBLOOMBERGBLOOMBERG; TRADEWEB; MARKETAXESS; MTS_BONDVISION; TRADECHO; CBOEName of the provider which published the report.
11VENUE_OF_PUBLICATIONSTRINGData managementTWEAISO 10383 - 4 character alphanumeric codeMIC code of the publication venue.
12VENUE_OF_EXECUTIONSTRINGData managementSINTISO 10383 - 4 character alphanumeric codeMIC code of the execution venue.
13INSTRUMENT_IDENTIFICATION_CODE_TYPESTRINGInstrument identifierISINISINType of instrument identification code. Provided by the venue.
14INSTRUMENT_IDENTIFICATION_CODESTRINGInstrument identifierUS037833CR93ISO 6166 12 character alphanumeric codeInstrument identification code. Provided by the venue.
15PRICEBIGNUMERICTrade economics99.915Any floatPrice of the trade. Provided by the venue.
16PRICE_NOTATIONSTRINGTrade economicsMONEMONE; PERC; YIEL; BAPONotation of the price. Provided by the venue.
17PRICE_CURRENCYSTRINGTrade economicsEURISO 4217 3 character alphanumeric codeCurrency of the price, if monetary. Provided by the venue.
18QUANTITYBIGNUMERICTrade economics163.0Any floatNumber of units of the financial instrument. Provided by the venue.
19NOTIONAL_AMOUNTBIGNUMERICTrade economics24000.0Any floatVolume traded. Provided by the venue.
20NOTIONAL_CURRENCYSTRINGTrade economicsEURISO 4217 3 character alphanumeric codeCurrency of the notional. Provided by the venue.
21NOTATION_OF_THE_QUANTITY_IN_MEASUREMENT_UNITSTRINGTrade economicsTONEAlphanumeric codeNotation of the quantity in measurement unit. Provided by the venue.
22QUANTITY_IN_MEASUREMENT_UNITBIGNUMERICTrade economics20000000.0Any floatQuantity in measurement unit. Provided by the venue.
23TRANSACTION_COUNTINTEGERData management3Positive natural number 1..NNumber of transactions included in trade report. Provided by the venue.
24TRANSACTION_TO_BE_CLEAREDBOOLEANTrade economicstruetrue; falseTransaction to be cleared flag. Provided by the venue.
25NEWFBOOLEANReport typetruetrue; falseNew trade flag. Provided by the venue.
26AMNDBOOLEANReport typetruetrue; falseTrade amendment flag. Provided by the venue.
27CANCBOOLEANReport typetruetrue; falseTrade cancellation flag. Provided by the venue.
28BENCBOOLEANExecution typetruetrue; falseBenchmark flag. Provided by the venue.
29ACTXBOOLEANExecution typetruetrue; falseAgency flag. Provided by the venue.
30NPFTBOOLEANExecution typetruetrue; falseNon-price forming transaction flag. Provided by the venue.
31LRGSBOOLEANStandard deferrals: deferredtruetrue; falseLarge-in-scale flag. Provided by the venue.
32ILQDBOOLEANStandard deferrals: deferredtruetrue; falseIlliquid instrument transaction flag. Provided by the venue.
33SIZEBOOLEANStandard deferrals: deferredtruetrue; falseSize-above-SSTI flag. Provided by the venue.
34TPACBOOLEANTrade typetruetrue; falsePackage transaction flag. Provided by the venue.
35XFPHBOOLEANExecution typetruetrue; falseExchange-for-physical flag. Provided by the venue.
36LMTFBOOLEANSupplementary deferrals: deferredtruetrue; falseLimited-details flag. Provided by the venue.
37FULFBOOLEANSupplementary deferrals: post-deferredtruetrue; falseFull-details flag, after LMTF. Provided by the venue.
38DATFBOOLEANSupplementary deferrals: deferredtruetrue; falseDaily-aggregated transaction flag. Provided by the venue.
39FULABOOLEANSupplementary deferrals: post-deferredtruetrue; falseFull-details flag, after DATF. Provided by the venue.
40VOLOBOOLEANSupplementary deferrals: deferredtruetrue; falseVolume-omission flag. Provided by the venue.
41FULVBOOLEANSupplementary deferrals: post-deferredtruetrue; falseFull-details flag, after VOLO. Provided by the venue.
42FWAFBOOLEANSupplementary deferrals: deferredtruetrue; falseFour-weeks aggregation flag. Provided by the venue.
43FULJBOOLEANSupplementary deferrals: post-deferredtruetrue; falseFull-details flag, after FWAF. Provided by the venue.
44IDAFBOOLEANSupplementary deferrals: deferredtruetrue; falseIndefinite aggregation flag. Provided by the venue.
45VOLWBOOLEANSupplementary deferrals: deferredtruetrue; falseVolume-omission flag. Provided by the venue.
46COAFBOOLEANSupplementary deferrals: deferredtruetrue; falseConsecutive aggregation flag, after VOLW. Provided by the venue.
47RELEVANTBOOLEANData managementtruetrue; falseRelevant flag. TRADE_ID might have 0 or 1 Relevant flag. Set by Propellant.
48ACTIVEBOOLEANReport statustruetrue; falseActive trade flag. Set by Propellant.
49CANCELLEDBOOLEANReport statustruetrue; falseCancelled trade flag. Set by Propellant.
50AMBIGUOUSBOOLEANReport statusfalsetrue; falseAmbiguous trade flag. Set by Propellant.
51LAST_TRANSACTIONBOOLEANReport statustruetrue; falseLast transaction flag. Set by Propellant.
52FUTURE_PUBLICATION_DATEDATETime series2025-05-22ISO 8601 YYYY-MM-DDFuture publication date for reports with deferral flags. Set by Propellant.
53CFI_CODESTRINGInstrument identifierDBFTFRISO 10962 6 character alphanumeric codeClassification of Financial Instruments code. Set by Propellant.
54INSTRUMENT_FULL_NAMESTRINGInstrument identifierBAYER 4 00 26 08 2026 CALLAny textLong-form description of the instrument. Set by Propellant.
55CFI_GROUP_NAMESTRINGInstrument identifierBondsAny textHuman-legible description of the second character of the CFI code. Set by Propellant.
56NOTIONAL_AMOUNT_USDBIGNUMERICTrade economics55183.13Any floatNotional amount converted to USD. Set by Propellant.
57NOTIONAL_AMOUNT_EURBIGNUMERICTrade economics50000Any floatNotional amount converted to EUR. Set by Propellant.
58NOTIONAL_AMOUNT_GBPBIGNUMERICTrade economics43356.82Any floatNotional amount converted to GBP. Set by Propellant.
59DUPLICATEBOOLEANData managementtruetrue; falseDuplicate flag. Set by Propellant.
60DUPLICATE_HASHSTRINGData management2e4ba65c5eec1d5cb542626b5d0d36aeSequence of 32 hexadecimal digitsThe hash groups together duplicate records. Set by Propellant.
61DUAL_REPORTEDBOOLEANData managementtruetrue; falseDual-reported flag. Set by Propellant.
62DUAL_REPORTED_HASHSTRINGData management758e6c23c9451bba4bd2ec18f33a63dcSequence of 32 hexadecimal digitsThe hash groups together dual-reported records. Set by Propellant.
63ALL_TO_ALLBOOLEANData managementtruetrue; falseAll-to-all flag. Set by Propellant.
64ALL_TO_ALL_HASHSTRINGData managementa4d14ba9c68c1df5785eb4e3dc614c22Sequence of 32 hexadecimal digitsThe hash groups together all-to-all records. Set by Propellant.
65CROSS_VENUEBOOLEANData managementtruetrue; falseCross-venue flag. Set by Propellant.
66CROSS_VENUE_HASHSTRINGData management5f96c485184633d8472f01f7d5489381Sequence of 32 hexadecimal digitsThe hash groups together cross-venue records. Set by Propellant.
67CROSS_VENUE_TYPESTRINGData managementELECTRONIC_INITIATEDELECTRONIC_INITIATED; VOICE_INITIATEDType of cross-venue flag. Set by Propellant.
68ENRICHMENT_IDSTRINGData managementcd469d9a2a5e0cf841676d0b1a9f3856Sequence of 32 hexadecimal digitsUnique enrichment identifier, important for local replication. Set by Propellant.
69VALID_FROMDATEData management2025-04-25ISO 8601 YYYY-MM-DDThe date of record backfill, important for local replication. Set by Propellant.
70BACKFILLBOOLEANData managementtruetrue; falseBackfill flag, important for local replication. Set by Propellant.
71LAST_SUCCESSFUL_RUNTIMESTAMPData management2025-04-25 03:16:15.591000 UTCISO 8601 YYYY-MM-DD HH:MM:SS.ssssss UTCThe timestamp of last delta-table update. Set by Propellant.

INGESTION_DATE

This is the date that the report was ingested in the Propellant platform.

This can be used for bitemporal queries of the data, because it informs you what data was available in your Propellant platform “as-of” a certain date.

This is especially useful for backtesting, where the strategy which you are testing should use only the information that was available at the point in time that is being simulated in the test.

A trade report was published on a certain date but it was only ingested to the Propellant platform a few days later. In this instance, the PUBLICATION_DATE_AND_TIME will be lesser than the DATE.

TRADING_DATE_AND_TIME

This is the timestamp showing when a given trade was executed.

This is not the same as the publication timestamp (PUBLICATION_DATE_AND_TIME), i.e. when a report was published, but refers specifically to when the trade was executed.

There should only ever be one value for the trading timestamp, because it was only executed once, but there will be a new publication timestamp for each event that gets reported, such as amends and cancels.

Use this field to understand when a trade was actually executed.

Reminder that you should always use POST_TRADE_DATE_AND_TIME when you want to filter for trades executed in a given period.

PUBLICATION_DATE_AND_TIME

This is the timestamp showing when the report was published by a Trading Venue or APA.

This is not the same as the trading timestamp (TRADING_DATE_AND_TIME), i.e. when the trade was actually executed, but refers specifically to when a report was published.

There should only ever be one value for the trading timestamp, because it was only executed once, but there will be a new publication timestamp for each event that gets reported, such as amends and cancels.

Use this field to understand when a report was actually published. This is helpful for seeing the chronology of events on a trade.

Reminder that you should always use POST_TRADE_DATE_AND_TIME when you want to filter for trades executed in a given period.

POST_TRADE_DATE_AND_TIME

This field is equal to the trading timestamp (TRADING_DATE_AND_TIME) or, if the trading timestamp is unavailable, it is the timestamp when the report was published (PUBLICATION_DATE_AND_TIME).

You should always use POST_TRADE_DATE_AND_TIME when you want to filter for trades executed in a given period.

Propellant created this field from the trading and publication timestamps so that all reports are aligned on a consistent time series. The logic uses the more accurate timestamp, i.e. trading, when available but there will always be at least a timestamp for when the report was first published.

The primary reason why TRADING_DATE_AND_TIME would be null is because the trade was eligible for one of the aggregation supplementary deferral flags. In these cases multiple trades have been bundled together and reported in aggregate, so there's no single timestamp that could be used.

When trade reports are eventually disaggregated, and the individual execution timestamps become available, Propellant automatically back-populates these trades so that they appear at the time when they were executed.

EVENT_ID

Hexadecimal code assigned by Propellant to uniquely identify each report.

Every row will have a unique EVENT_ID but events for the same trade will share the same TRADE_ID.

EVENT_ID is unique and every single row has one, so it can be used for precisely referencing particular record.

The report identifier provided by each source is not always unique within the given source, nor necessarily across sources. The EVENT_ID, generated by Propellant, overcomes this issue by being unique both within and across all sources.

For example, there are multiple amendments and cancellations on a particular trade. Each of these amendments and cancellations has its own unique EVENT_ID assigned to it.

For example, there are multiple amendments and cancellations on a particular trade. Each of these amendments and cancellations has its own unique EVENT_ID assigned to it.

TRADE_ID

Hexadecimal code assigned by Propellant to uniquely identify a trade.

The same TRADE_ID is shared across all events relating to that trade - e.g. all cancels and amends on the original trade report first published.

This TRADE_ID is unique across all sources and follows a consistent format.

This field can be used to look-up a specific trade, including all events associated with it.

For example, there are multiple amendments and cancellations on a particular trade. Each of these amendments and cancellations has its own unique EVENT_ID assigned to it but they all share the same TRADE_ID.

SEQUENCE_NUM

A counter, starting from 1, that chronologically sequence EVENT_IDs within particular TRADE_ID by PUBLICATION_DATE_AND_TIME and standard sequence of operations NEWF-CANC-AMND. Trade created with NEWF, might be cancelled with CANC, or might be amended multiple times with CANC-AMND pairs.

Use this field to sort records within same TRADE_ID and fiend first/last record per TRADE_ID.

This field can be used to look-up a specific trade, including all events associated with it.

For example, the last record will have the highest PUBLICATION_DATE_AND_TIME.

TRANSACTION_IDENTIFICATION_CODE

Alphanumerical code assigned by Trading Venues and APAs to each event on a given trade.

This field is used to identify each event, while the ORIGINAL_TRANSACTION_IDENTIFICATION_CODE identifies the original trade report.

It is broadly equivalent to EVENT_ID, but note that this field is specific to each Trading Venue and APA, so there is no consistent format nor guarantee that it is unique.

Use this field if you would like to look-up a specific event in the underlying source data.

However, we do not recommend using this field for finding specific reports across the whole dataset because it is not specific within a source nor between sources.

Instead, we recommend using EVENT_ID because the EVENT_ID is generated by Propellant to be unique across all sources and it follows a consistent format.

For example, a trade is executed and its first event is reported. There are subsequent cancellation and amendment events. Each of these events has their own TRANSACTION_IDENTIFICATION_CODE.

ORIGINAL_TRANSACTION_IDENTIFICATION_CODE

Alphanumerical code assigned to reports by Trading Venues and APAs for referencing the original trade when there is a new event.

This field is used when an amendment or cancellation event happens on a trade. It references the original new trade that is being updated.

It is broadly equivalent to TRADE_ID, but note that this field is specific to each Trading Venue and APA, so there is no consistent format nor guarantee that it is unique.

Many sources do not include an ORIGINAL_TRANSACTION_IDENTIFICATION_CODE on the initial, new trade report. Rather, the TRANSACTION_IDENTIFICATION_CODE for the first report will be used as the ORIGINAL_TRANSACTION_IDENTIFICATION_CODE in subsequent amendments and cancellations.

Use this field if you would like to investigate a given trade’s lineage in the underlying source data.

We do not recommend using this field for grouping together events on a given trade. Instead, we recommend using TRADE_ID because the TRADE_ID is generated by Propellant to be unique across all sources and it follows a consistent format.

For example, a trade is executed and its first event is reported. There are subsequent cancellation and amendment events and these reference the initial trade report’s TRANSACTION_IDENTIFICATION_CODE value in their ORIGINAL_TRANSACTION_IDENTIFICATION_CODE fields.

SOURCE

Name of the venue or vendor group that has published the report.

Propellant has categorised Trading Venues and APAs by their corporate group. For example, any report published by a Bloomberg entity will have SOURCE = “BLOOMBERG”.

Use this field to more easily identify which provider published the trade report.

The individual Trading Venue- and APA-level information is still provided in other fields, but Propellant has identified an overall SOURCE grouping to make it easier to refer to a particular provider.

VENUE_OF_PUBLICATION

Identifies the Trading Venue or APA which published the report.

This is the Market Identifier Code (MIC) of the Trading Venue or APA.

Trades executed on-venue must be reported by that same venue, so they will likely have the same value for the VENUE_OF_EXECUTION and VENUE_OF_PUBLICATION.

This field can be used to spot patterns in reporting conventions.

Trading Venues and APAs sometimes show idiosyncrasies in their reporting decisions, so being able to identify the VENUE_OF_PUBLICATION can help to understand and handle particular reporting methodologies.

For example, a trade was executed off-venue so it was reported by an APA. The trade report includes that APA’s MIC in the VENUE_OF_PUBLICATION.

VENUE_OF_EXECUTION

Identifies the Trading Venue where the transaction was executed.

This is the Market Identifier Code (MIC) of the Trading Venue.

For off-venue trades, e.g. OTC trades, executed by a Systematic Internaliser (SI), the value “SINT” is used.

For off-venue trades where no SI is involved, only one or more investment firms, the value “XOFF” is used.

Use this field to filter for trading activity by venue type or specific venue.

For instance, if you wanted to look into which venues have the highest trading volumes in a given instrument, you could use a query to group by VENUE_OF_EXECUTION.
For example, a trade was executed on a Multilateral Trading Facility (MTF), a type of Trading Venue, so the trade report included that MTF’s MIC as the VENUE_OF_EXECUTION.

INSTRUMENT_IDENTIFICATION_CODE_TYPE

The name of the type of identifier used to identify the instrument that has been traded.

This informs you what type of identifier to expect in INSTRUMENT_IDENTIFICATION_CODE.

In practice, this code will always be an International Securities Identification Number, or “ISIN” (ISO 6166). This is a 12-character long alphanumeric string representing instrument reference data that can be looked-up.

However, there is regulator and industry discussion around the possibility of using the Unique Product Identifier, or “UPI” (ISO 4914), in future too.

In future, if new types of identifiers become eligible options for describing instruments, you could use this column to assist with parsing the INSTRUMENT_IDENTIFICATION_CODE correctly according to its type.

INSTRUMENT_IDENTIFICATION_CODE

The identifier for the instrument that has been executed. The type of identifier used is noted in the INSTRUMENT_IDENTIFICATION_CODE_TYPE.

In practice, this code will always be an International Securities Identification Number, or “ISIN” (ISO 6166). This is a 12-character long alphanumeric string representing instrument reference data that can be looked-up.

However, there is regulator and industry discussion around the possibility of using the Unique Product Identifier, or “UPI” (ISO 4914), in future too.

The ISIN value provided in this field can be used to join the content with instrument reference data.

Each ISIN corresponds to a record containing instrument reference data that varies by instrument type.

A meaningful selection of instrument reference data is reported to ESMA’s and the FCA’s Financial Instruments Reference Data System (FIRDS) and this content is available in your Propellant instance.

PRICE

Traded price of the transaction excluding, where applicable, commission and accrued interest.

The price convention should follow standard market practice and it is described by the PRICE_NOTATION field.

Prior to 01-Jan-2024, this PRICE field sometimes contained the string values, “PNDG” (“pending”) or “NOAP” (“not applicable”). After this date, ESMA required that PRICE should only contain the actual price or is left null where the price is pending or not applicable.

Use this field to see the price at which a trade was executed.

PRICE_NOTATION

Identifies the pricing convention used.

The price notation should follow market standards, but further guidance is provided for certain instrument types.

Credit default swaps (CDS): Price in basis points.

Bonds (other than ETNs and ETCs): Price in percentage of notional amount, except where the alternative notations are the market practice for the particular instrument.

This field can be left null where the price is pending or not applicable.

Use this field to understand the convention that has been used to express the price.

For example, a tFor example:
‘MONE' - Monetary value
‘PERC’ - Percentage terms
‘YIEL’ - Yield
‘BAPO’ - Basis points

PRICE_CURRENCY

Currency in which the price is expressed (applicable if the price is expressed as monetary value).

This should always be a major currency, not minor (e.g. GBP instead of GBp)

Use this field to understand that currency a trade was priced in.

QUANTITY

The number of units of the financial instrument that have traded.

This field is null where the concept of a tradable “unit” of the instrument is not applicable.

Note that some sources use the QUANTITY field to indicate the number of transactions included in an aggregated report, the same way that TRANSACTION_COUNT is used.

Use this field to understand how many individual contracts were traded in an execution.

However, NOTIONAL_AMOUNT is a more useful field if you wish to understand the volume of the trade in monetary terms.

NOTIONAL_AMOUNT

Identifies the volume traded.

Generally, this is the face value, or nominal value, of the trade that indicates the total amount executed.

This differs from the QUANTITY field, in that QUANTITY is used for indicating the number of units traded as opposed to a total monetary value.

The exact convention used for NOTIONAL_AMOUNT varies by the type of instrument traded:

  • Bonds (except ETCs and ETNs): The total face value of the bonds, i.e. the amount that will be repaid at redemption.
  • Securitised derivatives (including ETCs and ETNs): Number of instruments traded multiplied by the price of the instrument (i.e. PRICE * QUANTITY).
  • Structured finance products: Number of units traded multiplied by their price (i.e. PRICE * QUANTITY).
  • Credit default swaps (CDS): Value of the protection being bought or sold.
  • Rates, FX, commodity, equity, and credit derivatives (except CDS): The notional amount of the contract (i.e. the number from which the value or cashflows are derived).
  • Emission allowances: Quantity multiplied by the price of the transaction (i.e. PRICE * QUANTITY).
  • Spread bets: The nominal value bet per point movement in the underlying.
  • Contracts for difference (CFDs): Quantity of instruments exchanged multiplied by the price of the transaction (i.e. PRICE * QUANTITY).

Use this field to understand the volume that has traded.

NOTIONAL_CURRENCY

Currency in which the notional is denominated. This should always be a major currency, not minor (e.g. GBP, GBp).

For FX derivatives, or other instruments where there are multiple currencies involved, this is the currency for leg 1.

Use this field to identify the currency in which the trades’s volume is denominated.

NOTATION_OF_THE_QUANTITY_IN_MEASUREMENT_UNIT

The number of units of a commodity or emission allowance traded, using the unit of measurement identified in NOTATION_OF_THE_QUANTITY_IN_MEASUREMENT_UNIT.

Use this field to understand how much of the underlying commodity or emission allowance was traded.

However, NOTIONAL_AMOUNT is a more useful field if you wish to understand the volume of the trade in monetary terms.

QUANTITY_IN_MEASUREMENT_UNIT

The number of units of a commodity or emission allowance traded, using the unit of measurement identified in NOTATION_OF_THE_QUANTITY_IN_MEASUREMENT_UNIT.

Use this field to understand how much of the underlying commodity or emission allowance was traded.

However, NOTIONAL_AMOUNT is a more useful field if you wish to understand the volume of the trade in monetary terms.

TRANSACTION_COUNT

This is the total number of transactions included in a given trade report.

This is primarily relevant for aggregated reports which bundle multiple trades into one report.

Use this field to assume certain values for individual trades when all that is available is an aggregated reported.

For example, for a rough idea of the size of the individual trades bundled in the same aggregated report, you could divide the NOTIONAL_AMOUNT by the TRANSACTION_COUNT for a simple average.
For example, there are three trades on the same instrument executed in a given calendar week and they each qualify for a deferral whereby only an aggregated report is initially published. This aggregated report would have TRANSACTION_COUNT = 3.

TRANSACTION_TO_BE_CLEARED

Code to identify whether the transaction will be cleared.

Use this field to filter-in / -out cleared transactions.

For example, a transaction is intended to go to clearing so it has TRANSACTION_TO_BE_CLEARED = True.

NEWF

New transaction flag. Identifies a new trade and is always the first event for a given TRADE_ID.

Use this flag to to filter-in rows where NEWF = True to see the original trade details, prior to any amendments or cancellations.

For example, a trade is executed and its initial state is reported with NEWF = True.

AMND

Amendment flag. Identifies updated versions of a given report.

Amendments behave like “overwrites”, fully replacing the previous version of a trade.

When making an amendment, the reporter will first publish a cancellation that matches the details of the original trade, but with the cancellation flag included (CANC = True), before then publishing the updated version of the trade with the amendment flag (AMND = True).

Use this flag to filter-in rows where AMND = True to see the lineage of trade amends.

If you are only interested in seeing the latest state of a trade, then the best and most convenient way to achieve this is to filter for trades where RELEVANT = True.

For example, a reporter publishes a trade report but its notional was incorrectly populated. They report a new version of the trade, referencing the old one, with the notional corrected and AMND = True.

CANC

Cancellation flag. Identifies cancelled versions of a given report.

Cancels are used both to identify where a trade has been cancelled, but they are also used in the report amendment workflow.

When cancelling a report, the report will publish a copy of the entry they are cancelling that matches its details exactly, except that the cancellation flag is included (CANC = True).

If the trade has been fully cancelled, then the cancellation entry will be the final event on the trade. If the cancellation has been reported as part of the amendment workflow, then you will see a subsequent event on the same trade with the amendment flag included (AMND = True).

Use this flag to filter-out rows where CANC = True to remove any cancelled trade reports.

If you are only interested in seeing the latest state of a trade, then the best and most convenient way to achieve this is to filter for trades where RELEVANT = True.

For example, a report was published identifying a trade that was subsequently cancelled. The reporter publishes a version of the report with the cancellation flag set to show that this trade no longer exists.

BENC

Identifies whether the transaction was executed in reference to a benchmark price, such as a volume- or time-weighted average price.

Use this flag to filter-in rows where BENC = True to see trades whose price was driven by another reference value.

For example, an order is placed to execute at whatever the volume-weighted average price is during an interval preceding market close. It is reported with BENC = True.

ACTX

Identifies trades executed on an agency basis.

Use this flag to filter for all rows where ACTX = True to return agency trades.

For example, any trade executed on an agency basis, e.g. where a dealer or broker matched trading interests and charged a commission, rather than intermediating risk themselves.

NPFT

Non-price forming transaction flag.

This flag is used to identify transactions that are more operational in nature, rather than a new trade executed for the purposes of hedging or risk.

This includes the following types of transactions:

  1. Securities financing transactions
  2. Executions solely to enable clearing or settlement
  3. Settling mutual obligations were the net obligation is carried forward
  4. Executions solely for custodial activity
  5. Novations
  6. Portfolio compressions
  7. ETF creation / redemption
  8. Exercising embedded contract rights (e.g. convertible bonds)
  9. Creation, expiration, or redemption resulting from a pre-agreed trigger occurring
  10. Increase / decrease in notional resulting from pre-agreed trigger occurring
  11. Change in index or basket composition
  12. Acquisition following from dividend re-investment plan
  13. Certain transactions in employee share schemes
  14. Exchange and tender offers for bonds or other debt where the terms are pre-agreed
  15. Executions solely resulting from collateral transfer

Use this flag to filter-out reports relating to executions which might not be commercially relevant or accurately reflecting liquidity.

For example, a new trade occurs as the result of one counterparty in an existing deal novating said deal to a new counterparty. This new trade, solely for the purposes of novation, will have NPFT = True.

LRGS

Post-trade LIS transaction flag.

Identifies reports for trades whose size was above the “large in scale” (LIS).

Such reports are not published until 19:00 local time on the second working day after the execution date.

Note that this type of deferral can be combined with a Supplementary Deferral and the report’s publication thereby delayed for longer.

Also, a trade report should only have either the LRGS or the SIZE flag, not both. If the size of the trade is greater than both thresholds then the flag representing the higher threshold should be used. Typically the large in scale threshold is higher than the size specific to instrument threshold.

Use this flag to identify aggregated, deferred, and/or partially-masked reports.

For example, a trade is executed and it is eligible for the LRGS deferral. The trade report is not published until 19:00 on the second business day after the trade’s execution. The report contains full details and the LRGS flag is set to True.

ILQD

Illiquid instrument transaction flag.

Identifies reports for trades in instruments deemed illiquid. Such reports are not published until 19:00 local time on the second working day after the execution date.

Note that this type of deferral can be combined with a Supplementary Deferral and the report’s publication thereby delayed for longer.

Use this flag to identify aggregated, deferred, and/or partially-masked reports.

For example, a trade is executed and it is eligible for the ILQD deferral. The trade report is not published until 19:00 on the second business day after the trade’s execution. The report contains full details and the ILQD flag is set to True.

SIZE

Post-trade SSTI transaction flag.

Identifies reports for trades whose size was above the “size specific to the instrument” (SSTI).

Such reports are not published until 19:00 local time on the second working day after the execution date.

Note that this type of deferral can be combined with a Supplementary Deferral and the report’s publication thereby delayed for longer.

Also, a trade report should only have either the LRGS or the SIZE flag, not both. If the size of the trade is greater than both thresholds then the flag representing the higher threshold should be used. Typically the large in scale threshold is higher than the size specific to instrument threshold.

Use this flag to identify aggregated, deferred, and/or partially-masked reports.

For example, a trade is executed and it is eligible for the ILQD deferral. The trade report is not published until 19:0For example, a trade is executed and it is eligible for the SIZE deferral. The trade report is not published until 19:00 on the second business day after the trade’s execution. The report contains full details and the SIZE flag is set to True.

TPAC

This identifies trades that are part of a package transaction. Such transactions are defined as a trade involving the execution of two or more financial instruments, where:

  1. There are two or more counterparties;
  2. Each component execution carries meaningful risk and is related to the other components;
  3. The execution of each component is simultaneous and contingent upon the execution of all other components.

Use this flag to identify trade reports that are actually all part of the same package transaction.

For example, a “butterfly” is traded between two counterparties. This consists of three separate executions. Each execution is reported as a distinct trade, but they all have TPAC = True.

XFPH

Identifies trades executed as to enable an exchange for physical transaction.

An “exchange for physical” is defined as a transaction in a derivative contract, or other financial instrument, which is contingent on the simultaneous execution of an equivalent amount of an underlying physical asset.

Use this flag to filter for those trades which represent the actual transfer of an underlying asset, as opposed to trades that reference an underlying asset but where the trade is settled in cash (according to the asset’s value).

For example, two counterparties execute a futures trade where the underlying is a certain volume of a commodity good. Rather than settling the trade in cash when the futures contract expires, this trade is intended to physically settle - i.e. the underlying commodities will actually be delivered to one of the counterparties. This trade will be reported with XFPH = True.

LMTF

Identifies reports published with only limited details, excluding volume, during the deferral period.

The unmasked version of the report, including the information on volume, is published after the standard deferral period, which is by 19:00 local time on the second working day after the execution date.

Use this flag to identify aggregated, deferred, and/or partially-masked reports.

For example, a trade is executed and it is eligible for the LMTF supplementary deferral. A report is published for the trade but the information on volume is omitted and the LMTF flag set to True. This partially-masked report is superseded by a version including the full details on the second working day after the execution date.

FULF

Full details flag for trades which had previously been reported without their volume under the LMTF supplementary deferral.

A report where FULF = True contains the full details for a trade which was previously reported without its volume, under the LMTF supplementary deferral flag.

When a post-deferral report is published it has RELEVANT = True and Propellant automatically updates the original, aggregated version with RELEVANT = False.

This means that partially-masked reports are not “over-counted” once the individual details are released.

For example, after the deferral period has elapsed for a partially-masked report, published with LMTF = True, a report with the full details for the trade is published with FULF = True.

DATF

Daily aggregated transaction flag.

Identifies reports for trades that have been aggregated. Such reports aggregate all trades in the same instrument that were executed in the same calendar day.

The report details include the weighted average price, the total volume traded, and the total number of transactions.

There must be at least five transactions available to aggregate in each given calendar day. If there are fewer than five trades in the instrument, then no aggregated version of the report is published during the deferral period.

The disaggregated versions of the report, i.e. where the individual trade details are available, are published after two business days.

Use this flag to identify aggregated, deferred, and/or partially-masked reports.

For example, a trade is executed and it is eligible for the DATF supplementary deferral. A report is published containing this trade bundled with others executed in a given time window. The report contains aggregated information and has the DATF flag set to True. This aggregated report is superseded by detailed reports on the individual trades published after two business days.

FULA

Full details flag for trades which had previously been reported only in an aggregated format under the DATF supplementary deferral.

A report where FULA = True contains the full details for a trade which was previously reported only in an aggregated report, with other trades, under the DATF supplementary deferral flag.

When a post-deferral report is published it has RELEVANT = True and Propellant automatically updates the original, aggregated version with RELEVANT = False.

This means that aggregated reports are not “over-counted” once the individual details are released.

For example, after the deferral period has elapsed for an aggregated report published with DATF = True, reports with full details for the individual trades are each published with FULA = True.

VOLO

Volume omission flag.

Identifies reports published with only limited details, excluding volume, during the deferral period.

The unmasked version of the report, including the information on volume, is published after four weeks.

Use this flag to identify aggregated, deferred, and/or partially-masked reports.

For example, a trade is executed and it is eligible for the VOLO supplementary deferral. A report is published for the trade but the information on volume is omitted and the VOLO flag set to True. This partially-masked report is superseded by a version including the full details after four weeks.

FULV

Full details flag for trades which had previously been reported without their volume under the VOLO supplementary deferral.

A report where FULV = True contains the full details for a trade which was previously reported without its volume, under the VOLO supplementary deferral flag.

When a post-deferral report is published it has RELEVANT = True and Propellant automatically updates the original, aggregated version with RELEVANT = False.

This means that partially-masked reports are not “over-counted” once the individual details are released.

For example, after the deferral period has elapsed for a partially-masked report, published with VOLO = True, a report with the full details for the trade is published with FULV = True.

FWAF

Four weeks aggregation flag.

Identifies reports for trades that have been aggregated for four weeks.

Use this flag to identify reports that currently only show aggregated details for trades executed within a given time window, but which will be replaced by reports with the full individual trade details the next working day.

For example, A trade is executed and it is eligible for the FWAF supplementary deferral. A report is published containing this trade bundled with others executed in a given time window. The report contains aggregated information and has the FWAF flag set to True. This aggregated report is superseded by detailed reports on the individual trades after four weeks.

FULJ

Full details flag for trades which had previously been reported only in an aggregated format under the FWAF supplementary deferral.

A report where FULJ = True contains the full details for a trade which was previously reported only in an aggregated report, with other trades, under the FWAF supplementary deferral flag.

When a post-deferral report is published it has RELEVANT = True and Propellant automatically updates the original, aggregated version with RELEVANT = False.

This means that aggregated reports are not “over-counted” once the individual details are released.

For example, after the deferral period has elapsed for an aggregated report published with FWAF = True, reports with full details for the individual trades are each published with FULJ = True.

IDAF

Indefinite aggregation flag.

Use this flag to identify reports for sovereign debt trades that are published in an aggregated format.

Such reports aggregate all trades in the same instrument that were executed in the same calendar week. The report details include the weighted average price, the total volume traded, and the total number of transactions.

There must be at least two transactions available to aggregate in each given calendar week. If there is only one trade in the instrument in a given calendar week, then it will not be published in aggregate until the next calendar week that another trade in the instrument occurs and then they are published together in aggregate (along with any other eligible trades published that same calendar week).

The disaggregated version of the report, i.e. where the individual trade volumes are available, will never be published. This type of aggregation is indefinite.

Identifies aggregated, deferred, and/or partially-masked reports.

Note that there is still a transaction count provided with this type of aggregated report, so a simple average volume can be calculated.

For example, a sovereign bond trade is executed and it is included in an aggregated report, with at least one other trade in the same instrument, published on the following Tuesday before 09:00 local time.

COAF

Consecutive aggregation flag (post volume omission for sovereign debt instruments).

Identifies reports for sovereign debt trades that already had limited details published, excluding their volumes, and now after four weeks have passed are published in an aggregated format with aggregated volumes.

Such reports aggregate all trades in the same instrument that were executed in the same calendar week. The report details include the weighted average price, the total volume traded, and the total number of transactions.

There must be at least two transactions available to aggregate in each given calendar week. If there is only one trade in the instrument in a given calendar week, then it will not be published in aggregate until the next calendar week that another trade in the instrument occurs and then they are published together in aggregate (along with any other eligible trades published that same calendar week).

The disaggregated version of the report, i.e. where the individual trade volumes are available, will never be published. This type of aggregation is indefinite.

The initial version of the report, identifying individual trades but without their volume, has VOLW = True and the subsequent aggregated version, including aggregated volume, has COAF = True.

Use this flag to identify aggregated, deferred, and/or partially-masked reports. Note that there is still a transaction count provided with this type of aggregated report, so a simple average volume can be calculated.

For example, a sovereign bond trade is executed and initially is reported with all details except for the volume. It has VOLW = True. After four weeks, a new report is published that aggregates this trade among others and includes the total volume of the grouped trades (along with volume-weighted average price and the count of transactions). This new report has COAF = True.

RELEVANT

This field indicates which report for a given trade is the most useful, accurate, and latest.

RELEVANT is True for the latest chronological event on a trade, providing the post-deferral version of the trade where this is available.

This is a fundamentally important field. You should filter your results to RELEVANT = True to always retrieve the latest state of each trade and exclude any reports that are no longer valid.

RELEVANT is False for any trades in a final cancelled state and for any deferred versions of reports that have been superseded by post-deferral version with more details.

For example, an aggregated trade report has been published but its deferral period has passed so the disaggregated components are now available in individual trade reports. The original, aggregated report has its RELEVANT flag set to False. The disaggregated reports have RELEVANT = True. This way, if you search only for RELEVANT = True reports, you will avoid “over-counting” trades because any aggregated (or otherwise cancelled) reports are excluded.

ACTIVE

Identifies the latest state of a trade report, as long as it has not been cancelled. Note that this field differs from RELEVANT.

An aggregated, masked, or deferred report will still have ACTIVE = True even after it has been superseded by a later report, whereas these same aggregated, masked, or deferred reports would have RELEVANT = False in these instances.

Filter for all rows where ACTIVE = True to return the latest version of every live trade report, including deferred and masked reports.

Note that the RELEVANT field is a more useful filter than ACTIVE in most cases. This is because RELEVANT can be used to remove aggregated, deferred, or masked reports that have been superseded by a later report.

For example, a trade is comprised of at least one event. If the trade has never been amended or cancelled, then its first and only event has ACTIVE = True. Where a trade has multiple events, such as amendments made over time, then the most recently published amendment event has ACTIVE = True and all others have ACTIVE = False. If a trade has been cancelled, then all of its events are ACTIVE = False because the trade has effectively been deleted.

CANCELLED

Identifies reports that are not the latest, valid version of a trade.

In practice, CANCELLED = True where the event is simply not the latest chronological event for a given trade, or where it is the latest event and that event is officially a cancellation report (CANC = True).

It is possible for CANCELLED to be true where CANC is false. Any “old” amendment reports (AMND = True) will be identified as CANCELLED if they are not the latest event because, while not technically a cancellation message, they are still not the latest, valid version of a trade.

Use this flag to filter-out rows where CANCELLED = True to remove all old, invalid events on a given trade so that you are left with only the most recent, valid event. However, if you are interested in seeing the latest, most accurate state of a trade, then the best and most convenient way to achieve this is to filter for trades where RELEVANT = True.

For example, a trade has many CANC and AMND events in its history. The CANCELLATION flag is true for all of the events, except for the final, latest report where AMND = True, because all previous events no longer accurately represent the latest, valid version of the trade.

AMBIGUOUS

Identifies events that are associated with the same trade and have the same exact timestamp, but their other fields differ.

These events are identified as AMBIGUOUS because it is not possible to distinguish which event represents the latest state of the trade.

Use this flag to filter-out rows that are AMBIGUOUS = True to avoid considering trade events that are likely erroneous.

For example, two amendment events arrive on the same trade at the same exact timestamp, but they have a different notional. Each of these events has AMBIGUOUS = True because it is not possible to determine which is the latest valid state of the trade.

LAST_TRANSACTION

Flag for identifying what is currently the last event reported for a given trade.

When ordering the events associated with a given trade by order of PUBLICATION_DATE_AND_TIME, the event that was published latest will have LAST_TRANSACTION = True.

Use this flag to quickly find the most recent event on a trade. However, if you are interested in seeing the latest, most accurate state of a trade, then the best and most convenient way to achieve this is to filter for trades where RELEVANT = True.

For example, a trade has many CANC and AMND events in its history. The final, latest report has LAST_TRANSACTION = True.

FUTURE_PUBLICATION_DATE

This field indicates the date on which the report’s deferral period should end and the full version of the report(s) is published.

This field only applies to reports which have one of the deferral flags. Any report that was never deferred, or is itself the post-deferral version of the report, will not have a FUTURE_PUBLICATION_DATE.

Use this field to understand when the full version of a report will be published. This is helpful if you want to know when to check back for the full details of a trade that is currently in its deferral period.

For example, a report is published with VOLO = True. The FUTURE_PUBLICATION_DATE is populated with the date, in four weeks' time, when the unmasked version of the report, including volume, will be made available.

CFI_CODE

Identifies the category of instrument using a six-letter code. Each letter corresponds to a subcategory that further defines the instrument’s characteristics.

The look-up table for finding what each character refers to can be found in the ISO 10962 standard.

Use this field to filter for trades in particular types of instrument.

For example, if you would like to look only at interest rate swaps, you could query for only those rows where the CFI code starts with “SR”. The first letter, “S”, narrows the search for “swap” instruments. The second letter, “R”, further refines the search to “rates” swaps. Each letter of the CFI code corresponds to a narrower category of instrument, as you read from left to right.

For example, see the breakdown of the CFI code, “SRCCSC”:

  1. S = Swap
  2. R = Rates
  3. C = Fixed - Floating
  4. C = Constant notional schedule
  5. S = Single currency
  6. C = Cash delivery

INSTRUMENT_FULL_NAME

Long-form description of the instrument that has been traded.

This is a human-legible name of the instrument, sometimes including reference data (e.g. maturity date in the case of bonds).

Use this field to understand what type of instrument is being reported.

CFI_GROUP_NAME

Describes, in human-legible terms, the type of instrument. This description is based on the second character of the CFI code.

Use this field to understand what type of instrument is being reported. This field could also be used to filter your results to include only particular types of instrument.

For example, there are around 30 different enumerations for CFI_GROUP_NAME, such as the following examples: Exchange traded funds (ETFs), Municipal bonds, Call options, etc.

NOTIONAL_AMOUNT_USD

Represents NOTIONAL_AMOUNT converted to USD using last exchange rate available a day before POST_TRADE_AND_TIME.

Use this field understand traded volume in USD.

NOTIONAL_AMOUNT_EUR

Represents NOTIONAL_AMOUNT converted to EUR using last exchange rate available a day before POST_TRADE_AND_TIME.

Use this field understand traded volume in EUR.

NOTIONAL_AMOUNT_GBP

Represents NOTIONAL_AMOUNT converted to GBP using last exchange rate available a day before POST_TRADE_AND_TIME.

Use this field understand traded volume in GBP.

DUPLICATE

Identifies trades that have been reported multiple times in the same jurisdiction.

All fields are exactly the same except for the report identifier provided by the source used to index the reports (e.g. TRANSACTION_IDENTIFICATION_CODE).

Use this flag to filter-in / -out trades repeatedly reported in the same jurisdiction. To avoid double counting select records with DUPLICATE=false.

For example, two reports are published by the same venue of publication and have exactly the same value for all fields, except for the report identification field used by the venue to index their reports. These reports are exactly the same and are likely to be duplicate reporting errors.

DUPLICATE_HASH

A key for grouping, under the same identifier, multiple reports whose fields match entirely, except for the venue of publication’s report identifier (e.g. TRANSACTION_IDENTIFICATION_CODE).

Use this field to see the individual reports which are likely the same trade that has been reported multiple times within the same jurisdiction due to a reporting error.

For example, two reports are published by the same venue of publication and have exactly the same value for all fields, except for the report identification field used by the venue to index their reports. These reports are exactly the same and are likely to be duplicate reporting errors. They are grouped under the same DUPLICATE_HASH.

DUAL_REPORTED_HASH

A key for grouping, under the same identifier, different reports that are likely the same trade that been reported multiple times, across different jurisdictions.

Use this field to see the individual reports which are likely the same trade that has been reported multiple times across different jurisdictions.

For example, a UK investment executed a trade on an EU Trading Venue. In this instance, the UK investment firm would need to publish a trade report through a UK APA and the EU Trading Venue would publish a report, too. These reports should be exactly the same, as they are for the same trade, but they will appear as two distinct reports (and, by implication, two distinct trades). In this example, the two trades would be identified as dual reported and would share the same DUAL_REPORTED_HASH.

ALL_TO_ALL

Identifies trades that have been reported separately, but which are likely two sides of the same trade brought about by matching interests on a Trading Venue.

Use this flag to filter-in / -out trades executed through orders crossing on a platform. To avoid double counting select records with ALL_TO_ALL=false.

For example, two trades in the same instrument are executed at almost the exact same time, and at very similar prices, for the same notional amount. These two trades were also executed on either the same venue of execution, or on different venues of execution that are part of the same overall venue group. It’s likely that these two trades are different sides of the same transaction brought together on a platform.

ALL_TO_ALL_HASH

A key for grouping, under the same identifier, trades that have been reported separately, but which are likely two sides of the same trade brought about by matching interests on a Trading Venue.

Use this field to see the individual trades which have been grouped together as the same “all-to-all” transaction.

For example, two trades in the same instrument are executed at almost the exact same time, and at very similar prices, for the same notional amount. These two trades were also executed on either the same venue of execution, or on different venues of execution that are part of the same overall venue group. It’s likely that these two trades are different sides of the same transaction brought together on a platform.

CROSS_VENUE

Identifies trades that have been reported multiple times by different Trading Venues or APAs.

Use this flag to filter-in / -out trades reported by different Trading Venues or APAs. To avoid double counting select records with CROSS_VENUE=false.

CROSS_VENUE_HASH

A key for grouping, under the same identifier, different reports that are likely the same trade that been reported multiple times by different Trading Venues or APAs.

Use this field to see the individual reports which are likely the same trade that has been reported multiple times by different Trading Venues or APAs.

CROSS_VENUE_TYPE

The are 2 cross venue types:

  • ELECTRONIC_INITIATED type identifies trade executed electronically and reported by Trading Venue (MTF or OTF) and additionally reported multiple times by APAs.
  • VOICE_INITIATED type identifies trade executed by voice and reported by 2 or more different APAs.

ENRICHMENT_ID

The hexadecimal code assigned by Propellant to uniquely identify each record enrichment with analytical fields, required by local replication.

VALID_FROM

This field indicates the date on which a given record was published and accurate.

Use this field in the local replication process (see specific documentation for a guide) or for bitemporal queries. This field can be used for bitemporal queries because it indicates the date on which a given record was published as the latest, most accurate version. Therefore you can search for a version of an event “as-of” a certain date.

For example, the same EVENT_ID, i.e. the same record, is represented in two different rows. Each row has a different VALID_FROM date indicating when they were available in the Propellant platform as the latest and most accurate version.

BACKFILL

An indicator for identifying trades (and events), usually historical, that were not published in the usual workflow and have been inserted later.

The BACKFILL=TRUE records come with VALID_FROM on the day of the backfill (not on the day the data should have been loaded originally).

Use this field to control when, and whether, to ingest large volumes of historical content.

For example, in the event that there are many historical events to backfill, such as when an additional instrument type has been added to your scope, there could be a very large amount of data to ingest on the day that the events first become available for you to download. You can return only events where BACKFILL = False to avoid consuming this large volume of historical events during your normal workflow. You can then return events where BACKFILL = True at the time of your choosing, rather than interrupting your regular ingestion workflow.

LAST_SUCCESSFUL_RUN

This is the timestamp for the most recent successful update to the local replication table.

This indicates when the local replication content was last refreshed.

Use this field to help determine when to run your local replication process. For instance, if this timestamp is not today’s date then you can assume that the content in the local replication table is not yet refreshed with the latest content and you should not start your download yet. The latest local replication content should be available for you to download by 06:00 UTC each day. This timestamp provides validation that it is ready.