IPA Financial Contracts: FX Cross Contracts

This document describes the available properties to create a request in order to price a FX Cross contract.

The "FX Cross" category regroups the following instruments: FX Spot, FX Forward, FX Swap, Non-Deliverable Forward, and FxTimeOptionForward.

Please refer to the Financial Contracts overview for details on how to structure the pricing request. In what follows we will explain how to build the instruments definition section, how to define your own pricing parameters and what fields can be calculated for FX Cross contracts.

Instrument Definition

The table below contains the properties that are available to define the object property instrumentDefinition for FX Cross instruments.

Input Name Type Description Importance Default Value
instrumentTag String A user-defined string to identify the instrument. It can be used to link output results to the instrument definition. Limited to 40 characters. Only alphabetic, numeric and '- _.#=@' characters are supported. Optional No default value applies.
fxCrossCode String The currency pair of FX Cross, expressed in ISO 4217 alphabetical format (e.g., 'EURCHF'). Mandatory No default value applies.
fxCrossType String (enumeration)

The type of the FX Cross instrument. The possible values are:

  • FxSpot,
  • FxForward,
  • FxNonDeliverableForward,
  • FxSwap,
  • FxTimeOptionForward.
Mandatory No default value applies.
tradedCrossRate Double

The contractual exchange rate agreed by counterparties. It is used to compute contraAmount if it is not provided:

  • for FxForward and FxNonDeliverableForward contracts: contraAmount computed as [dealAmount x tradedCrossRate / FxCrossScalingFactor],
  • for FxSwap contracts: farLeg contraAmount computed as [nearLeg dealAmount x tradedCrossRate / FxCrossScalingFactor].
Optional By default, it is computed as [referenceSpotRate + tradedSwapPoints / FxSwapPointScalingFactor].
tradedSwapPoints Double The contractual forward points agreed by counterparties. It is used to compute the tradedCrossRate. Optional By default, it is retrieved from the market data.
referenceSpotRate Double

The contractual spot rate agreed by counterparties. It is used to compute tradedCrossRate as [referenceSpotRate + tradedSwapPoints / FxSwapPointScalingFactor].

In the case of a FxSwap contract, it is also used to compute nearLeg contraAmount (if not defined) as [nearLeg dealAmount x (referenceSpotRate / FxCrossScalingFactor)].

Optional By default, it is retrieved from the market data.
settlementCcy String The code of the currency, in which the deal is settled in case of FxNonDeliverableForward (NDF) contract. The value is expressed in ISO 4217 alphabetical format (e.g., 'USD'). Optional By default, the first currency in fxCrossCode is used.
legs Array of objects

The input array which defines the instrument’s legs using the FxCrossLegDefinition list.

It is mandatory for the following FxCrossType contracts:

  • 1 leg is mandatory for FxForward, FxNonDeliverableForward, and FxTimeOptionForward,
  • 2 legs are mandatory for FxSwap.

 

Optional No default value applies.

 

FxCrossLegDefinition

The table below outlines the properties available to define the leg object property. For 'Date-time' parameters, ‘time’ is ignored. An information may be requested in a ‘Date’ format ('YYYY-MM-DD').

Please note that If fxCrossType = 'FxSwap', dealCcy and dealAmount specified for the 'SwapNear' leg only are taken into account for pricing.

Input Name Type Description Importance Default Value
legTag String A user-defined string to identify the leg. Optional No default value applies.
fxLegType String (enumeration) The type of the FX Cross instrument's leg. The possible values are:
  • FxSpot,
  • FxForward,
  • FxNonDeliverableForward,
  • SwapNear,
  • SwapFar.

Mandatory for FxSwap contracts.

Optional No default value applies.
dealCcy String The deal (base) currency code, expressed in ISO 4217 alphabetical format (e.g., 'EUR'). Optional By default, the base currency (the first currency of the FxCrossCode).
dealCcyBuySell String (enumeration)

The direction of the transaction in terms of the deal (base) currency. The possible values are:

  • Buy: the deal currency to be bought,
  • Sell: the deal currency to be sold.

