How to connect to Thomson Reuters MATCHING API FIX venue

How to connect to Thomson Reuters MATCHING API FIX venue

book

Article ID: KB0074538

calendar_today

Updated On:

Products Versions
TIBCO Streaming 10

Description

What is the required FIX adapter configuration to connect to the Thomson Reuters MATCHING API?

Resolution

The Thomson Reuters FIX venue uses FIX version FIX50SP2/FIXT.1.1 which requires the use of the TIBCO® Streaming High-Performance FIX Engine. The QuickFIX/J engine in Streaming does not support this FIX version.

The configuration requires non-default settings for:
* FIX Adapter Properties 
* Session Configuration XML Settings
* Engine fixengine.properties Settings
* Runtime Commands

FIX adapter properties 

In the FIX adapter properties in Studio set:
  FIX Engine to Use = "StreamBase High Performance Engine"
  FIX Admin Message Interceptor Class = com.sb.support.FIXTAdminMessageInterceptor
  Perform User-Level Logon Procedure (BE/BF FIX messages) = [checked]
  Use SenderSubID Field To Identify Session = [checked]

Session Configuration XML Settings

In the session configuration, set:
    <version>FIX.5.0SP2</version>
    <begin-string>FIXT.1.1</begin-string>
    <reset-on-logon>false</reset-on-logon>
    <username>youruser</username>
    <password>yourpassword</password>
    <sender-sub-id>yoursubid</sender-sub-id>
    <cstm-appl-ver-id>9</cstm-appl-ver-id>
    <new-password>yournewpassword</new-password>
    <user-data-list></user-data-list>
(The other defaults from our FIX adapter sample project are correct for this venue.)

Engine fixengine.properties Settings

In the fixengine.properties file set:
handleSeqNumAtLogon=true
outgoingStorageIndexed=false
These settings support the MATCHING API requirements that NextExpectedMsgSeqNum(tag-789) is used in the session, and that message resends are limited to SequenceReset(tag-4)/Gap-Fill responses.

Runtime Commands

The "THOMSON REUTERS MATCHING API" test "5.5 Client sending Tag 789 higher than expected" requires additional adapter commands at 'A.' after step '10.':
9. Submit a FIX Session login request (35=A).

10. Receive Session logout response (Expected 1. Received X).

A. At this point, submit the FIX adapter commands:

1. Reset the session (FIX spec requirement since we cannot re-use sequence numbers in a session):
  Command: ResetSession
  BeginString: FIXT.1.1
  SenderCompID: {you}
  TargetCompID: TR MATCHING

2. Adjust our next sequence number to '2' (since seq=1 was the last failed Logon attempt):
  Command: SetSenderMsgSeqNum
  BeginString: FIXT.1.1
  SenderCompID: {you}
  TargetCompID: TR MATCHING
  BeginSeqNo: 2

3. Adjust the target expected sequence number (to accommodate the test):
  Command: SetTargetMsgSeqNum
  BeginString: FIXT.1.1
  SenderCompID: {you}
  TargetCompID: TR MATCHING
  BeginSeqNo: 2

11. Submit a FIX Session login request (35=A, 789=2).

Issue/Introduction

Adapter configuration guidance