FIXatdl

Last updated

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.

Contents

Background

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.

History

To tackle these issues, FIX Protocol Limited established the Algorithmic Trading Working Group in Q3 2004. [1] 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. [2] 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. [3] A specification was eventually produced and this began beta testing in July 2007. [4] 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 (now part of Itiviti) 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.

Although Version 1.0 was a major step forward, it had some significant limitations. In particular, the definition of the data to be transmitted and its presentation on the user interface were tightly bound together, limiting the flexibility sell-side brokers had in defining their algorithms. The 1.0 specification also afforded insufficient control in terms of user interface layouts. The working group set out to address these limitations in what was to become Version 1.1 on the specification. The first major change was to split the definition of the data content from the presentation, defining what is referred to as a separate "Data Contract" made up of the algorithm parameters, their data types and supporting information such as minimum and maximum values. A separate section of the XML document is then concerned with the layout of the user interface, what controls to use for each parameter and where to place them on the screen. An XSD schema is provided to ensure that FIXatdl files are valid and well-formed.

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. [5]

Some early work was undertaken on a Version 1.2 [6] of the standard, but lack of industry interest in accommodating further changes meant the standard remained at Version 1.1.

Document structure

A FIXatdl document can contain one or more strategy definitions. Within a strategy definition, there are four main sections as follows:

FIXatdl documents should validate against the set of XSD schema provided by FPL. These schema are organised into the following four categories:

User interface capabilities

Strategy panels FIXatdl-StrategyPanels.png
Strategy panels

Version 1.1 supports 14 different user interface controls, which can be grouped as follows:

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.

Adoption

Unlike the previous version, Version 1.1 was 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:

There are also open source Java and .NET implementations, atdl4j and Atdl4net respectively, which are both Version 1.1 compliant.

Other user interface standards

The question has often been asked, why doesn’t FIXatdl use an off-the-shelf user interface standard, such as Mozilla’s XUL, Microsoft’s Windows Presentation Foundation or Apache Flex? This is a valid question, but it seems that the authors of the specification wanted to maintain complete platform independence and adopting any one platform would risk damaging this proposition. Whilst lacking the degree of sophistication of some of these platforms, the current specification provides an acceptable degree of control in terms of user interface layout without being unduly restrictive. It remains to be seen how this design choice will pan out, and it does seem likely that further refinement of this part of the specification will be needed as adoption grows.

See also

Related Research Articles

Simple Network Management Protocol (SNMP) is an Internet Standard protocol for collecting and organizing information about managed devices on IP networks and for modifying that information to change device behaviour. Devices that typically support SNMP include cable modems, routers, switches, servers, workstations, printers, and more.

The Common Object Request Broker Architecture (CORBA) is a standard defined by the Object Management Group (OMG) designed to facilitate the communication of systems that are deployed on diverse platforms. CORBA enables collaboration between systems on different operating systems, programming languages, and computing hardware. CORBA uses an object-oriented model although the systems that use the CORBA do not have to be object-oriented. CORBA is an example of the distributed object paradigm.

XML-RPC is a remote procedure call (RPC) protocol which uses XML to encode its calls and HTTP as a transport mechanism.

Day trading Buying and selling financial instruments within the same trading day

Day trading is a form of speculation in securities in which a trader buys and sells a financial instrument within the same trading day, so that all positions are closed before the market closes for the trading day to avoid unmanageable risks and negative price gaps between one day's close and the next day's price at the open. Traders who trade in this capacity are generally classified as speculators. Day trading contrasts with the long-term trades underlying buy-and-hold and value investing strategies. It is made easier using day trading software. Day trading is similar to swing trading, in which positions are held for a few days.

Market maker Stock market trading entity

A market maker or liquidity provider is a company or an individual that quotes both a buy and a sell price in a tradable asset held in inventory, hoping to make a profit on the bid–ask spread, or turn. The function of a market maker is to help limit price variation (volatility) by setting a limited trading price range for the assets being traded.

A human interface device or HID is a type of computer device usually used by humans that takes input from humans and gives output to humans.

The Financial Information eXchange (FIX) protocol is an electronic communications protocol initiated in 1992 for international real-time exchange of information related to securities transactions and markets. With trillions of dollars traded annually on the NASDAQ alone, financial service entities are employing direct market access (DMA) to increase their speed to financial markets. Managing the delivery of trading applications and keeping latency low increasingly requires an understanding of the FIX protocol.

XMLHttpRequest Web API to transfer data between a web browser and a web server

XMLHttpRequest (XHR) is an API in the form of an object whose methods transfer data between a web browser and a web server. The object is provided by the browser's JavaScript environment. Particularly, retrieval of data from XHR for the purpose of continually modifying a loaded web page is the underlying concept of Ajax design. Despite the name, XHR can be used with protocols other than HTTP and data can be in the form of not only XML, but also JSON, HTML or plain text.

The Data Distribution Service (DDS) for real-time systems is an Object Management Group (OMG) machine-to-machine standard that aims to enable dependable, high-performance, interoperable, real-time, scalable data exchanges using a publish–subscribe pattern.