If fxCrossType = 'FxSwap', the 'Sell' value must be defined for one of the legs.

Optional The default value is 'Buy'.
dealAmount Double The amount of the deal (base) currency bought or sold.
Mandatory if the market value or risk measures are computed.
Optional The default value is '1,000,000'.
contraCcy String The contra (quote) currency code, expressed in ISO 4217 alphabetical format (e.g., 'CHF'). Optional By default, the quote currency (the second currency of the FxCrossCode).
contraAmount Double The amount of contraCcy exchanged to buy or sell the amount of the deal (base) currency. Optional By default, it is calculated from tradedCrossRate and the dealAmount.
startDate Date-time The start date of the instrument. The value is expressed in ISO 8601 format: YYYY-MM-DDT[hh]:[mm]:[ss]Z (e.g., '2021-01-01T00:00:00Z').
Optional By default, it is computed as [spot date + StartTenor].
startTenor String The code indicating the period from a spot date to startDate of the instrument (e.g., '1M').
Optional By default, it is equal to '0D'.
endDate Date-time

The maturity date of the instrument. The value is expressed in ISO 8601 format: YYYY-MM-DDT[hh]:[mm]:[ss]Z (e.g., '2021-01-01T00:00:00Z').

Either endDate or tenor must be provided for FxForward, FxNonDeliverableForward, FxTimeOptionForward and FxSwap.

Optional No default value applies.
tenor String

The code indicating the period between startDate and endDate of the instrument (e.g., '6M', '1Y').

Either endDate or tenor must be provided for FxForward, FxNonDeliverableForward, FxTimeOptionForward and FxSwap.

For more details on the list of tenor types that can be requested please refer here.

Optional No default value applies.

 

Pricing Parameters

This object property contains the properties that may be used to control the calculation. It mainly covers dates, market data assumptions (e.g. interpolation), and pricing model preferences. Some Parameters are shared with all financial contracts, others are specific to FX Cross contracts.

For 'Date-time' parameters, ‘time’ is ignored. An information may be requested in a ‘Date’ format ('YYYY-MM-DD').

Input Name Type Description Importance Default Value
valuationDate Date-time The date at which the instrument is valued. The value is expressed in ISO 8601 format: YYYY-MM-DDT[hh]:[mm]:[ss]Z (e.g., '2021-01-01T00:00:00Z'). Optional By default, valuationDate is MarketDataDate or Today.
marketDataDate Date-time The date at which the market data is retrieved. The value is expressed in ISO 8601 format: YYYY-MM-DDT[hh]:[mm]:[ss]Z (e.g., '2021-01-01T00:00:00Z'). Optional By default, the marketDataDate is ValuationDate or Today.
reportCcy String The currency code set for the fields ending with 'xxxInReportCcy'. The value is expressed in ISO 4217 alphabetical format (e.g., 'USD'). Optional No default value applies.
priceSide String (enumeration)

The price side of the instrument which comes from the instrument's quote or from the curve (derived from quotes) used to value the instrument. The possible values are:

  • Bid,
  • Ask,
  • Mid.
Optional The default value is 'Mid'. 
ignoreRefCcyHolidays Boolean

An indicator if holidays of the reference currency are included or not in the pricing when dates are computed. By default, the reference currency is USD. The possible values are:

  • True: holidays are ignored,
  • False: holidays are included in pricing.
Optional The default value is 'False'. 
fxSwapCalculationMethod String (enumeration)

The method used to calculate an outright price or deposit rates. The possible values are:

  • FxSwap: outrights are computed using swap points,
  • FxSwapImpliedFromDeposit: implied FX swap points are computed from deposit rates.
Optional The default value is 'FxSwap'.
adjustAllDepositPointsToCrossCalendars Boolean

An indicator if DepositCcy1 and DepositCcy2 are adjusted to the cross calendar dates. The possible values are:

  • True: the market data is adjusted according to the cross calendar dates,
  • False: unmodified market data is returned, cross calendar is ignored.
