FIX Integration

FX - FIX 4.2 Specification


Order Types

OneChronos supports limit and pegged order types.

All Messages

General Notes

To ensure correctness and an easy interop OneChronos uses a FIX engine and order management system programmatically generated from a formal specification. The specification is written in Imandra Protocol Language (IPL). Excerpts of the model that pertain to field and message validation are included in this documentation.

Standard Header

The "Standard Header" is included at the beginning of every FIX message. The first three tags (BeginString, BodyLength, and type) must appear in that exact order.
TagNameRequired?Description
8BeginStringY
Type:
string

Description: A delimiter identifying the start of a new FIX message. BeginString must be the first field present in every FIX message.

Required:
Y

Validation:

it == "FIX.4.2"
9BodyLengthY
Type:
int

Description: Message length, in bytes, of all characters up to and including the delimiter preceding the CheckSum field. BodyLength must be the second field present in every FIX message.

Required:
Y
34MsgSeqNumY
Type:
int

Description: The message sequence number, per the rules governing message sequence numbers.

Required:
Y
35MsgTypeY
Type:
string

Description: The type of the FIX message. MsgType must be the third field present in every FIX message.

Required:
Y
Enum values:
  • HEARTBEAT: 0
    Message is a Heartbeat.
  • TEST_REQUEST: 1
    Message is a TestRequest.
  • RESEND_REQUEST: 2
    Message is a ResendRequest.
  • REJECT: 3
    Message is a Reject.
  • SEQUENCE_RESET: 4
    Message is a SequenceReset.
  • LOGOUT: 5
    Message is a Logout.
  • EXECUTION_REPORT: 8
    Message is a ExecutionReport.
  • ORDER_CANCEL_REJECT: 9
    Message is an OrderCancelReject.
  • LOGON: A
    Message is a Logon.
  • ORDER_SINGLE: D
    Message is a NewOrderSingle.
  • ORDER_CANCEL_REQUEST: F
    Message is a OrderCancelRequest.
  • ORDER_CANCEL_REPLACE_REQUEST: G
    Message is a OrderCancelReplaceRequest.
  • BUSINESS_MESSAGE_REJECT: j
    Message is a BusinessMessageReject.
  • TRADE_BUST: UCC
    Message is a TradeBust.
43PossDupFlagN
Type:
boolean

Description: A flag indicating whether a message is a possible session level retransmission, per the message delivery rules.

Required:
N
Enum values:
  • POSSIBLE_DUPLICATE: Y
    Message is a possible retransmission.
  • ORIGINAL_TRANSMISSION: N
    Message is guaranteed to be an original transmission.
49SenderCompIDY
Type:
string

Description: OneChronos will assign this identifier as part of customer onboarding. Messages sent to OneChronos must always include Subscriber's assigned SenderCompID.

Required:
Y
52SendingTimeY
Type:
utctimestamp

Description: The time of message transmission (always in UTC). OneChronos supports UTC timestamps at second, millisecond, or microsecond precision.

Required:
Y
56TargetCompIDY
Type:
string

Description: The logical mirror of SenderCompID. Messages received from OneChronos will always have this field set to the SenderCompID assigned to you by us.

Required:
Y
97PossResendN
Type:
boolean

Description: A flag indicating whether a message is a possible business level retransmission, per the message delivery rules. For messages sent to OneChronos, any value other than 'N' will trigger a rejection. OneChronos will never populate this field.

Required:
N
Enum values:
  • POSSIBLE_DUPLICATE: Y
    Message is a possible retransmission.
  • ORIGINAL_TRANSMISSION: N
    Message is guaranteed to be an original transmission.
115OnBehalfOfCompIDN
Type:
string

Description: Must be a valid NSCC MPID if present. Populating OnBehalfOfCompID will override the default port level MPID.

Required:
N
122OrigSendingTimeN
Type:
utctimestamp

Description: Required by the FIX spec for orders where PossDupFlag=Y.

Required:
N
128DeliverToCompIDN
Type:
string

Description: When a Subscriber populates OnBehalfOfCompId any message sent in response by OneChronos will populate this field with the value of OnBehalfOfCompId specified by Subscriber.

Required:
N

Standard Trailer

The "Standard Trailer" is included at the end of every FIX message. CheckSum must appear as the last field.
TagNameRequired?Description
10CheckSumY
Type:
int

Description: A message checksum per the checksum calculation instructions.

Required:
Y

Administrative Messages

Heartbeat (0)

Heartbeat messages should be sent whenever the HeartBtInt agreed to via login procedures has elapsed without another another message being sent. See the section on bidirectional heartbeats for additional information.
TagNameRequired?Description
112TestReqIDN
Type:
string

Description: Must be present if sent in response to a TestRequest message.

Required:
N

TestRequest (1)

TestRequest messages are used to explicitly request a Heartbeat from the counterparty when none is received. Applications should send a TestRequest whenever the agreed upon heartbeat interval plus one second (HeartBtInt+1) has elapsed without the receipt of a message, Heartbeat or otherwise. If a Heartbeat is not received promptly thereafter, the FIX session should be disconnected on the network level without attempting to send another message. Logon and message recovery procedures can proceed thereafter. A TestRequest can be sent by Subscriber to OneChronos, or by OneChronos to Subscriber.
TagNameRequired?Description
112TestReqIDY
Type:
string

Description: An identifier for use with TestRequest and Heartbeat messages.

Required:
Y

ResendRequest (2)

Request that one or more messages be retransmitted, per the procedures outlined in the section on FIX message Recovery. A ResendRequest can be sent by Subscriber to OneChronos, or by OneChronos to Subscriber.
TagNameRequired?Description
7BeginSeqNoY
Type:
int

Description: Message sequence number of first message in range to be resent.

Required:
Y
16EndSeqNoY
Type:
int

Description: Message sequence number of last message in range to be resent. If request is for a single message BeginSeqNo = EndSeqNo. If request is for all messages subsequent to a particular message, EndSeqNo = "0" (representing infinity).

Required:
Y

Reject (3)

Reject messages are used by OneChronos to indicate that a message received from Subscriber is invalid on the session level. Whereas business level rejections via ExecutionReport-BusinessReject are typical, Reject messages should not be received outside of FIX certification. Transmitting additional messages without further investigation is not recommended.
TagNameRequired?Description
45RefSeqNumY
Type:
int

Description: The sequence number of the message being referenced.

Required:
Y
58TextN
Type:
string

Description: Free form text. Subscribers can populate this field for internal use; OneChronos may populate this field to provide additional context to Subscriber when sending a rejection.

Required:
N
371RefTagIDN
Type:
int

