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 x 12 (или 48).
- Pmt
- Double
Обязательный. Платеж за каждый период. Обычно платежи содержат основную сумму и проценты, которые не изменяются на протяжении периода действия аннуитета.
- PV
- Double
Обязательный. Значение, задающее текущую сумму (или значение на сегодняшний день) серии будущих платежей или поступлений. Например, если для покупки автомобиля взят заем, то эта сумма представляет собой текущее значение предстоящих ежемесячных платежей за автомобиль.
- FV
- Double
Необязательный элемент. Значение, задающее требуемую будущую сумму или баланс наличности после уплаты последнего платежа. Например, будущее значение ссуды равно $0, поcкольку такова будет ее величина после последней выплаты. Но если требуется собрать за 18 лет сумму в $50 000 на образование детей, то будущая сумма будет равна $50 000. Если этот аргумент опущен, используется значение 0.
- Due
- DueDate
Необязательный элемент. Объект типа DueDate, указывающий время выплат. Этот аргумент должен равняться либо DueDate.EndOfPeriod
, если выплаты должны производиться в конце периода, либо DueDate.BegOfPeriod
в случае оплаты в начале периода. Если аргумент не указан, принимается значение DueDate.EndOfPeriod
.
- Guess
- Double
Необязательный элемент. Оцениваемое значение, возвращаемое функцией Rate
. Если этот параметр опущен, используется значение Guess
, равное 0,1 (10 процентам).
Возвращаемое значение
Процентная ставка за период для аннуитета.
Исключения
NPer
<= 0.
Примеры
В этом примере функция используется Rate
для вычисления процентной ставки кредита с учетом общего числа платежей (TotPmts
), суммы платежа по кредиту (Payment
), текущей стоимости или основной суммы кредита (PVal
), будущей стоимости кредита (FVal
), числа, указывающего, должен ли платеж производиться в начале или конце периода платежа (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
вычисляется путем итерации. Начиная со значения Guess
, Rate
циклически выполняет вычисление, пока результат не будет точным в пределах 0,00001 процента. Если Rate
не удается найти результат после 20 попыток, он завершается ошибкой. Если ваше предположение равно 10 процентам и Rate
не удается, попробуйте использовать другое значение для Guess
.