Confirmation (MsgType = AK, FIXML = Cnfm)

The Confirmation (AK) messages are used to provide individual trade level confirmations from thesell side to the buy side. In versions of FIX prior to version 4.4, this role was performed by the allocation message. Unlikethe allocation message, the confirmation message operates at an allocation account (trade) level rather than block level, allowingfor 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 thebuy-side, in response, affirms with the ConfirmationAck 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 (AK) message has a unique ConfirmID.It is recommended that the sellside systemtrade reference be used as ConfirmID (664) where possible, in order to enablethe ConfirmID (664) to be used as a mutually understood trade reference (e.g. for use in manual conversationsregarding specific trades).

The capacity or capacities of the firm executing the order or orders covered by this confirmation is represented in arepeating group. This is to support confirmations covering orders executed under more than one capacity (e.g. a mixture of agencyand principal execution). The OrderCapacityQty (863) field (inside this repeating group) gives the quantityexecuted under each OrderCapacity. The sum of the OrderCapacityQty (863) values must equal theconfirmations AllocQty (80) .

Tag Field Name FIXML Req'd Comments
<Standard Message Header> Y MsgType = AK
664 ConfirmID @CnfmID Y Used to identify any commission shared with a third party (e.g. directed brokerage)
772 ConfirmRefID @CnfmRefID C

Mandatory if ConfirmTransType is Replace or Cancel

859 ConfirmReqID @CnfmReqID N

Only used when this message is used to respond to a confirmation request (to which this ID refers)

666 ConfirmTransType @CnfmTransTyp Y

New, Cancel or Replace

773 ConfirmType @CnfmTyp Y

Denotes whether this message represents a confirmation or a trade status message

797 CopyMsgIndicator @CopyMsgInd 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 @LegalCnfm N

Denotes whether this message represents the legally binding confirmation

Absence of this field indicates message is not a legal confirm.

665 ConfirmStatus @CnfmStat Y

Identifies the status of the Confirmation.

573 MatchStatus @MtchStat N

The status of this trade with respect to matching or comparison.

940 AffirmStatus @AffirmStat N

Used to communicate an "affirmed" Confirmation(35=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(35=AK) message that needs to be affirmed.

<RegulatoryTradeIDGrp> N Required if any miscellaneous fees are reported.
2390 TradeConfirmationReferenceID @TrdCnfmRefID N

A reference or control identifier or number used as a trade confirmation key.

An example of a control identifier is the DTC ID Control Number.

1832 ClearedIndicator @Clrd N

Used to communicate the status of the central clearing workflow.

<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)

<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

<ExecAllocGrp> N

An indication of the general description of the asset class.

70 AllocID @AllocID N

Used to refer to an earlier Allocation Instruction.

793 SecondaryAllocID @AllocID2 N

Used to refer to an earlier Allocation Instruction via its secondary identifier

467 IndividualAllocID @IndAllocID N

Used to refer to an allocation account within an earlier Allocation Instruction.

828 TrdType @TrdTyp N

Type of trade assigned to a trade. SecondaryTrdType(855) and TertiaryTrdType(2896) may be used in addition to TrdType(828) to assign up to three different trade types to a single trade.

Note: several enumerations of this field duplicate the enumerations in TradePriceCondition(1839) field. These may be deprecated from TrdType(828) in the future. TradePriceCondition(1839) is preferred in messages that support it.

829 TrdSubType @TrdSubTyp N

Further qualification to the trade type defined in TrdType(828).

855 SecondaryTrdType @TrdTyp2 N

Type of trade assigned to a trade. Used in addition to TrdType(828). Must not be used when only one trade type needs to be assigned.

1937 TradeContinuation @TrdContntn N

Specifies the post-execution trade continuation or lifecycle event. Additional values may be used by mutual agreement of the counterparties.

2374 TradeContinuationText @TrdContntnTxt N

Free form text to specify additional trade continuation information or data.

2372 EncodedTradeContinuationTextLen @EncTrdContntnTextLen N

Must be set if EncodedTradeContinuationText(2371) field is specified and must immediately precede it.

2371 EncodedTradeContinuationText @EncTrdContntnText N

Encoded (non-ASCII characters) representation of the TradeContinuationText(2374) field in the encoded format specified via the MessageEncoding(347) field.

574 MatchType @MtchTyp N

