다음을 통해 공유


Financial.IRR(Double[], Double) 메서드

정의

일련의 주기적인 현금 흐름(지불액과 수령액)에 대한 내부 수익률을 지정하는 값을 반환합니다.

public static double IRR (ref double[] ValueArray, double Guess = 0.1);
static member IRR : Double[] * double -> double
Public Function IRR (ByRef ValueArray As Double(), Optional Guess As Double = 0.1) As Double

매개 변수

ValueArray
Double[]

필수 요소. 현금 흐름 값을 지정하는 Double 형식의 배열입니다. 배열에는 하나 이상의 음수 값(지불)과 하나 이상의 양수 값(확인)이 포함되어야 합니다.

Guess
Double

선택 사항입니다. IRR에서 반환할 추정 값을 지정하는 개체입니다. 생략할 경우 Guess는 0.1(10%)이 됩니다.

반환

일련의 주기적인 현금 흐름(지불액과 수령액)에 대한 내부 수익률입니다.

예외

배열 인수 값이 잘못되었거나 Guess<= -1입니다.

예제

이 예제에서 함수는 IRR 배열 Values()에 포함된 5개의 현금 흐름에 대한 내부 수익률을 반환합니다. 첫 번째 배열 요소는 비즈니스 시작 비용을 나타내는 부정적인 현금 흐름입니다. 나머지 4개의 현금 흐름은 이후 4년 동안 긍정적인 현금 흐름을 나타냅니다. 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.")

설명

내부 수익률은 정기적으로 발생하는 지불 및 영수증으로 구성된 투자에 대해 받은 이자율입니다.

함수는 IRR 배열 내의 값 순서를 사용하여 결제 및 영수증 순서를 해석합니다. 결제 및 영수증 값을 올바른 순서로 입력해야 합니다. 각 기간의 현금 흐름은 연금과 마찬가지로 고정될 필요가 없습니다.

IRR 는 반복을 통해 계산됩니다. 의 값 GuessIRR 부터 결과가 0.000001% 이내로 정확할 때까지 계산을 순환합니다. 20번의 시도 후에 결과를 찾을 수 없으면 IRR 실패합니다.

적용 대상

추가 정보