Optional The default value is 'False'.
rollOverTime Object

The object used to define the time to move the spot date to the next business day.

For the detailed breakdown, please refer here.

Optional By default, midnight UTC time is used.
hrrPoint Double

The swap points applied as the Historical Rate Rollover (HRR) adjustment when rolling the FX forward position. The value is divided by FxSwapPointScalingFactor to obtain the rate added to the contractual exchange rate agreed by counterparties (tradedCrossRate) to calculate hrrRate. 

Optional By default, the value is calculated from depositRate and fundingSpread (if specified).
preDeliveryPoint Double

The swap points adjustment applied when settling an FX forward before its original maturity date. The value is divided by FxSwapPointScalingFactor and added to the contractual exchange rate agreed by counterparties (tradedCrossRate) to calculate preDeliveryRate.

A negative value indicates that the client receives a less favourable rate for early settlement.

Optional By default, the value is calculated from depositRate and fundingSpread (if specified).
fundingRate Double

Overrides depositRate component of the total funding cost in HrrCalculationResult and PreDeliveryCalculationResult.

When specified, depositRic is ignored and this rate is used directly. Useful when a specific funding rate has been agreed between counterparties or when market data is unavailable.

Optional By default, the ask rate of the instrument identified by depositRic is used.
fundingSpread Double

Overrides creditSpread component of the total funding cost in HrrCalculationResult and PreDeliveryCalculationResult.

Can be either the client's credit risk spread or the margin charged by the liquidity provider depending on the context.

It is used when hrrPoint or preDeliveryPoint is not provided.

Optional By default, the value is calculated from depositRate and hrrPoints or preDeliveryPoints, and equals to 0 if only fundingRate is specified.
cashFlowCurrency String

The currency in which HRR and PreDelivery cash flows are expressed.

Determines depositRic used to derive depositRate for the funding cost calculation in HrrCalculationResult and PreDeliveryCalculationResult.

Only currencies of fxCrossCode are supported.

Optional By default, the second currency of the currency pair is applied.

rollOverTime

Input Name Type Description
timeZoneId String

The time zone used to move the spot date to the next business day (e.g., 'America/New_York'). Please refer to tz database for the list of possible values.

Mandatory to define roll over time.

localTime String

The local time of the time zone used to move the spot date to the next business day. It is expressed in hh:mm:ss format (e.g., '17:00:00').

Mandatory to define roll over time.

Data Layout

Input Name Type Description Importance Default Value
instrumentAndLegViewMode String (enumeration)

The view mode that can be selected for the instrument's outputs. The possible values are:

  • Instruments: the data contains an array of outputs values computed for the instrument (with a single value for each output).
  • Legs: the data contains an array of outputs values computed for each corresponding leg of the instrument.
  • Default: the mode varies depending on instrument to guarantee backward compatibility (it is ‘Instruments’ for all contracts except ‘Swap’ for which 'Legs' is used).
Optional No default value applies.

 

Output Fields Description

The table below lists the available fields you can include in the API response.

Field name

Type

Description

Category

Returned by default

InstrumentType String The type of instrument defined in the request. The possible values are listed here. Description No
InstrumentTag String A user-defined string to identify the instrument. It can be used to link output results to the instrument definition. Limited to 40 characters. Only alphabetic, numeric and '- _.#=@' characters are supported. Description Yes
InstrumentDescription String The label that describes the instrument. Description Yes
FxCrossType String

The type of the FX Cross instrument. The possible values are:

  • FxSpot,
  • FxForward,
  • FxNonDeliverableForward,
  • FxSwap.
