Финансовые функции и рекурсия

Автор работы: Пользователь скрыл имя, 13 Марта 2013 в 19:43, реферат

Краткое описание

В электронные таблицы Excel, систему управления базами данных Access, язык программирования Visual Basic и многие другие современные компьютерные технологии встроены так называемые “финансовые функции”: fv(), pv(), pmt(), ppmt(), ipmt(), rate(), nper() и т.д. В повседневной жизни с задачами, в которых они могут быть использованы, приходится сталкиваться достаточно часто.

Содержание

Введение
Динамика вклада
Задача о величине вклада
Задача о величине вклада после снятия денег в конце каждого периода
Задача о величине вклада после внесения (снятия) денег в конце или начале каждого периода
Задача о изменяющихся процентных ставках
Задача о изменяющихся процентных ставках и величинах снимаемых денег
Дисконтирование. Инвестиции. Консолидирование
Задача о дисконтировании
Задача о инвестировании проекта
Задача о консолидировании платежей
Платежи
Задача о равных платежах в конце каждого периода
Задача о платежах с одинаковой современной стоимостью
Задача о платежах на проценты
Разные задачи
Задача о величине процентной ставки
Задача о величине процентной ставки 2
Задача о количестве периодов для расчета заемщика с банком
Задача о суммарной способности к кредитованию
Задача о минимальном количестве банков
Задача о изменении величины суммарного кредитования
Заключение
Литература

Вложенные файлы: 1 файл

Финансовые функции и рекурсия.docx

— 454.37 Кб (Скачать файл)

 

Задача о минимальном  количестве банков

 

Пусть в банк B1 внесен вклад  в S денежных единиц. Будем считать, что свободные резервы банка Bk (k=1,2,...,n-1) в результате ряда операций становятся вкладом в банк Bk+1 (k=1,2,...,n-1), а норма обязательных резервов равна p процентов. Определить минимальное  количество n системы банков Bk (k=1,2,...,n), для которых суммарная способность  к кредитованию не меньше заданной величины H.

Решение. Здесь, как и в  предыдущей задаче, не предполагается, что все банки Bk (k=1,2,...,n) различны. Поэтому фактически речь идет не о  минимальном количестве банков, обеспечивающих кредитование, не меньшее заданной величины H, а о минимальном количестве (оперативных) возвратов в банки  денег, отдаваемых в кредит. Но нам  удобней вести речь о количестве банков. Прежде всего, из общей формулы (40) вытекает, что данная задача не всегда имеет решение. При бесконечной  системе банков предельная сумма  кредитования равна L(S,p) = (SЧ100/p) Ч(1-p/100). Поэтому решать задачу можно лишь при условии H<L(S,p). Найти n можно, как  наименьшее натуральное решение  неравенства

Мы будем вычислять n с  помощью функций findn() и num():

Декомпозиция в рекурсии для findn(S,p,H) организована по величинам  оставшегося неудовлетворенным  кредита по мере увеличения числа  банков в системе.

Контрольные примеры.

 

Задача о изменении  величины суммарного кредитования

 

Пусть в банк B1 внесен вклад  в S денежных единиц. Будем считать, что свободные резервы банка Bk (k=1,2,...,n-1) в результате ряда операций становятся вкладом в банк Bk+1 (k=1,2,...,n-1), а норма обязательных резервов установлена  в p (0<p<100) процентов. Изменить ставку p так, чтобы суммарная величина кредитов, предоставляемых всеми банками, изменилась в a>0 (a№1) раз, то есть либо увеличилась в a раз при a>1, либо уменьшилась в 1/a раз при 0<a<1.

Решение. Сразу отметим, что  как и в предыдущей задаче не предполагается, что все банки Bk (k=1,2,...,n) различны. Задача, по-видимому, не всегда имеет  решение. Если решение x есть, то как  его искать? На помощь может прийти формула (40). В соответствии с ней  имеем:

Сократим обе части  этого соотношения на SЧ100 и, обозначив  правую часть через b:

для нахождения решений задачи получим уравнение:

 (41)

Последовательно преобразуем  правую часть (41):

Следовательно, если x есть решение  задачи, то его следует искать среди  действительных корней многочлена g(t) (t=x/100) степени n, где

 (42)

со следующим вектором коэффициентов:

 (43)

При этом, по смыслу задачи у  многочлена (42) на промежутке (0,1) может  быть не более одного корня t=x/100.

Таким образом, решение исходной задачи свелось к нахождению для  многочлена g(t) c коэффициентами (43) действительного  корня t: 0<t<1. Если такой корень отсутствует, то исходная задача решений не имеет, то есть, только за счет изменения текущей  процентной ставки обязательных резервов изменить суммарную величину кредитов системы коммерческих банков в a раз  не удастся. Если же корень tО(0,1) найден, то решением задачи является величина x=tЧ100. Иными словами, если назначить  процентную ставку обязательных резервов в tЧ100 процентов, то суммарная величина кредитов измениться в a раз.

Решение исходной задачи может  быть найдено с помощью функции times(n,p,a), обращающейся к следующим  рекурсивным функциям: pow(a,n), C(n,m), binom2(n,k) и finroo(v). Ниже приведено краткое описание всех этих функций.

pow(a,n) - быстрое возведение  действительного или комплексного  числа a в целую неотрицательную  степень n. Декомпозиция в рекурсии  организована с помощью дихотомии  - последовательными уменьшениями  степени в два раза, то есть  представлением a в виде:

C(n,m) - вычисление количества  сочетаний из n элементов по m элементов.  Декомпозиция в рекурсии организована  в соответствии с известной  формулой: 

binom2(n,k) - вычисление последовательности  биномиальных коэффициентов   со знаком   Декомпозиция в рекурсии организована по величине аргумента s. База рекурсии соответствует значению s=2.

finroo(v) - нахождение в векторе  v первой из компонент t, удовлетворяющей  условию (Im(t) =0) Ч(Re(t) О(0,1)). Если таковых  компонент не имеется, то возвращается  значение, равное Ґ. Декомпозиция  в рекурсии организована по  значению длины меняющегося вектора  v.

times(n,p,a) - с помощью функций  pow(), С() и binom2() находится вектор v коэффициентов (43) многочлена (42). После  этого с использованием встроенной  функции polyroots(v) отыскиваются корни  многочлена (42). При написании программы-функции  times(n,p,a) учтено утверждение критерия существования решения задачи, сформулированное ниже в виде леммы 1:

Замечание. Поскольку встроенная функция polyroots() находит значения корней приближенно, то даже при точных коэффициентах  многочлена g(t) вместо корня tО(0,1) мы можем  получить близкий к нему комплексный  корень t1 с Re(t1) О(0,1) и Im(t1) №0. Тогда функция times() сообщит об отсутствии решения  исходной задачи. Но это может быть и не так. Поэтому получение такого сообщения требует более тщательного  анализа корней многочлена (42). Например, искать требуемый вещественный корень в промежутке (0,1) с заданной степенью точности можно методом дихотомии. При этом следует исходить из следующего утверждения.

Лемма 1. Для существования  решения исходной задачи необходима и достаточна положительность свободного члена многочлена (42), то есть выполнение условия g(0) >0. Иначе это условие  можно записать в виде n>100Чb или, по-другому,

Доказательство. Необходимость. Пусть решение x исходной задачи существует. Тогда, как мы уже отмечали, его  следует искать среди действительных корней многочлена g(t) (t=x/100 О (0,1)). Нам  понадобится значение g(t) в нуле: g(0) =n-100Чb. Пусть t*О(0,1) - корень g(t). В этом случае

 (44)

Но при любом t*О(0,1) справедливо  неравенство:

 (45)

Последний переход в (45) сделан с использованием одного замечательного неравенства [13, c.24-27]:

xq - qЧx + q -1 > 0 (x > 0, q > 1),

легко устанавливаемого с  помощью методов дифференциального  исчисления и являющегося основой  для доказательства многих классических неравенств таких, например, как основные неравенства Гельдера и Минковского. Но тогда из (44) следует, что g(0) >0 и  необходимость установлена.

Достаточность. Пусть выполнено  условие g(0) >0. Подсчитаем значение функции g(t) в точке 1:

Последнее неравенство вместе с предположением g(0) >0 гарантирует  наличие у многочлена g(t) действительного  корня t*О(0,1), а значит и решения x=t*Ч100 исходной задачи. Тем самым установлена  достаточность, и лемма полностью  доказана.

Дополнение 1 к задаче 19. Пусть  банки Bk (k=1,2,...,n) функционируют так, как это описано в условиях задачи 19. Можно ли на r процентов (-100<r) изменить суммарную величину кредитов, предоставляемую банками? Если это  возможно, то найти новую ставку обязательных резервов.

Решение. Заметим, что если r>0, то величина кредитов увеличивается, а если r<0, то она уменьшается. Далее, поскольку изменение суммарной  величины кредитов на r процентов равносильно  их изменению в 1+r/100 раз, то необходимо просто решать задачу 19 c a=(1+r/100). Условие  существования решения (см. лемму 1) в данном случае запишется так:

Дополнение 2 к задаче 19. Пусть  банки Bk (k=1,2,...,n) функционируют так, как это описано в условиях задачи 19. Определить начальную процентную ставку p обязательных резервов, если её изменение до p1 процентов привело  к изменению суммарной величины кредитов в b раз.

Решение. Согласно (40)

Если считать p неизвестным, то фактически мы опять имеем задачу 19, в которой требуется лишь заменить p на p1 и a на 1/b. Условие существования  решения в данном случае запишется  так:

Завершая рассмотрение предложенного  цикла задач, отметим, что большая  часть из них допускает то или  иное естественное обобщение и развитие.

Заключение

 

Рассмотрение затронутой в этой работе проблемы сейчас очень  актуально, поэтому необходимо создание эффективных методик решения  практических задач именно с помощью  рекурсии, как одного из самых простых, понятных и наглядных методов  решения задач. Реализация же рекурсивных  алгоритмов в любой вычислительной среде достаточно очевидна, поэтому  составление обучающих программ, реализация их в виде Web-узла и публикация их в Internet является очень полезным делом  по вышеизложенным причинам. Продолжая  освоение рекурсии в рамках данного  или иного направления нелишне  помнить слова выдающегося математика и педагога Д. Пойа [12, c.13]: “Решение задач - практическое искусство, подобное плаванию, катанию на лыжах или  игре на фортепиано; научиться ему  можно, только подражая хорошим образцам и постоянно практикуясь. … Помните: если вы хотите научиться плавать, то смело входите в воду, а если хотите научиться решать задачи, то решайте их! ”. В вопросах освоения рекурсии именно так и нужно поступать. Только подражая хорошим образцам и постоянно практикуясь, можно освоить рекурсивный метод решения прикладных задач.

Литература

 

Симонов А.С. Экономика на уроках математики. М.: Школа-Пресс, 1999.

Борохов Э. Энциклопедия афоризмов (Мысль в слове). М.: изд. АСТ, 1999.

Дорофеев Г.В., Седова Е.А. Процентные вычисления. СПб.: Специальная  литература, 1997.

Доллан Э.Д., Линдсей Д.Б. Рынок. Макроэкономическая модель. СПб., 1992.

Макконнелл К.Р., Брю С.Л. Экономикс. Т.1,2. М.: Республика, 1993.

Самуэльсон П. Экономика. Т.1,2. М.: Алгон, 1992.

Фишер С. и др. Экономика. М.: Алгон, 1992.

Ланкастер П. Теория матриц. М.: Наука, 1978.

Беллман Р. Введение в теорию матриц. М.: Наука, 1969.

Добровольский Н.М., Есаян  А.Р., Пихтильков С. A., Стеценко В.Я. Об одном  вычислительном эксперименте. Межвузовский сборник статей. Ч.1-Тула: Изд-во Тул. гос. пед. ун-та, 1999.10 с.

Есаян А.Р. Фракталы и рекурсия. Учеб. пособие для студентов педвузов. - Тула, 1999. -52с.

Пойа Д. Математическое открытие. Решение задач: основные понятия, изучение и преподавание. М.: Наука, 1970.

Беккенбах Э., Беллман Р. Неравенства. М.: Мир, 1965.

Вайскопф Дж. Microsoft FrontPage 2000: учебный курс - СПб.: Питер, 2000.


Информация о работе Финансовые функции и рекурсия