I am working on a research project that calculates the internal rate of return given various cash inflows and outflows. IRR can be calculated as: CFo(1+IRR)^n + CF1(1+IRR)^(n-1) + CF2 (1+IRR)^(n-2) + ...+ CFn = 0. Thus, in other words, IRR is a root of high-order polynominal. In my sample, n varies for each project and it could be as high as 168. Following are two issues that I have been struggling for a long time and hope that someone could help me to the right direction: (1) As IRRs are roots of a polynomial function, it is possible to encounter muptiple IRR. For my sample, due to many sign changes, this problem is prevalent and I am wondering if there is a way to get SAS to calculate ALL these roots, instead of giving just one IRR, along with the warnings of potential multiple IRRS. (2) In Excel, one has an option of setting the seed (guess rate) as a starting point and I am hoping that SAS IML has similar function such that I could set the starting rate for IRR. Are you aware of any way that I could set the starting guess rate for IRR in SAS? Any help/ suggestion that you could point me to solve these problems is greatly appreciated.
... View more