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?

Issue/Introduction

Adapter configuration guidance

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