Calculations involving interest rates are usually very easy and straightforward, but sometimes it involves specific issues that makes the task of writing structured and reprodicible code for it chalenging and annoying.
fixedincome package brings many functions to strucutre and create facilities to handle with interest rates, term structure of interest rates and specific issues regarding compounding rates and day count rules, for example.
Below there are a few examples on how to create and make calculations with interest rates using
To create an interest rate we need to specify 4 elements:
continuousand we'll use
actual/360where the days between two dates are calculated as the difference and the year is assumed to be 360 days.
actualcalendar that compute the Julian difference between two dates.
There is another important topic that wasn't declared here that is the frequency of interest.
To make things simple
fixedincome handles only with annual rates since this represents the great majority of rates used in financial market contracts, but this restriction can be reviewed in the future.
Given that let's declare an annual spot rate with a
simple compounding, an
actual/360 and the
sr <- spotrate(0.06, 'simple', 'actual/360', 'actual') sr # simple actual/360 actual # 0.06
Compound the spot rate for 7 months.
compound(sr, 7, 'months') #  1.035
Spot rates can be created using a string representation
as.spotrate('0.06 discrete actual/365 actual') # 0.06 discrete actual/365
Let's create a spot rate curve.
curve <- spotratecurve(c(1, 11, 26, 47, 62), c(0.0719, 0.056, 0.0674, 0.0687, 0.07), compounding='simple', daycount='actual/365', units='days', name='TS') curve ## TS ## 1 days 0.0719 ## 11 days 0.0560 ## 26 days 0.0674 ## 47 days 0.0687 ## 62 days 0.0700 ## simple actual/365
require(ggplot2) ggplot(data=as.data.frame(curve), aes(x=terms, y=rates)) + geom_line() + geom_point()
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.