exponenta event banner

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

Введение

Структура срока процентной ставки отражает эволюцию процентных ставок во времени. В MATLAB ® среда процентных ставок инкапсулируется в структуру, называемуюRateSpec (спецификация тарифа). Эта структура содержит всю информацию, необходимую для полного определения эволюции процентных ставок. Некоторые функции, включенные в программное обеспечение 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 вектор состоит из 0 с. Также, поскольку значение 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

См. также

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

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

Подробнее