Financial.PPmt(Double, Double, Double, Double, Double, DueDate) Metod

Definition

Returnerar ett värde som anger kapitalbeloppet för en annuitetsperiod baserat på periodiska fasta betalningar och en fast räntesats.

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

Parametrar

Rate
Double

Required. Räntesatsen per period. Om du t.ex. tar ett billån med en årlig räntesats (APR) på 10 procent och gör månatliga betalningar, är räntan per period 0,1/12, alltså 0,0083.

Per
Double

Required. Betalningsperioden i intervallet 1 till NPer.

NPer
Double

Required. Det totala antalet betalningsperioder i annuiteten. Om du till exempel gör månatliga betalningar på ett fyraårigt billån har ditt lån totalt 4 x 12 (eller 48) betalningsperioder.

PV
Double

Required. Det aktuella värdet för en serie framtida betalningar eller intäkter. När du till exempel lånar pengar för att köpa en bil är lånebeloppet det nuvarande värdet för långivaren av de månatliga bilbetalningar du kommer att göra.

FV
Double

Optional. Det framtida värde eller det kontantsaldo du vill ha när du har gjort den slutliga betalningen. Till exempel är det framtida värdet för ett lån \$0 eftersom det är dess värde efter den slutliga betalningen. Men om du vill spara \$50 000 över 18 år för ditt barns utbildning är \$50 000 det framtida värdet. Om inget värde anges används automatiskt värdet 0.

Due
DueDate

Optional. Objekt av typen DueDate som anger när betalningar förfaller. Det här argumentet måste vara antingen DueDate.EndOfPeriod om betalningarna förfaller i slutet av betalningsperioden eller DueDate.BegOfPeriod om betalningarna förfaller i början av perioden. Om det utelämnas DueDate.EndOfPeriod antas det.

Returer

Kapitalbeloppet för en annuitetsperiod som baseras på periodiska fasta betalningar och en fast räntesats.

Undantag

Per <=0 eller Per>NPer.

Exempel

I det PPmt här exemplet används funktionen för att beräkna hur mycket av en betalning för en viss period som är huvudkonto när alla betalningar har samma värde. Givet är räntesatsen per period (APR / 12), den betalningsperiod för vilken kapitaldelen är önskad (Period), det totala antalet betalningar (TotPmts), nuvärdet eller kapitalbeloppet för lånet (PVal), lånets framtida värde (FVal) och ett tal som anger om betalningen förfaller i början eller slutet av betalningsperioden (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

Kommentarer

En annuitet är en serie konstanta betalningar över en sammanhängande period. En annuitet kan vara ett lån (t.ex. ett huslån) eller en investering (t.ex. en plan för månatligt sparande).

Argumenten Rate och NPer måste beräknas med betalningsperioder uttryckta i samma enheter. Om till exempel Rate beräknas med hjälp av månader NPer måste även beräknas med hjälp av månader.

För alla argument representeras kontant betalning (till exempel inlåning till sparande) av negativa siffror. mottagna kontanter (t.ex. utdelningskontroller) representeras av positiva siffror.

Gäller för

Se även