contents.gifprev1.gifnext1.gif

XIRR() - Internal rate of return

Calculates the Internal Rate of Return of an investment based on a series of periodic cash flows based on irregular series of dates. This function uses an iterative technique for calculating IRR that almost guarantees an result within the 250 tries with an accuracy of 0.01E-16%.

Returns

Double value if successful. If an error occurs, this function returns a zero.

Arguments

Type
Field
Description
double
dCF[]
Series of cash flows
long
lDate[]
Series of dates
integer
iCount
Number of cash flows in array
integer
iBasis
Value:
0 = end
1 = begin
16 bit DLL declarations

PowerBuilder Function declaration

function double XIRR(double dCF[], long lDate[], int iCount, int iBasis) library "IFL16.DLL"

Visual Basic Function declaration

Declare Function XIRR lib "IFL16" (ByRef dCF[] As Double, ByRef lDate[] As Long, ByVal iCount As Integer, ByVal iBasis As Integer) As Double

Access Function declaration

Declare Function XIRR lib "IFL16" (dCF As Any, lDate As Any, ByVal iCount As Integer, ByVal iBasis As Integer) As Double

C/C++ Synopsis

#include "function.h"

double XIRR(double *dCF, long *lDate, int iCount, int iBasis)

32 bit DLL declarations

PowerBuilder Function declaration

function double XIRR(double dCF[], long lDate[],int iCount, int iBasis) library "IFL32.DLL"

Visual Basic Function declaration

Declare Function XIRR lib "IFL32" (ByVal dCF As Any, ByVal lDate[] As Long, ByVal iCount As Integer, ByVal iBasis As Integer) As Double

Access Function declaration

Declare Function XIRR lib "IFL32" (dCF As Any, lDate As Any, ByVal iCount As Integer, ByVal iBasis As Integer) As Double

C/C++ Synopsis

#include "function.h"

double XIRR(double *dCF, long *lDate, short sCount, short sBasis)

Example:

dCF[1]
=
-10000
Initial outflow
dCF[2]
=
2750

dCF[3]
=
4250

dCF[4]
=
3250

dCF[5]
=
2750

dDate[1]
=
33604
Initial date
dDate[2]
=
33664

dDate[3]
=
33907

dDate[4]
=
34015

dDate[5]
=
34060

dCount
=
5

dBasis
=
0
365 days
Result: 0.373363 (37.3363%)