Dana wrote:
I can't add much
And yet you do. :-) I was wondering when you would chime in. :-)
Dana wrote:
Excel 2016 returned a pretty accurate value for both the windows and Mac version.
Could you explain that in more detail? Specially, what is your IRR formula that returned "pretty accurate" values?
Jon's issue is specifically that IRR(...,-0.05) [sic] and IRR(...,-0.0465377)
[sic] do not work with the original large-valued cash flows, although they work when the small-valued cash flows (large divided by 1,000,000).
Are you saying that Jon's parameters work fine for you in Excel 2016?(!)
I'm surprised, because Jon's posting parameters claim that he is using Office 365, which I think includes Excel 2016 in some form. (But of course, sometimes people do not enter the correct posting parameters.)
Dana wrote:
> ... "I increased the number of permitted iterations (to >1000) and the Maximum Change, with no effect."
If I am not mistaken, I don't believe IRR uses this option. It uses it's own iteration. Note from help:
"...until the result is accurate within 0.00001 percent. If IRR can't find a result that works after 20 tries, the #NUM! error value is returned."
That's what I thought, as well. But https://support.office.com/en-us/article/How-to-correct-a-NUM-error-f5193bfc-4400-43f4-88c4-8e1dcca0428b (click
here) claims otherwise. And when an MVP mentioned it some time ago, I believe I tested and confirmed that it makes a difference sometimes. Nevertheless, I confirmed that it seems to have no benefit for Jon's example.
Dana wrote:
What generally happens on the negative side of the x axis, (the rate), is that the slopes are usually very large.
[....]
If we look at the derivative of the equation at our solution of -.0465.., we see a slope of about -1.5 E12
[....]
When we divide the cash flows by 1,000,000 , we do not change the solution of r. However, we do change the derivative by a large amount. The new value is about -1.5 E6
That's the "inkling" I had. Thanks for taking the time to explain it.
Also, for a given IRR close to the solution, the NPV for the large-valued cash flows is much larger than zero, whereas the NPV for the small-valued cash flows is less than zero. For example:
That might be problematic for the algorithm end-conditions.
Dana wrote:
An interesting side note is that if you plug your accurate value of r into the equation for cash flows, I get a value of 0.000082. This is basically the same as joeu2004's NPV. Why not closer to zero?
[....]
With 25 values, what you really are solving for is a 24-degree polynomial. (0-24)
[....] The maximum values of the coefficient will be in the middle:
-184324775020759744 *r^12
This has 18 digits
[....]
Together, this is a good way to see how we are losing precision in the calculation.
I agree that with the large-valued cash flows, even the best NPV is not as close to zero as we might like because of the loss of precision. However, it is
relatively close to zero, given the magnitude of the cash flows.
But I do not agree with your details.
The NPV equation is the sum of discounted terms of the form CF[i]/(1+r)^i. By the way, i=1,..,25 according to the NPV help page, not 0,...,24 as we would expect. That is one of the well-know caveats about using the NPV function. Of course, I am assuming
that the IRR function uses the equivalent of the NPV function internally. We don't really know.
With that assumption, when r is between -4.65% (my guess) and the best solution, the discounted terms for the large-valued cash flows are between about -7E10 and 5E10, well within the calculation limitations of 64-bit binary floating-point.
Dana wrote:
As a side note, with 25 values, the other valid solution is -1.936063358836872.
IMHO, it is wrong to call any IRR "valid" if it is less than -100%, because the NPV equation is discontinuous at -100%.
Please forgive the nitpick. But it irks me that Excel (X)IRR does return such misleading results sometimes.
Dana wrote:
There's more interesting math, but I'll leave that alone.
Since when has that ever stopped you. :-)
Seriously, good analysis. I hope it is helpful to Jon. (Albeit of little comfort, perhaps.)