1 / 39

Работа с денежными потоками

Работа с денежными потоками.

myrna
Download Presentation

Работа с денежными потоками

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Работа с денежными потоками Рассмотрим модельную задачу: инвестор на протяжении n лет вкладывает в начале каждого i-ого базового периода а в конце того же периода получает доход . Текущая процентная ставка r ( или учетная ставка d). В частности. Величины P и C могут быть равны нулю. Связь текущей стоимость в момент времени , T – базовый временной период и будущей стоимостью: Можно требовать t=0, так как платежи часто осуществляются в конце периода. Также можно выписать текущую стоимость проекта в виде потока платежей Можно пересчитать будущую стоимость проекта:

  2. Функции MatLab • nvp=pvvar(cash_flow, percent, payments_date) • fv=fvvar(cash_flow, percent, payments_date) • Внутренняя доходность оценивается с помощью функции inner_income=xirr(cash_flow, payments_date, start_condition, number_iterations) • cash_flow – массив потока платежей CF • percent – процентная ставка • payments_date– даты платежей • В функции xirrпоследние два аргумента необязательные. Start_conditionдает стартовую точку для решения уравнения COF=CIF.

  3. Сложные критерии. Предыдущие критерии достаточно просты. Имеется два критерия, которые позволяют провести более точный анализ платежей. Первый – дюрацияМаколея. Второй – выпуклость. Пусть стоимость положительного потока платежей P зависит от процентной ставки r достаточно гладко. Тогда функцию P(r) можно разложить в ряд Тейлора в окрестности фиксированной точки r. После преобразований формулы Тейлора, получим формулу Здесь - модифицированная дюрация, а V(r) – выпуклость.

  4. Сложные критерии. Дюрация Модифицированная дюрация связана с дюрациейМаколея следующим соотношением Собственно дюрация выражается через параетры задачи: Она имеет смысл средневзвешенного времени полного платежа.

  5. Сложные критерии. Выпуклость. Как и дюрация, выпуклость вычисляется через параметры задачи: Момент времени, как и в дюрации, Дюрация представляет собой линейный показатель изменения цены P при изменении ставки r на . При таком изменении цена P изменяется нелинейно, но как выпуклая функция ставки. Выпуклость и показывает на сколько выпукла эта функция при малом изменении. С математической точки зрения

  6. Сложные критерии. MatLab. Для вычисления дюрации используется функция [duration, mod_duration] = cfdur(flow, income) Для вычисления выпуклости – функция convexity = cfconv(flow, income) Параметры. Аргумент flow – массив последовательных платежей. Второй – income – ставка доходности для одного периода. Выходные аргументы. Аргумент duration – дюрацияМаколея, mod_duration – модифицированная дюрация. Convexity – выпуклость. Дюрация и модифицированная дюрация имеют размерность количества периодов. Выпуклость – количество периодов в квадрате.

  7. Пример. Простые критерии. • Рассмотрим модельную задачу. Имеется два проекта на 5 лет, начиная с конца 2011 года, при текущей процентной ставке 10%. Платежи производятся в последний рабочий понедельник месяца. • Проект 1. Начальное вложение 100 млн. руб. Получение ежегодных доходов, начиная с конца второго года по 47, 53, 30 и 20 млн. руб. • Проект 2. Начальное вложение 80 млн. руб. Дополнительное вложение 40 млн. руб в начале 4-ого года. Ежегодные доходы с конца первого года по 25, 15, 20, 30 и 80 млн. руб.В последний год ожидается платеж двумя равными частями в конце каждого полугодия. • Без учета зависимости стоимости платежей от времени, то доход от каждого из этих проектов равен 50 млн. руб.

  8. Последовательное составление программы. • Составление массивов платежей. Первый проект. Cf1=[-100, 0, 47, 53, 30, 20] Второй проект. Cf2=[-80, 25, 15, -20, 30, 40, 40] • Отрицательное число означает исходящий платеж.

  9. Построение массива дат платежей. • Первый проект. >> date_flow1=[]; for i = 1:6 date_flow1 (i) = lweekdate(2, 2011 + i, 12); end • Второй проект. >> date_flow2=[]; date_flow2 = date_flow1; date_flow2(6) = lweekdate(2, 2017, 6) ; date_flow2(7) = date_flow1(6);

  10. Простые критерии. • Сравнение по критерию npv npv1 = pvvar(Cf1, 0.1, date_flow1) npv2 = pvvar(Cf2, 0.1, date_flow2) • Критерий fv: fv1 = fvvar(Cf1, 0.1, date_flow1) fv2 = fvvar(Cf2, 0.1, date_flow2) • Расчет внутренней ставки доходности (критерий IRR) int_rate1 = xirr(Cf1, date_flow1, 0.13, 100) int_rate2 = xirr(Cf2, date_fIow2, 0.13, 100)

  11. Листинг программы.

  12. Результаты >> cash_flow npv1 = 11.6828 11,5500 npv2 = 11.5804 11,4774 fv1 = 18.7847 18,6050 fv2 = 18.6199 18,4881 int_rate1 = 0.1408 0,1403 int_rate2 = 0.1434 0,1429 По первому и второму критерию первый проект предпочтительнее, чем второй. Однако по внутренней норме доходности второй лучше. Оба проекта показывают достаточно близкие значения, поэтому воспользуемся двумя оставшимися критериями для оценки. Рассчитаем дюрацию и выпуклость.

  13. Пример. Сложные критерии. Расчет поступлений. • В качестве поступлений во втором проекте следует выбирать полугодовой период, так как в нем присутствует выплата за полугодовой период. • Поэтому и в первом проекте следует выбирать полугодовой интервал.Иначе будут несоразмерные величины.

  14. Пример. Расчет дюрации и выпуклости. Cf11=[0, 0, 0, 47, 0, 53, 0, 30, 0, 20]; Cf21=[0, 25, 0, 15, 0, 0, 0, 30, 40, 40]; dur1=cfdur(Cf11, 0.1/2) cxl = cfconv(Cf11, 0.1/2) dur2 = cfdur(Cf21, 0.1/2) cx2 = cfconv(Cf21, 0.1/2)

  15. Листинг программы.

  16. Результаты. >> cash_flow1 dur1 = 6.1118 6,1118 cxl = 42.9530 42,9530 dur2 = 6.9540 6,9540 cx2 = 58.9449 58,9449 Из расчета видно, что второй поток чувствительнее, чем первый, к изменению процентной ставки (оба параметра больше). Как следствие имеет больший риск, связанный с возможными ее изменениями в период осуществления проекта. Задача. Можно было бы воспользоваться очевидным фактом, что два полугодия составляют один год и пользоваться этим при вычислении дюрации. Однако это не так: результаты будут отличаться на порядок . Проверить это для рассмотренного примера.

  17. Анализ кредитов. Функция amortize. [per_credit, per_percent, debt, payment] = amortize(rate, periods, summ, balance, moment) Первые три аргумента обязательны: rate - процентная ставка по кредиту за один период periods – полное число периодов расчета по займу summ – сумма полученных заемщиком денежных средств Два последних аргумента необязательны: moment (по умолчанию 0) – флаг, равный 1 при выплатах в начале периода и 0 – в конце balance (по умолчанию 0) – та сумма, которая остается неоплаченной, если задается отрицательное число. Или сумма, которую будет должен кредитор заемщику после погашения долга. Возвращает эта функция три массива (первые три аргумента) размерности periods и одно число: per_credit – платежи по сумме кредита за каждый период per_percent – выплаты по начисленным процентам за остаток кредита в каждый период debt – оставшийся долг после текущего платежа payment – сумма общей разовой выплаты

  18. Анализ кредитов. Другие функции. Процентную ставку позволяет вычислить функция • rate = annurate(periods, payment, summ, balance, moment) Рассчитать разовый платеж можно с помощью • payment = payper(rate, periods, summ, balance, moment) Следующая функция позволяет работать с накоплениями в банке и определить за какое время накопится в банке необходимая сумма. • periods = annuterm(rate, payment, summ, deposit, moment) • summ – сумма на начало вклада; deposit – сумма на конец вклада.

  19. Анализ кредитов. Пример. • Пусть необходимо принять решение о рассмотрении кредита в 1 млн. руб. в течении 10 лет. Процентная ставка – 20% годовых.

  20. Результаты. per_credit = 38.5228 46.2273 55.4728 66.5673 79.8808 95.8569 115.0283 138.0340 165.6408 198.7690 per_percent = 200.0000 192.2954 183.0500 171.9554 158.6420 142.6658 123.4944 100.4888 72.8820 39.7538 debt = 961.4772 915.2499 859.7772 793.2098 713.3291 617.4721 502.4438 364.4098 198.7690-0.0000 payment = 238.5228

  21. Продолжение примера.

  22. Результат Функция annurate rate1 = 0.2000 Функция payper payment1 = 238.5228 Функция annuterm periods = 7.9964

  23. Портфельный анализ рисковых активов. Основные функции портфельного анализа основаны на моделях Марковица и Тобинаи их модификациях. Вначале кратко поясним суть вопроса. В общей постановке задача портфельного инвестирования для инвестора формулируется так. Инвестор рассматривает возможность вложения капитала в некоторый набор акций (рисковых активов), выбранный им из личных соображений, и желает составить портфель ценных бумаг так, чтобы его доходность была бы наибольшей при фиксированном риске или риск был бы наименьшим при выбранной доходности портфеля. В рассматриваемой модели за меру риска принимается среднеквадратическое отклонение доходности ценных бумаг или портфеля от ее математического ожидания. На выбор портфеля влияет также отношение инвестора к риску, т. е. насколько он готов увеличить рискованность вложения с целью получить большую доходность. В простейшем случае поиск наилучшего портфеля состоит из двух шагов: построение эффективной границы Марковица с использованием функций frontcon или portopt и выбор портфеля с помощью функции portalloc в соответствии с отношением инвестора к риску и значениями процентных ставок для безрискового вложения и заимствования.

  24. Математическая постановка. Пусть инвестор рассматривает вопрос о составлении портфеля из n активов. Ожидаемые доходности которых представлены вектором y, а их ковариации – матрицей V: Сам портфель определяется вектором , компоненты которого указывают долю покупки того или иного актива, . Можно наложить дополнительное естественное условие на вектор x, означающее, что вкладываются все имеющиеся средства

  25. Математическая постановка. Продолжение. Ограничение означает, что инвестор не может осуществлять краткосрочные продажи (продавать заимствованные бумаги). Ожидаемая доходность обозначается через , а его риск (среднеквадратичное отклонение) - . Справедливы следующие формулы-определения

  26. Математическая постановка. Продолжение. II. Пусть и - наименьшая и наибольшая доходности. Тогда , и если для каждого фиксированного значения доходности y построить график , то получится кривая. называемая пулей Марковица. Часть этой кривой является эффективной границей. Каждой точке на эффективной границе соответствует эффективный портфель в смысле седловой точки.

  27. Построение эффективной границы. Итак, инвестор определился с доходностями и рисками по каждому вложению. Он построил матрицу коэффициентов корреляции между этими активами. MatLabв расчетах пользуется матрицей ковариаций. Переход к этой матрице осуществляется при помощи функции MatrCov = corr2cov(Disp,MatrCorr) Здесь Disp – вектор среднеквадратичных отклонений. Необходимо отметить, что матрица корреляции должна быть симметричной и положительно определенной. В MatLabнет проверки на эти условия, поэтому в случае ошибки можно получить неправдоподобные результаты.

  28. Построение эффективной границы. II [Prisk, Pincome, Pparts] = portopt(Aincome, Acov, Pnumber, PNincome, borders) Функция имеет два обязательных аргумента: Aincome и Acov – вектор доходностей и матрицу ковариаций. Параметры Pnumber, Pnincome задают разбиение интервала . . Если задан один из них, то второй должен быть пустым. Определяют количество портфелей. Параметр borders задает ограничения на неизвестные x. Выходные параметры – вектор рисков для каждого портфеля, вектор ожидаемых доходностей портфеля и матрица, в которой каждая строка – доли активов в портфеле.

  29. Построение ограничений. Как правило ограничения имеют следующий вид . Однако в MatLab можно задавать и более сложные ограничения. Делается это с помощью функции borders = portcons(‘type’, data1, data2, ... , dataN) • Default. Стандартные ограничения , . Передается один параметр – число активов. • AssetLims. Ограничения на активы. Передается два обязательных аргумента: первый – вектор L, второй – вектор U. Один необязательный аргумент – число активов. • Custom. Произвольные ограничения . Передается два обязательных аргумента. Первый – матрица A размерности число ограничений на число активов. Второй – вектор b.

  30. Выбор оптимального портфеля. Построение эффективной границы дает инветору множество эффективных портфелей. Из них выбирается тот, который наилучше отражает его отношение к риску: чем выше доходность, тем выше риск. MatLab использует функцию предпочтения Неймана-Монгерштерна Здесь a – индекс неприятия риска.

  31. Выбор оптимального портфеля. II Уравнение U=const описывает кривую безразличия. Инвестор стремится максимизировать функцию U на множестве допустимых портфелей. Поэтому оптимальным будет тот портфель, который отвечает точке касания эффективной границы и кривой безразличия.

  32. Выбор оптимального портфеля. III Необходимо учесть, что MatLab позволяет использовать модифицированную модель инвестирования. Инвестор может вкладывать средства в безрисковый актив с процентной ставкой Или брать заем по ставке Таким образом к эффективной границе присоединяется в соответствующих точках касания две прямых – безрисковая и кредитная. Эти точки касания определяют еще два пакета, называемые касательными. Из условия касания можно определить коэффициент вложения средств в этот актив Здесь - риск для найденной точки на эффективной границе, а - риск соответствующего касательного пакета.

  33. Средства MatLab для выбора оптимального портфеля [Frisk, Fincome, Fparts, coef, Optrisk, Optincome]=portalloc(Prisk, Pincome, Pparts,…, NRalloc, NRpercent, Index) Первые три входящих аргумента – те, которые были посчитаны с помощью функции portopt. NRalloc, NRpercent – размер вложения и процентная ставка безрискового вложения. Index – индекс неприятия риска. Чем выше, тем меньший риск выбирается. Рекомендуется: 4 – для осторожного инвестора, 2 – для рискового. Frisk, Fincome, Fparts – риск, доходность, доли касательного портфеля Coef – коэффициент вложения средств в касательный актив Optrisk, Optincome – риск и доходность оптимального портфеля. Если вызвать функцию без указания выходных параметров, то тогда будет начерчен график.

  34. Пример.

  35. Результат выполнения. Prisk = 0.0805 0.0850 0.0985 0.1230 0.2050 Pincome = 0.1317 0.1465 0.1613 0.1762 0.1910 Pparts = 0.5747 0 0.0487 0.2336 0 0.1430 0.3381 0 0.2988 0.0599 0 0.3032 0.1069 0 0.4386 0 0.0442 0.4102 0 0 0.2955 0 0.2357 0.4688 0 0 0 0 0 1.0000

  36. Пример. Продолжение.

  37. Результат выбора оптимального портфеля. Нерисковый и рисковый случаи.

  38. Результат. II portalloc with output parametrs. No risk. Frisk = 0.1013 Fincome = 0.1641 Fparts = 0.0870 0 0.4120 0 0.0798 0.4211 coef = 2.2908 Optrisk = 0.2321 Optincome = 0.2855 portalloc with output parametrs. With risk. Frisk = 0.1013 Fincome = 0.1641 Fparts = 0.0870 0 0.4120 0 0.0798 0.4211 coef = 4.5816 Optrisk = 0.4643 Optincome = 0.5011

  39. Финальный анализ. Наиболее интересным является значения коэффициента coef. Случай, когда он меньше единицы. Это указывает, что инвестору следует вложить долю средств coef в касательный актив, а остальное – в безрисковый. Случай, когда он больше единицы. Это означает, что следует взять заем на долю coef-1 и вложить полученный кредит в касательный портфель.

More Related