YEARFRAC
tested to 3 decimal places
|
Create three line items
- Two date-formatted line items for the two dates
End Date & Start Date
- One number-formatted line item with the formula
To replicate US (NASD) 30/360 (Basis 0)
(YEAR(End Date) - YEAR(Start Date) + 30 * (MONTH(End Date) - MONTH(Start Date)) + IF DAY(Start Date) > 29 AND DAY(End Date) > 30 THEN 30 ELSE IF MONTH(Start Date) = 2 AND DAY(Start Date) = 28 AND DAY(End Date) = 28 THEN 30 ELSE DAY(End Date) - IF DAY(Start Date) = 31 THEN 30 ELSE IF MONTH(Start Date) = 2 AND DAY(Start Date) = 28 THEN 30 ELSE DAY(Start Date)) / 360
To replicate Actual Days/Actual of days in year (Basis 1)
No of Days * 360 / 365 / 360 (Accurate to 2 decimal places)
To replicate Actual Days/360 days in year (Basis 2) (End Date - Start Date) / 360
To replicate Actual Days/365 in year (Basis 3)
(End Date - Start Date) / 365
To replicate European 30/360 (Basis 4)
((MONTH(End Date) - MONTH(Start Date) - 1) * 30 + 30 - (IF DAY(Start Date) < 30 THEN DAY(Start Date) ELSE 30) + IF DAY(End Date) < 30 THEN DAY(End Date) ELSE 30 + (YEAR(End Date) - YEAR(Start Date)) * 12 * 30) / 360
|