bond {FinancialMath} | R Documentation |
Bond Analysis
Description
Solves for the price, premium/discount, and Durations and Convexities (in terms of periods). At a specified period (t), it solves for the full and clean prices, and the write up/down amount. Also has the option to plot the convexity of the bond.
Usage
bond(f,r,c,n,i,ic=1,cf=1,t=NA,plot=FALSE)
Arguments
f |
face value |
r |
coupon rate convertible cf times per year |
c |
redemption value |
n |
the number of coupons/periods for the bond |
i |
nominal interest rate convertible ic times per year |
ic |
interest conversion frequency per year |
cf |
coupon frequency- number of coupons per year |
t |
specified period for which the price and write up/down amount is solved for, if not NA |
plot |
tells whether or not to plot the convexity |
Details
Effective Rate of Interest: eff.i=(1+\frac{i}{ic})^{ic}-1
j=(1+eff.i)^{\frac{1}{cf}}-1
coupon =\frac{f*r}{cf}
(per period)
price = coupon*{a_{\left. {\overline {\, n \,}}\! \right |j}}+c*(1+j)^{-n}
MAC D=\frac{\sum_{k=1}^n k*(1+j)^{-k}*coupon+n*(1+j)^{-n}*c}{price}
MOD D=\frac{\sum_{k=1}^n k*(1+j)^{-(k+1)}*coupon+n*(1+j)^{-(n+1)}*c}{price}
MAC C=\frac{\sum_{k=1}^n k^2*(1+j)^{-k}*coupon+n^2*(1+j)^{-n}*c}{price}
MOD C=\frac{\sum_{k=1}^n k*(k+1)*(1+j)^{-(k+2)}*coupon+n*(n+1)*(1+j)^{-(n+2)}*c}{price}
Price (for period t):
If t is an integer: price =coupon*{a_{\left. {\overline {\, n-t \,}}\! \right |j}}+c*(1+j)^{-(n-t)}
If t is not an integer then t=t^*+k
where t^*
is an integer and 0<k<1
:
full price =(
coupon*{a_{\left. {\overline {\, n-t^* \,}}\! \right |j}}+c*(1+j)^{-(n-t^*)})*(1+j)^k
clean price = full price-k*
coupon
If price > c :
premium = price-c
Write-down amount (for period t) =(
coupon-c*j)*(1+j)^{-(n-t+1)}
If price < c :
discount =c-
price
Write-up amount (for period t) =(c*j-
coupon)*(1+j)^{-(n-t+1)}
Value
A matrix of all of the bond details and calculated variables.
Note
t must be less than n.
To make the duration in terms of years, divide it by cf.
To make the convexity in terms of years, divide it by cf^2
.
Examples
bond(f=100,r=.04,c=100,n=20,i=.04,ic=1,cf=1,t=1)
bond(f=100,r=.05,c=110,n=10,i=.06,ic=1,cf=2,t=5)