Понимание структуры термина процентной ставки

Введение

Структура термина процентной ставки представляет эволюцию процентных ставок в течение времени. В MATLAB®, среда процентной ставки инкапсулируется в структуре под названием RateSpec (спецификация уровня). Эта структура содержит всю информацию, запрошенную, чтобы полностью идентифицировать эволюцию процентных ставок. Несколько функций, включенных в программное обеспечение Financial Instruments Toolbox™, выделены созданию и управлению RateSpec структура. Многие другие берут эту структуру в качестве входного параметра, представляющего эволюцию процентных ставок.

Перед рассмотрением далее RateSpec структура, исследуйте три функции, которые обеспечивают ключевую функциональность для работы с процентными ставками: disc2rate, его противоположное, rate2disc, и ratetimes. Первые две функции сопоставляют между коэффициентами дисконтирования и процентными ставками. Третья функция, ratetimes, вычисляет эффект термина изменяется на процентных ставках.

Процентные ставки по сравнению с коэффициентами дисконтирования

Коэффициентами дисконтирования являются коэффициенты, обычно раньше находил текущее значение будущих потоков наличности. По сути, существует прямое отображение между уровнем, применимым к промежутку времени и соответствующим коэффициентом дисконтирования. Функция disc2rate преобразует коэффициенты дисконтирования для данного термина (период) в процентные ставки. Функция rate2disc делает противоположное; это преобразует процентные ставки, применимые к данному термину (период) в соответствующие коэффициенты дисконтирования.

Вычисление коэффициентов дисконтирования от уровней

Как пример, рассмотрите эти пересчитанные на год уровни облигации с нулевым купоном.

От

К

Уровень

15 февраля 2000

15 августа 2000

0.05

15 февраля 2000

15 февраля 2001

0.056

15 февраля 2000

15 августа 2001

0.06

15 февраля 2000

15 февраля 2002

0.065

15 февраля 2000

15 августа 2002

0.075

Чтобы вычислить коэффициенты дисконтирования, соответствующие этим процентным ставкам, вызвать rate2disc использование синтаксиса

Disc = rate2disc(Compounding, Rates, EndDates, StartDates, 
ValuationDate)

где:

  • Compounding представляет частоту, на которой нулевые уровни составлены, когда пересчитано на год. В данном примере примите это значение, чтобы быть 2.

  • Rates вектор из годовых процентных ставок, представляющих процентную ставку, применимую к каждому временному интервалу.

  • EndDates вектор из дат, представляющих конец каждого термина процентной ставки (период).

  • StartDates вектор из дат, представляющих начало каждого термина процентной ставки.

  • ValuationDate дата наблюдения, для которого вычисляются коэффициенты дисконтирования. В этом конкретном примере используйте 15 февраля 2000 в качестве начинающейся даты всех терминов процентной ставки.

Затем установите переменные в MATLAB.

StartDates = ['15-Feb-2000'];
EndDates  = ['15-Aug-2000'; '15-Feb-2001'; '15-Aug-2001';... 
'15-Feb-2002'; '15-Aug-2002'];
Compounding = 2;
ValuationDate = ['15-Feb-2000'];
Rates = [0.05; 0.056; 0.06; 0.065; 0.075];

Наконец, вычислите коэффициенты дисконтирования.

Disc = rate2disc(Compounding, Rates, EndDates, StartDates,... 
ValuationDate)
Disc =

    0.9756
    0.9463
    0.9151
    0.8799
    0.8319

Путем добавления четвертого столбца в таблицу уровней (см. Вычисление Коэффициентов дисконтирования от Уровней), чтобы включать соответствующие скидки, вы видите эволюцию коэффициентов дисконтирования.

От

К

Уровень

Скидка

15 февраля 2000

15 августа 2000

0.05

0.9756

15 февраля 2000

15 февраля 2001

0.056

0.9463

15 февраля 2000

15 августа 2001

0.06

0.9151

15 февраля 2000

15 февраля 2002

