Функция PV
Обновлен: Ноябрь 2007
Возвращает значение типа Double, определяющее текущее значение аннуитета на основе фиксированных периодических платежей и постоянной процентной ставки.
Function PV( _
ByVal Rate As Double, _
ByVal NPer As Double, _
ByVal Pmt As Double, _
Optional ByVal FV As Double = 0, _
Optional ByVal Due As DueDate = DueDate.EndOfPeriod _
) As Double
Параметры
Rate
Обязательный. Double определяет процентную ставку за период. Например, при взятии ссуды на автомобиль под годовую процентную ставку (APR) размером 10% с ежемесячными выплатами ставка за период будет равна 0,1/12 или 0,0083.NPer
Обязательный.Double задает общее количество периодов платежей аннуитета. Например, при ежемесячных выплатах ссуды за автомобиль на протяжении 4 лет количество периодов выплат будет равно 4 * 12 (или 48).Pmt
Обязательный параметр. Значение типа Double, определяющее платеж за каждый период. Обычно платежи состоят из суммы основного долга и процентов, которые не изменяются на протяжении периода действия аннуитета.FV
Необязательный параметр. Значение типа Double, задающее необходимую будущую стоимость или остаток после уплаты последнего платежа. Например, будущая стоимость ссуды равна 0 р., поскольку такова будет ее величина после последней выплаты. Однако если требуется собрать за 18 лет сумму в 1 500 000р. на образование детям, то будущая стоимость будет равна 1 500 000 р. Если этот аргумент опущен, используется значение 0.Due
Необязательный. Объект типа Перечисление DueDate, задающий сроки выплат. Этот аргумент должен быть либо DueDate.EndOfPeriod, если выплаты должны производиться в конце периода, либо DueDate.BegOfPeriod в случае оплаты в начале периода. Если аргумент опущен, используется DueDate.EndOfPeriod.
Заметки
Аннуитет представляет собой серию периодических фиксированных денежных выплат. Аннуитет может быть или платежом по ссуде (например, в случае ипотеки), или вкладом (как в случае ежемесячного планирования сбережений).
Аргументы Rate и NPer должны рассчитываться с использованием периодов платежей, выраженных в одинаковых единицах. Например, если Rate рассчитывается помесячно, то так же должен рассчитываться и NPer.
Для всех аргументов выплаченные суммы (например сберегательные депозиты) обозначаются отрицательными числами, а полученные (например чеки на дивиденды) — положительными.
Пример
В этом примере функция PV возвращает текущее значение аннуитета в размере 30 000 000 р., который будет распределен на 20 лет частями по 1 500 000 р. ежегодно. Предоставляется ожидаемая годовая процентная ставка (APR), общее число платежей (TotPmts), размер каждого платежа (YrIncome), общая будущая стоимость вклада (FVal) и число, определяющее, сделана ли каждая выплата в начале или конце периода оплаты (PayType). Обратите внимание, что YrIncome является отрицательным числом, поскольку является суммой, выплачиваемой ежегодно из аннуитета.
Sub TestPV()
' Define money format.
Dim Fmt As String = "###,##0.00"
' Annual percentage rate.
Dim APR As Double = 0.0825
' Total number of payments.
Dim TotPmts As Double = 20
' Yearly income.
Dim YrIncome As Double = 50000
' Future value.
Dim FVal As Double = 1000000
' Payment at beginning of month.
Dim PayType As DueDate = DueDate.BegOfPeriod
Dim PVal As Double = PV(APR, TotPmts, -YrIncome, FVal, PayType)
MsgBox("The present value is " & Format(PVal, Fmt) & ".")
End Sub
Требования
Пространство имен: Microsoft.VisualBasic
**Модуль:**Financial
**Сборка:**Visual Basic (библиотека времени выполнения, в Microsoft.VisualBasic.dll)