Description Yes
FxCrossCode String The currency pair of FX Cross, expressed in ISO 4217 alphabetical format (e.g., 'EURCHF'). Description Yes
Tenor String The code indicating the period between StartDate and EndDate of the instrument (e.g. '6M', '1Y'). Description Yes
StartDate Date-time The start date of the instrument. The value is expressed in ISO 8601 format: YYYY-MM-DDT[hh]:[mm]:[ss]Z (e.g., '2021-01-01T00:00:00Z'). Description Yes
EndDate Date-time The maturity date of the instrument. The value is expressed in ISO 8601 format: YYYY-MM-DDT[hh]:[mm]:[ss]Z (e.g., '2021-01-01T00:00:00Z'). Description Yes
DealCcy String The currency code which depending on the instrument represents:
  • for FX instruments: the deal (base) currency,
  • for Swap: the currency of the paid leg,
  • for other instruments: the currency of the instrument's notional amount.

The value is expressed in ISO 4217 alphabetical format (e.g., 'USD').

Description No
ContraCcy String

The contra (quote) currency code, expressed in ISO 4217 alphabetical format (e.g., 'CHF').

It is available only if 'Legs' view mode is selected in 'dataLayout' object property.

Description No
SettlementCcy String

The code of the currency, in which the deal is settled. The value is expressed in ISO 4217 alphabetical format (e.g., 'USD').

Description No
ReportCcy String The currency code set for the fields ending with 'xxxInReportCcy'. The value is expressed in ISO 4217 alphabetical format (e.g., 'USD'). Description Yes
BuySell String

The indicator of the deal side. The possible values are:

  • Buy: buying the deal currency,
  • Sell: selling the deal currency.

It is available only if 'Legs' view mode is selected in 'dataLayout' object property.

Description No
FxSwapPointScalingFactor Float The factor used when quoting Swap cross currency rates (e.g., for 'JPYUSD' it is 100). Description Yes
FxCrossScalingFactor Float The factor used for quoting cross currency rates. Description Yes
TradedCrossRate Float

The contractual exchange rate agreed by counterparties. It is used to compute ContraAmount if it is not provided:

  • for FxForward and FxNonDeliverableForward contracts: contraAmount computed as [DealAmount x TradedCrossRate / FxCrossScalingFactor],
  • for FxSwap contracts: farLeg ContraAmount computed as [nearLeg DealAmount x TradedCrossRate / FxCrossScalingFactor].
Description No
TradedSwapPoints Float

The contractual forward points agreed by counterparties. It is used to compute the TradedCrossRate as [ReferenceSpotRate + TradedSwapPoints / FxSwapPointScalingFactor].

It is available only if 'Legs' view mode is selected in 'dataLayout' object property.

Description No
DepositCcy1DayCountBasis String The day count basis method used to calculate deposit interest rate for the currency 1 (e.g., ‘Dcb_Actual_360’). The value is derived from the currency reference data. Description No
DepositCcy2DayCountBasis String The day count basis method used to calculate deposit interest rate for the currency 2 (e.g., ‘Dcb_Actual_360’). The value is derived from the currency reference data. Description No
Ccy1SpotDate Date The spot date for the currency 1 in the pair with the reference currency. The value is expressed in ISO 8601 format: YYYY-MM-DD (e.g., '2021-01-01'). Description No
Ccy2SpotDate Date The spot date for the currency 2 in the pair with the reference currency. The value is expressed in ISO 8601 format: YYYY-MM-DD (e.g., '2021-01-01'). Description No
SpotDecimals Integer The number of decimal digits for the FX Spot rates. Description No
SpotLagCcy1 Integer Spot lag in days for the currency 1. Description No
SpotLagCcy2 Integer Spot lag in days for the currency 2. Description No
EndDateAdjustmentFlag String

An indicator of EndDate adjustment. The possible values are:

  • W: EndDate is adjusted due to a weekend,
  • H: EndDate is adjusted due to a holiday. 
Description No
StartDateAdjustmentFlag String

An indicator of StartDate adjustment. The possible values are:

  • W: StartDate is adjusted due to a weekend,
  • H: StartDate is adjusted due to a holiday. 
Description No
NonAdjustedStartDate Date-time StartDate without any adjustment as specified in the request. The value is expressed in ISO 8601 format: YYYY-MM-DDT[hh]:[mm]:[ss]Z (e.g., '2021-01-01T00:00:00Z'). Description No
NonAdjustedEndDate Date-time EndDate without any adjustment as specified in the request. The value is expressed in ISO 8601 format: YYYY-MM-DDT[hh]:[mm]:[ss]Z (e.g., '2021-01-01T00:00:00Z'). Description No
ErrorCode String The code of ErrorMessage. Description Yes
ErrorMessage String The error message in case of a blocking error in calculation. Description Yes
ProcessingInformation String The error message for the calculation in case of a non-blocking error. Description Yes
ValuationDate Date-time The date at which the instrument is valued. The value is expressed in ISO 8601 format: YYYY-MM-DDT[hh]:[mm]:[ss]Z (e.g. 2021-01-01T00:00:00Z). Pricing analysis Yes
MarketDataDate Date-time The date at which the market data is retrieved. The value is expressed in ISO 8601 format: YYYY-MM-DDT[hh]:[mm]:[ss]Z (e.g. 2021-01-01T00:00:00Z). Pricing analysis Yes
DealAmount Float

The amount of the deal (base) currency bought or sold.

It is available only if 'Legs' view mode is selected in 'dataLayout' object property.

Pricing analysis No
ContraAmount Float

The amount of ContraCcy exchanged to buy or sell the amount of the deal (base) currency.

It is available only if 'Legs' view mode is selected in 'dataLayout' object property.

Pricing analysis No
SettlementAmount Float

This settlement amount in case of an FxNonDeliverableForward (NDF) contract. The value is expressed in the settlement currency.

Pricing analysis No
ReferenceSpotRate Float

The contractual spot rate agreed by counterparties. It is used to compute TradedCrossRate as [ReferenceSpotRate + TradedSwapPoints / FxSwapPointScalingFactor].
In the case of a FxSwap contract, it is also used to compute nearLeg ContraAmount as [nearLeg DealAmount x (ReferenceSpotRate / FxCrossScalingFactor)].

It is available only if 'Legs' view mode is selected in 'dataLayout' object property.

Pricing analysis No
FxSpot Float The spot price of the currency pair for the selected priceSide parameter. Pricing analysis Yes
FxSpotCcy1 Float The spot price of the currency 1 against the reference currency for the selected priceSide parameter. By default, the reference currency is USD. Pricing analysis No
FxSpotCcy2 Float The spot price of the currency 2 against the reference currency for the selected priceSide parameter. By default, the reference currency is USD. Pricing analysis No
FxSwapsCcy1 Float FX Swap price of the currency 1 against the reference currency for the selected priceSide parameter. By default, the reference currency is USD. Pricing analysis Yes
FxSwapsCcy2 Float FX Swap price of the currency 2 against the reference currency for the selected priceSide parameter. By default, the reference currency is USD. Pricing analysis Yes
FxSwapsCcy1Ccy2 Float FX Swap price of the currency pair for the selected priceSide parameter. Pricing analysis Yes
FxOutrightCcy1 Float The forward price of the currency 1 against the reference currency for the selected priceSide parameter. Pricing analysis No
FxOutrightCcy2 Float The forward price of the currency 1 against the reference currency for the selected priceSide parameter. Pricing analysis No
FxOutrightCcy1Ccy2 Float The outright price of the currency pair for the selected priceSide parameter.  Pricing analysis Yes
DepositCcy1 Float The deposit rate of the currency 1. It is available if fxSwapCalculationMethod is set to 'FxSwapImpliedFromDeposit'. The value depends on the selected priceSide parameter. Pricing analysis Yes
DepositCcy2 Float The deposit rate of the currency 2. It is available if fxSwapCalculationMethod is set to 'FxSwapImpliedFromDeposit'. The value depends on the selected priceSide parameter. Pricing analysis Yes
FxOutrightCcy1_BidMidAsk Object The forward prices of the currency 1 against the reference currency. The field returns the list of the following values:
  • Bid (Bid value),
  • Ask (Ask value),
  • Mid (Mid value).
Pricing analysis No
FxOutrightCcy2_BidMidAsk Object The forward prices of the currency 2 against the reference currency. The field returns the list of the following values:
  • Bid (Bid value),
  • Ask (Ask value),
  • Mid (Mid value).
