Reuters Bridge Mapping Table

Reuters Bridge Mapping Table

version 1.2

Overview

This article describes mapping rules which are applied to incoming TOF-messages in order to convert them to FIX4.4 messages.

Deal Types recognition rules

Below is the table that represents the rules for recognition of the deal type in incoming Record Response (340).

Deal type

Matching predicate

Field Lists

Comment

Deal type

Matching predicate

Field Lists

Comment

FXSpot

Pure Deal-Type (569) == '2'

501

Spot

FXFwd

Pure Deal-Type (569) == '4' and not exists(Fixing Date 1 (554))

Outright

FXSwap

Pure Deal-Type (569) == '8' and not exists(Fixing Date 1 (554)) and not exists(Fixing Date 2 (555))

502

Swap

NDF

(Pure Deal-Type (569) == '4' and exists(Fixing Date 1 (554)) or (Pure Deal-Type (569) == '8' and exists(Fixing Date 1 (554)) and exists(Fixing Date 2 (555)))

501/502

NDF Outright or NDF Swap

FXDeposit

Pure Deal-Type (569) == '16'

503

Deposit

FXFRA

Pure Deal-Type (569) == '32'

505

FRA

TOF Record Response to FIX Trade Capture Report mapping rules

Below is the table which represents rules of mapping which are applied to TOF Record Response (340) message in order to convert it to FIX Trade Capture Report (msgType = AE) message.

TOF


FIX 4.4



Mapping Rules



Comment

TOF field

TOF tag

FIX field

FIX tag

Req'd

Valid Values

Data Type

-

-

TradeReportID

571

Y

-

String

FIX 571 = tcid#N, where tcid is four-character code.

tcid#N is extracted from header …<US>…<GS>tcid#N<US>…

Unique identifier of Trade Capture Report ('AE')

-

-

SenderSubID

50

Y

-

String

FIX 50 = 'REUTERS'

Assigned value used to identify specific message originator

-

-

TradeReportTransType

487

N

0 = New

1 = Cancel

2 = Replace

int

FIX 487 = '0'

Identifies Trade Capture Report (AE) message transaction type

Direction

514

TrdSubType

829

N

0 = Regular Trade

12 = Exchange for Swap

22 = Privately Negotiated Trades

51 = Deposits

52 = Blank credit

53 = Repurchase agreement

int

if DealType == FXDeposit or DealType == FXFRA FIX 829=51

-

-

-

ExecID

17

N

-

String

FIX 17 = tcid#N, where tcid is four-character code.

tcid#N is extracted from header …<US>…<GS>tcid#N<US>…

Unique identifier of Execution Report

-

-

SecondaryExecID

527

N

-

String

Not mapped

Identifier of original Swap for MICEX Spot

-

-

PreviouslyReported

570

Y

N = Not reported

Boolean

FIX(570) = 'N'

-

ID of the original it this is a Contra

567

TradeReportRefID

572

N

-

String

  • if TOF 567 != tcid#0, FIX 572 = TOF 567

  • if TOF 568 != tcid#0, FIX 572 = TOF 568

The TradeReportID (571) that is being referenced for correction or cancelation. For REPO Margin Calls in MICEX: reference to tag 818 tag of original REPO deal

ID of previous if this is a next

568

Rate Direction

524

PriceType

423

N

-

int

  • if TOF 524 = '1', FIX 423 = '20'

  • if TOF 524 = '2', FIX 423 = '21'

-

Price Convention

573

PriceSubType

10423

N

-

int

If Exists(TOF 573), FIX 10423 = TOF 573

-

-

-

ExecType

150

N

F = Trade

G = Trade Correct

H = Trade Cancel

char

 FIX 150 = 'F'

-

Currency 1

517

Symbol

55

Y

Format: Crncy1/Crncy2

String

FIX 55 = concat (TOF 517, '/', TOF 518)

Crncy1, Crncy2 - 3 character ISO Currency code. Example: 'USD/JPY', 'EUR/USD'

Currency 2

518

-

-

SecurityID

48

N

-

String

Not mapped

-

-

-

SecurityIDSource

22

N

4 = ISIN Code

String

Not mapped

-

-

-

Product

460

N

2 = Commodity

4 = Currency

5 = Equity

6 = Government

8 = Loan

11 = Municipal

int

  • if DealType = FXDeposit || DealType = FXFRA FIX 460 = '9'

  • else FIX 460 = '4'

 

-

-

-

CFICode

461

N

MRCXXX = Currency

ESXXXX = Common stock

EPXXXX = Preferred stock

DBXXXX = Bonds

EUXXXX = Mutual fund

"OgsCXN" = Non-standardized Option on Currency.

g: C=Call / P=Put,

s: A=American / E=European.

String

  • if DealType = FXDeposit || DealType = FXFRA FIX 461 = 'DCXXXX'

  • else FIX FIX 461 = 'MRCXXX'

Indicates the type of security using ISO standard, Classification of Financial Instruments (CFI code) values. 

-

-

SecurityType

167

Y

CS = Common stock

PS = Preferred stock

EUSOV = Eurobond

MUNI = Municipal bond

BN = Bank notes

CORP = Corporate bond

MF = Mutual fund

FOR = Foreign Exchange Contract

OPT = Options

String

  • if DealType = FXDeposit || DealType = FXFRA FIX 167 = 'CD'

  • else FIX FIX 167 = 'FOR'

 

Settlement

674

SecuritySubType

762

N

‘DELIVERABLE’
‘NON-DELIVERABLE’

String

  • if TOF 674 == '1', FIX 762 == 'DELIVERABLE'

  • if TOF 674 == '2', FIX 762 == 'NON-DELIVERABLE'

  • else don't map

-

Pure-Deal type

569

SecurityDesc

107

N

 -

String

  • If Deal type = 'FXSpot', FIX 107 = 'FXSPOT'

  • If Deal type = 'FXSwap', FIX 107 = 'FXSWAP'

  • If Deal type = 'FXFwd', FIX 107 = 'FXFORW'

  • If Deal type = 'NDF', FIX 107 = 'NDF'

  • If Deal type = 'FXFRA', FIX 107 = 'FXFRA'

  • If Deal type = 'FXDeposit', FIX 107 = 'DEPZ'

Please see Deal Types recognition rules for details of Deal type recognition.

Security description

FRA Fixing Date/Fixing Date Period 1

554

FRA Settlement Date/Fixing Date Period 2

555

Source Reference

501

TradeID

1003

N

-

String

FIX 1003 = TOF 501

-

Secondary Source Reference

539

SecondaryTradeID

1040

N

-

String

FIX 1040 = TOF 539

-

 -

 -

NoEvents

864

N

-

NumInGroup

  • If NoEvents repeating group is not empty/absent, create new repeating group entry NoEvents (864) = 1

  • else NoEvents (864) = current tag value + 1

-

FRA Fixing Date/Fixing Date Period 1

554

EventType

=> 865

Y

 -

 int

FIX 865 [1] = '101'

 -

EventDate

 => 866

Y

 -

 LocalMktDate

FIX 866 [1] = convert2LocalMktDate(TOF 554)

 -

-

-

NoUnderlyings