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:
- Total Order Size (TOS) – the total number of shares the trader is willing to purchase (sell) as the price falls (increases);
- Initial Component Size (ICS) – the number of shares to be purchased (sold) at the Starting Price;
- 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.
- Starting Price (SP) – the price at which you are willing to purchase (sell) the Initial Component Size
- 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:
- TP = (((ICS/SCS) -1) * PI) + SP
- 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.
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:
- TOS = 4,000;
- ICS = 1,000;
- SCS = 500;
- SP = $20.00
- 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
- 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.
- 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.
- 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.
- 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)
- 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.
- 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.
Acceptable inputs for this algorithm include:
- Products – any product offered by IB other than mutual funds (e.g., stocks, options, ETFs, bonds, futures, Forex);
- Order Type - limit or relative (relative not offered for combination orders)
- 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.