Aracılığıyla paylaş


Financial.PPmt(Double, Double, Double, Double, Double, DueDate) Yöntem

Tanım

Dönemsel sabit ödemelere ve sabit faiz oranına göre belirli bir yıllık ödeme dönemi için ana para ödemesini belirten bir değer döndürür.

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

Parametreler

Rate
Double

Gereklidir. Dönem başına faiz oranı. Örneğin, yüzde 10 yıllık faiz oranıyla (APR) bir otomobil kredisi alır ve aylık ödemeler yaparsanız, dönem başına faiz 0,1/12 veya 0,0083 olur.

Per
Double

Gereklidir. 1 ile NPerarasında ödeme dönemi.

NPer
Double

Gereklidir. Ödemedeki toplam ödeme dönemi sayısı. Örneğin, dört yıllık araba kredisi üzerinden aylık ödemeler yapıyorsanız, kredinizin toplam 4 x 12 (veya 48) ödeme dönemi vardır.

PV
Double

Gereklidir. Gelecekteki bir dizi ödemenin veya makbuzun geçerli değeri. Örneğin, bir araba satın almak için borç aldığınızda, borç miktarı, borç verene yapacağınız aylık araba ödemelerinin mevcut değeridir.

FV
Double

İsteğe bağlı. Son ödemeyi yaptıktan sonra istediğiniz gelecekteki değer veya nakit bakiyesi. Örneğin, son ödemeden sonraki değeri olduğundan, bir borcun gelecekteki değeri 0 TL'dir. Ancak, çocuğunuzun eğitimi için 18 yıl üzerinden 50.000 TL tasarruf yapmak istiyorsanız, 50.000 TL gelecekteki değer olur. Atlanırsa, 0 olduğu varsayılır.

Due
DueDate

İsteğe bağlı. Ödemelerin ne zaman ödendiğini belirten tür DueDate nesnesi. Bu bağımsız değişken, ödemeler ödeme döneminin sonunda yapılacaksa veya DueDate.BegOfPeriod ödemeler dönemin başında yapılacaksa olmalıdırDueDate.EndOfPeriod. Atlanırsa, DueDate.EndOfPeriod varsayılır.

Döndürülenler

Dönemsel sabit ödemeler ve sabit faiz oranı temelinde belirli bir yıllık ödeme dönemi için ana para ödemesi.

Özel durumlar

Per<=0 veya Per>NPer.

Örnekler

Bu örnekte, tüm ödemeler eşit değere PPmt sahip olduğunda belirli bir dönem için ödemenin ne kadarının ana para olduğunu hesaplamak için işlevini kullanır. Dönem başına faiz yüzdesi oranı (APR / 12), anapara kısmının istendiği ödeme dönemi (), toplam ödeme sayısı (PeriodTotPmts), kredinin bugünkü değeri veya anaparası (PVal), kredinin gelecekteki değeri ( ve ödemenin ödeme döneminin başında mı yoksa sonunda mı ödeneceğini gösteren bir sayıdırFVal (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

Açıklamalar

Yıllık taksit, bir dönem içinde yapılan bir dizi sabit nakit ödemelerdir. Bir yıllık taksit, bir kredi (örneğin, bir ev ipotek) veya (örneğin aylık tasarruf planı) yatırım olabilir.

ve NPer bağımsız değişkenleri, Rate aynı birimlerde ifade edilen ödeme dönemleri kullanılarak hesaplanmalıdır. Örneğin, aylar kullanılarak hesaplanıyorsa Rate , NPer aylar kullanılarak da hesaplanmalıdır.

Tüm bağımsız değişkenler için ödenen nakit (tasarrufa yatırılan paralar gibi) negatif sayılarla temsil edilir; alınan nakit (kar payı çekleri gibi) pozitif sayılarla temsil edilir.

Şunlara uygulanır

Ayrıca bkz.