|
Question : DatDiff for bonds
|
|
I do need to calculate interest rates on bonds. Though, in financial markets, a month has only 30 days and a year only 360 days. How to get the datdiff between the last payment date, say october 5 and today, dec. 2 with a month only having 30 days. The result has to be 57 days. thanks
|
|
Answer : DatDiff for bonds
|
|
How does this seem ?
Date1 = d1/m1/y1 Date2 = d2/m2/y2
' days in first unfinished month part1 = DateDiff("d", Date1, 30/m1/y1)
' days in whole months If m1 = m2 then part2 = 0 part3 = 0 Else part2 = (DateDiff("d", 01/(m1+1)/y1, 01/m2/y2) -1) * 30
' days in last unfinished month If d2 = 31 then part3 = 30 Else part3 = DateDiff("d", 01/m2/y2, Date2) + 1 End If
End If
Result = part1 + part2 + part3
|
|
|
|