The point in the matching process at which this trade was matched.

60 TransactTime @TxnTm Y

Represents the time this message was generated

75 TradeDate @TrdDt Y

Indicates date of trading day. Absence of this field indicates current day (expressed in local time at place of trade).

<TrdRegTimestamps> N

Time of last execution being confirmed by this message. Use ExecutionTimestamp(2749) in ExecAllocGrp component when there are multiple trades.

<Instrument> Y
<InstrumentExtension> N
<FinancingDetails> N
<UndInstrmtGrp> N

Free form text to specify additional information or enumeration description when a standard value does not apply.

<InstrmtLegGrp> N

Relevant settled entity matrix source.

<YieldData> N
80 AllocQty @Qty Y

The quantity being confirmed by this message (this is at a trade level, not block or order level)

854 QtyType @QtyTyp N

Type of quantity specified in quantity field. ContractMultiplier (tag 231) is required when QtyType = 1 (Contracts). UnitOfMeasure (tag 996) and TimeUnit (tag 997) are required when QtyType = 2 (Units of Measure per Time Unit).

54 Side @Side Y

Side of order (see Volume : "Glossary" for value definitions)

15 Currency @Ccy N

Identifies currency used for price or quantity fields, depending on the asset class being traded. CurrencyCodeSource(2897) may be used to disambiguate the code source scheme used, and ISO 4217 is the default scheme if absent.

Absence of this field is interpreted as the default currency for the security as defined by the respective reference data. It is recommended that systems provide the currency value whenever possible.

For securities trading and digital assets traded securities-style, identifies the currency used to denote the price. Absence of this field is interpreted as the default for the security. For Foreign Exchange (FX) and digital assets traded FX-style, identifies the dealt currency used to denominate the quantity related field(s).

2897 CurrencyCodeSource @CcySrc N

Identifies class or source of the Currency(15) value.

30 LastMkt @LastMkt N

Market of execution for last fill, or an indication of the market where an order was routed

Valid values:

See "Appendix 6-C"

In the context of ESMA RTS 1 Annex I, Table 3, Field 6 "Venue of Execution" it is required that the "venue where the transaction was executed" be identified using ISO 10383 (MIC). Additionally, ESMA requires the use of "MIC code 'XOFF' for financial instruments admitted to trading or traded on a trading venue, where the transaction on that financial instrument is not executed on a trading venue, systematic internaliser or organized trading platform outside of the Union. Use 'SINT' for financial instruments admitted to trading or traded on a trading venue, where the transaction is executed on a systematic internaliser."

<CpctyConfGrp> Y

The broad asset category for assessing risk exposure.

79 AllocAccount @Acct Y

Account number for the trade being confirmed by this message

661 AllocAcctIDSource @ActIDSrc N

Used to identify the source of the AllocAccount (79) code.

See AcctIDSource (660) for valid values.

798 AllocAccountType @AcctTyp N

Type of account associated with a confirmation or other trade-level message

6 AvgPx @AvgPx Y

Gross price for the trade being confirmed

Always expressed in percent-of-par for Fixed Income

74 AvgPxPrecision @AvgPxPrcsn N

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

423 PriceType @PxTyp N

Price type for the AvgPx field

<PriceQualifierGrp> N

Used for the calculated quantity of the other side of the currency for this leg. Can be derived from LegQty and LegLastPx.

860 AvgParPx @AvgParPx N

Used to express average price as percent of par (used where AvgPx field is expressed in some other way)

<SpreadOrBenchmarkCurveData> N
861 ReportedPx @RptedPx N

Reported price (may be different to AvgPx in the event of a marked-up or marked-down principal trade)

58 Text @Txt N

Free format text string

(Note: this field does not have a specified maximum length)

354 EncodedTextLen @EncTxtLen C

Byte length of encoded (non-ASCII characters) EncodedText (355) field.

355 EncodedText @EncTxt C

Encoded (non-ASCII characters) representation of the Text (58) field in the encoded format specified via the MessageEncoding (347) field. If used, the ASCII (English) representation should also be specified in the Text(58) field.

81 ProcessCode @ProcCode 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 @GrossTrdAmt Y

Gross trade amount for the allocated account being confirmed.

157 NumDaysInterest @NumDaysInt N

Number of Days of Interest for convertible bonds and fixed income. Note value may be negative.

