American, European & Italian 30/360

Submitted by morgdx on Thu, 2006-10-19 10:37.

General

All 30/360 day count conventions are based upon the numerator being calculated according to a consistent month length of 30 days and a denominator based upon a year being 360 days.

In all instances the day count fraction is calculated as:

day count = (day2-day1) + ( 30*(month2-month1) ) + ( 360*(year2-year1) )

day count fraction = day count/360

Where:

  • Start date = day1 of month1 of year1
  • End date = day2 of month2 of year2
  • The actual implementation differ on how day1 and day2 are adjusted.

American 30/360

  • Only if both day2 and day1 are the last day of february in that year set day2 to 30
  • If day1 is the last day of february set day1 to 30
  • If day2 is 31 and day1 is 30 or 31 set day2 to 30
  • If day1 is 31 then set day1 to 30

European 30/360

  • If day1 is 31 then set day1 to 30
  • If day2 is 31 then set day2 to 30

Italian 30/360

  • If month1 is February and day1 is 28 or 29 then set day1 to 30
  • If month2 is February and day2 is 28 or 29 then set day2 to 30
  • If day1 is 31 then set day1 to 30
  • If day2 is 31 then set day2 to 30
Vote Result
Score: 0.0, Votes: 0
email this story
Submitted by Anonymous on Wed, 2007-01-31 10:06.

In:
Home » Documentation » Date Arithmetic » Day Count
American, European & Italian 30/360

The base calculation is described as:
"In all instances the day count is calculated as:

day count fraction = ( (day2-day1) + ( 30*(month2-month1) ) + ( 360*(year2-year1) )/360 "

shouldn't the calculation be:
day count fraction = ( (day2-day1) + ( 30*(month2-month1) ) + ( 360*(year2-year1) )

André Banen

Submitted by Anonymous on Wed, 2007-01-31 10:18.

-- Correction --
In:
Home » Documentation » Date Arithmetic » Day Count
American, European & Italian 30/360

The base calculation is described as:
"In all instances the day count is calculated as:

day count fraction = ( (day2-day1) + ( 30*(month2-month1) ) + ( 360*(year2-year1) )/360 "

It seems the description of two calculation have fused togeteher, that of the day count and that of the day count fraction. As a result a parentehesis may have gone missing in the day count fraction calculation.

I propose to correct this as follows:

In all instances the day count is calculated as:
day count =( (day2-day1) + ( 30*(month2-month1) ) + ( 360*(year2-year1) )

And the day count fraction as:
day count fraction = ( (day2-day1) + ( 30*(month2-month1) ) + ( 360*(year2-year1) ) ) /360

André Banen

Submitted by morgdx on Wed, 2007-01-31 10:27.

Hi André,

The day count conventions, in general, describe how to calculate the fraction of a year between two dates.

A three month period will have a day count fraction of around .25, a six month period around .5, etc.

For 30/360 calculations the numerator is based upon months being uniformally treated as having thirty days, with differences around how you handle the 31st day of the month and dates around the end of february.

The denominator is always 360.

So, for example, 1 Jan 2006 to 1 Apr 2006 would have a numerator of 90 (3 months multiplied by 30) and a denominator of 360. The day count fraction is 90/360 = 0.25.

I hope I understood your question correctly!

Best regards,

David

Submitted by morgdx on Wed, 2007-01-31 11:13.

Hi André,

I replied to your original comment, you're absolutely right the trailing bracket is missing. I will update the article.

Thanks for your feedback.

David

Submitted by Anonymous on Thu, 2007-11-22 00:01.

If date1 = Jan 31, 2007 and date2 = Feb 28, 2007, the day count works out to 28 based on the American 30/360 rules above, but should it be 30 since all months are assumed to have 30 days?

Scott Rowat

Submitted by morgdx on Sat, 2007-11-24 17:50.

Thanks for the feedback Scott. Could you contact me directly on this - david@jfin.org. Thanks - David Morgan-Brown

Submitted by Anonymous on Mon, 2007-12-03 11:45.

What was the conclusion of this question?

Best regards
/Viktor

Submitted by morgdx on Tue, 2007-12-04 09:40.

I still haven't heard back with some examples. I will review the ISDA documentation in the next couple of days though to double check that jFin behaves according to the specification in this edge case.

Submitted by morgdx on Tue, 2007-12-04 15:29.

I've checked with the ISDA documentation and for US 30/360 (Bond Basis) the numerator in this example is 28. Do you have any examples to the contrary?

Submitted by Anonymous on Mon, 2007-12-10 08:35.

Hi!

I'm in Sweden so I guess I should use the European version.

In that case the numerator in the example above is 28.

But how about the example 2007-02-28 until 2007-03-01? Or 20007-01-30 until 2007-01-31?

I think the algorithms gives quite strange results!

/Viktor

Submitted by morgdx on Tue, 2007-12-11 09:28.

Hi Viktor,

I agree, the algorithms can give strange results! But this is becuase they are implementing strange conventions.

Which day count convention you use dependes upon the financial instrument you are modelling and it's detailed terms.

- David

Submitted by donoswald on Wed, 2008-10-22 14:57.

I've found a bug in the IT30360 class:

line 66 (and line 68)

if(mm1 == 2 && dd1 > 27)

should be:

if(mm1 == Calendar.FEBRUARY && dd1 > 27)

since Calendar.FEBRUARY equals to 1!

Regards ;-)

Submitted by morgdx on Mon, 2008-11-03 10:16.

Thanks! Will fix in next release.

Post new comment

  • Allowed HTML tags: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Lines and paragraphs break automatically.
More information about formatting options Captcha Image: you will need to recognize the text in it.
Please type in the letters/numbers that are shown in the image above.