exponenta event banner

Конвертация срока процентной ставки

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

Преобразование кривой точки в кривую вперед

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

[Rates, EndTimes, StartTimes] = ratetimes(Compounding, RefRates,
RefEndDates, RefStartDates, EndDates, StartDates, ValuationDate);

где:

  • Compounding представляет частоту, при которой нулевые ставки суммируются в годовом исчислении.

  • RefRates - вектор начальных процентных ставок, представляющий процентные ставки, применимые к начальным временным интервалам.

  • RefEndDates - вектор дат, представляющий конец срока (периода) процентной ставки, применимый к RefRates.

  • RefStartDates - вектор дат, представляющий начало условий процентной ставки, применимых к RefRates.

  • EndDates представляют даты погашения, для которых процентные ставки интерполируются.

  • StartDates представляют начальные даты, для которых процентные ставки интерполируются.

  • ValuationDate - дата наблюдения, с которой StartTimes и EndTimes рассчитываются. Эта дата представляет время = 0.

Входные аргументы этой функции можно разделить на две группы:

  • Начальные или ссылочные процентные ставки, включая условия, для которых они действительны

  • Условия, для которых рассчитываются новые процентные ставки

В качестве примера рассмотрим таблицу ставок, указанную в разделе Расчет коэффициентов дисконтирования из ставок.

От

Кому

Уровень

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

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

% Reference Rates.
RefStartDates = ['15-Feb-2000'];
RefEndDates  = ['15-Aug-2000'; '15-Feb-2001'; '15-Aug-2001';... 
'15-Feb-2002'; '15-Aug-2002'];
Compounding = 2;
ValuationDate = ['15-Feb-2000'];
RefRates = [0.05; 0.056; 0.06; 0.065; 0.075];

% New Terms.
StartDates = ['15-Feb-2000'; '15-Aug-2000'; '15-Feb-2001';... 
'15-Aug-2001'; '15-Feb-2002'];
EndDates =   ['15-Aug-2000'; '15-Feb-2001'; '15-Aug-2001';... 
'15-Feb-2002'; '15-Aug-2002'];
% Find the new rates.
Rates = ratetimes(Compounding, RefRates, RefEndDates,... 
RefStartDates, EndDates, StartDates, ValuationDate)
Rates =

    0.0500
    0.0620
    0.0680
    0.0801
    0.1155

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

От

Кому

Уровень

15 февраля 2000 года

15 августа 2000 года

0.0500

15 августа 2000 года

15 февраля 2001 года

0.0620

15 февраля 2001 года

15 августа 2001 года

0.0680

15 августа 2001 года

15 февраля 2002 года

0.0801

15 февраля 2002 года

15 августа 2002 года

0.1155

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

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

[Rates, EndTimes, StartTimes] = ratetimes(Compounding, RefRates, RefEndTimes, RefStartTimes, EndTimes, StartTimes);

Использовать эту альтернативную версию ratetimes чтобы снова найти форвардные ставки. В этом случае сначала необходимо найти временные коэффициенты ссылочной кривой. Использовать date2time для этого.

RefEndTimes = date2time(ValuationDate, RefEndDates, Compounding)
RefEndTimes =

     1
     2
     3
     4
     5
RefStartTimes = date2time(ValuationDate, RefStartDates,... 
Compounding)
RefStartTimes =

     0

Это ожидаемые значения, учитывая полугодовые скидки (обозначаемые значением 2 в переменной Compounding), даты окончания, разделенные шестимесячными периодами, и дата оценки, равная дате начала первого периода (фактор времени = 0).

Теперь звоните ratetimes с альтернативным синтаксисом.

[Rates, EndTimes, StartTimes] = ratetimes(Compounding,... 
RefRates, RefEndTimes, RefStartTimes, EndTimes, StartTimes);
Rates =

    0.0500
    0.0620
    0.0680
    0.0801
    0.1155

EndTimes и StartTimes имеют, как и ожидалось, те же значения, которые они имели в качестве входных аргументов.

Times = [StartTimes, EndTimes]
Times =

     0     1
     1     2
     2     3
     3     4
     4     5

См. также

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

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

Подробнее