FIX 4.3 : Allocation <J> message

Structure | Related Messages

Description

The Allocation <J> message provides the ability to specify how an order or set of orders should be subdivided amongst one or more accounts. It can also be used as a confirmation message through which third parties can communicate execution and settlement details between trading partners. In addition, the Allocation <J> message can be sent by the broker to communicate fees and other details that can only be computed once the sub-account breakdowns are known. Note the response to the Allocation <J> message is the Allocation ACK <P> message.

The Allocation <J> message can also be sent by the buyside firm after execution to indicate to the sellside firm that one or a combined (aggregated) set of orders are "Ready-To-Book" without specifying individual account breakdowns. This can be used to trigger post-trade allocation, matching, and settlement processing via other channels (e.g. post-trade industry utilities).

Allocation <J> is typically communicated Post-Trade (after fills have been received and processed). It can, however, also be communicated Pre-Trade (at the time the order is being placed) to specify the account(s) and their respective order quantities which make up the order. This is a regulatory requirement in certain markets and for certain types of securities.

An Allocation <J> message can be submitted with AllocTransType <71> of new, cancel or replace. The AllocType <626> field indicates the type or purpose of the message:

  • Buyside Calculated (includes MiscFees and NetMoney <118>)
  • Buyside Preliminary (without MiscFees and NetMoney <118>)
  • Sellside Calculated Using Preliminary (includes MiscFees and NetMoney <118>)
  • Sellside Calculated Without Preliminary (sent unsolicited by sellside, includes MiscFees and NetMoney <118>)
  • Buyside Ready-To-Book - Single Order
  • Buyside Ready-To-Book - Combined Set of Orders

General guidelines applicable to this message:

The Allocation message contains repeating fields for each order, sub-account and individual execution. The repeating fields are shown below are marked with the =>symbol. The field's relative position in the message is important. For example, each instance of allocation must be in the order shown below.

  • The total quantity allocated must equal the Quantity value which must equal the total executed quantity of the original order. If present, the total quantity in the execution section must also be equal to this value.
  • The number of sub-account instances is indicated in NoAllocs <78>.
  • Multiple orders can be combined for allocation or for AllocType <626>=" Buyside Ready-To-Book - Combined Set of Orders" by identifying the number of orders in the NoOrders <73> field and each individual order in the OrderID <37> fields. Combined orders must have the same ticker, trade date, settlement date and side.

Pre-Trade Allocation consists of the following steps:

Post-Trade Allocation can be computed via one of two methods:

  1. Using Average Price: Each AllocAccount <79> has a single AllocAvgPx <153>
  2. Using Executed Price: Combination of each AllocAccount <79> and AllocPrice <366> (unique LastPx <31>) (e.g. Japan)

Post-Trade Allocation supports three different message flows (all use and end with AllocationACK messages):

  1. Buyside initiated without Misc Fee and Net Money computation (AllocType <626>="Buyside Preliminary" followed by sellside send with AllocType <626>="Sellside Calculated Using Preliminary")
  2. Buyside-initiated with Misc Fee and Net Money computation (AllocType <626>="Buyside Calculated")
  3. Sellside-initiated with Misc Fee and Net Money computatation sent unsolicited (AllocType <626>=" Sellside Calculated Without Preliminary ")

Post-Trade "Ready-To-Book" communication supports two modes:

  1. Buyside initiated indicating that a single order is now ready to begin the booking process (AllocType <626>="Buyside Ready-To-Book - Single Order")
  2. Buyside initiated indicating that a set of orders for the same security, side, settlement date, etc. is now ready to begin the booking process as a single aggregated unit (AllocType <626>="Buyside Ready-To-Book - Combined Set of Orders")

Two party Step-outs and Directed Commission <12> activity can be expressed as:

Entity Expressed As

Executing Broker:

(executes the trade)

NestedPartyRole <538> = "Executing Firm"

Step-in Broker/Settlement Broker:

(settles and receives commission/credit)

NestedPartyRole <538> = "Broker of Credit)"

AND

NestedPartyRole <538> = "Giveup Clearing Firm (firm to which a trade is given up)"

Three party Step-outs and Directed Commission <12> activity can be expressed as:

Entity Expressed As

Executing Broker:

(executes the trade)

NestedPartyRole <538> = "Executing Firm"

Broker of Credit

(receives commission/credit)

NestedPartyRole <538> = "Broker of Credit)"

