Log in

AS Allocation Report

Sent from sell-side to buy-side, sell-side to 3rd-party or 3rd-party to buy-side, the Allocation Report (Claim) provides account breakdown of an order or set of orders plus any additional follow-up front-office information developed post-trade during the trade allocation, matching and calculation phase. In versions of FIX prior to version 4.4, this functionality was provided through the Allocation message. Depending on the needs of the market and the timing of "confirmed" status, the role of Allocation Report can be taken over in whole or in part by the Confirmation <35=AK> message.

Note the response to the Allocation Report message is the Allocation Report Ack <35=AT> message. In versions of FIX prior to version 4.4, the Allocation ACK served this purpose.

An Allocation Report message can be submitted with AllocReportType (794) of

  • Sellside Calculated Using Preliminary (includes Misc Fees, Accrued Interest and Net Money)
  • Sellside Calculated Without Preliminary (includes Misc Fees, Accrued Interest and Net Money). (AllocType (626) = "Sellside Initiated"), i.e. where the allocations have been provided via some other mechanism or agreed earlier in the order process.
  • Warehouse recap - sent unsolicited by sellside, used to communicate confirmation and current status of any warehoused position in a particular stock (see Volume 7 - PRODUCT: EQUITIES for specific usage guidance on this topic)

Settlement instructions are supported on the Allocation Report message to allow the Respondent (sell-side party or carry firm) to send an override of its own instructions to the Initiator.

General guidelines applicable to this message:

  • AllocReportID (755) should be unique for all Allocation Report messages.
  • To reject an Allocation Report message, an AllocationReportAck(AT) with AllocStatus (87) 'Block level reject' or 'Account (1) level reject' should be used. Use of 'Block level reject' means the entire message has been rejected (e.g. net money mismatch). 'Account (1) level reject' is used when the block level matches successfully but one or more (or all) of the constituent account level details fails validation (e.g. account not found, incorrect MiscFees). In the latter case, the rejecting party can (optionally) notify the instructing party of those allocation details that are being rejected by listing the offending account numbers in the Allocation Instruction Ack <35=P> message.
  • A rejected Allocation Report must be resolved out-of-band.
  • Where settling in markets where multiple alternative settlement locations exist, it is recommended that the settlement location (equivalent to ISO15022 'PSET' field) be identified on each allocation detail within the NoAllocs (78) repeating group. A nested parties component block is provided which can be used for this purpose.

The allocation message contains repeating fields for each order, sub-account and individual execution. The repeating fields are shown in the message definition below in typeface Bold-Italic and indented with the → symbol. The field's relative position within the repeating group in the message is important. For example, each instance of allocation must be in the order as shown in the message definition below.

  • The number of sub-account instances is indicated in NoAllocs (78).
  • Multiple orders can be combined for allocation or for AllocType (626)=" Ready-To-Book" or AllocType (626) = "Warehouse instruction". Note that combined orders must refer to the same instrument and have the same trade date, settlement date and side. The identification of the orders to be combined can be achieved in one of two ways:
    • By identifying the number of orders in the NoOrders (73) field and each individual order in the OrderID (37) fields. The AllocNoOrdersType (857) field is used to denote that this is happening and takes value "1=Explicit list provided". If any orders were handled outside FIX, the ClOrdID (11) must be set to 'MANUAL'. Regardless of whether the orders were handled within or outside FIX, the order quantity and average price must also be specified for each order. This is to assist in validating the message and, for manual orders, to help identify the correct orders to book.
    • By stating that an unspecified group of orders is to be combined. The NoOrders (73) field in this case is left blank. The AllocNoOrdersType (857) field is set to "0=Not specified" to specify that this is happening. Note use of this approach is only recommended where either the number of orders being booked is extremely large or some kind of aggregation rule is being used.
  • Multiple executions can be combined for allocation by identifying the number of executions in the NoExecs (124) field and each individual execution in the ExecID (17) fields. Combined executions must refer to the same instrument, trade date, settlement date and side.

Structure

