Финансовый пакет maple

Федеральное агентство по образованию

Южно-Уральский  государственный университет

Кафедра прикладной математики 
 

КУРСОВОЙ  ПРОЕКТ

По  дисциплине «Вычислительная математика»

на  тему: «Финансовый пакет Maple» 
 
 
 

                Выполнила :Гиматова И.Ш.

                .    .

                Дата  «___» «                                 »2011 г.

                Проверил

                                                          Васильев Ю.С.

                Дата  «___» «                                 »2011 г.

                Оценка________________ 
                 
                 
                 
                 
                 
                 
                 
                 
                 
                 

Челябинск 2011

 

Содержание

 
  1. Введение
  2. Основные характеристики Maple
  3. Финансовый пакет Maplе
    1. Характеристика пакета finance
    2. Основные функции финансового пакета.
  4. Заключение
  5. Литература
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Введение.

Целью работы - познакомиться с  Maple,  в частности с пакетом финансово-экономических вычислений finance, разобрать все функции которые входят в этот пакет при помощи примеров.

                   

   2. Основные характеристики пакета Maple

Система Maple предназначена для символьных вычислений, хотя имеет ряд средств и для численного решения дифференциальных уравнений и нахождения интегралов. Обладает развитыми графическими средствами.

Встроенные в  Maple пакеты позволяют выполнять математические построения и преобразования, начиная от элементарной математики и заканчивая общей теорией относительности.  

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

В Maple включены пакеты подпрограмм для решения задач линейной и тензорной алгебры, Евклидовой и аналитической геометрии, теории чисел, теории вероятностей и математической статистики, комбинаторики, теории групп, интегральных преобразований, численной аппроксимации и линейной оптимизации (симплекс метод), а также задач финансовой математики и многих, многих других задач. 

Главным достоинством системы Maple является ее способность выполнять арифметические действия. При работе с дробями и корнями они не приводятся в процессе вычисления к десятичному виду, что позволяет избежать ошибок при округлении. При необходимости работы с десятичными эквивалентами в системе Maple имеется команда, аппроксимирующая значение выражения в формате чисел с плавающей запятой. 

Система Maple вычисляет конечные и бесконечные суммы и произведения, выполняет вычислительные операции с комплексными числами, легко приводит комплексное число к числу в полярных координатах, числовые значения элементарных функций, а также многих специальных функций и констант.  

Maple имеет также множество мощных инструментальных средств для вычисления выражений с одной и несколькими переменными. Систему Maple можно использовать для решения задач дифференциального и интегрального исчисления, вычисления пределов, разложений в ряды, суммирования рядов, умножения, интегральных преобразований (таких как преобразование Лапласа, Z-преобразование, преобразование Меллина или Фурье), непрерывных или кусочно-непрерывных функций. 

Maple представляет собой один из наиболее мощных математических пакетов Его возможности охватывают достаточно много разделов математики и могут с пользой применяться на разных уровнях, включая и уровень серьезных научных исследований. 

Работать с  ним можно как в режиме интерактивного диалога, так и путем составления  и отладки программ на специальном  Maple-языке, ориентированном на сложные математические вычисления. 

Основу пакета составляет специальное ядро - программа  символьных преобразований. Кроме того, имеется несколько тысяч специальных  функций, хранящихся в подгружаемых к ядру пакетах и библиотеках

Maple умеет не только вычислять, но и обладает богатыми возможностями графического представления математических объектов и процессов. 

В самом общем  смысле Maple - это среда для выполнения математических расчетов на компьютере. Maple может решать большое количество математических задач путем введения команд, без всякого предварительного программирования. Кроме того, Maple может оперировать не только приближенными числами, но и точными целыми и рациональными числами. Это позволяет получить ответ с высокой, в идеале с бесконечной, точностью.Но, что самое важное, решение задач может быть получено аналитически, то есть в виде формул, состоящих из математических символов.  

Программа достаточно легко осваивается, удобна в работе, так что ее может использовать даже школьник или студент для  простых расчетов или для освоения математики. В то же время программа  обладает настолько обширным набором  функций и вычислительных средств, что она с успехом может  быть применена для профессиональной работы в области математики и  смежных дисциплин.

 

  1. Финансовый пакет Maple.
 
    1. Характеристика  пакета finance
 

