Page tree

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

This topic provides an overview of allocation management through the CME Clearing FIXML API, including its supporting functions, workflows, and message flows, to allow firms and other authorized users to allocate, claim, modify, reverse, and sub-allocate trades and allocations.

 The API is defined in FIXML using FIX 5.0 SP2 with custom CME Group extensions. Additional information on FIXML post trade messages is available at the following FIX Protocol website:

https://fiximate.fixtrading.org/

Use the search bar to search topics within the Allocation Management FIXML API.

Page Tree Search
rootPageAllocation Management FIXML API

This topic provides an overview of allocation management through the CME Clearing FIXML API, including its supporting functions, workflows, and message flows, which allow firms and other authorized users to allocate, claim, modify, reverse, and sub-allocate trades and allocations.

Table of Contents

The API is defined in FIXML using FIX 5.0 SP2 with custom CME Group extensions. Additional information on FIXML post trade messages is available at the FIX Protocol website.

Related Content
Children Display



Modes of Connectivity

This API supports IBM WebSphere MQ Connectivity.

Customers have the option of connecting over a secure network connection via IBM WebSphere MQ. IBM WebSphere MQ provides point-to-point messaging with message persistence, high reliability, and moderate throughput and latency. It also provides a remote channel feature that enables communication between separate queue managers across a network which enables communication between CME Clearing systems and clearing firms.

Customers can submit messages through a remote queue while having message responses pushed to their local queue. MQ Series clients do not require user authentication since MQ is a secure method of transport.

Supported Functions

The following table lists functions support by the API: 

API Function

Description

Marking trades for allocation

Designates a trade for allocation. This includes indicating whether trades are grouped for average pricing. Additionally, for give-ups and Cross-Exchange Allocations, specific allocation information such as claiming firm, claiming account, and claiming origin can be appended, but is not necessary.   

Changing allocation parameters of marked trades

A trade, once marked for allocation, can be modified in several ways:

  • Un-mark for allocation, in which case the executing firm will not allocate the trade.
  • Un-mark from a specific average price group.
  • Update the average price group.
  • Change specific allocation information (Carry firm, Carry Account, Quantity, etc.)

Completing an average price group

An executing firm must complete an average price group before allocations can be created. Trades cannot be added nor removed from a completed average price group. The final average price is locked once this is done.

Un-completing an average price group

By un-completing the group, the executing firm can then add or remove trades from the group. The group needs to be completed again before allocations can be created.

Cancelling a give-up group

An executing firm can cancel a give-up group. This results in the clearing system cancelling all unclaimed allocations for that group (if any), un-marking the trade for allocation, and deleting the allocation group. If any allocations are in Accepted status, thThis can only be done if no allocation has been accepted by the carry firm.

Cancelling an average price group

An executing firm can cancel an average price group. This results in the clearing system un-marking all trades from that average price group and deleting the average price group. This can only be done if no allocation has been accepted by the carry firm.

Submitting allocation instructions

Designates how a give-up group or an average price group should be allocated to claiming firms.

Updating allocationsAllows executing firm to update an allocation before it is accepted by the claiming firm (Carry Firm, Carry Account, Quantity, Origin, CTI). Claiming firm can update an allocation as well (Account, Origin, CTI).

Cancelling allocation instructions

Cancels the allocations altogether.

Notifying claiming firm of allocation

Notifies the claiming firm of the allocation alleged by the executing firm.

Notifying claiming firm of allocation amendment or cancellation

Notifies the claiming firm that the executing firm amended or cancelled the pending allocation.

Claim or refuse allocation

Notifies the clearing system whether the claiming firm is accepting or refusing the allocation proposed by the executing firm.

Submitting sub-allocation instructions

The claiming firm in turn can submit instructions to sub-allocate claimed allocations, in turn making it the allocating firm in a new allocate/claim relationship.

Allocating and Claiming Trades

The allocating and claiming of trades is the process by which an executing firm gives up a trade to another firm. There are two parties in this process:

  •  the executing or “allocating” firm
  •  the claiming or “carry” firm. 

Trades flow from the allocating firm to the claiming firm.

This process begins when the CME Clearing system receives an instruction from the executing firm to mark a trade for allocation. The basic flow is as follows:

Gliffy Diagram
nameAllocation Overview
pagePin7

On receipt of the notification of the new allocation, the claiming firm can claim or refuse the allocation, and the clearing system then processes this request accordingly. The requested action is acknowledged back to the claiming firm and allocating firm. The system also allows the claiming firm to further allocate / give-up the claimed allocation to another claiming firm, thus becoming the allocating firm in a new allocate claim relationship. If either side determines that the allocation/claim was done in error, a reversal may be submitted allowing an already accepted allocation to be “undone”. This can be initiated from either side but must be accepted from the opposite side.

Alternatively, a group of trades can be "average-priced" and then allocated to claim firms. This process is referred to as "APS" or "APSing". The APS allocation and claim process is similar to the give up flow, with two distinct differences: 1) trades with different prices can be grouped together, and 2) a “complete” step is added to the process. This step requires the allocating firm “locks-in” a group of trades so that no more trades may be added to the APS group. This is required so that the CME system does not have to repeatedly calculate a new price every time a new trade is added to the APS group. As with the give-up process, all APS allocations may be done through the API.

