Преобразования термина процентной ставки

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

Точечная кривая, чтобы передать преобразование кривой

Часто, учитывая набор уровней включая их даты начала и конца, можно интересоваться нахождением уровней, применимых к различным условиям (периоды). Эта проблема решается функциональным 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

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

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

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

Больше о