Why Count Sign Changes?
An internal rate of return is a rate that makes a cash-flow stream’s net present value equal to zero. When cash flows change sign more than once, the IRR equation may have multiple solutions. Before solving a polynomial or using a numerical method, it is useful to know how many positive-rate solutions are even possible. Sign-variation reasoning gives an upper bound; it does not, by itself, guarantee that any such solution exists.
Assume cash flows \(C_0,C_1,\ldots,C_n\) occur at times \(0,1,\ldots,n\), one equal-length period apart. Let \(i\) be the effective rate per period and \(v=1/(1+i)\). A positive-rate IRR has \(i>0\), so its discount factor satisfies \(0<v<1\). For example, if the periods are years, \(i\) is an effective annual rate; if they are quarters, it is the effective quarterly rate.
The word nonzero matters. Descartes’ rule of signs applies to a nonzero polynomial. If at least one cash flow is nonzero, the coefficients of \(P\) are not all zero, so the rule can be used. If every cash flow is zero, then \(P\) is the zero polynomial, and the rule gives no valid root bound.
From Cash Flows to a Root Bound
The coefficients of \(P(v)\) are the cash flows in time order. Count sign changes as you read the coefficients, omitting any zero coefficients. Reading in reverse order gives the same count. For a nonzero polynomial, Descartes’ rule of signs says that the number of positive real roots, counted with multiplicity, is at most the number of sign changes in its coefficient sequence. The difference between that upper bound and the actual number of positive roots is an even integer.
Every positive-rate IRR is one of the polynomial’s positive roots, but not every positive root gives a positive-rate IRR. Roots with \(v>1\) correspond to rates between \(-1\) and 0, and \(v=1\) corresponds to \(i=0\). Thus, counting sign changes in \(C_0,\ldots,C_n\) gives an upper bound on positive-rate IRRs, not necessarily the exact number. The bound may include roots outside \(0<v<1\).
A direct way to focus the test on the positive-rate interval is to change variables. For \(0<v<1\), define \(x=v/(1-v)\). Then \(x>0\), and, since \(v=1/(1+i)\), \(x=1/i\). This is a one-to-one correspondence: every positive rate gives exactly one positive \(x\), and every positive \(x\) gives \(i=1/x>0\).
The equality follows by substituting \(v=x/(1+x)\) into each term \(C_kv^k\) and multiplying by \((1+x)^n\). The resulting term is \(C_kx^k(1+x)^{n-k}\). The multiplier is positive for \(x>0\), so it does not create or remove roots there. Consequently, positive-rate IRRs correspond exactly to positive roots of \(Q(x)\). Descartes’ rule applied to \(Q\) can therefore give an upper bound specifically for positive-rate IRRs; it may be tighter than the bound from the original cash-flow coefficients.
Here \(q_j\) is the coefficient of \(x^j\) in \(Q(x)\), with any \(C_k\) beyond the given cash-flow list treated as absent. This coefficient formula comes from expanding \((1+x)^{n-k}\). In practice, it is often simplest to write out the terms \(C_kx^k(1+x)^{n-k}\), expand, combine like powers, and then count sign changes in the resulting coefficients.
For equally spaced cash flows, write \(P(v)=C_0+C_1v+\cdots+C_nv^n\). State that the rate is per cash-flow period.
If all cash flows are zero, every positive rate is an IRR. Otherwise continue.
Omit zero coefficients. Use the cash-flow coefficients for a quick bound, or transform to \(Q(x)\) when a bound on positive-rate roots is needed.
A sign-variation count is an upper bound, not a proof of existence. If solving \(P(v)=0\), retain only roots with \(0<v<1\) for positive rates.
Worked Applications
Worked Example: Two Positive-Rate IRRs at the Sign-Change Bound
An investment has cash flows \(-\$100\), \(+\$230\), and \(-\$132\) at times 0, 1, and 2 years. Find the sign-variation bound and determine its positive-rate IRRs. Use an effective annual rate.
Method. Form the NPV polynomial in \(v\), use the coefficient signs for the initial bound, and solve the quadratic to check which roots are in \(0<v<1\). The common mistake to avoid is treating the sign-change count as the number of IRRs without checking the roots.
The polynomial is \(P(v)=-100+230v-132v^2\). Its coefficients have signs \(-,+,-\), so there are two sign changes. Descartes’ rule gives at most two positive roots.
Factor the polynomial:
For a coefficient check, the sum of the two roots is \(10/11+5/6=115/66\), so the coefficient of \(v\) is \((-132)(-115/66)=230\). Their product is \(50/66=25/33\), so the constant term is \((-132)(25/33)=-100\). The factorization is consistent with the original polynomial.
Both roots lie between 0 and 1. Converting each to a rate gives \(i=1/v-1\). At \(v=10/11\), \(i=11/10-1=0.10\), or 10%. At \(v=5/6\), \(i=6/5-1=0.20\), or 20%.
Check. Each factor is zero at its stated root, so the NPV is zero at both rates. There are exactly two positive-rate IRRs, matching the upper bound of two.
Worked Example: Tightening a Bound to the Positive-Rate Interval
A project has cash flows \(+\$2\), \(-\$5\), and \(+\$2\) at times 0, 1, and 2. Use both coefficient sequences to bound its positive-rate IRRs, then find the rate.
Method. First apply Descartes’ rule directly to \(P(v)\), then transform to \(Q(x)\) so the positive-root test corresponds exactly to positive rates. This avoids counting a root that lies outside the positive-rate discount-factor interval.
The NPV polynomial is \(P(v)=2-5v+2v^2\). Its coefficient signs are \(+,-,+\), giving two sign changes and an initial upper bound of two positive roots.
Factor to locate them:
Only \(v=1/2\) belongs to \(0<v<1\). The root \(v=2\) corresponds to a negative rate and is not a positive-rate IRR. The rate from \(v=1/2\) is \(i=1/(1/2)-1=1\), or 100%.
Now use \(n=2\) to form the transformed polynomial:
Its coefficient signs are \(+,-,-\), so it has one sign change. This gives the sharper bound of at most one positive-rate IRR. Indeed, its positive root is \(x=1\), corresponding to \(i=1/x=1\), or 100%.
Check. Substituting \(v=1/2\) into \(P\) gives \(2-5/2+2/4=0\). The second root \(v=2\) is outside the required interval, explaining why the direct bound was less precise.
Worked Example: Zero Coefficients and a No-Root Bound
Consider the cash flows \(+\$5,\ \$0,\ -\$6,\ +\$1\) at times 0 through 3. Determine what the transformed sign pattern says about positive-rate IRRs.
Method. Construct \(Q(x)\), combine like powers, omit zero coefficients, and apply Descartes’ rule. The common mistake to avoid is counting a zero coefficient as either positive or negative, or stopping before like powers have been combined.
Here \(n=3\), so
Expand each term: \(5(1+x)^3=5+15x+15x^2+5x^3\), \(-6x^2(1+x)=-6x^2-6x^3\), and the last term is \(+x^3\). Combining coefficients gives
Omit the zero coefficient. The remaining signs are \(+,+,+\), with zero sign changes. Since at least one cash flow is nonzero, \(Q\) is not the zero polynomial; Descartes’ rule therefore shows there are no positive roots and hence no positive-rate IRRs.
As an arithmetic check, evaluating the uncombined expression at \(x=1\) gives \(5(2)^3-6(1)^2(2)+1^3=40-12+1=29\). The expanded expression gives \(5+15+9=29\), confirming the coefficient calculation.
Worked Example: The All-Zero Cash-Flow Exception
A stream has cash flows \(\$0,\$0,\$0\) at times 0, 1, and 2. How many positive-rate IRRs does it have?
Method. Check the cash-flow stream before applying Descartes’ rule. The common mistake to avoid is applying a nonzero-polynomial theorem to the zero polynomial.
For every rate \(i>0\), its NPV is \(0+0v+0v^2=0\). Thus every positive rate is an IRR; there are infinitely many. The associated polynomial is identically zero, so Descartes’ rule does not apply and a sign-change upper bound cannot be used.
Check. Substituting any positive \(i\) leaves every discounted cash flow equal to zero, so the NPV remains zero.
Exam Traps and Practical Interpretation
Sign-variation bounds help determine whether a proposed list of IRRs is possible and whether further root-finding is worthwhile. They do not replace root solving, interval checks, or a numerical method. A bound of two means there can be at most two relevant roots; there may be none, one, or two. For a nonzero polynomial, the parity statement in Descartes’ rule concerns all positive roots of that polynomial, not just the subset in \(0<v<1\).
- Using the wrong domain. Positive roots of \(P(v)\) with \(v\geq1\) do not give positive-rate IRRs. Check \(0<v<1\), or use \(Q(x)\), where positive roots correspond exactly to positive rates.
- Counting zero coefficients. Skip them when counting sign changes. A sequence such as \(+,\ 0,\ -\) has one sign change.
- Assuming the upper bound is attained. The coefficient signs restrict the possible number of roots; they do not establish that the roots exist.
- Ignoring the zero polynomial. If all cash flows are zero, every positive rate makes NPV zero. Do not claim that a zero sign-change count implies no IRRs.
- Mixing the rate period. The rate is per spacing between cash flows. If flows are quarterly, the solved IRR is quarterly unless it is explicitly converted to another basis.
Check Your Understanding
For each stream, use the stated periodic cash flows to identify the positive-rate IRR conclusion. Apply sign variations carefully; do not assume a bound is attained.
- A stream has annual cash flows \(-\$60,+\$100,-\$40\) at times 0, 1, and 2. How many positive-rate IRRs does it have? (Answer: 0 positive-rate IRRs; its roots are \(v=1\) and \(v=3/2\).)
- A stream has annual cash flows \(+\$4,-\$7,+\$2\) at times 0, 1, and 2. Find the positive-rate IRR and state the transformed-polynomial sign-variation bound. (Answer: \(i=(\sqrt{17}-1)/8\approx39.04\%\); the bound is 1.)
- A stream has annual cash flows \(+\$1,\$0,-\$2,+\$1\) at times 0 through 3. Use the transformed polynomial to bound its positive-rate IRRs. (Answer: 0 positive-rate IRRs; \(Q(x)=1+3x+x^2\) has no sign changes.)
- A stream has annual cash flows \(-\$1,\$0,\$0,+\$1\) at times 0 through 3. The polynomial has one positive root. Does that root give a positive-rate IRR? (Answer: No; the root is \(v=1\), which gives \(i=0\).)
- A stream has cash flows \(\$0,\$0,\$0,\$0\) at times 0 through 3. What conclusion can be made about positive-rate IRRs, and can Descartes’ rule be applied? (Answer: Every positive rate is an IRR; Descartes’ rule does not apply to the zero polynomial.)