Skip to content

FIX MESSAGE 35=AK

Confirmation

MsgType (35) = AKConfirmationAdded FIX.4.4

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.

  1. StandardHeaderComponentRequired

    MsgType = AK

    1. 8 BeginStringStringRequired here

      FIX.4.4 (Always unencrypted, must be first field in message)

    2. 9 BodyLengthLengthRequired here

      (Always unencrypted, must be second field in message)

    3. 35 MsgTypeStringRequired here

      (Always unencrypted, must be third field in message)

    4. 49 SenderCompIDStringRequired here

      (Always unencrypted)

    5. 56 TargetCompIDStringRequired here

      (Always unencrypted)

    6. Trading partner company ID used when sending messages via a third party (Can be embedded within encrypted data section.)

    7. Trading partner company ID used when sending messages via a third party (Can be embedded within encrypted data section.)

    8. Required to identify length of encrypted section of message. (Always unencrypted)

    9. Required when message body is encrypted. Always immediately follows SecureDataLen field.

    10. 34 MsgSeqNumSeqNumRequired here

      (Can be embedded within encrypted data section.)

    11. (Can be embedded within encrypted data section.)

    12. Sender's LocationID (i.e. geographic location and/or desk) (Can be embedded within encrypted data section.)

    13. "ADMIN" reserved for administrative messages not intended for a specific user. (Can be embedded within encrypted data section.)

    14. Trading partner LocationID (i.e. geographic location and/or desk) (Can be embedded within encrypted data section.)

    15. Trading partner SubID used when delivering messages via a third party. (Can be embedded within encrypted data section.)

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

    17. Trading partner SubID used when delivering messages via a third party. (Can be embedded within encrypted data section.)

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

    19. 43 PossDupFlagBoolean

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

    20. 97 PossResendBoolean

      Required when message may be duplicate of another message sent under a different sequence number. (Can be embedded within encrypted data section.)

    21. 52 SendingTimeUTCTimestampRequired here

      (Can be embedded within encrypted data section.)

    22. 122 OrigSendingTimeUTCTimestamp

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

    23. Required when specifying XmlData to identify the length of a XmlData message block. (Can be embedded within encrypted data section.)

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

    25. Type of message encoding (non-ASCII characters) used in a message’s "Encoded" fields. Required if any "Encoding" fields are used.

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

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

      1. 627 NoHopsGroup count
      2. 628 HopCompIDString
      3. 629 HopSendingTimeUTCTimestamp
      4. 630 HopRefIDSeqNum
  2. 664 ConfirmIDStringRequired

    Unique ID for this message

  3. Mandatory if ConfirmTransType is Replace or Cancel

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

  5. New, Cancel or Replace

  6. 773 ConfirmTypeintRequired

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

  7. Denotes whether or not this message represents copy confirmation (or status message) Absence of this field indicates message is not a drop copy.

  8. Denotes whether this message represents the legally binding confirmation Absence of this field indicates message is not a legal confirm.

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

    1. 453 NoPartyIDsGroup count

      Repeating group below should contain unique combinations of PartyID, PartyIDSource, and PartyRole

    2. 448 PartyIDString

      Used to identify source of PartyID. Required if PartyIDSource is specified. Required if NoPartyIDs > 0.

    3. Used to identify class source of PartyID value (e.g. BIC). Required if PartyID is specified. Required if NoPartyIDs > 0.

    4. Identifies the type of PartyID (e.g. Executing Broker). Required if NoPartyIDs > 0.

    5. PtysSubGrpRepeating groupCount tag 802

      Repeating group of Party sub-identifiers.

      1. 802 NoPartySubIDsGroup count
  10. 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

    1. 73 NoOrdersGroup count
    2. 11 ClOrdIDString
    3. 37 OrderIDString
    4. 66 ListIDString
    5. NestedParties2Repeating groupCount tag 756
      1. 756 NoNested2PartyIDsGroup count

        Repeating group below should contain unique combinations of Nested2PartyID, Nested2PartyIDSource, and Nested2PartyRole

      2. Used to identify source of Nested2PartyID. Required if Nested2PartyIDSource is specified. Required if NoNested2PartyIDs > 0.

      3. Used to identify class source of Nested2PartyID value (e.g. BIC). Required if Nested2PartyID is specified. Required if NoNested2PartyIDs > 0.

      4. Identifies the type of Nested2PartyID (e.g. Executing Broker). Required if NoNested2PartyIDs > 0.

      5. NstdPtys2SubGrpRepeating groupCount tag 806

        Repeating group of Nested2Party sub-identifiers.

  11. 70 AllocIDString

    Used to refer to an earlier Allocation Instruction.

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

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

  14. 60 TransactTimeUTCTimestampRequired

    Represents the time this message was generated

  15. 75 TradeDateLocalMktDateRequired
  16. TrdRegTimestampsRepeating groupCount tag 768

    Time of last execution being confirmed by this message

    1. 769 TrdRegTimestampUTCTimestamp

      Required if NoTrdRegTimestamps > 1

    2. Required if NoTrdRegTimestamps > 1

    3. Optional

  17. InstrumentComponentRequired
    1. 55 SymbolString

      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.

    2. 65 SymbolSfxString

      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.

    3. 48 SecurityIDString

      Takes precedence in identifying security to counterparty over SecurityAltID block. Requires SecurityIDSource if specified.

    4. Required if SecurityID is specified.

    5. SecAltIDGrpRepeating groupCount tag 454

      Number of alternate Security Identifiers

      1. 454 NoSecurityAltIDGroup count
    6. Indicates the type of product the security is associated with (high-level category)

    7. 461 CFICodeString

      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.

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

    9. Sub-type qualification/identification of the SecurityType (e.g. for SecurityType="MLEG"). If specified, SecurityType is required.

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

    11. 541 MaturityDateLocalMktDate

      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.

    12. For Options.

    13. 224 CouponPaymentDateLocalMktDate

      Date interest is to be paid. Used in identifying Corporate Bond issues.

    14. 225 IssueDateLocalMktDate

      Date instrument was issued. For Fixed Income IOIs for new issues, specifies the issue date.

    15. 239 RepoCollateralSecurityTypeDeprecated FIX.4.4String

      (Deprecated, use UnderlyingSecurityType (310) )

    16. (Deprecated, use TerminationType (788) )

    17. 227 RepurchaseRatePercentage

      (Deprecated, use Price (44) )

    18. 228 Factorfloat

      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

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

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

    21. A two-character state or province abbreviation.

    22. The three-character IATA code for a locale (e.g. airport code for Municipal Bonds).

    23. 240 RedemptionDateLocalMktDate

      (Deprecated, use YieldRedemptionDate (696) in <YieldData> component block)

    24. Used for derivatives, such as options and covered warrants

    25. Used for derivatives

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

    27. For Fixed Income, Convertible Bonds, Derivatives, etc. Note: If used, quantities should be expressed in the "nominal" (e.g. contracts vs. shares) amount.

    28. 223 CouponRatePercentage

      For Fixed Income.

    29. Can be used to identify the security.

    30. 106 IssuerString
    31. Must be set if EncodedIssuer field is specified and must immediately precede it.

    32. Encoded (non-ASCII characters) representation of the Issuer field in the encoded format specified via the MessageEncoding field.

    33. Must be set if EncodedSecurityDesc field is specified and must immediately precede it.

    34. Encoded (non-ASCII characters) representation of the SecurityDesc field in the encoded format specified via the MessageEncoding field.

    35. 691 PoolString

      Identifies MBS / ABS pool

    36. Must be present for MBS/TBA

    37. The program under which a commercial paper is issued

    38. 876 CPRegTypeString

      The registration type of a commercial paper issuance

    39. EvntGrpRepeating groupCount tag 864

      Number of repeating EventType group entries.

      1. 864 NoEventsGroup count
      2. 866 EventDateLocalMktDate
      3. 867 EventPxPrice
      4. 868 EventTextString
    40. 873 DatedDateLocalMktDate

      If different from IssueDate

    41. If different from IssueDate and DatedDate

  18. InstrumentExtensionComponent
    1. Identifies the form of delivery.

    2. 869 PctAtRiskPercentage

      Percent at risk due to lowest possible call.

    3. AttrbGrpRepeating groupCount tag 870

      Number of repeating InstrAttrib group entries.

      1. 870 NoInstrAttribGroup count
  19. FinancingDetailsComponent
    1. The full name of the base standard agreement, annexes and amendments in place between the principals and applicable to this deal

    2. A common reference to the applicable standing agreement between the principals

    3. 915 AgreementDateLocalMktDate

      A reference to the date the underlying agreement was executed.

    4. Currency of the underlying agreement.

    5. For Repos the timing or method for terminating the agreement.

    6. 916 StartDateLocalMktDate

      Settlement date of the beginning of the deal

    7. 917 EndDateLocalMktDate

      Repayment / repurchase date

    8. Delivery or custody arrangement for the underlying securities

    9. 898 MarginRatioPercentage

      Percentage of cash value that underlying security collateral must meet.

  20. UndInstrmtGrpRepeating groupCount tag 711Required

    Indicates number of repeating entries. ** Nested Repeating Group follows **

    1. 711 NoUnderlyingsGroup countRequired here
    2. UnderlyingInstrumentComponent
      1. UndSecAltIDGrpRepeating groupCount tag 457
      2. 243 UnderlyingRepoCollateralSecurityTypeDeprecated FIX.4.4String

        (Deprecated, not applicable/used for Repos)

      3. (Deprecated, not applicable/used for Repos)

      4. (Deprecated, not applicable/used for Repos)

      5. (Deprecated, use YieldRedemptionDate (696) in <YieldData> component block)

      6. Specific to the <UnderlyingInstrument> (not in <Instrument>)

      7. Specific to the <UnderlyingInstrument> (not in <Instrument>) Unit amount of the underlying security (par, shares, currency, etc.)

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

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

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

      11. Specific to the <UnderlyingInstrument> (not in <Instrument>) Currency value attributed to this collateral at the start of the agreement

      12. Specific to the <UnderlyingInstrument> (not in <Instrument>) Currency value currently attributed to this collateral

      13. Specific to the <UnderlyingInstrument> (not in <Instrument>) Currency value attributed to this collateral at the end of the agreement

      14. UnderlyingStipulationsRepeating groupCount tag 887

        Specific to the <UnderlyingInstrument> (not in <Instrument>)

        1. 887 NoUnderlyingStipsGroup count
        2. Required if NoUnderlyingStips >0

  21. InstrmtLegGrpRepeating groupCount tag 555Required

    Indicates number of repeating entries. ** Nested Repeating Group follows **

    1. 555 NoLegsGroup countRequired here
    2. InstrumentLegComponent
      1. 600 LegSymbolString
      2. LegSecAltIDGrpRepeating groupCount tag 604
      3. 611 LegMaturityDateLocalMktDate
      4. 249 LegIssueDateLocalMktDate
      5. 250 LegRepoCollateralSecurityTypeDeprecated FIX.4.4String

        (Deprecated, not applicable/used for Repos)

      6. (Deprecated, not applicable/used for Repos)

      7. (Deprecated, not applicable/used for Repos)

      8. 254 LegRedemptionDateLocalMktDate

        (Deprecated, use YieldRedemptionDate (696) in <YieldData> component block)

      9. 615 LegCouponRatePercentage
      10. 617 LegIssuerString
      11. Specific to the <InstrumentLeg> (not in <Instrument>)

      12. Specific to the <InstrumentLeg> (not in <Instrument>)

      13. 556 LegCurrencyCurrency

        Specific to the <InstrumentLeg> (not in <Instrument>)

      14. 740 LegPoolString

        Identifies MBS / ABS pool

      15. 739 LegDatedDateLocalMktDate
  22. 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).

    1. 235 YieldTypeString
    2. 236 YieldPercentage
    3. 701 YieldCalcDateLocalMktDate
  23. 80 AllocQtyQtyRequired

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

  24. 54 SidecharRequired
  25. 15 CurrencyCurrency
  26. 30 LastMktExchange
  27. CpctyConfGrpRepeating groupCount tag 862Required

    Indicates number of repeating entries. ** Nested Repeating Group follows **

    1. 862 NoCapacitiesGroup countRequired here
    2. 528 OrderCapacitycharRequired here
    3. 529 OrderRestrictionsMultipleValueString
    4. 863 OrderCapacityQtyQtyRequired here
  28. 79 AllocAccountStringRequired

    Account number for the trade being confirmed by this message

  29. 6 AvgPxPriceRequired

    Gross price for the trade being confirmed Always expressed in percent-of-par for Fixed Income

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

  31. Price type for the AvgPx field

  32. 860 AvgParPxPrice
  33. SpreadOrBenchmarkCurveDataComponent
    1. 218 SpreadPriceOffset

      For Fixed Income

    2. Must be present if BenchmarkPrice is used.

    3. The identifier of the benchmark security, e.g. Treasury against Corporate bond.

    4. Source of BenchmarkSecurityID. If not specified, then ID Source is understood to be the same as that in the Instrument block.

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

  35. 58 TextString
  36. 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.

  37. 230 ExDateLocalMktDate

    Optional "next coupon date" for Fixed Income

  38. Required for Fixed Income products that trade with accrued interest

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

  40. For repurchase agreements the accrued interest on termination.

  41. For repurchase agreements the start (dirty) cash consideration

  42. For repurchase agreements the end (dirty) cash consideration

  43. 118 NetMoneyAmtRequired
  44. Net Money at maturity if Zero Coupon and maturity value is different from par value

  45. 64 SettlDateLocalMktDate
  46. SettlInstructionsDataComponent

    Used to communicate settlement instructions for this Confirmation.

    1. Required if AllocSettlInstType = 1 or 2

    2. Required if AllocSettlInstType = 3 (should not be populated otherwise)

    3. Required if AllocSettlInstType = 3 (should not be populated otherwise)

    4. Identifier used within the StandInstDbType Required if AllocSettlInstType = 3 (should not be populated otherwise)

    5. DlvyInstGrpRepeating groupCount tag 85

      Required (and must be > 0) if AllocSettlInstType = 2 (should not be populated otherwise)

      1. 85 NoDlvyInstGroup count
      2. SettlPartiesRepeating groupCount tag 781
        1. 781 NoSettlPartyIDsGroup count

          Repeating group below should contain unique combinations of SettlPartyID, SettlPartyIDSource, and SettlPartyRole

        2. Used to identify source of SettlPartyID. Required if SettlPartyIDSource is specified. Required if NoSettlPartyIDs > 0.

        3. Used to identify class source of SettlPartyID value (e.g. BIC). Required if SettlPartyID is specified. Required if NoSettlPartyIDs > 0.

        4. Identifies the type of SettlPartyID (e.g. Executing Broker). Required if NoSettlPartyIDs > 0.

        5. SettlPtysSubGrpRepeating groupCount tag 801

          Repeating group of SettlParty sub-identifiers.

  47. CommissionDataComponent
    1. 479 CommCurrencyCurrency

      For CIV - Optional

    2. For CIV - Optional

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

  49. StipulationsRepeating groupCount tag 232
    1. 232 NoStipulationsGroup count
    2. Required if NoStipulations >0

  50. MiscFeesGrpRepeating groupCount tag 136

    Required if any miscellaneous fees are reported. Indicates number of repeating entries. Repeating group. ** Nested Repeating Group follows **

    1. 136 NoMiscFeesGroup count
    2. 138 MiscFeeCurrCurrency
  51. StandardTrailerComponentRequired
    1. Required when trailer contains signature. Note: Not to be included within SecureData field

    2. Note: Not to be included within SecureData field

    3. 10 CheckSumStringRequired here

      (Always unencrypted, always last field in message)