Financial.PPmt(Double, Double, Double, Double, Double, DueDate) Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
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.