This calculates the years between two dates using the given day basis convention.

year_frac(date1, date2, day_basis, maturity_date = NULL)

## Arguments

date1 A vector of dates. This will be coerced to a Date class. A vector of dates. This will be coerced to a Date class. The basis on which the year fraction is calculated. See is_valid_day_basis() a vector of dates representing the maturity date of the instrument. Only used for 30E/360 ISDA day basis.

## Value

a numeric vector representing the number of years between date1 and date2.

## Details

The order of date1 and date2 is not important. If date1 is less than date2 then the result will be non-negative. Otherwise, the result will be negative. The parameters will be repeated with recycling such that each parameter's length is equal to maximum length of any of the parameters.

## References

http://en.wikipedia.org/wiki/Day_count_convention

Other counter methods: actual_360, actual_365, actual_actual_isda, is_valid_day_basis, thirty_360_eu_isda, thirty_360_eu_plus, thirty_360_eu, thirty_360_us, thirty_360
require(lubridate)
year_frac(ymd("2010-03-31"), ymd("2012-03-31"), "30/360us") # 2#> [1] 2year_frac(ymd("2010-02-28"), ymd("2012-03-31"), "act/360")  # 2.116667#> [1] 2.116667year_frac(ymd("2010-02-28"), ymd("2012-03-31"), "act/365")  # 2.087671#> [1] 2.087671year_frac(ymd("2010-02-28"), ymd("2012-03-31"), "act/actisda")  # 2.086998#> [1] 2.086998