Инвестор вложил в некоторый проект pv денежных единиц (д. е) и в течение последующих nper периодов это должно приносить ему платежи по pmt д. е. Пусть платежи производятся в конце (type=1) или в начале (type=0) каждого периода. Под какой процент вложены инвестором деньги?
Решение. Данная задача может быть решена с помощью встроенной в Excel функции rate(nper,per,pv,type). Строя рекурсивные аналоги rate(), будем делать это отдельно для случаев type=0 и type=1.
A. type=0. Современная стоимость всех платежей должна быть равна pv:
(31)
Преобразуем (31) к виду
(32)
На последнее соотношение можно смотреть как на декомпозицию исходной задачи с прежними платежами и процентной ставкой, nper-1 периодом и инвестициями в pv×(1+rate/100) -pmt денежных единиц. Правда, инвестиции здесь содержат неизвестный параметр rate. Далее ясно, что при nper=1
Если считать последнее из этих соотношений базой индукции, то соответствующая программа-функция могла бы выглядеть так:
(33)
где за x обозначена величина rate(nper,pmt,pv). Мы получили, что в процессе рекурсивных вызовов функция обращается к самой себе с тем же самым набором значений параметров. Ясно, что вычисления по ней не будут иметь останова. Точнее, останов будет аварийным по переполнению стека. С подобной ситуацией мы уже сталкивались при решении задачи 10. И там для выхода из создавшейся ситуации был использован прием введения дополнительного параметра. Поступим также и здесь, заменив (33) функцией:
(34)
Теперь будем искать решения x=x* уравнения
(35)
Делать это можно, например, методом дихотомии с помощью рекурсивной функции dicho() (см. (17)).
Замечание. Обратим внимание на следующее обстоятельство. При решении уравнения g(nper,pmt,pv,x) =0 с вычислениями по (34) могут появиться “посторонние корни” - значения x* º rate1(nper,pmt,pv,x*), но не являющиеся решениями исходной задачи. Поэтому все полученные корни (35) обязаны подвергнуться проверке по данным задачи, например, на выполнимость условия (31). Ограничимся рассмотрением одного примера.
Контрольный пример.
Полученное значение x=7.35616 не является решением задачи, ибо pv=320.88289¹b.
Получили решение задачи, ибо pv=320.88289=b.
B. type=1. К началу второго периода задолженность инвестору с одной стороны равна (pv-pmt) ×(1+rate/100), а с другой стороны - должна быть погашена вторым платежом pmt. Таким образом
(36)
Далее,
(37)
Последние соотношения в (36) и (37) задают соответственно базу и декомпозицию, на основе которых после введения дополнительного параметра x и построена рекурсивная функция rate2():
Все дальнейшие действия должны быть такими же, как и в случае type=0.
Дата: 2019-07-24, просмотров: 204.