Step-in Broker/Settlement Broker:

(settles the trade)

NestedPartyRole <538> = "Giveup Clearing Firm (firm to which a trade is given up)"

See VOLUME 5 - "Example Usage of Allocations and Ready-To-Book Messaging" for more examples and details.

Note: Req'd = "Y*" indicates that the field is not required for AllocTransType <71>=Cancel

Note: Req'd = "Y**" indicates that the field is not required for AllocTransType <71>=Cancel, nor is it required for AllocType <626>="Buyside Ready-To-Book - Single Order" or "Buyside Ready-To-Book - Combined Set of Orders".

Structure

Tag Field Name Req'd Comments
<MessageHeader> Y MsgType <35> = J
70 AllocID Y
71 AllocTransType Y

i.e. New, Cancel, Replace

626 AllocType Y

Specifies the purpose or type of Allocation <J> message

72 RefAllocID N

Required for AllocTransType <71> = Replace or Cancel

Required for AllocType <626> = "Sellside Calculated Using Preliminary"

196 AllocLinkID N

Can be used to link two different Allocation <J> messages (each with unique AllocID <70>) together, i.e. for F/X 'Netting' or 'Swaps'

197 AllocLinkType N

Can be used to link two different Allocation <J> messages and identifies the type of link. Required if AllocLinkID <196> is specified.

466 BookingRefID N

Can be used with AllocType <626>="Buyside Ready-To-Book - Single Order" or "Buyside Ready-To-Book - Combined Set of Orders"

73 NoOrders Y*

Indicates number of orders to be combined for allocation. If order(s) were manually delivered set to 1 (one).

Not required for AllocTransType <71>=Cancel

=> 11 ClOrdID Y*

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'.

Not required for AllocTransType <71>=Cancel

=> 37 OrderID N
=> 198 SecondaryOrderID N

Can be used to provide order id used by exchange or executing system.

=> 526 SecondaryClOrdID N
=> 66 ListID N

Required for List Orders.

124 NoExecs N

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.

=> 32 LastQty(formerly named: LastShares prior to FIX 4.3) N

Amount of quantity (e.g. number of shares) in individual execution. Required if NoExecs <124> > 0

=> 17 ExecID N
=> 527 SecondaryExecID N
=> 31 LastPx N

Price of individual execution. Required if NoExecs <124> > 0

=> 29 LastCapacity N

Can be specified by broker for AllocType <626>="Sellside Calculated Without Preliminary" and "Sellside Calculated Using Preliminary"

54 Side Y
Component Block - <Instrument> Y

Insert here the set of "<Instrument>" (symbology) fields

53 Quantity(formerly named: Shares prior to FIX 4.3) Y

Total quantity (e.g. number of shares) allocated to all accounts, or that is Ready-To-Book

30 LastMkt N

Market of the executions.

229 TradeOriginationDate N
336 TradingSessionID N
625 TradingSessionSubID N
423 PriceType N
6 AvgPx Y

For F/X orders, should be the 'all-in' rate (spot rate adjusted for forward points).

15 Currency N

Currency of AvgPx <6>. Should be the currency of the local market or exchange where the trade was conducted.

74 AvgPrxPrecision N

Absence of this field indicates that default precision arranged by the broker/institution is to be used

Component Block - <Parties> N

Insert here the set of "<Parties>" (firm identification) fields

75 TradeDate Y
60 TransactTime N

Date/time when allocation is generated

63 SettlmntTyp N
64 FutSettDate N

Takes precedence over SettlmntTyp <63> value and conditionally required/omitted for specific SettlmntTyp <63> values.

381 GrossTradeAmt N

Expressed in same currency as AvgPx <6>. Sum of (AllocQty <80> * AllocAvgPx <153> or AllocPrice <366>).

238 Concession N
237 TotalTakedown N
118 NetMoney N

Expressed in same currency as AvgPx <6>. Sum of AllocNetMoney <154>.

77 PositionEffect(formerly named: OpenClose prior to FIX 4.3) N
58 Text N
354 EncodedTextLen N

Must be set if EncodedText <355> field is specified and must immediately precede it.

355 EncodedText N

Encoded (non-ASCII characters) representation of the Text <58> field in the encoded format specified via the MessageEncoding <347> field.

157 NumDaysInterest N

Applicable for Convertible Bonds and fixed income

158 AccruedInterestRate N

