General Bond Functions

Overview

This document is organized for each bond type (Periodic, Level Coupon Bonds; Periodic Bonds with Time Varying Notional; and Coupons and Custom or Freestyle Bonds) into the following sections:

Formulas & Technical Details

FINCAD Functions

Description of Inputs

Description of Outputs

Example

Related Functions

Formulas & Technical Details

Price and Risk Statistics

Let:

 be the dirty price of a bond (per 100 par). 

 be the yield. 

 be related to the frequency of the yield, where  = 1, 2, 4, 12 if the frequency is annual, semi-annual, quarterly or monthly. 

 as a function of , is given by:

 

where

 is the  coupon and

 the time (in years) from the settle date to the  coupon date.

The derivative of  with respect to  is 

,

while the second derivative is           

 

Definition:        Modified duration,

Definition:        Duration (macaulay),

Definition:        Convexity,

Definition:        Basis point value is obtained by setting  = 0.0001 in the 2nd order Taylor series expansion,

 

*       Note: This demonstrates how the modified duration and convexity can be used to approximate price changes as a function of changes in yield. Price in the formula is the dirty price of the bond.

 

Definition:        the Yield value of a one basis point change in price is the derivative of the yield with respect to the price multiplied by 0.01. 

 

Yields

The following yields are returned by the function aaBond*_yields():

Domestic yield (yield to maturity)

Equivalent Annually Compounded Domestic yield. 

Equivalent Semi-Annually Compounded Domestic yield. 

True yield (same compounding and accrual as domestic yield but the cash flows are adjusted for business days)

True yield, annually compounded, Act/365 accrual (cash flows are adjusted for business days)

True yield, semi-annually compounded, Act/365 accrual (cash flows are adjusted for business days)

Equivalent US Street yield (semi-annually compounded, Actual/Actual accrual).

Equivalent US Treasury yield (semi-annually compounded, Actual / Actual accrual).

Equivalent JGB (Japanese) simple yield

Equivalent money market yield, Act/365 accrual

Equivalent money market yield, Act/360 accrual

The equivalent annually compounded and semi-annually compounded yields are simply calculated by taking the domestic yield and converting the basis (using, for example, the FINCAD function aaConvert_cmpd() or aaConvert_cmpd2()).

The true yield is calculated by taking the actual adjusted cash flows (adjusted to the next good business day) and, using the same basis and accrual as the domestic yield, calculating the yield to maturity (given the dirty price of the bond). Related FINCAD yield to maturity functions which may be of interest are aaYTM(), aaYTM2() and aaYTM3().

The annually and semi-annually compounded true yields act/365 (actual) are calculated as described in the true yield with, of course, different bases and accruals.  These yields are interesting because they will be standard across different classes of bonds.

The equivalent US Street yield is a semi-annually compounded yield with an actual/actual (ISMA-99) accrual.

The equivalent US Treasury yield is a semi-annually compounded yield with an actual/actual (ISMA-99) accrual.  The difference from the Street yield is that in the first coupon period, the yield is linear.

The Equivalent money market yields are calculated as follows.  If the time to maturity of the bond is less than or equal to one year, the yield to maturity, , is calculated from the formula:

.

where

 is the time from the th cash flow to maturity,

 is the time from the value date to maturity, and

 is the dirty price of the bond.  

If the time to maturity, , is greater than one year, the annually compounded yield to maturity is returned.  The relevant related FINCAD function is aaYTM_mmkt().

The equivalent JGB yield (simple yield) is calculated from

,

where

 is the clean price of the bond and

 is the time to maturity in years (calculated using act/365 (actual)).

 

FINCAD Functions

Periodic, Level Coupon Bonds

For general level coupon bonds that pay periodically, but may have odd dates, the most general functions are aaBond4* (aaBond4+an extension).  There are also suites of functions aaBond3*, aaBond2* and aaBond* which are slightly less general versions of aaBond4*, but nevertheless, very useful.

aaBond4_p(d_s, d_m, d_dated, d_f_cpn, d_l_cpn, cpn, princ, redempt, freq, acc, eom, yield, linlast, exdivunits, adj_units, hl, weekend, atissue, stat)

Calculates the price and risk statistics given yield.  This function also calculates bond properties such as accrued interest, number of remaining cash flows, next cash flow date, etc.

 

aaBond4_y(d_s, d_m, d_dated, d_f_cpn, d_l_cpn, cpn, princ, redempt, freq, acc, eom, price, linlast, exdivunits, adj_units, hl, weekend, atissue, stat)

Calculates the yield and risk statistics given price.  This function also calculates properties such as accrued interest, number of remaining cash flows, next cash flow date, etc.  The price is input as a clean price (no accrued interest) per 100 notional (e.g. 101 or 99.275).

 

aaBond4_accrued(d_s, d_m, d_dated, d_f_cpn, d_l_cpn, cpn, princ, freq, acc, eom, exdivunits, adj_units, hl, weekend, atissue, stat)

Calculates the accrued interest and other bond properties such as number of remaining cash flows, next cash flow date, etc.

 

aaBond4_cf(d_s, d_m, d_dated, d_f_cpn, d_l_cpn, cpn, princ, redempt, freq, acc, eom, hl, d_rul, weekend, exdivunits, adj_units, atissue, table_type)

Calculates the bond’s cash flows.  Several different types of cash flow related tables can be returned.  The most general is a 6 column table with the columns being: cash flow date, coupon, principal, total cash flow, accrued interest, and ex-dividend date.

 

aaBond4_yields(d_s, d_m, d_dated, d_f_cpn, d_l_cpn, cpn, redempt, freq, acc, eom, linlast, price, hl, weekend, exdivunits, adj_units, atissue, stat)

Calculates a variety of comparative yields given price.  The price is input as a clean price (no accrued interest) per 100 notional (e.g. 101 or 99.275).

 

aaBond4_strip_p(d_s, d_m, d_dated, d_f_cpn, d_l_cpn, cpn, princ, redempt, freq, acc, eom, hl, d_rul, weekend, exdivunits, adj_units, atissue, intrp, df_crv, stat)

Calculates the price, yield, and risk statistics given a term structure of interest rates (a discount factor curve).  The zero-coupon price of each cash flow is calculated from the curve.  This function also calculates bond properties such as accrued interest, number of remaining cash flows, next cash flow date, etc.  The calculations are based on zero-coupon pricing.

 

aaBond4_strip_cf(d_s, d_m, d_dated, d_f_cpn, d_l_cpn, cpn, princ, redempt, freq, acc, eom, hl, d_rul, weekend, exdivunits, adj_units, atissue, intrp, df_crv)

Calculates the cash flows and the present value of each cash flow (the strip price) given a term structure of interest rates (a discount factor curve).

 

aaBond4_strip_par(d_s, d_m, d_dated, d_f_cpn, d_l_cpn, redempt, freq, acc, eom, hl, d_rul, weekend, exdivunits, adj_units, atissue, intrp, df_crv)

Calculates the Par Yield or Par Coupon Rate (i.e. the level coupon rate that would make the bond value to par) given a term structure of interest rates (a discount factor curve) and a description of the bond.  The calculation is based on zero-coupon pricing.

 

Periodic Bonds with Time Varying Notional and Coupons

A suite of bond functions is available related to periodic bonds with variable notional amounts and coupon rates.  This suite of functions will handle many amortizing, accreting, coupon step-up and coupon step-down type structures.  The functions are all called aaBond2_dgen_*.  The functions provide similar functionality as the aaBond4* suite of functions while allowing more flexible inputs.  There is also a suite of functions, aaBond_dgen_*, which have a combined accrual method and end-of-month switch (sw_376), and have fewer accrual methods.  In terms of inputs, instead of Principal (princ_m), Redemption Value, (redemp_val) and a Coupon rate (cpn), a table, BondCpn_tbl, is input.  The structure of this table is shown in the example below.

aaBond2_dgen_p(d_s, d_m, d_dated, d_f_cpn, d_l_cpn, bondcpn_tbl, freq, acc, eom, yield, linlast, exdivunits, adj_units, hl, weekend, atissue, stat)

Calculates the price and risk statistics given yield.  This function also calculates bond properties such as accrued interest, number of remaining cash flows, next cash flow date, etc.

 

aaBond2_dgen_y(d_s, d_m, d_dated, d_f_cpn, d_l_cpn, bondcpn_tbl, freq, acc, eom, price, linlast, exdivunits, adj_units, hl, weekend, atissue, stat)

Calculates the yield and risk statistics given price.  This function also calculates bond properties such as accrued interest, number of remaining cash flows, next cash flow date, etc.  We note that the price is the total clean price (no accrued interest).

 

aaBond2_dgen_accrued(d_s, d_m, d_dated, d_f_cpn, d_l_cpn, bondcpn_tbl, freq, acc, eom, exdivunits, adj_units, hl, weekend, atissue, stat)

Calculates the accrued interest and other bond properties such as number of remaining cash flows, next cash flow date, etc.

 

aaBond2_dgen_cf(d_s, d_m, d_dated, d_f_cpn, d_l_cpn, bondcpn_tbl, freq, acc, eom, hl, d_rul, weekend, exdivunits, adj_units, atissue, table_type)

Calculates the bond’s cash flows.  Several different types of cash flow related tables can be returned.  The most general is a 6-column table with the columns being: cash flow date, coupon, principal, total cash flow, accrued, and coupon ex-dividend date.  We recommend that one should always check the bond’s cash flows to ensure that the bond has been properly specified.

 

aaBond2_dgen_strip_p(d_s, d_m, d_dated, d_f_cpn, d_l_cpn, bondcpn_tbl, freq, acc, eom, hl, d_rul, weekend, exdivunits, adj_units, atissue, intrp, df_crv, stat)

Calculates the price, yield, and risk statistics given a term structure of interest rates (a discount factor curve).  The zero-coupon price of each cash flow is calculated from the curve.  This function also calculates bond properties such as accrued interest, number of remaining cash flows, next cash flow date, etc.

 

aaBond2_dgen_strip_cf(d_s, d_m, d_dated, d_f_cpn, d_l_cpn, bondcpn_tbl, freq, acc, eom, hl, d_rul, weekend, exdivunits, adj_units, atissue, intrp, df_crv, table_type)

Calculates the bond’s cash flows and the present value of each cash flow (the strip price) given a term structure of interest rates (a discount factor curve).

 

Custom or Freestyle Bonds

Several functions are available for custom bonds.  These are structures that may have no periodicity, time varying notional and coupon amounts, principal prepayments on non-coupon dates, coupons that either accrue (like a swap fixed leg) or are level (like a bond) and other unique characteristics.  Several functions are available:

aaFixlg_fs_p(d_v, fixleg_pay, fixleg_fixpay, df_crv, acc_pay, acc_accrued, intrp, position, stat)

Calculates the price, several yields, and risk statistics given a term structure of interest rates (a discount factor curve).  The zero-coupon price of each cash flow is calculated from the curve.  The risk statistics are calculated with respect to the annualized yield (as there is no concept of periodicity).  This function is similar to the aaBond*_strip_p() functions above.

 

aaFixlg_fs_cfs(d_v, fixleg_pay, fixleg_fixpay, acc_pay, acc_accrued, position, table_type)

Calculates the bond’s cash flows.  Several different types of cash flow related tables can be returned.  The most general is a 5 column table with the columns being: cash flow date, coupon, principal, total cash flow, and accrued interest.  This function is similar to the aaBond*_cf() functions above.

 

aaFixlg_fs_cfx(d_v, fixleg_pay, fixleg_fixpay, df_crv, acc_pay, acc_accrued, intrp, position, table_type)

Calculates the bond’s cash flows and the present value of each cash flow (the strip price) given a term structure of interest rates (a discount factor curve).  This function is similar to the aaBond*_strip_cf() functions above.

 

Description of Inputs

Periodic, Level Coupon Bonds

aaBond4*(), aaBond3*(), aaBond2*(), aaBond*()

Input Argument

Description

d_s

settlement/valuation date

d_m

maturity date

d_t

terminating date

d_dated

dated date - date from which accrued interest is calculated on newly issued securities

d_f_cpn

date of first coupon after dated date

d_l_cpn

date of last coupon prior to maturity date

cpn

coupon

princ

principal

redempt

redemption value (per 100 par)

freq

coupon frequency

acc

accrual method

eom

end-of-month rule

linlast

rate basis in last coupon period (simple or compounded)

exdivunits

number of units bond is ex-dividend prior to coupon date

adj_units

ex-dividend adjustment units

hl

holiday list

d_rul

business day convention

weekend

weekend definition

atissue

determines calculation of accrued interest prior to the dated date (either 0 or negative)

stat

output statistics selection

yield

yield to maturity

price

clean price of bond (per 100 par)

df_crv

discount factor curve

table_type

output table selection

Periodic Bonds with Time Varying Notional and Coupons

aaBond_dgen_*() and aaBond2_dgen_*()

Input Argument

Description

d_s

settlement date

d_m

maturity date

d_dated

dated date - date from which accrued interest is calculated on newly issued securities

d_f_cpn

date of first coupon after dated date

d_l_cpn

date of last coupon prior to maturity date

bondcpn_tbl

4 column coupon payment table (date, notional, coupon, fixed payment)

freq

coupon frequency

acc

accrual method

eom

end-of-month

yield

yield to maturity

price

price (per 100 par)

linlast

rate basis in last coupon period (simple or compounded)

exdivunits

number of units bond is ex-dividend prior to coupon date

adj_units

ex-dividend adjustment units

hl

holiday list

d_rul

business day convention

weekend

weekend definition

atissue

determines calculation of accrued interest prior to the dated date (either 0 or negative)

stat

output statistics selection

table_type

output table selection

We note that the input parameters to these functions are similar to those of aaBond4*() with the exception of Principal (princ_m), Redemption Value, (redemp_val) and a Coupon rate (cpn) which are replaced with a 4-column table, BondCpn_tbl.  The Example illustrates the use of this table.

Custom or Freestyle Bonds

Input Argument

Description

d_v

value (settlement) date

fixleg_pay

4 column coupon payment table (effective date, terminating date, notional, coupon)

fixleg_fixpay

2 column fixed payment table (date, payment)

df_crv

discount factor curve

acc_pay

accrual method for coupon payments

acc_accrued

accrual method for accrued interest

intrp

interpolation method

position

trade position

stat

statistics selection

table_type

output table selection

Description of Outputs

Periodic, Level Coupon Bonds

aaBond4_accrued, aaBond3_accrued, aaBond2_accrued, and aaBond_accrued

Statistic

Description

1

accrued interest

2

next cash flow date

3

previous cash flow date

4

number of days from value date to maturity

5

years to maturity

6

number of days from value date to next cash flow

7

number of days of accrued interest

8

number of remaining cash flows

9

ex-dividend date for next coupon

aaBond4_cf, aaBond3_cf, aaBond2_cf, and aaBond_cf

Table Type

Description

1

extended cash flow table 5 cols. (cf date, int, princ, tot cf, AI)

2

cash flow table 2 cols. (cf date, tot cf)

3

extended cash flow table w/ex-div 6 cols. (cf date, int, princ, tot cf, AI, ex-div date)

 

*       Note: aaBond2_cf and aaBond_cf have only the first 2 table type options.

 

aaBond4_p, aaBond3_p, aaBond2_p, and aaBond_p

Statistic

Description

1

clean bond price (excludes accrued)

2

accrued interest

3

dirty bond price (includes accrued)

4

duration

5

modified duration

6

modified convexity

7

basis point value

8

yield value change per 1bp increase in price

9

next cash flow date

10

previous cash flow date

11

number of days from value date to maturity

12

years to maturity

13

number of days from value date to next cash flow

14

number of days of accrued interest

15

number of remaining cash flows

16

ex-dividend date for next coupon

aaBond4_y, aaBond3_y, aaBond2_y, and aaBond_y

Statistic

Description

1

yield to maturity

2

accrued interest

3

dirty bond price (includes accrued)

4

duration

5

modified duration

6

modified convexity

7

basis point value

8

yield value change per 1bp increase in price

9

next cash flow date

10

previous cash flow date

11

number of days from value date to maturity

12

years to maturity

13

number of days from value date to next cash flow

14

number of days of accrued interest

15

number of remaining cash flows

16

ex-dividend date for next coupon

aaBond4_yields, aaBond3_yields, aaBond2_yields, and aaBond_yields

Statistic

Description

1

yield to maturity

2

annualized domestic yield

3

semi-annual domestic yield

4

true yield to maturity

5

true yield annual (actual / 365 actual)

6

true yield semi-annual (actual / 365 actual)

7

U.S. street

8

U.S. treasury

9

Japanese simple interest yield to maturity

10

money market (actual / 365) yield

11

money market (actual / 360) yield

aaBond4_strip_cf, aaBond3_strip_cf, aaBond2_strip_cf, and aaBond_strip_cf

Returns

Description

cfx_strip

bond strip cash flow table

 

    column 1:     cash flow date

 

    column 2:     cash flow amount

 

    column 3:     present value of cash flow

 

    column 4:     discount factor

aaBond4_strip_p, aaBond3_strip_p, aaBond2_strip_p, and aaBond_strip_p

Statistic

Description

1

clean bond price (excludes accrued)

2

accrued interest

3

dirty bond price (includes accrued)

4

duration

5

modified duration

6

modified convexity

7

basis point value

8

yield value change per 1bp increase in price

9

next cash flow date

10

previous cash flow date

11

number of days from value date to maturity

12

years to maturity

13

number of days from value date to next cash flow

14

number of days of accrued interest

15

number of remaining cash flows

16

ex-dividend date for next coupon

17

yield to maturity

aaBond4_strip_par, aaBond3_strip_par, aaBond2_strip_par, and aaBond_strip_par

Returns

Description

r_par_swap

par swap rate

Periodic Bonds with Time Varying Notional and Coupons

aaBond_dgen_p and aaBond2_dgen_p

Statistic

Description

1

clean bond price (excludes accrued)

2

accrued interest

3

dirty bond price (includes accrued)

4

duration

5

modified duration

6

modified convexity

7

basis point value

8

yield value change per 1bp increase in price

9

next cash flow date

10

previous cash flow date

11

number of days from value date to maturity

12

years to maturity

13

number of days from value date to next cash flow

14

number of days of accrued interest

15

number of remaining cash flows

16

ex-dividend date for next coupon

aaBond_dgen_y and aaBond2_dgen_y

Statistic

Description

1

yield to maturity

2

accrued interest

3

dirty bond price (includes accrued)

4

duration

5

modified duration

6

modified convexity

7

basis point value

8

yield value change per 1bp increase in price

9

next cash flow date

10

previous cash flow date

11

number of days from value date to maturity

12

years to maturity

13

number of days from value date to next cash flow

14

number of days of accrued interest

15

number of remaining cash flows

16

ex-dividend date for next coupon

aaBond_dgen_accrued and aaBond2_dgen_accrued

Statistic

Description

1

accrued interest

2

next cash flow date

3

previous cash flow date

4

number of days from value date to maturity

5

years to maturity

6

number of days from value date to next cash flow

7

number of days of accrued interest

8

number of remaining cash flows

9

ex-dividend date for next coupon

aaBond_dgen_cf and aaBond2_dgen_cf

Table Type

Description

1

5 column extended cash flow table (cf date, interest, principal, total cf, accrued interest)

2

2 column cash flow table (cf date, total cf)

3

6 column extended cash flow table w/ex-div (cf date, interest, principal, total cf, accrued interest, ex-div date)

4

9 column coupon periods (effective date, terminating date, notional, coupon, interest, principal, total cf, accrued interest, ex-dividend date)

aaBond_dgen_strip_p and aaBond2_dgen_strip_p

Statistics

Description

1

clean bond price (excludes accrued)

2

accrued interest

3

dirty bond price (includes accrued)

4

duration

5

modified duration

6

modified convexity

7

basis point value

8

yield value change per 1bp increase in price

9

next cash flow date

10

previous cash flow date

11

number of days from value date to maturity

12

years to maturity

13

number of days from value date to next cash flow

14

number of days of accrued interest

15

number of remaining cash flows

16

ex-dividend date for next coupon

17

yield to maturity

aaBond_dgen_strip_cf and aaBond2_dgen_strip_cf

Returns

Description

cfx_strip

bond strip cash flow table

 

    column 1:     cash flow date

 

    column 2:     cash flow amount

 

    column 3:     present value of cash flow

 

    column 4:     discount factor

Custom or Freestyle Bonds

aaFixlg_fs_p

Statistic

Description

1

fair value

2

accrued interest

3

value of future cash flows (fair value + accrued)

4

annually compounded yield

5

semi-annually compounded yield

6

quarterly compounded yield

7

monthly compounded yield

8

money market (actual / 365) yield

9

money market (actual / 360) yield

10

duration

11

modified duration

12

convexity

13

basis point value (old - see function reference)

14

yield value change per 1bp increase in price

15

basis point value (new - see function reference)

aaFixlg_fs_cfs

Table Type

Description

1

8 column cash flow table (not pv) (cf date, cpn, npa, total, acc)

2

2 column cash flow table (not pv) (cf date, cf)

aaFixlg_fs_cfX

Table Type

Description

1

8 column extended cash flow table (cf date, cpn, npa, total, pvcpn, pvnpa, pvtot, acc)

2

2 column cash flow table (not pv) (cf date, cf)

3

5 column present valued cash flow table (cf date, pvcpn, pvnpa, pvtot, acc)

4

2 column present valued cash flow table (cf date, pvcpn)

5

5 column cash flow table (not pv) (cf date, cpn, npa, total, acc)

Example

Cashflow Generation in the functions aaBond2_dgen_* (Periodic Bonds with Time Varying Notional and Coupons)

Suppose the bond frequency is semi-annual and its accrual is actual/actual (ISMA-99 Normal).  Further, suppose the settle date (our valuation date) is 14-May-2001, the bond matures on 20-June-2005, there are no odd coupons (d_dated = d_f_cpn = d_l_cpn = 0), and the bond goes ex-dividend 5 market days prior to a coupon date.  Consider the following BondCpn_tbl

Bond Coupon Table

date

principal amount

coupon

payment amount

20-Jun-2002

100

0.055

20

20-Jun-2005

80

0.055

80

The inputs required to generate the cash flows using aaBond_dgen_cf() are:

aaBond2_dgen_cf

Argument

Description

Example Data

Switch

d_s

settlement date

14-May-2001

 

d_m

maturity date

20-Jun-2005

 

d_dated

dated date

0

 

d_f_cpn

date of first coupon after dated date

0

 

d_l_cpn

date of last coupon prior to maturity date

0

 

bondcpn_tbl

coupon payment table

BondCpn_tbl above

 

freq

date frequency

2

semi-annual

acc

accrual method

1

actual/actual (ISMA-99)

eom

end-of-month rule

2

non end-of-month

hl

holiday list

0

 

d_rul

business day convention

1

no date adjustment

weekend

weekend definition

1

Saturdays and Sundays

exdivunits

ex-dividend units

5

 

adj_units

ex-dividend adjustment units

1

market days

atissue

at issue

1

accrued interest is 0 prior to dated date

table_type

6 column extended cash flow table

3

 

If we call the function aaBond2_dgen_cf() with the above inputs, we obtain the following cash flow table:

Results

cash flow date

interest

principal

total cash flow

accrued interest

ex-dividend date

20-Jun-2001

2.75

0

2.75

2.19

12-Jun-2001

20-Dec-2001

2.75

0

2.75

0

12-Dec-2001

20-Jun-2002

2.75

20

22.75

0

12-Jun-2002

20-Dec-2002

2.2

0

2.2

0

12-Dec-2002

20-Jun-2003

2.2

0

2.2

0

12-Jun-2003

20-Dec-2003

2.2

0

2.2

0

14-Dec-2003

20-Jun-2004

2.2

0

2.2

0

13-Jun-2004

20-Dec-2004

2.2

