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
