Definition
The AllocationInstruction(35=J) message provides the ability to specify how an order or set of orders should be subdivided amongst one or more accounts.
Additional detail from the official source
In versions of FIX prior to version 4.4, this same message was known as the Allocation(35=J) message. Note in versions of the FIX Protocol prior to version 4.4, the Allocation(35=J) message was also used to communicate fee and expense details from the sell-side to the buy-side. This role has since been removed from the AllocationInstruction(35=J) message and is performed by the new (to version 4.4) AllocationReport(35=AS) and Confirmation(35=AK) messages. The AllocationReport(35=AS) message should be used for the sell-side initiated allocation role as defined in previous versions of the FIX Protocol.
Message structure 4245 distinct fields
Source order, including nested components and groups. Group counts precede the repeated entries. “Required here” is relative to the enclosing component or group, not unconditional in the message. A dash means not marked required; conditional requirements remain in the source notes. This is a reference, not a counterparty-specific validator.
Nested fields load when needed. Open the full static layout (also works without JavaScript).
StandardHeaderComponentRequired
MsgType = J
StandardHeader definition & usage →
Open this block to load its fields in message context, or follow the definition link.
Unique identifier for this allocation instruction message
May be used to link to a previously submitted AllocationInstructionAlertRequest(35=DU) message.
Specifies the purpose or type of Allocation message
Optional second identifier for this allocation instruction (need not be unique)
Required for AllocTransType = Replace or Cancel
Required for AllocTransType = Replace or Cancel
Gives the reason for replacing or cancelling the allocation instruction
Required if AllocType = 8 (Request to Intermediary)
Indicates status that is requested to be transmitted to counterparty by the intermediary (i.e. clearing house)
Can be used to link two different Allocation messages (each with unique AllocID) together, i.e. for F/X "Netting" or "Swaps"
Can be used to link two different Allocation messages and identifies the type of link. Required if AllocLinkID is specified.
Group identifier assigned by the clearinghouse
Group identifier assigned by the firm.
Can be used with AllocType=" Ready-To-Book "
Indicates 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.
OrdAllocGrpRepeating groupCount tag 73—
Indicates number of orders to be combined for allocation. If order(s) were manually delivered set to 1 (one).Required when AllocNoOrdersType = 1
OrdAllocGrp definition & usage →
Open this block to load its fields in message context, or follow the definition link.
ExecAllocGrpRepeating groupCount tag 124—
Indicates number of individual execution or trade entries. Absence indicates that no individual execution or trade entries are included. Primarily used to support step-outs.
ExecAllocGrp definition & usage →
Open this block to load its fields in message context, or follow the definition link.
InstrumentComponentRequired
For NDFs fixing date and time can be optionally specified using MaturityDate and MaturityTime.
Instrument definition & usage →
Open this block to load its fields in message context, or follow the definition link.
InstrumentExtensionComponent—
InstrumentExtension definition & usage →
Open this block to load its fields in message context, or follow the definition link.
FinancingDetailsComponent—
FinancingDetails definition & usage →
Open this block to load its fields in message context, or follow the definition link.
UndInstrmtGrpRepeating groupCount tag 711—
UndInstrmtGrp definition & usage →
Open this block to load its fields in message context, or follow the definition link.
InstrmtLegGrpRepeating groupCount tag 555—
InstrmtLegGrp definition & usage →
Open this block to load its fields in message context, or follow the definition link.
Total quantity (e.g. number of shares) allocated to all accounts, or that is Ready-To-Book
May be used as an alternative to attribute based subgrouping.
Market of the executions.
PriceQualifierGrpRepeating groupCount tag 2709—
PriceQualifierGrp definition & usage →
Open this block to load its fields in message context, or follow the definition link.
For FX orders, should be the "all-in" rate (spot rate adjusted for forward points), expressed in terms of Currency(15).
For 3rd party allocations used to convey either basic price or averaged price
Optional for average price allocations in the listed derivatives markets where the central counterparty calculates and manages average price across an allocation group.
SpreadOrBenchmarkCurveDataComponent—
SpreadOrBenchmarkCurveData definition & usage →
Open this block to load its fields in message context, or follow the definition link.
Currency of AvgPx. Should be the currency of the local market or exchange where the trade was conducted.
Absence of this field indicates that default precision arranged by the broker/institution is to be used
PartiesRepeating groupCount tag 453—
Open this block to load its fields in message context, or follow the definition link.
Date/time when allocation is generated
Takes precedence over SettlType value and conditionally required/omitted for specific SettlType values.
Required for NDFs to specify the "value date".
Method 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.
Expressed 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.
Expressed in same currency as AvgPx. Sum of AllocNetMoney.
For FX, if specified, expressed in terms of Currency(15).
Indicates if Allocation has been automatically accepted on behalf of the Take-up Firm by the Clearing House
Must be set if EncodedText field is specified and must immediately precede it.
Encoded (non-ASCII characters) representation of the Text field in the encoded format specified via the MessageEncoding field.
Applicable for Convertible Bonds and fixed income
Applicable for Convertible Bonds and fixed income
Applicable for Convertible Bonds and fixed income
For repurchase agreements the accrued interest on termination.
For repurchase agreements the start (dirty) cash consideration
For repurchase agreements the end (dirty) cash consideration
StipulationsRepeating groupCount tag 232—
Stipulations definition & usage →
Open this block to load its fields in message context, or follow the definition link.
YieldDataComponent—
YieldData definition & usage →
Open this block to load its fields in message context, or follow the definition link.
RegulatoryTradeIDGrpRepeating groupCount tag 1907—
RegulatoryTradeIDGrp definition & usage →
Open this block to load its fields in message context, or follow the definition link.
TrdRegTimestampsRepeating groupCount tag 768—
TrdRegTimestamps definition & usage →
Open this block to load its fields in message context, or follow the definition link.
PositionAmountDataRepeating groupCount tag 753—
PositionAmountData definition & usage →
Open this block to load its fields in message context, or follow the definition link.
Indicates 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.
Only required where message has been fragmented.
Indicates whether this is the last fragment in a sequence of message fragments. Only required where message has been fragmented.
AllocGrpRepeating groupCount tag 78—
Conditionally required except when AllocTransType(71) = 2 (Cancel), or when AllocType(626) = 5 (Ready-To-Book single order) or 7 (Warehouse instruction).
Open this block to load its fields in message context, or follow the definition link.
Indicates if an allocation is to be average priced. Is also used to indicate if average price allocation group is complete or incomplete.
Firm designated group identifier for average pricing
Indicates Clearing Business Date for which transaction will be settled.
Indicates trade type of allocation. May be used as an alternative to AllocGroupSubQtyID(2974) for subgrouping.
Indicates trade subtype of allocation.
May be used as an alternative to AllocGroupSubQtyID(2974) for subgrouping.
May be used as an alternative to AllocGroupSubQtyID(2974) for subgrouping.
Must be set if EncodedTradeContinuationText(2371) field is specified and must immediately precede it.
Encoded (non-ASCII characters) representation of the TradeContinuationText(2374) field in the encoded format specified via the MessageEncoding(347) field.
Indicates CTI of original trade marked for allocation.
Indicates input source of original trade marked for allocation.
Indicates MultiLegReportType of original trade marked for allocation.
Used to identify the event or source which gave rise to a message.
Specifies the rounded price to quoted precision.
RateSourceRepeating groupCount tag 1445—
RateSource definition & usage →
Open this block to load its fields in message context, or follow the definition link.
Used 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.
Conditionally required when RefRiskLimitCheckIDType(2335) is specified.
Conditionally required when RefRiskLimitCheckID(2334) is specified.
StandardTrailerComponentRequired
StandardTrailer definition & usage →
Open this block to load its fields in message context, or follow the definition link.