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)



A date-time object


A date-time object


the maturity date of the instrument


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


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