Details of the FIX interface changes expected as part of the forthcoming spot orderbook upgrade.
Conformance Testing - Action Required!
An update to the FIX conformance test is required. OSL has streamlined test cases to focus on key migration readiness.
Conformance TestingPlease contact you Relationship Manager or Technical Account Manager for more details.
Error Codes - No change
The numerical error codes in tag 58 will be preserved in the new system with a mapping to minimize the disruption to client who parse the codes in their systems.
Please note that at a future date non-numerical error codes may be introduced.
Expected Changes
1. Daily Maintenance Removed
The legacy system has a 30-minute maintenance from 07:00 to 07:30 HKT which includes a FIX server restart, session disconnect and reconnect, and sequence number reset.
The new orderbook will operate 24/7. There will be no FIX server restart or daily maintenance window. The new gateway enforces a strict session boundary at 00:00:00 UTC (08:00 HKT). All sessions disconnect for approximately 1 second, and inbound/outbound sequence numbers automatically reset to 1.
Client Actions & GuidanceExpect a disconnection daily at 00:00:00 UTC. Client systems must automate reconnection and handle sequence resets starting at 1.
Recommended: Send the
ResetSeqNumFlagwith141=Yon the first Logon (35=A) message immediately following the disconnect.
2. Market Data for Unknown Symbols Strict Checks removed
The legacy system rejects subscriptions to unrecognized or non-existent symbols via a MarketDataRequestReject (35=Y) response.
The new system will accept any non-empty symbol string. Unknown symbols will not result in any data updates but do NOT trigger a reject message.
Client Actions & GuidanceMarket data parsers should not expect a
35=Yerror message for invalid symbols. It is recommended to validate instrument symbols locally prior to establishing subscriptions.
3. Parties Group - Firm ID (Tag 448)
Tag 448 (PartyID) for Party 1 (PartyRole=1, Executing Firm) returned a variable, per-session custom firm name (e.g., EXAMPLE_FIRM).
Tag 448 (PartyID) for Party 1 is entirely unified and will always return a fixed value: 448=OSL.
Client Actions & GuidanceClients parsing Tag
448within the repeating group (Tag453) to cross-reference their firm identifier will now seeOSL.
4. Additional Changes to ERs (Added 8-Jun)
There are a few changes to the outbound (sent by OSL) Execution Report messages.
- Tag 126 (ExpireTime) in outbound ER is now always populated for GTD orders, echoing the expire time back (currently documented as conditional).
- Tag 1057 (Aggressorlndicator) is now populated on trade ERs (was optional before).
- Tag 198 (SecondaryOrderID) is only populated if the Matching Engine returns a
brokerOrderId(currently empty for most orders). - MiscFeeType (139) currently document as says
7=Other, gateway also uses7(REGULATORY).
5. Change to Order Amend Behaviour - No native amends (Added 18-Jun)
In the new system, there is no a native amend function. Order amend messages will be treated as a cancel and a new.
6. Session binding to tag1
tag1In the new system, there will be a 1-2-1 mapping between the FIX session and the expected / allowed tag1 value.
Client Actions & GuidancePlease ensure your system will does not require to send different tag1 values on the same session. If it does please contact you OSL relationship managers.
7. Only Fill Execution Reports contain fees (Added July 7)
The current system includes the tags for fees on all Execution Reports (35=8). The new system will only send these tags on fills (35=8, 150=F).
Affected tags:
- 136 - NoMiscFees
- 137 - MiscFeeAmt
- 138 - MiscFeeCurr
- 139 - MiscFeeType
