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

Definice

Vrátí hodnotu určující splátku jistiny pro dané období anuity na základě pravidelných pevných plateb a pevné úrokové sazby.

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

Parametry

Rate
Double

Required. Úroková sazba za období. Například když máte půjčku na auto s roční průměrnou sazbou nákladů (RPSN) 10 procent a splácíte ji každý měsíc, sazba za období je 0,1/12 neboli 0,0083.

Per
Double

Required. Platební období v rozsahu 1 až NPer.

NPer
Double

Required. Celkový počet platebních období v anuitě. Pokud například provedete měsíční splátky čtyřleté půjčky na auto, vaše půjčka má celkem 4 x 12 (nebo 48) platebních období.

PV
Double

Required. Aktuální hodnota řady budoucích plateb nebo příjmů. Když si například půjčíte peníze na nákup auta, částka půjčky představuje současnou hodnotu pro věřitele měsíčních plateb za auto, které budete provádět.

FV
Double

Optional. Budoucí hodnota nebo peněžní zůstatek, který chcete mít po provedení konečné platby. Například budoucí hodnota půjčky je \$0, protože je její hodnota po konečné splátce. Pokud ale chcete ušetřit \50 000 dolarů za 18 let pro vzdělání vašeho dítěte, pak \$50,000 je budoucí hodnota. Pokud argument vynecháte, jako jeho hodnota se bude předpokládat 0.

Due
DueDate

Optional. Objekt typu DueDate , který určuje, kdy jsou platby splatné. Tento argument musí být buď DueDate.EndOfPeriod v případě, že jsou platby splatné na konci platebního období, nebo DueDate.BegOfPeriod pokud jsou platby splatné na začátku období. Pokud tento parametr vynecháte, DueDate.EndOfPeriod předpokládá se.

Návraty

Splátka jistiny za dané období anuity na základě pravidelných pevných plateb a pevné úrokové sazby.

Výjimky

Per <=0 nebo Per>NPer.

Příklady

Tento příklad používá PPmt funkci k výpočtu, kolik plateb za určité období je jistina, když všechny platby mají stejnou hodnotu. Jedná se o úrokovou procentní sazbu za období (APR / 12), platební období, pro které je hlavní část žádoucí (Period), celkový počet splátek (TotPmts), současnou hodnotu nebo jistinu půjčky (PVal), budoucí hodnotu půjčky (FVal) a číslo, které určuje, zda je splátka splatná na začátku nebo na konci platebního období (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

Poznámky

Anuita představuje řadu hotovostních plateb v pevné výši prováděných za určité časové období. Anuita může být půjčka (třeba hypotéka na nemovitost) nebo investice (jako je plán měsíčních úspor).

Argumenty Rate musí NPer být vypočítány pomocí platebních období vyjádřených ve stejných jednotkách. Pokud je například Rate vypočítán pomocí měsíců, NPer musí být také vypočítán pomocí měsíců.

Pro všechny argumenty je platba v hotovosti (například vklady na úspory) reprezentována zápornými čísly; přijaté hotovosti (například výplaty dividend) jsou reprezentovány kladnými čísly.

Platí pro

Viz také