Description: Always present when the rejection was triggered by a specific tag. If multiple tags are invalid, RefTagID will be populated for the first invalid tag.

Required:
N
372RefMsgTypeN
Type:
string

Description: Always present when type is parsable on the message being rejected.

Required:
N
373SessionRejectReasonY
Type:
int

Description: An error code indicating why a message was rejected on the session level.

Required:
Y
Enum values:
  • INVALID_TAG_NUMBER: 0
    One or more tag numbers fall outside of the legal tag range [1, 29999].
  • REQUIRED_TAG_MISSING: 1
    A required tag is missing.
  • TAG_NOT_DEFINED_FOR_MESSAGE: 2
    A tag that is valid for some message types but invalid for the given message type was present.
  • UNDEFINED_TAG: 3
    An unknown tag was included in the message.
  • TAG_WITHOUT_VALUE: 4
    A tag was present without a value.
  • VALUE_IS_INCORRECT: 5
    The referenced value is of the correct data type, but invalid.
  • INCORRECT_DATA_FORMAT: 6
    The referenced value does not have the correct data type.
  • COMP_ID_PROBLEM: 9
    Either the SenderCompID or TargetCompID is invalid.
  • SENDING_TIME_ACCURACY_PROBLEM: 10
    The differential between SendingTime and message receipt by OneChronos is too large.
  • INVALID_MESSAGE_TYPE: 11
    The message specifies a type outside of the OneChronos FIX specification.

SequenceReset (4)

Used by the sending application to modify the incoming sequence number of the application facing the sender. Further details are available in the section on sequence resets.
TagNameRequired?Description
36NewSeqNoY
Type:
int

Description: The next expected sequence number, per the rules governing message sequence numbers.

Required:
Y
123GapFillFlagN
Type:
boolean

Description: Indicates whether a SequenceReset is of type SequenceReset-Gap-Fill or SequenceReset-Reset. See Message Delivery for additional details.

Required:
N
Enum values:
  • GAP_FILL_MESSAGE_MSGSEQNUM_FIELD_VALID: Y
    Message is a SequenceReset-Gap-Fill; this is the correct value to use for message recovery/non disaster situations.
  • SEQUENCE_RESET_IGNORE_MSGSEQNUM: N
    Message is a SequenceReset-Reset; reset the counterparty's sequence expected incoming sequence number, without performing message recovery.

Logout (5)

Logout messages are used to initiate or acknowledge the orderly termination of a FIX session. Subscribers can initiate a logout at will. Under normal operating conditions OneChronos will only initiate a logout as part of the daily sequence number reset. See Logout for additional information.
TagNameRequired?Description
58TextN
Type:
string

Description: Free form text. Subscribers can populate this field for internal use; OneChronos may populate this field to provide additional context to Subscriber when sending a rejection.

Required:
N

Logon (A)

Clients must send a Logon message to OneChronos immediately after establishing a TCP connection and before sending any other messages. If the Logon request is valid OneChronos will reply with a reciprocal Logon and wait one second before sending additional messages to ensure that no ResendRequest messages from Subscriber are in-flight. Clients should not send any business messages during this one second period. After the synchronization period has elapsed OneChronos will send a Heartbeat to indicate that the waiting period has ended. See the section on Login Procedures for additional information.
TagNameRequired?Description
98EncryptMethodY
Type:
int

Description: An enum value representing the type of Layer 6 encryption that should be used for the FIX dialogue. Required by the FIX standard, but not used by OneChronos.

Required:
Y

Validation:

it == EncryptMethod.NONE
Enum values:
  • NONE: 0
    Do not use encryption.
108HeartBtIntY
Type:
int

Description: The desired interval, in seconds, between heartbeats. See Heartbeats for additional details.

Required:
Y

Validation:

it >= 5 && it <= 180

BusinessMessageReject (j)

BusinessMessageReject messages are sent when a field validation is violated in a FIX message. (e.g. field length constraint)
TagNameRequired?Description
45RefSeqNumN
Type:
int

Description: The sequence number of the message being referenced.

Required:
N
58TextN
Type:
string

Description: Free form text. Subscribers can populate this field for internal use; OneChronos may populate this field to provide additional context to Subscriber when sending a rejection.

Required:
N
372RefMsgTypeY
Type:
string

Description: Always present when type is parsable on the message being rejected.

Required:
Y
380BusinessRejectReasonY
Type:
int

Description: An error code indicating why a message was rejected by a BusinessMessageReject

Required:
Y
Enum values:
  • OTHER: 0
    Order violates one or more aspects of the venue order entry field specification
  • APPLICATION_NOT_AVAILABLE: 4
    In production and UAT environments, this status code indicates that the FIX gateway is temporarily unavailable and not accepting business messages. In certification, this status code and Tag 58 indicate what FIX business logic validations failed.
  • THROTTLE_LIMIT_EXCEEDED: 99
    Throttle limit exceeded

From Subscriber

NewOrderSingle (D)

NewOrderSingle messages are sent by Subscriber to OneChronos to initiate a new order. OneChronos supports OrdType=LIMIT and OrdType=PEGGED orders.
TagNameRequired?Description
1AccountN
Type:
string

Description: A client supplied account identifier.

Required:
N

Validation:

case it                                  
    {None: true}                         
    {Some account: strLen(account) <= 32}
11ClOrdIDY
Type:
string

Description: A Subscriber provided order ID satisfying the requirements for Subscriber provided IDs.

Required:
Y

Validation:

strLen(it) > 0 && strLen(it) <= 32
18ExecInstN
Type:
ExecInst

Description: Order handling instructions; multiple instructions can be specified in a space delimited list.

Required:
N

Validation:

it in {| MidPricePeg, None |}
Enum values:
  • MID_PRICE_PEG: M
    Execute at a price equal to or more favorable than the midpoint of the NBBO.
  • PRIMARY_PEG: R
    Execute at a price equal to or more favorable than the NBB in the case of a buy order or the NBO in the case of a sell order.
  • MARKET_PEG: P
    Execute at a price equal to or more favorable than the NBO in the case of a buy order or the NBB in the case of a sell order.
  • CONDITIONAL: c
    Conditional indication.
  • FIRM_UP: u
    Firm up associated with a conditional invitation.
  • OPT_IN_TRIGGER_CONDITIONAL_INVITE: d
    Opt-in to triggering conditional invitations. Can only be used on firm orders targeting a user defined Nexus, not base.
  • OPT_OUT_MATCH_WITH_FIRM_UP: j
    Opt-out of matching with firm up orders in OneChronos auctions. Can only be used on firm orders.
21HandlInstY
Type:
HandlInst

Description: HandlInst is required by FIX, but not used by OneChronos.