Для финансовых расчетов предназначен программный  пакет finance. C его помощью можно вычислять текущую и накопленную сумму ежегодной ренты, совокупную ежегодную ренту, сумму пожизненной ренты, совокупную пожизненную ренту, и процентный доход на облигации. Более того, этот пакет также поможет в расчете дохода, получаемого до срока погашения облигации. Вы можете строить таблицу амортизации, определять реальную сумму ставки для сложных процентов и вычислять текущее и будущее фиксированное количество для конкретной ставки сложных процентов

Пакет финансово-экономических  расчетов открывается командой:  

> with(finance)

Этот пакет  представлен рядом указанных  выше функций в двух формах:

function(args)

finance[function](args).

Следующие функции  вычисляют текущую стоимость  различных финансовых объектов.

annuity для рент с постоянными выплатами 
cashflows для выплат, меняющихся от периода к периоду 
growingannuity для рент с возрастающими выплатами 
growingperpetuity бессрочные ренты с возрастающими выплатами 
levelcoupon для стоимости облигации 
perpetuity вычисляет текущее значение пожизненной ренты 
 

Другие функции  включают

amortization таблицы амортизационного списания 
blackscholes формула Блэка и Фоуэлза 
effectiverate рост процентной ставки при многократном вложении за период 
futurevalue будующая величина суммы 
presentvalue настоящая величина суммы 
yieldtomaturity доход от ценной бумаги при ее погашении

 
 
 
 
 

    1. Основные  функции финансового пакета.
 

Annuity - функция предназначена для вычисления финансовой ренты с постоянными выплатами.

Ряд последовательных финансовых платежей, производимых через  равные промежутки времени, называются финансовой рентой, или аннуитетом. Это частный случай потока платежей, все члены которого - положительные  величины. Примерами аннуитета могут  быть регулярные взносы в пенсионный или другие фонды, выплаты процентов по ценным бумагам, например, по акциям и т.д.

Синтаксис:

annuity (cash,rate,nperiods);

cash - величина каждого отдельного платежа;

rate- процентная ставка для расчета наращения или дисконтирования платежей;

nperiods - числом периодов n, время от начала реализации ренты до момента последнего платежа;

 

Формула для расчета величины ренты:

Cash(1/rate-1/rate*(1+rate)^nperiods)

Пример : 

Рассматриваются два варианта покупки дома: заплатить сразу 99 млн. руб. или платить в рассрочку по 940 тыс. ежемесячно в течении 15 лет. Определить, какой вариант предпочтительнее, если ставка процента - 8% годовых. 

Решение аналитическое:

