Процентные свопы

Допущения об обмене ценообразованием

Financial Instruments Toolbox™ содержащие функцию liborfloat2fixed, который вычисляет выражение с фиксированной скоростью, который приравнивает сторону с плавающей скоростью свопа к стороне с фиксированной скоростью. Решатель устанавливает текущее значение фиксированной стороны на текущее значение плавающей стороны без необходимости выстраивать и сравнивать фиксированные и плавающие периоды.

Допущения по входу с плавающей скоростью

  • Ставки ежеквартальны, например, для фьючерсов на Eurodollar.

  • Дата вступления в силу - первая третья среда после даты расчета.

  • Все даты доставки разнесены на 3 месяца.

  • Все периоды начинаются в третью среду месяца доставки.

  • Все периоды заканчиваются в одни и те же даты месяцев доставки, через 3 месяца после даты начала.

  • Базис начисления плавающих ставок фактический/360.

  • Применимые форвардные ставки оцениваются путем интерполяции в месяцах, когда данные форвардной скорости недоступны.

Допущения на выходе с фиксированной скоростью

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

  • Дата начала является датой оценки, т.е. датой заключения соглашения о заключении договора к дате расчета.

  • Расчет может быть на или после даты начала. Если это происходит после, выводится прямой контракт с фиксированной ставкой.

  • Датой вступления в силу считается первая третья среда после расчета, та же дата, что и у плавающего курса.

  • Дата окончания срока действия облигации обозначена как количество лет в тот же день и месяц, что и дата вступления в силу.

  • Купонные выплаты происходят в юбилейные даты. Частота определяется периодом связи.

  • Фиксированные скорости не интерполированы. Создается облигация с фиксированной ставкой, имеющая то же текущее значение, что и для платежей с плавающей ставкой.

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