Required:
Y
Enum values:
  • AUTOMATED_EXECUTION_NO_INTERVENTION: 1
    Required by FIX, but not used by OneChronos.
38OrderQtyY
Type:
Qty

Description: The number of shares for the order.

Required:
Y

Validation:

it > 0.0
40OrdTypeY
Type:
OrdType

Description: The type of an order.

Required:
Y
Enum values:
  • LIMIT: 2
    Order is eligible for execution at a price equal to or more favorable than Price.
  • PEGGED: P
    Order is eligible for execution at a price equal to or more favorable than a computed price per the peg instructions given in ExecInst and PegDifference.
44PriceN
Type:
Price

Description: The limit price of an order.

Required:
N

Validation:

case it {None: true} {Some price: price > 0.0}
47Rule80AY
Type:
Rule80A

Description: The capacity of an order. For US equities, order capacity is in reference to Rule 80A.

Required:
Y
Enum values:
  • AGENCY_SINGLE_ORDER: A
    Broker is executing in an pure agency capacity.
  • PRINCIPAL: P
    Broker is executing as a principal in the transaction.
  • RISKLESS_PRINCIPAL: R
    Broker is executing as a riskless principal in the transaction.
54SideY
Type:
Side

Description: The side of an order.

Required:
Y
Enum values:
  • BUY: 1
    Order is a buy.
  • SELL: 2
    Order is a long sell.
  • SELL_SHORT: 5
    Order is a short sell.
  • SELL_SHORT_EXEMPT: 6
    Order is a short sell, exempt from restrictions such as Reg 201 in the case of US equities.
55SymbolY
Type:
string

Description: The symbol (ticker) of the instrument being traded. See Symbology for additional details.

Required:
Y

Validation:

strLen(it) > 0 && strLen(it) <= 6
59TimeInForceY
Type:
TimeInForce

Description: A field governing how long an order will remain active for.

Required:
Y
Enum values:
  • DAY: 0
    Order will remain active throughout the regular trading session.
  • IMMEDIATE_OR_CANCEL: 3
    Order will be canceled after participating in one auction.
  • FILL_OR_KILL: 4
    Order will be canceled unless it can be filled in entirety in one auction; partial fills are not allowed.
  • GOOD_TILL_DATE: 6
    Order will remain active until the time specified by ExpireTime.
60TransactTimeY
Type:
UTCTimestamp

Description: A UTC timestamp indicating when a transaction occurred. Internally, OneChronos logs events at microsecond or higher precision but disseminates time msgFields with millisecond precision. Subscribers desiring microsecond precision timestamps can enable them on a port level.

Required:
Y
110MinQtyN
Type:
Qty

Description: The minimum permissible fill quantity for an order.

Required:
N

Validation:

case it                  
    {None: true}         
    {Some qty: qty > 0.0}
126ExpireTimeN
Type:
UTCTimestamp

Description: When TimeInForce=GOOD_TILL_DATE ExpireTime must be populated with the desired expiry time.

Required:
N
211PegDifferenceN
Type:
PriceOffset

Description: Amount (signed) added to the price of the peg for a pegged order.

Required:
N

Validation:

case it                  
    {None: true}         
    {Some qty: qty > 0.0}
20001AnalyticsTagsN
Type:
string

Description: An optional Subscriber/Customer supplied comma separated list of identifiers. Tags are echoed back on fills and used as filter/query parameters in analytics reports. If specified, the rules outlined in the section on Identifiers apply.

Required:
N

Validation:

case it                                              
    {None: true}                                     
    {Some analyticsTags: strLen(analyticsTags) <= 32}
20004ExpressiveBidURIN
Type:
string

Description: The Expressive Bid URI.

Required:
N
20009ExpressiveBidArgument1N
Type:
string

Description: Expressve Bid argument 1.

Required:
N
20010ExpressiveBidArgument2N
Type:
string

Description: Expressve Bid argument 2.

Required:
N
20011ExpressiveBidArgument3N
Type:
string

Description: Expressve Bid argument 3.

Required:
N
20012ExpressiveBidArgument4N
Type:
string

Description: Expressve Bid argument 4.

Required:
N

Message Validations

state.orderEntry.isConnected

state.portSettings.dropCopyDisconnect.rejectNew ==>
    state.orderEntry.isDropCopyConnected

isUnusedClOrdId(this.ClOrdID)

isMarketHours()

this.ExecInst == (Some MidPricePeg) <==> this.OrdType == OrdType.Pegged

isValidSymbol(this.Symbol)

this.OrdType == Pegged ==> present(this.ExecInst)

this.OrdType == OrdType.Limit ==> present(this.Price)

this.TimeInForce == GoodTillDate ==> present(this.ExpireTime)

this.TimeInForce != GoodTillDate ==> !present(this.ExpireTime)

this.TimeInForce in [FillOrKill] ==> !present(this.MinQty) ||
    (case this.MinQty
     {None: true}
     {Some x: x == this.OrderQty})

isValidExpireTime(this.ExpireTime)

present(this.MinQty) ==> (case this.MinQty
                              {Some minQty: minQty <= this.OrderQty }
                              {None: true })

present(this.PegDifference) ==> this.ExecInst in {|MidPricePeg, PrimaryPeg, MarketPeg|}

!present(this.ExpressiveBidURI)
    &&
    !present(this.ExpressiveBidArgument1)
    &&
    !present(this.ExpressiveBidArgument2)
    &&
    !present(this.ExpressiveBidArgument3)
    &&
    !present(this.ExpressiveBidArgument4)

OrderCancelRequest (F)

Subscribers may request that an order entered via NewOrderSingle be canceled by sending OneChronos an OrderCancelRequest. Cancellations are accepted via an ExecutionReport message and rejected via OrderCancelReject.
TagNameRequired?Description
11ClOrdIDY
Type:
string

Description: A Subscriber provided order ID satisfying the requirements for Subscriber provided IDs.

Required:
Y

Validation:

strLen(it) > 0 && strLen(it) <= 32
37OrderIDN
Type:
string

Description: An identifier assigned by OneChronos to all orders entered via NewOrderSingle. In contexts where an OrderID is required but not available, e.g., when sending an OrderCancelReject in response to an unknown order, OrderID will be populated with NONE.

Required:
N

Validation:

case it                                                         
    {None: true}                                                
    {Some orderId: strLen(orderId) > 0 && strLen(orderId) <= 32}
38OrderQtyN
Type:
Qty

Description: The number of shares for the order.

Required:
N
41OrigClOrdIDN
Type:
string

Description: The ClOrdID of the previous order in a FIX cancel/replace chain. Clients should always set OrigClOrdID to the most recent non-rejected ClOrdID sent; when populating OrigClOrdID OneChronos will always use the last accepted ClOrdID.