Pricing analysis No
CrossSpotRateMarginAdjustedBid Float The bid spot price adjusted for a spread margin. For example, it is [the bid price - spread margin]. In case of FxForward: [Outright - spread margin], in case of FxSwap: [Swap - spread margin]. Pricing analysis No
CrossSpotRateMarginAdjustedAsk Float The ask spot price adjusted for a spread margin. For example, it is [the ask price + spread margin]. In case of FxForward: [Outright + spread margin], in case of FxSwap: [Swap + spread margin]. Pricing analysis No
StrikeDate Date

The field returns Bid or Ask date depending on priceSide parameter:

  • the Bid date (the date of the lowest Bid price) if priceSide is set to 'Bid',
  • the Ask date (the date with the highest Ask price) if priceSide is set to 'Ask',
  • null if priceSide is set to 'Mid'.

The value is expressed in ISO 8601 format: YYYY-MM-DD (e.g., '2021-01-01').

It is available only for FxTimeOptionForward.

Pricing analysis No
Strike_BidMidAsk Object The time option forward strike prices. The field returns the list of the following values:
  • Bid (Bid value),
  • Ask (Ask value),
  • Mid (Mid value).
Pricing analysis No
TurnsCcy1Array Array of objects

The array of objects with turn period attributes for the currency 1 of fxCrossCode against the reference currency (which is USD by default). The rates computed on standard or user-defined turn dates together with user-defined rates are returned in this output. 

For the detailed breakdown, please refer here.

Pricing analysis No
TurnsCcy2Array Array of objects

The array of objects with turn period attributes for the currency 2 of fxCrossCode against the reference currency (which is USD by default). 
The rates computed on standard or user-defined turn dates together with user-defined rates are returned in this output. 

For the detailed breakdown, please refer here.

Pricing analysis No
MarketValueInDealCcy Float The market value of the instrument. The value is expressed in the deal currency. Valuation No
MarketValueInContraCcy Float The market value of the instrument. The value is expressed in the contra (quote) currency. Valuation No
MarketValueInReportCcy Float The present value of the future cash flow in the reporting currency. Valuation No
CashFlows Array of objects

The information on the contract's cash flows during its lifetime. It consists of the following properties:

  • instrumentType: the instrument type for which cash flows are computed,
  • payments: the array of properties which define all instrument’s cash flows (paid and received) during its lifetime. For more details, please refer here.
Cashflows No
HrrCalculationResult Object

Provides the results of a Historical Rate Rollover (HRR) calculation for an FX forward contract.

HRR arises when a forward position is rolled over at a rate that differs from the prevailing market rate (i.e., at a historical or off-market rate). The discrepancy occurs because the forward rate agreed by the counterparties on the original trade date (tradedCrossRate), by the time of rollover, no longer reflects the fair value.

The rollover involves two distinct operations: the maturing position is closed and a new forward is opened at the current market forward rate (rolloverOutright). The cash difference between the historical rate and the current market rate is treated as an implicit loan between the counterparties, charged at the applicable deposit rate plus a credit spread.

For a detailed breakdown, please refer here.

Pricing analysis No
PreDeliveryCalculationResult Object

Provides the results of a pre-delivery calculation for an FX forward contract.

Pre-delivery arises when a client settles an FX forward before its original maturity date. The position is closed early at a rate (preDeliveryRate) derived from the original tradedCrossRate adjusted by the pre-delivery swap points. The difference between the pre-delivery rate and the current market rate produces a P&L (presentvalueOfProfitLoss), which is further adjusted by a funding cost component (presentValueOfAdjustment) to arrive at the total settlement loss (lossOriginalSettlement).

The result also provides the effective settlement amount and the applicable funding cost components.

For a detailed breakdown, please refer here.

Pricing analysis No

Historical Rate Rollover (HRR) Calculation Result

The table below lists the 'HrrCalculationResult' object properties.

hrrPoints Float

