Fixml Allocate And Claim API Spec Users Guide V 1

User Manual:

Open the PDF directly: View PDF PDF.
Page Count: 113

DownloadFixml Allocate And Claim API Spec Users Guide V 1
Open PDF In BrowserView PDF
FIXML Allocate and Claim Services
API Specification and
Technical User’s Guide
Version 1.0
March 2005

Page 1 of 113

FIXML Allocation API User’s Guide

©Chicago Mercantile Exchange, 2005

March 2005

TABLE OF CONTENTS
1

INTRODUCTION ...............................................................................................................................................4
1.1
1.2
1.3
1.4

2

ALLOCATE AND CLAIM BASICS .................................................................................................................5
2.1
2.2
2.3
2.4
2.5
2.6

3

BASIC FIXML ALLOCATION MESSAGES ......................................................................................................20
MESSAGE FUNCTION TO MESSAGE TYPE MAPPING .......................................................................................21
GROUP SUMMARY ALERTS ...........................................................................................................................23
CREATING ALLOCATIONS .............................................................................................................................24
COMPLETING AVERAGE PRICE GROUPS (NOT APPLICABLE TO ACS GROUPS) ..............................................30
CLAIMING ALLOCATION INSTRUCTIONS .......................................................................................................31
UPDATING PENDING OR REJECTED ALLOCATIONS .......................................................................................33
UPDATING ACCEPTED ALLOCATIONS ...........................................................................................................35
REVERSING OR RELEASING ACCEPTED ALLOCATIONS .................................................................................36
SUB ALLOCATIONS/THIRD PARTY ALLOCATIONS OF ACCEPTED ALLOCATIONS ..........................................39

COMPONENTS OF APS AND ACS FIXML MESSAGES ..........................................................................42
6.1

7

SIMPLE ALLOCATION MESSAGE FLOW .........................................................................................................15
CLAIMING ALLOCATIONS .............................................................................................................................18
UPDATING ACS ALLOCATIONS INSTRUCTIONS ............................................................................................19

MESSAGE FUNCTION OVERVIEW ............................................................................................................20
5.1
5.2
5.3
5.4
5.5
5.6
5.7
5.8
5.9
5.10

6

SIMPLE ALLOCATION MESSAGE FLOW ...........................................................................................................7
AVERAGE PRICE ALLOCATION MESSAGE FLOW .............................................................................................7
COMPLETING GROUPS ..................................................................................................................................13
CLAIMING ALLOCATIONS .............................................................................................................................14
UPDATING ALLOCATIONS INSTRUCTIONS .....................................................................................................14

ACS MESSAGE MODEL.................................................................................................................................15
4.1
4.2
4.3

5

OVERVIEW......................................................................................................................................................5
BASIC ALLOCATIONS......................................................................................................................................5
DESIGNATING TRADES FOR BASIC ALLOCATION ............................................................................................5
AVERAGE PRICE ALLOCATIONS......................................................................................................................5
DESIGNATING TRADES FOR AVERAGE PRICE ALLOCATION ............................................................................6
BASIC, GENERIC AND SPECIFIC GROUPING .....................................................................................................6

BASIC AND AVERAGE PRICE MESSAGE MODEL...................................................................................7
3.1
3.2
3.3
3.4
3.5

4

BACKGROUND ................................................................................................................................................4
PURPOSE AND SCOPE ......................................................................................................................................4
PREREQUISITES...............................................................................................................................................4
REFERENCES ...................................................................................................................................................4

KEY ELEMENTS AND ATTRIBUTES ................................................................................................................42

DETAILED MESSAGE SAMPLES ................................................................................................................47
7.1
7.2
7.3
7.4
7.5
7.6
7.7
7.8
7.9
7.10
7.11

DESIGNATING TRADES FOR APS OR ACS ALLOCATION ...............................................................................47
CLEARING SYSTEM ACKNOWLEDGES THE TRADE .........................................................................................52
GROUP LEVEL MESSAGES ............................................................................................................................53
GROUP HANDLING MESSAGES (COMPLETE, INCOMPLETE & CANCEL) ..........................................................57
ALLOCATION INSTRUCTIONS ........................................................................................................................60
ALLOCATION CONFIRMS AND ALERTS .........................................................................................................64
ACCEPTING AND REJECTING ALLOCATIONS .................................................................................................68
UPDATE ALLOCATIONS ................................................................................................................................78
REVERSING ALLOCATIONS ...........................................................................................................................82
SUB ALLOCATIONS/ THIRD PARTY ALLOCATIONS BY CARRY FIRM .............................................................86
TRANSFERS DONE THRU CLEARING UI .........................................................................................................88

Page 2 of 113

FIXML Allocation API User’s Guide

©Chicago Mercantile Exchange, 2005

March 2005

8

REQUIRED FIELDS ........................................................................................................................................92
8.1
8.2
8.3

9

REQUIRED FIELDS ON INBOUND ALLOCATION INSTRUCTION MESSAGES .....................................................92
REQUIRED FIELDS ON INBOUND ALLOCATION REPORT ACKNOWLEDGEMENT MESSAGES ...........................96
APS ROUTING FILE TO FIXML MAPPING .....................................................................................................99

APPENDIX.......................................................................................................................................................109
9.1

TABLE 8.1 – FIX VALUE CONVERSION USED IN APS API ..........................................................................109

Page 3 of 113

FIXML Allocation API User’s Guide

©Chicago Mercantile Exchange, 2005

March 2005

1 INTRODUCTION
1.1

Background
The FIXML 4.4 Schema Specification has been developed to allow participants in the financial services
industry to transmit trade and post-trade information in a common extensible and flexible format. It was
originally developed for post-trade execution reporting and positions management. It is now being extended
to support the allocation and claiming of trades.
Today the basic allocations messages used to interface with the CME Clearing House web-based Front End
Clearing application (FEC) are defined using the fixed length Trade Exchange Record Layout (TREX)
protocol. In 2005 a new average price allocation module will be added to FEC and this new module will
exclusively use the FIXML 4.4 Schema Specification for allocate and claim messages. Basic allocations will
be supported by both FIXML and TREX for a short period after the implementation of average price
allocations.

1.2

Purpose and Scope
This user’s guide describes in detail all aspects of the FIXML Allocation Model as implemented to support
post-trade allocation in the CME web-based trade management system, Front End Clearing (FEC).
This user guide describes the format and usage of the following FIXML Allocation messages:

1.3

ƒ

Allocation Group Summary Notices

ƒ

Basic and average price allocation instructions

ƒ

Updates to allocations

ƒ

Reverse and release requests to previously submitted and accepted allocations

ƒ

Sub-Allocation or third party allocation requests

ƒ

Allocation instruction alerts

ƒ

Allocation instruction claim alerts

ƒ

Acknowledgment to all allocation instructions and responses

Prerequisites
This document assumes a basic working understanding of XML and familiarity with basic CME trade
processing terms.

1.4

References
CME Clearing House FIXML web page:
www.cme.com/clearing/cm/stan/fixml6615.html
You will find the following material at this site:
ƒ

Allocation FIXML 4.4 (FIA Extensions 1.1) Schema files

ƒ

FIXML Allocation message examples

Other References:
http://www.fixprotocol.org/specifications/fix4.4fixml

Page 4 of 113

FIXML Allocation API User’s Guide

©Chicago Mercantile Exchange, 2005

March 2005

2 Allocate and Claim Basics
2.1

Overview
The terms allocate and claim describe the method by which trades are routed to their ultimate firm and
account in the CME Clearing House Front End Clearing (FEC) web-based trade management system. Trades
can be designated for allocation by simply submitting them with an allocation indicator although additional
specific allocation information such as carry firm, account and origin can also be appended to trades marked
for allocation. Specific allocation instructions can also be submitted as stand alone instructions referencing a
group of trades already marked for allocation. Once these specific instructions have been submitted, whether
with the initial trade information or later with stand alone allocation instructions, the clearing system sends an
allocation alert message to the designated carry firm. The carry firm can respond to this alert by either
claiming or rejecting the allocation. The claiming firm’s response would then be communicated back to the
allocating firm by the CME clearing system.

2.2

Basic Allocations
Basic Allocations are those that are done at a fixed trade price determined by the execution price of the trade.
No price averaging is involved. Trades designated for basic allocation are aggregated according to predefined criteria into “allocation groups”. The convention currently used for assigning trades to an allocation
group uses the following criteria:
ƒ
Firm and Trader
ƒ
Trade Date
ƒ
Instrument definition (Symbol)
ƒ
Side of Market
ƒ
Trade Price
ƒ
Customer Account
ƒ
Trade Type
ƒ
Client Order ID

2.3

Designating Trades for Basic Allocation
Trades designated for basic allocation are first added to an allocation group and then, if the appropriate preallocation instruction details have been provided, becomes part of an allocation proper that is routed to the
claim firm. The executing firm has the option of providing both the Group ID and Allocation ID, although under
current listed derivatives convention the ID’s are automatically assigned by the clearing house. At the time of
execution, a firm has 2 options with respect to designating the allocation.

2.4

1.

An executing firm may direct the trade into an allocation group pending the receipt of allocation
instruction details. At this point the allocation is considered to be in “pending” status awaiting the
executing firm to provide the details necessary to complete the allocation. The allocation Group ID is
automatically assigned by the Clearing House and the information is sent to the claim firm in the form
of an Allocation Alert.

2.

An executing firm may also provide all requisite allocation details at the time of the trade. In this case,
the trade will be assigned to an allocation group as well as create an actual allocation that will be
sent to the claim firm. At this point, the allocation is considered to be in “preliminary” status.

Average Price Allocations
Average price allocations are different from basic allocations in three significant ways.

Page 5 of 113

1.

Trade Prices within a Group are averaged.

2.

For average price allocations, grouping is a two stage process:
a.

For purposes of averaging, trades can be grouped according to a very broad set of
criteria in what we will call “Generic” groups.

b.

For purposes of allocating, each Generic group will yield one or more underlying
“Specific” groups whose criteria are defined in the same way as Basic allocation groups
excepting price.

FIXML Allocation API User’s Guide

©Chicago Mercantile Exchange, 2005

March 2005

3.

2.5

Allocation instructions submitted for average price allocation groups are not released until the
allocating firm has “completed” the Generic average price group. Completion indicates that no
more trades will be averaged in the designated group. Once the firm has completed the average
price allocation group all existing allocation instructions are released to the designated carry
firms.

Designating Trades for Average Price Allocation
Unlike basic allocations, trades to be allocated at an average price will not be automatically assigned
allocation groups. Instead, trades marked for average price allocation must be assigned an average price
group id by the allocating firm. Trades designated for average price allocation but not assigned an average
price group id are stored in FEC as unassigned trades. Firms can provide an average price group id for
unassigned trades by updating individual trades via trade update messages or selecting multiple unassigned
trades within the FEC user interface and assigning them to an existing or new average price group.

2.6

Basic, Generic and Specific Grouping
The concept of grouping, whether in the context of Basic, Generic or Specific allocation groups, is essential to
the process of post-trade allocation. The assignment of trades into Basic allocation groups is automatically
determined by the clearing system based on the criteria of the trades marked for allocation. Generic
allocation groups are delimited by four very basic trade criteria and the firm assigned group id. Trades in a
Generic group are assigned to underlying Specific allocation groups using Basic allocation grouping criteria
minus price. The table below compares the different grouping criteria used for basic and average price
allocations:

Grouping Criteria

Basic Allocation
Groups

Grouping
for
Average
(Generic)

Grouping
for
Allocation
(Specific)

Product
Contract Details (contract date, put/call,
strike, etc.)
Market Side (e.g. buy/sell)
Price
Account Number
Order Number
Trade Type (e.g. spread/outright)
Venue (e.g. Electronic/Open Outcry)
Broker
Origin
Trade Date

X
X

X
X

X
X

X
X
X
X
X
X
X
X
X

X

X

X

X
X
X
X
X
X
X

Table 2.1

Page 6 of 113

FIXML Allocation API User’s Guide

©Chicago Mercantile Exchange, 2005

March 2005

3 Basic and Average Price Message Model
3.1

Simple Allocation Message Flow
As described above, the Clearing House acts as an intermediary between the allocation firm and the claiming
firm. Designation of trades for allocation by the executing initiates the allocation grouping process in the
clearing system. When allocation groups are created the clearing system generates group summary alerts to
the allocating firm. If specific allocation instructions were appended to trades reported to the clearing system
or once stand alone allocation instructions are submitted referencing existing allocation groups, the clearing
system sends an allocation alert to the designated carry firm. The carry firm may then respond by either
claiming or rejecting the allocations.
Below is an illustration of the basic allocation message flow used today in FEC:

Figure 3.1.1

3.2

Specific Allocation
Instructions
Allocation Claim
Alert

Allocation Alert

Allocation
Claim

Claiming Firm 456

Group Summary
Alerts w/ Group
information

Clearing System

Allocating Firm 123

Trade marked for
Give-up

Average Price Allocation Message Flow
Average price allocation message flow is in many ways similar to basic allocation flow. The only significant
differences are the two types of allocation groups associated with average price allocations, the application of
allocation instructions between generic and specific groups and the requirement that the allocating firm
complete the average price group before allocation instructions are sent to the carry or claiming firm.

3.2.1

Generic Groups

Once the allocating firm has designated a trade for average price allocation and assigned it an average price
group id, the clearing system will respond with two group summary alert messages. The first group
summary alert message, or “generic” summary message, contains certain key information about the trades
being averaged:
ƒ
ƒ
ƒ
ƒ
ƒ
ƒ
ƒ

ƒ
ƒ
ƒ
ƒ

Page 7 of 113

the firm assigned average price group id
the clearing system assigned average price group id
the trade ids of the trades that make up the generic group
the product and contract details of the trades being averaged
whether it is a buy or sell generic group
the overall quantity of contracts being averaged
relevant averaged allocation prices:
o the rounded or working average price
o the true average price
o the cash residual
the generic group status, e.g. whether it has been completed or not
the business and trade date
the message event source id
the input device

FIXML Allocation API User’s Guide

©Chicago Mercantile Exchange, 2005

March 2005

3.2.2

Specific Groups

The second group summary record is the “specific” group summary record. Each trade assigned to a
generic average price group will also be assigned to a specific allocation group according to the same
criteria, excluding price, currently used to group basic allocations. The specific group summary record
contains the following information:
ƒ
ƒ
ƒ
ƒ
ƒ
ƒ
ƒ
ƒ
ƒ
ƒ
ƒ
ƒ

the firm assigned average price group id of it’s parent generic average price group
a new specific allocation group id assigned by the clearing system
the trade ids of the trades contained within the specific group
the product and contract details for the specific group
specific group quantity
relevant averaged allocation prices
specific group status, e.g. whether it is fully allocated and accepted or not
buy/sell indicator
the generic group status, e.g. whether it is complete or not
message event source id
input device
and most significantly, the specific trade information that defines the specific group such as:
o account number
o order number
o trade type
o origin
o trade venue
o broker

Below is the message flow for Generic and Specific average price group summary alerts:

3.2.3

Trade marked for
Average Price
Allocation with Firm
Assigned Group Id:
1000
Generic Group Alert
Firm Group ID: 1000
CME Assigned Group
ID: 2001

Specific Group Alert
Firm Group ID: 1000
CME Assigned Group
ID: 3001

Clearing System

Allocating Firm 123

Figure 3.2.2

Generic Average Price Allocation Instructions

Average price allocation instructions can be submitted for generic or specific allocation groups. If submitted
at a generic group level the clearing system will automatically apply them to as many underlying specific
groups as necessary in order to complete the allocation after the Generic group has been completed.
Allocation instructions can also be submitted for specific allocation groups. The allocating firm uses the
CME Assigned Group ID, defined as attribute ID2 in FIXML, to differentiate between specific and generic
allocation groups. Allocation instructions that are submitted with trade messages are automatically applied
to the specific group to which the trade was assigned. Figure 3.3 illustrates how allocation instructions can
be submitted for average price allocation groups and how they are applied.

Page 8 of 113

FIXML Allocation API User’s Guide

©Chicago Mercantile Exchange, 2005

March 2005

Figure 3.2.3

TRADE 1: Broker ABC; trade qty 150; marked for average price allocation; firm
assigned Group Id: 1000; Carry firm information not provided
Generic Group Alert: Firm Group ID: 1000 CME Assigned Group ID: 2001; qty
150
Specific Group Alert: Firm Group ID: 1000
Specific Clearing Assigned Group ID: 3001; qty 150; Broker ABC

Generic Group Alert: Firm Group ID: 1000 CME Assigned Group ID: 2001; qty
250
Specific Group Alert: Firm Group ID: 1000
CME Assigned Group ID: 3002; qty 100; Broker DEF
Generic Allocation Instruction: Firm Group ID: 1000; Clearing Assigned Group
ID: 2001 Firm IndAllocID: 10000 (optional); Assigned Group ID 2001; Qty 200;
Claim Firm 456
Generic Allocation Instruction Report: Firm Group ID: 1000;
CME Assigned Group ID 2001; Firm IndAlloc ID: 10000; IndAllocID2: 500001
(clearing system assigned); Qty 200; Claim Firm 456

Clearing System

Allocating Firm 123

TRADE 2: Broker DEF; trade qty 100; marked for average price allocation; firm
assigned Group Id: 1000; Carry firm information not provided