Required:
N

Validation:

case it                                                         
    {None: true}                                                
    {Some orderId: strLen(orderId) > 0 && strLen(orderId) <= 32}
54SideY
Type:
Side

Description: The side of an order.

Required:
Y

Validation:

it == state.Side
Enum values:
  • BUY: 1
    Order is a buy.
  • SELL: 2
    Order is a long sell.
  • SELL_SHORT: 5
    Order is a short sell.
  • SELL_SHORT_EXEMPT: 6
    Order is a short sell, exempt from restrictions such as Reg 201 in the case of US equities.
55SymbolY
Type:
string

Description: The symbol (ticker) of the instrument being traded. See Symbology for additional details.

Required:
Y

Validation:

it == state.Symbol
60TransactTimeY
Type:
UTCTimestamp

Description: A UTC timestamp indicating when a transaction occurred. Internally, OneChronos logs events at microsecond or higher precision but disseminates time msgFields with millisecond precision. Subscribers desiring microsecond precision timestamps can enable them on a port level.

Required:
Y
20001AnalyticsTagsN
Type:
string

Description: An optional Subscriber/Customer supplied comma separated list of identifiers. Tags are echoed back on fills and used as filter/query parameters in analytics reports. If specified, the rules outlined in the section on Identifiers apply.

Required:
N

Message Validations

state.orderEntry.isConnected

isUnusedClOrdId(this.ClOrdID)

isLegalCancelOrder(this.OrderID, this.OrigClOrdID)

isMarketHours()

isLegalStateForCancelOrModify(state.OrdStatus)

OrderCancelReplaceRequest (G)

Subscribers may request that an order entered via NewOrderSingle be modified by sending OneChronos an OrderCancelReplaceRequest. Modifications are accepted via an ExecutionReport message and rejected via OrderCancelReject. Only a subset of the Order's fields can be modified. See the field validations below to determine which fields are eligible for modification.
TagNameRequired?Description
1AccountN
Type:
string

Description: A client supplied account identifier.

Required:
N

Validation:

case it                                                         
    {None: true}                                                
    {Some account: strLen(account) > 0 && strLen(account) <= 32}
11ClOrdIDY
Type:
string

Description: A Subscriber provided order ID satisfying the requirements for Subscriber provided IDs.

Required:
Y

Validation:

strLen(it) > 0 && strLen(it) <= 32
18ExecInstN
Type:
ExecInst

Description: Order handling instructions; multiple instructions can be specified in a space delimited list.

Required:
N

Validation:

it == state.ExecInst
Enum values:
  • MID_PRICE_PEG: M
    Execute at a price equal to or more favorable than the midpoint of the NBBO.
  • PRIMARY_PEG: R
    Execute at a price equal to or more favorable than the NBB in the case of a buy order or the NBO in the case of a sell order.
  • MARKET_PEG: P
    Execute at a price equal to or more favorable than the NBO in the case of a buy order or the NBB in the case of a sell order.
  • CONDITIONAL: c
    Conditional indication.
  • FIRM_UP: u
    Firm up associated with a conditional invitation.
  • OPT_IN_TRIGGER_CONDITIONAL_INVITE: d
    Opt-in to triggering conditional invitations. Can only be used on firm orders targeting a user defined Nexus, not base.
  • OPT_OUT_MATCH_WITH_FIRM_UP: j
    Opt-out of matching with firm up orders in OneChronos auctions. Can only be used on firm orders.
21HandlInstY
Type:
HandlInst

Description: HandlInst is required by FIX, but not used by OneChronos.

Required:
Y
Enum values:
  • AUTOMATED_EXECUTION_NO_INTERVENTION: 1
    Required by FIX, but not used by OneChronos.
38OrderQtyN
Type:
Qty

Description: The number of shares for the order.

Required:
N

Validation:

isLegalModifyQty(it)
40OrdTypeY
Type:
OrdType

Description: The type of an order.

Required:
Y

Validation:

it == state.OrdType
Enum values:
  • LIMIT: 2
    Order is eligible for execution at a price equal to or more favorable than Price.
  • PEGGED: P
    Order is eligible for execution at a price equal to or more favorable than a computed price per the peg instructions given in ExecInst and PegDifference.
41OrigClOrdIDY
Type:
string

Description: The ClOrdID of the previous order in a FIX cancel/replace chain. Clients should always set OrigClOrdID to the most recent non-rejected ClOrdID sent; when populating OrigClOrdID OneChronos will always use the last accepted ClOrdID.

Required:
Y

Validation:

strLen(it) > 0 && strLen(it) <= 32
44PriceN
Type:
Price

Description: The limit price of an order.

Required:
N
47Rule80AY
Type:
Rule80A

Description: The capacity of an order. For US equities, order capacity is in reference to Rule 80A.

Required:
Y

Validation:

it == state.Rule80A
Enum values:
  • AGENCY_SINGLE_ORDER: A
    Broker is executing in an pure agency capacity.
  • PRINCIPAL: P
    Broker is executing as a principal in the transaction.
  • RISKLESS_PRINCIPAL: R
    Broker is executing as a riskless principal in the transaction.
54SideY
Type:
Side

Description: The side of an order.

Required:
Y

Validation:

it == state.Side
Enum values:
  • BUY: 1
    Order is a buy.
  • SELL: 2
    Order is a long sell.
  • SELL_SHORT: 5
    Order is a short sell.
  • SELL_SHORT_EXEMPT: 6
    Order is a short sell, exempt from restrictions such as Reg 201 in the case of US equities.
55SymbolY
Type:
string

Description: The symbol (ticker) of the instrument being traded. See Symbology for additional details.

Required:
Y

Validation:

it == state.Symbol
59TimeInForceY
Type:
TimeInForce

Description: A field governing how long an order will remain active for.

Required:
Y

Validation:

it == state.TimeInForce
Enum values:
  • DAY: 0
    Order will remain active throughout the regular trading session.
  • IMMEDIATE_OR_CANCEL: 3
    Order will be canceled after participating in one auction.
  • FILL_OR_KILL: 4
    Order will be canceled unless it can be filled in entirety in one auction; partial fills are not allowed.
  • GOOD_TILL_DATE: 6
    Order will remain active until the time specified by ExpireTime.
60TransactTimeY
Type:
UTCTimestamp

Description: A UTC timestamp indicating when a transaction occurred. Internally, OneChronos logs events at microsecond or higher precision but disseminates time msgFields with millisecond precision. Subscribers desiring microsecond precision timestamps can enable them on a port level.

Required:
Y
110MinQtyN
Type:
Qty