TagNameTypeRequiredDescription
Component
Required
755String
Required
Unique identifier for this message
70String
2758StringMay be used to link to a previously submitted AllocationInstructionAlertRequest(35=DU)
71Char Enum
Required
795StringRequired for AllocTransType = Replace or Cancel
796Int EnumRequired for AllocTransType = Replace or Cancel
793StringOptional second identifier for this allocation instruction (need not be unique)
1730StringGroup identifier assigned by the clearinghouse
2771StringMay be used to identify the previous AllocGroupID(1730) being changed by this message when AllocGroupStatus(2767)=3 (Changed)
2759Amount
2767Int Enum
1728StringFirm assigned entity identifier for the allocation
794Int Enum
Required
Specifies the purpose or type of Allocation Report message
87Int Enum
Required
88Int EnumRequired for AllocStatus = 1 (rejected)
72StringRequired for AllocTransType = Replace or Cancel
1738Int EnumCan be used for reporting on status of reversal transaction when AllocReportType(794) is 18 (Alleged reversal) or 17 (Reversal)
808Int EnumRequired if AllocReportType = 8 (Request to Intermediary)
196StringCan be used to link two different Allocation messages (each with unique AllocID) together, i.e. for F/X "Netting" or "Swaps"
197Int EnumCan be used to link two different Allocation messages and identifies the type of link. Required if AllocLinkID is specified
466String
715LocalMktDateIndicates Clearing Business Date for which transaction will be settled
828Int EnumIndicates trade type of allocation
829Int EnumIndicates trade subtype of allocation
855Int Enum
2896Int Enum
1937Int Enum
2374String
2372LengthMust be set if EncodedTradeContinuationText(2371) field is specified and must immediately precede it
2371DataEncoded (non-ASCII characters) representation of the TradeContinuationText(2374) field in the encoded format specified via the MessageEncoding(347) field
442Char EnumIndicates MultiLegReportType of original trade marked for allocation
582Int EnumIndicates CTI of original trade marked for allocation
578StringIndicates input source of original trade marked for allocation
991PriceSpecifies the rounded price to quoted precision
1011StringUsed to identify the event or source which gave rise to a message
579StringSpecific device number, terminal number or station where trade was entered
819Int EnumIndicates if an allocation is to be average priced. Is also used to indicate if average price allocation group is complete or incomplete
1731StringFirm designated group identifier for average pricing
857Int EnumIndicates how the orders being booked and allocated by an AllocationInstruction or AllocationReport message are identified, e.g. by explicit definition in the OrdAllocGrp or ExecAllocGrp components, or not identified explicitly
ComponentIndicates number of orders to be combined for allocation. If order(s) were manually delivered set to 1 (one).Required when AllocNoOrdersType = 1
ComponentIndicates number of individual execution or trade entries. Absence indicates that no individual execution or trade entries are included. Primarily used to support step-outs
570Boolean Enum
700Boolean
574String Enum
54Char Enum
Required
Component
Required
For NDFs, fixing date (specified in MaturityDate(541)) is required. Fixing time (specified in MaturityTime(1079)) is optional
Component
Component
Component
Component
53Quantity
Required
Total quantity (e.g. number of shares) allocated to all accounts, or that is Ready-To-Book
854Int Enum
1736Quantity
1737Quantity
30ExchangeMarket of the executions
229LocalMktDate
336String Enum
625String Enum
423Int Enum
Component
6Price
Required
For FX orders, should be the "all-in" rate (spot rate adjusted for forward points), expressed in terms of Currency(15)
860Price
Component
15CurrencyCurrency of AvgPx. Should be the currency of the local market or exchange where the trade was conducted
2897String Enum
74IntAbsence of this field indicates that default precision arranged by the broker/institution is to be used
Component
75LocalMktDate
Required
60UTCTimestampDate/time when allocation is generated
63String Enum
64LocalMktDateTakes precedence over SettlType value and conditionally required/omitted for specific SettlType values
775Int EnumMethod for booking. Used to provide notification that this is to be booked out as an OTC derivative (e.g. CFD or similar). Absence of this field implies regular booking
381AmountExpressed in same currency as AvgPx(6). (Quantity(53) * AvgPx(6) or AvgParPx(860)) or sum of (AllocQty(80) * AllocAvgPx(153) or AllocPrice(366)). For Fixed Income, AvgParPx(860) is used when AvgPx(6) is not expressed as "percent of par" price
238Amount
237Amount
118AmountExpressed in same currency as AvgPx. Sum of AllocNetMoney
77Char Enum
754BooleanIndicates if Allocation has been automatically accepted on behalf of the Carry Firm by the Clearing House
58String
354LengthMust be set if EncodedText field is specified and must immediately precede it
355DataEncoded (non-ASCII characters) representation of the Text field in the encoded format specified via the MessageEncoding field
157IntApplicable for Convertible Bonds and fixed income
158PercentageApplicable for Convertible Bonds and fixed income
159AmountSum of AllocAccruedInterestAmt within repeating group
540Amount
738Amount
920AmountFor repurchase agreements the accrued interest on termination
921AmountFor repurchase agreements the start (dirty) cash consideration
922AmountFor repurchase agreements the end (dirty) cash consideration
650Boolean Enum
Component
Component
Component
Component
1031MultipleStringValue Enum
1032Int Enum
892IntIndicates total number of allocation groups (used to support fragmentation). Must equal the sum of all NoAllocs values across all message fragments making up this allocation instruction
893Boolean EnumIndicates whether this is the last fragment in a sequence of message fragments. Only required where message has been fragmented
ComponentConditionally required except when AllocTransType = Cancel, or when AllocType = "Ready-to-book" or "Warehouse instruction"
Component
1430Char EnumUsed to identify on what kind of venue the trade originated when communicating with a party that may not have access to all trade details, e.g. a clearing organization
2334StringConditionally required when RefRiskLimitCheckIDType(2335) is specified
2335Int EnumConditionally required when RefRiskLimitCheckID(2334) is specified
2343Int Enum
Component
Required