bondConvexity
Syntax
bondConvexity(start, maturity, issuePrice, coupon, frequency,
dayCountConvention, bondType, settlement, price, priceType,
[benchmark='Excel'])
Details
bondConvexity returns the bond convexity of a bond with a face value
of 100. Bond convexity is a measure of the non-linear relationship of bond prices to
changes in interest rates, and is defined as the second derivative of the price of
the bond with respect to interest rates.
Parameters
start is a scalar or vector of DATE type, indicating the bond’s value date.
maturity is a DATE scalar or vector indicating the maturity date.
issuePrice is a numeric scalar or vector of the same length as start indicating the bond’s issue price. For discount bonds, the actual issue price must be specified (typically less than 100); for other bonds, it is usually 100.
coupon is a numeric scalar or vector indicating the annual coupon rate. For example, 0.03 indicates a 3% annual coupon.
- 0/"Once": Bullet payment at maturity.
- 1/"Annual": Annual payments.
- 2/"Semiannual": Semi-annual payments.
- 4/"Quarterly": Quarterly payments.
- 12/"Monthly": Monthly payments.
- "Thirty360US": US (NASD) 30/360
- "ActualActualISMA" (default): actual/actual (ISMA rule)
- "Actual360": actual/360
- "Actual365": actual/365
- "Thirty360EU": European 30/360
- "ActualActualISDA" (default): actual/actual (ISDA rule)
- "FixedRate": Fixed-rate bond, where interest is paid periodically based on the coupon rate.
- "Discount": Discount bond, where no interest is paid, and the bond is issued at a discount. FV at maturity = face value.
- "ZeroCoupon": Zero-coupon bond, where interest and face value are paid at maturity. FV at maturity = face value + interest.
settlement is a DATE scalar or vector indicating the settlement date.
price is a numeric scalar or vector indicating the bond's yield to maturity.
priceType is a STRING scalar or vector used to specify the type of the bond
price (price). Currently, only "YTM" (Yield to Maturity) is
supported.
benchmark (optional) is a STRING scalar indicating the reference algorithm. Currently, only "Excel" (the algorithm used in Excel) is supported.
Returns
A scalar or vector of type DOUBLE.
Examples
bondConvexity(start=2023.01.01, maturity=2030.12.31, issuePrice=100, coupon=0.05, frequency=1, dayCountConvention="ActualActualISMA", bondType="FixedRate", settlement=2023.04.01, price=0.03, priceType="YTM")
// output: 51.864347713454684