Description: The minimum permissible fill quantity for an order.

Required:
N

Validation:

case it                  
    {None: true}         
    {Some qty: qty > 0.0}
126ExpireTimeN
Type:
UTCTimestamp

Description: When TimeInForce=GOOD_TILL_DATE ExpireTime must be populated with the desired expiry time.

Required:
N

Validation:

it == state.ExpireTime
211PegDifferenceN
Type:
PriceOffset

Description: Amount (signed) added to the price of the peg for a pegged order.

Required:
N
20001AnalyticsTagsN
Type:
string

Description: An optional Subscriber/Customer supplied comma separated list of identifiers. Tags are echoed back on fills and used as filter/query parameters in analytics reports. If specified, the rules outlined in the section on Identifiers apply.

Required:
N

Validation:

case it                                             
    {None: true}                                    
    {Some _analyticsTags: it == state.AnalyticsTags}
20004ExpressiveBidURIN
Type:
string

Description: The Expressive Bid URI.

Required:
N
20009ExpressiveBidArgument1N
Type:
string

Description: Expressve Bid argument 1.

Required:
N
20010ExpressiveBidArgument2N
Type:
string

Description: Expressve Bid argument 2.

Required:
N
20011ExpressiveBidArgument3N
Type:
string

Description: Expressve Bid argument 3.

Required:
N
20012ExpressiveBidArgument4N
Type:
string

Description: Expressve Bid argument 4.

Required:
N

Message Validations

state.orderEntry.isConnected

isUnusedClOrdId(this.ClOrdID)

this.OrigClOrdID == state.ClOrdID

isMarketHours()

isLegalStateForCancelOrModify(state.OrdStatus)

this.OrdType == OrdType.Limit ==> present(state.Price)

present(this.MinQty) ==> (
            case this.MinQty
            { None: true }
            { Some minQty: minQty <= this.OrderQty })

present(this.PegDifference) ==> this.ExecInst in {|MidPricePeg, PrimaryPeg, MarketPeg|}

!present(this.ExpressiveBidURI)
    &&
    !present(this.ExpressiveBidArgument1)
    &&
    !present(this.ExpressiveBidArgument2)
    &&
    !present(this.ExpressiveBidArgument3)
    &&
    !present(this.ExpressiveBidArgument4)

To Subscriber

ExecutionReport (8)

Execution reports are sent by OneChronos to Subscriber to acknowledge order entry and cancellation, communicate fills (both partial and complete), and notify Subscriber when the state of an order changes due to venue or order specific lifecycle events. The following msgFields are common to all execution reports. Order state specific reports contain additional msgFields, as indicated below this section.
TagNameRequired?Description
1AccountY
Type:
string

Description: A client supplied account identifier.

Required:
Y

Validation:

it == state.Account
6AvgPxY
Type:
Price

Description: An average price computed across all fills for an order.

Required:
Y
11ClOrdIDY
Type:
string

Description: A Subscriber provided order ID satisfying the requirements for Subscriber provided IDs.

Required:
Y

Validation:

it == state.ClOrdID
14CumQtyY
Type:
Qty

Description: The aggregate filled quantity computed across all fills for an order.

Required:
Y

Validation:

it >= 0.0
17ExecIDY
Type:
string

Description: A unique ID for each execution report sent from OneChronos to Subscriber.

Required:
Y
18ExecInstN
Type:
ExecInst

Description: Order handling instructions; multiple instructions can be specified in a space delimited list.

Required:
N

Validation:

it == state.ExecInst
Enum values:
  • MID_PRICE_PEG: M
    Execute at a price equal to or more favorable than the midpoint of the NBBO.
  • PRIMARY_PEG: R
    Execute at a price equal to or more favorable than the NBB in the case of a buy order or the NBO in the case of a sell order.
  • MARKET_PEG: P
    Execute at a price equal to or more favorable than the NBO in the case of a buy order or the NBB in the case of a sell order.
  • CONDITIONAL: c
    Conditional indication.
  • FIRM_UP: u
    Firm up associated with a conditional invitation.
  • OPT_IN_TRIGGER_CONDITIONAL_INVITE: d
    Opt-in to triggering conditional invitations. Can only be used on firm orders targeting a user defined Nexus, not base.
  • OPT_OUT_MATCH_WITH_FIRM_UP: j
    Opt-out of matching with firm up orders in OneChronos auctions. Can only be used on firm orders.
20ExecTransTypeY
Type:
ExecTransType

Description: Identifies the type of a transaction.

Required:
Y

Validation:

it == ExecTransType.New
Enum values:
  • NEW: 0
    A new execution report.
  • CANCEL: 1
    Cancellation of a previously sent execution report.
31LastPxN
Type:
Price

Description: The price of the last fill.

Required:
N
32LastSharesN
Type:
Qty

Description: The quantity of the last fill.

Required:
N
37OrderIDY
Type:
string

Description: An identifier assigned by OneChronos to all orders entered via NewOrderSingle. In contexts where an OrderID is required but not available, e.g., when sending an OrderCancelReject in response to an unknown order, OrderID will be populated with NONE.

Required:
Y

Validation:

it == state.OrderID
38OrderQtyY
Type:
Qty

Description: The number of shares for the order.

Required:
Y

Validation:

it == state.OrderQty
39OrdStatusY
Type:
OrdStatus

Description: The state of the order. State transitions are governed per the FIX order state transition rules.

Required:
Y
Enum values:
  • NEW: 0
    Order is acknowledged.
  • PARTIALLY_FILLED: 1
    Order is partially filled.
  • FILLED: 2
    Order is fully filled.
  • CANCELED: 4
    Order was successfully canceled.
  • REPLACED: 5
    Order was replaced.
  • PENDING_CANCEL: 6
    Order is awaiting Cancellation.
  • REJECTED: 8
    Order was rejected.
  • EXPIRED: C
    Order is expired.
  • PENDING_REPLACE: E
    Order is in a pending replace state.
40OrdTypeY
Type:
OrdType

Description: The type of an order.

Required:
Y

Validation:

it == state.OrdType
Enum values:
  • LIMIT: 2
    Order is eligible for execution at a price equal to or more favorable than Price.
  • PEGGED: P
    Order is eligible for execution at a price equal to or more favorable than a computed price per the peg instructions given in ExecInst and PegDifference.
41OrigClOrdIDN
Type:
string

Description: The ClOrdID of the previous order in a FIX cancel/replace chain. Clients should always set OrigClOrdID to the most recent non-rejected ClOrdID sent; when populating OrigClOrdID OneChronos will always use the last accepted ClOrdID.

Required:
N
44PriceN
Type:
Price

Description: The limit price of an order.

