Description
The Confirmation messages are used to provide individual trade level confirmations from the sell side to the buy side. In versions of FIX prior to version 4.4, this role was performed by the allocation message. Unlike the allocation message, the confirmation message operates at an allocation account (trade) level rather than block level, allowing for the affirmation or rejection of individual confirmations.
This message is also used to report back, confirm or exception, the booking status of each allocation instance. When the buy-side, in response, "affirms" with the ConfirmationAck <AU> message, the trade is ready to settle.
Because each message reports the details of a single "ticket", Account <1> names, fees, net money, and settlement information are reported using fields designated for single-account trades.
Every Confirmation message has a unique ConfirmID <664>. It is recommended that the sellside system trade reference be used as ConfirmID <664> where possible, in order to enable the ConfirmID <664> to be used as a mutually understood trade reference (e.g. for use in manual conversations regarding specific trades).
The capacity or capacities of the firm executing the order or orders covered by this confirmation is represented in a repeating group. This is to support confirmations covering orders executed under more than one capacity (e.g. a mixture of agency and principal execution). The OrderCapacityQty <863> field (inside this repeating group) gives the quantity executed under each OrderCapacity <528>. The sum of the OrderCapacityQty <863> values must equal the confirmation's AllocQty <80>.
Confirmation
Structure
Tag | Field Name | Req'd | Comments | |
---|---|---|---|---|
Component Block - <StandardHeader> | Y | MsgType <35> = AK | ||
664 | ConfirmID | Y | Unique ID for this message | |
772 | ConfirmRefID | N | Mandatory if ConfirmTransType is Replace or Cancel | |
859 | ConfirmReqID | N | Only used when this message is used to respond to a confirmation request (to which this ID refers) | |
666 | ConfirmTransType | Y | New, Cancel or Replace | |
773 | ConfirmType | Y | Denotes whether this message represents a confirmation or a trade status message | |
797 | CopyMsgIndicator | N |
Denotes whether or not this message represents copy confirmation (or status message) Absence of this field indicates message is not a drop copy. |
|
650 | LegalConfirm | N |
Denotes whether this message represents the legally binding confirmation Absence of this field indicates message is not a legal confirm. |
|
665 | ConfirmStatus | Y | ||
573 | MatchStatus | N | ||
940 | AffirmStatus | N |
Used to communicate an "affirmed" Confirmation <AK> status message (i.e. when ConfirmType <773> = 1 (Status)) to interested parties that need to or should receive such confirmation status message. This field must not be used when sending a Confirmation <AK> message that needs to be affirmed. |
|
Component Block - <RegulatoryTradeIDGrp> | N | |||
2390 | TradeConfirmationReferenceID | N | ||
1832 | ClearedIndicator | N |
Used to communicate the status of the central clearing workflow. |
|
Component Block - <Parties> | N |
Insert here the set of "Parties" (firm identification) fields defined in "Common Components of Application Messages" Required for fixed income Also to be used in associated with ProcessCode for broker of credit (e.g. for directed brokerage trades) Also to be used to specify party-specific regulatory details (e.g. full legal name of contracting legal entity, registered address, regulatory status, any registration details) |
||
Component Block - <OrdAllocGrp> | N | Indicates number of orders to be combined for allocation. If order(s) were manually delivered set to 1 (one).Required when AllocNoOrdersType = 1 | ||
Component Block - <ExecAllocGrp> | N | |||
70 | AllocID | N | Used to refer to an earlier Allocation Instruction. | |
793 | SecondaryAllocID | N | Used to refer to an earlier Allocation Instruction via its secondary identifier | |
467 | IndividualAllocID | N | Used to refer to an allocation account within an earlier Allocation Instruction. | |
828 | TrdType | N | ||
829 | TrdSubType | N | ||
855 | SecondaryTrdType | N | ||
1937 | TradeContinuation | N | ||
2374 | TradeContinuationText | N | ||
2372 | EncodedTradeContinuationTextLen | N |
Must be set if EncodedTradeContinuationText <2371> field is specified and must immediately precede it. |
|
2371 | EncodedTradeContinuationText | N |
Encoded (non-ASCII characters) representation of the TradeContinuationText <2374> field in the encoded format specified via the MessageEncoding <347> field. |
|
574 | MatchType | N | ||
60 | TransactTime | Y | Represents the time this message was generated | |
75 | TradeDate | Y | ||
Component Block - <TrdRegTimestamps> | N | Time of last execution being confirmed by this message | ||
Component Block - <Instrument> | Y | Insert here the set of "Instrument" (symbology) fields defined in "Common Components of Application Messages" | ||
Component Block - <InstrumentExtension> | N | Insert here the set of "InstrumentExtension" fields defined in "Common Components of Application Messages" | ||
Component Block - <FinancingDetails> | N | Insert here the set of "FinancingDetails" fields defined in "Common Components of Application Messages" | ||
Component Block - <UndInstrmtGrp> | N | |||
Component Block - <InstrmtLegGrp> | N | |||
Component Block - <YieldData> | N | If traded on Yield, price must be calculated "to worst" and the component block must specify how calculated, redemption date and price (if not par). If traded on Price, the component block must specify how calculated - "Worst", and include redemptiondate and price (if not par). | ||
80 | AllocQty | Y | The quantity being confirmed by this message (this is at a trade level, not block or order level) | |
854 | QtyType | N | ||
54 | Side | Y | ||
15 | Currency | N | ||
2897 | CurrencyCodeSource | N | ||
30 | LastMkt | N | ||
Component Block - <CpctyConfGrp> | Y | |||
79 | AllocAccount | Y | Account number for the trade being confirmed by this message | |
661 | AllocAcctIDSource | N | ||
798 | AllocAccountType | N | ||
6 | AvgPx | Y |
Gross price for the trade being confirmed Always expressed in percent-of-par for Fixed Income |
|
74 | AvgPxPrecision | N | Absence of this field indicates that default precision arranged by the broker/institution is to be used | |
423 | PriceType | N | Price type for the AvgPx field | |
Component Block - <PriceQualifierGrp> | N | |||
860 | AvgParPx | N | ||
Component Block - <SpreadOrBenchmarkCurveData> | N | Insert here the set of "SpreadOrBenchmarkCurveData" fields defined in "Common Components of Application Messages" | ||
861 | ReportedPx | N | Reported price (may be different to AvgPx in the event of a marked-up or marked-down principal trade) | |
58 | Text | N | ||
354 | EncodedTextLen | N | ||
355 | EncodedText | N | ||
81 | ProcessCode | N | Used to identify whether the trade was a soft dollar trade, step in/out etc. Broker of credit, where relevant, can be specified using the Parties nested block above. | |
381 | GrossTradeAmt | Y | AllocQty <80> * AvgPx <6> | |
157 | NumDaysInterest | N | ||
230 | ExDate | N | Optional "next coupon date" for Fixed Income | |
158 | AccruedInterestRate | N | ||
159 | AccruedInterestAmt | N | Required for Fixed Income products that trade with accrued interest | |
738 | InterestAtMaturity | N | Required for Fixed Income products that pay lump sum interest at maturity | |
920 | EndAccruedInterestAmt | N | For repurchase agreements the accrued interest on termination. | |
921 | StartCash | N | For repurchase agreements the start (dirty) cash consideration | |
922 | EndCash | N | For repurchase agreements the end (dirty) cash consideration | |
238 | Concession | N | ||
237 | TotalTakedown | N | ||
118 | NetMoney | Y | ||
890 | MaturityNetMoney | N | Net Money at maturity if Zero Coupon and maturity value is different from par value | |
119 | SettlCurrAmt | N | ||
120 | SettlCurrency | N | ||
2899 | SettlCurrencyCodeSource | N | ||
155 | SettlCurrFxRate | N | ||
156 | SettlCurrFxRateCalc | N | ||
63 | SettlType | N | ||
64 | SettlDate | N | ||
Component Block - <SettlInstructionsData> | N |
Insert here the set of "SettlInstructionsData" fields defined in "Common Components of Application Messages" Used to communicate settlement instructions for this Confirmation. |
||
Component Block - <CommissionData> | N | |||
858 | SharedCommission | N | Used to identify any commission shared with a third party (e.g. directed brokerage) | |
Component Block - <CommissionDataGrp> | N |
Use as an alternative to CommissionData if multiple commissions or enhanced attributes are needed. |
||
Component Block - <Stipulations> | N | |||
Component Block - <MiscFeesGrp> | N | Required if any miscellaneous fees are reported. | ||
Component Block - <MatchExceptionGrp> | N | |||
Component Block - <MatchingDataPointGrp> | N | |||
Component Block - <StandardTrailer> | Y |