Sales RFS Trade Messages

This documentation is for FX Sales 1.16 and below. From version 1.17 (27 Jan 2017), FX Sales requires backend adapters to implement the FX Integration API 3. For documentation on trade models and messages in FX Integration API 3, see FX Integration API.

The FX Sales Motif Request for Stream (RFS) messaging specification extends the FX Motif RFS messaging specification, and should be read in conjunction with it. The FX Sales Motif extensions provide support for trading on behalf of (TOBO) another user, with additional fields for specifying rate and points margins (sales markup).

This specification applies to FX Integration API version 2.9.0 and later.

Submit message

This is the message that the client sends in order to open an RFS ticket and receive quotes.

In addition to the fields sent on the standard RFS Submit Message, the following fields must also be sent.

Trade fields
Field Name Description Example

TradingSubProtocol

This field is used to indicate to the back end that the user is requesting a trade with Sales functionality.

SALES_RFS

TOBOUser

The user the trade is on behalf of. For example, if the logged in user dealer1@novobank.co.za wishes to make a trade on behalf of user bob_treasurer, then the value of this field will be bob_treasurer.

bob_treasurer

Price update message

This is the message the server (a trading adapter) will send to the client when it receives a price update from the back-end trading system.

In addition to the fields sent within the standard RFS price-update message, the following fields will also be sent where appropriate for the trade type.

Trade fields
Field Name Description Example

DefaultSpotBidMargin

This field represents the default margin to be applied to the SpotBidRate. It should be sent as an unformatted, raw value.

0.00010

DefaultSwapBidMargin

This field represents the default swap margin to be applied to the bid side: L1_DefaultFwdAskMargin + L2_DefaultFwdBidMargin

0.000033

ProfitBidRate

The conversion rate between the contra currency and the profit currency. This can be used for entering profit in an amount of settlement currency, for example.

1.145345

ProfitCurrency

The profit currency that the ProfitBidRate is being provided for.

USD

ProfitCurrencyDPS

This is the number of decimal places that should be used for formatting the amount in profit currency field.

2

TraderSpotBidRate

This field represents the spot rate with no client margin applied to it.

0.7204

TraderSwapBidPoints

This field represents the swap points with no client margins applied to them.

0.000897

The fields below all relate to a trade leg. For non-swap quotes you will only receive fields with the 'L1_' prefix because the trade only has one leg. For swap quotes, these fields will be repeated with an 'L2_' prefix representing the far leg.

Trade leg fields
Field Name Description Example

L1_DefaultFwdBidMargin

This field represents the default margin to be applied to the L1_TraderFwdBidPoints. It should be sent as an unformatted, raw value.

0.000011

L1_TraderAllInBidRate

This field represents the all-in rate, with no client margin applied to it

0.715379

L1_TraderFwdBidPoints

This field represents the forward points with no client margin applied to them.

0.000279

Execute message

This is the message that the client will send in order to execute a trade on a quote received on the stream (RFS).

In addition to the fields sent in the standard RFS execute message, the following fields must also be sent. Note that only fields for a bid execution are shown below. Equivalently named fields must be sent for an ask execution, for example 'SpotAskMargin' in place of 'SpotBidMargin'.

Trade fields
Field Name Description Example

SpotBidMargin

This field represents the spot margin that the sales user has selected. It should be sent as a raw value, and unformatted.

0.0023

SwapBidMargin

This field represents the swap margin to be applied to the bid side: L1_FwdAskMargin + L2_FwdBidMargin.

N/A

The fields below all relate to a trade leg. For non-swap quotes you will only receive fields with the 'L1_' prefix because the trade only has one leg. For swap quotes these fields will be repeated with an 'L2_' prefix, representing the far leg.

Trade leg fields
Field Name Description Example

L1_AllInBidMargin

This is the user’s selected SpotBidMargin added to the selected FwdBidMargin

0.000011

L1_FwdBidMargin

This field represents the Forward margin that the sales user has selected. This field should be sent raw and unformatted.

0.000019

Trade confirmation message

This is the message sent by the server (a trading adapter) to confirm to the client that the RFS trade has been successfully executed in the back-end trading system. It contains all the details required by the client to validate the success of the trade and can also be used as an Execution or Historic blotter entry.

In addition to the fields sent on the standard RFS Trade Confirmation Message the following fields must also be sent.

Trade fields
Field Name Description Example

Profit

This field represents the sales profit in the specified currency

100.45

ProfitCurrency

This field represents the currency that the profit is provided in

USD

ProfitRate

This is an additional field. This field represents the conversion rate from the contra currency into the profit currency

1.135843

SpotMargin

This field represents the spot margin that the sales user has selected. It should be sent as a raw value, and unformatted.

0.0023

TOBOUser

The user the trade is on behalf of. For example, if the logged in user dealer1@novobank.co.za wishes to make a trade on behalf of user bob_treasurer, then the value of this field will be bob_treasurer.

bob_treasurer

TraderSpotRate

This field represents the spot rate with no client margin applied to it.

0.7204

Included in the message when appropriate for the type of trade.

Trade leg fields
Field Name Description Example

SwapMargin

This field represents the swap margin that the sales user has selected. It should be sent as a raw value, and unformatted.

N/A

TraderSwapPoints

This field represents the spot points with no client margins applied to them.

L1_AllInMargin

This is the sales user’s selected SpotMargin added to the sales user’s selected L1_FwdMargin.

0.000011

L1_FwdMargin

This field represents the Forward margin that the user has selected. This field should be sent raw and unformatted.

0.000019

L1_TraderAllInRate

This field represents the all-in rate, with no client margin applied to it

0.715379

L1_TraderFwdPoints

This field represents the forward points with no client margin applied to them.

0.000279


See also: