FIX Algorithmic Trading Definition Language, better known as FIXatdl, is a standard for the exchange of meta-information required to enable algorithmic trading activity within the financial markets. It works in tandem with the Financial Information eXchange (FIX) protocol which is the lingua franca of electronic trading in the securities market.
Prior to the mid-nineties, virtually all trading of securities was transacted over the phone, but with the advent of FIX, trading moved steadily over to electronic means. The FIX protocol is used to communicate between sell-side and the buy-side Order Management Systems (OMS) to exchange orders and order execution information without human intervention, using standardised messages and workflows that are defined by the protocol. Initially, sell-side firms only provided access to their 'trading desks' via FIX, which meant that once an order arrived at the sell-side broker, it was handled by a human trader, at least at the start of its lifecycle. Subsequently, sell-side firms started to offer direct access via FIX to the exchanges/markets they were members of; this is known as direct market access (DMA). At this time, many sell-side firms had their own proprietary systems to trade automatically in the market, using algorithmic trading strategies, and over time they began to see that offering access to these trading strategies to the buy-side was a way to attract business and increase revenue.
Whilst FIX is an extensible protocol, there were two challenges that arose as a result of sell-side firms offering access to their algorithmic trading strategies via FIX. The first was that each sell-side strategy had its own parameters that had to be included as part of the order, so every firm ended up requiring a different set of fields (known in FIX as "tags") to be included in the FIX message. This made life very difficult for the buy-side, and more particularly for their suppliers as adding new algorithms to their trading systems and managing all the different combinations of tags became a significant overhead for their development operations.
The second issue for the market was that each sell-side firm had a specific way they wanted their algorithms to be displayed on the buy-side OMS, with controls in the user interface arranged logically for easy order entry. Again this proved a challenge for the buy-side systems vendors, as each new screen for each sell-side broker required dedicated development and testing effort.
To tackle these issues, FIX Protocol Limited established the Algorithmic Trading Working Group in Q3 2004. The initial focus of the group was to solve the first of these issues, which it did by defining a new group of fields, the StrategyParametersGrp, made up of FIX tags 957 through 960 – these tags were formally introduced with the release of FIX 5.0 in Q4 2006. By allowing sell-side firms to include their proprietary fields in a repeating name-value pair structure, there was no requirement for OMS vendors to define specific FIX message structures for each sell-side trading destination.
This solution was not broadly adopted, in part because of the limited penetration of FIX 5.0 and in part due to the fact that firms already had working implementations in the market place that they were unwilling to change without good cause. Perhaps more importantly, it failed to solve what was the more substantial issue for the market, the complexity for the buy-side vendors resulting from lack of standardisation.
The idea of using an XML structure to describe the presentation of algorithm user interfaces and their accompanying parameters was firstly suggested within the working group by Daniel Clayden, then of JP Morgan Chase in a 2005 forum posting. Members of the working group developed this idea during 2006 and in January 2007 invited broader industry participation at a workshop to review their ideas. A specification was eventually produced and this began beta testing in July 2007. This specification became FIXatdl 1.0 which was approved by the FPL Global Technical Committee (GTC) on March 28, 2008.
Despite some initial enthusiasm, overall Version 1.0 had a lacklustre reception by the marketplace. Some vendors saw an opportunity to provide services around the standard, such as ULLINK with their algorithm publication and management and tool UL AMS but whilst the major OMS vendors were irritated by the overhead of implementing new broker algorithms, they had grown to enjoy the revenue that they could command from both their customers and from brokers keen to get their algorithms onto buy-side desks.
FIXatdl Version 1.1 was preliminarily approved by the GTC on February 9, 2010, when it entered a public comment period, and then finally approved on March 3, 2010. The specification was formally introduced to the market at the FPL’s Europe Middle East and Africa conference on March 23, 2010.
A FIXatdl document can contain one or more strategy definitions. Within a strategy definition, there are four main sections as follows:
- Meta-data section defining which geographical regions, markets (exchanges) and asset classes the strategy is applicable to
- Parameters section, listing out each of the parameters used by the strategy, their data types, constraints (e.g., minimum and maximum values) and how they should be represented in the resulting FIX message
- StrategyLayout section which defines the user interface controls to be used for this strategy, how they should be laid out on the screen and how they map to the parameters described in the previous section of the document
- StrategyEdit section which describes the validation rules to be applied – typically these will be cross field validations
FIXatdl documents should validate against the set of XSD schema provided by FPL. These schema are organised into the following four categories:
- Core (defines data content, data types, constraints, etc.)
- Layout (defines the controls that can be used and how they are laid out)
- Validation (self-explanatory)
- Flow (allows controls to be enabled/disabled, hidden/shown and updated, depending on the state or content of other controls)
User interface capabilities
Version 1.1 supports 14 different user interface controls, which can be grouped as follows:
- Text entry fields (often referred to as text boxes)
- Checkboxes and radio buttons, both singly and in lists
- Listboxes, both single and multi-selection
- Dropdown lists, both editable and non-editable
- Clock controls, for date/time entry
- Sliders, for selecting one of a small number of settings
- Numeric spinners, both single and double for integers and floating point numbers respectively
Controls are laid out using a hierarchy of panels (referred to as StrategyPanels), each of which can be horizontal or vertical in orientation. The picture on the right shows how the XML elements refer to the individual panels within a given layout.
Unlike the previous version, Version 1.1 looks set to be widely accepted and adopted by the securities industry. Even at the end of 2009, there were already firms using the 1.1 standard, despite its pre-release status. Examples of firms supporting the FIXatdl standard include:
- RealTick Execution Management System, by Eze Software Group 
- ULLINK, with their Algorithm Management System, UL AMS
- The Portware Execution Management System
- RapidAddition, with their FIXatdl editor
- Assimilate Technology, with their Visual FIX product
- Cornerstone Technology, with their FIXatdl Jump-Start packaged consulting service, public FIXatdl training workshops and free FIXatdl validation service, AtdlTools
Other user interface standards
- Algorithmic Trading & FIX: Extending the Reach of FIX, FPL, November 2004: http://www.jandj.com/presentations/wednesday/AlgoTradingFIX.pdf
- Daniel Clayden’s original post on the concept of what became FIXatdl: http://www.fixprotocol.org/discuss/read/d3b2124e
- FPL Call for Participation, January 2007: http://www.fixprotocol.org/documents/1994/Algo%20workshop%20details_20070108.doc
- FPL Announces FIX Algorithmic Trading Definition Language Enters Beta Phase, Automated Trading, July 2007: http://www.automatedtrader.net/news/algorithmic-trading-news/756/fpl-announces-fix-algorithmic-trading-definition-language-enters-beta-phase
- FIXatdl on the FIX EMEA 2010 Protocol Conference agenda: http://fixprotocol.org/fplevents/emea_2010/program.html
- RealTick adds latest Deutsche Bank Algorithms: http://www.automatedtrader.net/news/ems-news/26664/realtick-adds-latest-deutsche-bank-algorithms
- Portware's adoption of FIXatdl: http://www.portware.com/flash/files/news/pressreleases/download/Portware%20FIXatdl%20FINAL.pdf
- Cornerstone Technology Helps Firms Accelerate FIXatdl Readiness http://www.prweb.com/releases/FIXatdl/jump-start/prweb3765284.htm
- Cornerstone Technology Announces First Public FIXatdl Training Courses http://www.prweb.com/releases/FIXatdl/jump-start/prweb3765284.htm
- The official site, with formal specification https://www.fixtrading.org/standards/fixatdl/.
- The Work Group which develops and maintains FIXatdl (open to all but registration required) https://www.fixtrading.org/groups/algowg/
- Discussion board & support forum (open to read, free registration to post) https://forum.fixtrading.org/search?q=FIXatdl%20order%3Alatest
- Video introduction of FIXatdl https://vimeo.com/10511825
- FIXatdl - Changing the landscape of strategy trading, FIXGlobal, Dec 2009/Jan 2010 issue.