"30E/360 ISDA" - Rules Expressed Differently

Q

What are different ways to express "30E/360 ISDA" Day Count Rules?

✍: FYIcenter.com

A

Many web sites express the 30E/360 ISDA Day Count Convention rules differently, and name it differently. But if you can prove that they are all specifying the same rules.

cbonds.com - Note that cbonds.com does not include the exception on D2 when it is the End of February and the Maturity Date.

Names: 30/360 German, 30E/360 ISDA

Rules: 
  Day count = (Y2-Y1)·360 + (M2-M1)·30 + (D2-D1)

  Convention:
  • if D1=31 then D1=30
  • if D2=31 then D2=30
  • if D1 is the last day of February then D1=30 
  • if D2 is the last day of February then D2=30

isda.org

Names: 30E/360 (ISDA)

Rules: 
  Day Count Fraction = (360*(Y2-Y1) + 30*(M2-M1) + (D2-D1)) / 360

  where:
  - “D1” is the first calendar day, expressed as a number, of the
    Calculation Period or Compounding Period, unless (i) that day is the
    last day of February or (ii) such number would be 31, in which case
    D1 will be 30; and

  - “D2” is the calendar day, expressed as a number, immediately
    following the last day included in the Calculation Period or
    Compounding Period, unless (i) that day is the last day of February
    but not the Termination Date or (ii) such number would be 31, in
    which case D2 will be 30.

opengamma.io

Names: 30E/360 ISDA, 30E/360 German, German

Rules: 
  result = (360 * deltaYear + 30 * deltaMonth + deltaDay) / 360

  The deltaDay is then calculated once day-of-month adjustments have
  occurred:
  - If the first day-of-month is 31, change the first day-of-month 
    to 30.
  - If the second day-of-month is 31, change the second day-of-month 
    to 30.
  - If the first date is the last day of February, change the first 
    day-of-month to 30.
  - If the second date is the last day of February and it is not the 
    maturity date, change the second day-of-month to 30.

Wadim Djatschenko: The Nitty Gritty of Bond Valuation

Names: 30E/360 (ISDA)

Rules: 
  DIST(T1,T2) = (360*(Y2-Y1) + 30*(M2-M1) + (D2-D1)) / 360

  The adjustment rules can be summarized as:
  - D1 = 30, if T1 is End of Month, D1 = 30
  - D2 = 30, if D2 = 31 or (T2 != Maturiy and T2 is End of February)

wikipedia.org

Names: 330E/360 ISDA, Eurobond basis (ISDA 2000), German

Rules: 
  DayCountFactor = (360*(Y2-Y1) + 30*(M2-M1) + (D2-D1)) / 360

  Date adjustment rules:
  - If D1 is the last day of the month, then change D1 to 30.
  - If D2 is the last day of the month (unless Date2 is the maturity 
    date and M2 is February), then change D2 to 30.

The best way to specify the 30E/360 ISDA convention rules is:

  T1 = (Y1,M1,D1)
  T2 = (Y2,M2,D2)
  Day_Count_Factor = (360*(Y2-Y1) + 30*(M2-M1) + (D2-D1)) / 360 

  where D1 and D2 are adjusted as below:
    If T1 is End of Month, set D1 = 30;
    If T2 is End of Month, 
      except it's End of February and the Maturity Date, set D2 = 30.

 

"30E/360 ISDA" - Day Count Examples by ISDA

What Is "30E/360 ISDA"

Day Count Convention - "30E/360 ISDA"

⇑⇑ Day Count Conventions

2026-02-08, ∼217🔥, 0💬