Allocation Management FIXML API - FIXML Message Work-Flows
Messaging work flows include:
- 1 Allocation and Average Price Group State Transition
- 2 Prior Executing Firm for Sub-Allocation
- 3 Give-up Allocation Message Flows
- 3.1.1 Marking a Trade for Give-Up Allocation
- 3.1.2 Creating an Allocation
- 3.1.3 Claiming an Allocation
- 3.1.4 Refusing an Allocation
- 3.1.5 Executing Firm Amending an Allocation Pre-Claim
- 3.1.6 Claiming Firm Amending an Allocation Pre-Claim
- 3.1.7 Cancelling an Allocation Pre-Claim
- 3.1.8 Amending an Allocation Post-Claim
- 3.1.9 Cancelling a Give-up Group
- 3.1.10 Un-Marking a Trade for Give-Up
- 3.2 Average Price Allocation Message Flows
- 3.2.1 Marking Trades for Average Price Allocation
- 3.2.2 Completing an Average Price Group
- 3.2.3 Allocating an Average Price Group, Clearing System Splits Allocation
- 3.2.4 Un-Marking a Trade from an Average Price Group
- 3.2.5 Changing a Trade to Another Average Price Group
- 3.2.6 Un-Completing an Average Price Group
- 3.2.7 Cancelling an Average Price Group
- 3.3 Transitions Between Give-up Allocation and Average Price Allocation Message Flows
- 3.4 Sub-Allocation Message Flows
- 3.5 Reversal of Accepted Allocations Message Flows
Allocation and Average Price Group State Transition
This diagram shows the allocation state transition when a trade is marked for give-up.
This diagram shows the state of a group, beginning with the creation of a give-up or average price group.
Prior Executing Firm for Sub-Allocation
When sub-allocating an allocation to another account within one's own firm, the clearing system may send the identity of the prior executing firm. This will appear within AllocRpt/Pty/@ID with AllocRpt/Pty/@R="201" signifying the prior executing firm. Example:
Firm A trades.
Firm A allocates to Firm A: Not present. (There is no prior executing firm.)
Firm A sub-allocates to Firm A: Not present. (There is no prior executing firm.)
Firm A sub-allocates to Firm B: Not present. (This is not a sub-allocation to self.)
Firm B sub-allocates to Firm B: Present. Pty[R="201"]@ID="A"
Firm B sub-allocates to Firm B: Present. Pty[R="201"]@ID="A"
Firm B sub-allocates to Firm C: Not present. (This is not a sub-allocation to self.)
Firm C sub-allocates to Firm C: Present. Pty[R="201"]@ID="B"
Firm C sub-allocates to Firm C: Present. Pty[R="201"]@ID="B"
Give-up Allocation Message Flows
Marking a Trade for Give-Up Allocation
Scenario 1: Trade Amendment Marked for Give-Up without Carry Information
The executing firm sends a new Trade Capture Report with a TransTyp of Replace, a RptTyp of Submit, an AllocInd of Allocating Trade (No Claim Info provided), and the AvgPxInd is absent or set to No Average Pricing.
The clearing system responds by:
Sending the executing firm a Trade Capture Report Ack with a TransTyp of Replace, RptTyp of Submit and a TrdRptStat of Accepted.
Creating a give-up group, and sending the executing firm an Allocation Instruction Alert with a TransTyp of New, a Typ of Complete Group, and a Stat of Allocation Pending.
Submission of a new trade marked for give-up without carry information functions identically, except in steps 1 and 2 above TransTyp is New, rather than Replace.
Scenario 2: Trade Amendment Marked for Give-Up with Instructions
1. The executing firm sends a Trade Capture Report with a TransTyp of Replace, a RptTyp of Submit, an AllocInd of Allocate Trade – Carry info Provided, and with the AvgPxInd absent or set to No Average Pricing. The claiming firm is provided in the Alloc/Pty element.
Optionally:
The executing firm could specify grouping instructions in RptSide/AllocGrpInst.
The executing firm could specify rollup instructions in RptSide/AllocRollupInst.
2. The clearing system responds by:
Sending the executing firm a Trade Capture Report Ack with a TransTyp of Replace, RptTyp of Submit and a TrdRptStat of Accepted.
Creating a give-up group, and sending the executing firm an Allocation Instruction Alert with a TransTyp of New, a Typ of Complete Group, and a Stat of Allocation Pending.
Sending an Allocation Report to the executing firm with a TransTyp of New, a RptTyp of Give-up, and a Stat of Allocation Pending.
Sending an Allocation Report to the claiming firm with a TransTyp of New, a RptTyp of Take-up, and a Stat of Allocation Pending.
Submission of a new trade marked for give-up with carry information functions identically, except in steps 1 and 2a above, where TransTyp is New rather than Replace.
Creating an Allocation
Scenario 1: Creating an Allocation - Success
This scenario begins with the executing firm marking a trade for give-up allocation.
The executing firm sends an Allocation Instruction message with a TransTyp of New and a Typ of Give-up. The executing firm identifies the group using the GrpID field, and identifies the claiming firm in the Alloc/Pty element.
The clearing system responds by:
Sending an Allocation Report to the executing firm with a TransTyp of New, a RptTyp of Give-up, and a Stat of Allocation Pending.
Sending an Allocation Report to the claiming firm with a TransTyp of New, a RptTyp of Take-up, and a Stat of Allocation Pending.
Scenario 2: Creating an Allocation - Rejected by CME Clearing
This scenario begins with the executing firm marking a trade for give-up allocation.
The executing firm sends an Allocation Instruction message with a TransTyp of New and a Typ of Give-up. The executing firm identifies the group using the GrpID field, and identifies the claiming firm in the Alloc/Pty element. This message contains an error, such as specifying an invalid GrpID, or an allocation quantity in excess of the unallocated quantity available in the group.
The clearing system responds by sending the executing firm an Allocation Instruction Ack message with TransTyp of New, Typ of Give-up, and Stat of Rejected by Intermediary.
The clearing system can use the Allocation Instruction Ack message to reject any Allocation Instruction message.
Claiming an Allocation
This scenario begins with the executing firm marking a trade for allocation and allocating the trade to the claiming firm. The next steps are:
The claiming firm sends an Allocation Instruction message with a TransTyp of New and a Typ of Take-up. It identifies the allocation to claim using IndAllocID2.
The clearing system responds by:
Sending an Allocation Report to the claiming firm with a TransTyp of New, a RptTyp of Take-up, and a Stat of Claimed.
Sending an Allocation Report to the executing firm with a TransTyp of New, a RptTyp of Give-up, and a Stat of Claimed.
Refusing an Allocation
This scenario begins with the executing firm marking a trade for allocation and allocating the trade to the claiming firm. The next steps are:
The claiming firm sends an Allocation Instruction message with a TransTyp of New and a Typ of Refuse Take-up. It identifies the allocation to refuse using IndAllocID2.
The clearing system responds by:
Sending an Allocation Report to the claiming firm with a TransTyp of New, a RptTyp of Take-up, and a Stat of Refused.
Sending an Allocation Report to the executing firm with a TransTyp of New, a RptTyp of Give-up, and a Stat of Refused.
Executing Firm Amending an Allocation Pre-Claim
Scenario 1: Amendment with New Claiming Firm
This scenario begins with the executing firm marking a trade for allocation and allocating the trade to claiming firm 1.
The executing firm sends an Allocation Instruction message with a TransTyp of Replace and a Typ of Give-up. It identifies the allocation to amend using GrpID and IndAllocID2, and identifies claiming firm 2 in the Alloc/Pty element.
The clearing system responds by:
Sending an Allocation Report to the executing firm with a TransTyp of Replace, a RptTyp of Give-up, and a Stat of Allocation Pending.
Sending an Allocation Report to claiming firm 1 with a TransTyp of Cancel, a RptTyp of Take-up, and a Stat of Cancelled.
Sending an Allocation Report to claiming firm 2 with a TransTyp of New, a RptTyp of Take-up, and a Stat of Allocation Pending.