Generic Functions (bonds, bond futures and swaptions)

Last updated 9 November 2026

Function reference › Bonds › Additional Functions

2 GIAnalyzer functions for Excel. Optional arguments are shown in [brackets].

GIA_Bonds_Generic_RiskFromCurve

Return the risk of a zero coupon bond, floater bond, fixed bond, future or swaption given the interest rate curve.

GIA_Bonds_Generic_RiskFromCurve(ProductType, ProductSubtype, Notional, Strike, OptionEDate, CRate, CFr, StartDate, PFr, NPPD, PPP, MDate, DR, Days, ExDays, CurveComp, CurveDays, Sp, Vol, WhichVol, DCurveDates, DCurveRates, VDate, Interp, RM, [StartTerm], [EndTerm])
ArgumentUseDescription
ProductTypeRequiredThe type of product (zerocoupon, fixed, floater, swaption, future, future option)
ProductSubtypeRequiredThe type of bond/swaption (Bullet, AmortEven; Payer, Receiver; Call, Put)
NotionalRequiredThe bond's face value.
StrikeRequiredThe option's strike price.
OptionEDateRequiredThe option's expiry date.
CRateRequiredThe fixed bond's rate, the floater bond's last reset or the swaption's strike.
CFrRequiredThe coupon frequency (Fixed/float separated by '/' for swaptions)
StartDateRequiredThe swap/bond's start date.
PFrRequiredThe principal frequency.
NPPDRequiredThe next principal payment date
PPPRequiredThe percent of the principal in each payment.
MDateRequiredThe swap/bond's maturity rate.
DRRequiredThe date rolling method. Non-business days are Saturdays and Sundays; holidays are not supported (Following, ModifiedFollowing, Previous, ModifiedPrevious, NoAdjustment)
DaysRequiredThe time basis for the accrual period calculation (act/360, act/365, act/act, 30E/360, 30I/360)
ExDaysRequiredThe number of days before coupon payment, during which the bond buyer is not entitled to receive the coupon.
CurveCompRequiredThe compounding basis of the interest rates (Annual, SemiAnnual, Quarterly, Monthly, Simple, Continuous)
CurveDaysRequiredThe time basis of the interest rates (act/360, act/365, act/act, 30E/360, 30I/360)
SpRequiredThe spread (in basis points) that is added to the discounting curve
VolRequiredThe swaption's volatility
WhichVolRequiredThe type of volatility (Lognormal, Normal)
DCurveDatesRequiredThe array of dates in the interest rate curve used for discounting cash flows.
DCurveRatesRequiredThe array of rates in the interest rate curve used for discounting cash flows.
VDateRequiredThe settlement date.
InterpRequiredThe interpolation method (Linear, LogLinear, CubicSpline, Exponential)
RMRequiredThe risk measure type (DV01, MacaulayDuration, ModifiedDuration, Convexity, KR01, BucketDV01, KRDuration, BucketDuration)
StartTermOptionalThe starting term for Bucket and Key Rate measures.
EndTermOptionalThe ending term for Bucket and Key Rate measures.

See also: GIA_Bonds_Generic_ValueFromCurve

GIA_Bonds_Generic_ValueFromCurve

Return the value of a zero coupon bond, floater bond, fixed bond, future or swaption given the interest rate curve.

GIA_Bonds_Generic_ValueFromCurve(ProductType, ProductSubtype, Notional, Strike, OptionEDate, CRate, CFr, StartDate, PFr, NPPD, PPP, MDate, DR, Days, ExDays, CurveComp, CurveDays, Sp, Vol, WhichVol, DCurveDates, DCurveRates, VDate, Interp)
ArgumentUseDescription
ProductTypeRequiredThe type of product (zerocoupon, fixed, floater, swaption, option, future, future option)
ProductSubtypeRequiredThe type of bond/swaption (Bullet, AmortEven; Payer, Receiver; Call, Put)
NotionalRequiredThe bond's face value.
StrikeRequiredThe option's strike price.
OptionEDateRequiredThe option's expiry date.
CRateRequiredThe fixed bond's rate, the floater bond's last reset or the swaption's strike.
CFrRequiredThe coupon frequency (Fixed/float separated by '/' for swaptions)
StartDateRequiredThe swap/bond's start date.
PFrRequiredThe principal frequency.
NPPDRequiredThe next principal payment date
PPPRequiredThe percent of the principal in each payment.
MDateRequiredThe swap/bond's maturity rate.
DRRequiredThe date rolling method. Non-business days are Saturdays and Sundays; holidays are not supported (Following, ModifiedFollowing, Previous, ModifiedPrevious, NoAdjustment)
DaysRequiredThe time basis for the accrual period calculation (act/360, act/365, act/act, 30E/360, 30I/360)
ExDaysRequiredThe number of days before coupon payment, during which the bond buyer is not entitled to receive the coupon.
CurveCompRequiredThe compounding basis of the interest rates (Annual, SemiAnnual, Quarterly, Monthly, Simple, Continuous)
CurveDaysRequiredThe time basis of the interest rates (act/360, act/365, act/act, 30E/360, 30I/360)
SpRequiredThe spread (in basis points) that is added to the discounting curve
VolRequiredThe swaption's volatility
WhichVolRequiredThe type of volatility (Lognormal, Normal)
DCurveDatesRequiredThe array of dates in the interest rate curve used for discounting cash flows.
DCurveRatesRequiredThe array of rates in the interest rate curve used for discounting cash flows.
VDateRequiredThe settlement date.
InterpRequiredThe interpolation method (Linear, LogLinear, CubicSpline, Exponential)

See also: GIA_Bonds_Generic_RiskFromCurve