Definition
The Allocation message provides the ability to specify how an order or set of orders should be subdivided amongst one or more accounts.
FIX 4.2 group names/IDs were assigned during the official Orchestra translation; some mappings to later versions are approximate. This layout stays within the 4.2 source.
Message structure 111 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.
StandardHeaderComponentRequired
MsgType = J
StandardHeader definition & usage →
FIX.4.2 (Always unencrypted, must be first field in message)
(Always unencrypted, must be second field in message)
(Always unencrypted, must be third field in message)
(Always unencrypted)
(Always unencrypted)
Trading partner company ID used when sending messages via a third party (Can be embedded within encrypted data section.)
Trading partner company ID used when sending messages via a third party (Can be embedded within encrypted data section.)
Required to identify length of encrypted section of message. (Always unencrypted)
Required when message body is encrypted. Always immediately follows SecureDataLen field.
(Can be embedded within encrypted data section.)
(Can be embedded within encrypted data section.)
Sender's LocationID (i.e. geographic location and/or desk) (Can be embedded within encrypted data section.)
"ADMIN" reserved for administrative messages not intended for a specific user. (Can be embedded within encrypted data section.)
Trading partner LocationID (i.e. geographic location and/or desk) (Can be embedded within encrypted data section.)
Trading partner SubID used when delivering messages via a third party. (Can be embedded within encrypted data section.)
Trading partner LocationID (i.e. geographic location and/or desk) used when delivering messages via a third party. (Can be embedded within encrypted data section.)
Trading partner SubID used when delivering messages via a third party. (Can be embedded within encrypted data section.)
Trading partner LocationID (i.e. geographic location and/or desk) used when delivering messages via a third party. (Can be embedded within encrypted data section.)
Always required for retransmitted messages, whether prompted by the sending system or as the result of a resend request. (Can be embedded within encrypted data section.)
Required when message may be duplicate of another message sent under a different sequence number. (Can be embedded within encrypted data section.)
(Can be embedded within encrypted data section.)
Required for message resent as a result of a ResendRequest. If data is not available set to same value as SendingTime (Can be embedded within encrypted data section.)
Required when specifying XmlData to identify the length of a XmlData message block. (Can be embedded within encrypted data section.)
Can contain an XML-formatted message block (e.g. FIXML). Always immediately follows XmlDataLen field. (Can be embedded within encrypted data section.) See Appendix M – FIXML Support
Type of message encoding (non-ASCII characters) used in a message’s "Encoded" fields. Required if any "Encoding" fields are used.
The last MsgSeqNum value received and processed. Can be specified on every message sent. Useful for detecting a backlog with a counterparty.
Used when a message is sent via a "hub" or "service bureau". If A sends to Q (the hub) who then sends to B via a separate FIX session, then when Q sends to B the value of this field should represent the SendingTime on the message A sent to Q. (always expressed in UTC (Universal Time Coordinated, also known as "GMT")
Required for AllocTransType = Calculated, Replace, or Cancel
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.
OrdAllocGrpRepeating groupCount tag 73—
Indicates number of orders to be combined for allocation. If order(s) were manually delivered set to 1 (one).
OrdAllocGrp definition & usage →
Order ID assigned by client if order(s) were electronically delivered and executed. If order(s) were manually delivered this field should contain string "MANUAL".
Can be used to provide order id used by exchange or executing system.
Required for List Orders.
ExecAllocGrpRepeating groupCount tag 124—
Indicates number of individual execution repeating group entries to follow. Absence of this field indicates that no individual execution entries are included. Primarily used to support step-outs.
ExecAllocGrp definition & usage →
Number of shares in individual execution. Required if NoExecs > 0
Price of individual execution. Required if NoExecs > 0
Can be specified by broker for AllocTransTyp=Calculated
Must be specified if a Future or Option. If a Future: Symbol, SecurityType, and MaturityMonthYear are required. If an Option: Symbol, SecurityType, MaturityMonthYear, PutOrCall, and StrikePrice are required.
Specifies the month and year of maturity. Required if MaturityDay is specified.
Can be used in conjunction with MaturityMonthYear to specify a particular maturity date.
For Options.
For Options.
For Options.
For Fixed Income, Convertible Bonds, Derivatives, etc. Note: If used, quantities should be expressed in the "nominal" (e.g. contracts vs. shares) amount.
For Fixed Income.
Can be used to identify the security.
Must be set if EncodedIssuer field is specified and must immediately precede it.
Encoded (non-ASCII characters) representation of the Issuer field in the encoded format specified via the MessageEncoding field.
Must be set if EncodedSecurityDesc field is specified and must immediately precede it.
Encoded (non-ASCII characters) representation of the SecurityDesc field in the encoded format specified via the MessageEncoding field.
Total number of shares allocated to all accounts
Market of the executions.
For F/X orders, should be the "all-in" rate (spot rate adjusted for forward points).
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
Date/time when allocation is generated
Absence of this field is interpreted as Regular
"Settlement Date". Required with SettlmntTyp other than regular
Expressed in same currency as AvgPx. Sum of (AllocShares * AllocAvgPx or AllocPrice).
Expressed in same currency as AvgPx. Sum of AllocNetMoney.
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
AllocGrpRepeating groupCount tag 78—
Indicates number of allocation groups to follow.
May be the same value as BrokerOfCredit if ProcessCode is step-out or soft-dollar step-out and Institution does not wish to disclose individual account breakdowns to the ExecBroker. Required if NoAllocs > 0. Must be first field in repeating group.
Used when performing "executed price" vs. "average price" allocations (e.g. Japan). AllocAccount plus AllocPrice form a unique Allocs entry. Used in lieu of AllocAvgPx.
Required if ProcessCode is step-out or soft-dollar step-out
Free format text field related to this AllocAccount
Must be set if EncodedAllocText field is specified and must immediately precede it.
Encoded (non-ASCII characters) representation of the AllocText field in the encoded format specified via the MessageEncoding field.
Required for step-in and step-out trades
Used for firm identification in third-party transactions (should not be a substitute for OnBehalfOfCompID/DeliverToCompID).
AvgPx for this AllocAccount. For F/X orders, should be the "all-in" rate (spot rate adjusted for forward points) for this allocation.
NetMoney for this AllocAccount ((AllocShares * AllocAvgPx) - Commission - sum of MiscFeeAmt + AccruedInterestAmt) if a Sell ((AllocShares * AllocAvgPx) + Commission + sum of MiscFeeAmt + AccruedInterestAmt) if a Buy
AllocNetMoney in SettlCurrency for this AllocAccount if SettlCurrency is different from "overall" Currency
SettlCurrency for this AllocAccount if different from "overall" Currency. Required if SettlCurrAmt is specified.
Foreign exchange rate used to compute SettlCurrAmt from Currency to SettlCurrency
Specifies whether the SettlCurrFxRate should be multiplied or divided
Applicable for Convertible Bonds and fixed income
Type of Settlement Instructions which will be provided via Settlement Instructions message (0=Default, 1=Standing Instructions, 2=Specific Allocation Account Overriding, 3=Specific Allocation Account Standing)
MiscFeesGrpRepeating groupCount tag 136—
Required if any miscellaneous fees are reported. Indicates number of repeating entries. Repeating group within Alloc repeating group. ** Nested Repeating Group follows **
MiscFeesGrp definition & usage →
Required if NoMiscFees > 0
Required if NoMiscFees > 0
Required if NoMiscFees > 0
StandardTrailerComponentRequired
StandardTrailer definition & usage →
Required when trailer contains signature. Note: Not to be included within SecureData field
Note: Not to be included within SecureData field
(Always unencrypted, always last field in message)