irDepositPricer

Syntax

irDepositPricer(instrument, pricingDate, discountCurve)

Details

Prices the certificate of deposit (CDs).

Parameters

Note:
Scalar inputs will be automatically expanded to match the length of other vector inputs. All vector inputs must be of equal length.

instrument is an INSTRUMENT scalar/vector of Deposit type indicating the deposit(s) to be priced.

pricingDate is a DATE scalar/vector specifying the pricing date(s).

discountCurve is a MKTDATA scalar/vector of type IrYieldCurve representing the discount curve(s).

Returns

A DOUBLE scalar/vector.

Examples

deposit =  {
    "productType": "Cash",
    "assetType": "Deposit",
    "start": 2025.05.15,
    "maturity": 2025.08.15,
    "rate": 0.02,
    "dayCountConvention": "Actual360",
    "notionalCurrency": "CNY",
    "notionalAmount": 1E6,
    "payReceive": "Receive"
}
rate = deposit["rate"]
instrument = parseInstrument(deposit)
print(instrument)
pricingDate = 2025.06.10
curve_dict = {
    "mktDataType": "Curve",
    "curveType": "IrYieldCurve",
    "referenceDate": pricingDate,
    "currency": "CNY",
    "dayCountConvention": "Actual365",
    "compounding": "Continuous",  //Continuous compounding
    "interpMethod": "Linear",
    "extrapMethod": "Flat",
    "frequency": "Annual",
    "dates":[2025.07.25, 2030.09.25],
    "values":[0.015, 0.015]
}
discountCurve = parseMktData(curve_dict)
irDepositPricer(instrument,2025.06.10,discountCurve)   // output:1002388.613154108868911
irDepositPricer([instrument, instrument],pricingDate,discountCurve)
irDepositPricer(instrument,[pricingDate, pricingDate, pricingDate],discountCurve)
irDepositPricer(instrument,pricingDate,[discountCurve, discountCurve, discountCurve])

Related functions: parseInstrument, parseMktData