Sales RFS Trade Messages

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.

Contents:

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

Trade leg fields

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.

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

Trade leg fields

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.

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

Trade leg fields

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

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: