Learn R Programming

corpmetrics (version 1.0)

fis: Price & Macaulay Duration of a Fixed Income Security

Description

Calculate discounted cash flows of a bond's coupon payments and its sensitivity to interest rate change.

Usage

fis(FV,CR,YTM,MAT,SEMI)

Value

A data.frame with the results of the financial instrument's price in currency units, its duration and modified duration in years.

Arguments

FV

Face value of the bond (Numeric Variable).

CR

Coupon rate of the bond (Numeric Variable).

YTM

Yield to maturity (Numeric Variable).

MAT

Maturity in years (Numeric Variable).

SEMI

Select between annual or semi-annual coupon payments (default is annual).

Author

Pavlos Pantatosakis.

R implementation and documentation: Pavlos Pantatosakis pantatosakisp@yahoo.com.

Details

The default option is annual coupon payments. To select semi-annual payments, set SEMI = TRUE.

References

Jordan, B. D., Ross, S. A., and Westerfield, R. W. (2010). Fundamentals of corporate finance. McGraw Hill. p. 193-202. - ISBN: 9780073382395

Berk, J. B. and DeMarzo, P. M. (2017). Corporate finance. Pearson Education. p.205-220 & p.1073-1074 - ISBN: 1292160160

Examples

Run this code
##
# Example usage

# Face value = 1,000 currency units
# Coupon rate = 8%
# Yield to maturity = 8%
# Maturity = 6 years

example <- fis(
  FV = 1000, # Bond with face value of 1.000 currency units
  CR = 0.08, # 8% Coupon rate
  YTM = 0.08, # 8% Yield to maturity
  MAT = 6 # 6 periods to maturity
)

print(example)

# Face value = 1,000 currency units
# Coupon rate = 8%
# Yield to maturity = 12%
# Maturity = 2 years
# Coupons pay semi-annually

example2 <- fis(
  FV = 1000, # Bond with face value of 1.000 currency units
  CR = 0.08, # 8% Coupon rate
  YTM = 0.12, # 8% Yield to maturity
  MAT = 2, # 6 periods to maturity
  SEMI = TRUE
)

print(example2)

Run the code above in your browser using DataLab