Coupdays bug in excel xp

D

David Campeau

I have a financial library witch is implementing most of
the Analysis Toolpack Financial function. I was recently
doing some final validation versus excel and I found some
misterious result.

When trying to find the number of days in a coupon period
witch ends on the 28th or the 29th Februrary of any year
(for the ACT/ACT basis). The function ALWAYS return 365
days for the coupon period.

If I am not mistaken the function should always return :

COUPDAYS=COUPNCD-COUPPCD

Try those function in excel:

=COUPDAYS(DATE(1999,1,1),DATE(2004,2,27),1,1) 365
=COUPDAYS(DATE(2000,1,1),DATE(2004,2,27),1,1) 365
=COUPDAYS(DATE(2001,1,1),DATE(2004,2,27),1,1) 366
=COUPDAYS(DATE(1999,1,1),DATE(2004,2,28),1,1) 365
=COUPDAYS(DATE(2000,1,1),DATE(2004,2,28),1,1) 365
=COUPDAYS(DATE(2001,1,1),DATE(2004,2,28),1,1) 365
=COUPDAYS(DATE(1999,1,1),DATE(2004,2,29),1,1) 365
=COUPDAYS(DATE(2000,1,1),DATE(2004,2,29),1,1) 365
=COUPDAYS(DATE(2001,1,1),DATE(2004,2,29),1,1) 365
=COUPDAYS(DATE(1999,1,1),DATE(2004,3,1),1,1) 365
=COUPDAYS(DATE(2000,1,1),DATE(2004,3,1),1,1) 366
=COUPDAYS(DATE(2001,1,1),DATE(2004,3,1),1,1) 365

Validation:

=COUPNCD(DATE(1999,1,1),DATE(2004,2,27),1,1)-COUPPCD(DATE
(1999,1,1),DATE(2004,2,27),1,1) 365
=COUPNCD(DATE(2000,1,1),DATE(2004,2,27),1,1)-COUPPCD(DATE
(2000,1,1),DATE(2004,2,27),1,1) 365
=COUPNCD(DATE(2001,1,1),DATE(2004,2,27),1,1)-COUPPCD(DATE
(2001,1,1),DATE(2004,2,27),1,1) 366
=COUPNCD(DATE(1999,1,1),DATE(2004,2,28),1,1)-COUPPCD(DATE
(1999,1,1),DATE(2004,2,28),1,1) 365
=COUPNCD(DATE(2000,1,1),DATE(2004,2,28),1,1)-COUPPCD(DATE
(2000,1,1),DATE(2004,2,28),1,1) 365
=COUPNCD(DATE(2001,1,1),DATE(2004,2,28),1,1)-COUPPCD(DATE
(2001,1,1),DATE(2004,2,28),1,1) 366
=COUPNCD(DATE(1999,1,1),DATE(2004,2,29),1,1)-COUPPCD(DATE
(1999,1,1),DATE(2004,2,29),1,1) 365
=COUPNCD(DATE(2000,1,1),DATE(2004,2,29),1,1)-COUPPCD(DATE
(2000,1,1),DATE(2004,2,29),1,1) 366
=COUPNCD(DATE(2001,1,1),DATE(2004,2,29),1,1)-COUPPCD(DATE
(2001,1,1),DATE(2004,2,29),1,1) 365
=COUPNCD(DATE(1999,1,1),DATE(2004,3,1),1,1)-COUPPCD(DATE
(1999,1,1),DATE(2004,3,1),1,1) 365
=COUPNCD(DATE(2000,1,1),DATE(2004,3,1),1,1)-COUPPCD(DATE
(2000,1,1),DATE(2004,3,1),1,1) 366
=COUPNCD(DATE(2001,1,1),DATE(2004,3,1),1,1)-COUPPCD(DATE
(2001,1,1),DATE(2004,3,1),1,1) 365

Is this a known bug?

David Campeau
 
Top