Usage Note 22936: Why don't the results from the NPV or NETPV functions match the values I compute using Excel?
The net present value DATA step functions, NPV, and NETPV, assume that payments occur at the beginning of each period while Excel's NPV function assumes that payments occur at the end of each period.
When comparing the results from SAS and Excel, you will need to either add an initial payment of 0 while using the SAS functions or exclude the first payment and add it back when using the Excel function.
Here is an example showing Excel's NPV function:
A B C
1 description data
2 rate 0.1
3 c0 -10000
4 c1 3000
5 c2 4200
6 c3 6800
7 npv - end of period $1,188.44 =NPV(B2,B3,B4,B5,B6)
8 npv - beginning of period $1,307.29 =NPV(B2,B4,B5,B6)+B3
See the Full Code and Output tabs for SAS code and results corresponding to the Excel results.
Operating System and Release Information
SAS System | N/A | All | n/a | |
SAS System | Base SAS | All | n/a | |
*
For software releases that are not yet generally available, the Fixed
Release is the software release in which the problem is planned to be
fixed.
data _NULL_;
/*Add an initial payment of 0 for cash flows to be interpreted as end of period. */
/*Default behavior in Excel.*/
npv_end_of_period = netpv(.10, 1, 0, -10000, 3000, 4200, 6800);
put 'End of Period: ' npv_end_of_period dollar9.2;
/*Default behavior in SAS - beginning of period values.*/
npv_beginning_of_period = netpv(.10, 1, -10000, 3000, 4200, 6800);
put 'Beginning of Period: ' npv_beginning_of_period dollar9.2;
run;
End of Period: $1,188.44
Beginning of Period: $1,307.29
Type: | Usage Note |
Priority: | low |
Topic: | SAS Reference ==> Functions ==> Financial ==> NETPV SAS Reference ==> Functions ==> Financial ==> NPV
|
Date Modified: | 2012-04-23 16:36:51 |
Date Created: | 2002-12-16 10:56:48 |