About Financial Contracts Repo
A Repo class allows you to form the financial instrument from the instrument code and parameters.
IPA.FinancialContracts.Repo.Definition object
This object creates the definition of information about the Repo that we want to get.
Syntax
FinancialContracts.Repo.Definition(params: FinancialContracts.Repo.Params)
Parameters
| Value | Description | Data type | Optional | Default value |
|---|---|---|---|---|
| params | An object literal of type FinancialContracts.Repo.Params | object | No | - |
Repo.Params properties:
| Value | Description | Data type | Optional | Default value |
|---|---|---|---|---|
| buySell | The indicator of the deal side (see Repo.BuySell). | string | Yes | - |
| dayCountBasis | The day count basis convention used in computations (see Repo.DayCountBasis). | string | Yes | - |
| endDate | The maturity or expiry date of the instrument. | string | Yes | - |
| instrumentTag | User defined string to identify the instrument.It can be used to link output results to the instrument definition. | string | Yes | - |
| isCouponExchanged | An indicator whether intermediate coupons for the underlying asset are exchanged between the Repo seller and Repo buyer. | boolean | Yes | - |
| repoRateFrequency | The rate type frequency used to compute repo interest amount (see Repo.RepoRateFrequency). | string | Yes | - |
| repoRatePercent | The Repo rate. The values is expressed in percentages | number | Yes | - |
| repoRateType | The rate type used to compute repo interest amount (see Repo.RepoRateType). | string | Yes | - |
| startDate | The start date of the instrument. | string | Yes | - |
| tenor | The code indicating the period between StartDate and EndDate of the instrument (e.g., '6M', '1Y'). | string | Yes | - |
| underlyingInstruments | Definition of the underlying assets (see Repo.RepoUnderlyingContractInstrument below). | array | Yes | - |
| pricingParameters | This object property contains the properties that may be used to control the calculation (see Repo.PricingParameters below) | object | Yes | - |
| fields | A list of fields to return with the response | string[] | Yes | - |
| outputs | The list of outputs which can be requested (see Repo.Output) | enum[] | Yes | - |
| extendedParams | Additional parameters to apply to the request | object | Yes | - |
Repo.RepoUnderlyingContractInstrument properties:
| Value | Description | Data type | Optional | Default value |
|---|---|---|---|---|
| instrumentDefinition | Definition of the Repo underlying contract. For the moment only bonds are managed (see Bond.Definition). | Yes | - | |
| instrumentType | The type of instrument defined in the request.. | string | Yes | - |
| pricingParameters | Pricing parameters to apply to the Repo underlying instrument (see Repo.RepoUnderlyingPricingParameters below). | Yes | - |
Repo.RepoUnderlyingPricingParameters properties:
| Value | Description | Data type | Optional | Default value |
|---|---|---|---|---|
| marketDataDate | The date at which the market data is retrieved. | string | Yes | - |
| repoParameters | Repo parameters to be applied on the underlying bond (see Repo.RepoParameters below) | object | Yes | - |
| pricingParametersAtEnd | Pricing parameters of the underlying bond at Repo end date (see Bond.PricingParameters) | object | Yes | - |
| pricingParametersAtStart | Pricing parameters of the underlying bond at Repo start date (see Bond.PricingParameters) | object | Yes | - |
| reportCcy | The currency code set for the fields ending with 'xxxInReportCcy'. | string | Yes | - |
| valuationDate | The valuation date for pricing. The valuation date is the date where cash flow is discounted | string | Yes | - |
Repo.RepoParameters properties:
| Value | Description | Data type | Optional | Default value |
|---|---|---|---|---|
| couponPaidAtHorizon | Total amount of the coupon paid at the end date of the repo, without reinvestment. The value is equal to 0 if IsCouponExchanged=false | boolean | Yes | - |
| haircutRatePercent | Repo contract's haircut par in percentage, for computing the transaction's Margin | number | Yes | - |
| initialMarginPercent | Repo contract's initial margin in percentage. InitialMarginPercent=100/ (1- HaircutPercent/100) | number | Yes | - |
| purchasePrice | The cash value paid by the buyer of underlying assets to the seller on the purchase date. | number | Yes | - |
| repurchasePrice | The amount paid by the Repo buyer to the seller to repurchase the underlying asset. | number | Yes | - |
Repo.InstrumentDefinition properties:
| Value | Description | Data type | Optional | Default value |
|---|---|---|---|---|
| underlyingInstruments | The definition of the underlying assets (see Repo.RepoUnderlyingContractInstrument above) | object | No | - |
| buySell | The indicator of the deal side (see Repo.BuySell). | string | Yes | - |
| instrumentTag | A user defined string to identify the instrument. It can be used to link output results to the instrument definition | string | Yes | - |
| startDate | The start date of the instrument. The value is expressed in ISO 8601 format | string | Yes | - |
| endDate | The maturity or expiry date of the instrument. The value is expressed in ISO 8601 format | string | Yes | - |
| tenor | The code indicating the period between StartDate and EndDate of the instrument (e.g., '6M', '1Y') | string | Yes | - |
| isCouponExchanged | An indicator whether intermediate coupons for the underlying asset are exchanged between the Repo seller and Repo buyer | boolean | Yes | - |
| repoRatePercent | The Repo rate. The values is expressed in percentages | number | Yes | - |
| repoRateFrequency | The rate type frequency used to compute repo interest amount (see Repo.RepoRateFrequency). | string | Yes | - |
| repoRateType | The rate type used to compute repo interest amount (see Repo.RepoRateType). | string | Yes | - |
| dayCountBasis | The day count basis convention used in computations (see Repo.DayCountBasisConvention) | string | Yes | - |
Repo.PricingParameters properties:
| Value | Description | Data type | Optional | Default value |
|---|---|---|---|---|
| valuationDate | The valuation date for pricing. The valuation date is the date where cash flow is discounted | string | Yes | - |
| marketDataDate | The market data date for pricing | string | Yes | - |
| settlementConvention | Settlement tenor for the repo. By default, the rule is that repoStartDate = valuationDate = marketDataDate + settlementConvention | string | Yes | - |
| reportCcy | Pricing data is computed in deal currency. If a report currency is set, pricing data is also computed in report currency | string | Yes | - |
| couponReinvestmentRatePercent | Rate used to reinvest the underlying asset's income | number | Yes | - |
| repoCurveType | Curve used to compute the repo rate (see Repo.RepoCurveType) | enum | Yes | - |
Returned value
ContentDefinition object.
Usage
The following example demonstrates how to create a definition for financial contracts Repo.
import { IPA } from '@lsegroup/data';
const definition = IPA.FinancialContracts.Repo.RepoUnderlyingContract({
instrumentCode: 'US1YT=RR',
paymentBusinessDayConvention: IPA.FinancialContracts.Repo.BusinessDayConvention.NextBusinessDay,
pricingParameters: {
repoParameters: {
initialMarginPercent: 50,
},
},
});
`