Getting Started with ADL
ADL® (Algo Design Lab) introduces futures and options traders to an interactive way of creating trading algorithms and automated strategies. ADL allows futures and options traders to design, create and deploy automated high frequency trading algorithms without having to write a single line of code. With an intuitive drag-and-drop interface, users can use building blocks to construct circuit-like designs on their computer screens. At the same time, ADL grants granular flexibility in design instead of offering pre-made strategies.
When an ADL strategy is deployed to the trade server, the strategy is compiled and run as if it were a traditional computer program. ADL makes algorithm design accessible to anyone, not just computer programmers. It provides safety measures (at design time and at run time) that are not available in traditional programming context, thereby reducing risk and the time required to design, create and test programs while providing a safer trading environment. What once took days or weeks, now takes minutes. In addition, by handling code-writing "behind the scenes" for the user, ADL lowers risks for traders, trading firms, and exchanges - especially for high-frequency automated trading.
Recommended Tutorials For This Section
For a tactile learning experience, please try the following tutorials:
- Basic ADL Controls
- Getting Information About an Instrument
- Submitting an Order
- Counting Fills
- Covering Fills
- Playing Your First Algorithm
An Example: ADL in Action
Designing a strategy in ADL is similar to depicting a strategy on a piece of paper. The following example will demonstrate how a trader would design a strategy in ADL.
Consider the following strategy which attempts to buy 5 contracts of June 2011 E-mini S&P 500 Futures (ES) for the best bid price, and upon execution, attempts to sell them at the best offer price (note that the strategy would be slightly more complex in practice but the example has been simplified for the sake of clarity in demonstration).
Example: Market marking strategy in E-mini S&P 500 Futures
For any order submission, a trader needs to specify the instrument, price and the quantity. In ADL, a building block designated as the "Order Block" performs this function.
Example: The Order Block will submit orders at the specified Price and Quantity for the specified Instrument
For the Entry Order, the chosen Instrument is "ES June 2011," the desired Price is "Best Bid Price of ES June 2011," and the desired Quantity is "5." The following building blocks are used to specify each:
Example: Specifying Instrument, Price and Quantity using building blocks
Connect the above-mentioned building blocks to the Order Block to complete the automation for the Entry Order.
Example: Connecting inputs to the Order Block
For the Hedge Order, the chosen Instrument is "ES June 2011," the desired Price is "Best Ask Price of ES June 2011," and the desired Quantity is "however many were executed from the Entry Order." The following building blocks are used to specify each:
Example: Specifying hedge side Instrument, Price and Quantity using building blocks
Connect the above-mentioned blocks to another Order Block which will submit the Hedge Order. Note that the Accumulator Block (specifying the Hedge Order quantity) naturally connects the Entry side automation and the Hedge side automation. This completes the automation for the overall strategy.
Example: Connecting inputs to the hedge side Order Block