Definition
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 message, the trade is ready to settle.
Message structure 314 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 = AK
StandardHeader definition & usage →
FIX.4.4 (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 Volume 1: 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 by the FIX engine and processed by downstream application, such as trading system or order routing system. Can be specified on every message sent. Useful for detecting a backlog with a counterparty.
HopRepeating groupCount tag 627—
Number of repeating groups of historical "hop" information. Only applicable if OnBehalfOfCompID is used, however, its use is optional. Note that some market regulations or counterparties may require tracking of message hops.
Unique ID for this message
Mandatory if ConfirmTransType is Replace or Cancel
Only used when this message is used to respond to a confirmation request (to which this ID refers)
New, Cancel or Replace
Denotes whether this message represents a confirmation or a trade status message
Denotes whether or not this message represents copy confirmation (or status message) Absence of this field indicates message is not a drop copy.
Denotes whether this message represents the legally binding confirmation Absence of this field indicates message is not a legal confirm.
PartiesRepeating groupCount tag 453—
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)
Repeating group below should contain unique combinations of PartyID, PartyIDSource, and PartyRole
Used to identify source of PartyID. Required if PartyIDSource is specified. Required if NoPartyIDs > 0.
Used to identify class source of PartyID value (e.g. BIC). Required if PartyID is specified. Required if NoPartyIDs > 0.
Identifies the type of PartyID (e.g. Executing Broker). Required if NoPartyIDs > 0.
PtysSubGrpRepeating groupCount tag 802—
Repeating group of Party sub-identifiers.
PtysSubGrp definition & usage →
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 →
NestedParties2Repeating groupCount tag 756—
NestedParties2 definition & usage →
Repeating group below should contain unique combinations of Nested2PartyID, Nested2PartyIDSource, and Nested2PartyRole
Used to identify source of Nested2PartyID. Required if Nested2PartyIDSource is specified. Required if NoNested2PartyIDs > 0.
Used to identify class source of Nested2PartyID value (e.g. BIC). Required if Nested2PartyID is specified. Required if NoNested2PartyIDs > 0.
Identifies the type of Nested2PartyID (e.g. Executing Broker). Required if NoNested2PartyIDs > 0.
NstdPtys2SubGrpRepeating groupCount tag 806—
Repeating group of Nested2Party sub-identifiers.
NstdPtys2SubGrp definition & usage →
Used to refer to an earlier Allocation Instruction.
Used to refer to an earlier Allocation Instruction via its secondary identifier
Used to refer to an allocation account within an earlier Allocation Instruction.
Represents the time this message was generated
TrdRegTimestampsRepeating groupCount tag 768—
Time of last execution being confirmed by this message
TrdRegTimestamps definition & usage →
Required if NoTrdRegTimestamps > 1
Required if NoTrdRegTimestamps > 1
Optional
InstrumentComponentRequired
Instrument definition & usage →
Common, "human understood" representation of the security. SecurityID value can be specified if no symbol exists (e.g. non-exchange traded Collective Investment Vehicles) Use "[N/A]" for products which do not have a symbol.
Used in Fixed Income with a value of "WI" to indicate "When Issued" for a security to be reissued under an old CUSIP or ISIN or with a value of "CD" to indicate a EUCP with lump-sum interest rather than discount price.
Takes precedence in identifying security to counterparty over SecurityAltID block. Requires SecurityIDSource if specified.
Required if SecurityID is specified.
SecAltIDGrpRepeating groupCount tag 454—
Number of alternate Security Identifiers
SecAltIDGrp definition & usage →
Indicates the type of product the security is associated with (high-level category)
Indicates the type of security using ISO 10962 standard, Classification of Financial Instruments (CFI code) values. It is recommended that CFICode be used instead of SecurityType for non-Fixed Income instruments.
It is recommended that CFICode be used instead of SecurityType for non-Fixed Income instruments. Required for Fixed Income. Refer to Volume 7 - Fixed Income Futures and Options should be specified using the CFICode[461] field instead of SecurityType[167] (Refer to Volume 7 - Recommendations and Guidelines for Futures and Options Markets.)
Sub-type qualification/identification of the SecurityType (e.g. for SecurityType="MLEG"). If specified, SecurityType is required.
Specifies the month and year of maturity. Applicable for standardized derivatives which are typically only referenced by month and year (e.g. S&P futures). Note MaturityDate (a full date) can also be specified.
Specifies date of maturity (a full date). Note that standardized derivatives which are typically only referenced by month and year (e.g. S&P futures).may use MaturityMonthYear and/or this field. When using MaturityMonthYear, it is recommended that markets and sell sides report the MaturityDate on all outbound messages as a means of data enrichment.
For Options.
Date interest is to be paid. Used in identifying Corporate Bond issues.
Date instrument was issued. For Fixed Income IOIs for new issues, specifies the issue date.
(Deprecated, use UnderlyingSecurityType (310) )
(Deprecated, use TerminationType (788) )
(Deprecated, use Price (44) )
For Fixed Income: Amortization Factor for deriving Current face from Original face for ABS or MBS securities, note the fraction may be greater than, equal to or less than 1. In TIPS securities this is the Inflation index. Qty * Factor * Price = Gross Trade Amount For Derivatives: Contract Value Factor by which price must be adjusted to determine the true nominal value of one futures/options contract. (Qty * Price) * Factor = Nominal Value
The location at which records of ownership are maintained for this instrument, and at which ownership changes must be recorded. Can be used in conjunction with ISIN to address ISIN uniqueness issues.
ISO Country code of instrument issue (e.g. the country portion typically used in ISIN). Can be used in conjunction with non-ISIN SecurityID (e.g. CUSIP for Municipal Bonds without ISIN) to provide uniqueness.
A two-character state or province abbreviation.
The three-character IATA code for a locale (e.g. airport code for Municipal Bonds).
(Deprecated, use YieldRedemptionDate (696) in <YieldData> component block)
Used for derivatives, such as options and covered warrants
Used for derivatives
Used for derivatives, such as options and covered warrants to indicate a versioning of the contract when required due to corporate actions to the underlying. Should not be used to indicate type of option - use the CFICode[461] for this purpose.
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.
Identifies MBS / ABS pool
Must be present for MBS/TBA
The program under which a commercial paper is issued
The registration type of a commercial paper issuance
EvntGrpRepeating groupCount tag 864—
Number of repeating EventType group entries.
If different from IssueDate
If different from IssueDate and DatedDate
InstrumentExtensionComponent—
InstrumentExtension definition & usage →
Identifies the form of delivery.
Percent at risk due to lowest possible call.
AttrbGrpRepeating groupCount tag 870—
Number of repeating InstrAttrib group entries.
FinancingDetailsComponent—
FinancingDetails definition & usage →
The full name of the base standard agreement, annexes and amendments in place between the principals and applicable to this deal
A common reference to the applicable standing agreement between the principals
A reference to the date the underlying agreement was executed.
Currency of the underlying agreement.
For Repos the timing or method for terminating the agreement.
Settlement date of the beginning of the deal
Repayment / repurchase date
Delivery or custody arrangement for the underlying securities
Percentage of cash value that underlying security collateral must meet.
UndInstrmtGrpRepeating groupCount tag 711Required
Indicates number of repeating entries. ** Nested Repeating Group follows **
UndInstrmtGrp definition & usage →
UnderlyingInstrumentComponent—
UnderlyingInstrument definition & usage →
(Deprecated, not applicable/used for Repos)
(Deprecated, not applicable/used for Repos)
(Deprecated, not applicable/used for Repos)
(Deprecated, use YieldRedemptionDate (696) in <YieldData> component block)
Specific to the <UnderlyingInstrument> (not in <Instrument>)
Specific to the <UnderlyingInstrument> (not in <Instrument>) Unit amount of the underlying security (par, shares, currency, etc.)
Specific to the <UnderlyingInstrument> (not in <Instrument>) In a financing deal clean price (percent-of-par or per unit) of the underlying security or basket.
Specific to the <UnderlyingInstrument> (not in <Instrument>) In a financing deal price (percent-of-par or per unit) of the underlying security or basket. "Dirty" means it includes accrued interest
Specific to the <UnderlyingInstrument> (not in <Instrument>) In a financing deal price (percent-of-par or per unit) of the underlying security or basket at the end of the agreement.
Specific to the <UnderlyingInstrument> (not in <Instrument>) Currency value attributed to this collateral at the start of the agreement
Specific to the <UnderlyingInstrument> (not in <Instrument>) Currency value currently attributed to this collateral
Specific to the <UnderlyingInstrument> (not in <Instrument>) Currency value attributed to this collateral at the end of the agreement
UnderlyingStipulationsRepeating groupCount tag 887—
Specific to the <UnderlyingInstrument> (not in <Instrument>)
UnderlyingStipulations definition & usage →
Required if NoUnderlyingStips >0
InstrmtLegGrpRepeating groupCount tag 555Required
Indicates number of repeating entries. ** Nested Repeating Group follows **
InstrmtLegGrp definition & usage →
InstrumentLegComponent—
InstrumentLeg definition & usage →
(Deprecated, not applicable/used for Repos)
(Deprecated, not applicable/used for Repos)
(Deprecated, not applicable/used for Repos)
(Deprecated, use YieldRedemptionDate (696) in <YieldData> component block)
Specific to the <InstrumentLeg> (not in <Instrument>)
Specific to the <InstrumentLeg> (not in <Instrument>)
Specific to the <InstrumentLeg> (not in <Instrument>)
Identifies MBS / ABS pool
YieldDataComponent—
If traded on Yield, price must be calculated "to worst" and the <Yield> component block must specify how calculated, redemption date and price (if not par). If traded on Price, the <Yield> component block must specify how calculated - "Worst", and include redemptiondate and price (if not par).
YieldData definition & usage →
The quantity being confirmed by this message (this is at a trade level, not block or order level)
CpctyConfGrpRepeating groupCount tag 862Required
Indicates number of repeating entries. ** Nested Repeating Group follows **
CpctyConfGrp definition & usage →
Account number for the trade being confirmed by this message
Gross price for the trade being confirmed Always expressed in percent-of-par for Fixed Income
Absence of this field indicates that default precision arranged by the broker/institution is to be used
Price type for the AvgPx field
SpreadOrBenchmarkCurveDataComponent—
SpreadOrBenchmarkCurveData definition & usage →
For Fixed Income
Must be present if BenchmarkPrice is used.
The identifier of the benchmark security, e.g. Treasury against Corporate bond.
Source of BenchmarkSecurityID. If not specified, then ID Source is understood to be the same as that in the Instrument block.
Reported price (may be different to AvgPx in the event of a marked-up or marked-down principal trade)
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.
Optional "next coupon date" for Fixed Income
Required for Fixed Income products that trade with accrued interest
Required for Fixed Income products that pay lump sum interest at maturity
For repurchase agreements the accrued interest on termination.
For repurchase agreements the start (dirty) cash consideration
For repurchase agreements the end (dirty) cash consideration
Net Money at maturity if Zero Coupon and maturity value is different from par value
SettlInstructionsDataComponent—
Used to communicate settlement instructions for this Confirmation.
SettlInstructionsData definition & usage →
Required if AllocSettlInstType = 1 or 2
Required if AllocSettlInstType = 3 (should not be populated otherwise)
Required if AllocSettlInstType = 3 (should not be populated otherwise)
Identifier used within the StandInstDbType Required if AllocSettlInstType = 3 (should not be populated otherwise)
DlvyInstGrpRepeating groupCount tag 85—
Required (and must be > 0) if AllocSettlInstType = 2 (should not be populated otherwise)
DlvyInstGrp definition & usage →
SettlPartiesRepeating groupCount tag 781—
SettlParties definition & usage →
Repeating group below should contain unique combinations of SettlPartyID, SettlPartyIDSource, and SettlPartyRole
Used to identify source of SettlPartyID. Required if SettlPartyIDSource is specified. Required if NoSettlPartyIDs > 0.
Used to identify class source of SettlPartyID value (e.g. BIC). Required if SettlPartyID is specified. Required if NoSettlPartyIDs > 0.
Identifies the type of SettlPartyID (e.g. Executing Broker). Required if NoSettlPartyIDs > 0.
SettlPtysSubGrpRepeating groupCount tag 801—
Repeating group of SettlParty sub-identifiers.
SettlPtysSubGrp definition & usage →
Used to identify any commission shared with a third party (e.g. directed brokerage)
StipulationsRepeating groupCount tag 232—
Stipulations definition & usage →
Required if NoStipulations >0
MiscFeesGrpRepeating groupCount tag 136—
Required if any miscellaneous fees are reported. Indicates number of repeating entries. Repeating group. ** Nested Repeating Group follows **
MiscFeesGrp definition & usage →
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)