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

Введение

Структура термина процентной ставки представляет эволюцию процентных ставок в течение времени. В 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

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

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

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

Больше о