Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Table of Contents
minLevel1
maxLevel6
outlinefalse
stylenone
typelist
printabletrue

...

Code Block
EpocTimeField=EPOC Time
SecurityIDField=SecurityID
IndexField=Index
UpdateTypeField=MDUpdateAction
MergeFields=MDEntryPx - 0,MDEntryPx - 1,MDEntryPx - 2,MDEntryPx - 4,MDEntryPx - 5,MDEntryPx - 7,MDEntryPx - 8,MDEntryPx - 9,MDEntryPx - B,MDEntryPx - b,MDEntryPx - 9c,MDEntryPxMDEntrySize - B0,MDEntryPxMDEntrySize - b1,MDEntryPxMDEntrySize - c2,MDEntrySize - 0,MDEntrySize - 1,MDEntrySize - 2,MDEntrySize - B

Merge Requirements

 B

Merge Requirements

Note

As of the FIXEdge C++ 6.18.0 release, the csv_processor utility does not support handling of entries where MDUpdateAction is equal to 2. Entries with MDUpdateAction = 2 will not trigger the removal of preceding entries, even if they share the same Security ID and MDEntryType with an MDUpdateAction of blank, 0, or 1.

Upcoming Support: Support for MDUpdateAction = 2 will be included in the next release of FIXEdge C++.

The utility merges market data records based on the specified columns, ensuring that:

  • Records with the same SecurityID and EPOC time are merged into a single row based on the arrival order from the source.

  • Records without an EPOC timestamp are not merged and are placed at the end of the output file.

  • MDUpdateAction values are handled according to defined cases:

    • If all records have MDUpdateAction = 0, values in the first record override values in subsequent ones. MDUpdateAction is set to 0 in the final record.

    • If all records have MDUpdateAction = 1, values in the first record override values in subsequent ones, unless explicitly overwritten by subsequent records. MDUpdateAction is set to 1 in the final record.

    • If some records have MDUpdateAction = 0 and some 1, records are merged based on the input order, with update values from the first record overriding subsequent ones. MDUpdateAction is set to 1 in the final record.If

    • MDUpdateAction = 2, the row prior to the row with MDUpdateAction = 2 is removed if both entries have matching SecurityID, MDEntry Type, and MDUpdateAction being blank, 0, or 1.MDUpdateAction is missing for some records but not others. Merges records with matching keys, preserving values from the first record, and overwrites the MDUpdateAction with 1 in the final record.

    • MDUpdateAction is missing for all records. Merges records with matching keys, preserving values from the first record, and sets MDUpdateAction=0 in the final record.

Usage Example

Info

Important Note: The specific names of the input and output files, and other parameters, are important to adjust based on the configuration of your application.

...