Fixed Coupon Bond Valuation Allowing for Odd Coupon Periods and Various Day Count Conventions
Overview
Analysis of large datasets of fixed coupon bonds, allowing for irregular first and last coupon periods and various day count conventions. With this package you can compute the yield to maturity, the modified and MacAulay durations and the convexity of fixed-rate bonds. It provides the function AnnivDates, which can be used to evaluate the quality of the data and return time-invariant properties and temporal structure of a bond.
Install
Health
ERRORexamplesr-oldrel-macos-arm64, r-release-macos-arm64
r-oldrel-macos-arm64
Running examples in ‘BondValuation-Ex.R’ failed
The error most likely occurred in:
> ### Name: AnnivDates
> ### Title: AnnivDates (time-invariant properties and temporal structure)
> ### Aliases: AnnivDates
>
> ### ** Examples
>
> data(SomeBonds2016)
>
> # Applying the function AnnivDates to the data frame SomeBonds2016.
> system.time(
+ FullAnalysis<-apply(SomeBonds2016[,c('Issue.Date','Mat.Date','CpY.Input','FIPD.Input',
+ 'LIPD.Input','FIAD.Input','RV.Input','Coup.Input','DCC.Input','EOM.Input')],1,function(y)
+ AnnivDates(y[1],y[2],y[3],y[4],y[5],y[6],y[7],y[8],y[9],y[10],RegCF.equal=1)),
+ gcFirst = TRUE)
Warning in InputFormatCheck(Em = Em, Mat = Mat, CpY = CpY, FIPD = FIPD, :
The issue date (Em) is supplied as a string of class "character" in the format "yyyy-mm-dd". It is converted to class "Date" using the command "as.Date(Em,"%Y-%m-%d")" and processed as Em = 2016-03-24 .
Warning in InputFormatCheck(Em = Em, Mat = Mat, CpY = CpY, FIPD = FIPD, :
The maturity da
...[truncated]...
Its conversion to class numeric results in EOM = 1 .
Warning in AnnivDates(y[1], y[2], y[3], y[4], y[5], y[6], y[7], y[8], y[9], :
The provided EOM = 1 conflicts with one or several provided calendar dates.
EOM is set 0 .
Warning in DIST(c(DCC, Atom1AD_PreFin, Atom2AD_PreFin, Atom3AD_PreFin, Atom1AD_PreFin, :
subscript out of bounds (index 20 >= vector size 20)
Warning in DIST(c(DCC, Atom1AD_PreFin, Atom2AD_PreFin, Atom3AD_PreFin, Atom1AD_PreFin, :
subscript out of bounds (index 21 >= vector size 20)
Warning in DIST(c(DCC, Atom1AD_PreFin, Atom2AD_PreFin, Atom3AD_PreFin, Atom1AD_PreFin, :
subscript out of bounds (index 20 >= vector size 20)
Warning in DIST(c(DCC, Atom1AD_PreFin, Atom2AD_PreFin, Atom3AD_PreFin, Atom1AD_PreFin, :
subscript out of bounds (index 21 >= vector size 20)
Error in if (index_LIPD >= 1) { : argument is of length zero
Calls: system.time -> apply -> FUN -> AnnivDates
Timing stopped at: 0.008 0.001 0.008
Execution haltedr-release-macos-arm64
Running examples in ‘BondValuation-Ex.R’ failed
The error most likely occurred in:
> ### Name: AnnivDates
> ### Title: AnnivDates (time-invariant properties and temporal structure)
> ### Aliases: AnnivDates
>
> ### ** Examples
>
> data(SomeBonds2016)
>
> # Applying the function AnnivDates to the data frame SomeBonds2016.
> system.time(
+ FullAnalysis<-apply(SomeBonds2016[,c('Issue.Date','Mat.Date','CpY.Input','FIPD.Input',
+ 'LIPD.Input','FIAD.Input','RV.Input','Coup.Input','DCC.Input','EOM.Input')],1,function(y)
+ AnnivDates(y[1],y[2],y[3],y[4],y[5],y[6],y[7],y[8],y[9],y[10],RegCF.equal=1)),
+ gcFirst = TRUE)
Warning in InputFormatCheck(Em = Em, Mat = Mat, CpY = CpY, FIPD = FIPD, :
The issue date (Em) is supplied as a string of class "character" in the format "yyyy-mm-dd". It is converted to class "Date" using the command "as.Date(Em,"%Y-%m-%d")" and processed as Em = 2016-03-24 .
Warning in InputFormatCheck(Em = Em, Mat = Mat, CpY = CpY, FIPD = FIPD, :
The maturity da
...[truncated]...
Its conversion to class numeric results in EOM = 1 .
Warning in AnnivDates(y[1], y[2], y[3], y[4], y[5], y[6], y[7], y[8], y[9], :
The provided EOM = 1 conflicts with one or several provided calendar dates.
EOM is set 0 .
Warning in DIST(c(DCC, Atom1AD_PreFin, Atom2AD_PreFin, Atom3AD_PreFin, Atom1AD_PreFin, :
subscript out of bounds (index 20 >= vector size 20)
Warning in DIST(c(DCC, Atom1AD_PreFin, Atom2AD_PreFin, Atom3AD_PreFin, Atom1AD_PreFin, :
subscript out of bounds (index 21 >= vector size 20)
Warning in DIST(c(DCC, Atom1AD_PreFin, Atom2AD_PreFin, Atom3AD_PreFin, Atom1AD_PreFin, :
subscript out of bounds (index 20 >= vector size 20)
Warning in DIST(c(DCC, Atom1AD_PreFin, Atom2AD_PreFin, Atom3AD_PreFin, Atom1AD_PreFin, :
subscript out of bounds (index 21 >= vector size 20)
Error in if (index_LIPD >= 1) { : argument is of length zero
Calls: system.time -> apply -> FUN -> AnnivDates
Timing stopped at: 0.006 0.001 0.007
Execution halted- ERROR11 OK, 2 ERRORNow
- ERROR11 OK, 3 ERROR2026-03-10
Documentation
- Help pages
- 9
- Examples that run
- 100%5 run in a plain check
- Exported functions with examples
- 100%
- Documented parameters
- 94%
- Return-value docs
- 100%
- Help pages citing references
- 78%
Downloads
Dependencies
Installing BondValuation adds 2 packages (1 with compiled code, 2.2 MB of source tarballs). Heaviest: Rcpp 1.8 MB, timeDate 359 KB.
Code & Tests
Datasets
People & History
Pick two releases to compare their code metrics.
- RR 4.6.0 released · 2026-04-24
- RR 4.5.0 released · 2025-04-11
- RR 4.4.0 released · 2024-04-24
- RR 4.3.0 released · 2023-04-21
- 0.1.1Latest
- RR 4.2.0 released · 2022-04-22
- RR 4.1.0 released · 2021-05-18
- RR 4.0.0 released · 2020-04-24
- RR 3.6.0 released · 2019-04-26
- 0.1.02018-11-14
- RR 3.5.0 released · 2018-04-23
Package metadata
- First published
- 2018-11-14
- Total releases
- 2 / 8 yrs
- License
- GPL-3 OSI
- Minimum R
- ≥ 2.15.1
- Bundled data
- 221 KB / 4 files
- Download size
- 352 KB
Cite
Cite this package
Run in R for the authors' preferred citation:
citation("BondValuation")This package has no citation file, so citation() returns this entry built from DESCRIPTION.
Cite the R Observatory
For a number measured here: a download total, a coverage figure, an archival date.
From data release v2026-10-22, which the citation names so these numbers can be found later. More on citing and the projects behind them.