Comparteix a través de


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

Definición

Devuelve un valor que especifica el pago de principal durante un período determinado de una anualidad basándose en los pagos fijos periódicos y una tasa de interés fija.

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

Obligatorio. Tipo de interés por período. Por ejemplo, si se obtiene un crédito para la compra de un vehículo con un tipo anual (APR) del 10 por ciento y se realizan pagos mensuales, el tipo por período será 0,1/12 ó 0,0083.

Per
Double

Obligatorio. Período de pago de 1 a NPer.

NPer
Double

Obligatorio. Número total de períodos de pago de la anualidad. Por ejemplo, si se realizan pagos mensuales para amortizar un crédito a cuatro años para la compra de un vehículo, el crédito tiene un total de 4 x 12 (ó 48) períodos de pago.

PV
Double

Obligatorio. Valor actual de una serie de pagos o ingresos futuros. Por ejemplo, cuando se pide un crédito para comprar un vehículo, el importe del crédito será el valor presente para la entidad crediticia de los pagos mensuales que se van a realizar.

FV
Double

Opcional. Valor futuro o saldo en efectivo deseados una vez realizado el pago final. Por ejemplo, el valor futuro de un crédito es 0 $ porque ése es su valor después del último pago. Sin embargo, si se desea ahorrar 50.000 $ durante 18 años para la educación de un hijo, el valor futuro es 50.000 $. Si se omite, se supone que el valor es 0.

Due
DueDate

Opcional. Objeto de tipo DueDate que indica cuándo vencen los pagos. Este argumento debe ser DueDate.EndOfPeriod si los pagos vencen al final del período o DueDate.BegOfPeriod si los pagos vencen al principio del mismo. Si se omite, se supone que se debe usar el valor DueDate.EndOfPeriod.

Devoluciones

Pago principal durante un período determinado de una anualidad basándose en los pagos fijos periódicos y una tasa de interés fija.

Excepciones

Per<=0 o Per>NPer.

Ejemplos

En este ejemplo se usa la PPmt función para calcular la cantidad de un pago para un período específico cuando todos los pagos son de igual valor. Dados son la tasa porcentual de interés por período (APR / 12), el período de pago para el que se desea la parte principal (Period), el número total de pagos (TotPmts), el valor actual o el principal del préstamo (PVal), el valor futuro del préstamo (FVal) y un número que indica si el pago se debe al principio o al final del período de pago (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

Comentarios

Una anualidad es una serie de pagos fijos en efectivo realizados durante un período de tiempo. Una anualidad puede ser un préstamo (como una hipoteca de vivienda) o una inversión (por ejemplo, un plan de ahorro mensual).

Los Rate argumentos y NPer deben calcularse utilizando períodos de pago expresados en las mismas unidades. Por ejemplo, si Rate se calcula con meses, NPer también se debe calcular con meses.

Para todos los argumentos, el efectivo pagado (como los depósitos a los ahorros) se representa mediante números negativos; efectivo recibido (como cheques de dividendos) se representa mediante números positivos.

Se aplica a

Consulte también