0.065

0.8799

15 февраля 2000

15 августа 2002

0.075

0.8319

Дополнительный фактор времени Выходные параметры

Функциональный rate2disc опционально возвращает два дополнительных выходных аргумента: EndTimes и StartTimes. Эти векторы из факторов времени представляют даты начала и даты окончания в скидке периодические модули. Шкала этих модулей определяется значением входной переменной Compounding.

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

[Disc, EndTimes, StartTimes] = rate2disc(Compounding, Rates,... 
EndDates, StartDates, ValuationDate);

Расположите эти два вектора в единый массив для более легкой визуализации.

Times = [StartTimes, EndTimes]
Times =

     0     1
     0     2
     0     3
     0     4
     0     5

Поскольку дата оценки равна дате начала всех периодов, StartTimes вектор состоит из 0s. Кроме того, начиная со значения Compounding 2, уровни раз в полгода составляются, который устанавливает модули периодической скидки к шести месяцам. Векторный EndDates состоит из дат, разделенных интервалами шести месяцев с даты оценки. Это объясняет почему EndTimes вектор является прогрессией целых чисел от 1 до 5.

Альтернативный синтаксис (rate2disc)

Функция rate2disc также вмещает альтернативный синтаксис, который использует периодические дисконтные модули вместо дат. Поскольку отношение между коэффициентами дисконтирования и процентными ставками основано на периодах времени а не в абсолютные даты, эту форму rate2disc позволяет вам работать непосредственно с периодами времени. В этом режиме дата оценки соответствует 0, и векторы StartTimes и EndTimes используются в качестве входных параметров вместо их эквивалентов даты, StartDates и EndDates. Этот синтаксис для rate2disc :

Disc = rate2disc(Compounding, Rates, EndTimes, StartTimes)

Используя, как введено StartTimes и EndTimes векторы вычислили ранее, необходимо получить предыдущие результаты для коэффициентов дисконтирования.

Disc = rate2disc(Compounding, Rates, EndTimes, StartTimes)
Disc =

    0.9756
    0.9463
    0.9151
    0.8799
    0.8319

Вычисление уровней от скидок

Функция disc2rate дополнение к rate2disc. Это находит уровни применимыми к набору соединения периодов, учитывая коэффициент дисконтирования в те периоды. Синтаксис для того, чтобы вызвать эту функцию:

Rates = disc2rate(Compounding, Disc, EndDates, StartDates, 
ValuationDate)

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

Rates = disc2rate(Compounding, Disc, EndDates, StartDates,... 
ValuationDate)
Rates =

    0.0500
    0.0560
    0.0600
    0.0650
    0.0750

Альтернативный синтаксис (disc2rate)

Как в случае rate2disc, disc2rate опционально возвращает StartTimes и EndTimes векторы, представляющие времена начала и конца, измеренные в скидке периодические модули. Снова, работая с теми же значениями как прежде, необходимо получить те же числа.

[Rates, EndTimes, StartTimes] = disc2rate(Compounding, Disc,... 
EndDates, StartDates, ValuationDate);

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

Result = [StartTimes, EndTimes, Rates]
Result =

         0    1.0000    0.0500
         0    2.0000    0.0560
         0    3.0000    0.0600
         0    4.0000    0.0650
         0    5.0000    0.0750

Как с rate2disc, отношение между уровнями и коэффициентами дисконтирования определяется периодами времени а не абсолютными датами. Так, альтернативный синтаксис для disc2rate временные векторы использования вместо дат, и это принимает, что дата оценки соответствует времени = 0. Основанный на времени синтаксис вызова:

Rates = disc2rate(Compounding, Disc, EndTimes, StartTimes);

Используя этот синтаксис, вы снова получаете исходные значения для процентных ставок.

Rates = disc2rate(Compounding, Disc, EndTimes, StartTimes)
Rates =

    0.0500
    0.0560
    0.0600
    0.0650
    0.0750

Смотрите также

| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |

Связанные примеры

Больше о