Algorithmic trading is a method of executing orders using automated pre-programmed trading instructions accounting for variables such as time, price, and volume. This type of trading attempts to leverage the speed and computational resources of computers relative to human traders. In the twenty-first century, algorithmic trading has been gaining traction with both retail and institutional traders. It is widely used by investment banks, pension funds, mutual funds, and hedge funds that may need to spread out the execution of a larger order or perform trades too fast for human traders to react to. A study in 2019 showed that around 92% of trading in the Forex market was performed by trading algorithms rather than humans.

In financial markets, implementation shortfall is the difference between the decision price and the final execution price for a trade. This is also known as the "slippage". Agency trading is largely concerned with minimizing implementation shortfall and finding liquidity.

An order management system, or OMS, is a computer software system used in a number of industries for order entry and processing.

Direct market access (DMA) is a term used in financial markets to describe electronic trading facilities that give investors wishing to trade in financial instruments a way to interact with the order book of an exchange. Normally, trading on the order book is restricted to broker-dealers and market making firms that are members of the exchange. Using DMA, investment companies and other private traders use the information technology infrastructure of sell side firms such as investment banks and the market access that those firms possess, but control the way a trading transaction is managed themselves rather than passing the order over to the broker's own in-house traders for execution. Today, DMA is often combined with algorithmic trading giving access to many different trading strategies. Certain forms of DMA, most notably "sponsored access", have raised substantial regulatory concerns because of the possibility of a malfunction by an investor to cause widespread market disruption.

An automated trading system (ATS), a subset of algorithmic trading, uses a computer program to create buy and sell orders and automatically submits the orders to a market center or exchange. The computer program will automatically generate orders based on predefined set of rules using a trading strategy which is based on technical analysis, advanced statistical and mathematical computations or input from other electronic sources.

An electronic trading platform is a piece of computer software that allows users to place orders for financial products over a network with a financial intermediary. These products include products such as stocks, bonds, currencies, commodities, and derivatives. The first widespread electronic trading platform was Nasdaq. The availability of such trading platforms to the public has encouraged a surge in retail investing.

High-frequency trading (HFT) is a type of algorithmic financial trading characterized by high speeds, high turnover rates, and high order-to-trade ratios that leverages high-frequency financial data and electronic trading tools. While there is no single definition of HFT, among its key attributes are highly sophisticated algorithms, co-location, and very short-term investment horizons. HFT can be viewed as a primary form of algorithmic trading in finance. Specifically, it is the use of sophisticated technological tools and computer algorithms to rapidly trade securities. HFT uses proprietary trading strategies carried out by computers to move in and out of positions in seconds or fractions of a second.

Usage Parameter Control (UPC) and Network Parameter Control (NPC) are functions that may be performed in a computer network. UPC may be performed at the input to a network "to protect network resources from malicious as well as unintentional misbehaviour". NPC is the same and done for the same reasons as UPC, but at the interface between two networks.

The Open Control Architecture (OCA) is a communications protocol architecture for control, monitoring, and connection management of networked audio and video devices. Such networks are referred to as "media networks".

References

  1. Algorithmic Trading & FIX: Extending the Reach of FIX, FPL, November 2004: http://www.jandj.com/presentations/wednesday/AlgoTradingFIX.pdf Archived 2011-07-13 at the Wayback Machine
  2. Daniel Clayden’s original post on the concept of what became FIXatdl: http://www.fixprotocol.org/discuss/read/d3b2124e Archived 2010-05-22 at the Wayback Machine
  3. FPL Call for Participation, January 2007: http://www.fixprotocol.org/documents/1994/Algo%20workshop%20details_20070108.doc%5B%5D
  4. 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
  5. FIXatdl on the FIX EMEA 2010 Protocol Conference agenda: http://fixprotocol.org/fplevents/emea_2010/program.html Archived 2010-03-07 at the Wayback Machine
  6. Scope of Work for FIXatdl V1.2 https://www.fixtrading.org/packages/fixatdl-scope-of-work/?wpdmdl=53695&masterkey=5cdeb86ec9a4a
  7. RealTick adds latest Deutsche Bank Algorithms: http://www.automatedtrader.net/news/ems-news/26664/realtick-adds-latest-deutsche-bank-algorithms
  8. Nordea Investment Management goes live with new broker strategy functionality in SimCorp Dimension https://www.simcorp.com/en/news-and-announcements/2013/05/nordea-investment-management-goes-live-with-new-broker-strategy-functionality-in-simcorp-dimension
  9. Portware's adoption of FIXatdl: http://www.portware.com/flash/files/news/pressreleases/download/Portware%20FIXatdl%20FINAL.pdf Archived 2011-07-15 at the Wayback Machine
  10. Cornerstone Technology Helps Firms Accelerate FIXatdl Readiness http://www.prweb.com/releases/FIXatdl/jump-start/prweb3765284.htm
  11. Cornerstone Technology Announces First Public FIXatdl Training Courses http://www.prweb.com/releases/FIXatdl/jump-start/prweb3765284.htm