Duration: 7:31
Level: Intermediate

The Accumulate/Distribute algorithm is useful for buying or selling large quantities of stocks, options, futures, or forex orders over time using smaller random size increments that may help minimize market impact. Accumulate/Distribute can be accessed in both Mosaic and Classic TWS.

Study Notes:

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. Investors can use Accumulate/Distribute to trade stocks, options, futures, and forex products.

Accumulate/Distribute is accessed in Classic TWS by clicking on Trading Tools in the top left-hand corner and scrolling down to the Stock/Future Focus area or by clicking on the Accumulate/Distribute button. If the button is not showing on Classic TWS screen it can be added by clicking on the white triangle at the end of the button row and scrolling over “Add More Buttons.” Click on the Acc/Dist button pictured with a clock surrounded by a red and blue arrow.

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.

I will walk through entering an order for 50,000 Microvision shares to trade 200 shares at a time every 30 seconds.

To create an order, type the symbol in the box under Financial Instrument, we’ll enter symbol MVIS and select stock. Directly underneath in the Algorithm section choose the action. Choose Buy and the tab is renamed Accumulate MVIS. Choose Sell and the tab name changes to Distribute MVIS.

Now, enter 50,000 for the quantity, 200 for the share increment and specify 30 seconds for the timing of the submissions. The investor can choose to route the order to IBKRATS and reroute to SMART if the order doesn’t trade in an allotted time period of one, two, five or 10 minutes. 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 Market and set the time in force to Day. they will also set the display size to 100 shares. 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 period can be randomized as well to prevent the marketplace seeing a pattern for the orders. We will choose to wait for the current order to fill before next size increase, randomize the time and size by checking the box next to each selection.

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 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.

Click the Preview button and the Order preview window will pop up with the details. From here, the investor can click transmit or close out the window.

When satisfied with the order, click the yellow Transmit button 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 the investor will get real-time updates on the orders progress in the following categories:

  1. Shares submitted,
  2. Share bought or sold,
  3. Shares remaining,
  4. Last trade price,
  5. Average price,
  6. The time of the last size increase,
  7. The time until the next size increase shown as a countdown, and
  8. The status of the active order or the time when the next order will be submitted.

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.”

The Accumulate/Distribute algo slices a large order into smaller pieces to avoid detection in the market and allows the investor to set conditions that must be true for the order to be sent.

Accumulate/Distribute Order Type

Accumulate/Distribute User Guide


Join the Discussion

Thank you for engaging with IBKR Campus. If you have a general question, it may already be covered in our FAQs. If you have an account-specific question or concern, please reach out to Client Services.

Your email address will not be published. Required fields are marked *

Disclosure: Interactive Brokers

The analysis in this material is provided for information only and is not and should not be construed as an offer to sell or the solicitation of an offer to buy any security. To the extent that this material discusses general market activity, industry or sector trends or other broad-based economic or political conditions, it should not be construed as research or investment advice. To the extent that it includes references to specific securities, commodities, currencies, or other instruments, those references do not constitute a recommendation by IBKR to buy, sell or hold such investments. This material does not and is not intended to take into account the particular financial conditions, investment objectives or requirements of individual customers. Before acting on this material, you should consider whether it is suitable for your particular circumstances and, as necessary, seek professional advice.

The views and opinions expressed herein are those of the author and do not necessarily reflect the views of Interactive Brokers, its affiliates, or its employees.

Disclosure: Order Types / TWS

The order types available through Interactive Brokers LLC’s Trader Workstation are designed to help you limit your loss and/or lock in a profit. Market conditions and other factors may affect execution. In general, orders guarantee a fill or guarantee a price, but not both. In extreme market conditions, an order may either be executed at a different price than anticipated or may not be filled in the marketplace.