In this case, the following occurs once the CME system receives a message marking a trade for APS:

1. A group is created in the CME system (even if only a single trade marked for APS).

2. The CME system notifies the executing firm of this new group.

3. The executing firm must complete the group before allocating.

4. A “group complete” notification is sent to the executing firm.

5. The allocating firm may now allocate the group to a single firm or multiple firms.

6. Finally, an allocation notification is sent to both sides.

The CME Clearing FIXML API also supports cross-exchange give ups to firms on the Singapore Exchange (SGX) for a subset of products. This relationship works both ways allowing firms to execute on either exchange and allocate to the other. This functionality is also known as the Mutual Offset System or MOS.

Additionally, all activity described in this document can be done using a combination of the CME FEC and FECPlus GUI. At any step of the process a user may use these systems to view the status of allocations modified through the API. Any changes made in the GUI is reported back to the firm through the API.

Grouping Trades 

As described previously, the clearing system allows firms to group a trade or trades for the purpose of giving-up (allocating) to firms. These groups are referred to as allocation groups. The clearing system assigns trades to allocation groups using the following criteria:

  • Firm and Trader
  • Trade Date
  • Instrument identification
  • Side of Market
  • Trade Price (Not applicable to APS groups)
  • Customer Account
  • Trade Type
  • Client Order ID

The executing firm can choose to bypass these grouping criteria by designating that trades not be added to existing allocation groups. In this case, the clearing system adds the trade to its own new group.

Gliffy Diagram
nameGrouping Process Overview
pagePin2

Trades can be designated for allocation by submitting them with an allocation indicator and specific allocation instructions such as claiming firm, account, and origin either upon execution or post-execution. This creates an allocation group and an allocation within the group.

Alternatively, a firm may simply mark the trade for allocation without specific carry information upon execution or post-execution with the intention of providing the carry information later on. Doing this creates the allocation group, but no allocation within the group.

The clearing system assigns a unique group ID the first time a trade is added to a group. Subsequently, as trades are added to the group, the group quantity is modified and the executing firm is notified with each new trade/change. Firms may mark trades for give-up upon execution or post-execution.

Giving Up Trades 

Once a trade has been marked for allocation or “given a group” the trade can be allocated (again, this can be done in one step at execution or done in multiple steps post-execution). Regardless which method of allocation is selected, each firm is assigned a unique allocation ID for the allocation in addition to the previously created allocation group ID. This ID is unique to each firm and used to identify each individual allocation. Consider this the “Trade ID” of allocation.

The claiming firm(s) can respond to the new allocation by specifying their clearing-supplied allocation ID. The claiming firm’s response is then communicated back to the executing firm by the Clearing API.

Gliffy Diagram
nameGive-up process overview
pagePin1

Average Pricing (Regular)

As discussed earlier, the APS system allows executing firms to allocate trades at an average price rather than trade price. In this model, the executing firm groups trades by providing an APS group ID when marking each trade for APS.  A CME-provided allocation group ID are provided when each new group is created just as with give-ups. Trades marked for average pricing but not yet designated to an average price group is stored in FEC Plus as unassigned average price trades until an APS Group ID is provided. All trades in an average price group must share the same:

  1. Trade Date
  2. Instrument Definition (Symbol) 
  3. Side of Market

The executing firm can then complete the group. The clearing system notifies the executing firm of the completion status of the group and provides the final average price. The executing firm can then begin allocating to firms with the final average price. The system ignores allocation instructions given before the group is “completed”. This makes APS very different than give-ups wherein they cannot be allocated at execution or allocated in just one step post-execution.

Unlike give-up groups, average price groups can contain trades with different parameters that incur different fees. The clearing system adds these parameters to individual allocations so firms can determine these fees. In the case where an individual allocation cannot be made without mixing together trades of different fee types, the clearing system splits the allocation into two or more allocations, each consisting of trades that have the same fee characteristics. This does not affect the average price of the allocation. The criteria are:

Gliffy Diagram
nameAverage Pricing Process Overview
pagePin1


Notional Value Average Pricing

UPDATE


As discussed earlier, the APS system allows executing firms to allocate trades at an average price rather than trade price. In this model, the executing firm groups trades by providing an APS group ID when marking each trade for APS.  A CME-provided allocation group ID are provided when each new group is created just as with give-ups. Trades marked for average pricing but not yet designated to an average price group is stored in FEC Plus as unassigned average price trades until an APS Group ID is provided. All trades in an average price group must share the same:

  1. Trade Date
  2. Instrument Definition (Symbol) 
  3. Side of Market

The executing firm can then complete the group. The clearing system notifies the executing firm of the completion status of the group and provides the final average price. The executing firm can then begin allocating to firms with the final average price. The system ignores allocation instructions given before the group is “completed”. This makes APS very different than give-ups wherein they cannot be allocated at execution or allocated in just one step post-execution.

Unlike give-up groups, average price groups can contain trades with different parameters that incur different fees. The clearing system adds these parameters to individual allocations so firms can determine these fees. In the case where an individual allocation cannot be made without mixing together trades of different fee types, the clearing system splits the allocation into two or more allocations, each consisting of trades that have the same fee characteristics. This does not affect the average price of the allocation. The criteria are:

Gliffy Diagram
nameAverage Pricing Process Overview
pagePin1