day_count: day_count

View source: R/CountingDates.R

day_countR Documentation

day_count

Description

Function to count the number of years between two dates according to the given convention.

Usage

day_count(tfinal, tinitial, convention = "ACT/365")

Arguments

tfinal

Final date.

tinitial

Initial date.

convention

Character that specifies the convention. See details.

Details

The convention accepts the following values:

  • 30/360.

    DayCount = \frac{360\times(Y_2-Y_1)+30\times (M_2-M_1) + (D_2-D_1)}{360}

    Here the dates are in the following format

    • tfinal = Y_2-M_2-D_2 (YYYY-MM-DD).

    • tinitial = Y_1-M_1-D_1 (YYYY-MM-DD).

    It is important to note that

    • D_1=\min(D_1,30)

    • If D_1=30 then D_2=\min(D_2,30)

  • ACT/365 (Default).

    DayCount = \frac{Days(tintial, tfinal)}{365}

    Also known as ACT/365 Fixed.

  • ACT/360.

    DayCount = \frac{Days(tintial, tfinal)}{360}

  • ACT/365L.

    DayCount = \frac{Days(tintial, tfinal)}{DiY}

    If February 29 is in the range from Date1 (exclusive) to Date2 (inclusive), then DiY = 366, else DiY = 365.

  • NL/365.

    If February 29 is not in the period then actual number of days between dates is used. Else actual number of days minus 1 is used. Day count basis = 365.

  • ACT/ACT-ISDA.

    DayCount = \frac{Days\; not\; in\; leap\; year}{365} + \frac{Days\; in\; leap\; year}{366}

  • ACT/ACT-AFB.

    DayCount = \frac{Days(tintial, tfinal)}{DiY}

    The basic rule is that if February 29 is in the range from Date1 (inclusive) to Date2 (exclusive), then DiY = 366, else DiY = 365.

    If the period from Date1 to Date2 is more than one year, the calculation is split into two parts:

    • The number of complete years, counted back from the last day of the period.

    • The remaining initial stub, calculated using the basic rule.

Value

Number of years between the specified dates according to the convention.

Author(s)

Julian Chitiva

Source

International Swaps and Derivatives Association - ISDA.

References

International Swaps and Derivatives Association. (2006). 2006 ISDA definitions. New York, N.Y: International Swaps and Derivatives Association.

Examples

#Function accepts Dates as Dates or as characters.
day_count(tfinal='2023-03-08',tinitial='2019-02-28',convention='ACT/365')
day_count(tfinal=as.Date('2023-03-08'),tinitial=as.Date('2019-02-28'),convention='ACT/360')
day_count(tfinal='2023-03-08',tinitial=as.Date('2019-02-28'),convention='30/360')
day_count(tfinal='2023-03-08',tinitial='2019-02-28',convention='NL/365')
day_count(tfinal='2023-03-08',tinitial='2019-02-28',convention='ACT/ACT-ISDA')
day_count(tfinal='2023-03-08',tinitial='2019-02-28',convention='ACT/ACT-AFB')


quantdates documentation built on July 4, 2024, 9:07 a.m.