Bookmark and Share

Notice: On April 23, 2014, Statalist moved from an email list to a forum, based at

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: st: Internal Rate of Return Calculation

From   "Jeff" <>
To   <>
Subject   RE: st: Internal Rate of Return Calculation
Date   Tue, 14 Jun 2011 09:36:20 -0700

I am admittedly not as skilled in using Stata as most on this list
serve.  However, I find this discussion interesting, in that it seems to
imply that by picking an appropriate distribution to find the internal
rate or return, the next step would be to apply a monte carlo simulation
to further develop the IRR and its related cost of capital.  In this
risk modeling approach to finance, there are many commercial Excel
Add-in which do this (despite the fact that Excel is often criticized as
an inadequate program to perform statistical analysis).  I would be
interested is how this can be performed in Stata 10, i.e., find or
develop the appropriate probability distribution and then apply a monte
carlo simulation to develop the IRR or cost of capital?

Jeffrey B. Wolpin

-----Original Message-----
[] On Behalf Of Austin
Sent: Tuesday, June 14, 2011 9:04 AM
Subject: Re: st: Internal Rate of Return Calculation

M. S. <>:
With respect to IRR calculations, there are several plausible scenarios.

One is that there is assumed to be a common internal rate of return,
and many projects with initial price and values in subsequent periods
provide data with which to estimate that common parameter.  A second
more plausible scenario is that the many projects with initial price
and values in subsequent periods describe a distribution of
project-specific IRRs where a hypothetical lower bound determines
which were put into action and the estimation is aimed at that lower
bound (e.g. only projects with ex ante IRR>10% are put into effect,
but the observed IRRs range from -1 to 300 ex post, with a large bump
in the density at 0.10 where the ex ante truncation kicks in).

Instead, I assume from the context that in fact there are several
projects each of which is supposed to have its own IRR and the initial
price and values in subsequent periods provide data that uniquely
determine an individual IRR, which is to be calculated; in that case
the mm_root() functionality of moremata (on SSC) applies, as it does
to finding the zeros of any nonlinear function.

clear all
input v0 v1 v2 v3
100 105 107 120
500 550 600 700
g p=v0+v1/(1+_n/10)+v2/(1+_n/10)^2+v3/(1+_n/10)^3
g irr=.
st_view(v=.,.,"irr v0 v1 v2 v3 p")
function y(x,a,b,c,d,e) {
for (i=1;i<=rows(v);i++) {
l, noo

On Tue, Jun 14, 2011 at 11:35 AM, Austin Nichols
<> wrote:
> Sounds like
> On Tue, Jun 14, 2011 at 2:07 AM, M. S.
<> wrote:
>> Dear Statalisters:
>>  I am searching for a more convenient way to calculate internal rates
>> of return. I should mention, that I am not that experienced with
>> at this point.
>>  I have a function like this:
>>  Net Present Value = Value0+ value1/(1+irr)^1+ value2/ (1+irr)^2 . .
>> + value6/(1+irr)^5*(irr-growth) ? price
>>  To find the discount rate irr that makes the function equal to zero
>> am currently using a forvalues loop which increases or decreases the
>> discount factor given the current value of Net Present Value. This
>> requires me to recalculate the result all the time and to use several
>> if-conditions so that irr is changed by 1% at first and later by
>> 0.01% and so on . . .
>>  Is there a more convenient way to find the discount factor? When I
>> searched, I only found a function called ?finirr? but I couldn´t find
>> any documentation for it and my data do not describe as a time

*   For searches and help try:

*   For searches and help try:

© Copyright 1996–2018 StataCorp LLC   |   Terms of use   |   Privacy   |   Contact us   |   Site index