Skip to content

FIX MESSAGE 35=EP

TestActionReport

MsgType (35) = EPTestingAdded FIX.Latest

Definition

TestActionReport(35=EP) is used to report the testing results of the identified test suite that has been executed with TestActionRequest(35=EN). In the context of algorithmic trading, the results may be used to create a certificate for the algorithm upon meeting the success criteria.

Additional detail from the official source

TestActionReport(35=EP) may be sent in an unsolicited manner when the execution of a test suite successfully completes or abnormally terminates.

Message structure 136 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 = EP

    1. 8 BeginStringStringRequired here

      FIX session profile (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. Indicates application version using a service pack identifier. The ApplVerID applies to a specific message occurrence.

    5. Used to support bilaterally agreed custom functionality

    6. 49 SenderCompIDStringRequired here

      (Always unencrypted)

    7. 56 TargetCompIDStringRequired here

      (Always unencrypted)

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

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

    10. 90 SecureDataLenDeprecated FIX.5.0SP2Length

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

    11. 91 SecureDataDeprecated FIX.5.0SP2data

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

    12. 34 MsgSeqNumSeqNumRequired here

      (Can be embedded within encrypted data section.)

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

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

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

    16. Trading partner LocationID (i.e. geographic location and/or desk) (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. Trading partner SubID used when delivering messages via a third party. (Can be embedded within encrypted data section.)

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

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

    22. 97 PossResendBoolean

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

    23. 52 SendingTimeUTCTimestampRequired here

      (Can be embedded within encrypted data section.)

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

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

    26. 213 XmlDataXMLData

      Can contain a XML formatted message block (e.g. FIXML). Always immediately follows XmlDataLen field. (Can be embedded within encrypted data section.)

      See Volume 1: FIXML Support

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

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

    29. HopGrpRepeating 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. Identifier of report assigned by report initiator.

  3. Use to identify the test suite.

  4. StrategyParametersGrpRepeating groupCount tag 957
    1. Indicates number of strategy parameters

    2. Name of parameter

    3. Datatype of the parameter.

    4. Value of the parameter

  5. AlgoSystemModuleGrpRepeating groupCount tag 3025
    1. Required if NoAlgoSystemModules(3025) > 0.

    2. Required if NoAlgoSystemModules(3025) > 0.

  6. TestScenarioGrpRepeating groupCount tag 3028

    Must contain all scenarios of the test suite identified by TestSuiteRequestID(3062). Set TestScenarioStatus(3030) to 0=Undefined for test scenarios that have not been executed yet, e.g. because the TestActionRequest(35=EN) message used the TestScenarioGrp to limit the test scenarios to be executed.

    1. 3028 NoTestScenariosGroup count
    2. Required if NoTestScenarios(3028) > 0.

    3. Required if NoTestScenarios(3028) > 0.

    4. Overall starting time of this test scenario.

    5. Overall ending time of this test scenario.

    6. TestScenarioParameterGrpRepeating groupCount tag 3130

      May be used to define test system parameters at the scenario level.

    7. NestedPartiesRepeating groupCount tag 539

      May be used to identify one or more execution venues.

      1. 539 NoNestedPartyIDsGroup count

        Repeating group below should contain unique combinations of NestedPartyID, NestedPartyIDSource, and NestedPartyRole

      2. Used to identify source of NestedPartyID. Required if NestedPartyIDSource is specified. Required if NoNestedPartyIDs > 0.

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

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

      5. NstdPtysSubGrpRepeating groupCount tag 804

        Repeating group of NestedParty sub-identifiers.

    8. InstrumentScopeGrpRepeating groupCount tag 1656

      InstrumentScopeSecurityGroup(1545) may be used to reference a list of securities provided with the SecurityList(35=y) message.

      1. Required when NoInstrumentScopes > 0.

      2. InstrumentScopeComponent
        1. InstrumentScopeSecurityAltIDGrpRepeating groupCount tag 1540
          1. Required when NoInstrumentScopeSecurityAltID > 0.

          2. Required when NoInstrumentScopeSecurityAltID > 0.

        2. Can be used to specify FX tenors.

    9. 3034 MDOriginTimeUTCTimestamp
    10. May be used to define a shortcut for TestStepGrp.

    11. TestStepGrpRepeating groupCount tag 3036
      1. 3036 NoTestStepsGroup count
      2. Required if NoTestSteps(3036) > 0.

      3. 3039 TestStepStartTimeUTCTimestamp

        Use for an absolute starting time. Mutually exclusive with TestStepStartOffsetUnit(3041) and TestStepStartOffsetPeriod(3040).

      4. Use for a starting time relative to the overall starting time defined by TestScenarioStartTime(3031). Required when TestStepStartOffsetUnit(3041) is specified.

      5. Use for a starting time relative to the overall starting time defined by TestScenarioStartTime(3031). Required when TestStepStartOffsetPeriod(3040) is specified.

      6. 3042 TestStepEndTimeUTCTimestamp

        Use for an absolute ending time. Mutually exclusive with TestStepEndOffsetUnit(3044) and TestStepEndOffsetPeriod(3043).

      7. Use for an ending time relative to the starting time of the step defined by TestStepStartTime(3039). Required when TestStepEndOffsetUnit(3044) is specified.

      8. Use for an ending time relative to the starting time of the step defined by TestStepStartTime(3039). Required when TestStepEndOffsetPeriod(3043) is specified.

      9. TestStepParameterGrpRepeating groupCount tag 3045

        May be used to define test system parameters at the step level.

    12. TestSystemModuleGrpRepeating groupCount tag 3049
      1. Required if NoTestSystemModules(3049) > 0.

      2. Required if NoTestSystemModules(3049) > 0.

    13. TestMeasureGrpRepeating groupCount tag 3052

      Use to provide the metrics and thresholds for the scenario identified by TestScenarioID(3029). Required unless TestSuiteStatus(3070)=0 (Undefined).

      1. 3052 NoTestMeasuresGroup count
      2. Required if NoTestMeasures(3052) > 0.

      3. Required if NoTestMeasures(3052) > 0.

      4. Required if NoTestMeasures(3052) > 0.

      5. Required if NoTestMeasures(3052) > 0.

      6. Required if NoTestMeasures(3052) > 0.

    14. TestOrderGrpRepeating groupCount tag 3082

      Use to provide a list of orders to be used for testing the scenario.

      1. 3082 NoTestOrdersGroup count
      2. Required if NoTestOrders(3082) > 0.

      3. Use for an effective time relative to the overall starting time defined by TestScenarioStartTime(3031). Required when TestOrderOffsetUnit(3091) is specified.

      4. Use for an effective time relative to the overall starting time defined by TestScenarioStartTime(3031). Required when TestOrderOffsetPeriod(3090) is specified.

  7. Overall status across all individual test scenarios defined in TestScenarioGrp.

  8. 58 TextString
  9. Must be set if EncodedText(355) field is specified and must immediately precede it.

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

  11. StandardTrailerComponentRequired
    1. 93 SignatureLengthDeprecated FIX.5.0SP2Length

      Required when trailer contains signature. Note: Not to be included within SecureData field

    2. 89 SignatureDeprecated FIX.5.0SP2data

      Note: Not to be included within SecureData field

    3. 10 CheckSumStringRequired here

      (Always unencrypted, always last field in message)