Financial.Rate(Double, Double, Double, Double, DueDate, Double) 메서드

정의

연금의 기간당 이자율을 지정하는 값을 반환합니다.

public static double Rate(double NPer, double Pmt, double PV, double FV = 0, Microsoft.VisualBasic.DueDate Due = Microsoft.VisualBasic.DueDate.EndOfPeriod, double Guess = 0.1);
static member Rate : double * double * double * double * Microsoft.VisualBasic.DueDate * double -> double
Public Function Rate (NPer As Double, Pmt As Double, PV As Double, Optional FV As Double = 0, Optional Due As DueDate = Microsoft.VisualBasic.DueDate.EndOfPeriod, Optional Guess As Double = 0.1) As Double

매개 변수

NPer
Double

필수 사항입니다. 연금의 총 지급 기간 수입니다. 예를 들어 4년 자동차 대출에 대해 월별로 상환하는 경우 대출은 총 4 * 12(또는 48) 지불 기간이 있습니다.

Pmt
Double

필수 사항입니다. 각 기간마다 지급할 금액입니다. 결제 일반적으로 연금의 수명 동안 변경되지 않는 원금과 관심을 포함합니다.

PV
Double

필수 사항입니다. 일련의 향후 지불 또는 영수증의 현재 값 또는 현재 값입니다. 예를 들어, 자동차를 구입하기 위해 돈을 빌릴 때 대출 금액은 월별 자동차 지불액의 대출자에게 현재 가치입니다.

FV
Double

Optional. 최종 결제 후 원하는 미래 가치 또는 현금 잔액입니다. 예를 들어 대출의 미래 가치는 최종 지불 후의 값이므로 \$0입니다. 그러나 자녀의 교육을 위해 18년 동안 \$50,000를 절약하려면 \$50,000가 미래 값입니다. 생략하면 0이 가정됩니다.

Due
DueDate

Optional. 지불 기한을 지정하는 형식 DueDate 의 개체입니다. 이 인수는 지불 기간이 끝날 때 지불이 기한이 되는 경우 또는 DueDate.BegOfPeriod 지불이 기간의 시작 부분에 기한이 되는 경우여야 합니다DueDate.EndOfPeriod. 생략하면 DueDate.EndOfPeriod 가정됩니다.

Guess
Double

Optional. 예상하는 값은 .에서 반환됩니다 Rate. 생략 Guess 하면 0.1(10%)입니다.

반품

연금의 기간당 이자율입니다.

예외

NPer <= 0.

예제

이 예제에서는 이 함수를 사용하여 Rate 총 상환 횟수(), 대출 상환액(TotPmts), 대출의 현재 값 또는 원금(Payment), 대출의 미래 가치(PValFVal), 상환 기간이 시작 또는 종료될지 여부를 나타내는 숫자(PayType)를 고려하여 대출 이자율을 계산합니다. 및 예상 이자율(Guess)의 근사치입니다.

Sub TestRate()
    Dim PVal, Payment, TotPmts, APR As Double
    Dim PayType As DueDate

    ' Define percentage format.
    Dim Fmt As String = "##0.00"
    Dim Response As MsgBoxResult
    ' Usually 0 for a loan.
    Dim FVal As Double = 0
    ' Guess of 10 percent.
    Dim Guess As Double = 0.1
    PVal = CDbl(InputBox("How much did you borrow?"))
    Payment = CDbl(InputBox("What's your monthly payment?"))
    TotPmts = CDbl(InputBox("How many monthly payments do you have to make?"))
    Response = MsgBox("Do you make payments at the end of the month?", MsgBoxStyle.YesNo)
    If Response = MsgBoxResult.No Then
        PayType = DueDate.BegOfPeriod
    Else
        PayType = DueDate.EndOfPeriod
    End If
    APR = (Rate(TotPmts, -Payment, PVal, FVal, PayType, Guess) * 12) * 100

    MsgBox("Your interest rate is " & Format(CInt(APR), Fmt) & " percent.")
End Sub

설명

연금은 일정 기간 동안 이루어진 일련의 고정 현금 지불입니다. 연금은 대출(예: 주택 담보 대출) 또는 투자(예: 월별 저축 계획)일 수 있습니다.

모든 인수에서 저축과 같은 현금 지출은 음수로 표시하고 배당금과 같은 현금 수입은 양수로 표시합니다.

Rate 는 반복을 통해 계산됩니다. 값 GuessRate 부터 시작하여 결과가 0.00001% 이내로 정확할 때까지 계산을 순환합니다. 20번의 시도 후에 결과를 찾을 수 없으면 Rate 실패합니다. 추측이 10%이고 Rate 실패하는 경우 다른 값을 Guess사용합니다.

적용 대상

추가 정보