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.
StandardHeaderComponentRequired
MsgType = EP
StandardHeader definition & usage →
FIX session profile (Always unencrypted, must be first field in message)
(Always unencrypted, must be second field in message)
(Always unencrypted, must be third field in message)
Indicates application version using a service pack identifier. The ApplVerID applies to a specific message occurrence.
Used to support bilaterally agreed custom functionality
(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 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
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.
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.
Identifier of report assigned by report initiator.
Use to identify the test suite.
StrategyParametersGrpRepeating groupCount tag 957—
StrategyParametersGrp definition & usage →
Indicates number of strategy parameters
Name of parameter
Datatype of the parameter.
Value of the parameter
AlgoSystemModuleGrpRepeating groupCount tag 3025—
AlgoSystemModuleGrp definition & usage →
Required if NoAlgoSystemModules(3025) > 0.
Required if NoAlgoSystemModules(3025) > 0.
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.
TestScenarioGrp definition & usage →
Required if NoTestScenarios(3028) > 0.
Required if NoTestScenarios(3028) > 0.
Overall starting time of this test scenario.
Overall ending time of this test scenario.
TestScenarioParameterGrpRepeating groupCount tag 3130—
May be used to define test system parameters at the scenario level.
TestScenarioParameterGrp definition & usage →
Required if NoTestScenarioParameters(3130) > 0.
Required if NoTestScenarioParameters(3130) > 0.
Required if NoTestScenarioParameters(3130) > 0.
NestedPartiesRepeating groupCount tag 539—
May be used to identify one or more execution venues.
NestedParties definition & usage →
Repeating group below should contain unique combinations of NestedPartyID, NestedPartyIDSource, and NestedPartyRole
Used to identify source of NestedPartyID. Required if NestedPartyIDSource is specified. Required if NoNestedPartyIDs > 0.
Used to identify class source of NestedPartyID value (e.g. BIC). Required if NestedPartyID is specified. Required if NoNestedPartyIDs > 0.
Identifies the type of NestedPartyID (e.g. Executing Broker). Required if NoNestedPartyIDs > 0.
NstdPtysSubGrpRepeating groupCount tag 804—
Repeating group of NestedParty sub-identifiers.
NstdPtysSubGrp definition & usage →
InstrumentScopeGrpRepeating groupCount tag 1656—
InstrumentScopeSecurityGroup(1545) may be used to reference a list of securities provided with the SecurityList(35=y) message.
InstrumentScopeGrp definition & usage →
Required when NoInstrumentScopes > 0.
InstrumentScopeComponent—
InstrumentScope definition & usage →
InstrumentScopeSecurityAltIDGrpRepeating groupCount tag 1540—
InstrumentScopeSecurityAltIDGrp definition & usage →
Required when NoInstrumentScopeSecurityAltID > 0.
Required when NoInstrumentScopeSecurityAltID > 0.
Can be used to specify FX tenors.
May be used to define a shortcut for TestStepGrp.
TestStepGrpRepeating groupCount tag 3036—
TestStepGrp definition & usage →
Required if NoTestSteps(3036) > 0.
Use for an absolute starting time. Mutually exclusive with TestStepStartOffsetUnit(3041) and TestStepStartOffsetPeriod(3040).
Use for a starting time relative to the overall starting time defined by TestScenarioStartTime(3031). Required when TestStepStartOffsetUnit(3041) is specified.
Use for a starting time relative to the overall starting time defined by TestScenarioStartTime(3031). Required when TestStepStartOffsetPeriod(3040) is specified.
Use for an absolute ending time. Mutually exclusive with TestStepEndOffsetUnit(3044) and TestStepEndOffsetPeriod(3043).
Use for an ending time relative to the starting time of the step defined by TestStepStartTime(3039). Required when TestStepEndOffsetUnit(3044) is specified.
Use for an ending time relative to the starting time of the step defined by TestStepStartTime(3039). Required when TestStepEndOffsetPeriod(3043) is specified.
TestStepParameterGrpRepeating groupCount tag 3045—
May be used to define test system parameters at the step level.
TestStepParameterGrp definition & usage →
Required if NoTestStepParameters(3045) > 0.
Required if NoTestStepParameters(3045) > 0.
Required if NoTestStepParameters(3045) > 0.
TestSystemModuleGrpRepeating groupCount tag 3049—
TestSystemModuleGrp definition & usage →
Required if NoTestSystemModules(3049) > 0.
Required if NoTestSystemModules(3049) > 0.
TestMeasureGrpRepeating groupCount tag 3052—
Use to provide the metrics and thresholds for the scenario identified by TestScenarioID(3029). Required unless TestSuiteStatus(3070)=0 (Undefined).
TestMeasureGrp definition & usage →
Required if NoTestMeasures(3052) > 0.
Required if NoTestMeasures(3052) > 0.
Required if NoTestMeasures(3052) > 0.
Required if NoTestMeasures(3052) > 0.
Required if NoTestMeasures(3052) > 0.
TestOrderGrpRepeating groupCount tag 3082—
Use to provide a list of orders to be used for testing the scenario.
TestOrderGrp definition & usage →
Required if NoTestOrders(3082) > 0.
Use for an effective time relative to the overall starting time defined by TestScenarioStartTime(3031). Required when TestOrderOffsetUnit(3091) is specified.
Use for an effective time relative to the overall starting time defined by TestScenarioStartTime(3031). Required when TestOrderOffsetPeriod(3090) is specified.
Overall status across all individual test scenarios defined in TestScenarioGrp.
Must be set if EncodedText(355) field is specified and must immediately precede it.
Encoded (non-ASCII characters) representation of the Text(58) field in the encoded format specified via the MessageEncoding(347) field.
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)