capbylg2f

Ценовые ограничения с помощью Линейной Гауссовой 2D факторной модели

Описание

пример

CapPrice = capbylg2f(ZeroCurve,a,b,sigma,eta,rho,Strike,Maturity) возвращает цену дна за 2D факторную аддитивную Гауссову модель процентной ставки.

пример

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

Примечание

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

Примеры

свернуть все

Задайте ZeroCurveAB\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);
  
irdc = IRDataCurve('Zero',Settle,CurveDates,ZeroRates);
  
a = .07;
b = .5;
sigma = .01;
eta = .006;
rho = -.7;
  
CapMaturity = 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 = capbylg2f(irdc,a,b,sigma,eta,rho,Strike,CapMaturity)
Price = 11×1

    0.0316
    0.3225
    0.7761
    1.3240
    1.9394
    3.1247
    4.8451
    7.3752
    9.8582
   11.4673
      ⋮

Задайте ZeroCurveAB\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 caps
CapMaturity = 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]';
Notional = {{'15-Dec-2010' 100;'15-Dec-2014' 70;'15-Dec-2022' 40;'15-Dec-2037' 10}};

% Price the amortizing caps
Price = capbylg2f(irdc,a,b,sigma,eta,rho,Strike,CapMaturity, 'Notional', Notional)
Price = 11×1

    0.0316
    0.3225
    0.7761
    1.1313
    1.5362
    2.3213
    2.8297
    3.6878
    3.7297
    3.8906
      ⋮

Входные параметры

свернуть все

Кривая нулевой ширины для Линейной Гауссовой 2D факторной модели, заданное использование IRDataCurve или RateSpec.

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

Возвращение к среднему уровню для первого фактора для Линейной Гауссовой 2D факторной модели, заданной как числовой скаляр.

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

Возвращение к среднему уровню для второго фактора для Линейной Гауссовой 2D факторной модели, заданной как числовой скаляр.

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

Энергозависимость для первого фактора для Линейной Гауссовой 2D факторной модели, заданной как числовой скаляр.

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

Энергозависимость для второго фактора для Линейной Гауссовой 2D факторной модели, заданной как числовой скаляр.

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

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

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

Цена исполнения опциона дна, заданная как неотрицательное целое число с помощью NumCaps- 1 вектор.

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

Дата погашения дна, заданное использование NumCaps- 1 вектор последовательных чисел даты или векторов символов даты.

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

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

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

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

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

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

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

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

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

свернуть все

Ожидаемые цены дна, возвращенного как скаляр или NumCaps- 1 вектор.

Больше о

свернуть все

\cap

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

Выплата для дна:

max (CurrentRateCapRate,0)

Для получения дополнительной информации смотрите Кэпа.

Алгоритмы

Следующее задает 2D факторную аддитивную Гауссову модель процентной ставки, учитывая ZeroCurveAB\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] Brigo, D. и Ф. Меркурио. Модели процентной ставки - теория и практика. Финансы Спрингера, 2006.

Введенный в R2013a