The Algo Machine (TAM) has been developed by ErisX to offer algorithmic strategies to Members via a simple-to-use API and/or Trading Interface, eliminating the typically sophisticated coding skills required to implement algorithmic trading strategies.
The Algo Machine API documentation can be found on our website under the WebSocket API documentation, in The Algo Machine Service section.
The Algo Machine functionality can also be accessed via the ErisX Trading User Interface in the Algo Entry section, which provides an easy-to-use interface.
Currently, TAM supports two algo order types: Pegged Orders and Order-on-Fill.
The Pegged Order allows a Member to enter a buy/sell order in the spot market that will automatically reprice, pegged to a specified reference price (bid/offer), with a user-defined offset. The reference price is the best bid in the market for buy orders and the best offer in the market for sell orders.
A Pegged Order dynamically works passive orders in the ErisX orderbook. For example, let's say you wanted to BUY bitcoin but didn't want to monitor and continuously update your BUY limit price manually to stay on the BID, and avoid paying the spread. Submitting your BUY order with pegged instructions to join the best bid enables your order to work dynamically by automatically repricing to follow the best bid in the market. This removes the need for manual updates, and aims to get your order filled passively. Pegged Orders also offer the potential for your order to fill at a better price than your limit price (i.e. receive price improvement). A trade would occur when a contraside order (a SELL in the case of our example) crosses the spread and aggresses against resting BUY orders. Orders are matched in price/time priority. If the SELL order quantity is sufficient to trade with quantities that include some/all or your Pegged Order quantity, you will receive passive fills up to the price level at which the peg order is working.
The Pegged Order takes 3 inputs:
Quantity: Units to be bought/sold.
Limit Price: A Pegged Order will not be placed into the order book beyond the Limit Price. Pegged Orders to BUY will not be priced above this Limit, and Pegged Orders to SELL will not be priced below this Limit.
Offset: For BUY orders, an amount to be subtracted from the reference price (best bid). For SELL orders, an amount to be added to the reference price (best offer). The Offset input must be equal or greater than 0.
Cancel-on-Disconnect: When Cancel on Disconnect function is enabled, the Algo order will be automatically canceled when the websocket connection is lost. If it is not enabled, the Algo order will remain active until the user cancels it or until the next ErisX maintenance window (Maintenance windows are announced by the Market Operations team via email).
In order to protect ErisX customers from volatile market conditions and improve user experience, the Pegged Order requires a series of conditions to be accepted into the market.
There must be at least one bid in the market.
There must be at least one offer in the market.
The price at which the Peg Order would be entered must be within a configured percentage from the contraside best price. The percentage is an internal value calibrated and set by ErisX based on analysis of historical market width and is subject to change based on market conditions.
There can only be one Pegged Order per side and per symbol working in a given account at any time.
Order-on-Fill allows a Member to automatically place a contraside order (buy/sell), with an offset, when the original order (sell/buy) is fully filled. The Member can also set the number iterations the algo should run for, i.e. how many times a new contraside order should be placed once the previous order is fully filled.
This algorithmic order type enables Members to automate strategies that seek to profit from trading a targeted bid/offer spread.
Order-on-Fill takes 3 inputs:
Quantity: Units to be bought/sold.
Limit Price: Price at which the originating order will be entered.
Offset: For BUY orders, an amount to be added to the limit price when calculating the price at which the dependent SELL order will be placed once the BUY order fully fills. For SELL orders, an amount to be subtracted from the limit price when calculating the price at which the dependent BUY order will be placed once the SELL order fully fills. The Offset input must be equal or greater than 0.
Iterations: Number of times the algorithm will generate a new contraside order after a working order is fully filled. The number of iterations must be greater than or equal to 1.
Cancel-on-Disconnect: When enabled, the Algo Order will be automatically canceled when the websocket connection is lost. If it is not enabled, the Algo Order will remain active until the user cancels it or until the next ErisX maintenance window.
Placing Algorithmic Order types from the ErisX Trading User Interface
The Algo Entry panel is used to submit algorithmic order types to buy or sell the Active Product/Contract. Members may use the Trading User Interface to choose and configure an algorithmic order with the desired set of parameters.
Click on the “Algo Entry” tab.
Select whether the algorithmic order will be a Buy or a Sell by clicking on either the BUY or SELL tab located at the top of the Algo Entry panel, as appropriate. When a Buy order is selected, the background of the BUY tab and the Review & Buy button will be blue. When a Sell order is selected the background of the SELL tab and the Review & Sell button will be red.
Select the Algo Order type to be placed. Currently supported algorithmic orders:
Pegged: Allows a Member to enter a buy/sell order in the spot market that will automatically reprice, pegged to a specified reference price (bid/offer), with a user defined offset.
Order-on-Fill: Will automatically place a contraside order, with an offset, on behalf of a Member when the previously entered order is fully filled.
Users can choose from the different algorithmic order types by clicking on the Order type dropdown and selecting the appropriate algo.
Configure the parameters of the algo: Quantity, Limit Price and Offset (and Iterations for Order-on-Fill) by typing their respective values into the labeled boxes. Click on the tooltips next to each box in order to obtain more information regarding the definition of each parameter.
Tip: Click on a price in the order book widget to auto populate the Limit Price section of the Order Entry panel with the clicked upon price.
Click on the Review & Buy or Review & Sell button.
Review your order’s parameters and make sure everything is correct.
Click on the Place Buy Order or Place Sell Order button.
You will see a confirmation that your order has been placed.
You can see your Algo Order details and the orders working in the Algo Instructions and Algo Orders table respectively in the tables located at the bottom of the screen.