The swap points used as the Historical Rate Rollover (HRR) adjustment, corresponding to the hrrPoint value provided in the pricing parameters or calculated from depositRate and fundingSpread (if specified).

hrrRate

Float

The annualised Historical Rate Rollover (HRR) rate, representing the cost of the swap points adjustment expressed as a percentage. Calculated as tradedCrossRate + hrrPoints.

depositRic

String The Reuters Instrument Code (RIC) identifying the market data source from which depositRate was retrieved. It is defined from cashFlowCurrency and tenor specified in request (e.g., 'EUR2MD=').

depositRate

Float

The market deposit rate in the funding cost calculation sourced from the instrument identified by depositRic.

This is the rate for the single settlement currency, not an interest rate differential between the two currencies of the FX pair.

If cashFlowCurrency is set to the first currency of fxCrossCode, DepositCcy1MarketData ask rate is applied; if set to the second currency, DepositCcy2MarketData ask rate is applied. Expressed as a percentage.

creditSpread

Float

The credit risk premium charged over depositRate, reflecting the lender's credit exposure on the implicit loan for the period between the rollover date and the settlement date. The values can be overridden by a user or calculated from hrrPoints and depositRate.

Used to calculate totalCostOfFunding. Expressed as a percentage.

totalCostOfFunding

Float

The annualised total cost of funding the implicit loan arising from the off-market settlement, expressed as a percentage.

Equals the sum of depositRate and creditSpread.

lossOriginalSettlement

Float

The difference (i.e., the principal of the implicit loan) between original cancelled contract and new rolled contract.

This is the profit/loss of the original contract if it would be settled against prevailing market rates. Expressed in cashFlowCurrency.

interestAccrued

Float

The interest charged on lossOriginalSettlement over the period from the settlement date to the rollover date, calculated using depositRate.

Represents the time-value cost of carrying the implicit loan. Expressed in cashFlowCurrency.

adjustedAmount

Float

The deal notional adjusted for the HRR rate, calculated as contraAmount divided by hrrRate.

Reflects the effective economic amount at the rollover date after accounting for the off-market rate differential. Expressed in cashFlowCurrency.

settlementOutright

Object

The current market outright FX rate at the original settlement (near leg) date (i.e., the fair market rate at which the maturing forward position is closed). For a spot-starting forward this equals the spot rate.

Used as the market reference against which the historical (traded) rate is compared to derive lossOriginalSettlement.

Returns the following properties:

  • bid - The bid outright rate at the settlement date.
  • ask - The ask outright rate at the settlement date.
  • mid - The mid outright rate at the settlement date.
  • status - Indicates whether the outright rate was successfully computed (e.g., 'Computed').
  • processingInformation - Provides additional detail about the computation result, or an empty string if no issues were encountered.

rolloverOutright

Object

The current market outright FX rate for the new rollover (far leg) maturity date, at which the new forward leg is opened. Calculated as the spot rate adjusted by the far leg swap points divided by the scaling factor.

The swap points reflect the prevailing interest rate differential between the two currencies and are independent of the HRR funding cost calculation.

Returns the following properties:

  • bid - The bid outright rate at the rollover date.
  • ask - The ask outright rate at the rollover date.
  • mid - The mid outright rate at the rollover date.
  • status - Indicates whether the outright rate was successfully computed (e.g., 'Computed').
  • processingInformation - Provides additional detail about the computation result, or an empty string if no issues were encountered.

Pre-delivery Calculation Result

The table below lists the 'PreDeliveryCalculationResult' object properties.

preDeliveryPoints

Float

The swap points used as the pre-delivery adjustment, corresponding to the preDeliveryPoint value provided in the pricing parameters or calculated from depositRate and fundingSpread (if specified).

preDeliveryRate

Float The effective exchange rate applied at early settlement, calculated as tradedCrossRate plus preDeliveryPoints divided by FxSwapPointScalingFactor.

depositRic

String The Reuters Instrument Code (RIC) identifying the market data source from which depositRate was retrieved. It is defined from cashFlowCurrency and tenor specified in request (e.g., 'EUR2MD=').

