exponenta event banner

floorbylg2f

Ценовой минимум с использованием линейно-гауссовской двухфакторной модели

Описание

пример

FloorPrice = floorbylg2f(ZeroCurve,a,b,sigma,eta,rho,Strike,Maturity) возвращает минимальную цену для двухфакторной аддитивной гауссовой модели процентных ставок.

пример

FloorPrice = floorbylg2f(___,Name,Value) добавляет необязательные аргументы пары имя-значение.

Примечание

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

Примеры

свернуть все

Определите ZeroCurve, a, b, sigma, eta, и rho параметры для вычисления минимальной цены.

Settle = datenum('15-Dec-2007');
 
ZeroTimes = [3/12 6/12 1 5 7 10 20 30]';
ZeroRates = [0.033 0.034 0.035 0.040 0.042 0.044 0.048 0.0475]';
CurveDates = daysadd(Settle,360*ZeroTimes,1);
 
irdc = IRDataCurve('Zero',Settle,CurveDates,ZeroRates);
 
a = .07;
b = .5;
sigma = .01;
eta = .006;
rho = -.7;
 
FloorMaturity = daysadd(Settle,360*[1:5 7 10 15 20 25 30],1);
 
Strike = [0.035 0.037 0.038 0.039 0.040 0.042 0.044 0.046 0.047 0.047 0.047]';
 
Price = floorbylg2f(irdc,a,b,sigma,eta,rho,Strike,FloorMaturity)
Price = 11×1

         0
    0.4190
    0.8485
    1.3365
    1.8671
    3.1091
    4.9807
    7.8518
    9.8297
   11.4578
      ⋮

Определите ZeroCurve, a, b, sigma, eta, rho, и Notional параметры амортизирующего пола.

Settle = datenum('15-Dec-2007');
% Define ZeroCurve
ZeroTimes = [3/12 6/12 1 5 7 10 20 30]';
ZeroRates = [0.033 0.034 0.035 0.040 0.042 0.044 0.048 0.0475]';
CurveDates = daysadd(Settle,360*ZeroTimes);

irdc = IRDataCurve('Zero',Settle,CurveDates,ZeroRates);

% Define a, b, sigma, eta, and rho
a = .07;
b = .5;
sigma = .01;
eta = .006;
rho = -.7;

% Define the amortizing floors
FloorMaturity = daysadd(Settle,360*[1:5 7 10 15 20 25 30],1);
Strike = [0.025 0.036 0.037 0.038 0.039 0.041 0.043 0.045 0.046 0.046 0.046]';
Notional = {{'15-Dec-2012' 100;'15-Dec-2017' 70;'15-Dec-2022' 40;'15-Dec-2037' 10}};

% Price the amortizing floors
Price = floorbylg2f(irdc,a,b,sigma,eta,rho,Strike,FloorMaturity,'Notional',Notional)
Price = 11×1

         0
    0.2776
    0.6630
    1.1062
    1.5938
    2.5589
    3.9582
    5.4985
    6.1113
    6.2670
      ⋮

Входные аргументы

свернуть все

Нулевая кривая для линейной гауссовой двухфакторной модели, заданная с помощью IRDataCurve или RateSpec.

Типы данных: struct

Средняя реверсия для первого фактора для линейной гауссовой двухфакторной модели, заданная как скаляр.

Типы данных: single | double

Средняя реверсия для второго фактора для линейной гауссовой двухфакторной модели, заданная как скаляр.

Типы данных: single | double

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

Типы данных: single | double

Волатильность для второго фактора для линейной гауссовой двухфакторной модели, заданной как скаляр.

Типы данных: single | double

Скалярная корреляция факторов, заданная как скаляр.

Типы данных: single | double

Указана цена страйка пола, как неотрицательное целое число с использованием NumFloorsоколо-1 вектор цен напольного страйка.

Типы данных: single | double

Дата погашения этажа, указанная с помощью NumFloorsоколо-1 вектор серийных номеров дат или векторы символов дат.

Типы данных: single | double | char | cell

Аргументы пары «имя-значение»

Укажите дополнительные пары, разделенные запятыми Name,Value аргументы. Name является именем аргумента и Value - соответствующее значение. Name должен отображаться внутри кавычек. Можно указать несколько аргументов пары имен и значений в любом порядке как Name1,Value1,...,NameN,ValueN.

Пример: Price = floorbylg2f(irdc,a,b,sigma,eta,rho,Strike,FloorMaturity,'Reset',1,'Notional',100)

Частота минимальных платежей в год, указанная как пара, разделенная запятыми, состоящая из 'Reset' и положительные целые числа для значений [1,2,4,6,12] в NumFloorsоколо-1 вектор.

Типы данных: single | double

NINSTоколо-1 условных основных сумм или NINSTоколо-1 массив ячеек, где каждый элемент является NumDatesоколо-2 массив ячеек, где первый столбец - даты, а второй столбец - связанная сумма основного долга. Дата указывает последний день, когда действительным является основное значение.

Типы данных: single | double

Выходные аргументы

свернуть все

Цена пола, возвращенная как скаляр или NumFloorsоколо-1 вектор.

Подробнее

свернуть все

Пол

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

Выплата за этаж составляет:

max (FloorRate CurrentRate, 0)

Алгоритмы

Далее определяется двухфакторная аддитивная гауссова модель процентных ставок, учитывая ZeroCurve, a, b, sigma, eta, и rho параметры:

r (t) = x (t) + y (t) + (t)

dx (t) = a (x) (t) dt + (dW1 (t), x (0) = 0

dy (t) = b (y) (t) dt + (dW2 (t), y (0) = 0

где dW1 (t) dW2 (t) = αdt - двумерное броуновское движение с корреляцией «», а «» «» «» «» «» «» «» «» «» «» «» «» «» «» «» «» «» «» «» «» «» «» «» «» «»

Ссылки

[1] Бриго, Д. и Ф. Меркурио, Модели процентных ставок - теория и практика. Springer Finance, 2006.

Представлен в R2013a