bondFuturesPricer
Syntax
bondFuturesPricer(instrument, pricingDate, discountCurve)
Details
Calculates the Net Present Value (NPV) of the bond futures.
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 BondFutures type indicating the bond futures 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
bond = {
"productType": "Cash",
"assetType": "Bond",
"bondType": "FixedRateBond",
"instrumentId": "220010.IB",
"start": "2022.05.15",
"maturity": "2032.05.15",
"issuePrice": 100.0,
"coupon": 0.0276,
"frequency": "Semiannual",
"dayCountConvention": "ActualActualISDA"
}
bondFutures = {
"productType": "Futures",
"futuresType": "BondFutures",
"instrumentId": "T2509",
"nominal": 100.0,
"maturity": "2025.09.12",
"settlement": "2025.09.16",
"underlying": bond,
"nominalCouponRate": 0.03
}
instrument = parseInstrument(bondFutures)
pricingDate = 2025.06.10
curve = {
"mktDataType": "Curve",
"curveType": "IrYieldCurve",
"referenceDate": pricingDate,
"currency": "CNY",
"dayCountConvention": "ActualActualISDA",
"compounding": "Compounded",
"interpMethod": "Linear",
"extrapMethod": "Flat",
"frequency": "Semiannual",
"dates":[2025.09.05, 2025.12.05, 2026.03.05, 2027.03.05, 2028.03.05, 2030.03.05, 2035.03.05, 2040.03.05, 2045.03.05, 2055.03.05, 2075.03.05],
"values":[1.5347, 1.4958, 1.4447, 1.3955, 1.5029, 1.5561, 1.7156, 1.8652, 2.0329, 1.8955, 2.1059] / 100.0
}
discountCurve = parseMktData(curve)
bondFuturesPricer(instrument, pricingDate, discountCurve)
bondFuturesPricer([instrument, instrument], pricingDate, discountCurve)
bondFuturesPricer(instrument, [pricingDate, pricingDate, pricingDate], discountCurve)
bondFuturesPricer(instrument, [pricingDate, pricingDate, pricingDate], [discountCurve, discountCurve, discountCurve])
bondFuturesPricer(instrument, pricingDate, [discountCurve, discountCurve, discountCurve])
