Execute bulk trade orders
Trade order bulking workflow consists of two stages:
Creating bulk trade orders: combining multiple client orders in a bulk order and sending it to the market for execution. To learn more about this stage, see Bulk client trade orders.
Executing bulk trade orders in FA Platform and distributing the amounts to the underlying client portfolios. To learn more about this stage, read below.
Execute bulk orders
To execute bulk trade orders:
Go to the Trade orders view and search for the bulk trade orders that you want to execute. To find the orders, you can use, for example, the portfolio group >Bulking Portfolio together with trade order statuses or transaction dates.
At the bottom of the screen select one of the options:
Bulk → Execute bulked trade orders. This option presents you with a confirmation screen of the orders to be executed. Use this option if you need to define the execution parameters (unit price, trade time, counterparty, and so on).
Bulk → Execute valid bulked trade orders directly. This option executes the orders directly without any additional confirmation. Use this option if your bulk trade order is updated with the execution details for example via a trading integration. You can also use this functionality to schedule bulking.
Bulk trade order execution logic
You can execute trade orders in the bulk portfolio that are fully or partially executed in the market. Executing an order in the bulk portfolio executes all underlying client orders as well.
The system starts the bulk trade order execution by collecting details from the bulk trade order and the underlying client orders:
Units – The amount of the bulk trade order and the sum of the amounts in the underlying client orders.
Trade amount – The trade amount of the bulk trade order and the sum of the amounts in the underlying client orders.
Account FX and report FX rate – The FX rates used from the bulk trade order. These FX rates are copied to the underlying orders.
The costs and distributable taxes from the bulk trade order - If there were partial executions, the previously distributed costs and taxes are also considered.
Unit price - The unit price from the bulk trade order is copied to the underlying orders.
The system processes the underlying client orders one by one:
Calculates the fair share for each order. Depending on the execution method, this is either the trade amount of the order divided by the remaining bulk trade order trade amount or the order amount divided by the remaining bulk trade order amount. If you made any partial executions for the bulk order, the previously distributed units are also considered.
Calculates the units based on the fair share as share * remaining units, and rounds the result to the decimal count of the security. The rounding alternates between half-up and half-down rounding modes.
Recalculates the share with the received units and divides fees and taxes relative to the share. If partial executions were made for the order, previously distributed fees are also considered.
Updates the remaining bulk units, trade amounts, and fees between processing each order before moving on to the next one.
Assign the remaining units to the last underlying client order.
Updates FX rates and unit prices in all orders to those of the bulk order.
When the bulk order is fully executed in the market, the bulk order and all underlying orders are assigned the "Executed" status. The executed trades are saved as transactions.
Partial execution of bulk trade order
Partial execution can be done only for trade orders with "Units" as the execution method. If a bulk trade order is partially filled in the market, it receives the "Partially executed in the market" status. The system distributes the units to the underlying orders. In the next execution, the system takes into account already distributed units, fees, and taxes. Only after the bulk trade order is fully executed in the market, the final execution completes all underlying orders as well.
After partial execution, the number if units in the Amount field of the bulk trade order can be updated or not, depending on your trading connection or the traded asset. The bulk trade order can have either:
Updated remaining number of units to execute in the Amount field and initial total number of units in the Internal info field ("ExecutedAmount=<number of units>").
Initial total number of units in the Amount field. In the next execution, the system will send the remaining number of units for trading.