ADL (Algo Design Lab) / X_Trader
Trading Technologies International, Inc.
Overall Rating (4 of 4 stars)
In March of this year, Trading Technologies released the “Algo Design Lab,” or ADL, as part of its suite of software tools for the professional trading industry. ADL is a Visual Programming Language and its incorporation by Trading Technologies marks a new and potentially important programming innovation for the algorithmic trading community.
Trading Technologies has a history of bringing innovation to the trading industry. MDTrader (Market Depth Trader), a graphical representation of exchange bid-ask queues as a vertical price ladder, with orders entered by simply clicking a price on the ladder, revolutionized electronic trading over the last decade. Today, market depth price ladders are a must-have order-entry interface for the active trader.
The price ladder is a visual interface to the market and Trading Technologies is taking the visual trading paradigm a large step further with ADL. Traders, frustrated by the need to master a textual programming language in order to participate in automated algorithmic trading, now have a visual, or graphical, means of bringing their trading ideas to life. If ADL Visual Programming can hide enough low-level details of order execution, while giving the trader the flexibility to quickly develop new trade strategies, then ADL may prove to be another feather in the cap of software innovation from Trading Technologies.
What Is Visual Programming?
The idea of Visual Programming is not new. It has its beginnings with the well-known programming flow chart, and its goal is to automatically construct computer programs from flow charts. Visual Programming has been studied and developed for more than 40 years and there are a plethora of attempts at achieving useful visual languages. Ricardo Baeza-Yates, VP of Yahoo! Research Labs, has recently compiled a thorough review of the field (see http://users.dcc.uchile.cl/~rbaeza/cursos/vp/todo.html). There, one finds tens of attempts at new visual languages, research articles and PhD theses, and a half-dozen textbooks on the subject. LabView, from National Instruments, is a well-known and widely-used visual programming language for inter-connecting and controlling electronic and mechanical devices. (As an aside, Microsoft’s popular Visual Studio portfolio of software development tools does not incorporate visual programming. Visual Studio programming continues to be text based with Microsoft having added graphical tools for completing user interface design and other programming functions.)
There certainly are detractors of the visual programming method. Visual programming is criticized for hiding necessary detail while not maintaining the simplicity and ease-of-use that are its goals. For example, a large visual programming effort often will create many screens of diagrams and interconnections, and in so doing may lose the simplicity originally sought. A thesis on the subject, by Jeffery Nickerson (see www.nickerson.to/visprog/visprog.htm), sums it up well: While visual programming may not be suitable for building large systems, it does appear applicable to domain-specific problems where the visual technique is used to build “programs on top of large libraries of pre-existing routines written in textual languages.” This is the approach of ADL, as it gives the algorithmic trader access to complex order-entry and exchange interfaces and a means of interconnecting those components with graphical tools.
When first using a visual environment one’s reaction is that the job of programming has been made accessible and greatly simplified. For the algorithmic trader, the core set of application-specific objects used to program hides a tremendous amount of detail and allows the focus to be trade strategy development. This is a unique benefit of ADL. However, the visual programmer does have new skills to master: Learning how to make use of core objects so that a strategy is implemented accurately; organizing the visual diagram so that connections between components do not lead to a bowl of spaghetti; and determining techniques to debug and deploy a program. As with traditional textual programming, visual programmers will need to determine conventions so that program logic is understandable and can be documented.
Product features (4 of 4 stars)
ADL has been integrated and ships with Trade Technologies X_Trader software, and the ADL development environment is opened from the X_Trader toolbar. As an example of the product’s integration, the X_Trader Market Explorer can be used to populate the trading instruments (stocks, options, futures, forex) of interest, and then a trading instrument icon is simply dragged-and-dropped into the ADL workspace.
The ADL development environment consists of a “canvas,” used to draw trade strategy logic, and a toolbox of system blocks, referred to as “ADL Blocks.” Blocks are selected and dropped onto the canvas, and there are easy-to-use block copy, paste, re-size and group features to effectively work on the canvas. Blocks are easily configured with pop-up dialogs and design help is nicely integrated, with video tutorials immediately accessible as part of the block Help. The pre-configured “Order Blocks,” used to direct order entry and management, highlight a level of abstraction and support for algorithmic traders that distinguishes ADL. A small set of Order Blocks hides an enormous amount of detail (thousands of lines of text programming). See the figure labeled “Example ADL Program,” which gives a screenshot of the ADL desktop with sample strategy graph.
Blocks have pre-defined input and output “ports” that are connected with “edges.” Connecting blocks defines the flow of data and control through the visual program, similar to a flow chart. Because ports are pre-defined to take a specific type of input or produce a specific type of output, ADL provides the user with warning and error messages regarding the accurate use of edges to connect blocks. In this way, ADL helps prevent erroneous connections and programs from being designed. This type of high-level error checking can be a real benefit of visual programming applied to trading.
When an ADL program is connected to market data, all values of block output ports and edge flows are automatically updated and displayed in real-time; this is one of the more impressive aspects of the ADL programming environment, as the trader visually monitors the data and control flow through the program. The “Virtual Block” is an example of how ADL incorporates complex trading requirements within the visual programming environment. When a block is declared as virtual it is automatically replicated by ADL as needed. For example, a trader can design a “one cancels other” (OCO) virtual block of profit target and stop loss logic which will be replicated automatically for each market fill event. This is a powerful programming technique that allows the trader to focus on strategy while ADL automatically manages the strategy across multiple fills.
Collections of blocks are organized easily into a single containing block, with its own input and output ports, and then used like a function or subroutine by a larger program. The programming environment supports multiple canvases and the usual file operations (save, open, etc.). There is the ability to interface to Microsoft Excel for lengthy computational expressions. These features support a modular design approach and the incorporation of third-party programs. Because ADL has been integrated into the Trading Technologies suite of trade software, an ADL program can be tested quickly against a built-in simulator and deployed within the context of other established Trading Technologies tools. For example, an ADL program can be started from an MDTrader window. A visual debugger allows breakpoints to be set within the visual program and the trader can step through the data and control flow incrementally while testing execution scenarios. The ease-of-use and overall finish of the ADL development environment is very impressive.
Product installation, training, support and user community (4 of 4 stars)
Trading Technologies has been developing professional trading software over the last 18 years. Customers include banks, hedge funds, FCMs, brokers and proprietary trading firms. Product focus areas include exchange servers and interfaces, order entry and management software and automated trade strategy development. ADL has been integrated into the Trading Technologies software suite and benefits from the maturity of its companion products and the Trading Technologies team. There are Partner and University programs. Most recently, X_Trader exchange and order entry interfaces were integrated into MathWorks MATLAB, a best-of-class modeling and simulation program widely used in industry and academia.
X_Trader requires a dual-core late model PC with 4GB of RAM. X_Trader installation was uneventful. Installing X_Trader results in a total of eight programs on the users PC; for example, the trade simulator is a stand-alone program configured independently. This is a somewhat more complex environment than the single, self-contained trading application a user may be accustomed to. ADL Help is well-organized, professionally written and integrated. The integration of Help Videos within the context of individual ADL Blocks was an added bonus. In fact, the entire Trading Technologies website is distinguished with a good collection of professionally authored training videos.
The standard use of Forums supports the user community. The ADL Forum currently contains approximately 600 posts — relatively small but not unexpected as the product launched only recently. The Trading Technologies support of the forum appears good: Many of the posts this reviewer studied had replies made in the same day and often within several hours of the original post. There is a “best practices” forum where ADL examples are shared by the Trading Technologies staff and third-party developers.
The total available market
In this reviewer’s opinion, ADL has achieved its goal of providing a powerful graphical interface for the high-frequency algorithmic trader. It is very impressive and complete for a first product release, and it has been well integrated into the Trading Technologies suite of software.
Currently, ADL addresses market-depth-oriented trade strategy development. Perhaps because of Trading Technologies’ order entry and management focus and its MDTrader legacy, ADL programming against market depth was a rational next step. In this regard, one can expect ADL to be well received by high frequency and arbitrage traders. But one has to wonder, what is the Total Available Market (TAM) of this sector of the trading ecosystem? ADL will require heavy-lifting evangelizing, training and supporting the product; and ADL, on its own, may not greatly increase the pool of high-frequency algorithmic traders – or will it?
On the other hand, with the majority of traders working off price charts using support and resistance levels, should ADL address price chart trading, its impact may be felt more widely. Price chart traders are notorious for their inability to program textually. Building on the current set of high-quality ADL tools and developing visual programming for price chart traders has the potential to make an even greater impact in the active trading community.
For 20 years Michael Gutmann was a software engineer and manager at Intel Corporation. He recently published the second edition of a popular trading text: “The Very Latest E-Mini Trading: Using Market Anticipation to Trade Electronic Futures, 2nd Edition.” Mike can be reached via www.anticipationtrading.com.