LSEG Data Library for TypeScript

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,
        },
    },
});
`
880 words (4:38 mins)