Applicable for Convertible Bonds and fixed income

540 TotalAccruedInterestAmt N

Sum of AccruedInterestAmt <159> within repeating group.

650 LegalConfirm N
78 NoAllocs Y**

Indicates number of allocation groups to follow.

Not required for AllocTransType <71>=Cancel

Not required for AllocType <626>="Buyside Ready-To-Book - Single Order" or "Buyside Ready-To-Book - Combined Set of Orders".

=> 79 AllocAccount Y**

May be the same value as BrokerOfCredit <92> if ProcessCode <81> is step-out or soft-dollar step-out and Institution does not wish to disclose individual account breakdowns to the ExecBroker <76>. Required if NoAllocs <78> > 0. Must be first field in repeating group.

Not required for AllocTransType <71>=Cancel

Not required for AllocType <626>="Buyside Ready-To-Book - Single Order" or "Buyside Ready-To-Book - Combined Set of Orders".

=> 366 AllocPrice N

Used when performing 'executed price' vs. 'average price' allocations (e.g. Japan). AllocAccount <79> plus AllocPrice <366> form a unique Allocs entry. Used in lieu of AllocAvgPx <153>.

=> 80 AllocQty(formerly named: AllocShares prior to FIX 4.3) Y**

Not required for AllocTransType <71>=Cancel

Not required for AllocType <626>="Buyside Ready-To-Book - Single Order" or "Buyside Ready-To-Book - Combined Set of Orders".

=> 467 IndividualAllocID N
=> 81 ProcessCode N
=> Component Block - <NestedParties> N

Insert here the set of "<NestedParties>" (firm identification "nested" within additional repeating group) fields

Used for NestedPartyRole <538>=BrokerOfCredit, ExecBroker, ClientID, etc.

=> 208 NotifyBrokerOfCredit N
=> 209 AllocHandlInst N
=> 161 AllocText N

Free format text field related to this AllocAccount <79>

=> 360 EncodedAllocTextLen N

Must be set if EncodedAllocText <361> field is specified and must immediately precede it.

=> 361 EncodedAllocText N

Encoded (non-ASCII characters) representation of the AllocText <161> field in the encoded format specified via the MessageEncoding <347> field.

=> Component Block - <CommissionData> N

Insert here the set of "<CommissionData>" fields

=> 153 AllocAvgPx N

AvgPx <6> for this AllocAccount <79>. For F/X orders, should be the 'all-in' rate (spot rate adjusted for forward points) for this allocation.

=> 154 AllocNetMoney N

NetMoney <118> for this AllocAccount <79>

((AllocQty <80> * AllocAvgPx <153>) - Commission <12> - sum of MiscFeeAmt <137> + AccruedInterestAmt <159>) if a Sell

((AllocQty <80> * AllocAvgPx <153>) + Commission <12> + sum of MiscFeeAmt <137> + AccruedInterestAmt <159>) if a Buy

=> 119 SettlCurrAmt N

AllocNetMoney <154> in SettlCurrency <120> for this AllocAccount <79> if SettlCurrency <120> is different from 'overall' Currency <15>

=> 120 SettlCurrency N

SettlCurrency <120> for this AllocAccount <79> if different from 'overall' Currency <15>. Required if SettlCurrAmt <119> is specified.

=> 155 SettlCurrFxRate N

Foreign exchange rate used to compute SettlCurrAmt <119> from Currency <15> to SettlCurrency <120>

=> 156 SettlCurrFxRateCalc N

Specifies whether the SettlCurrFxRate <155> should be multiplied or divided

=> 159 AccruedInterestAmt N

Applicable for Convertible Bonds and fixed income

=> 160 SettlInstMode N

Type of Settlement Instructions which will be provided via Settlement Instructions <T> message (0=Default, 1=Standing Instructions, 2=Specific Allocation Account Overriding, 3=Specific Allocation Account Standing, 4= Specific Order)

=> 136 NoMiscFees N

Required if any miscellaneous fees are reported. Indicates number of repeating entries. Repeating group within Alloc repeating group.

** Nested Repeating Group follows **

=> => 137 MiscFeeAmt N

Required if NoMiscFees <136> > 0

=> => 138 MiscFeeCurr N

Required if NoMiscFees <136> > 0

=> => 139 MiscFeeType N

Required if NoMiscFees <136> > 0

<MessageTrailer> Y

 

Related Messages