0

2.2

0

12-Dec-2004

20-Jun-2005

2.2

80

82.2

0

12-Jun-2005

The rules for the generation of the cash flows are as follows:

·         The cash flow dates are generated using d_s, d_m, d_dated, d_f_cpn, and d_l_cpn.  The generation is similar to that of the function aaDateGen().  For more details see the Date Generation Functions FINCAD Math Reference document.

·         On a given coupon date, the principal amount and coupon are obtained from the row in BondCpn_tbl with the closest date greater than or equal to the coupon date.  Above, we see that the interest payments up to and including 20-Jun-2002 have been calculated using a 5.5% coupon and a notional of 100 (2.75 = 100 * 5.5% / 2).  In contrast we see that the subsequent payments are calculated using a notional of 80 and a coupon of 5.5% (2.2 = 80 * 5.5% / 2).  Note that if there is no entry in BondCpn_tbl greater than an expected cash flow date, the last entry in BondCpn_tbl is used.

·         The payment amount in BondCpn_tbl is paid on the nearest coupon date less than or equal to the date in the BondCpn_tbl.  Note, that if, for some strange reason, there have been entries in BondCpn_tbl that would make payments on the same coupon date, the second (and any later ones) will be ignored.

 

Related Functions

Zero-Coupon Bonds

The functions above can all be used to value zero coupon bonds by setting the coupon to zero.  It may also be useful to consider some of the functions in the money market area.  For more details, see the Money Market Instruments FINCAD Math Reference document.

Fixed Legs of Swaps

There is, of course, a close relationship between fixed rate bonds and fixed legs of swaps.  For more details on functionality related to fixed legs of swaps, see the Swaps FINCAD Math Reference document.

Variable-Rate Bonds / Floating Rate Notes

There is a wide selection of functions available related to variable-rate debt.  There are functions for regular FRNs, aaFRN*(), averaged resets FRNs, aaFRNAvg*(), constant maturity FRNs, aaFRN*_CM(), and many other types.  For more details, see the Floating Rate Notes and Floating Legs of Swaps, the Floating Rate Notes with Averaging (muni / tax-exempt market), and the Constant Maturity Swaps FINCAD Math Reference documents.

Callable Bonds

There is a wide selection of functions related to callable (or puttable) bonds.  The suite of functions aaCallBond*() provides functionality for pricing callable bonds using a variety of models.  The models supported range from yield-to-worst and worst (or best) price analyses, to term structure models like the Black-Karasinski, Hull-White, Ho-Lee and others.  For more details, see the Callable and Puttable Bonds FINCAD Math Reference document.

Credit Spreads

The functions aaCreditSpread_Bond() and aaCreditSpread_Bond_dgen() calculate the spread of a bond versus a benchmark curve.  For more details, see the Bond Credit Spreads FINCAD Math Reference document.

Serial Bonds

The functions aaBondSeries*() calculate fair value, risk statistics and cash flows for an issue consisting of a series of regular bonds.  These functions would be useful to the issuer of a series of bonds with varying maturities and coupons.  There are also versions of these functions, aaCallBondSeries*(), for cases where the underlying bonds are callable.  For more details, see the Serial Bond Functions (muni / tax-exempt market) FINCAD Math Reference document.

Bond Curves

There are functions available that calculate bond curves, for example treasury curves, from quoted bond prices or yields.  For more details, see the Interest Rate Curve Generation FINCAD Math Reference document.

 

 

Disclaimer

 

With respect to this document, FinancialCAD Corporation (“FINCAD”) makes no warranty either express or implied, including, but not limited to, any implied warranty of merchantability or fitness for a particular purpose. In no event shall FINCAD be liable to anyone for special, collateral, incidental, or consequential damages in connection with or arising out of the use of this document or the information contained in it. This document should not be relied on as a substitute for your own independent research or the advice of your professional financial, accounting or other advisors.

 

This information is subject to change without notice. FINCAD assumes no responsibility for any errors in this document or their consequences and reserves the right to make changes to this document without notice.

 

Copyright

 

Copyright © FinancialCAD Corporation 2008. All rights reserved.