Specific Allocation Instruction Report: Acknowledges Specific Allocation
Instruction generated for generic allocation; Qty 150; Broker ABC; Firm Group ID:
1000 CME Assigned Group ID 3001; Firm IndAlloc ID: 10000; IndAllocId2: 500002
(clearing system assigned Carry Firm 456

Specific
Allocation
Acknowledgm
ents created,
but sent only
after Generic
Group is
completed.

Specific Allocation Instruction Report: Acknowledges Specific Allocation
Instruction generated for generic allocation; Qty 50; Broker DEF; Firm Group ID:
1000; CME Assigned Group ID 3002; Firm IndAlloc ID: 10000; IndAllocId2: 500003
(clearing system assigned); Carry Firm 456

Page 9 of 113

FIXML Allocation API User’s Guide

©Chicago Mercantile Exchange, 2005

March 2005

In Figure 3.2.3 allocation instructions are being submitted at the generic level and applied at the specific
level. A 200-lot allocation instruction was submitted for a generic group with a quantity of 250, made up of
one150-lot trade and one 100-lot trade executed by two different brokers but assigned the same average
price group id by the allocation firm. Each of those trades were assigned separate specific allocation groups
just as they would have been assigned to different Basic allocation groups if they were marked as Basic
allocations. This is important to remember, Specific allocation groups are formed from the trades in their
parent generic group according to the same criteria, excluding price, as Basic allocation groups.

When applying allocation instructions at the generic level, in this case an allocation instruction for 200, the
generic allocation quantity is assigned with the aim of minimizing breaking up the quantity of the generic
allocation. In this case, since neither specific allocation group was large enough to satisfy the quantity of the
generic allocation instruction, one specific group was completely allocated and the second group was
partially allocated. 150 were applied to the specific group with the CME assigned group id of 3001 and the
remaining quantity of 50 was applied to the specific allocation group with the CME assigned group id of
3002.

Page 10 of 113

FIXML Allocation API User’s Guide

©Chicago Mercantile Exchange, 2005

March 2005

3.2.4

Specific Average Price Allocation Instructions
Average price allocation instructions can also be submitted at the specific group level. This can be
accomplished in two ways, either by appending specific allocation instructions to trades designated
for average price allocation or by submitting allocation instructions referencing a specific allocation
group.

3.2.4.1

Submitting Specific Allocation Instruction with Trade Capture Reports

As discussed in Section 2 specific allocation instructions such as carry firm, carry account, origin
and customer type indicator can be nested within the instructions for trades marked for allocation.
When these instructions are nested within trades designated for average price allocations,
allocation instructions are generated for the Specific group to which the trade is assigned. Let’s
assume that trade number 2 from figure 3.3 was submitted with specific allocation instructions.
Figure 3.4 below demonstrates the message flow:

Figure 3.2.4.1

Nested Specific Allocation Instructions:
Carry Firm: 456; Carry Account: 123456;
Generic Group Alert: Firm Group ID: 1000
CME Assigned Group ID: 2001; qty 250
Specific Group Alert: Firm Group ID: 1000
CME Assigned Group ID: 3002; qty 100
Specific Allocation Report: Firm Group ID:
1000 CME Assigned Group ID: 3002; qty 100;
Carry Firm: 456; Carry Account: 123456;
IndAllocID2: 500003 (clearing system assigned)

Clearing System

Allocating Firm 123

Trade 2: Broker DEF; trade qty 100; marked
for average price allocation; firm assigned Group
Id: 1000;

Note that if you allocate specifically you will receive the specific acknowledgement. If you
allocate generically you will receive the generic acknowledgment. If you allocate generically
after completion you receive a generic acknowledgment, a generic delete and then a specific
acknowledgement.

Page 11 of 113

FIXML Allocation API User’s Guide

©Chicago Mercantile Exchange, 2005

March 2005

3.2.4.2

Submitting Stand Alone Specific Allocation Instructions
An allocation firm can also submit specific allocations by referencing a specific allocation
group. This is done using the clearing system assigned specific group id (ID2). Figure 3.5
demonstrates the message flow:

Figure 3.2.4.2

Generic Group Alert: Firm Group ID: 1000 CME
Assigned Group ID: 2001; qty 250
Specific Group Alert: Firm Group ID: 1000 CME
Assigned Group ID: 3002; qty 100

Specific Allocation Instruction: Firm Group ID:
1000 CME Assigned Group ID: 3002; qty 100;
Carry Firm: 456; Carry Account: 123456;

Clearing System

Allocating Firm 123

Trade 2: Broker DEF; trade qty 100; marked
for average price allocation; firm assigned Group
Id: 1000;

Specific
Allocation
created, but sent
only after
Generic Group is
completed.

Specific Allocation Report: Firm Group ID:
1000 CME Assigned Group ID: 3002; qty 100;
Carry Firm: 456; Carry Account: 123456;
IndAllocID2: 500003 (clearing system assigned)

Page 12 of 113

FIXML Allocation API User’s Guide

©Chicago Mercantile Exchange, 2005

March 2005

3.3

Completing Groups
Allocation instructions submitted for average price allocation groups are not transmitted to the claiming firm
until the average price group is completed. Completing an average price group indicates that no more trades
will be added to the group. Only Generic average price groups can be completed, Specific groups are
completed when their parent Generic group is completed. Group completion can be accomplished via
message or using the FEC user interface. Below is an illustration of the message flow for average price group
completion.

Figure 3.3
Group Completion Request
Firm Group Id: 1000
Clearing Assigned Grp Id: 2001

Specific Allocation Report:
Acknowledges Specific Allocation
Instruction generated for generic
allocation; Qty 150; Broker ABC;
Carry Firm: 456; Firm Group ID: 1000
Clearing Assigned Specific Grp ID 3001;
Firm IndAlloc ID: 10000
IndAllocID2: 500002 (CME Assigned)
Specific Allocation Report:
Acknowledges Specific Allocation
Instruction generated for generic
allocation; Qty 50; Broker DEF
Carry Firm: 456; Firm Group ID: 1000
Clearing Assigned Specific Grp ID 3002;
Firm IndAlloc ID: 10000
IndAllocID2:500003 (CME Assigned)

Page 13 of 113

Specific Allocation Report: Alert for
Specific Allocation Instruction;
Allocating firm: 123
Qty 150; Broker ABC
IndAllocID2: 500101 (CME Assigned)

Specific Allocation Report: Alert for
Specific Allocation Instruction;
Allocating firm: 123
Qty 50; Broker DEF
IndAllocID2: 500102 (CME Assigned)

FIXML Allocation API User’s Guide

©Chicago Mercantile Exchange, 2005

March 2005

Carry Firm 456

Generic Allocation Instruction
Report: Cancels Generic Allocation
Instruction;
Qty 200; Firm Group ID: 1000
Clearing Assigned Group ID 2001;
Firm IndAlloc ID: 10000
IndAllocID2: 500001 (CME Assigned)

Clearing System

Allocating Firm 123

Group Completion Alert
Firm Group Id: 1000
Clearing Assigned Grp Id: 2001

3.4

Claiming Allocations
Once alerted of a pending allocation the claiming firm can either reject or accept the allocation. Note that the
claiming firm does not have to send specific trade information like executing broker or trade type on its claim
message, but the Accept Allocation Report from the clearing system will contain all trade information.

3.5

Rejected Allocation Report:
Firm Group ID: 1000
Firm IndAllocID: 10000
Specific Grp ID: 3002
Qty 50; Broker DEF;
Claim Firm: 456;
IndAllocID2: 500002

Accept Allocation:
IndAllocID: 500101; Qty
150
Accept Allocation
Report:
IndAllocID2: 500101
Allocating Firm: 123
Qty 150; Broker ABC;
Reject Allocation:
IndAllocID: 500102

Carry Firm 456

Claimed Allocation Report:
Firm Group ID: 1000
Firm IndAllocID: 10000
Specific Grp ID: 3001
Qty 150; Broker ABC;
Claim Firm: 456;
IndAllocID2: 500001

Clearing System

Allocating Firm 123

Figure 3.4

Accept Allocation
Report:
IndAllocID2: 500102
Allocating Firm: 123
Qty 50; Broker DEF;

Updating Allocations Instructions
The allocating firm can modify both pending and rejected allocations. The allocating firm can change the claim
firm number, claiming firm account, customer type and origin and change the allocation quantity. If the carry
firm is changed on a pending or rejected allocation, the original carry firm receives a Cancel allocation
message and the new carry firm receives a new allocation instruction alert. When we left off in figure 3.4,
claiming firm 456 had rejected one of the allocations from firm 123. In figure 3.5, allocating firm 123 is
changing the claiming firm number to claim firm 789.

Page 14 of 113

Update Allocation Report:
Firm Group ID: 1000; Firm
IndAllocID: 10000; Specific Grp
ID: 3002; Qty 50; Broker DEF;
Claim Firm: 789;
IndAllocID2: 500002

New Allocation Report:
Allocating firm: 123
Qty 50; Broker DEF
IndAllocID2: 500102 (CME
Assigned)

FIXML Allocation API User’s Guide

©Chicago Mercantile Exchange, 2005

Carry Firm
456

Cancel Report:
IndAllocID2: 500102
Allocating Firm: 123
Qty 50; Broker DEF

Carry Firm
789

Update Allocation Instruction:
Firm Group ID: 1000; Firm
IndAllocID: 10000; Specific
Group ID 3002; IndAllocID2:
500002; Claim firm: 789

Clearing System

Give-Up Firm 123

Figure 3.5

March 2005

4 ACS Message Model
4.1

Simple Allocation Message Flow
As described above, the Clearing House acts as an intermediary between the allocation firm and the claiming
firm. Designation of trades for allocation by the executing initiates the allocation grouping process in the
clearing system. Unlike trades marked for average pricing, trades marked for ACS will automatically be
assigned to specific allocation groups. When allocation groups are created the clearing system generates
group summary alerts to the allocating firm. If specific allocation instructions were appended to trades
reported to the clearing system or once stand alone allocation instructions are submitted referencing existing
allocation groups, the clearing system sends an allocation report to the designated carry firm. The carry firm
may then respond by either claiming or rejecting the allocations.
Below is an illustration of the basic allocation message flow used today in FEC:

Figure 4.1

Page 15 of 113

Specific Allocation
Instructions
Allocation Claim
Report

FIXML Allocation API User’s Guide

©Chicago Mercantile Exchange, 2005

Allocation
Report
Allocation
Report Claim

Claiming Firm 456

Group Summary
Alerts w/ Group
information

Clearing System

Allocating Firm 123

Trade marked for
Give-up

March 2005

4.1.1

ACS Allocation Instructions

ACS allocation instructions can be appended to trades reported to the clearing system or as stand alone
allocation instructions referencing existing basic allocation groups. The allocating firm uses the CME
Assigned Group ID, defined as attribute ID2 in FIXML, to differentiate between different ACS allocation
groups. Allocation instructions that are submitted with trade messages are automatically applied to the
specific ACS group to which the trade was assigned. Figure 4.2 illustrates how allocation instructions can
be submitted for specific ACS allocation groups and how they are applied.

Figure 4.2

TRADE 1: Broker ABC; trade qty 150; marked for ACS; firm assigned Group Id:
1000; Carry firm information not provided

Allocation Instruction Alert: Firm Group ID: 1000
Specific Clearing Assigned Group ID2: 500001; qty 150; Broker ABC
TRADE 2: Broker ABC; trade qty 100; marked for ACS; firm assigned Group Id:
1000; Carry firm information not provided

Allocation Instruction: Firm Group ID: 1000; Clearing Assigned Group ID2:
500001; Firm IndAllocID: 10000 (optional); Qty 200; Claim Firm 456

Allocation Instruction Report: Firm Group ID: 1000; CME Assigned Group ID
500001; Firm IndAlloc ID: 10000; IndAllocID2: 500002 (clearing system assigned);
Qty 200; Claim Firm 456

Clearing System

Allocating Firm 123

Allocation Instruction Alert : Firm Group ID: 1000 CME Assigned Group ID:
500001; qty 250

Allocation Instruction: Firm Group ID: 1000; Clearing Assigned Group ID2:
500001; Firm IndAlloc ID: 10001; IndAllocId2: 500003 (clearing system assigned )
Qty:50, Claim Firm 678

Allocation Instruction Report: Firm Group ID: 1000;
CME Assigned Group ID2 500001; Firm IndAlloc ID: 10000; IndAllocId2: 500003
(clearing system assigned); Qty:50;Claim Firm 678

Page 16 of 113

FIXML Allocation API User’s Guide

©Chicago Mercantile Exchange, 2005

March 2005

In Figure 3.2, allocation instructions are being submitted. A 200-lot and a 50-lot basic allocation instruction
was submitted for a group with a quantity of 250, made up of one150-lot trade and one 100-lot trade
executed by the same broker. Each of those trades were assigned to the same basic allocation group (ID2)
since they met the same grouping criteria for basic allocation groups set out in table 2.1. The firm has the
option of submitting their own reference group ID (Attribute=ID) and allocation ID (AllocIndID); however, the
clearing system will generate their values if they are not supplied by the firm. The allocating firm will need to
populate both the ID and ID2 when sending allocation instructions.

4.1.2

Submitting ACS Allocation Instructions for Trades
ACS allocation instructions can also be by appending specific allocation instructions to trades
designated for ACS allocation or by submitting allocation instructions referencing a specific
allocation group.

4.1.2.1

Submitting Allocation Instruction Upon Trade Submission

As discussed in Section 2 specific allocation instructions such as carry firm, carry account, origin
and customer type indicator can be nested within the instructions for trades marked for allocation.
When these instructions are nested within trades designated for ACS allocations, allocation
instructions are generated for the basic group to which the trade is assigned. Let’s assume that
trade number 2 from figure 3.2 was submitted with basic allocation instructions. Figure 4.3 below
demonstrates the message flow:

Page 17 of 113

Trade 2: Broker DEF; trade qty 100; marked
for ACS allocation; firm assigned Group Id:
1000;
Nested Specific Allocation Instructions:
Carry Firm: 456; Carry Account: 123456;

Allocation Instruction Alert: Firm Group ID:
1000 CME Assigned Group ID2: 500001; Qty:
100

Clearing System

Allocating Firm 123

Figure 4.3

Allocation Report: Firm Group ID: 1000 CME
Assigned Group ID2: 500001 ; Qty 100;
Carry Firm: 456; Carry Account: 123456;
IndAllocID2: 500003 (clearing system assigned)

FIXML Allocation API User’s Guide

©Chicago Mercantile Exchange, 2005

March 2005

4.1.2.2

Submitting Basic Allocation Instruction Via Trade Capture Reports
An allocation firm can also submit allocations by updating a trade unmarked for ACS with the
requisite allocation information: Let’s assume that trade number 2 from figure 3.2 was
submitted without basic allocation instructions. Figure 4.4 demonstrates the message flow:
Figure 4.4

Trade Capture Update with Allocation
Instructions: Firm Group ID: 1000; AllocInd=”1”
(Marked for Allocation), , Qty 100;
Carry Firm: 456; Carry Account: 123456

Allocation Instruction Alert: Firm Group ID:
1000 CME Assigned Group ID2: 500001; qty
250;

Clearing System

Allocating Firm 123

Trade 2: Broker DEF; trade qty 100; not
marked for ACS

Allocation Report: Firm Group ID: 1000 CME
Assigned Group ID2: 50001; qty 100;
Carry Firm: 456; Carry Account: 123456;
IndAllocID2: 500003 (clearing system assigned)

4.2

Claiming Allocations
Once alerted of a pending allocation the claiming firm can either reject or accept the allocation. Note that the
claiming firm does not have to send specific trade information like executing broker or trade type on its claim
message, but the Accept Allocation Report from the clearing system will contain all trade information.

Page 18 of 113

Rejected Allocation Report:
Firm Group ID: 1000
Specific Grp ID2: 500004
Firm IndAllocID: 10000
Qty 50; Broker DEF;
Claim Firm: 456;
IndAllocID2: 500002

Accept Allocation
Acknowledgement:
IndAllocID2: 500101; Qty
150
Accept Allocation
Report:
IndAllocID2: 500101
Allocating Firm: 123
Reject Allocation:
IndAllocID: 500102
Accept Allocation
Report:
IndAllocID2: 500102
Allocating Firm: 123
Qty 50; Broker DEF;

FIXML Allocation API User’s Guide

©Chicago Mercantile Exchange, 2005

Carry Firm 456

Claimed Allocation Report:
Firm Group ID: 1000
Specific Grp ID2: 500003
Firm IndAllocID: 10000
Qty 150; Broker ABC;
Claim Firm: 456;
IndAllocID2: 500001

Clearing System

Allocating Firm 123

Figure 4.5

March 2005

4.3

Updating ACS Allocations Instructions
The allocating firm can modify both pending and rejected allocations. The allocating firm can change the claim
firm number, claiming firm account, customer type and origin and change the allocation quantity. If the carry
firm is changed on a pending or rejected allocation, the original carry firm receives a Cancel allocation
message and the new carry firm receives a new allocation instruction alert. The AllocIndID2 is used to specify
which specific allocation is to updated. When we left off in figure 3.4, claiming firm 456 had rejected one of
the allocations from firm 123. In figure 3.5, allocating firm 123 is changing the claiming firm number to claim
firm 789.

Page 19 of 113

Update Allocation Report:
Firm Group ID: 1000; Firm
IndAllocID: 10000; Specific Grp
ID: 500004; Qty 50; Broker DEF;
Claim Firm: 789;
IndAllocID2: 500002

Carry Firm
456

Cancel Allocation
Report:
IndAllocID2: 500102
TransTyp=”2”
Allocating Firm: 123
Qty 50; Broker DEF

New Allocation Report:
Allocating firm: 123
Qty 50; Broker DEF
IndAllocID2: 500102 (CME
Assigned)

FIXML Allocation API User’s Guide

©Chicago Mercantile Exchange, 2005

Carry Firm
789

Update Allocation Instruction:
Firm Group ID: 1000; Firm
IndAllocID: 10000; Specific
Group ID 500004; IndAllocID2:
500002; Claim firm: 789

Clearing System

Give-Up Firm 123

Figure 3.5

March 2005

5 Message Function Overview
5.1

Basic FIXML Allocation Messages
There are four main FIXML message types used to complete the allocation and claiming of trades:
ƒ

AllocInstrctnAlert (Allocation Instruction Alert)
o

ƒ

ƒ

ƒ

The Group Summary message. Alerts are used by the Clearing House to notify the
allocating firm of changes to the composition or status of allocation summary groups.

AllocInstrctn (Allocation Instruction)
o

Used to submit allocation instructions by the allocating firm

o

Sent by the allocating firm to update previously submitted allocation instructions

o

Sent by the claim firm to request that a claimed allocation be sub-allocated or allocated to a
3rd-party

AllocRpt (Allocation Report)
o

Used exclusively by the Clearing System to notify allocating and claiming firms of the
creation of allocations

o

Sent whenever the status or information on an allocation changes

AllocRptAck (Allocation Report Acknowledgment)
o

Used by the claiming firm, in response to an Allocation Report from the Clearing System, to
accept or reject an allocation

Below are the basic rules for the usage of the four types of allocation messages:
1.

Reports are outbound from Clearing House only.

2.

Instructions are inbound from Giveup firm only

3.

Alerts are outbound from Clearing House only and are used only to advise of group updates

4.

AllocStatus is only provided by the Clearing House

5.

AllocType and AllocReportType are bi-directional and used to indicate the business purpose of a
message.

In this section we will describe in detail how to properly form these FIXML message types in order to
accurately communicate allocation instructions and responses.

Page 20 of 113

FIXML Allocation API User’s Guide

©Chicago Mercantile Exchange, 2005

March 2005

5.2

Message Function to Message Type mapping

Message
Function
(GAPI Msg)

FIX 4.4
Message Type

TransTyp
(Allocation
Trans
Type)

Stat
Typ (Alloc Type
RptTyp
Sent by Received
(Allocation Status
required for
(Allocation Report
by
required for
Instrctn)
required for
Allocation Alerts and
Report)
Reports)
1. COMPLETE GROUP
(Complete group and the attribute Typ value of “12”is applicable only to Average Pricing Messaging. Transfers and ACS will always
have Typ=”13”.)
13 1a. Create
AllocInstrctn
0=New,
Give-up
Clearing
GroupComplete,
Group (GS)
1=Replace,
firm
House
12 2=Cancel
GroupIncomplete
1b.
AllocInstrctnAlert 0=New,
6 – AllocationPending
13 Clearing Give-up
Summary
1=Replace,
GroupComplete,
House
firm
Notice
2=Cancel
12 (GSA)
GroupIncomplete
2. CREATE GROUP (INITIATED VIA TRADE CAPTURE)
2a.
Summary
Notice
(GSA)

AllocInstrctnAlert

0=New,
1=Replace,
2=Cancel

3a.
Allocation
(GA)
3b.
Allocation
Alert (GAA)

AllocInstrctn

0=New

AllocRpt

0=New

3 – Received (in
Clearing System)

3c.
Allocation
Confirmation
(GAC)

AllocRpt

0=New

3 – Received (in
Clearing System)
1 - Block Level Reject
2 - Account Level Rej

4a. Update
Allocation
(GA Chg)
4b. Update
Allocation
Alert (GAA
Chg/Del)
4c. Update
Allocation
Confirmation
(GAC)

AllocInstrctn

1=Replace,
2=Cancel

AllocRpt

1=Replace,
2=Cancel

3 – Received (in
Clearing System)

AllocRpt

1=Replace,
2=Cancel

3 – Received (in
Clearing System)
1 - Block Level Reject
2 - Account Level Rej

5a. Claim or
Reject (GC)

AllocRptAck

0=New

5b.
Claim/Reject
Alert (GCA)

AllocRpt

0=New

5c.
Claim/Reject
Confirmation
(GCC)

AllocRpt

0=New

6 – AllocationPending

13 GroupComplete,
12 GroupIncomplete
3. CREATE ALLOCATION

Clearing
House

Give-up
firm

Give-up
firm

Clearing
House

11-AcceptPending

Clearing
House

Carry
Firm

2-Preliminary

Clearing
House

Give-up
firm

Give-up
firm

Clearing
House

11-AcceptPending

Clearing
House

Carry
Firm

2-Preliminary

Clearing
House

Give-up
firm

9 - Accept, 10 Reject

Carry
Firm

Clearing
House

0–Accepted (in Clearing
System)

9 - Accept, 10 Reject

Clearing
House

Give-up
Firm

0–Accepted (in Clearing
System)

12=Complete

Clearing
House

Carry
Firm

2 - Preliminary

4. CANCEL/UPDATE ALLOCATION
2 - Preliminary

5. ACCEPT ALLOCATION

Page 21 of 113

FIXML Allocation API User’s Guide

©Chicago Mercantile Exchange, 2005

March 2005

Message
Function

FIX 4.4
Message
Type

TransTyp
(Allocation
Trans Type)

6a. Update
Allocation (GC
Chg)
6b. Update
Allocation
Confirmation
(GCC)

AllocRptAck

1=Replace

AllocRPT

1=Replace

7a.
SubAllocation
(GC Chg)
7b. Update
Allocation
Confirmation
(GCC)

AllocInstrctn

1-Replace

AllocRpt

1-Replace

Stat
Typ
RptTyp
(Allocation
(Alloc
(Allocation Report
Status
Type
required for Report)
required for
required
Ack and
for
Report)
Instrctn)
6. UPDATE ACCEPTED ALLOCATION

Sent by

Received
by

Carry Firm

Clearing
House

Clearing
House

Carry Firm

8 - Request

Carry Firm

Clearing
House

2-Preliminary

Clearing
House

Carry Firm*

8 - Request

0–Accepted
New Attribute,
(in Clearing
12=Complete
System)
1 - Rejected
(in Clearing
System)
7. SUB-ALLOCATE ACCEPTED ALLOCATION

3-Received

*Carry Firm becomes a Give-up firm--reference Create Group and Create Allocation
8. SIMULTANEOUSLY ACCEPT AND GIVE-UP ALLOCATION
8a. Third-party
Allocation with
Claim (GC Chg)
8b. Claim Alert
(GCA) (sent to
original give-up
firm)

AllocRptAck

0=New

AllocRpt

0=New

8c. Claim
Confirmation
(GCC)

AllocRpt

0=New

12 - Accept, 13 - Reject

Carry Firm

Clearing
House

0–Accepted
(in Clearing
System)

9 - Accept, 10 - Reject

Clearing
House

Give-up
Firm

3-Received

2 - Preliminary

Clearing
House

Carry Firm*

*Carry Firm becomes a Give-up firm--reference Create Group and Create Allocation
9. REVERSE ALLOCATION
9a. Reversal

AllocInstrctn

6=Reversal

8Request

Initiating
Firm
Clearing
House

Clearing
House
Initiating
Firm

9b. Reversal
Confirmation

AllocRpt

6=Reversal

3 – Received

8 - Request

9c. Reversal
Alert

AllocRpt

6=Reversal

3 – Received

14 - ReversalPending

Clearing
House

Responding
Firm

9 - Accept, 10 - Reject

Responding
Firm

Clearing
House

10. ACCEPT/REJECT REVERSE ALLOCATION REQUEST
10a. Accept or
Reject Reversal

AllocRptAck

6=Reversal

10b.
Accept/Reject
Reversal Alert
10c. Accept
Reversal
Confirmation

AllocRpt

6=Reversal

0–Accepted;
1-Rejected

9 - Accept, 10 - Reject

Clearing
House

Initiating
Firm

AllocRpt

6=Reversal

0–Accepted,
1-- Rejected

12=Complete

Clearing
House

Responding
Firm

Page 22 of 113

FIXML Allocation API User’s Guide

©Chicago Mercantile Exchange, 2005

March 2005

5.3

Group Summary Alerts
When a trade is marked for allocation, a new allocation group is created or the trade is added to an existing
group. Each time a new trade is added to an allocation group, new or existing, the allocating firm receives a
FIXML group summary alert message, “AllocInstrctnAlert”. One of the key attributes in a group summary alert
message is the “TransTyp”. When a new group is created this attribute will have the enumeration of ‘0’ which
means ‘New’. When a trade is added to an existing allocation group the group summary alert TransTyp will
be set to ‘1’ or ‘Replace’. Average price allocation group summary alerts will also contain the allocating firm
assigned average price group id, designated by the attribute ‘ID’ and the clearing assigned group id
designated by the attribute ‘ID2’. The attribute value for ‘ID’,will be assigned by the clearing system if not
assigned by the firm. Also, ACS groups will always have the Typ=”13” (GroupComplete), unlike APS groups
which will initially have a Typ=”12” (incomplete group) since only APS groups require completing.

Message
Function
Summary
Notice (GSA)

FIX Message
Type

TransTyp

Stat

Typ

AllocInstrctnAlert

0=New
1=Replace
2=Cancel

6 –AllocationPending

13 -GroupComplete,
12GroupIncomplete

Allocating Firm

←

CME
Allocation Instruction
Alert

RptTyp

Sent by

Received
by

Clearing
House

Allocating
firm

Carry Firm




Page 23 of 113

FIXML Allocation API User’s Guide

©Chicago Mercantile Exchange, 2005

March 2005

5.4

Creating Allocations
5.4.1

Allocation Instruction Messages

The allocating firm uses the FIXML Allocation Instruction (AllocInstrctn) message type to submit allocation
instructions. The clearing system confirms all AllocInstrctn messages with the FIXML Allocation Report
(AllocRpt) message. The allocating firm must supply the clearing system assigned group id (ID2) and firm
assigned group id (ID) on allocation instructions. The allocating firm places the carry or claim firm
information in the Allocation (Alloc) block. The attribute “Typ” should equal “2” on the inbound messages.
Message
Function
Allocation (GA)

FIX Message
Type
AllocInstrctn

TransTyp

Allocation
Confirmation
(GAC)

AllocRpt

0=New

Stat

Typ

0=New

Allocating Firm
Allocation Instruction


….



←

Allocation Report



….



Page 24 of 113

FIXML Allocation API User’s Guide

©Chicago Mercantile Exchange, 2005

March 2005

Received
by
Clearing
House
Give-up firm

Page 25 of 113

FIXML Allocation API User’s Guide

©Chicago Mercantile Exchange, 2005

March 2005

5.4.2

Specific or Generic for Average Price Allocations

For average price allocations, the allocating firms can submit allocations at a Generic level or at a Specific
Level. The value necessary to differentiate between a Generic and Specific allocation instruction is the
clearing system assigned group id, “ID2”. Generic allocations will be applied to as many specific groups as
necessary to satisfy the allocation instruction. Generic allocations will be confirmed immediately by the
clearing system but Specific allocation instruction confirms will not be sent to the allocating firm until the
Generic group is completed. Furthermore, no Specific allocation instructions will be sent to the carry firm
until the Generic group is completed.
Message
Function

FIX Message
Type

TransTyp

Allocation (GA)

AllocInstrctn

0=New

Allocation Alert
(GAA)
Allocation
Confirmation
(GAC)

AllocRpt

0=New

3 – Received

11-AcceptPending

AllocRpt

0=New

3 – Received
1 - Block Level
Reject
2 - Account
Level Rej

2-Preliminary

Allocating Firm
Allocation Instrctn


….



Page 26 of 113

FIXML Allocation API User’s Guide

©Chicago Mercantile Exchange, 2005

March 2005

Allocating
firm

←

Allocation Report

..





Allocation Report





5.4.3

ACS Allocations

For ACS allocations, the allocating firm must submit both the the clearing system assigned group id, “ID2”
and firm assigned (or clearing assigned) ID. Specific allocation instruction confirms will be sent to the
allocating and claim firm immediately after the clearing system has processed the message. The allocating
firm has the option the assign the AllocIndID to internally identify the allocation. The clearing system shall
assign the AllocIndID2 which must be referenced when making changes to the allocation.

Page 27 of 113

FIXML Allocation API User’s Guide

©Chicago Mercantile Exchange, 2005

March 2005

Message
Function

FIX Message
Type

TransTyp

Allocation (GA)

AllocInstrctn

0=New

Allocation Alert
(GAA)
Allocation
Confirmation
(GAC)

AllocRpt

0=New

3 – Received

11-AcceptPending

AllocRpt

0=New

3 – Received
1 - Block Level
Reject

2-Preliminary

Allocating Firm
Allocation Instrctn


Stat

Typ

RptTyp

2 - Preliminary

CME

Sent by

Received
by

Allocating
firm

Clearing
House

Clearing
House
Clearing
House

Carry Firm

Carry Firm

→



….



←

Allocation Report

..





Page 28 of 113

FIXML Allocation API User’s Guide

©Chicago Mercantile Exchange, 2005

March 2005

Allocating
firm

Allocation Report





Page 29 of 113

FIXML Allocation API User’s Guide

©Chicago Mercantile Exchange, 2005

March 2005

5.5

Completing Average Price Groups (Not applicable to ACS groups)
The Allocating firm can complete a Generic group by sending a group complete message. Once a Generic
group is completed all previously submitted allocation instructions are canceled and Specific allocation
instructions are transmitted to the carry firm and acknowledgements are sent to the allocating firm.

Message
Function
Create
Group
(GS)
Summary
Notice
(GSA)

FIX Message
Type

TransTyp

AllocInstrctn

0=New
1=Replace
2=Cancel
0=New
1=Replace
2=Cancel

AllocInstrctnAlert

Allocating Firm
Allocation Instruction


Stat

6 – AllocationPending

Typ

Sent by

Received by

13 - GroupComplete,
12 - GroupIncomplete

Allocating
firm

Clearing House

13 - GroupComplete,
12 - GroupIncomplete

Clearing
House

Allocating firm

CME

Carry Firm

→





←

Allocation Instruction
Alert





Page 30 of 113

FIXML Allocation API User’s Guide

©Chicago Mercantile Exchange, 2005

March 2005

5.6

Claiming Allocation Instructions
Once a carry or claiming firm receives an allocation report they may respond by either claiming or rejecting the
allocation using the Allocation Report Acknowledgement (AllocRptAck) message. The claim firm uses a
RptTyp=“9” to accept and a RptTyp= “10” to reject the allocation. When the clearing system receives a valid
accept or reject request an allocation report is generated for both the allocating and claim firm. The new
status of the allocation is communicated using the Allocation Status attribute (Stat) using the enumeration of
“0” (Accepted) or “1” (Rejected). For ACS claiming instructions, the RptID and AllocIndID2 must be present
(the ID is not sent to the claim firm for ACS allocations).

Message
Function

FIX Message
Type

TransTyp

Claim or Reject
(GC)

AllocRptAck

0=New

Claim/Reject Alert
(GCA)

AllocRpt

0=New

Claim/Reject
Confirmation
(GCC)

AllocRpt

0=New

Allocating Firm

Stat

Typ

RptTyp

Sent by

Received
by

9 – Accept
10 - Reject

Carry
Firm

Clearing
House

0–Accepted

9 – Accept
10 - Reject

Clearing
House

Allocating
Firm

0–Accepted

12=Complete

Clearing
House

Carry Firm

CME

←

Carry Firm
Allocation Report Ack

….
<




Allocation Report

←

Page 31 of 113







FIXML Allocation API User’s Guide

©Chicago Mercantile Exchange, 2005

March 2005

Allocation Report






Page 32 of 113

FIXML Allocation API User’s Guide

©Chicago Mercantile Exchange, 2005

→

March 2005

5.7

Updating Pending or Rejected Allocations
Before an allocation has been claimed or when it has been rejected, the allocating firm can submit
changes or delete the allocation. The allocating firm uses an Allocation Instruction message
(AllocInstrctn) with the TransTyp attribute and enumeration of “1” for Replace to communicate an
update and “2” for Cancel to communicate a delete request. Once a valid update or cancel request is
received the Clearing System will send an allocation report to both the allocating firm and the claim
firm to communicate the change to the allocation. When updating specific allocations from average
price allocation groups the allocating firm must indicate the Clearing System assigned Allocation ID
(ID2).

Message
Function
Update
Allocation (GA
Chg)
Update
Allocation Alert
(GAA Chg/Del)
Update
Allocation
Confirmation
(GAC)

FIX Message
Type

TransTyp

AllocInstrctn

1=Replace,
2=Cancel

AllocRpt

1=Replace,
2=Cancel

3 – Received

AllocRpt

1=Replace,
2=Cancel

3 – Received
1 - Block
Level Reject
2 - Account
Level Reject

Allocating Firm
Allocation Instruction


Stat

Typ

RptTyp

Sent by

Received
by

Allocating
firm

Clearing
House

11-AcceptPending

Clearing
House

Carry Firm

2-Preliminary

Clearing
House

Allocating
firm

2 - Preliminary

CME

Carry Firm

→






Page 33 of 113

FIXML Allocation API User’s Guide

©Chicago Mercantile Exchange, 2005

March 2005

←

Allocation Report






Allocation Report






Page 34 of 113

FIXML Allocation API User’s Guide

©Chicago Mercantile Exchange, 2005

→

March 2005

5.8

Updating Accepted Allocations
The Carry-Firm can update non-critical fields after the allocation has been claimed. The carry firm submits
another Allocation Report

Message
Function

FIX Message
Type

TransTyp

Update Allocation
(GC Chg)

AllocRptAck

1=Replace

Update Allocation
Confirmation
(GCC)

AllocRpt

1=Replace

Allocating Firm

Stat

Typ

0–Accepted (in
Clearing System)
1 - Rejected (in
Clearing System)

RptTyp

Sent by

Received
by

8 - Request

Carry
Firm

Clearing
House

12=Complete

Clearing
House

Carry Firm

CME

Carry Firm
Allocation Report Ack

←


….





Allocation Report






Page 35 of 113

FIXML Allocation API User’s Guide

©Chicago Mercantile Exchange, 2005

→

March 2005

5.9

Reversing or Releasing Accepted Allocations
The term reverse and release are synonymous in FIXML but for the initial implementation of FIXML release
and reversal will be initiated and processed the same way that Basic allocation releases and reversals are
handled today with TREX. The carry firm initiates releases and they are only possible if the allocation has
not been accepted and cleared during an end of day clearing cycle. Once an allocation is no longer eligible
for release it can only be reversed, and reversals are initiated by the allocating firm.

5.9.1

Release/Reverse Instructions

A carry firm can initiate a Release after accepting an allocation, but only on the same Clearing Business
date on which the allocation was accepted. An allocating firm can initiate a Reversal on the next Clearing
Business date after the allocation has been claimed by the carry firm.
Message
Function

FIX Message
Type

TransTyp

Reversal

AllocInstrctn

6=Reversal

Reversal
Confirmation
Reversal Alert

AllocRpt

6=Reversal

3 – Received

8 - Request

AllocRpt

6=Reversal

3 – Received

14 – Reversal Pending

Initiating Firm
Allocation Instruction

….





Stat

Typ

RptTyp

8Request

CME

Sent by

Received by

Initiating
Firm
Clearing
House
Clearing
House

Clearing
House
Initiating
Firm
Responding
Firm

Responding Firm

→

Allocation Report

←


….




… 

Page 36 of 113

FIXML Allocation API User’s Guide

©Chicago Mercantile Exchange, 2005

March 2005

Allocation Report

….




… 

5.9.2

Accept / Reject Reversals (Release)

Before the initiating firm’s reversal or release request can be completed the counter-party to the allocation
must respond to the request. The responding firm uses the Allocation Report Acknowledgement to confirm
or reject a reversal or release request.
Message
Function

FIX Message
Type

TransTyp

Accept or Reject
Reversal
Accept/Reject
Reversal Alert

AllocRptAck

6=Reversal

AllocRpt

6=Reversal

0–Accepted
1-Rejected

Accept Reversal
Confirmation

AllocRpt

6=Reversal

0–Accepted
1-- Rejected

Initiating Firm

Stat

Typ

RptTyp

Sent by

Received by

9 – Accept
10 - Reject
9 – Accept
10 - Reject

Responding
Firm
Clearing
House

Clearing
House
Initiating Firm

12=Complete

Clearing
House

Responding
Firm

CME

Responding Firm
Allocation Report Ack

←

Page 37 of 113

FIXML Allocation API User’s Guide

©Chicago Mercantile Exchange, 2005


….




… 

March 2005

Allocation Report

….





Allocation Report

←


….





Page 38 of 113

FIXML Allocation API User’s Guide

©Chicago Mercantile Exchange, 2005

March 2005

5.10 Sub Allocations/Third Party Allocations of Accepted Allocations
Once an allocation has been accepted the claim firm can sub-allocate the allocation to different accounts or
allocate it to a third-party. The Carry-Firm uses the Allocation Instruction message to communicate this to the
Clearing System. Once a valid sub-allocation or third-party allocation request has been received by the
Clearing System from a claiming firm, the request is acknowledged and then a group summary alert and
allocation reports are generated just as if the claim firm was initiating the allocation of a trade.
Message
Function

FIX Message
Type

TransTyp

SubAllocation
(GU)

AllocInstrctn

1-Replace

Update
Allocation
Confirmation
(GUC)
Summary
Notice (GSA)

AllocRpt

1-Replace

3-Received

AllocInstrctnAlert

0=New,
1=Replace,
2=Cancel

6–
AllocationPending

Allocation
Alert (GAA)
Allocation
Confirmation
(GAC)

AllocRpt

0=New

AllocRpt

0=New

3 – Received (in
Clearing System)
3 – Received (in
Clearing System)
1 - Block Level
Reject
2 - Account Level
Reject

Sub Allocating Firm

Stat

Typ

RptTyp

8 - Request
2-Preliminary

13 -GroupComplete,
12 -GroupIncomplete
11-AcceptPending
2-Preliminary

CME

FIXML Allocation API User’s Guide

©Chicago Mercantile Exchange, 2005

Received
by

Carry
Firm

Clearing
House

Clearing
House

Carry
Firm*

Clearing
House

Give-up
firm

Clearing
House
Clearing
House

Carry
Firm
Give-up
firm

Carry Firm
Allocation Instruction

←

Page 39 of 113

Sent by

















March 2005

Allocation Report
















→

Allocation Instruction Alert

…….




Page 40 of 113

FIXML Allocation API User’s Guide

©Chicago Mercantile Exchange, 2005

→

March 2005

Allocation Report







…….






→

Allocation Report

←

Page 41 of 113











FIXML Allocation API User’s Guide

©Chicago Mercantile Exchange, 2005

March 2005

6 Components of APS and ACS FIXML Messages
6.1

Key Elements and Attributes
6.1.1

Allocation Transaction Type (TransTyp)
The Allocation Trans Type signifies the action to be performed on the message. For example a
TransTyp of “New” in an Allocation Instruction from a firm implies the firm is sending a new
Allocation. The firm sending the message sets this attribute, and the Clearing System echoes it
back on its Confirms and Alerts. For list of all the values used in the API refer to Table 8.1.

6.1.2

Allocation Type or Allocation Report Type (Typ and RptTyp)
The Allocation Type and Allocation Report Type convey the business purpose of the
message. Either the Allocation or Allocation Report type is required on inbound
messages from firms.

6.1.3

Allocation Status (Stat)
The Allocation status in the message implies the status of the message. This attribute is set by the
Clearing System on its alerts and confirms to the Firms. For example the clearing system would
send a status of “Rejected” in response to an allocation that did not have the right Product ID. For
list of all the values used in the API refer to Table 8.1.

6.1.4

ID/ID2 Usage
The ID and ID2 denote the group ID of APS or ACS groups. ID value is assigned to trades by the
allocating firm and the ID2 value is assigned by the clearing system to all Basic as well as Generic
and Specific allocation groups. The ID is the firm’s internal group ID. If the firm sends this ID, it is
echoed back to the firms on all its subsequent confirms. The ID2 is generated by the Clearing
System and sent to the firm. The ID2 sent by the Clearing System is associated with the context for
the message. For example if the Clearing System is sending a Group Summary Alert for a Specific
Group, the ID2 is the Specific Group ID.



(Firm Supplied APS Group ID)
(Clearing Supplied Specific Group ID)
(Trade Type)
(Trade Sub Type – Spread Leg)
(Single Leg of a Multi Leg Instrument)
(Venue - Pit)

In the above example, the presence of fee-specific information signifies that ID2 is a Specific Group ID.
Note: It is extremely important for the firm to send back the ID2 attribute sent by the Clearing System
to refer to the Group.

6.1.5

Individual Allocation ID(s) Usage

The Individual Allocation Id in the  Block is used to store the allocation Id of the allocation. Again, the
API allows the firm to generate its own internal Allocation Id and send it in IndAllocID. The Clearing system
generated Allocation Id will be sent back in the IndAllocID2 attribute. Additionally if the firm had sent in an
Allocation ID, it will be echoed back to the firm.

Page 42 of 113

FIXML Allocation API User’s Guide

©Chicago Mercantile Exchange, 2005

March 2005




In the above example, the presence of fee-specific information signifies that ID2 is a Specific Group ID. The
Allocation ID in the  Block is the specific Allocation ID.
Note: It is extremely important for the firm to send back the Group ID (ID2) attribute and the
Allocation ID (IndAllocID2) while referring to the allocations for ACS and APS.

6.1.6

Average Price (AvgPx)

The Average Price is the running average price of all the trades in the Group. For ACS groups, this value will
remain the same since price is one of the grouping criteria. This value is calculated by the clearing system
and sent to the firms on all its alerts and confirms. The Average Price sent by the firms will be ignored by the
Clearing system.

6.1.7

Rounded Price (RndPx- For APS Only)

The Rounded Price is the average price rounded to the contract tick value

6.1.8

Message Event Source (MsgEvtSrc)

The Message Event Source identifies the Source of the message. For example if the firm is sending the
message the attribute is set to “MQM”. If the exchange is sending the message, this is set to “CMESys”.

6.1.9

Sender ID (SID)

The Sender ID (SID) attribute in the Header (Hdr) element is a key attribute in identifying the sender of the
message. This is required in all the APS messages. The firm sending the message will identify itself in the
message. The exchange will send back its ID in the SID attribute on all its messages.
 (560 is the Firm ID)

6.1.10 Amount Block (For APS Only)
The purpose of the Amount Block in the APS Allocation messages is primarily for storing the Residual
amount.
The Amount Block consists of the following Attributes.
Amount Type (Typ) identifies the Amount type stored in the Block. In APS messages, the Typ has a value of
“CRES”, the Cash Residual Amount.

Page 43 of 113

FIXML Allocation API User’s Guide

©Chicago Mercantile Exchange, 2005

March 2005

Amount (Amt) identifies the actual Residual Amount. This is equal to the AvgPx - RndPx
Currency (Ccy) identifies the Currency the residual price is represented in.



(Cash Residual Amount Type)
(Residual Amount )
(Currency)

6.1.11 Parties Block
The purpose of the Parties Block is to provide at, standard way of expressing Firm and Account information
in API Messages. The Parties block The Parties Block consists of the following attributes and elements:
Party Role, Party ID, Party Sub ID, and Party ID Source.
Party Role is a static number used to express the type of party, for example Clearing Organization, Clearing
Firm, etc.
Party ID is the value representing the party, for example, “CME”, “560”, etc.
Party Sub Element
Party Sub ID is used to express information, which further qualifies the party such as origin for the
Customer Account.
Party Sub ID Typ identifies the type of qualification of the Party.
Valid values for Party Role and Party Sub Type used in the API can be found in Table 8.1 below.
In APS messages, the Parties Block in the main body of the message signifies the Give-up or the Executing
Firm.







(Give-up
(Give-up
(Give-up
(Give-up

Exchange)
Clearing Org)
Trading Member Firm)
Firm Origin)

In this example, The Exchange is CME, the Clearing Organization is CME, the Give-up Firm is
560, and the origin for the Give-up firm is of Customer segregation.
If the Parties Block is present in the Alloc Block it signifies the Carry Firm.







(Carry
(Carry
(Carry
(Carry

Firm Exchange)
Firm)
Account)
Account
Origin)




Page 44 of 113

FIXML Allocation API User’s Guide

©Chicago Mercantile Exchange, 2005

March 2005

6.1.12 CFI Code – Classification of Financial Instruments
6.1.12.1.1

FIX Definition of CFI Code

The CFI Code field was added to the FIX Protocol in an attempt to provide a standards-based source of
security type values by using values defined in ISO 10962 standards: Classification of Financial Instruments
(CFI code).
The ISO 10962 standard defines a 6-character code in which each character’s position value carries a
special significance (attribute) and set of values. Note that "X" represents an unspecified or unknown
attribute, thus it is not always necessary to specify every attribute (character position value).
6.1.12.2

Definition for Options (code defined by character position):

Char 1
Product
Type

Char 2
Put/Call

Char 3
Option
Style

Char 4
Underlying

Char 5
Delivery
Method

O=Option

C=Call
P=Put
M=Other
X=Unkno
wn(n/a)

A=America
n
E=Europea
n
X=Unknow
n(n/a)

B=Basket
S=Stock-Equities
D=Interest
rate/notional debt
sec
T=Commodiites
C=Currencies
I=Indices
O=Options
F=Futures
W=Swaps
M=Other
X=Unknown(n/a)

P=Physical
C=Cash
X=Unknow
n(n/a)

Char 6
Standard/NonStd
(flexible)
S=Standardized
terms (maturity
date, strike price,
contract size)
N=Nonstandardized
terms
X=Unknown(n/a)

Examples:
OCXXXS
OPXXXS
OCXFXS
OPXFXS
OCEFCN

OPAFPN

OPXSPN

Page 45 of 113

Standardized Call Option
Standardized Put Option
Standardized Call Option on a
Future
Standardized Put Option on a
Future
Nonstandard (flex) call option on
future with european style
expiration and cash delivery
Nonstandard (flex) put option on
future with american style expiration
and physical delivery
Nonstandard (flex) put option on a
stock with physical delivery (the
expiration style is not specified – so
is assumed to default to the market
standard for flex options).

FIXML Allocation API User’s Guide

©Chicago Mercantile Exchange, 2005

March 2005

OCEICN

6.1.12.3

Nonstandard (flex) call option on an
index with european style expiration
and cash delivery

Definition for Futures (code defined by character position):

Char 1
Product
Type
F=Futur
e

Char 2
Product
Group
F=Financial
Futures
C=Commo
dity
Futures
M=Others
X=Unknow
n(n/a)

Char 3
Underlying
A=Agriculture,
forestry, and fishing
B=Basket
S=Stock-Equities
(for financial future)
or Services (for
commodities
futures)
D=Interest
rate/notional debt
sec
C=Currencies
I=Indices (for
financial futures ) or
Industrial Products
(for commodities
futures)
O=Options
F=Futures
W=Swaps
M=Other
X=Unknown(n/a)

Char 4
Delivery
Method
P=Physical
C=Cash
X=Unknow
n(n/a)

Char 5
Standard/Non-Std
(flexible)
S=Standardized
terms (maturity
date, strike price,
contract size)
N=Nonstandardized
terms
X=Unknown(n/a)

Char 6
N/A
Undefined
X=Not
applicable /
undefined

Examples:
FXXXS
FFICN
FCEPN

FXXXN

Page 46 of 113

Standardized Future
Nonstandard (flex) Financial Future
on an index with cash delivery
Nonstandard (flex) Commodity
Future on an extraction resource
with physical delivery
Nonstandard (flex) future – contract
type specified in symbology – not
provided in CFICode

FIXML Allocation API User’s Guide

©Chicago Mercantile Exchange, 2005

March 2005

7 Detailed Message Samples
In this section you can find detailed message samples for each type of FIXML allocate and claim message.
Each message has a functional label as well as the analogous TREX 2- or 3-byte message descriptor that most
closely resembles the FIXML message type.

7.1

Designating Trades for APS or ACS Allocation
7.1.1

Designating Futures trades for Allocation

As discussed throughout the user guide, an executing firm can designate a trade for allocation by appending
an allocation indicator to it as well as submitting more specific allocation information such as carry firm, carry
account, customer type indicator and fee code.
Trade Capture Report for a Future’s Trade Marked for APS Allocation (TRX)















Page 47 of 113

Å Trade ID (To be replaced by TrdID)
Å Trade Type
Å TransTyp=0 (New)
Å Trade SubType (spread leg)
Å Single leg of a multi-leg instrument
Å Trade Price
Å Execution Time (GMT/CST with an Offset)
Å Order Type Code
Å Trade Quantity
Å Trade Date
Å Message Event Source
Å Average Price Indicator (For APS only)
Å Firm Group ID (For APS only)
Å Message Time
Å Sender ID
Å Sending Firm Exchange
Å Product Exchange
Å Product Code
Å Security Type
Å Spread Type
Å Product Period
Å CTI Code
Å Buy/Sell Indicator (1=Buy)
Å Customer Order
Å Business Cycle
Å Venue is Pit
Å Input Source is ETC
Å Marked for Allocation (Required for ACS and APS)
Å Time Bracket
Å Clearing Org
Å Exchange
Å Executing Firm
Å Executing Trader
Å Customer Account
Å Origin
Å Opposite Firm

FIXML Allocation API User’s Guide

©Chicago Mercantile Exchange, 2005

March 2005






Å Opposite Trader

Trade Capture Report for a Future’s Trade Marked for ACS Allocation (TRX) With Alloction Info


Å Trade ID

Å Target ID

Å Product Period

Å Marked for Allocation

Å Clearing Organization

Å Executing Firm Exchange

Å Executing Firm

Å Clearing Member Firm

Å Position Account

Å Trader ID

Å Customer Report

Å Customer Origin


Å Allocation Quantity

Å Carry Firm Exchange

Å Carry Firm

Å Carry Account












7.1.2

Å Allocation Quantity
Å Carry Firm Exchange
Å Carry Firm
Å Carry Account

Designating Options trades for Allocation

Trade Capture Report for an Option Trade Marked for Average Price Allocation (TRX)













Page 49 of 113

Å Trade ID
Å TradeType
Å TransTyp=0 (New)
Å Trade Price
Å Execution Time (GMT/CST with an Offset)
Å Order Type Code
Å Trade Quantity
Å Trade Date
Å MessageEventSource=Firm
Å Average Price Indicator (For APS only)
Å Firm Group ID (For APS only)
Å Message Time
Å Sender ID
Å Sending Firm Exchange
Å ProductExchange
Å ProductCode
Å CFI Cdoe (Option/Put)
Å Strike Price
Å ProductPeriod
Å CTI Code
Å Business Cycle
Å Venue is Pit
Å Input Source is ETC
Å Marked for Allocation (Required for ACS and APS)
Å Time Bracket
Å Clearing Org
Å Exchange
Å Executing Firm
Å Executing Trader
Å Customer Account
Å Origin

FIXML Allocation API User’s Guide

©Chicago Mercantile Exchange, 2005

March 2005






Å Opposite Firm
Å Opposite Trader



Page 50 of 113

FIXML Allocation API User’s Guide

©Chicago Mercantile Exchange, 2005

March 2005

7.1.3

Designating Flex Options trades for Allocation

This is an example of an options trade with Underlying specified.
Trade Capture Report for a Future’s Trade Marked for Average Price Allocation (TRX)



Å Firm Group ID (For APS only)

Å Sending Firm Exchange

Å ProductPeriod

Å Underlying Period Code

Å Time Bracket

Å Clearing Org

Å Exchange

Å Executing Firm

Å Executing Trader

Å Customer Account

Å Origin


Å Opposite Firm

Å Opposite Trader





Page 51 of 113

FIXML Allocation API User’s Guide

©Chicago Mercantile Exchange, 2005

March 2005

7.2

Clearing System acknowledges the Trade
The clearing system acknowledges each trade submission with a Trade Capture Acknowledgment.

Trade Capture Report Acknowledgment for Trade Marked for Allocation (TRX)



Å Firm Group ID (For APS only)

Å Sender ID

Å ProductPeriod

Å Input Source is ETC

Å Clearing Org

Å Exchange

Å Executing Firm

Å Executing Trader

Å Customer Account

Å Origin


Å Opposite Firm

Å Opposite Trader



ƒ

The LinkID is the average price group id to which this trade will be assigned.

Page 52 of 113

FIXML Allocation API User’s Guide

©Chicago Mercantile Exchange, 2005

March 2005

7.3

Group Level Messages
There are three types of Group Summary messages. There are alerts when groups are first created for trades
marked for either basic or average price allocation. These messages are all generated by the clearing system
and transmitted to the allocating firm. Allocating firms may send updates to generic average price groups in
order to complete or un-complete average price groups. There are also group summary updates sent when
subsequent trades are added to an allocation group. Finally, the allocating firm may submit a group summary
instruction to complete or incomplete an average price allocation group. ACS groups will always be in
complete status. ACS groups do not have the same distinction between group and trade level grouping like
APS because the system uses the more stringent basic grouping. ACS alerts bear a closer resemblance to
specific alerts in the amount of information provided.
Generic Group Summary Alerts

This is an Alert to the Firms that a trade has been added to an allocation group and it
can submit allocation instructions for this group of trades.
APS Generic Group Summary Alert (GSA)


< AllocInstrctnAlert
TransTyp =”0”
Å AllocTransType=New
ID="1000"
Å Firm Assigned Average Price ID
ID2 =”2001”
Å APS Generic Group ID (Clearing Generated ID)
Stat=”6”
Å AllocStatus=Allocation Pending
Typ=”12”
Å Alloc Type=Group Incomplete
BizDt=”2005-01-14”
Å Clearing Business Date
Qty=”150”
Å Group Summary Quantity
TrdDt=”2005-01-14”
Å Trade Date
Side=”1”
Å Buy/Sell (Buy)
InptDev=”API”
Å API/UI Indicator
MsgEvtSrc=“CMESys”
Å MessageEventSource=CME System
AvgPxInd=”1”
Å AveragePriceInd (For APS only)
RndPx=”1097.00”
Å Rounded Average Price (For APS only)
AvgPx=”1097.55625”>
Å True Average Price

Å Sender ID

Å Trade ID (Trade ID)


Å Clearing Org

Å Exchange

Å Executing Firm

 Å Residual Amount (APS only)



ƒ
ƒ

All allocation groups have two ids, the group id assigned by the firm (ID) and the clearing assigned
group id (ID2)
The Stat enumeration of 6 is relevant all allocations, and simply means the group has not been fully
allocated and claimed.

Page 53 of 113

FIXML Allocation API User’s Guide

©Chicago Mercantile Exchange, 2005

March 2005

ƒ

For APS, the AvgPxInd enumeration of 1 indicates the group is still incomplete in the sense that the firm
has not completed it and that trades may still be added to it. An AvgPxInd enumeration of 2 indicates
an average price group is complete and the final averaging calculations have been performed.

Page 54 of 113

FIXML Allocation API User’s Guide

©Chicago Mercantile Exchange, 2005

March 2005

7.3.1

APS/ACS Specific Group Summary Alerts

Unlike ACS, when a trade is marked for Average Price Allocation two group summary messages (rather
than one) are generated, one for the generic group it has been assigned to and the second for the specific
group it has been assigned to. The presence of trade specific information in the group alert message
indicates that it is a specific. The specific group can be linked to its parent generic group by the firm
assigned group id. ACS alerts will resemble these specific alert messages. Unlike APS alerts, the group
status will always be complete (Stat=”13”) since ACS groups do not the additional completion step like APS
groups.

APS Specific Group Summary Alert (GSA)

< AllocInstrctnAlert
TransTyp =”0”
Å AllocTransType=New
ID="1001”
Å Firm Assigned Average Price Group ID
ID2 =”3001”
Å Clearing Assigned Specific Group ID
Stat=”6”
Å AllocStatus=Allocation Pending
Typ=”12” (“13” always for ACS) Å Alloc Type
BizDt=”2004-05-14”
Å Clearing Business Date
Qty=”150”
Å Group Summary Quantity
TrdDt=”2004-05-14”
Å Trade Date
TrdTyp="0"
Å TradeType
TrdSubTyp=”8”
Å TradeSubType (spread leg)
MLegRptTyp=”2”
Å Single leg of a multileg instrument
SesID=”RTH”
Å Business Cycle
SesSub="P"
Å Venue is Pit
Side=”1”
Å Buy/Sell (Buy)
InptDev=”API”
Å API/UI Indicator
MsgEvtSrc=“CMESys”
Å MessageEventSource=CME System
AvgPxInd=”1”
Å AveragePriceInd (APS Only)
RndPx=”1097.00”
Å Rounded Average Price (APS Only)
AvgPx=”1097.55625”>
Å True Average Price

Å Sender ID

Å Order Number

Å Trade ID (Trade ID)

Å Contract Period

Å Clearing Org

Å Exchange

Å Executing Trader

Å Executing Firm

Å Customer Account

Å Carry Origin


Å Residual Amount (APS Only)



Page 55 of 113

FIXML Allocation API User’s Guide

©Chicago Mercantile Exchange, 2005

March 2005

ACS Specific Group Summary Alert (GSA)




















ƒ
ƒ

ƒ
ƒ

Å Firm Assigned Average Price Group ID
Å Clearing Assigned Specific Group ID
Å Business Cycle
Å Venue is Electronic
Å Average Price
Å Trade Date
Å Clearing Business Date
Å TradeType
Å AllocStatus=Allocation Pending
Å MessageEventSource=CME System
Å Execution Time
Å API/UI Indicator
Å AllocTransType=New
Å Alloc Type
Å Group Summary Quantity
Å Buy/Sell (sell)
Å Message Time
Å Sender ID
Å Target Firm ID
Å Sending Firm Exchange
Å Target Firm Exchange
Å Order Number
Å Product Code
Å CFI Code
Å Contract Period
Å ProductExchange
Å Clearing Org
Å Exchange
Å Executing Firm
Å Customer Account
Å Carry Origin
Å Executing Trader
Å Operator ID

The firm assigned group id is the same as parent generic group id (ID). Each specific group will also
have a unique clearing assigned group id (ID2)
The Stat attribute indicates whether the group has been fully allocated and claimed. The Stat
enumeration of 6 is relevant for both all allocations, and simply means the group has not been fully
allocated and claimed.
The presence of order number, broker, account number, origin, and trade type information indicates that
this is a specific group summary record.
For APS, the AvgPxInd enumeration of 1 indicates the parent generic group has not been completed by
the allocating firm. The Specific group AvgPxInd enumeration will always be the same as its generic
parent.

Page 56 of 113

FIXML Allocation API User’s Guide

©Chicago Mercantile Exchange, 2005

March 2005

ƒ

7.4

The cash residual is for the specific APS group and so will in most cases be different from the generic
group residual.

Group handling messages (Complete, Incomplete & Cancel)
7.4.1

Complete Generic Group (APS Only)

Completing and Un-completing a group are average price allocation functions. Specific average price
allocation alerts and confirms are not released until the generic average price group is completed. Once
an average price Generic group is completed no new trades can be added to it. Only Generic groups can
be completed.

Complete Average Price Group (GS)


Å AveragePriceInd (Complete)

Å Sending Firm Exchange

Å Contract Period

Å Allocating Firm Exchange

Å Allocating Firm


•

•

An instruction to compete a group is a change, so the TransTyp must be equal to 1(Replace).
The inclusion of the attribute “Typ” with an enumeration of 14 indicates that the allocating firm wants to
complete this group.

Page 57 of 113

FIXML Allocation API User’s Guide

©Chicago Mercantile Exchange, 2005

March 2005

7.4.2

Un-Complete a Generic Group (GS) (APS Only)

If a firm completes a group prematurely and needs to add more trades to it the group must first be uncompleted. Only groups with no accepted allocations may be un-completed. Only generic groups can be
un-completed.
Un-Complete Average Price Group (GS)


Å AveragePriceInd (inComplete)

Å Sender ID

Å Contract Period

Å GiveupExchange

Å Allocating Firm



ƒ

The enumeration for the attribute “Typ” is set to 12, un-complete.

7.4.3

Cancel an ACS Group (GS)

The following is an example of a firm canceling an ACS group to unmark the trades for ACS.
Cancel an ACS Group (GS)


Å Sender ID

Å Contract Period

Page 58 of 113

FIXML Allocation API User’s Guide

©Chicago Mercantile Exchange, 2005

March 2005






Page 59 of 113

Å GiveupExchange
Å Allocating Firm

FIXML Allocation API User’s Guide

©Chicago Mercantile Exchange, 2005

March 2005

7.5

Allocation Instructions
Allocation Requests
Allocation requests can be nested or appended within trade messages or they can be submitted as stand
alone instructions referencing a group of trades already designated for allocation and assigned to an
allocation group. For average price allocations there are two types of allocation requests, those referencing
Generic groups and those referencing Specific groups. ACS allocation requests are essentially the same as
Specific group requests minus the average price group and average price indicator attributes.

7.5.1

Generic APS Allocation Requests

For APS, generic allocation instructions will generate at least two allocation instruction acknowledgements,
one for the Generic allocation instruction, and one or more for the allocation instructions applied to the
underlying Specific groups. Unlike group summary alerts the specific allocation instruction
acknowledgements will not be sent to the allocating firm until the Generic group is completed. Note that with
the FIXML allocate and claim API the allocating firm may submit their own allocation id (IndAllocId). This is
an optional field, and whether or not the firm assigns its own allocation id, the firm allocation instruction will
be assigned an allocation id by the clearing system (IndAllocId2). If a firm does assign their own allocation
id for a Generic allocation instruction that id will be assigned to all the Specific allocations created to satisfy
the Generic allocation.
Generic Allocation Instruction (GA)

< AllocInstrctn
TransTyp =”0”
ID="1000"
ID2 =”2001”
Typ=”2”
Qty=”150”
AvgPxInd=”1”
TrdDt=”2004-05-14”
MsgEvtSrc=”MQM”
Side=”1”>

SID=”123” />












ƒ

Å AllocTransType=New
Å Firm Group ID (Firm supplied)
Å Clearing Assigned Generic Group ID
Å Alloc Type=Preliminary
Å Allocation Qty
Å AveragePriceInd
Å Trade Date
Å MessageEventSource=MQM/Firm
Å Buy/Sell (Buy)
Å Message Time
Å Sending Firm Exchange
Å Sender ID
Å Product Exchange
Å Product Code
Å Contract Period
Å Allocating Firm Exchange
Å Allocating Firm
Å Firm assigned allocation id
Å AllocationQty
Å CTI Code
Å CarryExchange
Å CarryFirm
Å CarryAccount
Å CarryOrigin

Note that both the firm and clearing system Generic group ids must be provided on inbound allocation
instructions

Page 60 of 113

FIXML Allocation API User’s Guide

©Chicago Mercantile Exchange, 2005

March 2005

ƒ
ƒ
ƒ

The absence of the ‘Stat’ attribute and a ‘TransTyp’ of New, and ‘Typ” of Preliminary (2) indicates that
this is an allocation instruction from an allocating firm.
The CME assigned ID2 references a Generic group.
This message introduces the “Alloc” block where the claiming firm information should be placed. This is
also where the firm assigned allocation id would be placed. Each Alloc block () can be
assigned a unique id by the firm and can indicate different carry firm information and quantities. All
Alloc block quantities must equal the overall quantity indicated in the top level of the allocation
instruction.

7.5.2

Specific APS/ACS Allocation Instructions

There are three ways to submit Specific allocations:
ƒ
Nested within a trade submission message designated for average price allocation or appended to a
trade already reported.
ƒ
Generic allocation instructions for APS are implicitly specific since each Generic allocation instruction
will create one or more Specific allocations.
ƒ
As stand alone specific allocation instructions referencing a Specific APS/ACS allocation group. Below
are two examples of stand alone specific allocation instructions, one with the trade data of the Specific
allocation group and one without the trade data.
Specific APS Allocation Instruction with Trade Information (GA)

< AllocInstrctn
TransTyp =”0”
Å AllocTransType=New
ID="1000"
Å Firm Group ID
ID2=”3001”
Å Specific Group ID (Generated by Clearing)
Typ=”2”
Å Alloc Type=Preliminary
Qty=”150”
Å Allocation Qty
AvgPxInd=”1”
Å AveragePriceInd (Incomplete)
TrdDt=”2004-05-14”
Å Trade Date
MsgEvtSrc=”MQM”
Å MessageEventSource=MQM/Firm
TrdTyp=”0”
Å TradeType
TrdSubTyp=”8”
Å TradeSubType
MLegRptTyp=”2”
Å Single Leg of multi-leg trade
Side=”1”
Å Buy/Sell (Buy)
SesSub=”P”
Å TradeVenue
Å Rounded Price
RndPx=”1097.00”
AvgPx=”1097.55625”>
Å Average Price

Å Sending Firm Exchange
SID=”123” />
Å Sender ID

Å Order Number

Å CFI code

Å Allocating Firm Exchange

Å Allocating Firm
Å Customer Account


Å Allocating Firm Origin


Å Specific Group Broker
 Å Residual Amount

Å CTI Code

Å Claiming Firm Exchange

Å Claiming Firm
Page 61 of 113

FIXML Allocation API User’s Guide

©Chicago Mercantile Exchange, 2005

March 2005








Å Claiming Firm Customer Account
Å Claiming Firm Origin

Specific APS Allocation Instruction without Trade Information (GA)

< AllocInstrctn
TransTyp =”0”
Å AllocTransType=New
ID="1000"
Å Firm Group ID
ID2=”3001”
Å Specific Group ID (Generated by Clearing)
Typ=”2”
Å Alloc Type=Preliminary
Qty=”150”
Å Allocation Qty
AvgPxInd=”1”
Å AveragePriceInd (Incomplete)
TrdDt=”2004-05-14”
Å Trade Date
MsgEvtSrc=”MQM”
Å MessageEventSource=MQM/Firm
Side=”1” >
Å Buy/Sell (Buy)

Å Sender ID

Å Order Number

Å CFI Code

Å Allocating Firm Exchange

Å Allocating Firm

Å CTI Code

Å Carry Exchange

Å Carry Firm

Å Carry Account
 Å Carry Origin





Specific ACS Allocation Instruction with Trade Information (GA)




















Å Report ID

Å Sender ID

Å Order Number

Å CFI Code

Å Allocating Firm Exchange

Å Allocating Firm

Å Customer Account
 Å Origin


Å Executing Broker

Å Residual Amount

Å CTI Code

Å Carry Firm Exchange
Page 64 of 113

FIXML Allocation API User’s Guide

©Chicago Mercantile Exchange, 2005

March 2005









Å Carry Firm
Å Carry Firm Customer Account
Å Carry Firm Origin

ACS Specific Allocation Report Confirmation (GAC)


Å BusinessCycleCode

Å Target Firm Exchange


Å Order Number


Å Product Exchange


Å Allocating Firm Exchange


Å Allocating Firm Exchange


Å Allocating Firm Exchange


Å Customer Account

Å Origin



Å Executing Trader


Å Operator ID














ƒ
ƒ

Å Allocation ID (Clearing system generated)
Å CTI Code
Å Allocation Qty
Å Carry Firm Exchange
Å Carry Firm
Å Carry Firm Account
Å Carry Firm Origin

Note that the TransTyp of New (“0”) and the Stat of Received (“3”) and RptTyp of Preliminary (“2”)
indicates that this is the confirmation of a new allocation instruction.
The firm’s submitted IndAllocID has been recorded by the clearing system and is reflected on the
confirmation message and a clearing assigned IndAllocID2 has been assigned.

7.6.2

Allocation Alert to Carry Firm

When a valid Basic allocation instruction is received from an allocating firm an allocation report is generated
and routed to the claiming firm designated on the instruction. For average price allocation groups only
Specific allocation reports are sent as alerts to the claiming firm and then only when the Generic group has
been completed. The Clearing System will not pass on the allocating firm’s IndAllocID to the carry firm and
will assign a new, unique IndAllocID2 for the Carry Firm. The group ids are also not passed on to the
claiming firm.
APS Allocation Alert to Claiming Firm (GAA)

< AllocRpt
TransTyp =”0”
Å AllocTransType=New
RptTyp=”11”
Å ReportType=AcceptPending
Stat=”3”
Å AllocStatus=Received
ID="1000"
Å Firm Average Price Group ID
BizDt=”2004-05-14”
Å Clearing Business Date
Qty=”150”
Å Total Allocation Qty
TrdDt=”2004-05-14”
Å Trade Date
TrdTyp=”0”
Å TradeType
TrdSubTyp=”8”
Å TradeSubType
MLegRptTyp=”2”
Å Single Leg of Multi-Leg Trade
SesSub=”P”
Å TradeVenue
Side=”1”
Å Buy Sell Indicator (Buy)
MsgEvtSrc=“CMESys”
Å MessageEventSource=CME System
SesID=”RTH”
Å BusinessCycleCode
AvgPxInd=”2”
Å AveragePriceInd
Å Rounded Price
RndPx=”1097.00”
AvgPx=”1097.55625”
Å Average Price
RptID =”1000”
Å Report ID

Å Sender ID

Å Order Number

Å Contract Period

Å Allocating Firm Exchange

Å Allocating Firm

Å Executing Broker

Å Customer Account

Å Residual Amount

Å CTI Code

Å Carry Firm Exchange
Å Carry Firm


Å Carry Firm Customer Account

Å Carry Firm Origin





ACS Allocation Alert to Claiming Firm (GAA)


Å BusinessCycleCode

Å Target Firm Exchange

Å Order Number

Å ProductExchange

Å Allocating Firm Exchange

Å Allocating Firm Exchange

Å Carry Firm

Å Carry Firm Customer Account

Å Carry Firm Origin
Page 67 of 113

FIXML Allocation API User’s Guide

©Chicago Mercantile Exchange, 2005

March 2005


ID="3D4L" R="12"/>











ƒ

7.7

Å Allocation ID (Firm Provided)
Å Allocation ID (Clearing generated
Å CTI Code
Å AllocationQty
Å Allocating Firm Exchange
Å Carry Firm
Å Carry Firm Customer Account
Å Carry Firm Origin

The carry firm is designated in the “Alloc” block of the AllocInstrctn message while the allocating firm is

Accepting and Rejecting Allocations
7.7.1

ACS/APS Allocation Accept/Reject Request

In order to accept an allocation the carry firm submits an Allocation Report Acknowledgement (AllocRptAck)
message to the Clearing System. The carry firm must use the clearing system assigned Allocation ID
(IndAllocID2) provided to them on the allocation report alert. Additionally the Carry firm may also append
their own Allocation ID (generated by them) using the IndAllocID attribute.
ACS/APS Allocation Accept Request (GC)



Å Execution Time


Å Sender ID

Å Allocating Firm Exchange
Å Allocating Firm


Å CTI Code

Å Carry Firm Exchange

Å Carry Firm

Å Carry Firm Customer Account
 Å Carry Firm Origin


Page 68 of 113

FIXML Allocation API User’s Guide

©Chicago Mercantile Exchange, 2005

March 2005



ƒ
ƒ
ƒ

The only specific trade information required on an allocation accept or reject request is the contract
information and the allocating firm information.
The only difference between an accept and reject is the enumeration supplied with the “RptTyp”
attribute. “9” equals accept and “10” equals reject.
Also note that on the AllocRptAck the AllocAck Block is used, not the Alloc block.

7.7.2

Allocation Claim Confirm to Carry Firm (GCC Accept)

Each allocation acceptance request will be confirmed by the clearing system. All trade information will be
provided.
APS Allocation Accept Confirm Report to Carry Firm (GCC Accept)


Å Execution Time

Å Sender ID

Å Order Number

Å Contract Period

Å Allocating Firm Exchange
Å Allocating Firm


Å Executing Broker

Å Customer Account
 Å Residual Amount

Å CTI Code

Å Carry Firm Exchange

Å Carry Firm

Page 69 of 113

FIXML Allocation API User’s Guide

©Chicago Mercantile Exchange, 2005

March 2005








Å Carry Account
Å Origin

ACS Allocation Accept Confirm Report to Carry Firm (GCC Accept)


Å Session is during RTH

Å Trader Exchange

Å Customer Order

Å Product Exchange

Å Clearing Exchange

Å Executing Firm Exchange

Å Executing Firm


Å Executing Broker

Å Executing Operator ID

Å Quantity

Å Carry Exchange

Å Carry Firm

Å Carry Firm Account

Å Carry Firm Origin



Page 70 of 113

FIXML Allocation API User’s Guide

©Chicago Mercantile Exchange, 2005

March 2005



7.7.3

Allocation Claim Confirm to Carry Firm (GCC Reject)

Each allocation acceptance request will be confirmed by the clearing system. All trade information will be
provided.
Allocation Reject Confirm to Carry Firm (GCC)


Å Execution Time

Å Sender ID

Å Order Number

Å Contract Period

Å Allocating Firm Exchange

Å Allocating Firm

Å Executing Broker

Å Customer Account
 Å Residual Amount

Å CTI Code

Å Carry Firm Exchange

Å Carry Firm

Page 71 of 113

FIXML Allocation API User’s Guide

©Chicago Mercantile Exchange, 2005

March 2005








Å Carry Account
Å Origin

ACS Allocation Reject Confirm Report to Carry Firm (GCC Rejectt)


Å Session is during RTH

Å Trader Exchange

Å Customer Order

Å Product Exchange

Å Clearing Exchange

Å Executing Firm Exchange

Å Executing Firm


Å Executing Broker

Å Executing Operator ID

Å Quantity

Å Carry Exchange

Å Carry Firm

Å Carry Firm Account

Å Carry Firm Origin




Page 72 of 113

FIXML Allocation API User’s Guide

©Chicago Mercantile Exchange, 2005

March 2005

ƒ
ƒ

All allocation accept or reject confirmations will have “TranTyp” enumeration of “0” (New) and a “Stat” of
either “0” (Received) or “1” (Rejected)
Note that the IndAllocID submitted by the Carry firm is sent back on the confirm.

7.7.4

Claim Alert to Allocating Firm

Once the designated carry firm claims an allocation, the allocating firm will receive an alert message
containing all trade and allocation information.
Accepted APS Allocation Alert Report (GCA)


Å Execution Time

Å Sender ID

Å Order Number

Å ProductPeriod

Å Allocating Firm Exchange

Å Allocating Firm

Å Executing Broker

Å Customer Account

Å Origin


Å Residual Amount

Å CTI Code
Å Carry Firm Exchange


Å Carry Firm
Page 73 of 113

FIXML Allocation API User’s Guide

©Chicago Mercantile Exchange, 2005

March 2005








Å Carry Firm Customer Account
Å Carry Firm Origin

Accepted ACS Allocation Alert Report (GCA)


Å Session is during ETH

Å Target Firm Exchange

Å Order Number

Å Product Exchange

Å Allocating Firm Exchange

Å Allocating Firm Exchange

Å Carry Firm

ÅCarry Firm Customer Account
 Å Origin




Å Allocation Qty

Å Carry Firm Exchange

Å Carry Firm

Å Carry Firm Customer Account

Å Carry Firm Origin



Page 74 of 113

FIXML Allocation API User’s Guide

©Chicago Mercantile Exchange, 2005

March 2005



7.7.5

Claim (Reject) Alert to Allocating Firm

Once the designated carry firm claims an allocation, the allocating firm will receive an alert message
containing all trade and allocation information.
Rejected APS Allocation Alert Report (GCA Reject)


Å Execution Time

Å Sender ID

Å Order Number

Å ProductPeriod
Å Allocating Firm Exchange


Å Allocating Firm

Å Executing Broker

Å Customer Account

Å Origin


Å Residual Amount

Å CTI Code
Å Carry Firm Exchange

Page 75 of 113

FIXML Allocation API User’s Guide

©Chicago Mercantile Exchange, 2005

March 2005









Å Carry Firm
Å Carry Firm Customer Account
Å Carry Firm Origin

Rejected ACS Allocation Alert Report (GCA Reject)


Å Session is during RTH

Å Target Firm Exchange

Å Order Number

Å ProductExchange

Å Carry Firm Exchange

Å Carry Firm Exchange

Å Carry Firm

Å Carry Firm Account
 Å Origin




Å Allocation Qty

Å Carry Firm Exchange

Å Carry Firm

ÅCarry Firm Customer Account




Page 76 of 113

FIXML Allocation API User’s Guide

©Chicago Mercantile Exchange, 2005

March 2005



ƒ
ƒ
ƒ

All allocation accept or reject confirmations will have “TranTyp” enumeration of “0” (New) and an “Stat”
of either “0” (Accepted) or “1” (Rejected) and a ‘Typ’ of either “9” (Accept) or “10” (Reject).
All trade information is supplied on an Accepted Allocation Alert.
The allocation accept or reject alert can be differentiated from a confirm of an accept or reject request
by the presence of the “Typ” attribute with an enumeration of either “9” (Accept) or “10” (Reject).

Page 77 of 113

FIXML Allocation API User’s Guide

©Chicago Mercantile Exchange, 2005

March 2005

7.8

Update Allocations
7.8.1

Update Allocation Request from Allocating Firm (GA Chg)

The Allocating firm can update an un-accepted or rejected allocation. The Allocating uses the clearing
system assigned Allocation ID in the Alloc Block to specify which allocation should be updated and the
clearing system assigned Group ID.
Allocating Firm Update APS Allocation Request (GA Chg)


Å AveragePriceInd


Å ProductPeriod

Å GiveupExchange

Å GiveupFirm

Å GiveupBroker

Å CTI Code

Å Carry Firm Exchange

Å Carry Firm

Å Carry Firm Account

Å Origin





Allocating Firm Update ACS Allocation Request (GA Chg)






















Page 79 of 113

Å Group Price
Å Trade ID (to be replaced by TrdID)
Å BuySell(Buy)
Å Carry Firm
Å AllocTransType=Replace
Å Allocation Qty
Å TradeDate
Å TradeVenue
Å Session is during ETH
Å Message Time
Å Sender ID
Å Sending Firm Exchange

Å Carry Firm
Å ProductPeriod
Å ProductExchange
Å Allocating Firm Exchange
Å Allocating Firm Exchange
Å Carry Firm
Å GiveupFirm

Å Allocation ID (Clearing Assigned
Å CTI Code
Å Allocation Qty
Å Allocating Firm Exchange
Å Carry Firm

FIXML Allocation API User’s Guide

©Chicago Mercantile Exchange, 2005

March 2005

7.8.2

Update Allocation from Carry Firm (Post Claim) (GC Chg)

The Carry firm can change non-critical fields after they have claimed the allocation. The Carry firm will have
to send the Specific Allocation ID and the Firm information that they are referring to.
Update Allocation Request from Carry Firm for both APS and ACS (GC Chg)















Page 80 of 113

Å Rpt ID (Clearing generated Allocation ID)
Å AllocTransType = Replace
Å Allocation Report Type=Request
Å Buy/Sell (Buy)
Å Group Quantity
Å TradeDate
Å Message Time
Å Sender Firm Exchange ID
Å Sender ID
Å Allocating Firm Exchange
Å Allocating Firm
Å
Å Allocation Quantity
Å CTI Code (CTI Change)
Å Carry Firm Exchange
Å Carry Firm
Å Carry Account
Å Origin (Origin change from 1 to 2)

FIXML Allocation API User’s Guide

©Chicago Mercantile Exchange, 2005

March 2005

7.8.3

Update Allocation Confirmation to Carry Firm (GCC Chg)

Update Allocation Confirmation to Carry Firm for APS and ACS (GCC Chg)



Å Sender ID

Å ProductPeriod

Å Allocating Firm Exchange

Å Allocating Firm

Å CTI Code (CTI Change)

Å Carry Firm Exchange

Å Carry Firm

Å Carry Account

Å Origin (Origin change from 1 to 2)





Page 81 of 113

FIXML Allocation API User’s Guide

©Chicago Mercantile Exchange, 2005

March 2005

7.9

Reversing Allocations
The claiming firm can request that an accepted allocation be released on the same day that the allocation is
accepted. After the allocation is cleared it can only be released / reversed by a request from the allocating
firm. The Clearing System determines if it is a release or a reversal based on the Clearing date and the
Trade date and the Allocation Ids.
Release Request from Carry Firm (APS/ACS) (GI)



Å Sender ID

Å ProductPeriod

Å Allocating Firm Exchange

Å Allocating Firm

Å CTI Code (CTI Change)

Å Carry Firm Exchange

Å Carry Firm

Å Carry Account

Å Origin





Reverse Request from Allocating Firm (APS/ACS)(GI)



Å TradeVenue
Å Session is during RTH

Snt="2007-04-18T17:01:48-05:00"
SID="505"
SSub="CME" />

Å Sender ID
Å Sender Firm Exchange ID

ClOrdID="V-15"/>

Å Order Number



















Page 83 of 113

Å ProductCode
Å CFI
Å ProductPeriod
Å ProductExchange
Å Carry Firm Exchange
Å Carry Firm Exchange
Å Carry Firm
Å ProductCode
Å Origin

Å Clearing Assigned ID
Å CTI Code (CTI Change)
Å Allocation Quantity
Å Carry Firm Exchange
Å Carry Firm
Å Carry Account
Å Origin

FIXML Allocation API User’s Guide

©Chicago Mercantile Exchange, 2005

March 2005

7.9.1

Release Request Confirm to Carry Firm (GIC)

Release Request Confirm to Carry Firm (GIC)



Å Sender ID

Å ProductPeriod

Å Allocating Firm Exchange

Å Allocating Firm

Å CTI Code (CTI Change)

Å Carry Firm Exchange

Å Carry Firm

Å Carry Account

Å Origin





Page 84 of 113

FIXML Allocation API User’s Guide

©Chicago Mercantile Exchange, 2005

March 2005

Reverse Request Confirm to Carry Firm (ACS) (GIC)


Å Session is during RTH

Å Target Firm Exchange ID

Å Order Number

Å ProductExchange

Å Allocating Firm Exchange

Å Allocating Firm Exchange

Å Allocating Firm Exchange

Å Allocating Firm Exchange

Å Origin



Å Allocation Quantity

Å Carry Firm Exchange

Å Carry Firm
Pty ID="
MFT" R="24">
Å Carry Account





Page 85 of 113

Å Origin

FIXML Allocation API User’s Guide

©Chicago Mercantile Exchange, 2005

March 2005



7.10 Sub Allocations/ Third Party Allocations by Carry Firm
7.10.1 Sub Allocation request from Carry Firm
The carry firm communicates sub-allocation or third-party allocation requests using the Allocation Instruction
message. The original claiming firm specifies the sub allocating firm / third party information in an allocation
block. In the first allocation block the original claim firm identifies the original allocation it claimed. All
subsequent allocation blocks are used to indicate the third-party or sub-allocation instructions.
Carry Firm Sub Allocates a Claimed Allocation (ACS/APS) (GC)























Page 86 of 113

Å AllocTransType = Replace
Å Alloc Type=Request
Å Buy/Sell (Buy)
Å ID (Firm Group ID)
Å ID2 (Clearing generated APS ID)
Å Group Quantity

Å Message Time
Å Sender Firm Exchange ID
Å Sender ID
Å ProductExchange
Å ProductCode
Å ProductPeriod
Å Allocating Firm Exchange
Å Allocating Firm
Å Clearing Assigned ID
Å Allocation Quantity
Å CTI Code (CTI Change)
Å Carry Firm Exchange
Å Carry Firm
Å Carry Account
Å Origin

Å Allocation Quantity
Å CTI Code (CTI Change)
Å Carry Firm Exchange
Å Carry Firm
Å Carry Account
Å Origin

FIXML Allocation API User’s Guide

©Chicago Mercantile Exchange, 2005

March 2005

7.10.2 Sub Allocation request confirm from Clearing System
The clearing firm acknowledges the Sub allocation request with a status of received. The clearing system
treats this as a new allocation request. A new group is created and the carry firm is notified. Allocation
request confirm is sent to the carry firm and an allocation alert is sent to the sub allocating firm.
Clearing System Acknowledges the Sub Allocation request (APS/ACS) (GCC)



Å AllocTransType = New
Å Alloc Stat=Received
Å Alloc Report Type=Preliminary
Å Buy/Sell (Buy)
Å Group Quantity
Å Report ID






















Page 87 of 113

Å Message Time
Å TargetID
Å Target Firm Exchange
Å Sender ID
Å ProductExchange
Å ProductCode
Å ProductPeriod
Å Allocating Firm Exchange
Å Allocating Firm
Å Clearing Assigned ID
Å Allocation Quantity
Å CTI Code (CTI Change)
Å Carry Firm Exchange
Å Carry Firm
Å Carry Account
Å Origin

Å Allocation Quantity
Å CTI Code (CTI Change)
Å Carry Firm Exchange
Å Carry Firm
Å Carry Account
Å Origin

FIXML Allocation API User’s Guide

©Chicago Mercantile Exchange, 2005

March 2005

7.11 Transfers done thru Clearing UI
7.11.1 Transfer Add Acknowledgement to the executing Firm
The clearing system acknowledges each trade submission from the UI with a Trade Capture Report. This is
an add Acknowledgement of a Transfer trade submitted thru the UI to the executing firm.
Trade Capture Report Confirm for a Transfer (Add)



Å MessageEventSource=CME System

Å Sender ID

Å ProductPeriod

Å Residual Amount (Optional)

Å Venue is X-Pit

Å Clearing Org

Å Exchange

Å Executing Firm (Required)

Å Customer Acct Firm (Required)

Å Origin (Required)


Å Executing Trader (Optional)

Å Contra Exchange

Å Opposite Firm (Required)




Page 88 of 113

FIXML Allocation API User’s Guide

©Chicago Mercantile Exchange, 2005

March 2005

7.11.2 Transfer Claim Acceptance from the Claim Firm
When the Claim firm accepts the trade thru the Clearing System UI, they receive a TradeCaptRpt
acknowledging the Match and Claim.
Trade Capture Report Acceptance for a Transfer (Change)



Å MessageEventSource=CME System

Å Sender ID

Å ProductPeriod

Å Residual Amount (Optional)

Å Venue is X-Pit

Å Clearing Org

Å Exchange

Å Executing Firm (Required)

Å Customer Acct Firm (Optional)

Å Origin (Optional)


Å Executing Trader (Optional)

Å Contra Exchange (Required)

Å Opposite Firm (Required)

Å Customer Acct Firm (Required)

Å Origin (Required)


Å Opposite Trader (Optional)




Page 89 of 113

FIXML Allocation API User’s Guide

©Chicago Mercantile Exchange, 2005

March 2005

7.11.3 Transfer Claim Acceptance Alert to the Executing Firm
When the Claim firm accepts the trade thru the Clearing System UI, the executing firm receives an alert of
the Claim.
Trade Capture Report Acceptance Alert of the Transfer (Change)



Å MessageEventSource=CME System

Å Sender ID

Å ProductPeriod

Å Residual Amount (Optional)

Å Venue is X-Pit

Å Clearing Org

Å Executing Exchange (Required)

Å Executing Firm (Required)

Å Customer Acct Firm (Optional)

Å Origin (Optional)


Å Executing Trader (Optional)

Å Contra Exchange (Required)

Å Opposite Firm (Required)

Å Customer Acct Firm (Optional)

Å Origin (Optional)


Å Opposite Trader (Optional)




Page 90 of 113

FIXML Allocation API User’s Guide

©Chicago Mercantile Exchange, 2005

March 2005

7.11.4 Transfer Release Acceptance Confirm to the Executing Firm
When and Executing Firm accepts the transfer release from the UI the executing Firm gets a delete and the
claim firm gets a
Trade Capture Report Release Acceptance Confirm of the Transfer



Å MessageEventSource=CME System

Å Sender ID

Å ProductPeriod

Å Residual Amount (Optional)

Å Venue is X-Pit

Å Clearing Org

Å Executing Exchange (Required)

Å Executing Firm (Required)

Å Customer Acct Firm (Optional)

Å Origin (Optional)


Å Executing Trader (Optional)

Å Contra Exchange (Required)

Å Opposite Firm (Required)

Å Customer Acct Firm (Optional)

Å Origin (Optional)


Å Opposite Trader (Optional)




Page 91 of 113

FIXML Allocation API User’s Guide

©Chicago Mercantile Exchange, 2005

March 2005

8 Required Fields
8.1

Required Fields on Inbound Allocation Instruction Messages
Element

/AllocInstrctn/

Attribute

Create Allocation (GA)

Update Allocation

Allocation Reversal

(GA Chg)

(GI)

Reqd
(Y/N)

FIXML Value

Reqd
(Y/N)

@TransTyp

Y

@TransTyp=”0”

Y

@Typ

Y

New
@Typ=”2”

FIXML Value
@TransTyp=”1”

Reqd
(Y/N)
Y

Replace
Y

Preliminary

@Typ=”2”

FIXML Value
@TransTyp=”6”
Reversal

Y

Preliminary

Comments

@Typ=”8”
Request

The Allocation Trans
Type.
N/A Allocation Type of
the allocation. This is
not set in messages

@Stat

N

N/A

N

N/A

N

N/A

N/A (Attribute is not set
on messages sent by
firms)

@ID

Y

@ID=value

Y

@ID=value

Y

@ID=value

If the firm generated
APS ID is not provided it
will be set to 0.

@ID2

Y

@ID=value

Y

@ID=value

Y

@ID=value

The Clearing System
generated

@TrdDt

Y

@TrdDt=YYYYMM-DD

Y

@TrdDt=YYYYMM-DD

Y

@TrdDt=YYYYMM-DD

The Trade date of the
Trade

@TrdTyp

N

Y

@TrdTyp=value

This attribute is required
if the allocation is a
Specific allocation.

@TrdSubTyp

N

N

@TrdSubTyp=
value

The Trade Subtype
additionally qualifies the
Trade.

@MlegRptTyp=val
ue

Additionally the trade
and instrument.

N

@TrdSubTyp=

N

value
@MlegRptTyp

N

@CustCpcty

N

Page 92 of 113

@MlegRptTyp=
value

@TrdSubTyp=
value

N

@MlegRptTyp=val
ue

N

FIXML Allocate and Claim Services User’s Guide
©Chicago Mercantile Exchange, 2004

N
N

December 2004

Element

/AllocInstrctn/Hdr/

Attribute

Create Allocation (GA)

Update Allocation

Allocation Reversal

(GA Chg)

(GI)

Reqd
(Y/N)

FIXML Value

Reqd
(Y/N)

@SesSub

N

@SesSub=valu
e

N

@SesSub=value

N

@SesSub=value

This is the venue of the
trade. If the allocation is
a specific Allocation, it is
required. (This is the
trade venue). It is a fee
specific attribute

@SesID

N

@SesID=value

N

@SesID=value

N

@SesID=value

This is te trading
session.

@Qty

Y

@Qty=value

N

@Qty=value

N

@Qty=value

The allocation Quantity

@Side

Y

@Side=value

N

@Side=value

N

@Side=value

@MsgEvtSrc

Y

@MsgEvtSrc=”
MQM”

Y

@MsgEvtSrc=”MQ
M”

Y

@MsgEvtSrc=”MQ
M”

The Source of the
Message. The firm send
a value of MQM always.

@InptDev

Y

@InptDev=”API”

Y

@InptDev=”API”

Y

@InptDev=”API”

If the allocation is sent
using an API this is set
to “API”.

@AvgPxInd

Y

1=Incomplete

Y

1=Incomplete

Y

2=Complete

The presence of this
attribute implies that this
is an APS Allocation.

@AvgPx

N

@AvgPx=value

N

@AvgPx=value

N

@AvgPx=value

The firm may provide
the Average Price but
will be ignored by
Clearing

@RndPx

N

@AvgPx=value

N

@AvgPx=value

N

@AvgPx=value

The Rounded Average
Price

@Snt

Y

@SID

Y

Page 93 of 113

FIXML Value

Y

@SID=Firm ID

Y

Reqd
(Y/N)

Comments

FIXML Value

Y

SID=Firm ID

FIXML Allocate and Claim Services User’s Guide
©Chicago Mercantile Exchange, 2004

Y

The firm sends the
Message Time. Its is
required for Audit
purpose. The format is
GMT or CST with an
Offset.
SID=Firm ID

December 2004

The Firm will send its ID
here

Element

Attribute

Create Allocation (GA)

Reqd
(Y/N)
@SSub

Y

FIXML Value
@SSub
=Sending Firm
Exchange

Update Allocation

Allocation Reversal

(GA Chg)

(GI)

Reqd
(Y/N)
Y

FIXML Value
@SSub =Sending
Firm Exchange

Reqd
(Y/N)
Y

Comments

FIXML Value
@SSub =Sending
Firm Exchange

/AllocInstrctn/Instrmt/

The Exchange of the
sending Firm
Though this element is
not required in Change
and Reversal messages
it is recommended
sending it.

@Exch

Y

@Exch=CME

N

N

The Product Exchange
Code

@Exch=”CBT”
@ID

Y

N

N

The Product ID (as
required by CME)

@CFI

Y

N

N

Refer to CFI code

@MMY

Y

N

N

/AllocIInstrctn/Pty[1]/

@ID, @R

Y

ID =”value”,
R=22

Y

ID =”value”, R=22

Y

ID =”value”, R=22

Give-up Exchange

/AllocIInstrctn/Pty[2]/

@ID, @R

Y

ID =”value”, R=1

Y

ID =”value”, R=1

Y

ID =”value”, R=1

Give-up Firm

/AllocIInstrctn/Pty[3]/

@ID, @R

N

ID =”value”, R=2

N

ID =”value”, R=2

N

ID =”value”, R=2

Give-up Broker

/AllocInstrctn/Pty[3]/Sub/

@ID, @Typ

N

ID=value,
Typ=26

N

ID=value, Typ=26

N

ID=value, Typ=26

Typ=26 is Account Type

/AllocInstrctn/Amt/

N

@Typ

Page 94 of 113

N

N

@Typ=”CRES”

N

N

@Typ=”CRES”

FIXML Allocate and Claim Services User’s Guide
©Chicago Mercantile Exchange, 2004

N

This element is
Optional. This is used
by the Clearing System
to transmit the Residual
Price
@Typ=”CRES”

December 2004

The Amount Type. The
valid value for APS
messages is “CRES”

Element

Attribute

Create Allocation (GA)

Reqd
(Y/N)

FIXML Value

Update Allocation

Allocation Reversal

(GA Chg)

(GI)

Reqd
(Y/N)

FIXML Value

Reqd
(Y/N)

Comments

FIXML Value

@Amt

N

@Amt=value

N

@Amt=value

N

@Amt=value

@Ccy

N

@Ccy=value

N

@Ccy=value

N

@Ccy=value

/AllocInstrctn/Alloc/

The Cash Residual
Amount

This block is the
Allocation Block.
@IndAllocID

N

@IndAllocID=val
ue

N

@IndAllocID=value

N

@IndAllocID=value

Firm supplied Allocation
ID

@IndAllocID2

N

@IndAllocID2=v
alue

Y

@IndAllocID2=valu
e

Y

@IndAllocID2=valu
e

Clearing System
generated Allocation ID

@Qty

Y

N

@CustCpcty
/AllocInstrctn/Alloc/Pty[1]/

@ID, @R

Y

ID =value, R=22

Y

ID =”value”, R=22

Y

ID =”value”, R=22

Carry Exchange

/AllocInstrctn/Alloc/Pty[2]/

@ID, @R

Y

ID =value, R=1

Y

ID =”value”, R=1

Y

ID =”value”, R=1

Carry Firm

/AllocInstrctn/Alloc/Pty[3]/

@ID, @R

N

ID =value, R=24

N

ID =”value”, R=24

Y

ID =”value”, R=24

Carry Account

/AllocInstrctn/Alloc/Pty[3]/
Sub/

@ID, @Typ

N

ID=value,
Typ=26

N

ID=value, Typ=26

Y

ID=value, Typ=26

Typ=26 is Account Type

Page 95 of 113

FIXML Allocate and Claim Services User’s Guide
©Chicago Mercantile Exchange, 2004

December 2004

8.2

Required Fields on Inbound Allocation Report Acknowledgement Messages

Element

/AllocRptAck/

Attribute

Claim

Reversal Acceptance

(GC)

(GI)

Comments

Reqd
(Y/N)

FIXML Value

Reqd
(Y/N)

@TransTyp

Y

@TransTyp=”0”

Y

@TransTyp=”6”

The Allocation Trans
Type.

@RptID

Y

@RptTyp

Y

@Typ=”9”

Y

@Typ=”9”

Accept

@Typ=”10”

Reject

@Typ=”10”
@Stat

N

@ID

Y

@ID2

FIXML Value

N

The Status is set only
on confirms and Alerts

@ID=value

N

If the firm generated
APS ID.This is not
required

Y

@ID=value

Y

@ID=value

The Clearing System
generated Group ID.

@TrdDt

Y

@TrdDt=YYYYMM-DD

Y

@TrdDt=YYYYMM-DD

The Trade date of the
Trade

@TxnTm

Y

@TxnTm=”
YYYY-MMDDTHH:MM:SS.
00”

Y

@TxnTm=” YYYYMMDDTHH:MM:SS.00
”

Format is ”YYYY-MMDDTHH:MM:SS.00”

@BizDt

N

@BizDt=YYYYMM-DD

N

@BizDt=YYYYMM-DD

The Clearing Business
date of the Trade

@Qty

N

@Qty=value

N

@Qty=value

The total allocation
Quantity

@MsgEvtSrc

Y

@MsgEvtSrc=”
MQM”

Y

@MsgEvtSrc=”MQ
M”

The Source of the
Message. The firm send
a value of MQM always.

@AvgPxInd

Y

2=Complete

Y

2=Complete

The presence of this
attribute implies that this

Page 96 of 113

FIXML Allocate and Claim Services User’s Guide
©Chicago Mercantile Exchange, 2004

December 2004

is an APS Allocation.
/AllocRptAck/Hdr/

@Snt

Y

Y

The firm sends the
Message Time. Its is
required for Audit
purpose. The format is
GMT or CST with an
Offset.

@SID

Y

@SID=value

Y

@SID=value

The Sending Firm ID

@SSub

Y

@SSub=value

Y

@SID=value

The Sending Exchange

/AllocRptAck/Pty[1]/

@ID, @R

Y

ID =”value”,
R=”22”

Y

ID =”value”, R=”22”

Give-up Exchange

/ AllocRptAck/Pty[2]/

@ID, @R

Y

ID =”value”,
R=”1”

Y

ID =”value”, R=”1”

Give-up Firm

/AllocRptAck/Pty[3]/

@ID, @R

N

ID =”value”,
R=”2”

N

ID =”value”, R=”2”

Give-up Broker

/AllocRptAck/AllocAck/

This block is the
Allocation Ack Block
equivalent to the
Allocation Block in the
Allocation messages.
@IndAllocID

N

@IndAllocID=val
ue

@IndAllocID2

Y

@IndAllocID2=v
alue

Y

@Qty

Y

@Qty=value

Y

@Qty=value

@CustCpcty

N

@Qty=value

N

@CustCpcty=value

/AllocInstrctnAck/AllocAck/
Pty[1]/

@ID, @R

Y

ID =value, R=22

Y

ID =value, R=22

Carry Exchange

/AllocInstrctnAck/Alloc/Ack
Pty[2]/

@ID, @R

Y

ID =value, R=1

Y

ID =value, R=1

Carry Firm

/AllocInstrctnAck/AllocAck/
Pty[3]/

@ID, @R

Y

ID =value, R=24

Y

ID =value, R=24

Carry Account

/AllocInstrctnAck/Alloc/Pty[

@ID, @Typ

Y

ID=value,

Y

ID=value, Typ=26

Typ=26 is Account Type

Page 97 of 113

Firm supplied Allocation
ID
Clearing System
generated Allocation ID
Allocation Qty

FIXML Allocate and Claim Services User’s Guide
©Chicago Mercantile Exchange, 2004

December 2004

3]/Sub/

Typ=26

Page 98 of 113

FIXML Allocate and Claim Services User’s Guide
©Chicago Mercantile Exchange, 2004

December 2004

8.3

APS Routing File to FIXML mapping

Currently the firms receive an APS Routing File at the end of the day on all the APS activity. This is going to be replaced by real-time allocation Confirms/Alerts and real-time
Claim Confirms/Alerts, which can be used by the firms to update their books. The Legacy interface and the FIXML confirms do not map one-one.

APS Record Type = 0 (Header record)
The information in APS Header record will be available in all the FIXML confirms and Alerts.
APS Record Type = 1 (Group Status Record)
This will be replaced by the Group Summary Alerts or the Allocation Instruction Alert which notifies the firm of Group Creation and transmits the group ID to be used by
them.

APS Record Type 2 & 3 (Trade related information)
No corresponding FIXML message available in the APS API.

APS Record Type 4 & 6 (Allocation and Claim information to Give-up Firm)
The information available in the record types 4 & 6 have been combined into a single FIXML message and is transmitted to the Give-up firm. These would be the
allocation confirms (GAC) and the Claim Alerts (GCA). The message used is an Allocation Instruction Acknowledgement.

APS Record Type 5 & 6 (Allocation and Claim information to Carry Firm).
The information available in the record types 5 & 6 have been combined into a single FIXML message and is transmitted to the Carry firm. These would be the
allocation Alerts (GAA) and the Claim Confirms (GCC). The message used is an Allocation Instruction Acknowledgement.
Note: A mapping is provided so that the firms can co-relate the Routing file information to real-time FIXML messages

Page 99 of 113

FIXML Allocate and Claim Services User’s Guide
©Chicago Mercantile Exchange, 2004

December 2004

8.3.1

Mapping for Record Type 0 & 1

Field Name

Position
From

FIXML Element

FIXML Attribute

To

APS Routing
File value

FIXML Value

Comments

@ID=value

Mapping to Executing Firm ???

Header Record
File Name Indicator

1

2

Header Record Indicator

3

3

N/A

Firm Number

4

6

/AllocInstrctnAlert/Pty/

@ID, @R

@R=”1”
Record Create Date

48

50

/AllocInstrctnAlert/Hdr/

@Snt

Record Create Time

51

56

/AllocInstrctnAlert/Hdr/

@Snt

# of APS Transaction
Records

63

68

N/A

Session Indicator

69

69

/AllocInstrctnAlert /

@SesSub

R

@SesSub=”RTH”

E

@SesSub=”ETH”

Main Routing Transaction Record
Transaction Identifier

1

1

N/A

Action Code

2

2

/AllocInstrctnAlert/

Transaction Type

3

3

N/A

Clearing Firm

4

6

/AllocInstrctnAlert/Pty[1]

@TransTyp

A=Add

@ID, @R

@TransTyp=”0”

If new group is created it is 0

@TransTyp=”1”

If trades are added to an existing
group, the TransTyp is set to 1
(Replace)

@ID=value,

If the Executing and the Clearing
Firm are the same, use this
mapping.

@R=1

Otherwise Clearing Firm is not
set on the messages .
Trade Date

9

14

/AllocInstrctnAlert/

Transaction ID

15

19

N/A

Page 100 of 113

@TrdDt
Allocation ID not applicable to
Group Summary Alert
messages.

FIXML Allocate and Claim Services User’s Guide
©Chicago Mercantile Exchange, 2004

December 2004

Field Name

Session Indicator

Position
From

To

20

20

FIXML Element

FIXML Attribute

APS Routing
File value

FIXML Value

/AllocInstrctnAlert/

@SesSub

R

@SesSub=”RTH”

E

@SesSub=”ETH”

Comments

Group ID

21

25

/AllocInstrctnAlert/

@ID2

@ID2=value

The Group ID generated by the
Clearing System

Exchange ID

26

27

/AllocInstrctnAlert/Instrmt/

@Exch

@Exch=”CME”

If this is the Product Exchange
use this mapping

@Exch=”CBT”
/AllocInstrctnAlert/Pty[2]/

@ID, @R

@ID=value,
@R=22

If this attribute has the Give-up
Exchange, then use this
mapping.

Commodity Code

29

29

/AllocInstrctnAlert/Instrmt/

@ID

Product ID

Put/Call Indicator

33

33

/AllocInstrctnAlert/Instrmt/

@CFI

See CFI Code mapping

Contract Year

34

35

/AllocInstrctnAlert/Instrmt/

@MMY

This attribute replaces

Contract Month

36

37

Contract Day

38

39

Strike Price

40

46

/AllocInstrctnAlert/Instrmt/

@StrkPx

Buy Sell Indicator

47

47

/AllocInstrctnAlert/

@Side

Set for Options
1 = Buy
2 = Sell

Group Summary/Status (Record Type 1)
Transaction Quantity

48

52

/AllocInstrctnAlert/

Allocated Quantity

53

57

N/A

@Qty

@Qty=value

.

UnAllocated Quantity

58

62

N/A

The Unallocated Quantity is not
applicable to this message

Group Mode

63

63

N/A

Group Status

64

68

/AllocInstrctnAlert/

@Stat

Group Cash Residual
Amount

69

77

/AllocInstrctnAlert/Amt/

@Typ, @Amt, @Ccy

Work=Working

Group Summary Qty

4 = Incomplete
@Typ=”CRES”
@Amt=value

Page 101 of 113

FIXML Allocate and Claim Services User’s Guide
©Chicago Mercantile Exchange, 2004

December 2004

Field Name

Position
From

FIXML Element

FIXML Attribute

To

APS Routing
File value

FIXML Value

Comments

@Ccy=value

Page 102 of 113

/AllocInstrctnAlert/

@AvgPx

Additional mapping (True
Average Price calculated and
sent to firms as trades are added
to the group)

/AllocInstrctnAlert/

@RndPx

Additional mapping (The
rounded Price) will also be
provided

FIXML Allocate and Claim Services User’s Guide
©Chicago Mercantile Exchange, 2004

December 2004

8.3.2

Mapping for Record Type 0, 4 & 6 (Allocation & Claim information to Give-up Firm)

Field Name

Position
From

FIXML Element

FIXML Attribute

To

APS Routing
File value

FIXML Value

Comments

@ID=value

Mapping to the Executing Firm
???

Header Record
File Name Indicator

1

2

Header Record Indicator

3

3

N/A

Firm Number

4

6

/AllocRpt/Pty/

@ID, @R

@R=”1”
Record Create Date

48

50

/AllocRpt/Hdr/

@Snt

Record Create Time

51

56

/AllocRpt/Hdr/

@Snt

# of APS Transaction
Records

63

68

N/A

Session Indicator

69

69

/AllocRpt/

@SesSub

R

@SesSub=”RTH”

E

@SesSub=”ETH”

Main Routing Transaction Record
Transaction Identifier

1

1

N/A

Action Code

2

2

/AllocRpt/

Transaction Type

3

3

N/A

Clearing Firm

4

6

/AllocRpt/Pty[1]

@TransTyp

A=Add

@ID, @R

@TransTyp=”0”

If new group is created it is 0

@TransTyp=”1”

If trades are added to an
existing group, the TransTyp is
set to 1 (Replace)

@ID=value,

If the Executing and the
Clearing Firm are the same, use
this mapping.

@R=1

Otherwise Clearing Firm is not
set on the messages .
Trade Date

9

14

/AllocRpt/

@TrdDt

Transaction ID

15

19

/AllocRpt/Alloc/

@IndAllocID2

Page 103 of 113

FIXML Allocate and Claim Services User’s Guide
©Chicago Mercantile Exchange, 2004

Allocation ID generated by
Clearing System for the Give-up
firm

December 2004

Field Name

Session Indicator

Position
From

To

20

20

FIXML Element

FIXML Attribute

APS Routing
File value

FIXML Value

/AllocRpt/

@SesSub

R

@SesSub=”RTH”

E

@SesSub=”ETH”

Comments

Group ID

21

25

/AllocRpt/

@ID2

@ID2=value

The Group ID generated by the
Clearing System for the Generic
or Specific Group

Exchange ID

26

27

/AllocRpt/Instrmt/

@Exch

@Exch=”CME”

If this is the Product Exchange
use this mapping

@Exch=”CBT”
/AllocRpt/Pty[2]/

@ID, @R

@ID=value,
@R=22

If this attribute has the Give-up
Exchange, then use this
mapping.

Commodity Code

29

29

/AllocRpt/Instrmt/

@ID

Product ID

Put/Call Indicator

33

33

/AllocRpt/Instrmt/

@CFI

See CFI Code mapping

Contract Year

34

35

/AllocRpt/Instrmt/

@MMY

This attribute replaces

Contract Month

36

37

Contract Day

38

39

Strike Price

40

46

/AllocRpt/Instrmt/

@StrkPx

Set for Options

Buy Sell Indicator

47

47

/AllocRpt/

@Side

1 = Buy
2 = Sell

Group Summary/Status (Record Type 4)
Carrying Firm Code

48

50

/AllocRpt/Alloc/Pty[1]

@ID, @R

@ID=value,
@R=1

55

/AllocRpt//Pty[1]

@ID, @R

@ID=value,

This is the Carry Firm that is
being allocated

Executing Broker (Filling
Broker)

53

Executing Broker

Transaction Quantity

58

62

/AllocRpt/Alloc/

@Qty

@Qty=value

Allocated Quantity to the Carry
Firm

Account Number

63

72

/AllocRpt/Alloc/Pty[2]/

@ID, @R

@ID=value,

Carry Firm Customer Account

@R=12

@R=24

Page 104 of 113

FIXML Allocate and Claim Services User’s Guide
©Chicago Mercantile Exchange, 2004

December 2004

Field Name

Origin Type

Position
From

To

73

73

FIXML Element

FIXML Attribute

APS Routing
File value

FIXML Value

Comments

/AllocRpt/Alloc/Pty[2]/Sub/

@ID, @Typ

1=Cust

@ID=1,

Carry Firm Customer Account
“Cust” Origin

@Typ=26
,2=Hous

@ID=2,
@Typ=26

Customer Type Indicator

74

74

/AllocRpt/Alloc/

Clearing Fee Indicator

75

75

N/A

Give-up Status

76

80

/AllocRpt/

Carry Firm Customer Account
“Cust” Origin

@CustCpcty

@Stat

Average Price / Residual Price (Record Type 6)
Average Price

48

63

/AllocRpt/

@AvgPx

@AvgPx=value

True Average Price

Rounded Price

64

72

/AllocRpt/

@RndPx

@RndPx=value

Rounded Price

Group Cash Residual
Amount

73

80

/AllocInstrctnAck/Amt/

@Typ, @Amt, @Ccy

@Typ=”CRES”
@Amt=value

Page 105 of 113

FIXML Allocate and Claim Services User’s Guide
©Chicago Mercantile Exchange, 2004

December 2004

8.3.3

Mapping for Record Type 0, 5 & 6 (Allocation & Claim information to Carry Firm)

Field Name

Position
From

FIXML Element

FIXML Attribute

To

APS Routing
File value

FIXML Value

Comments

@ID=value

Mapping to the Executing Firm
???

Header Record
File Name Indicator

1

2

Header Record Indicator

3

3

N/A

Firm Number

4

6

/AllocRpt/Pty/

@ID, @R

@R=”1”
Record Create Date

48

50

/AllocRpt/Hdr/

@Snt

Record Create Time

51

56

/AllocRpt/Hdr/

@Snt

# of APS Transaction
Records

63

68

N/A

Session Indicator

69

69

/AllocRpt/

@SesSub

R

@SesSub=”RTH”

E

@SesSub=”ETH”

Main Routing Transaction Record
Transaction Identifier

1

1

N/A

Action Code

2

2

/AllocRpt/

Transaction Type

3

3

N/A

Clearing Firm

4

6

/AllocRpt/Pty[1]

Page 106 of 113

@TransTyp

A=Add

@ID, @R

FIXML Allocate and Claim Services User’s Guide
©Chicago Mercantile Exchange, 2004

@TransTyp=”0”

If new group is created it is 0

@TransTyp=”1”

If trades are added to an
existing group, the TransTyp is
set to 1 (Replace)

@ID=value,

If the Executing and the
Clearing Firm are the same, use

December 2004

Field Name

Position
From

FIXML Element

FIXML Attribute

To

APS Routing
File value

FIXML Value

Comments

@R=1

this mapping.
Otherwise Clearing Firm is not
set on the messages .

Trade Date

9

14

/AllocRpt/

@TrdDt

Transaction ID

15

19

/AllocRpt/Alloc/

@IndAllocID2

Session Indicator

20

20

/AllocRpt/

@SesSub

Group ID

21

25

/AllocRpt/

@ID2

@ID2=value

The Group ID generated by the
Clearing System for the Generic
or Specific Group

Exchange ID

26

27

/AllocRpt/Instrmt/

@Exch

@Exch=”CME”

If this is the Product Exchange
use this mapping

Allocation ID generated by
Clearing System for the Carry
firm
R

@SesSub=”RTH”

E

@SesSub=”ETH”

@Exch=”CBT”
/AllocRpt/Pty[2]/

@ID, @R

@ID=value,
@R=22

If this attribute has the Give-up
Exchange, then use this
mapping.

Commodity Code

29

29

/AllocRpt/Instrmt/

@ID

Product ID

Put/Call Indicator

33

33

/AllocRpt/Instrmt/

@CFI

See CFI Code mapping

Contract Year

34

35

/AllocRpt/Instrmt/

@MMY

This attribute replaces

Contract Month

36

37

Contract Day

38

39

Strike Price

40

46

/AllocRpt/Instrmt/

@StrkPx

Set for Options

Buy Sell Indicator

47

47

/AllocRpt/

@Side

1 = Buy
2 = Sell

Group Summary/Status (Record Type 5)
Executing Firm Code

48

50

Page 107 of 113

/AllocRpt//Pty[1]

@ID, @R

FIXML Allocate and Claim Services User’s Guide
©Chicago Mercantile Exchange, 2004

@ID=value,

This is the Executing Firm that is
being allocated

December 2004

Field Name

Position
From

FIXML Element

FIXML Attribute

To

APS Routing
File value

FIXML Value

Comments

@R=1
Executing Broker (Filling
Broker)

53

55

/AllocRpt//Pty[1]

@ID, @R

@ID=value,

Executing Broker

Transaction Quantity

58

62

/AllocRpt/Alloc/

@Qty

@Qty=value

Allocated Quantity to the Carry
Firm

Account Number

63

72

/AllocRpt/Alloc/Pty[2]/

@ID, @R

@ID=value,

Carry Firm Customer Account

@R=12

@R=24
Origin Type

73

73

/AllocRpt/Alloc/Pty[2]/Sub/

@ID, @Typ

1=Cust

@ID=1,
@Typ=26

,2=Hous

@ID=2,
@Typ=26

Customer Type Indicator

74

74

/AllocRpt/Alloc/

Clearing Fee Indicator

75

75

N/A

Give-up Status

76

80

/AllocRpt/

Carry Firm Customer Account
“Cust” Origin
Carry Firm Customer Account
“Cust” Origin

@CustCpcty

@Stat

Average Price / Residual Price (Record Type 6)
Average Price

48

63

/AllocRpt/

@AvgPx

@AvgPx=value

True Average Price

Rounded Price

64

72

/AllocRpt/

@RndPx

@RndPx=value

Rounded Price

Group Cash Residual
Amount

73

80

/AllocRpt/Amt/

@Typ, @Amt, @Ccy

@Typ=”CRES”

Residual Price and Currency

@Amt=value

Page 108 of 113

FIXML Allocate and Claim Services User’s Guide
©Chicago Mercantile Exchange, 2004

December 2004

9 Appendix
9.1

Table 8.1 – FIX Value Conversion used in APS API
FIX Translation Table
Attribute Name
@TransTyp (used on all the
Allocation messages)

@Typ (Allocation Type)

@Stat (Allocation Status)

@RptTyp

Page 109 of 113

FIX Value
0

CME Value
New (Create)

1
2
6
2
8
9
10
11
12
13
14
0

Replace (Change)
Cancel (Delete)
Reversal
Preliminary
Request
Accept
Reject
Accept Pending
Incomplete Group
Complete Group
Reversal Pending
Accepted and Successfully
processed
Block Level Reject
Account level Reject
Received (not yet processed)
Incomplete
Rejected by Intermediary
Allocation Pending
Reversed
Request
Accept
Reject
Accept Pending
Complete

1
2
3
4
5
6
7
2
9
10
11
12

FIXML Allocate and Claim Services User’s Guide
©Chicago Mercantile Exchange, 2004

December 2004

/Pty/@R

14
1
2
1

Reversal Pending
CUST
HOUS
Executing Firm ID/
Trading Firm ID

/Amt/@Typ

4
12
17
18
21
22
23
24
25
26
36
38
40
41
42
43
CRES

Clearing Firm ID
Executing Broker
Contra Firm
Contra Clearing Firm
Clearing Org ID
Exchange ID
Contra Exchange ID
Customer Account
Contra Clearing Org
Contra Broker
Entering Broker / BK Broker
Position Account
3rd Party Allocating Firm
Contra Position Account
Contra Exchange
Internal Carry Account
Cash Residual Amount

O

Product Type - OPT

P
C

Option Right - Call
Option Right - Put

A
E

Option Type - American
Option Type - European

/Pty/Sub/@ID

CFI for Option
/Instrmt/@CFI
Product Type Col1
/Instrmt/@CFI
Put/Call – Col2
/Instrmt/@CFI
Opt Type - Col3

Page 110 of 113

FIXML Allocate and Claim Services User’s Guide
©Chicago Mercantile Exchange, 2004

December 2004

/Instrmt/@CFI
Underlying - Col4

B=Basket
S=Stock-Equities
D=Interest
rate/notional debt
sec
T=Commodiites
C=Currencies
I=Indices
O=Options
F=Futures
W=Swaps
M=Other
X=Unknown(n/a)

/Instrmt/@CFI
Delivery Method Col 5

P=Physical
C=Cash
X=Unknown(n/a)

Phys
Cash

/Instrmt/@CFI
Standard/Non-Std – Col 6

S=Standardized
terms
(maturity
date, strike price,
contract
size)
N=Nonstandardized
terms
X=Unknown(n/a)

Flexible Indicator
'N'
'Y'

F

Product Type - FUT

CFI for Future
/Instrmt/@CFI
Product Type - Col1
/Instrmt/@CFI
Group – Col2

Page 111 of 113

Market Indicator Values
SSF
Int
Curr
Ind

F=Financial
Futures
C=Commodity
Futures
M=Others
X=Unknown(n/a)

FIXML Allocate and Claim Services User’s Guide
©Chicago Mercantile Exchange, 2004

December 2004

/Instrmt/@CFI
Underlying - Col3

/Instrmt/@CFI
Delivery Method - Col4

A=Agriculture,
forestry,
and
fishing
B=Basket
S=Stock-Equities
(for
financial
future) or Services
(for commodities
futures)
D=Interest
rate/notional debt
sec
C=Currencies
I=Indices
(for
financial futures )
or
Industrial
Products
(for
commodities
futures)
O=Options
F=Futures
W=Swaps
M=Other
X=Unknown(n/a)
P=Physical
C=Cash
X=Unknown(n/a)

Phys
Cash

/Instrmt/@CFI
Standard/Non-Std – Col5

S=Standardized
terms
(maturity
date, strike price,
contract
size)
N=Nonstandardized
terms
X=Unknown(n/a)

Flexible Indicator
'N'
'Y'

@SetSesID

EOD
ITD
0

Cycle Code - RTH
Cycle Code - ITD
No Average Pricing

/AllocInstrctn/@AvgPxIndic
ator

Page 112 of 113

FIXML Allocate and Claim Services User’s Guide
©Chicago Mercantile Exchange, 2004

December 2004

/*/Alloc/@Meth

/AllocRpt/@RptTyp

1
2
1
2
3
2
3
4
5
8
9
10
11
12
14

Page 113 of 113

Average Price/Group Incomplete
Average Price / Group Complete
Automatic
Guarantor
Manual
Request to Intermediary
SellsideCalculatedUsingPreliminary
SellsideCalculatedWithoutPrelimina
ry
WarehouseRecap
RequestToIntermediary
Accept
Reject
Accept Pending
Complete
Reversal Pending

FIXML Allocate and Claim Services User’s Guide
©Chicago Mercantile Exchange, 2004

December 2004



Source Exif Data:
File Type                       : PDF
File Type Extension             : pdf
MIME Type                       : application/pdf
PDF Version                     : 1.4
Linearized                      : Yes
XMP Toolkit                     : 3.1-701
Producer                        : Acrobat Distiller 7.0 (Windows)
Create Date                     : 2007:05:04 15:00:49-05:00
Creator Tool                    : Acrobat PDFMaker 7.0 for Word
Modify Date                     : 2007:05:04 15:01:26-05:00
Metadata Date                   : 2007:05:04 15:01:26-05:00
Format                          : application/pdf
Title                           : Fixml Allocate and Claim API spec
Creator                         : Chicago Mercantile Exchange Inc.
Document ID                     : uuid:11d549b0-398c-40ea-9c70-90665feb95a0
Instance ID                     : uuid:5b011152-51c0-4fa9-8457-ce9806c3a01a
Tag Doc Home                    : -280197945
Page Count                      : 113
Page Layout                     : OneColumn
Author                          : Chicago Mercantile Exchange Inc.
EXIF Metadata provided by EXIF.tools

Navigation menu