Required:
N

Validation:

it == state.Price
47Rule80AY
Type:
Rule80A

Description: The capacity of an order. For US equities, order capacity is in reference to Rule 80A.

Required:
Y

Validation:

it == state.Rule80A
Enum values:
  • AGENCY_SINGLE_ORDER: A
    Broker is executing in an pure agency capacity.
  • PRINCIPAL: P
    Broker is executing as a principal in the transaction.
  • RISKLESS_PRINCIPAL: R
    Broker is executing as a riskless principal in the transaction.
54SideY
Type:
Side

Description: The side of an order.

Required:
Y

Validation:

it == state.Side
Enum values:
  • BUY: 1
    Order is a buy.
  • SELL: 2
    Order is a long sell.
  • SELL_SHORT: 5
    Order is a short sell.
  • SELL_SHORT_EXEMPT: 6
    Order is a short sell, exempt from restrictions such as Reg 201 in the case of US equities.
55SymbolY
Type:
string

Description: The symbol (ticker) of the instrument being traded. See Symbology for additional details.

Required:
Y

Validation:

it == state.Symbol
58TextN
Type:
string

Description: Free form text. Subscribers can populate this field for internal use; OneChronos may populate this field to provide additional context to Subscriber when sending a rejection.

Required:
N
59TimeInForceY
Type:
TimeInForce

Description: A field governing how long an order will remain active for.

Required:
Y

Validation:

it == state.TimeInForce
Enum values:
  • DAY: 0
    Order will remain active throughout the regular trading session.
  • IMMEDIATE_OR_CANCEL: 3
    Order will be canceled after participating in one auction.
  • FILL_OR_KILL: 4
    Order will be canceled unless it can be filled in entirety in one auction; partial fills are not allowed.
  • GOOD_TILL_DATE: 6
    Order will remain active until the time specified by ExpireTime.
60TransactTimeY
Type:
UTCTimestamp

Description: A UTC timestamp indicating when a transaction occurred. Internally, OneChronos logs events at microsecond or higher precision but disseminates time msgFields with millisecond precision. Subscribers desiring microsecond precision timestamps can enable them on a port level.

Required:
Y
64FutSettDateN
Type:
LocalMktDate

Description: Specific date of trade settlement

Required:
N
75TradeDateN
Type:
LocalMktDate

Description: Indicates date of trade

Required:
N
103OrdRejReasonN
Type:
OrdRejReason

Description: An error code indicating why a NewOrderSingle (type=ORDER_SINGLE) was rejected.

Required:
N
Enum values:
  • BROKER_OPTION: 0
    Order violates one or more aspects of the venue order entry specification not enumerated by OrdRejReason.
  • UNKNOWN_SYMBOL: 1
    Order references an unknown Symbol or SymbolSfx.
  • EXCHANGE_CLOSED: 2
    Order received outside of market hours.
  • ORDER_EXCEEDS_LIMIT: 3
    Order violates venue or user configured risk limits.
  • DUPLICATE_ORDER: 6
    Order specifies a ClOrdID that is currently in use.
  • INVALID_EXPRESSIVE_BID_URI: 9
    The expressive bid URI and/or arguments associated with an OrderSingle was invalid.
110MinQtyN
Type:
Qty

Description: The minimum permissible fill quantity for an order.

Required:
N

Validation:

it == state.MinQty
126ExpireTimeN
Type:
UTCTimestamp

Description: When TimeInForce=GOOD_TILL_DATE ExpireTime must be populated with the desired expiry time.

Required:
N

Validation:

it == state.ExpireTime
150ExecTypeY
Type:
ExecType

Description: The type of an ExecutionReport. See the section on FIX order state transitions for additional details.

Required:
Y
Enum values:
  • NEW: 0
    Report is an ExecutionReport-Acknowledgement.
  • PARTIAL_FILL: 1
    Report is an ExecutionReport-PartialFill.
  • FILL: 2
    Report is an ExecutionReport-Fill.
  • CANCELED: 4
    Execution report is an ExecutionReport-Cancel or ExecutionReport-UnsolicitedCancel.
  • REPLACED: 5
    Execution report is an ExecutionReport-Replace.
  • PENDING_CANCEL: 6
    Execution report is an ExecutionReport-PendingCancel.
  • REJECTED: 8
    Execution report is an ExecutionReport-BusinessReject.
  • EXPIRED: C
    Report is an ExecutionReport-Expired.
  • PENDING_REPLACE: E
    Report is an ExecutionReport-PendingReplace.
151LeavesQtyY
Type:
Qty

Description: The remaining (unfilled) quantity of an order open for additional fills. If OrdStatus is CANCELED, EXPIRED, or REJECTED LeavesQty=0. Otherwise, LeavesQty=OrderQty - CumQty.

Required:
Y

Validation:

it == 0.0 || it == leavesQty()
211PegDifferenceN
Type:
PriceOffset

Description: Amount (signed) added to the price of the peg for a pegged order.

Required:
N

Validation:

it == state.PegDifference
9730TradeLiquidityIndicatorN
Type:
string

Description: An indicator code containing alphanumeric strings (up to four characters) that represent the type of the trade (e.g. conditional firm up) and associated fee.

Required:
N
20001AnalyticsTagsN
Type:
string

Description: An optional Subscriber/Customer supplied comma separated list of identifiers. Tags are echoed back on fills and used as filter/query parameters in analytics reports. If specified, the rules outlined in the section on Identifiers apply.

Required:
N

Validation:

it == state.AnalyticsTags
20003OmniverseTagsN
Type:
string

Description: An optional string passing back the the Omniverse arguments of an order

Required:
N
20005AuctionIDN
Type:
int

Description: A unique identifier assigned by OneChronos to each auction.

Required:
N
20006AuctionSubIDN
Type:
int

Description: A unique identifier assigned by OneChronos to each atomic symbol within a given auction. Any given AuctionID can have zero or more values of AuctionSubID associated with it.

Required:
N
20007CancelReasonN
Type:
CancelReason

Description: An indicator code detailing why an an order was canceled

Required:
N
Enum values:
  • UNSPECIFIED: 0
    Unspecified - no additional information is available
  • USER_INITIATED: 1
    The user initiated the cancel
  • IOC: 2
    The cancelation was sent as the result of an Immediate or Cancel (IOC) order expiring either partially filled or unfilled.
  • FOK: 3
    The cancelation was sent as the result of a Fill or Kill (FOK) order expiring unfilled.
  • TIME_IN_FORCE: 4
    The cancelation was sent as the result of an order expiring due to a time in force constraint.
  • HALT: 5
    The cancelation was sent as the result of either a venue wide or trading symbol specific trading halt.
  • ORDER_ENTRY_DISCONNECT: 6
    The cancelation was sent as the result of an order entry FIX session disconnect when cancel on disconnect behavior is configured.
  • DROP_COPY_DISCONNECT: 7
    The cancelation was sent as the result of a drop copy FIX session disconnect when cancel on disconnect behavior is configured.
  • CONDITIONAL_INVITATION: 8
    The cancelation was sent as the result of a conditional invitation.
