Introduction to the Accumulate/Distribute Algorithm

How to define the basic inputs in the Accumulate/Distribute algorithm.

Enter KB1006 in the Knowledge Base search engine for additional information regarding use of the Accumulate/Distribute algorithm

Introduction to Scale Trader

How to define the basic inputs using Scale Trader.

Enter KB1005 in the Knowledge Base search engine for additional information regarding use of the Scale Trader

 

Defining Additional Conditions for the Accumulate/Distribute Algorithm

How to define additional price conditions for the Accumulate/Distribute Algorithm.

Enter KB1006 in the Knowledge Base search engine for additional information regarding use of the Accumulate/Distribute algorithm

How to Capture Profit using the Scale Trader

How to capture profit in a fluctuating market using Scale Trader.

Enter KB1005 in the Knowledge Base search engine for additional information regarding use of the Scale Trader

Overview of Accumulate / Distribute Algorithm

Overview: 

Accumulate/Distribute is a sophisticated trading algorithm which allows one to buy or sell large orders by splitting the trade into multiple orders with the goal of reducing visibility and market impact.

When to Use
This order type is geared towards traders of large position blocks as well as high frequency traders and is intended to run unattended while logged into the TWS.
 
How to Locate
The Accumulate/Distribute algorithm can be accessed from the TraderWorkstation by selecting the Trading and then Accumulate/Distribute menu options at the top of the page or it can be added to the trading tool bar menu by clicking on the Add More Buttons icon.
 
Order Set Up
Once the trader has defined the instrument and action (buy or sell), the following parameters are to be specified:
 
  1. Total Quantity – defines the aggregate order size (e.g., shares, contracts);
  2. Trade Increment – defines the unit (e.g., shares, contracts) size for each component order;
  3. Time Increment – defines the period of time (seconds, minutes or hours) between the submission of a component order and the submission of the following order;
  4. Order Type – may select from market, limit or relative. A market order will be executed at the ask price and should only be used where, for example, a stock is highly liquid with significant bid-ask sizes. Limit and Relative order types require that the trader specify additional order relationships and the choices are numerous. The execution price, for example, may be specified as being relative to a fixed value, bid, ask or last price, VWAP, moving average or last trade. These choices may be increased or decreased by an offset factor and multiple conditions may be established. For example, one may wish to create a relative order type to match the bid price plus an offset factor of $0.01 and to ensure that they don’t lift the ask if the spread is $0.01, add a condition that the bid be no less that $0.02 beneath the ask price.
  5. How to Operate – if the trader does not check the box titled “Wait for current order to fill before submitting next order” then orders which do not meet the price conditions will continue to accumulate in accordance with the established time increment, the unexecuted orders will be aggregated into one or more potentially sizable orders at the exchange. If this box is checked, then the more restrictive the buying conditions, the greater the likelihood that the algorithm will fall behind its schedule of buying or selling at every ‘X’ interval.  If this box is checked the trader may then check the box titled “Catch up in time”. When that box has been checked and should the algorithm fall behind, the next orders will be placed immediately after their predecessor fills until such time the algorithm has caught up.
  6. Randomization – check boxes are provided to allow for a +/- 20% randomization in the time increment and a +/- 55% randomization in the trade increment. Accordingly, in the case of a 30 second time increment, this would allow for randomization of between 24 and 36 seconds between orders and in the case of a 500 share trade increment, this would allow for randomization of between 200 and 800 shares (rounded to the nearest round lot) per order. Randomization serves to minimize the likelihood of others detecting your order.
  7. RTH – a check box is provided which will allow the order to be filled outside of regular trading hours.
  8. Take up Offer Size – if a limit or relative order type is selected, the trader may input an order size which if bid (in the case of a sell order) or offered (in the case of a buy order) the trader would be willing to take in its entirety, up to the remaining portion of the total order quantity (satisfies the price conditions).
Managing the Trade
The Accumulate/Distribute algorithm also allows for conditions to be established which, if not met, will cause the algorithm to either stop permanently or resume when the conditions are again satisfied. These include the following:
 
  1. Price Range - traders may specify a price range outside of which they do not want to buy the stock;
  2. News – the trader may stop the algorithm for some period of time if there is news on the stock, for example;
  3. Position - traders may stop the algorithm based upon their position in the stock; For example, a trader running multiple algorithms one to buy the stock and another to sell in an attempt to trade the stock back and forth for a profit may decide to suspend one side if the position becomes substantially imbalanced;
  4. Stock Path – a trader, for example, may wish to suspend the algorithm if a given moving average, say the 10-minute VWAP is not at least as high as another average, say the 50-day moving average. This feature enables you to set up algorithms to trade chart points even when you are not looking at the chart at that moment;
  5. Stock Path for Multiple Symbols – this condition is similar to the last except that it calls for two symbols. Here you can put in any symbol and compare some data point regarding that symbol (e.g., 10-minute VWAP, etc.) to the same or a different data point regarding the second symbol. These comparative conditions can apply to different symbols or to the same symbol.   For example, you could specify that you want to buy a certain stock only if it has been in a continuous uptrend. So in addition to the 10-minute VWAP being higher than the 50-day moving average, you would also like the 10-day moving average to be higher than the 30-day moving average on this stock.
Other Considerations
Acceptable inputs for this algorithm include:
  1. Products – any product offered by IB (stocks, options, ETFs, bonds, futures, Forex) other than mutual funds;
  2. Order Type – market, limit or relative.

IMPORTANT NOTE

This algo will only operate when the trader is logged into the TWS.  If the trader has been logged out prior to the algo completing (either by user action or by the automated nightly restart), a message will appear upon the next log in which will allow for re-activation of the algo.

