Financial.PPmt(Double, Double, Double, Double, Double, DueDate) Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
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
Povinná hodnota. Úroková sazba za období Pokud například získáte úvěr na pořízení automobilu na desetiprocentní úrok (APR) a s měsíční splátkou, sazba za období je 0,1/12 neboli 0,0083.
- Per
- Double
Povinná hodnota. Platební období v rozsahu 1 až NPer
.
- NPer
- Double
Povinná hodnota. Celkový počet platebních období v anuitě. Pokud například měsíčně splácíte čtyřletou půjčku na auto, má vaše půjčka celkem 4 × 12 (nebo 48) platebních období.
- PV
- Double
Povinná hodnota. Aktuální hodnota řady budoucích plateb nebo příjmů. Například půjčíte-li si peníze na nákup automobilu, je výše úvěru aktuální hodnotou věřitele při započtení splacených měsíčních splátek.
- FV
- Double
Nepovinný parametr. Budoucí hodnota nebo peněžní zůstatek, který chcete po provedení poslední platby. Například budoucí hodnota půjčky je 0 Kč, protože toto je její hodnota po poslední splátce. Avšak pokud chcete naspořit za 18 let na vzdělání dítěte částku 500 000 Kč, je budoucí hodnotou částka 500 000 Kč. Je-li hodnota vynechána, předpokládá se hodnota 0.
- Due
- DueDate
Nepovinný parametr. 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 je vynechán, DueDate.EndOfPeriod
předpokládá se.
Návraty
Jistina pro dané období anuity založená na pravidelných pevných platbách a pevné úrokové sazbě.
Výjimky
Per
<=0 nebo Per
>NPer
.
Příklady
V tomto příkladu PPmt
se funkce používá k výpočtu toho, jak velká část platby za určité období představuje jistinu, když mají všechny platby stejnou hodnotu. Dané jsou úroková procentní sazba za období (APR / 12
), platební období, pro které je požadována jistina (Period
), celkový počet splátek (TotPmts
), současná hodnota nebo jistina půjčky (PVal
), budoucí hodnota 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 je série pevných hotovostních plateb v průběhu určitého časového období. Anuita může být půjčka (například hypotéka na dům) nebo investice (například spoření s měsíčními splátkami).
Argumenty Rate
a NPer
se musí vypočítat pomocí platebních období vyjádřených ve stejných jednotkách. Pokud se Rate
například počítá pomocí měsíců, NPer
musí se také vypočítat pomocí měsíců.
Pro všechny argumenty jsou v hotovosti zaplacené (například vklady na spoření) vyjádřeny zápornými čísly; přijaté hotovosti (například výplaty dividend) jsou vyjádřena kladnými čísly.