20008LastNexusIDN
Type:
string

Description: The NexusID associated with a fill. If the order was filled in Base, this field is left empty.

Required:
N

Message Validations

state.orderEntry.isConnected

this.ExecType in [ExecType.PartialFill, ExecType.Fill] ==>
      present(this.LastPx) &&
      present(this.LastShares) &&
      present(this.FutSettDate) &&
      present(this.TradeDate) &&
      present(this.TradeLiquidityIndicator) &&
      present(this.AuctionID) &&
      present(this.AuctionSubID)

!(this.ExecType in [ExecType.PartialFill, ExecType.Fill]) ==>
      !(
        present(this.AuctionID) ||
        present(this.AuctionSubID)) ||
        present(this.FutSettDate) ||
        present(this.TradeDate) ||
        present(this.TradeLiquidityIndicator)

this.ExecType == ExecType.New ==> this.AvgPx == 0.0

this.ExecType == ExecType.Replaced ==> present(this.OrigClOrdID)

this.ExecType == ExecType.Rejected ==> present(this.OrdRejReason) &&
    this.ExecType != ExecType.Rejected ==> !present(this.OrdRejReason)

this.OrdStatus in [OrdStatus.Canceled, OrdStatus.Expired,
                       OrdStatus.Rejected] ==>
      this.LeavesQty == 0.0

!(this.OrdStatus in [OrdStatus.Canceled, OrdStatus.Expired,
                         OrdStatus.Rejected]) ==>
      this.LeavesQty == this.OrderQty - this.CumQty

this.ExecType in [ExecType.New, ExecType.Canceled, ExecType.Rejected, ExecType.Replaced,
                      ExecType.PendingCancel, ExecType.PendingReplace] ==>
      this.LastPx == (Some 0.0) && this.LastShares == (Some 0.0)

this.ExecType == ExecType.Canceled ==> present(this.CancelReason) &&
    this.ExecType != ExecType.Canceled ==> !present(this.CancelReason)

present(this.OmniverseTags) ==> this.ExecType in [
      ExecType.Fill, ExecType.PartialFill,
      ExecType.New, ExecType.Replaced, ExecType.PendingReplace,
      ExecType.Canceled, ExecType.PendingCancel
    ]

present(this.LastNexusID) ==> this.ExecType in [ExecType.Fill, ExecType.PartialFill]

OrderCancelReject (9)

OrderCancelReject messages are sent from OneChronos to Subscriber in response to OrderCancelRequest messages that are invalid on a business logic level, or that reference orders in a non-cancelable state.
TagNameRequired?Description
1AccountN
Type:
string

Description: A client supplied account identifier.

Required:
N

Validation:

it == state.Account
11ClOrdIDY
Type:
string

Description: A Subscriber provided order ID satisfying the requirements for Subscriber provided IDs.

Required:
Y

Validation:

it == state.ClOrdID
37OrderIDY
Type:
string

Description: An identifier assigned by OneChronos to all orders entered via NewOrderSingle. In contexts where an OrderID is required but not available, e.g., when sending an OrderCancelReject in response to an unknown order, OrderID will be populated with NONE.

Required:
Y
39OrdStatusY
Type:
OrdStatus

Description: The state of the order. State transitions are governed per the FIX order state transition rules.

Required:
Y

Validation:

it == state.OrdStatus
Enum values:
  • NEW: 0
    Order is acknowledged.
  • PARTIALLY_FILLED: 1
    Order is partially filled.
  • FILLED: 2
    Order is fully filled.
  • CANCELED: 4
    Order was successfully canceled.
  • REPLACED: 5
    Order was replaced.
  • PENDING_CANCEL: 6
    Order is awaiting Cancellation.
  • REJECTED: 8
    Order was rejected.
  • EXPIRED: C
    Order is expired.
  • PENDING_REPLACE: E
    Order is in a pending replace state.
41OrigClOrdIDN
Type:
string

Description: The ClOrdID of the previous order in a FIX cancel/replace chain. Clients should always set OrigClOrdID to the most recent non-rejected ClOrdID sent; when populating OrigClOrdID OneChronos will always use the last accepted ClOrdID.

Required:
N
58TextN
Type:
string

Description: Free form text. Subscribers can populate this field for internal use; OneChronos may populate this field to provide additional context to Subscriber when sending a rejection.

Required:
N
102CxlRejReasonY
Type:
CxlRejReason

Description: An error code indicating why a OrderCancelRequest (type=ORDER_CANCEL_REQUEST) was rejected.

Required:
Y
Enum values:
  • TOO_LATE_TO_CANCEL: 0
    Cancellation request received after order was filled in entirety.
  • UNKNOWN_ORDER: 1
    The ClOrdID referenced in the OrderCancelRequest is unknown.
  • BROKER_OPTION: 2
    The request could not be processed and a more specific reason is not available.
  • ORDER_ALREADY_IN_PENDING_STATUS: 3
    A cancellation request was already received for the order referenced.
  • INVALID_EXPRESSIVE_BID_URI: 4
    The expressive bid URI and/or arguments was invalid; only applicable when CxlRejResponseTo=2 (OrderCancelReplaceRequest (G)).
434CxlRejResponseToY
Type:
CxlRejResponseTo

Description: Indicates the type of order cancel request that a OrderCancelReject is in response to.

Required:
Y
Enum values:
  • ORDER_CANCEL_REQUEST: 1
    A response to an OrderCancelRequest (F)
  • ORDER_CANCEL_REPLACE_REQUEST: 2
    A response to aa OrderCancelReplaceRequest (G)

Message Validations

state.orderEntry.isConnected

TradeBust (UCC)

TradeBust messages are sent to Subscriber to report trade breaks. Only full breaks (cancellations) ExecTransType=CANCEL are supported.
TagNameRequired?Description

Report Specializations

ExecutionReport is used for many purposes, such as conveying the acceptance of an order or communicating fills to Subscriber. The ExecutionReport types sent by OneChronos are enumerated below. The rules that OneChronos uses to compute OrdStatus are strictly compliant with FIX, and outlined as a state transition matrix in the section on Order States.

Order State Transitions