Overview of the Scale Trader Algorithm

Overview: 

The ScaleTrader is a sophisticated trading algorithm which allows one to enter a large quantity order that is executed in a series of increments or components, with each component being executed at a progressively better price.

When to Use
The use of this algorithm is well suited to situations where a stock is trading at or near the bottom of a trading range and the trader is looking to average down, buying into a declining market. Alternatively, it may be used on the opposite side when the trader is looking to sell into the top of the trading range, perhaps scaling out of a long position. In either situation, the Scale Trader algorithm also allows the trader to scalp the market, submitting opposite profit taking orders against the original order.
 
How to Locate
The Scale Trader can be accessed from the TraderWorkstation by selecting the Trading and then Scale Trader menu options at the top of the page or it can be added to the trading toolbar menu by clicking on the Add More Buttons icon.
 
Order Set Up
Once the trader has defined the instrument and action (buy or sell), five parameters will need to be specified. Traders will also need to define the order type and time in force. These five parameters for a stock purchase (sale) would be as follows:
 
  1. Total Order Size (TOS) – the total number of shares the trader is willing to purchase (sell) as the price falls (increases);
  2. Initial Component Size (ICS) – the number of shares to be purchased (sold) at the Starting Price;
  3. Subsequent Component Size (SCS) – the additional number of shares to be purchased (sold) at each Price Increment (at successively lower prices in the case of a purchase and higher in the case of a sale). If a SCS is not entered, the ICS will be used for all component orders.
  4. Starting Price (SP) – the price at which you are willing to purchase (sell) the Initial Component Size
  5. Price Increment (PI) – in the case of a purchase (sale), this is the decrease (increase) in price at which each successive component order is to be executed.
Based upon the inputs provided to those parameters, the Scale Trader application will calculate a Top Price (TP) and a Bottom Price (BP) which, depending upon the buy or sell action selected, will either determine the price at which the last order will be executed (BP for purchases and TP for sales) or be relevant only if the same scale is used to close or restore the size of the position (TP for purchases and BP for sales). Adjustments made to either of these two factors will be reflected in the PI and their calculations are as follows:
 
  1. TP = (((ICS/SCS) -1) * PI) + SP
  2. BP = SP – (((TOS - ICS)/SCS) * PI
Note that once a product symbol has been entered a price chart will be displayed to assist in specifying the parameters. The algorithm will not be activated until the Transmit button has been clicked and once transmitted will run indefinitely until stopped or changed or it encounters conditions where it stops. It's important to note that this particular algo will continue to run even if the trader is not logged in to the TWS.
 
Example
Assume a GTC limit order is entered into the Scale Trader to buy 1,000 shares of hypothetical stock ABC having a NBBO of $19.95 - $20.00 at a starting price of $20.00 with 500 more shares purchased at every $0.05 down, resulting in a maximum position of 4,000 shares. The five parameters for this order would be as follows:
 
  1. TOS = 4,000;
  2. ICS = 1,000;
  3. SCS = 500;
  4. SP = $20.00
  5. PI = $0.05
This order would be then be scaled into 7 components consisting of one at 1,000 and 6 at 500 each. The first component is submitted at $20.00 and after it fills the next component (500) would be submitted at $0.05 lower. That order would wait until marketable and once it has been filled the next component will be submitted. This pattern continues until all components have been filled or the order has been cancelled.
 
Managing the Trade
  1. Profit taking orders – the Scale Trader may be set to send an offsetting order to take advantage of periodic price surges or if the trader has reached a specified profit objective. This feature may be enabled by checking the box titled “Create profit taking order” and specifying the Profit Offset. Using the example above and a Profit Offset of $1.00, once the ICS was filled at $20.00 and an SCS submitted at $19.95, two profit orders would also be submitted, one for 500 shares at $21.00 and another for 500 shares at $21.05. It should be noted that profit orders are scaled to the SCS regardless of the size of the ICS and that if the ICS > SCS then the profit order price is determined using the PI along with the Profit Offset. 
  2. Restore size after taking profit – if using the profit taking orders feature, the trader can enable the repurchase of shares sold at a profit at the price they were originally bought at by checking the box titled “Restore size after taking profit”. This feature remains active whenever the price is within the range of TP + Profit Offset and BP. Using the example above, if order to sell 500 shares at $21.00 was executed this fill quantity would be put back into the original order at $20.00 and the order submitted at $19.95 would be cancelled.
  3. Restart Scale Trader & Restart Scale Trader with Filled Component Size – these features allow traders using the profit taking order and restore size features to restart the algorithm if stopped, helping to resume the order starting from the point at which the scaled sequence left off.
  4. Auto Price Adjustment – selecting this check box allows for an increase or decrease in the starting price automatically at stated time intervals (e.g., increase $0.01 every hour)
  5. Scale Trader Page – provides a view of the real-time status of scale orders, including filled and total quantity, filled, remaining, and total value, and the percent filled for each scale. Accessible via the Page and then Create Scale Trader Page menu options.
  6. View Scale Progress - right-click on the scale order line and select View Scale Progress. This will open a window displaying the complete scale price ladder, the Open/Filled component list for the parent scale order, and the Open/Filled component list for the child profit orders.
Other Considerations
Acceptable inputs for this algorithm include:
  1. Products – any product offered by IB other than mutual funds (e.g., stocks, options, ETFs, bonds, futures, Forex);
  2. Order Type - limit or relative (relative not offered for combination orders)
  3. Time in Force – Day, Good-til-Cancel or Day-til-Cancel. May also specify if order is allowed to be filled outside of regular trading hours, if executions may be routed and executed during pre-open session and whether to ignore opening auction.

 

Syndicate content