exponenta event banner

Вычислительная опция - скорректированный разброс

Скорректированный на опцион спред (OAS) представляет собой сумму дополнительного процента, добавленного выше (или ниже, если отрицательный) ссылочной нулевой кривой. Для вычисления OAS необходимо предоставить нулевую кривую в качестве дополнительного ввода. Нулевую кривую можно задать в любых интервалах и с помощью любого метода компаундирования. (Чтобы свести к минимуму любую ошибку из-за интерполяции, поддерживайте интервалы как можно более регулярными и частыми.) Необходимо указать вектор предоплаты или скорость, соответствующую стандартному вектору предоплаты PSA.

Один из способов рассчитать соответствующую нулевую кривую для агентства - посмотреть на доходность его облигаций и начать их с самого короткого срока. Это можно сделать с помощью функций финансового Toolbox™. zbtprice и zbtyield.

В следующем примере показано, как вычислить соответствующую нулевую кривую с последующим вычислением OAS пула. В этом примере вычисляется ОАГ по 30-летней ипотеке с фиксированной ставкой с оставшимся около 28-летним средневзвешенным сроком погашения, учитывая предполагаемую скорость предоплаты 0, 50 и 100 PSA.

Создать кривую для zerorates.

Bonds = [datenum('11/21/2002')   0        100    0    2    1;    
         datenum('02/20/2003')   0        100    0    2    1;
         datenum('07/31/2004')   0.03     100    2    3    1;
         datenum('08/15/2007')   0.035    100    2    3    1;
         datenum('08/15/2012')   0.04875  100    2    3    1;
         datenum('02/15/2031')   0.05375  100    2    3    1];
  
Yields = [0.0162;
          0.0163;
          0.0211;
          0.0328;
          0.0420;
          0.0501];

Поскольку вышеуказанные данные являются данными Казначейства, а не выбранными данными агентства, предполагается терминологическая структура спреда. В этом примере спред пропорционально снижается с максимума 250 базисных пунктов при самом коротком сроке погашения.

Yields = Yields + 0.025 * (1./[1:6]');

Получение параметров из Bonds матрица.

Settle = datenum('20-Aug-2002');
Maturity = Bonds(:,1);
CouponRate = Bonds(:,2);
Face = Bonds(:,3);
Period = Bonds(:,4);
Basis = Bonds(:,5);
EndMonthRule = Bonds(:,6);
  
[Prices, AccruedInterest] = bndprice(Yields, CouponRate, ...
Settle, Maturity, Period, Basis, EndMonthRule, [], [], [], [], ... 
Face);

Использовать zbtprice для решения для нулевых ставок.

[ZeroRatesP, CurveDatesP] = zbtprice(Bonds, Prices, Settle);
ZeroCompounding = 2*ones(size(ZeroRatesP));
ZeroMatrix = [CurveDatesP, ZeroRatesP, ZeroCompounding];

Использовать выходные данные из zbtprice для расчета OAS.

Price = 95;
Settle = datenum('20-Aug-2002');
Maturity = datenum('2-Jan-2030');
IssueDate = datenum('2-Jan-2000');
GrossRate = 0.08125;
CouponRate = 0.075;
Delay = 14;
Interpolation = 1;
PrepaySpeed = [0; 50; 100];
  
OAS = mbsprice2oas(ZeroMatrix, Price, Settle, Maturity, ...
IssueDate, GrossRate, CouponRate, Delay, Interpolation, ... 
PrepaySpeed)
OAS =

    26.0502
    28.6348
    31.2222

Этот пример показывает, что один набор денежных потоков дисконтируется и решается для своей OAS, в отличие от NumberOfPaths набор денежных потоков, как показано в окне Оценка ипотечного пула. Усреднение наборов денежных потоков, полученных в результате всех моделирований, в один средний вектор денежных потоков и решение для ОАГ, дисконтирует усредненные денежные потоки, чтобы иметь текущую стоимость сегодняшней (средней) цены.

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

В примере также повторяются более ранние примеры, которые показывают, что дисконтные ценные бумаги выигрывают от более высокого уровня предоплаты, сохраняя все остальное неизменным. Отношение сторнируется для премиальных ценных бумаг.

См. также

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

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

Подробнее