The Accumulate/Distribute algorithm can help the investor to discreetly enter large volume orders and execute trades over time with minimal market impact and lesser risk of detection by market participants. It is best used for large-sized orders greater than one million dollars or very low liquidity stocks. Investors can use Accumulate/Distribute to trade stocks, options, futures, and forex products.
In Mosaic, click on the New Window area, scroll down to More Advanced Trading Tools, and click on Accumulate Distribute. The Accumulate Distribute window will pop up and is divided into four sections:
- The Algorithm area where the basic parameters of the order are defined.
- The Conditions area where specific conditions about price, position, and market behavior must remain true for the order to be valid.
- The Control Buttons used to start and stop the algorithm and apply changes, and
- The Order Summary which displays real-time order progress.
Multiple versions of Accumulate /Distribute can be run at the same time for multiple symbols by clicking on the plus sign tab and filling in the information. As the name of the algorithm indicates, it can be used to buy, as in accumulate, or sell, as in distribute. In this video, the investor will create two strategies, one buying 10 cents below the 20-minute moving average and one selling above 10 cents above the moving average. They will set the strategies to pause trading whenever the position reaches 6,000 shares in either direction.
To create the BUY order, type the symbol in the box under Financial Instrument. We’ll enter symbol VZ and select stock. Directly underneath in the Algorithm section choose the action to Buy and the tab is renamed Accumulate VZ.
Now, enter 50,000 for the quantity, 500 for the share increment and specify 1 minute for the timing of the submissions. If the investor chooses to use IB SmartRouting, they can choose one of several settings including: MaxRebate, PreferRebate, PreferFill, MaxFill, Primary, highest volume exchange with rebate or VRebate, and highest volume exchange with lowest fee or VLowFee.
The investor then chooses the order type. In this case, they will use Relative, set the time-in-force to GTC and use a zero offset, so it sends the order even with the current bid. Additional criteria can be added by clicking on the “and” button to the right. The investor may also set the time range the orders are submitted by setting the Start and End time. Select any of the choices below to further define the parameters of the order:
- Wait for the current order to fill before next size increase.
- Catch up in time – which will make up for lost time if the algorithm falls behind due to conditions not being true.
- Time interval starts when current order fills.
- Allow this order to be filled outside of regular trading hours.
- Take entire offer (up to number of shares remaining) if the bid size and price meets parameters for size and price.
The size and time can be randomized as well to prevent the marketplace detecting a pattern for the orders. We will choose to wait for the current order to fill before next size increase.
Once the investor has set up the parameters for the Algorithm, they set conditions that must hold true for the algorithm to continue working.
The investor can choose to give up the order permanently or resume once the conditions become true again. Users may choose:
- For the order to only operate between a certain price range, or
- Percentage of trading volume since the algorithm started, or
- Act or not act should news events occur within a specified time period, or
- Put a floor or ceiling on your total position. The investor selects less than 6,000.
The Accumulate Distribute algorithm allows the investor to use moving averages to determine when to pause or cancel the order. Moving averages for the specific contract can be used as well as comparing two moving averages for either the same or different contracts and setting the time period.
Prices for two different contracts can be compared as well to determine whether to pause or cancel the order. The bottom three lines within the Conditions area allow investors to compare the price difference between the two in percentage terms. To clear out any of the entries in the Moving Average conditions area, click on the red x at the end of the line.
The investor sets the last price to be at least 0.25%, which is roughly 10 cents, selects moving average from the drop down. They enter 20 and change the time increment to minutes.
To create a SELL order, the investor clicks on the plus sign next to the last tab. They enter VZ in the financial instrument line, but this time will be selling 50,000 shares so they click Sell and enter 50,000. Next, they enter 500 for the number of shares per order and set the time to one minute. They will use the same order type, Relative with zero as the offset and time-in-force set to GTC.
This time the investor will set a condition that must be true for the algorithm to work that the position has be greater than negative 6,000 and that the last price must be 0.25% greater than the 20-minute moving average.
When satisfied with both orders, click the yellow Transmit button on each page to start the order. The algorithm can be stopped and started by using the red stop button and the green start button.
In the Summary section on the page the investor will get real-time updates on the orders progress in the following categories:
- Shares submitted,
- Share bought or sold,
- Shares remaining,
- Last trade price,
- Average price,
- The time of the last size increase,
- The time until the next size increase shown as a countdown, and
- The status of the active order or the time when the next order will be submitted.
There is also a Summary tab which will show all Accumulate/Distribute orders. The investor could run various strategies on multiple stocks using the Accumulate/Distribute algorithm and trade thousands of variations all the time.
Accumulate Distribute allows the investor to save templates of the algorithm and conditions to be used for multiple contracts. To save the algorithm settings as a template, click on Template in the upper left-hand corner and scroll down to “Save Template As,” name the template in the pop-up box, and click OK. The template can be used for other orders by going back into the Template area and clicking on “Load Template.”
It is important to note that the Trader Workstation must be running for Accumulate/Distribute to send orders.
Can someone contact me, please?
Hello, thank you for contacting us. IBKR does not make outbound calls. Please view this FAQ for troubleshooting: https://www.interactivebrokers.com/faq?id=77824904