Этот пример показывает использование функций при вычислении фиксированной ставки для серии 2-, 5- и 10-летних свопов на основе рыночных данных Eurodollar. По данным Чикагской товарной биржи (https://www.cmegroup.com), данные Eurodollar в пятницу, 11 октября 2002 года, были показаны в следующей таблице.

Примечание

Этот пример иллюстрирует расчеты свопов в MATLAB® программное обеспечение. Сроки использования набора данных не были тщательно изучены и были приняты в качестве прокси для ставки свопа, сообщенной 11 октября 2002 года.

Данные Eurodollar в пятницу, 11 октября 2002 г. 

Месяц

Год

Обосноваться

10

2002

98.21

11

2002

98.26

12

2002

98.3

1

2003

98.3

2

2003

98.31

3

2003

98.275

6

2003

98.12

9

2003

97.87

12

2003

97.575

3

2004

97.26

6

2004

96.98

9

2004

96.745

12

2004

96.515

3

2005

96.33

6

2005

96.135

9

2005

95.955

12

2005

95.78

3

2006

95.63

6

2006

95.465

9

2006

95.315

12

2006

95.16

3

2007

95.025

6

2007

94.88

9

2007

94.74

12

2007

94.595

3

2008

94.48

6

2008

94.375

9

2008

94.28

12

2008

94.185

3

2009

94.1

6

2009

94.005

9

2009

93.925

12

2009

93.865

3

2010

93.82

6

2010

93.755

9

2010

93.7

12

2010

93.645

3

2011

93.61

6

2011

93.56

9

2011

93.515

12

2011

93.47

3

2012

93.445

6

2012

93.41

9

2012

93.39

Используя эти данные, можно вычислить 1-, 2-, 3-, 4-, 5-, 7- и 10-летние ставки свопов с помощью функции тулбокса liborfloat2fixed. Функция требует, чтобы вы вводили только данные Eurodollar, дату сальдирования и тенор свопа. Затем MATLAB выполняет необходимые расчеты.

Чтобы проиллюстрировать, как эта функция работает, сначала загрузите данные, содержащиеся в предоставленном Excel® рабочий лист EDdata.xls.

[EDRawData, textdata] = xlsread('EDdata.xls');

Извлечение месяца из первого столбца и года из второго столбца. Ставка, используемая в качестве прокси, является арифметикой среднего значения ставок при открытии и закрытии.

Month = EDRawData(:,1);
Year  = EDRawData(:,2);
IMMData = (EDRawData(:,4)+EDRawData(:,6))/2;
EDFutData = [Month, Year, IMMData];

Далее введите текущую дату.

Settle = datenum('11-Oct-2002');

Чтобы вычислить курс двухлетнего свопа, установите тенор равным 2.

Tenor = 2;

Наконец, вычислите скорость свопа с liborfloat2fixed.

[FixedSpec, ForwardDates, ForwardRates] = ... 
liborfloat2fixed(EDFutData, Settle, Tenor)

MATLAB возвращает ставку par-свопа 2,23% с помощью настройки по умолчанию (ежеквартальное компаундирование и 30/360 начисление) и форвардных дат и данных о ставках (ежеквартальное компаундирование).

FixedSpec = 

       Coupon: 0.0223
       Settle: '16-Oct-2002'
     Maturity: '16-Oct-2004'
       Period: 4
        Basis: 1

ForwardDates =

      731505
      731596
      731687
      731778
      731869
      731967
      732058
      732149

ForwardRates =

    0.0178
    0.0168
    0.0171
    0.0189
    0.0216
    0.0250
    0.0280
    0.0306

В FixedSpec выход, обратите внимание, что курс свопа фактически переходит с третьей среды октября 2002 года (16 октября 2002 года), через 5 дней после первоначального Settle вход (11 октября 2002 года). Это, однако, по-прежнему лучший прокси для ставки свопа на Settle, поскольку предположение просто начинает период действия свопа и не влияет на его метод оценки или его длину.

Коррекция, предложенная Халлом и Белым, улучшает результат, включив регулировку выпуклости как часть входа, liborfloat2fixed. (См. Hull, J., опции, Futures, and Other Derivatives, 4th Edition, Prentice Hall, 2000.) Для длительного свопа, например, пять лет и более, эта коррекция может оказаться большой.

Регулировка требует дополнительных параметров:

  • StartDate, который вы делаете таким же, как Settle (по умолчанию) путем предоставления пустой матрицы [] как вход.

  • ConvexAdj чтобы сказать liborfloat2fixed для выполнения регулировки.

  • RateParam, который обеспечивает параметры a и S как вход в процесс кратковременной скорости Hull-White.

  • Необязательные параметры InArrears и Sigma, для чего можно использовать пустые матрицы [] для принятия значений по умолчанию MATLAB.

  • FixedCompound, с помощью которого можно облегчить сравнение со значениями, приведенными в Таблице H15 Federal Reserve Statistical Release, путем преобразования ежеквартального компаундирования по умолчанию в полугодовое компаундирование с базисом (по умолчанию) 30/360.

    StartDate = [];
    Interpolation = [];
    ConvexAdj = 1;
    RateParam = [0.03; 0.017];
    FixedCompound = 2;
    [FixedSpec, ForwardDaates, ForwardRates] = ... 
    liborfloat2fixed(EDFutData, Settle, Tenor, StartDate, ... 
    Interpolation, ConvexAdj, RateParam, [], [], FixedCompound)
    

Это возвращает 2,21% как 2-летний курс свопа, довольно близкий к отчетному курсу свопа на эту дату.

Аналогично, в следующей таблице обобщены решения для 1-, 3-, 5-, 7- и 10-летних ставок свопа (скорректированные и нескорректированные по выпуклости).

Расчетные и средние рыночные данные своп-ставок на пятницу, 11 октября 2002 г.

Длина свопа (годы)

Неприспособленный

Приспособленный

Табличные H15

Скорректированная ошибка
(Базисные точки)

1

1.80%

1.79%

1.80%

-1

2

2.24%

2.21%

2.22%

-1

3

2.70%

2.66%

2.66%

0

4

3.12%

3.03%

3.04%

-1

5

3.50%

3.37%

3.36%

+1

7

4.16%

3.92%

3.89%

+3

10

4.87%

4.42%

4.39%

+3

Хеджирование портфеля

Можно использовать эти результаты далее, например, для хеджирования портфеля. liborduration функция обеспечивает возможность хеджирования длительности. Вы можете изолировать активы (или обязательства) от риска процентного риска с помощью соглашения об обмене.

Предположим, что вы владеете связью с этими характеристиками:

  • Значение 100 миллионов долларов

  • Купон 7% выплачивается раз в полгода

  • 5% от выражения до зрелости

  • Поселение 11 октября 2002 г.

  • Срок погашения 15 января 2010 года

  • Начисление процентов на фактическом базисный

Использование bnddury Функция от программного обеспечения Financial Toolbox™ показывает измененную длительность 5,6806 лет.

Для иммунизации этого актива можно ввести своп с фиксированной оплатой, в частности своп в размере условной основной суммы (Ns) таким образом, чтобы Ns * SwapDuration  + $100M *  5,6806 = 0 (или  Ns = -100 * 5 .6806/SwapDuration).

Снова предположим, что вы принимаете решение использовать 5-, 7- или 10-летний своп (3,37%, 3,92% и 4,42% из предыдущей таблицы) в качестве инструмента хеджирования.

SwapFixRate = [0.0337; 0.0392; 0.0442];
Tenor = [5; 7; 10];
Settle = '11-Oct-2002';
PayFixDuration = liborduration(SwapFixRate, Tenor, Settle)

Это дает длительность -3,6835, -4,7307, и -6,0661 года для 5-, 7-, и 10-летних свопов. Соответствующая условная сумма вычисляется

Ns = -100*5.6806./PayFixDuration
Ns =

  154.2163
  120.0786
   93.6443

Условная сумма, введенная в фиксированную по оплате сторону свопа, мгновенно иммунизирует портфель.

См. также

| |

Похожие примеры

Подробнее о