OneChronos uses a subset of the legal FIX order state transitions. When an order is in multiple states at once (e.g. PENDING_CANCEL and PARTIALLY_FILLED) the FIX rules of precedence are used to determine which state is reported in the OrdStatus field of an ExecutionReport.

  • PENDING_CANCEL: 12
    (highest precedence)
  • PENDING_REPLACE: 11
  • FILLED: 8
  • CANCELED: 5
  • PARTIALLY_FILLED: 4
  • NEW: 2
  • REJECTED: 2
  • PENDING_NEW: 2

Note that values are non-consecutive to maintain parity with the FIX 4.2 specification.

The following are legal transitions (from the perspective of OneChronos sending ExecutionReport messages). States that can only transition to themselves and for which no further messages will be sent (with the exception of trade breaks, when configured) are labeled TERMINAL.

  • NEW
    • PARTIALLY_FILLED
    • FILLED
    • EXPIRED
    • CANCELED
    • PENDING_CANCEL
  • PARTIALLY_FILLED
    • PARTIALLY_FILLED
    • FILLED
    • EXPIRED
    • CANCELED
    • PENDING_CANCEL
  • FILLED
    • TERMINAL
  • EXPIRED
    • TERMINAL
  • CANCELED
    • TERMINAL
  • PENDING_CANCEL
    • PENDING_CANCEL
    • FILLED
    • CANCELED
  • REJECTED
    • TERMINAL
  • PENDING_NEW
    • NEW
    • REJECTED

Drop Copy

OneChronos offers two types of FIX drop copy:

  • Order-by-Order: All business level messages (including trade breaks, if configured) are forwarded to the drop copy session
  • Fills Only: Only ExecutionReport-Fill and ExecutionReport-PartialFill messages are forwarded to the drop copy session

Drop copy functionality is configured on the port/session level.

Port Settings

The following parameters can be configured on the FIX port/session level:

Order Entry Port Settings

NameEnabled by Default?Description
Allow Short SalesYAllow short sales - orders where Side=SELL_SHORT or Side=SELL_SHORT_EXEMPT.
Allow Test SymbolsNIf true, orders for both test and tradable symbols will be accepted. If false, only tradable (non-test) symbols will be allowed.
Cancel On DisconnectYCancel all orders in the event of a FIX/network disconnect. Orders that are too late to cancel (actively participating in an auction) will not be canceled.
Cancel on HaltNCancel all orders for halted symbols. If the halt impacts any one leg of a combinatorial order, all legs will be canceled.
Drop Copy Connection Disconnect HandlingNControls the handling of drop copy session disconnects.

Parameters:

  • Name:
    timeout
    Description: The number of seconds to wait for the drop copy connection to re-establish before taking action.
    Type:
    integer
    Default Value:
    30

    Validation:

    this.timeout >= 30 && this.timeout <= 180
  • Name:
    rejectNew
    Description: Reject new orders if a drop copy connection is not active, or if the connection disconnects.
    Type:
    boolean
    Default Value:
    False
  • Name:
    cancelResting
    Description: Cancel resting orders if a drop copy connection is not active, or if the connection disconnects.
    Type:
    boolean
    Default Value:
    False
Fat Finger Percent DeltaNReject orders that are more than a given percent outside of the prevailing NBBO price upon the initiation of an auction. This calculation only applies to individual legs of a combinatorial order that specify a limit price.

Parameters:

  • Name:
    maxPctDelta
    Description: The maximum percent delta.
    Type:
    number
    Default Value:
    10.0

    Validation:

    this.maxPctDelta >= 0.000001 && this.maxPctDelta <= 10.0
Maximum Notional ValueNThe maximum permissible notional value (in USD) for a single order.

Parameters:

  • Name:
    maxValue
    Description: Max notional value.
    Type:
    number
    Default Value:
    1,000,000,000

    Validation:

    this.maxValue >= 1.0 && this.maxValue <= 1,000,000,000
Maximum Order SharesYThe maximum number of shares allowed for a single order.

Parameters:

  • Name:
    maxValue
    Description: Max shares for a single order.
    Type:
    integer
    Default Value:
    10,000,000

    Validation:

    this.maxValue >= 1 && this.maxValue <= 10,000,000
Self-Match PreventionNSelf-match prevention (anti-internalization) behavior. When disabled, all Subscriber orders are free to match against all other Subscriber orders. When enabled and set to SUBSCRIBER, orders will not match against other orders from the same Subscriber. When set to MPID, orders will not match against other orders from the same MPID as determined by OnBehalfOfCompID or the port level default MPID. When set to SENDER_COMP_ID, orders will not match against other orders from the same SenderCompID. Note that in all cases Tag 2362 SelfMatchPreventionID takes precedence over this port setting.

Parameters:

  • Name:
    selfMatchPrevention
    Type:
    enum
    Default Value:
    SENDER_COMP_ID
    Enum values:
    • SUBSCRIBER: 0
      Subscriber-level self match prevention
    • MPID: 1
      MPID-level self match prevention
    • SENDER_COMP_ID: 2
      Session/SenderCompID self match prevention
Symbology TypeYDefines the symbology suffix convention to use for order entry.

Parameters:

  • Name:
    symbologyType
    Type:
    enum
    Default Value:
    CMS_CONCATENATED
    Enum values:
    • CMS_CONCATENATED: 0
      Use CMS Concatenated symbology for symbols requiring a suffix.
    • CMS_SUFFIX: 1
      Use CMS Suffix symbology for symbols requiring a suffix.
    • NASDAQ_INTEGRATED: 2
      Use NASDAQ Integrated symbology for symbols requiring a suffix.
Timestamp AccuracyYControlls the accuracy of the timestamps that OneChronos will send the Subscriber in outbound messages e.g. an ExecutionReport.

Parameters:

  • Name:
    timestampPrecision
    Type:
    enum
    Default Value:
    Milli
    Enum values:
    • MILLI: 0
      Millisecond timestamp reporting
    • MICRO: 1
      Microsecond timestamp reporting
    • NANO: 2
      Naonsecond timestamp reporting
Trade Break ReportingNEnable TradeBreak reporting.

Drop Copy Port Settings

NameEnabled by Default?Description
Drop Copy TypeYControls the type of drop copy reports that are sent to Subscriber.

Parameters:

  • Name:
    drop_copy_type
    Description: The type of drop copy reports that are sent.
    Type:
    enum
    Default Value:
    FILLS_ONLY
    Enum values:
    • ORDER_BY_ORDER: 0
      All business level messages (including trade breaks, if configured) are forwarded to the drop copy session.
    • FILLS_ONLY: 1
      Only ExecutionReport-Fill and ExecutionReport-PartialFill messages are forwarded to the drop copy session.
Trade Break ReportingNEnable TradeBreak reporting.