Versions Compared

Key

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

The File Transport Adapter has been available since the FIXEdge 6.18.0 release.

Introduction

This document provides instructions for configuring and utilizing the File Transport Adapter (TA) within FIXEdge. The File TA is a specialized software component designed to efficiently process and manipulate financial information exchange (FIX) protocol messages, subsequently storing them in Comma Separated Values (CSV) files for easy accessibility and readability. This adapter effectively serves as a bridge, facilitating secure and orderly storage of FIX messages captured during financial transactions.

...

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.

...