Financial.PPmt(Double, Double, Double, Double, Double, DueDate) Método

Definição

Retorna um valor que especifica o pagamento principal por um determinado período de anuidade com base em pagamentos fixos periódicos e uma taxa de juros fixa.

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

Parâmetros

Rate
Double

Required. A taxa de juros por período. Por exemplo, se você receber um empréstimo de carro a uma taxa percentual anual (APR) de 10% e fazer pagamentos mensais, a taxa por período será de 0,1/12 ou 0,0083.

Per
Double

Required. O período de pagamento no intervalo de 1 a NPer.

NPer
Double

Required. O número total de períodos de pagamento na anuidade. Por exemplo, se você fizer pagamentos mensais em um empréstimo de quatro anos, seu empréstimo terá um total de 4 x 12 (ou 48) períodos de pagamento.

PV
Double

Required. O valor atual de uma série de pagamentos ou recibos futuros. Por exemplo, quando você pega dinheiro emprestado para comprar um carro, o valor do empréstimo é o valor presente para o credor dos pagamentos mensais do carro que você fará.

FV
Double

Optional. O valor futuro ou saldo em caixa que você deseja depois de fazer o pagamento final. Por exemplo, o valor futuro de um empréstimo é \$0 porque esse é o seu valor após o pagamento final. No entanto, se você quiser economizar \$50.000 em 18 anos para a educação do seu filho, então \$50.000 é o valor futuro. Se omitido, 0 será assumido.

Due
DueDate

Optional. Objeto do tipo DueDate que especifica quando os pagamentos são vencidos. Esse argumento deve ser DueDate.EndOfPeriod se os pagamentos forem vencidos no final do período de pagamento ou DueDate.BegOfPeriod se os pagamentos forem vencidos no início do período. Se omitido, DueDate.EndOfPeriod será assumido.

Retornos

O pagamento principal por um determinado período de anuidade com base em pagamentos fixos periódicos e uma taxa de juros fixa.

Exceções

Per <=0 ou Per>NPer.

Exemplos

Este exemplo usa a PPmt função para calcular quanto de um pagamento para um período específico é principal quando todos os pagamentos são de valor igual. Dados são a taxa de percentual de juros por período (APR / 12), o período de pagamento para o qual a parte principal é desejada (Period), o número total de pagamentos (TotPmts), o valor atual ou a entidade principal do empréstimo (PVal), o valor futuro do empréstimo (FVal) e um número que indica se o pagamento é devido no início ou no final do período de pagamento (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

Comentários

Uma anuidade é uma série de pagamentos em dinheiro fixos feitos durante um período de tempo. Uma anuidade pode ser um empréstimo (como uma hipoteca) ou um investimento (como um plano de poupança mensal).

Os Rate argumentos e os NPer argumentos devem ser calculados usando os períodos de pagamento expressos nas mesmas unidades. Por exemplo, se Rate for calculado usando meses, NPer também deve ser calculado usando meses.

Para todos os argumentos, o dinheiro pago (como depósitos na poupança) é representado por números negativos; O dinheiro recebido (como cheques de dividendos) é representado por números positivos.

Aplica-se a

Confira também