Функция IRR

Обновлен: Ноябрь 2007

Возвращает значение типа Double, определяющее внутреннюю ставку доходности для ряда периодических денежных потоков (платежей и поступлений).

Function IRR( _
    ByRef ValueArray() As Double, _
   Optional ByVal Guess As Double = 0.1 _
) As Double

Параметры

  • ValueArray
    Обязательно. Массив значений типа Double, определяющий значения денежных операций. Этот массив должен содержать хотя бы одно отрицательное значение (платеж) и одно положительное значение (поступление).

  • Guess
    Необязателен. Объект, задающий значение, которое будет возвращено функцией IRR. Если этот параметр опущен, используется значение Guess, равное 0,1 (10 процентам).

Исключения

Тип исключения

Номер ошибки

Условие

ArgumentException

5

Указаны недопустимые значения аргументов массива или Guess <= -1.

См. столбец "Номер ошибки", если выполняется обновление приложений Visual Basic 6.0, в которых используется неструктурированная обработка ошибок. (Можно сравнить номер ошибки с Свойство Number (объект Err)). Однако по возможности следует заменить такую систему управления ошибками на Обзор структурной обработки исключений в Visual Basic.

Заметки

Внутренняя ставка доходности представляет собой принятую для инвестиции процентную ставку, учитывающую платежи и поступления, происходящие через постоянные промежутки времени.

В функции IRR платежи и поступления интерпретируются в том порядке, в котором они указаны в массиве. Убедитесь, что значения платежей и поступлений упорядочены правильно. Движение денежных средств за каждый период не обязательно должно быть постоянным, как, например, для аннуитета.

IRR вычисляется путем итерации. Начиная с заданного в параметре Guess значения, функция IRR выполняет вычисления в цикле пока не будет получен результат с точностью 0,00001 процента. Если функции IRR не удается получить результат после 20 итераций, она завершается с ошибкой.

Пример

В этом примере функция IRR возвращает внутреннюю ставку доходности для набора из пяти денежных операций, содержащихся в массиве Values(). Первый элемент массива является отрицательной денежной операцией, представляющей собой затраты на начало деятельности компании. Остальные четыре операции с наличными средствами представляют положительные денежные потоки для последующих четырех лет. Guess — это оценка внутренней частоты доходности.

' Define money format.
Dim MoneyFmt As String = "###,##0.00"
' Define percentage format.
Dim PercentFmt As String = "#0.00"

Dim values(4) As Double
' Business start-up costs.
values(0) = -70000
' Positive cash flows reflecting income for four successive years.
values(1) = 22000
values(2) = 25000
values(3) = 28000
values(4) = 31000

' Use the IRR function to calculate the rate of return.
' Guess starts at 10 percent.
Dim Guess As Double = 0.1
' Calculate internal rate.
Dim CalcRetRate As Double = IRR(values, Guess) * 100
' Display internal return rate.
MsgBox("The internal rate of return for these cash flows is " & _
    Format(CalcRetRate, CStr(PercentFmt)) & " percent.")

Требования

Пространство имен:Microsoft.VisualBasic

Модуль: Financial

**Сборка:**Visual Basic (библиотека времени выполнения, в Microsoft.VisualBasic.dll)

См. также

Ссылки

Функция NPV

Функция MIRR

Сводка по финансовым функциям

ArgumentException