Financial.PPmt(Double, Double, Double, Double, Double, DueDate) Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Возвращает значение, указывающее основной платеж за определенный период аннуитета на основе периодических фиксированных платежей и фиксированной процентной ставки.
public static double PPmt(double Rate, double Per, double NPer, double PV, double FV = 0, Microsoft.VisualBasic.DueDate Due = Microsoft.VisualBasic.DueDate.EndOfPeriod);
static member PPmt : double * double * double * double * double * Microsoft.VisualBasic.DueDate -> double
Public Function PPmt (Rate As Double, Per As Double, NPer As Double, PV As Double, Optional FV As Double = 0, Optional Due As DueDate = Microsoft.VisualBasic.DueDate.EndOfPeriod) As Double
Параметры
- Rate
- Double
Обязательно. Процентная ставка на период. Например, если вы берете кредит на автомобиль с годовой процентной ставкой, равной 10 %, и ежемесячными выплатами, ставка за период будет равна 0,1/12 (0,0083).
- Per
- Double
Обязательно. Период оплаты в диапазоне 1–1.NPer
- NPer
- Double
Обязательно. Общее количество периодов оплаты в аннуитетах. Например, если вы вносите ежемесячные платежи по четырехлетнему кредиту на автомобиль, ваш кредит имеет в общей сложности 4 x 12 (или 48) периодов оплаты.
- PV
- Double
Обязательно. Текущее значение ряда будущих платежей или квитанций. Например, при получении кредита на покупку автомобиля сумма кредита для кредитора равноценна будущим ежемесячным платежам по кредиту.
- FV
- Double
Optional. Будущая стоимость или денежный баланс, который вы хотите после того, как вы сделали окончательный платеж. Например, будущая стоимость кредита составляет \0 долларов, так как это его стоимость после окончательного платежа. Тем не менее, если вы хотите сохранить \$50 000 более 18 лет для образования вашего ребенка, то \$50000 является будущим значением. Если этот аргумент не задан, используется значение 0.
- Due
- DueDate
Optional. Объект типа DueDate , указывающий, когда должны быть выплаты. Этот аргумент должен быть либо DueDate.EndOfPeriod в том случае, если платежи должны выполняться в конце периода оплаты, либо DueDate.BegOfPeriod если платежи должны быть в начале периода. Если опущено, DueDate.EndOfPeriod предполагается.
Возвращаемое значение
Основной платеж за определенный период аннуитета на основе периодических фиксированных платежей и фиксированной процентной ставки.
Исключения
Per
<=0 или Per>NPer.
Примеры
В этом примере функция используется PPmt для вычисления количества платежей за определенный период, когда все платежи равны. Дается процентная ставка процента за период (APR / 12), период выплаты, в течение которого требуется основная часть (Period), общее количество платежей (TotPmts), текущее значение или основная часть кредита (PVal), будущая стоимость кредита (FVal), а также число, указывающее, должен ли платеж производиться в начале или конце периода выплаты (PayType).
Sub TestPPMT()
Dim PVal, APR, TotPmts, Payment, Period, P, I As Double
Dim PayType As DueDate
Dim Msg As String
Dim Response As MsgBoxResult
' Define money format.
Dim Fmt As String = "###,###,##0.00"
' Usually 0 for a loan.
Dim Fval As Double = 0
PVal = CDbl(InputBox("How much do you want to borrow?"))
APR = CDbl(InputBox("What is the annual percentage rate of your loan?"))
' Ensure proper form.
If APR > 1 Then APR = APR / 100
TotPmts = CDbl(InputBox("How many monthly payments do you have to make?"))
Response = MsgBox("Do you make payments at the end of month?", MsgBoxStyle.YesNo)
If Response = MsgBoxResult.No Then
PayType = DueDate.BegOfPeriod
Else
PayType = DueDate.EndOfPeriod
End If
Payment = Math.Abs(-Pmt(APR / 12, TotPmts, PVal, FVal, PayType))
Msg = "Your monthly payment is " & Format(Payment, Fmt) & ". "
Msg = Msg & "Would you like a breakdown of your principal and "
Msg = Msg & "interest per period?"
' See if chart is desired.
Response = MsgBox(Msg, MsgBoxStyle.YesNo)
If Response <> MsgBoxResult.No Then
If TotPmts > 12 Then MsgBox("Only first year will be shown.")
Msg = "Month Payment Principal Interest" & Environment.NewLine
For Period = 1 To TotPmts
' Show only first 12.
If Period > 12 Then Exit For
P = PPmt(APR / 12, Period, TotPmts, -PVal, FVal, PayType)
' Round principal.
P = (Int((P + 0.005) * 100) / 100)
I = Payment - P
' Round interest.
I = (Int((I + 0.005) * 100) / 100)
Msg = Msg & Period & vbTab & Format(Payment, Fmt)
Msg = Msg & vbTab & Format(P, Fmt) & vbTab & Format(I, Fmt) & Environment.NewLine
Next Period
' Display amortization table.
MsgBox(Msg)
End If
End Sub
Комментарии
Выплатами называется ряд фиксированных платежей наличными, которые выполняются в определенный период времени. Это может быть заём (например, ипотека) или инвестиция (например, сберегательный вклад с ежемесячным пополнением).
Rate Аргументы NPer должны вычисляться с помощью периодов оплаты, выраженных в одних и том же единицах. Например, если Rate вычисляется использование месяцев, NPer также необходимо вычислить с помощью месяцев.
Для всех аргументов оплата денежных средств (например, депозитов в сбережениях) представлена отрицательными числами; полученные денежные средства (например, проверки дивидендов) представлены положительными числами.