This calculates the years between two dates using the 30E/360 ISDA day basis convention. This convention assumes that months consists of 30 days and years consist of 360 calendar days. This is also known as the Eurobond (ISDA 2000) and German basis.

thirty_360_eu_isda(date1, date2, maturity_date)

Arguments

date1

A date-time object

date2

A date-time object

maturity_date

the maturity date of the instrument

Value

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

Details

The day count is determined after making the following (ordered) modifications:

  1. If the start date is the last day of the month, set the start date to the 30th

  2. If the end date is the last day of the month, set the end date to the 30th unless the end date is the maturity date and the end month is February

The year fraction is then calculated as: $$\frac{(d_2-d_1) + (m_2-m_1)\times 30 + (y_2-y_1)\times 30}{360}$$

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.

See also

Other counter methods: actual_360, actual_365, actual_actual_isda, is_valid_day_basis, thirty_360_eu_plus, thirty_360_eu, thirty_360_us, thirty_360, year_frac