How are executions allocated when an order receives a partial fill because an insufficient quantity is available to complete the allocation of shares/contracts to sub-accounts?
Overview:
From time-to-time, one may experience an allocation order which is partially executed and is canceled prior to being completed (i.e. market closes, contract expires, halts due to news, prices move in an unfavorable direction, etc.). In such cases, IB determines which customers (who were originally included in the order group and/or profile) will receive the executed shares/contracts. The methodology used by IB to impartially determine who receives the shares/contacts in the event of a partial fill is described in this article.
Background:
Before placing an order CTAs and FAs are given the ability to predetermine the method by which an execution is to be allocated amongst client accounts. They can do so by first creating a group (i.e. ratio/percentage) or profile (i.e. specific amount) wherein a distinct number of shares/contracts are specified per client account (i.e. pre-trade allocation). These amounts can be prearranged based on certain account values including the clients’ Net Liquidation Total, Available Equity, etc., or indicated prior to the order execution using Ratios, Percentages, etc. Each group and/or profile is generally created with the assumption that the order will be executed in full. However, as we will see, this is not always the case. Therefore, we are providing examples that describe and demonstrate the process used to allocate partial executions with pre-defined groups and/or profiles and how the allocations are determined.
Here is the list of allocation methods with brief descriptions about how they work.
· AvailableEquity
Use sub account’ available equality value as ratio.
· NetLiq
Use subaccount’ net liquidation value as ratio
· EqualQuantity
Same ratio for each account
· PctChange1:Portion of the allocation logic is in Trader Workstation (the initial calculation of the desired quantities per account).
· Profile
The ratio is prescribed by the user
· Inline Profile
The ratio is prescribed by the user.
· Model1:
Roughly speaking, we use each account NLV in the model as the desired ratio. It is possible to dynamically add (invest) or remove (divest) accounts to/from a model, which can change allocation of the existing orders.
Basic Examples:
Details:
CTA/FA has 3-clients with a predefined profile titled “XYZ commodities” for orders of 50 contracts which (upon execution) are allocated as follows:
Account (A) = 25 contracts
Account (B) = 15 contracts
Account (C) = 10 contracts
Example #1:
CTA/FA creates a DAY order to buy 50 Sept 2016 XYZ future contracts and specifies “XYZ commodities” as the predefined allocation profile. Upon transmission at 10 am (ET) the order begins to execute2but in very small portions and over a very long period of time. At 2 pm (ET) the order is canceled prior to being executed in full. As a result, only a portion of the order is filled (i.e., 7 of the 50 contracts are filled or 14%). For each account the system initially allocates by rounding fractional amounts down to whole numbers:
Account (A) = 14% of 25 = 3.5 rounded down to 3
Account (B) = 14% of 15 = 2.1 rounded down to 2
Account (C) = 14% of 10 = 1.4 rounded down to 1
To Summarize:
A: initially receives 3 contracts, which is 3/25 of desired (fill ratio = 0.12)
B: initially receives 2 contracts, which is 2/15 of desired (fill ratio = 0.134)
C: initially receives 1 contract, which is 1/10 of desired (fill ratio = 0.10)
The system then allocates the next (and final) contract to an account with the smallest ratio (i.e. Account C which currently has a ratio of 0.10).
A: final allocation of 3 contracts, which is 3/25 of desired (fill ratio = 0.12)
B: final allocation of 2 contracts, which is 2/15 of desired (fill ratio = 0.134)
C: final allocation of 2 contract, which is 2/10 of desired (fill ratio = 0.20)
The execution(s) received have now been allocated in full.
Example #2:
CTA/FA creates a DAY order to buy 50 Sept 2016 XYZ future contracts and specifies “XYZ commodities” as the predefined allocation profile. Upon transmission at 11 am (ET) the order begins to be filled3 but in very small portions and over a very long period of time. At 1 pm (ET) the order is canceled prior being executed in full. As a result, only a portion of the order is executed (i.e., 5 of the 50 contracts are filled or 10%).For each account, the system initially allocates by rounding fractional amounts down to whole numbers:
Account (A) = 10% of 25 = 2.5 rounded down to 2
Account (B) = 10% of 15 = 1.5 rounded down to 1
Account (C) = 10% of 10 = 1 (no rounding necessary)
To Summarize:
A: initially receives 2 contracts, which is 2/25 of desired (fill ratio = 0.08)
B: initially receives 1 contract, which is 1/15 of desired (fill ratio = 0.067)
C: initially receives 1 contract, which is 1/10 of desired (fill ratio = 0.10)
The system then allocates the next (and final) contract to an account with the smallest ratio (i.e. to Account B which currently has a ratio of 0.067).
A: final allocation of 2 contracts, which is 2/25 of desired (fill ratio = 0.08)
B: final allocation of 2 contracts, which is 2/15 of desired (fill ratio = 0.134)
C: final allocation of 1 contract, which is 1/10 of desired (fill ratio = 0.10)
The execution(s) received have now been allocated in full.
Example #3:
CTA/FA creates a DAY order to buy 50 Sept 2016 XYZ future contracts and specifies “XYZ commodities” as the predefined allocation profile. Upon transmission at 11 am (ET) the order begins to be executed2 but in very small portions and over a very long period of time. At 12 pm (ET) the order is canceled prior to being executed in full. As a result, only a portion of the order is filled (i.e., 3 of the 50 contracts are filled or 6%). Normally the system initially allocates by rounding fractional amounts down to whole numbers, however for a fill size of less than 4 shares/contracts, IB first allocates based on the following random allocation methodology.
In this case, since the fill size is 3, we skip the rounding fractional amounts down.
For the first share/contract, all A, B and C have the same initial fill ratio and fill quantity, so we randomly pick an account and allocate this share/contract. The system randomly chose account A for allocation of the first share/contract.
To Summarize3:
A: initially receives 1 contract, which is 1/25 of desired (fill ratio = 0.04)
B: initially receives 0 contracts, which is 0/15 of desired (fill ratio = 0.00)
C: initially receives 0 contracts, which is 0/10 of desired (fill ratio = 0.00)
Next, the system will perform a random allocation amongst the remaining accounts (in this case accounts B & C, each with an equal probability) to determine who will receive the next share/contract.
The system randomly chose account B for allocation of the second share/contract.
A: 1 contract, which is 1/25 of desired (fill ratio = 0.04)
B: 1 contract, which is 1/15 of desired (fill ratio = 0.067)
C: 0 contracts, which is 0/10 of desired (fill ratio = 0.00)
The system then allocates the final [3] share/contract to an account(s) with the smallest ratio (i.e. Account C which currently has a ratio of 0.00).
A: final allocation of 1 contract, which is 1/25 of desired (fill ratio = 0.04)
B: final allocation of 1 contract, which is 1/15 of desired (fill ratio = 0.067)
C: final allocation of 1 contract, which is 1/10 of desired (fill ratio = 0.10)
The execution(s) received have now been allocated in full.
Available allocation Flags
Besides the allocation methods above, user can choose the following flags, which also influence the allocation:
· Strict per-account allocation.
For the initially submitted order if one or more subaccounts are rejected by the credit checking, we reject the whole order.
· “Close positions first”1.This is the default handling mode for all orders which close a position (whether or not they are also opening position on the other side or not). The calculation are slightly different and ensure that we do not start opening position for one account if another account still has a position to close, except in few more complex cases.
Other factor affects allocations:
1) Mutual Fund: the allocation has two steps. The first execution report is received before market open. We allocate based onMonetaryValue for buy order and MonetaryValueShares for sell order. Later, when second execution report which has the NetAssetValue comes, we do the final allocation based on first allocation report.
2) Allocate in Lot Size: if a user chooses (thru account config) to prefer whole-lot allocations for stocks, the calculations are more complex and will be described in the next version of this document.
3) Combo allocation1: we allocate combo trades as a unit, resulting in slightly different calculations.
4) Long/short split1: applied to orders for stocks, warrants or structured products. When allocating long sell orders, we only allocate to accounts which have long position: resulting in calculations being more complex.
5) For non-guaranteed smart combo: we do allocation by each leg instead of combo.
6) In case of trade bust or correction1: the allocations are adjusted using more complex logic.
7) Account exclusion1: Some subaccounts could be excluded from allocation for the following reasons, no trading permission, employee restriction, broker restriction, RejectIfOpening, prop account restrictions, dynamic size violation, MoneyMarketRules restriction for mutual fund. We do not allocate to excluded accountsand we cancel the order after other accounts are filled. In case of partial restriction (e.g. account is permitted to close but not to open, or account has enough excess liquidity only for a portion of the desired position).
Footnotes:
U.S. equity markets occasionally experience periods of extraordinary volatility and price dislocation. Sometimes these occurrences are prolonged and at other times they are of very short duration. Stop orders may play a role in contributing to downward price pressure and market volatility and may result in executions at prices very far from the trigger price.
Financial instruments are subject to minimum price changes or increments which are commonly referred to as ticks. Tick values vary by instrument and are determined by the listing exchange. IB provides this information directly from the Contract Search tool on the website or via the Trader Workstation (TWS). To access from TWS, enter a symbol on the quote line, right click and from the drop-down window select the Contract Info and then Details menu options. The contract specifications window for the instrument will then be displayed (Exhibit 1).
To determine the notional value of a tick, multiple the tick increment by the contract trade unit or multiplier. As illustrated in the example below, the LIFFE Mini Silver futures contact has a tick value or minimum increment of .001 which, when multiplied by the contract multiplier of 1,000 ounces, results in a minimum tick value of $1.00 per contract. Accordingly, every tick change up or down results in a profit or loss of $1.00 per LIFFE Mini Silver futures contract.
Exhibit 1
Interactive Brokers (IBKR) provides to its account holders a variety of proprietary trading platforms at no cost and therefore does not actively promote or offer the platforms or add-on software of other vendors. Nonetheless, as IBKR's principal trading platform, the TraderWorkstation (TWS), operates with an open API, there are numerous third-party vendors who create order entry, charting and various other analytical programs which operate in conjunction with the TWS for purposes of executing orders through IBKR. As these API specifications are made public, we are not necessarily aware of all vendors who create applications to integrate with the TWS but do offer a program referred to as the Investors Marketplace which operates as a self-service community bringing together third party vendors who have products and services to offer with IBKR customers seeking to fill a specific need.
While MetaQuotes Software is not a participant of IBKR's Investors Marketplace, they offer to Introducing Brokers the oneZero Hub Gateway so that MetaTrader 5 can be used to trade IBKR Accounts[1]. Clients interested would need to contact oneZero directly for additional assistance. Please refer to the Contact section from the following URL.
Note: Besides oneZero Hub Gateway, different vendors such as Trade-Commander, jTWSdata and PrimeXM also offer a software which they represent, acts as a bridge between MetaTrader 4/5 and the TWS. As is the case with other third-party software applications, IBKR is not in a position to provide information or recommendations as to the compatibility or operation of such software.
1: oneZero is not available for Individual Accounts, please click here for more information on Introducing Brokers.
Regulators and exchanges typically impose limits on the number of commodity positions any customer may maintain with the intent of controlling excessive speculation, deterring market manipulation, ensuring sufficient market liquidity for bona fide hedgers and to prevent disruptions to the price discovery function of the underlying market. These limits are intended as strict caps, with no one account or group of related accounts allowed to aggregate or maintain a position in excess of the stated limit. Outlined below is an overview of the various limit types, calculation considerations, enforcement and links for finding additional information.
I. POSITION LIMIT TYPES
Position limits generally fall into one of the following 4 categories:
1. All Months Limit - apply to the account holder's positions summed across all delivery months for a given contract (e.g. positions in CBOT Oat futures contract for the Mar, May, Jul, Sep and Dec delivery months combined).
2. Single Month Limit - apply to the account holder's positions in any given futures delivery month (e.g. positions in CBOT Oat futures contract for any of the Mar, May, Jul, Sep and Dec delivery months). Note that in certain instances, the limit may vary by delivery month.
3. Spot Month Limit - apply to the account holder's positions in the contract month currently in delivery. For example, the March contract month for a product having delivery months of March, June, September and December, while considered a nearby month at the start of the year, does not become a spot month contract for position limit purposes until the date it actually enters delivery. Most spot month limits become effective at the close of trading on the day prior to the First Notice Date (e.g., if the First Notice Date for a Dec contract is the last trading date of the prior month, then the spot month limit would apply as of the close of business on Nov 29th). In other instances, the limit goes into effect or tightens during the last 3-10 days of trading.
4. Expiration Month Limit - expiration month limits apply to the account holder's positions in the contract currently in its last month of trading. Most expiration month limits become effective at the open of trading on the first business day of the last trading month. If the contract ceases trading before delivery begins, then the expiration month may precede the delivery month. (e.g., if the last trade date for a Dec contract is Nov 30th, then the expiration month limit would apply as Nov 1st). In other instances, the limit goes into effect or tightens during the last 3-10 days of trading.
II. CALCULATION CONSIDERATIONS
- Position limits are determined by aggregating option and futures contracts. In the case of option contracts, the position is converted to an equivalent futures position based upon the delta calculations provided by the exchange.
- Positions in contracts with non-standard notional values (e.g. mini-sized contracts) are normalized prior to aggregation.
- Most limits are applied on a net position basis (long - short) although certain are applied on a gross position basis (long + short). For purposes of determining the net or gross position, long calls and short puts are considered equivalent to long futures positions (subject to the delta adjustment) and short calls and long puts equivalent to short futures positions.
- Limits are imposed on both an intra-day and end of day basis.
III. ENFORCING LIMITS
IB acts to prevent account holders from entering into transactions which would result in a position limit violation. This process includes monitoring account activity, sending a series of notifications intended to allow the account holder to self-manage exposure and placing trading restrictions upon accounts approaching a limit. Examples of notifications which are sent via email, TWS bulletin and Message Center are as follows:
1. Information Level - sent when the position exceeds 50% of the limit. Intended to inform as to the existence of the position limit and its level.
2. Warning Level - sent when the position exceeds 70% of the limit. Intended to provide advance warning that account will be subject to trading restrictions should exposure increase to 90%.
3. Restriction Level - sent when the position exceeds 90% of the limit. Provides notice that account is restricted to closing transactions until exposure has been reduced to 85%.
IV. ADDITIONAL INFORMATION
For additional information, including various exchange rules position limit thresholds by contract and limit type, please refer to the following website links:
CFE ( Rule 412) - http://cfe.cboe.com/publish/CFERuleBook/CFERuleBook.pdf
CME (Rule 559) - http://www.cmegroup.com/rulebook/CME/index.html
CME (CBOT Rule 559) - http://www.cmegroup.com/rulebook/CBOT/index.html
CME (NYMEX Rule 559) - http://www.cmegroup.com/rulebook/NYMEX/index.html
ELX Futures (Rule IV-11) - http://www.elxfutures.com/PDFs/Rulebooks/ELX-FUTURES-RULEBOOK.aspx
ICE US / NYBOT (Rules 6.26 to 6.28) - https://www.theice.com/publicdocs/rulebooks/futures_us/6_Regulatory.pdf
NYSE LIFFE (Rule 420) - http://www.nyseliffeus.com/rulebook
OneChicago (Rule 414) - http://www.onechicago.com/wp-content/uploads/rules/OneChicago_Current_Rulebook.pdf
The OneChicago NoDiv single stock futures contract (OCX.NoDivRisk) differs from the Exchange's traditional single stock futures contract by virtue of its handling of ordinary distributions (e.g., dividends, capital gains, etc.). Whereas the traditional contract is not adjusted for such ordinary distributions (the discounted expectations are reflected in the price), the NoDiv contract is intended to remove the risk of dividend expectations through a price adjustment made by the clearinghouse. The adjustment is made on the morning of the ex-date to ensure that the effect of the distribution is removed from the daily mark-to-market or cash variation pay/collect.
For example, assume a NoDiv contract which closes at $50.00 on the business day prior the ex-date at which stockholders of a $1.00 dividend are to be determined. On the ex-date OCC will adjust that prior day's final settlement price from $50.00 downward by the amount of the dividend to $49.00. The effect of this adjustment will be to ensure that the dividend has no impact upon the cash variation pay/collect as of ex-date close (i.e., short position holder does not receive the $1.00 variation collect and the long holder incur the $1.00 payment).
Account holders are encouraged to routinely monitor their order submissions with the objective of optimizing efficiency and minimizing 'wasted' or non-executed orders. As inefficient orders have the potential to consume a disproportionate amount of system resources. IB measures the effectiveness of client orders through the Order Efficiency Ratio (OER). This ratio compares aggregate daily order activity relative to that portion of activity which results in an execution and is determined as follows:
OER = (Order Submissions + Order Revisions + Order Cancellations) / (Executed Orders + 1)
Outlined below is a list of considerations which can assist with optimizing (reducing) one's OER:
1. Cancellation of Day Orders - strategies which use 'Day' as the Time in Force setting and are restricted to Regular Trading Hours should not initiate order cancellations after 16:00 ET, but rather rely upon IB processes which automatically act to cancel such orders. While the client initiated cancellation request which serve to increase the OER, IB's cancellation will not.
2. Modification vs. Cancellation - logic which acts to cancel and subsequently replace orders should be substituted with logic which simply modifies the existing orders. This will serve to reduce the process from two order actions to a single order action, thereby improving the OER.
3. Conditional Orders - when utilizing strategies which involve the pricing of one product relative to another, consideration should be given to minimizing unnecessary price and quantity order modifications. As an example, an order modification based upon a price change should only be triggered if the prior price is no longer competitive and the new suggested price is competitive.
4. Meaningful Revisions – logic which serves to modify existing orders without substantially increasing the likelihood of the modified order interacting with the NBBO should be avoided. An example of this would be the modification of a buy order from $30.50 to $30.55 on a stock having a bid-ask of $31.25 - $31.26.
5. RTH Orders – logic which modifies orders set to execute solely during Regular Trading Hours based upon price changes taking place outside those hours should be optimized to only make such modifications during or just prior to the time at which the orders are activated.
6. Order Stacking - Any strategy that incorporates and transmits the stacking of orders on the same side of a particular underlying should minimize transmitting those that are not immediately marketable until the orders which have a greater likelihood of interacting with the NBBO have executed.
7. Use of IB Order Types - as the revision logic embedded within IB-supported order types is not considered an order action for the purposes of the OER, consideration should be given to using IB order types, whenever practical, as opposed to replicating such logic within the client order management logic. Logic which is commonly initiated by clients and whose behavior can be readily replicated by IB order types include: the dynamic management of orders expressed in terms of an options implied volatility (Volatility Orders), orders to set a stop price at a fixed amount relative to the market price (Trailing Stop Orders), and orders designed to automatically maintain a limit price relative to the NBBO (Pegged-to-Market Orders).
The above is not intended to be an exhaustive list of steps for optimizing one's orders but rather those which address the most frequently observed inefficiencies in client order management logic, are relatively simple to implement and which provide the opportunity for substantive and enduring improvements. For further information or questions, please contact the Customer Service Technical Assistance Center.
Clients who are unable to trade more than one futures contract per order should first check their order presets to ensure that they have not established an order size limit in the precautionary settings. If this is not the case, then the restriction has likely been imposed by IBKR due to the client's failure to accept the Arbitration Agreement which automatically imposes a trading limit of one contract per order. Clients decline to accept the agreement when presented through the application process but who subsequently wish to accept need to login to Client Portal and execute the Arbitration Agreement.
U.S. residents are unable to trade options on futures for most foreign indicies, such as the DAX.