FIX dictionaries are XML files containing metadata, that describe FIX messages, fields, and groups. FIX dictionaries are required by the FIX Engine for runtime message parsing, serialization and validation. Every FIX session requires a specific FIX dictionary to run. Dictionaries can be shared between sessions or used exclusively.
- EPAM products have their own format, that closely mimics the structure of official FIX specification, leveraging "block" elements and references, defining type system, and some more. Additionally, besides runtime metadata, it also contains human-readable textual details about message & tag meaning.
The QuickFIX dictionary is natively supported by FIX Antenna C++ and no longer requires manual conversion to FIX Antenna format. The QuickFIX dictionary has a simplified format that does not use "blocks" and "references", and instead describes the same messages in a flatter format. It also skips textual details on content.
QuickFIX Dictionary doesn't support conditional validation.
The QuickFIX dictionary is not yet natively supported by FIX Antenna JAVA or FIX Antenna .NET Core
A FIX dictionary can be:
- a self-sufficient dictionary that describes the FIX protocol;
There is no way to remove an elements from elements from the base FIX dictionary
How to manage list of dictionaries in FIXAntenna based applications
List of dictionaries to be used by FIXAntenna based applications can be managed using using the DictionariesFilesList property in
engine.properties configuration file.
QuickFIX formatted dictionaries use a capitalized file name without an extension at the end as a dictionary ID.
For example, for a dictionary with the filename FIX44.xml, the FIX protocol version/parser id is FIX44
It may contain both standard and custom dictionaries: