If you work in Trading, chances are you have heard of the FIX Protocol. You may already be familiar with the benefits the FIX Protocol has brought to the global trading industry since its conception in 1992 by improving communication between investment firms. To keep up to date with the market and its users, the FIX Trading Community always looks for ways to innovate and improve its efficiency, and a recent example of this is Orchestra. Let’s introduce Orchestra (previously known as FIX Orchestra), show what it offers, and illustrate how firms can benefit from adopting Orchestra.
What is Orchestra?
Before Orchestra, the process to exchange Rules Of Engagement (schema documents) between firms required human involvement to specify schemas and outline what elements they could or could not support. Often, details were exchanged between firms by emailing each other PDF or Word files, and recipients would then interpret and copy-and-paste customised details. Managing these documents between firms was time consuming, tedious, and error-prone; often requiring phone calls to work through each firm’s interpretations of their FIX specifications. This manual process was so labour-intensive that it was an impediment to progress: it was difficult for people to keep-up with change, and it increased the workload as their organisation scaled-up.
In steps Orchestra. To put it simply, Orchestra is a “…machine readable dictionary for defining messaging protocols.” (Jim Kaye). It is a standard for creating definitions of messaging protocols. Instead of people having to put together hand-written ‘Rules of Engagement’, Orchestra introduces definitions that outline such rules and describe your service offering. The definitions are written in XML, a flexible and well-understood markup language that offers the benefit of being human-readable and machine-readable. Counterparties can generate and share these XML files that specify the ‘Rules of Engagement’ in a standardised, machine-readable form. Rather than requiring human intervention, an organisation can use Orchestra as a ‘plug-and-play’ tool to understand how another firm’s FIX specifications compares and differs to their own.
Why Should More Firms Adopt Orchestra?
Adopters of Orchestra can do everything from creating a machine-readable inventory of their FIX (including customisations) and non-FIX (e.g. proprietary) message formats, all the way to integrating Orchestra into the core of their gateways, order routers, order management and execution management systems. Orchestra allows version control as well as highlighting variations between each firm’s schema. In case of a FIX message format, XML Schemas define a customised subset of fields and values selected from a universal dictionary (a.k.a. FIX Latest) defined by the FIX Trading Community. Orchestra is designed to be extensible and reduce friction when trading with counterparties who have a range of different profiles. In short, Orchestra can play a key role in an organisation’s journey to automation and it scales with your organisation.
Francesco Lo Conte, Co-Chair of the Orchestra Sub-Committee at FIX Trading, shares that “the Orchestra standard has been adopted with great success by some of the largest brokers and exchanges in the financial industry. They use it to generate API specifications documents and distribute machine-readable versions of their APIs to counterparties. This shortens the time required to establish new connectivity by reducing trials and errors.”
When you use Orchestra to describe messaging schemas, you define what types of messages you want to use and what they do, fields or groups of fields in a message, formats for fields, and validation rules. Orchestra is flexible so it can behave differently in exceptional scenarios by using conditional definitions for messages and fields. Orchestra lets you define messaging workflows, so you can say that when your firm sends a certain message then you expect to receive a certain type of response from your counterparty. This sets expectations between trading partners and helps to catch omissions. Orchestra can also specify ‘low level’ details for networking, session, and encoding settings. A key feature of Orchestra is its ability to annotate all schema element types, starting from high-level sections, categories, and messages all the way down to a single value of a field. This supports the generation of a ‘Rules of Engagement’ file for you in PDF format. This improves accuracy and saves time by removing the need to hand-edit the file, and it makes sure you are always working from a single source of truth.
For those who want to adopt Orchestra, the FIX Trading Community has also launched a web-based tool called ‘Orchestra Server’. This tool facilitates the adoption of Orchestra by enabling users to import existing FIX dictionaries from formats like QuickFIX. It includes a visual dictionary editor for easy modifications and allows exporting in Orchestra XML format. This simplifies the conversion of legacy RoEs to the Orchestra format and eliminates the need to edit raw XML. Additionally, Orchestra Server can manage multiple versions of FIX RoEs, offering tools to compare them and create markdown-based documents describing the API specification, which can be exported to PDF (the free version includes a watermark).
Orchestra Server workflow. Image source: Francesco Lo Conte, FIX Trading Community Orchestra presentation.
FIX Trading Community supports a number of tools for its membership :
- Log2Orchestra: a tool to create an Orchestra XML file from message log files that were generated by a FIX Engine.
- Playlist: a tool for viewing an Orchestra XML file, interactively selecting a subset, and exporting into a new Orchestra XML file.
- Orchestra Server: a tool to import from files and create an Orchestra XML file:
- Message log files that were generated by a FIX Engine.
- QuickFIX XML Data Dictionary file.
- FIX Unified Repository XML file.
- Messages and fields selected from the FIX Latest master repository or a previous standardised version of FIX.
Orchestra Server parses all this information and produces a FIX Rules of Engagement (RoE) specification as a PDF file. Alternatively, the Markdown provided by Orchestra Server can be used together with Pandoc, to convert documents to MS Word files, or HTML/CSS files for distribution on a website.