capbylg2f

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

Описание

пример

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

пример

CapPrice = capbylg2f(___,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);
  
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.0218
    0.3167
    0.7640
    1.3055
    1.9152
    3.0909
    4.7998
    7.3122
    9.7917
   11.4568
      ⋮

Определите 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 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.0218
    0.3167
    0.7640
    1.1150
    1.5162
    2.2952
    2.8006
    3.6532
    3.6963
    3.8628
      ⋮

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

свернуть все

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

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

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

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

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

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

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

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

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

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

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

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

Прописная буква Cap strike, заданная в виде неотрицательного целого числа с помощью NumCaps-by- 1 вектор.

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

Дата зрелости прописной буквы, заданная с помощью NumCaps-by- 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-by- 1 вектор.

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

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

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

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

свернуть все

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

Подробнее о

свернуть все

Прописная буква

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

Окупаемость для прописной буквы:

max(CurrentRateCapRate,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