On this page we describe the instrument types currently implemented and the necessary input data to create a new instrument instance.
Fields like TradeDate, EffectiveDate, TermDate or RollDate can be either filled with a date in ISO convention or with various tenor strings relative to an anchor date (the anchor date, the business day calendars, and the default business day adjustment rule to be applied are described for each instrument type below):
For all instrument types the service can determine a coupon (or spread or strike, depending on the instrument type) which makes the instrument trade at par, i.e. the present value of the trade is zero. You can invoke this feature by the keyword @par followed by an additional spread to be added to the fair coupon (or spread or strike). Example: @par+0.0 with trade date equal to reference date should produce a trade with zero present value, @par-0.002 would reduce the fair coupon (or spread or strike) by 20 basis points.
This instrument type covers single currency fixed rate versus floating rate swaps. It is assumed that these trades are collateralized in the trading currency, i.e. the cashflows are discounted with the corresponding OIS curves. Both standard Tenor and Overnight Index compounded floating legs are possible.
Field Name | Value / Example | Description |
---|---|---|
RefIndex | EUR-EURI03M EUR-EUEO01D |
The rate reference index of the floating leg. Determines the trade currency. Tenor ref index or Overnight ref index |
ResetType | AUTOMATIC SIMPLE COMPOUNDED_SIMPLE |
AUTOMATIC: sets reset type to SIMPLE if RefIndex Tenor >= FloatFreq, else to COMPOUNDED_SIMPLE
|
FirstFixing | float or empty | The interest rate to be used for the first fixing of RefIndex. If empty the first fixing is estimated from the forward curve (if in the future) or taken from timeseries (if in the past). |
FloatFreq | 3m | Length of the accrual periods of the float leg |
PayLagFloat | integer >=0 | Number of business days between end of accrual period and payment of the float leg |
FixedFreq | 1y | Length of the accrual periods of the fix leg |
FixedAdjustMeth | MODFOLLOWING | Business day adjustment rule for determining the start/end dates of the accrual periods for the fix leg |
FixedIsAdjusted | yes / no | no: start/end of accrual periods of the fix leg can fall on holidays |
PayLagFixed | integer >=0 | Number of business days between end of accrual period and payment of the fix leg |
TradeDate | date or tenor or business days (0bd etc.) | in case of tenor or business days: anchor date: Reference Date; calendar: union of calendar of trade currency and fixing calendar of RefIndex; default business day adjustment rule: FOLLOWING |
EffectiveDate | date or tenor or business days (0bd etc.) | in case of tenor or business days: anchor date: add the standard number of spot business days for that currency to TradeDate using the union of calendar of trade currency and fixing calendar of RefIndex; calendar: calendar of trade currency; default business adjustment rule: FOLLOWING |
TermDate | date or tenor | in case of tenor: anchor date: EffectiveDate; calendar: calendar of trade currency; default business adjustment rule: the one in the RefIndex |
RollDate | date or tenor | anchor point for cashflow rollout. In case of tenor: anchor date: EffectiveDate; calendar: none (not adjusted for holidays) |
First(Last)Stub | Short or Long Stub | If the first (last) cashflow period is a short one: Short: leave it that way, Long: merge with next (previous) cashflow period to an extra-long one. |
Coupon | float or @par+0.001 etc. | Annual coupon rate of the fix leg: @par+0.001 takes the par coupon rate and adds a spread of 10bp to it. |
DayCountConv | E30360 | Day count convention of the annual coupon rate |
Spread | float | Spread that is added to float leg |
Nominal | positive float | constant nominal between effective date and termination date |
PayRec | choice list | trade direction |
Alias | text(40) or empty | optional external reference of the trade. Must be unique over all instruments if provided |
Example for a standard 10y EUR fix vs. 6m float swap at market:
Example for a standard 18m (5y) EUR overnight index swap at market:
This instrument type covers single currency float rate versus float rate swaps. It is assumed that these trades are collateralized in the trading currency, i.e. the cashflows are discounted with the corresponding OIS curves. There are three flavours available:
Field Name | Value / Example | Description |
---|---|---|
SubType | EuroStyle USStyle StandardStyle |
see above |
RefIndexLongTenor | EUR-EURI06M | The rate reference index of the floating leg with the longer tenor. Determines the trade currency. Tenor ref index |
LongFirstFixing | float or empty | The interest rate to be used for the first fixing of the RefIndex with the longer tenor. If empty the first fixing is estimated from the forward curve (if in the future) or taken from timeseries (if in the past). |
RefIndexShortTenor | EUR-EURI03M | The rate reference index of the floating leg with the shorter tenor. Determines the trade currency. Tenor ref index |
ShortFirstFixing | float or empty | The interest rate to be used for the first fixing of the RefIndex with the shorter tenor. If empty the first fixing is estimated from the forward curve (if in the future) or taken from timeseries (if in the past). |
TradeDate | date or tenor or business days (0bd etc.) | in case of tenor or business days: anchor date: Reference Date; calendar: union of calendar of trade currency and fixing calendars of RefIndices; default business day adjustment rule: FOLLOWING |
EffectiveDate | date or tenor or business days (0bd etc.) | in case of tenor or business days: anchor date: add the standard number of spot business days for that currency to TradeDate using the union of calendar of trade currency and fixing calendars of RefIndices; calendar: calendar of trade currency; default business adjustment rule: FOLLOWING |
TermDate | date or tenor | in case of tenor: anchor date: EffectiveDate; calendar: calendar of trade currency; default business adjustment rule: the one in RefIndexLongTenor |
RollDate | date or tenor | anchor point for cashflow rollout. In case of tenor: anchor date: EffectiveDate; calendar: none (not adjusted for holidays) |
First(Last)Stub | Short or Long Stub | If the first (last) cashflow period is a short one: Short: leave it that way, Long: merge with next (previous) cashflow period to an extra-long one. |
Spread | float or @par+0.001 etc. | Spread on the reference index with the shorter tenor : @par+0.001 takes the par spread and adds an additional spread of 10bp to it. For EuroStyle the spread is assumed to be in the standard day count convention of a fix vs. float swap in that currency |
Nominal | positive float | constant nominal between effective date and termination date |
PayRec | choice list | trade direction |
Alias | text(40) or empty | optional external reference of the trade. Must be unique over all instruments if provided |
This instrument type covers single currency fixed coupon deposits/loans. Discounting yield curve can be chosen by the user.
Field Name | Value / Example | Description |
---|---|---|
Currency | EUR | |
DiscountingYC | EUR-Swap-03M | |
Freq | 1y | Tenor of the accrual periods |
PayLag | integer>=0 | Number of business days between end of accrual period and payment |
AdjustMethod | MODFOLLOWING | Business day adjustment rule for determining the start/end dates of the accrual periods |
IsAdjusted | yes / no | no: start/end of accrual periods of the fix leg can fall on holidays |
SpotDays | positive integer | Number of business days between trade date and effective date of a standard trade |
TradeDate | date or tenor or business days (0bd etc.) | in case of tenor or business days: anchor date: Reference Date; calendar: calendar of trade currency; default business day adjustment rule: FOLLOWING |
EffectiveDate | date or tenor or business days (0bd etc.) | in case of tenor or business days: anchor date: add the number of spot business days given in SpotDays to TradeDate using the calendar of trade currency; calendar: calendar of trade currency; default business adjustment rule: FOLLOWING |
TermDate | date or tenor | in case of tenor: anchor date: EffectiveDate; calendar: calendar of trade currency; default business adjustment rule: the one provided in AdjustMethod |
RollDate | date or tenor | anchor point for cashflow rollout. In case of tenor: anchor date: EffectiveDate; calendar: none (not adjusted for holidays) |
First(Last)Stub | Short or Long Stub | If the first (last) cashflow period is a short one: Short: leave it that way, Long: merge with next (previous) cashflow period to an extra-long one. |
Coupon | float or @par+0.001 etc. | Annual coupon rate. @par+0.001 takes the par coupon and adds an additional spread of 10bp |
HasInitial/FinalNominal | yes or no | Nominal cashflow at the beginning and/or at the end |
DayCountConv | ACT360 | Day count convention of the annual coupon rate |
Nominal | positive float | constant nominal between effective date and termination date |
PayRec | choice list | trade direction |
Alias | text(40) or empty | optional external reference of the trade. Must be unique over all instruments if provided |
This instrument type covers cross currency (XCCY) float rate versus float rate swaps. Currently, it is assumed that these trades are collateralized in USD, i.e. cashflows in USD are discounted with the USD-OIS curve and non-USD cashflows are discounted with the corresponding cross currency curve. There are two flavours available:
Field Name | Value / Example | Description |
---|---|---|
SubType | MtM Nominal Constant Nominal |
see above |
TradeDate | date or tenor or business days (0bd etc.) | in case of tenor or business days: anchor date: Reference Date; calendar: union of calendars of base and quote currencies and fixing calendars of RefIndices; default business day adjustment rule: FOLLOWING |
EffectiveDate | date or tenor or business days (0bd etc.) | in case of tenor or business days: anchor date: add the standard number of spot business days for that currency pair to TradeDate using the union of calendars of base and quote currencies and fixing calendars of RefIndices; calendar: union of calendars of base and quote currencies; default business adjustment rule: FOLLOWING |
TermDate | date or tenor | in case of tenor: anchor date: EffectiveDate; calendar: union of calendars of base and quote currencies; default business adjustment rule: the one in FXRefIndex |
RollDate | date or tenor | anchor point for cashflow rollout. In case of tenor: anchor date: EffectiveDate; calendar: none (not adjusted for holidays) |
First(Last)Stub | Short or Long Stub | If the first (last) cashflow period is a short one: Short: leave it that way, Long: merge with next (previous) cashflow period to an extra-long one. |
FXRefIndex | EURUSD-USD | The FX reference index which determines the currency pair of the XCCY basis swap. |
FXFirstFixing | float or empty | The exchange rate to be used for the first fixing of the FXRefIndex. If empty the first fixing is estimated from the forward curve (if in the future) or taken from timeseries (if in the past). Use this field for a Constant Nominal swap to define the nominal amount in domestic currency. |
DomRefIndex | USD-USLI03M | The rate reference index of the leg in domestic (quote) currency. Determines the trade currency. Tenor ref index |
DomFirstFixing | float or empty | The interest rate to be used for the first fixing of the RefIndex on the domestic leg. If empty the first fixing is estimated from the forward curve (if in the future) or taken from timeseries (if in the past). |
ForRefIndex | EUR-EURI03M | The rate reference index of the leg in foreign (base) currency. Tenor ref index |
ForFirstFixing | float or empty | The interest rate to be used for the first fixing of the RefIndex on the foreign leg. If empty the first fixing is estimated from the forward curve (if in the future) or taken from timeseries (if in the past). |
DomSpread | float or @par+0.001 etc. | Spread on Domestic Leg: if @par+0.001 is used: QuoteType must be SpreadOnDomesticLeg. Spread is then the par spread plus 10bp. |
ForSpread | float or @par+0.001 etc. | Spread on Foreign Leg: if @par+0.001 is used: QuoteType must be SpreadOnForeignLeg. Spread is then the par spread plus 10bp. |
ForNominal | positive float | Nominal in foreign currency. For MtM swaps:
|
QuoteType | Spread on Domestic Leg Spread on Foreign Leg |
If @par+0.001 is used for DomSpread: must be set
to Spread on Domestic Leg If @par+0.001 is used for ForSpread: must be set to Spread on Foreign Leg For MtM swaps: determines on which leg the MtM nominal adjustment is.
|
PayRec | choice list | trade direction |
Alias | text(40) or empty | optional external reference of the trade. Must be unique over all instruments if provided |
Example for a standard EURUSD MtM XCCY swap (MtM on USD leg, spread on EUR leg) at market:
Example for a standard USDJPY MtM XCCY swap (MtM on USD leg, spread on JPY leg) at market:
Example for a standard GBPUSD constant nominal XCCY swap (10 mio GBP vs. 14 mio USD) at market:
This instrument covers FX forward transactions, i.e. trades where amounts in base and quote currency at a future date are exchanged at a predetermined exchange rate. Currently, it is assumed that these trades are collateralized in USD, i.e. cashflows in USD are discounted with the USD-OIS curve and non-USD cashflows are discounted with the corresponding cross currency curve.
Field Name | Value / Example | Description |
---|---|---|
TradeDate | date or tenor or business days (0bd etc.) | in case of tenor or business days: anchor date: Reference Date; calendar: union of calendars of base and quote currencies; default business day adjustment rule: FOLLOWING |
SettleDate | date or tenor or business days (0bd etc.) | in case of tenor or business days: anchor date: add the standard number of spot business days for that currency pair to TradeDate using the union of calendars of base and quote currencies; calendar: union of calendars of base and quote currencies; default business adjustment rule: the one in FXRefIndex |
Strike | float or @par+0.0 etc. | Predetermined exchange rate. @par+0.0 takes the current FX forward rate |
FXRefIndex | EURUSD-USD | The FX reference index which determines base and quote currency in the transaction. |
ForeignNominal | positive float | Nominal of the base currency |
BuySell | choice list | trade direction |
Alias | text(40) or empty | optional external reference of the trade. Must be unique over all instruments if provided |
This instrument covers FX swap transactions, i.e. trades where amounts of base and quote currency are first exchanged at a future date (NearSettleDate) and then returned at a later date (FarSettleDate) at predetermined exchange rates. Currently, it is assumed that these trades are collateralized in USD, i.e. cashflows in USD are discounted with the USD-OIS curve and non-USD cashflows are discounted with the corresponding cross currency curve.
Field Name | Value / Example | Description |
---|---|---|
TradeDate | date or tenor or business days (0bd etc.) | in case of tenor or business days: anchor date: Reference Date; calendar: union of calendars of base and quote currencies; default business day adjustment rule: FOLLOWING |
NearSettleDate | date or tenor or business days (0bd etc.) | in case of tenor or business days: anchor date: add the standard number of spot business days for that currency pair to TradeDate using the union of calendars of base and quote currencies; calendar: union of calendars of base and quote currencies; default business adjustment rule: the one in FXRefIndex |
FarSettleDate | date or tenor or business days (0bd etc.) | in case of tenor or business days: anchor date: add the standard number of spot business days for that currency pair to TradeDate using the union of calendars of base and quote currencies; calendar: union of calendars of base and quote currencies; default business adjustment rule: the one in FXRefIndex |
NearStrike | float or @par+0.0 etc. | Predetermined exchange rate at NearSettleDate. @par+0.0 takes the current FX forward rate |
FarStrike | float or @par+0.0 etc. | Predetermined exchange rate at FarSettleDate. @par+0.0 takes the current FX forward rate |
FXRefIndex | EURUSD-USD | The FX reference index which determines base and quote currency in the transaction. |
ForeignNominal | positive float | Nominal of the base currency |
BuySell | choice list | trade direction |
Alias | text(40) or empty | optional external reference of the trade. Must be unique over all instruments if provided |