fixedbyzero

Цена примечание с фиксированной процентной ставкой от набора кривых нулевой ширины

Синтаксис

[Price,DirtyPrice,CFlowAmounts,CFlowDates] = fixedbyzero(RateSpec,CouponRate,Settle,Maturity)
[Price,DirtyPrice,CFlowAmounts,CFlowDates] = fixedbyzero(___,Name,Value)

Описание

пример

[Price,DirtyPrice,CFlowAmounts,CFlowDates] = fixedbyzero(RateSpec,CouponRate,Settle,Maturity) оценивает примечание с фиксированной процентной ставкой от набора кривых нулевой ширины.

пример

[Price,DirtyPrice,CFlowAmounts,CFlowDates] = fixedbyzero(___,Name,Value) добавляют дополнительные аргументы пары "имя-значение".

Примеры

свернуть все

Этот пример показывает, как оценить 4%-е примечание с фиксированной процентной ставкой с помощью набора кривых нулевой ширины путем загрузки файла deriv.mat, который обеспечивает ZeroRateSpec, структура термина процентной ставки должна была оценить примечание.

load deriv.mat 

CouponRate = 0.04;
Settle = '01-Jan-2000';
Maturity = '01-Jan-2003';

Price = fixedbyzero(ZeroRateSpec, CouponRate, Settle, Maturity)
Price = 98.7159

Примите, что финансовое учреждение имеет существующую подкачку с тремя годами, оставленными зрелости, где они получают 5% в год в иене и платят 8% в год в долларе США. Частота сброса для подкачки является ежегодной, принципалы для этих двух участков составляют 1 200 миллионов иен и $10 миллионов, и обе структуры термина являются плоскими.

Settle = datenum('15-Aug-2015');
Maturity = datenum('15-Aug-2018');
Reset = 1;

r_d = .09;
r_f = .04;

FixedRate_d = .08;
FixedRate_f = .05;

Principal_d = 10000000;
Principal_f = 1200000000;

S0 = 1/110;

Создайте структуры термина.

RateSpec_d = intenvset('StartDate',Settle,'EndDate',Maturity,'Rates',r_d,'Compounding',-1);
RateSpec_f = intenvset('StartDate',Settle,'EndDate',Maturity,'Rates',r_f,'Compounding',-1);

Используйте fixedbyzero:

B_d = fixedbyzero(RateSpec_d,FixedRate_d,Settle,Maturity,'Principal',Principal_d,'Reset',Reset);
B_f = fixedbyzero(RateSpec_f,FixedRate_f,Settle,Maturity,'Principal',Principal_f,'Reset',Reset);

Вычислите цену подкачки. На основе Оболочки (см. Ссылки), валютный своп может быть оценен со следующей формулой V_swap = S0*B_fB_d.

V_swap = S0*B_f - B_d
V_swap = 1.5430e+06

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

свернуть все

Пересчитанный на год нулевой уровень называет структуру, заданное использование intenvset, чтобы создать RateSpec.

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

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

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

Расчетный день, заданный или как скаляр или как NINST-by-1 вектор последовательных чисел даты или векторов символов даты.

Settle должен быть ранее, чем Maturity.

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

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

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

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

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

Пример: [Price,DirtyPrice,CFlowAmounts,CFlowDates] = fixedbyzero(RateSpec,CouponRate,Settle,Maturity,'Principal',Principal)

Частота платежей в год, заданный как пара, разделенная запятой, состоящая из 'FixedReset' и NINST-by-1 вектор.

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

Дневное основание количества, заданное как пара, разделенная запятой, состоящая из 'Basis' и NINST-by-1 вектор.

  •  0 = фактический/фактический

  •  1 = 30/360 (СИА)

  •  2 = Фактический/360

  •  3 = Фактический/365

  •  4 = 30/360 (PSA)

  •  5 = 30/360 (ISDA)

  •  6 = 30/360 (европеец)

  •  7 = Фактический/365 (японский язык)

  •  8 = фактический/фактический (ICMA)

  •  9 = Фактический/360 (ICMA)

  •  10 = Фактический/365 (ICMA)

  •  11 = 30/360E (ICMA)

  •  12 = Фактический/365 (ISDA)

  •  13 = ШИНА/252

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

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

Отвлеченные основные суммы, заданные как пара, разделенная запятой, состоящая из 'Principal' и векторного массива или массива ячеек.

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

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

Правило конца месяца отмечает для генерации дат, когда Maturity является датой конца месяца в течение месяца, имея 30 или меньше дней, заданных как пара, разделенная запятой, состоящая из 'EndMonthRule' и неотрицательного целого числа [0, 1] использование NINST-by-1 вектор.

  • 0 = Игнорирует правило, означая, что платежный день всегда является тем же числовым днем месяца.

  • 1 = Установленное правило о, означая, что платежный день всегда является прошлым фактическим днем месяца.

Типы данных: логический

Отметьте, чтобы настроить потоки наличности на основе фактического дневного количества периода, заданного как пара, разделенная запятой, состоящая из 'AdjustCashFlowsBasis' и NINST-by-1 вектор logicals со значениями (FALSE) 0 или (TRUE) 1.

Типы данных: логический

Праздники используются в вычислении рабочих дней, заданных как пара, разделенная запятой, состоящая из 'Holidays' и чисел даты MATLAB с помощью NHolidays-by-1 вектор.

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

Соглашения рабочего дня, заданные как пара, разделенная запятой, состоящая из 'BusinessDayConvention' и вектора символов или N-by-1 массив ячеек из символьных векторов соглашений рабочего дня. Выбор для соглашения рабочего дня определяет, как обработаны нерабочие дни. Нерабочие дни заданы как выходные плюс любая другая дата, что компании не открыты (например, установленные законом праздники). Значения:

  • actual — Нерабочие дни эффективно проигнорированы. Потоки наличности, которые падают в нерабочие дни, приняты, чтобы быть распределенными в фактическую дату.

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

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

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

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

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

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

свернуть все

Цены долгового обязательства с плавающей ставкой, возвращенные как (NINST) количеством кривых (NUMCURVES) матрица. Каждый столбец является результатом одной из кривых нулевой ширины.

Грязная цена облигаций (чистый + начисленные проценты), возвращенный как NINST - NUMCURVES матрица. Каждый столбец является результатом одной из кривых нулевой ширины.

Суммы потока наличности, возвращенные как NINST - NUMCFS матрица потоков наличности для каждой связи.

Даты потока наличности, возвращенные как NINST - NUMCFS матрица платежных дней каждой связи.

Ссылки

[1] Оболочка, J. Опции, фьючерсы и другие производные. Prentice Hall, 2011.

Представлено до R2006a