A = R*(1 − (1 + j/m)−nm)/j/m= 940*(1 − (1 + 0, 08/12)−12·15/0, 08/12

= 98362, 16 тыс. руб. 

Решение.Maple:

annuity(940,0.08/12,15*12);

ответ: 98362.16 
 
 
 
 
 
 
 
 
 

growingannuity – функция аналогичная annuity , но для рент с возрастающими выплатами, т. е. платежи годовой ренты изменяются с постоянным темпом роста. 
 

Синтаксис: 

growingannuity(cash, rate, growth, nperiods)  

cash - величина каждого отдельного платежа;

rate- процентная ставка для расчета наращения или дисконтирования платежей;

growth- темп роста платежей;

nperiods - числом периодов n, время от начала реализации ренты до момента последнего платежа;  

Формула для  расчета ренты с возрастающими  выплатами: 

 

Пример:

Платежи образуют регулярный во времени поток, первый член которого равен 15 млн. руб., а последующие  каждый год увеличиваются на 12%. Начисление процентов производится по 20% годовых. Срок выплат 10 лет.

Решение: 

. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

perpetuity вычисляет текущее значение вечной ренты

Вечная годовая  рента представляет собой ренту, последовательность поступлений в которой неограниченна (предполагается, что платежи будут поступать неограниченно долго). Величина, полученная в результате наращения такой ренты, также будет бесконечной. Примерами такой ренты являются выплаты дивидендов по привилегированным акциям с фиксированной ставкой дивиденда и неопределённым сроком выпуска, купонов по облигациям без погашения (или с очень большими сроками до погашения).

синтаксис

perpetuity(cash, rate)  

cash - величина каждого отдельного платежа;

rate- процентная ставка для расчета наращения или дисконтирования платежей; 

формула для  расчета:

Текущая стоимость бессрочного аннуитета (вечной ренты при бесконечно большом сроке n) есть сумма всех членов бесконечно убывающей геометрической прогрессии со знаменателем 1/(1+R), которая при R < –2 или R > 0 сходится.

Пример:

Допустим, что  вы хотите положить на банковский счёт некоторую сумму денег, чтобы в течение жизни снимать оттуда по 500 тысяч рублей. Номинальная процентная ставка по вкладу составляет 8%. . 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

growingperpetuity – функция аналогична perpetuity, но с возрастающими выплатами. 

Синтаксис:

growingperpetuity(cash, rate, growth)  

cash - величина каждого отдельного платежа;

rate- процентная ставка для расчета наращения или дисконтирования платежей;

growth- темп роста платежей;

Пример:

Предположим, что  вы купили акции компании. Вы ожидаете, что первые выплаты дивидендов в размере $ 235 через год, и эти платежи по которой ожидаются расти % Годовых, продолжая бесконечно. Денег стоит 7,5%. Следующая команда определяет текущую стоимость этих выплат.  
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Cashflows- функция предназначена для вычисления общей суммы вклада выплаты, которых меняются от периода к периоду 

Синтаксис:

cashflows(flows, rate)

flows –список вложений

rate- процентная ставка для расчета наращения или дисконтирования платежей;

Формула вычисления:

 

пример:

Предположим, вы хотите найти доход, ожидаемый от проекта. В конце первого года, проект принесет $ 200 дохода, во втором и третьем годах $ 150 и $ 100 соответственно. Процентная ставка альтернативной стоимости капитала равна 7,8%.

cashflows ([200, 150, 100], 0,078);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

effectiverate -вычисление эффективной ставки. 

Эффективная ставка показывает, какая годовая ставка сложных процентов дает тот же финансовый результат, что и m -разовое наращение в год по ставке j/m.. Если проценты капитализируются m раз в год, каждый раз со ставкой j/m, то связь между эффективной и номинальной ставками выражается соотношением: 

где iэ – эффективная ставка, а j – номинальная.  

Синтаксис: 

effectiverate(stated_rate, nperiods)  

stated_rate -номинальная годовая ставка

nperiods - число периодов n. 

Пример: 

Ставка банка  по срочным валютным депозитам составляет 18% годовых. Определить реальную доходность вклада (т.е. эффективную ставку), если проценты выплачиваются ежемесячно. 

Решение. effectiverate(0.18,12); 19,6%. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

futurevalue - вычисление будущего значения вклада.  

  

Синтаксис: 

futurevalue(amount, rate, nperiods) 

amount- начальном вложении

rate -проценте начисления

nperiods числе периодов

формула сложных процентов

Пример: 

Какая сумма  окажется на счете, если 27 тыс. руб. положены на 33 года под 13,5% годовых? Проценты начисляются каждые полгода.

Решение аналитическое: 

S = 27(1 + 0, 135/2)66 = 2012, 07 тыс. руб 

Решение maple: 

 futurevalue(27,0.135/2,66); 2012.07 тыс. руб 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

presentvalue -вычисление начального вклада, для получения суммы amount при проценте начислений rate и числе вкладов nperiods 
 

Синтаксис: 

presentvalue(amount, rate, nperiods)

amount –сумма, желаемая для получения.

rate- процент начислений

nperiods- число вкладов 
 

формула для  вычисления: 

 

Пример:

Определить сумму  вклада, который надо положить сроком на 2 месяца под 10% годовых, чтобы к концу срока получить 101667 руб. 

Решение.

presentvalue(101667,0.1*2/12,1); 100000.33 руб. 

. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

amortization –функция позволяет строить таблицы амортизационного списания

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

Синтаксис:

amortization(amount, payments, rate, nperiods)

    amount- Сумма кредита

    payments- размер платежей

    rate- процентная ставка

nperiods - максимальное количество платежей (по умолчанию = бесконечность). Останавливается, когда баланс достигает 0.

Пример:

Долг в размере $ 100 с процентной ставкой 10% годовых будет амортизироваться по платежам в размере $ 50 в конце каждого года до тех пор, пока не обнулится.

      ammortization(100, 50, 0.10);
     
      
 
    > amortization_table [п, оплата, проценты, главный, Баланс] = матрица ([1]);
     
     

    .

Первый столбец матрицы -  номер платежа. Второй столбец показывает плату за соответствующий период времени. Третий столбец - сколько идет на погашение процентов, а четвертая - на погашение основного платежа. Последний столбец это непогашенный остаток долга. 
 
 

Blackscholes-функция вычисляет текущую стоимость опциона по модели Блэка-Шоулза. 

Опцион - это  контракт, который дает владельцу  право купить или продать актив  по установленной цене в определенный период времени. 

 формула Блэка и Шоулза позволяет получить справедливую величину премии, уплачиваемой за опцион.

C - теоретическая премия по опциону. 
 
S - текущая цена базовых акций 
 
t - время, остающееся до срока истечения опциона, выраженное как доля года (количество дней до даты истечения/365 дней) 
 
К - цена исполнения опциона (цена страйк). 
 
r - процентная ставка по безрисковым активам 
 
N(x) - кумулятивное стандартное нормальное распределение 
 

s - годовое стандартное отклонение цены базовых акций ( волатильность). Рассчитывается через умножение стандартного отклонения цены за несколько дней на квадратный корень из 260 (количество торговых дней в году).

 Первая часть, SN(d1), отражает ожидаемую прибыль  от покупки самих базовых акций. 

Вторая часть  модели, , дает приведенную стоимость цены исполнения (цены страйк) на дату истечения опциона.  

Синтаксис:

 
blackscholes(amount, exercise, rate, nperiods, sdev, hedge)  

amount- текущая цена акции

 exercise- Цена исполнения опциона  

 rate- безрисковая процентная ставка за период

 nperiods число периодов  

 sdev-стандартного отклонения за период непрерывного возвращения на фондовом  

hedge-коэффициент хеджирования 
 

Пример:

Рассчитать теоретическую  стоимость опциона колл на фьючерсный контракт на курс фондового индекса  S&P500, если известны следующие начальные условия: дата исполнения контракта 21 мая 1999г. Текущая дата-15 апреля 1999 год. Страйк равен 1325. Цена фьючерсного контракта в момент покупки опциона равна=1323. Безрисковая ставка-10%, внутренняя волотивность-17.43. 

Blacksholes(1323,1325,0.10,36/365,0.1743)

34.68572108 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

levelcoupon рассчитывает текущую стоимость одной облигации.

Облига́ция— эмиссионная долговая ценная бумага, владелец которой имеет право получить от эмитента облигации в оговоренный срок её номинальную стоимость деньгами или в виде иного имущественного эквивалента.

Формула определения  текущей стоимости облигации  имеет следующий вид:

, где

PVобл — текущая стоимость облигаций, ден. ед.; 
Y - годовые процентные выплаты, определяющиеся номинальным процентным доходом (купонной ставкой); 
r — требуемая норма доходности, %; 
М — номинальная стоимость облигации (сумма, выплачиваемая при погашении облигации), ден. ед.; 
n — число лет до моммента погашения.

Синтаксис:

levelcoupon(face, rate, couponrate, maturity)

face-номинальная стоимость облигации

rate-процентаня ставка

couponrate-норма доходности или купонная процентня ставка

 maturity-срок погашения

Пример. Необходимо определить текущую стоимость облигации с оставшимся сроком до погашения 6 лет, номинальной стоимостью 100000 руб., приносящей 6%-ный купонный доход при требуемом уровне доходности 10%.

    levelcoupon(100000,0.10,0.06,6) 
     
     
     
     
     
     

Yieldtomaturity-вычисляет доход от ценной бумаги при ее погашении.