230 ExDate @ExDt N

Optional "next coupon date" for Fixed Income

158 AccruedInterestRate @AcrdIntRt N

The amount the buyer compensates the seller for the portion of the next coupon interest payment the seller has earned but will not receive from the issuer because the issuer will send the next coupon payment to the buyer. Accrued Interest Rate is the annualized Accrued Interest amount divided by the purchase price of the bond.

159 AccruedInterestAmt @AcrdIntAmt N

Required for Fixed Income products that trade with accrued interest

738 InterestAtMaturity @IntAtMat N

Required for Fixed Income products that pay lump sum interest at maturity

920 EndAccruedInterestAmt @EndAcrdIntAmt N

For repurchase agreements the accrued interest on termination.

921 StartCash @StartCsh N

For repurchase agreements the start (dirty) cash consideration

922 EndCash @EndCsh N

For repurchase agreements the end (dirty) cash consideration

238 Concession @Concession N

Provides the reduction in price for the secondary market in Muncipals.

(Note tag # was reserved in FIX 4.1, added in FIX 4.3)

237 TotalTakedown @TotTakedown N

The price at which the securities are distributed to the different members of an underwriting group for the primary market in Municipals, total gross underwriter's spread.

(Note tag # was reserved in FIX 4.1, added in FIX 4.3)

118 NetMoney @NetMny Y

Total amount due as the result of the transaction (e.g. for Buy order - principal + commission + fees) reported in currency of execution.

890 MaturityNetMoney @MatNetMny N

Net Money at maturity if Zero Coupon and maturity value is different from par value

119 SettlCurrAmt @SettlCurrAmt N

Total amount due expressed in settlement currency (includes the effect of the forex transaction)

120 SettlCurrency @SettlCcy N

Currency code of settlement denomination.

2899 SettlCurrencyCodeSource @SettlCcySrc N

Identifies class or source of the SettlCurrency(120) value.

155 SettlCurrFxRate @SettlCurrFxRt N

Foreign exchange rate used to compute SettlCurrAmt(119) from Currency(15) to SettlCurrency(120).

156 SettlCurrFxRateCalc @SettlCurrFxRtCalc N

Specifies whether or not SettlCurrFxRate (155) should be multiplied or divided.

63 SettlType @SettlTyp N

Indicates order settlement period. If present, SettlDate (64) overrides this field. If both SettlType (63) and SettDate (64) are omitted, the default for SettlType (63) is 0 (Regular)

Regular is defined as the default settlement period for the particular security on the exchange of execution.

In Fixed Income the contents of this field may influence the instrument definition if the SecurityID (48) is ambiguous. In the US an active Treasury offering may be re-opened, and for a time one CUSIP will apply to both the current and "when-issued" securities. Supplying a value of "7" clarifies the instrument description; any other value or the absence of this field should cause the respondent to default to the active issue.

Additionally the following patterns may be uses as well as enum values

Dx = FX tenor expression for "days", e.g. "D5", where "x" is any integer > 0

Mx = FX tenor expression for "months", e.g. "M3", where "x" is any integer > 0

Wx = FX tenor expression for "weeks", e.g. "W13", where "x" is any integer > 0

Yx = FX tenor expression for "years", e.g. "Y1", where "x" is any integer > 0

Noted that for FX the tenors expressed using Dx, Mx, Wx, and Yx values do not denote business days, but calendar days.

64 SettlDate @SettlDt C

Specific date of trade settlement (SettlementDate) in YYYYMMDD format.

If present, this field overrides SettlType (63). This field is required if the value of SettlType (63) is 6 (Future) or 8 (Sellers Option). This field must be omitted if the value of SettlType (63) is 7 (When and If Issued)

(expressed in local time at place of settlement)

<SettlInstructionsData> N
<CommissionData> N
858 SharedCommission @SharedComm N

Used to identify any commission shared with a third party (e.g. directed brokerage)

<CommissionDataGrp> N

Use as an alternative to CommissionData if multiple commissions or enhanced attributes are needed.

<Stipulations> N

PartyID value within an instrument party repeating group. Same values as PartyID (448)

<MiscFeesGrp> N

Required if any miscellaneous fees are reported.

<MatchExceptionGrp> N
<MatchingDataPointGrp> N
<Standard Message Trailer> Y