Fixml Allocate And Claim API Spec Users Guide V 1
User Manual:
Open the PDF directly: View PDF .
Page Count: 113
Download | |
Open PDF In Browser | View 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 FirmPage 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 ← …. … AllocRpt > Page 36 of 113 FIXML Allocation API User’s Guide ©Chicago Mercantile Exchange, 2005 March 2005 Allocation Report …. … AllocRpt> 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 …. … AllocRptAck > March 2005 Allocation Report …. … Allocation Report ← …. 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 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 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)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. 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) (Carry (Carry (Carry (Carry Firm Exchange) Firm) Account) Account Origin) Å Opposite Trader Trade Capture Report for a Future’s Trade Marked for ACS Allocation (TRX) With Alloction Info 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 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) Å 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 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) Å Opposite Firm Å Opposite Trader 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 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) Å Sending Firm Exchange Å ProductPeriod Å Underlying Period Code Å Time Bracket Å Clearing Org Å Exchange Å Executing Firm Å Executing Trader Å Customer Account Å Origin Å Opposite Firm Å Opposite Trader Å Firm Group ID (For APS only) 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)Å Sender ID Å ProductPeriod Å Input Source is ETC Å Clearing Org Å Exchange Å Executing Firm Å Executing Trader Å Customer Account Å Origin Å Opposite Firm Å Opposite Trader < 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) < 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 Page 55 of 113 FIXML Allocation API User’s Guide ©Chicago Mercantile Exchange, 2005 March 2005 ACS Specific Group Summary Alert (GSA)Å 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) Å 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) • • 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 (Complete) Å Sending Firm Exchange Å Contract Period Å Allocating Firm Exchange Å 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) Å AveragePriceInd (inComplete) Å Sender ID Å Contract Period Å GiveupExchange Å Allocating Firm 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) Å Sender ID Å Contract Period Page 58 of 113 FIXML Allocation API User’s Guide ©Chicago Mercantile Exchange, 2005 March 2005 < AllocInstrctn TransTyp =”0” ID="1000" ID2 =”2001” Typ=”2” Qty=”150” AvgPxInd=”1” TrdDt=”2004-05-14” MsgEvtSrc=”MQM” Side=”1”> Å 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 (SID=”123” /> ) 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 Å Claiming Firm Customer Account Å Claiming Firm Origin Specific APS Allocation Instruction without Trade Information (GA)Å 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 < 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) Specific ACS Allocation Instruction with Trade Information (GA)Å Sender ID Å Order Number Å CFI Code Å Allocating Firm Exchange Å Allocating Firm Å CTI Code Å Carry Exchange Å Carry Firm Å Carry Account Å Carry Origin Å Buy/Sell (Buy) Å Message Time Å Sender ID Å Sending Firm Exchange Å Order Number Å ProductCode Å CFI Code Å Contract Period Å Product Exchange Å Allocating Firm Exchange Å Allocating Firm Å Customer Account Å Allocating Firm Origin Å Executing Broker Å Firm Assigned Allocation ID Å Allocation Quantity Å Carry Firm Exchange Å Carry Firm Å Carry Account Å Carry Origin Note that the firm group id and clearing system Specific group id must be provided on Specific allocation instructions As outlined in table 3.2.2, only the presence of a TransType of “0” (New) and an AllocType of “2” (Preliminary) is necessary to indicate that this is a new allocation instruction, AllocStatus is not necessary. Notice that there are two ‘qty’ attributes, one in the main body of the message and one in the Alloc block. The quantity in the main block indicates the sum of all the allocation quantities contained within this allocation instruction. The Alloc block is a repeating block, in other words multiple Alloc blocks may be contained within a single AllocInstrctn message. Page 63 of 113 FIXML Allocation API User’s Guide ©Chicago Mercantile Exchange, 2005 March 2005 7.6 Allocation Confirms and Alerts 7.6.1 Allocation Instruction Confirms to Allocating Firm For Basic allocations, once an allocation request has been submitted to the clearing system an Allocation Report (AllocRpt) is sent back to the allocating firm. The allocation report will always contain all trade data and confirm whether or not the allocation instruction was valid. For APS only, generic allocation instructions will be acknowledged but the underlying Specific allocations that are derived from Generic allocation instructions will not be transmitted to the allocating firm until the group is completed. Specific allocation instructions will be handled just like Basic allocation instructions. While the firm is not required to submit all trade data for allocation instructions the allocation report will reflect all trade data for Specific and Basic allocations and at least product and price information for Generic allocations. APS Specific Allocation Report Confirmation (GAC) Å Carry Firm Å Carry Firm Customer Account Å Carry Firm Origin ACS Specific Allocation Report Confirmation (GAC) Å 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 Å 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) Å BusinessCycleCode Å Target Firm Exchange Å Order Number Å Product Exchange Å Allocating Firm Exchange Å Allocating Firm Exchange Å Allocating Firm Exchange Å Customer Account Å Origin Å Executing Trader Å Operator ID < 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 ACS Allocation Alert to Claiming Firm (GAA)Å 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 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) Å 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"/> 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 Å Allocating Firm Exchange Å Allocating Firm Å CTI Code Page 68 of 113 FIXML Allocation API User’s Guide ©Chicago Mercantile Exchange, 2005 March 2005Å Carry Firm Exchange Å Carry Firm Å Carry Firm Customer Account Å Carry Firm Origin Å Carry Account Å Origin ACS 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 Å Session is during RTH Å Trader Exchange Å Customer Order Å Product Exchange Å Clearing Exchange Å Executing Firm Exchange Å Executing Firm Å Executing Broker Å Executing Operator ID Å Quantity 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)Å Carry Exchange Å Carry Firm Å Carry Firm Account Å Carry Firm Origin Å Carry Account Å Origin ACS Allocation Reject Confirm Report to Carry Firm (GCC Rejectt) Å 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 Å Session is during RTH Å Trader Exchange Å Customer Order Å Product Exchange Å Clearing Exchange Å Executing Firm Exchange Å Executing Firm Å Executing Broker Å Executing Operator ID Å Quantity 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)Å Carry Exchange Å Carry Firm Å Carry Firm Account Å Carry Firm Origin Å Carry Firm Customer Account Å Carry Firm Origin Accepted ACS 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 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) Å Session is during ETH Page 74 of 113 FIXML Allocation API User’s Guide ©Chicago Mercantile Exchange, 2005 March 2005Å 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 Å Carry Firm Å Carry Firm Customer Account Å Carry Firm Origin Rejected ACS 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 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) Å Session is during RTH Page 76 of 113 FIXML Allocation API User’s Guide ©Chicago Mercantile Exchange, 2005 March 2005Å 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 Allocating Firm Update ACS Allocation Request (GA Chg) Å AveragePriceInd Å ProductPeriod Å GiveupExchange Å GiveupFirm Å GiveupBroker Å CTI Code Å Carry Firm Exchange Å Carry Firm Å Carry Firm Account Å Origin 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) 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 (Origin change from 1 to 2) Reverse Request from Allocating Firm (APS/ACS)(GI) Å Sender ID Å ProductPeriod Å Allocating Firm Exchange Å Allocating Firm Å CTI Code (CTI Change) Å Carry Firm Exchange Å Carry Firm Å Carry Account Å Origin 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) Å 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 84 of 113 FIXML Allocation API User’s Guide ©Chicago Mercantile Exchange, 2005 March 2005 Reverse Request Confirm to Carry Firm (ACS) (GIC) Å Sender ID Å ProductPeriod Å Allocating Firm Exchange Å Allocating Firm Å CTI Code (CTI Change) Å Carry Firm Exchange Å Carry Firm Å Carry Account Å Origin Å 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 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) 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) Å AllocTransType = New Å Alloc Stat=Received Å Alloc Report Type=Preliminary Å Buy/Sell (Buy) Å Group Quantity Å Report ID 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 (Required) Å Origin (Required) Å Executing Trader (Optional) Å Contra Exchange Å Opposite Firm (Required) 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 Å 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 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 Å 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)
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