depositRate

Float

The market deposit rate for cashFlowCurrency used in the funding cost calculation. Sourced from the instrument identified by depositRic.

This is the rate for the single settlement currency, not an interest rate differential between the two currencies of the FX pair.

If cashFlowCurrency is set to the first currency of fxCrossCode, DepositCcy1MarketData ask rate is applied; if set to the second currency, DepositCcy2MarketData ask rate is applied. Expressed as a percentage.

creditSpread

Float

The credit risk premium charged over depositRate, reflecting the lender's credit exposure on the implicit loan for the period between the date of early delivery and the settlement date. The values can be overridden by a user or calculated from preDeliveryPoints and depositRate.

Used to calculate totalCostOfFunding. Expressed as a percentage.

totalCostOfFunding

Float

The annualised total cost of funding, expressed as a percentage.

Equals the sum of depositRate and creditSpread.

presentValueOfProfitLoss

Float The present value of the P&L arising from the difference between preDeliveryRate and the current market rate (settlementOutright). Expressed in cashFlowCurrency.

presentValueOfAdjustment

Float

The funding cost component added to presentvalueOfProfitLoss to calculate lossOriginalSettlement.

Represents the time-value adjustment for early settlement. Expressed in cashFlowCurrency.

lossOriginalSettlement

Float

The total cash settlement difference in cashFlowCurrency, equal to the sum of presentvalueOfProfitLoss and presentValueOfAdjustment.

Represents the full economic impact of early settlement relative to the original contracted rate.

adjustedAmount

Float

The effective amount exchanged at early settlement, calculated as dealAmount multiplied by preDeliveryRate.

The value is negative when cashFlowCurrency amount represents an outgoing payment at settlement (i.e., the client is delivering the deal currency and receiving cashFlowCurrency). Expressed in cashFlowCurrency.

hasError

Boolean Indicates whether an error occurred during the pre-delivery calculation; it is false when the calculation completed successfully.

settlementOutright

Object

The current market spot rate at the early settlement (near leg) date, at which the maturing forward position is closed before its original maturity.

Used as the market reference rate against which preDeliveryRate is compared to derive presentvalueOfProfitLoss.

Returns the following properties:

  • bid - The bid outright rate at the settlement date.
  • ask - The ask outright rate at the settlement date.
  • mid - The mid outright rate at the settlement date.
  • status - Indicates whether the outright rate was successfully computed (e.g., 'Computed').
  • processingInformation - Provides additional detail about the computation result, or an empty string if no issues were encountered.

rolloverOutright

Object

The current market forward rate to the original maturity (far leg) date, calculated as the spot rate adjusted by the far leg swap points divided by the scaling factor.

Represents the market rate that would apply if the position were held to its original maturity rather than settled early.

Returns the following properties:

  • bid - The bid outright rate at the original maturity date.
  • ask - The ask outright rate at the original maturity date.
  • mid - The mid outright rate at the original maturity date.
  • status - Indicates whether the outright rate was successfully computed (e.g., 'Computed').
  • processingInformation - Provides additional detail about the computation result, or an empty string if no issues were encountered.

Turns

The table below lists the 'TurnsCcy1Array' and 'TurnsCcy2Array' objects properties.

Field Name Type Description
turnBidRatePercent Float The bid rate at the end of turn period. The value is expressed in percentages.
turnAskRatePercent Float The ask rate at the end of turn period. The value is expressed in percentages.
turnMidRatePercent Float The mid rate at the end of turn period. It is computed as an average of turnBidRatePercent and turnAskRatePercent. The value is expressed in percentages.
turnStartDate Date The start date of turn period. The value is expressed in ISO 8601 format: YYYY-MM-DD (e.g., '2021-01-01').
turnEndDate Date The end date of turn period. The value is expressed in ISO 8601 format: YYYY-MM-DD (e.g., '2021-01-01'). It must be the first business day following turnStartDate.
errorMessage String The message returned in case of an error in turns computation.