floatmargin

Маржинальные меры для облигации с плавающей ставкой

Описание

пример

[Margin,AdjPrice] = floatmargin(Price,SpreadSettle,Maturity) вычисляет маржинальные измерения для облигации с плавающей ставкой.

Использование floatmargin для вычисления следующих видов маржинальных мер для облигации с плавающей ставкой:

  • Распространение на всю жизнь

  • Скорректированный простой запас

  • Скорректированная общая маржа

Для вычисления маржи дисконтирования или нулевой маржи дисконтирования см. раздел floatdiscmargin.

пример

[Margin,AdjPrice] = floatmargin(___,Name,Value) добавляет необязательные аргументы пары "имя-значение".

Примеры

свернуть все

Использование floatmargin для вычисления маржинальных показателей для spreadforlife, adjustedsimple, и adjustedtotal для примечания с плавающей скоростью.

Задайте данные для примечания с плавающей скоростью.

Price = 99.99;
Spread = 50;
Settle = '20-Jan-2011';
Maturity = '15-Jan-2012';
LatestFloatingRate = 0.05;
StubRate = 0.049;
SpotRate = 0.05;
Reset = 4;
Basis = 2;

Вычислите spreadforlife.

Margin = floatmargin(Price, Spread, Settle, Maturity, 'Reset', ...
Reset, 'Basis', Basis)
Margin = 51.0051

Вычислите adjustedsimple маржа.

[Margin, AdjPrice] = floatmargin(Price, Spread, Settle, Maturity, ...
'SpreadType', 'adjustedsimple', 'RateInfo', [StubRate, SpotRate], ...
'LatestFloatingRate', LatestFloatingRate, 'Reset', Reset, 'Basis', Basis)
Margin = 53.2830
AdjPrice = 99.9673

Вычислите adjustedtotal маржа.

[Margin, AdjPrice] = floatmargin(Price, Spread, Settle, Maturity, ...
'SpreadType', 'adjustedtotal', 'RateInfo', [StubRate, SpotRate], ...
'LatestFloatingRate', LatestFloatingRate, 'Reset', Reset, 'Basis', Basis)
Margin = 53.4463
AdjPrice = 99.9673

Использование floatmargin для вычисления маржинальных показателей для spreadforlife, adjustedsimple, и adjustedtotal для примечания с плавающей скоростью с использованием datetime входы.

Price = 99.99;
Spread = 50;
Settle = '20-Jan-2011';
Maturity = '15-Jan-2012';
LatestFloatingRate = 0.05;
StubRate = 0.049;
SpotRate = 0.05;
Reset = 4;
Basis = 2;

Settle = datetime(Settle,'Locale','en_US');
Maturity = datetime(Maturity,'Locale','en_US');
[Margin, AdjPrice] = floatmargin(Price, Spread, Settle, Maturity, ...
'SpreadType', 'adjustedsimple', 'RateInfo', [StubRate, SpotRate], ...
'LatestFloatingRate', LatestFloatingRate, 'Reset', Reset, 'Basis', Basis)
Margin = 53.2830
AdjPrice = 99.9673

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

свернуть все

Цены облигаций, в которых должны быть рассчитаны спреды, заданные как NINST-by- 1 матрица.

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

Количество базисных точек над скоростью ссылки, заданное как NINST-by- 1 матрица.

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

Дата расчета облигаций с плавающей ставкой, заданная как серийный номер даты, вектор символов даты или массив datetime. Если поставляется как NINST-by- 1 вектор дат, все даты расчета должны быть одинаковыми (поддерживается только одна дата расчета)

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

Дата погашения облигации с плавающей ставкой, заданная как серийный номер даты, вектор символов даты или массив datetime.

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

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

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

Пример: [Margin,AdjPrice] = floatmargin(Price,Spread,Settle,Maturity, 'SpreadType','adjustedtotal','RateInfo',[StubRate,SpotRate],'LatestFloatingRate',.0445,'Reset',2,'Basis',5)

Тип спреда для вычислений, заданный по типу, задается как spreadforlife, adjustedsimple, или adjustedtotal.

Примечание

Если на SpreadType является spreadforlife (по умолчанию), затем аргументы имя-значение LatestFloatingRate и RateInfo не используются. Если на SpreadType является adjustedsimple или adjustedtotal, затем аргументы имя-значение LatestFloatingRate и RateInfo необходимо указать.

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

Ставка для следующего плавающего платежа, установленного на последнюю дату сброса, заданная как NINST-by- 1 вектор.

Примечание

Эта ставка должна быть задана для SpreadType от adjustedsimple и adjustedtotal.

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

информация о процентной ставке, заданная как NINST-by- 2 вектор, где:

  • Первый столбец - это ставка заглушки между датой расчета и первой ставкой купона.

  • Второй столбец - это ставка ссылки для срока действия плавающих купонов (для примера - 3-месячный LIBOR с даты расчета для облигации с Reset от 4).

Примечание

The RateInfo должен быть указан для SpreadType от adjustedsimple и adjustedtotal.

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

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

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

Базис отсчета дней, используемый для вычислений временного фактора, задается как NINST-by- 1 вектор. Значения:

  • 0 = факт/факт

  • 1 = 30/360 (SIA)

  • 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 = BUS/252

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

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

Условные основные суммы, указанные как NINST-by- 1 вектор.

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

Флаг правила в конце месяца, заданный как NINST-by- 1 вектор. Это правило применяется только тогда, когда Maturity - дата окончания месяца для месяца, имеющего 30 или менее дней.

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

  • 1 = Установите правило, означающее, что дата выплаты купона по облигации всегда является последним фактическим днем месяца.

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

Даты праздников, указанные как NHOLIDAYS-by- 1 вектор MATLAB® дат с использованием серийных номеров дат, векторов символов дат или массивов datetime. Праздничные дни используются в вычислительных рабочих днях.

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

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

  • 'actual' - Дни небизнеса эффективно игнорируются. Денежные потоки, которые приходятся на нерабочие дни, считаются распределенными на фактическую дату.

  • 'follow' - Денежные потоки, которые приходятся на день небизнеса, принимаются распределенными на следующий рабочий день.

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

  • 'previous' - Денежные потоки, которые приходятся на день небизнеса, принимаются распределенными в предыдущий рабочий день.

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

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

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

свернуть все

Спреды для облигации с плавающей ставкой, возвращенные как NINST-by- 1 вектор.

Скорректированная цена для вычисления спредов для SpreadType от adjustedsimple и adjustedtotal, возвращается как NINST-by- 1 вектор.

Ссылки

[1] Фабоцци, Фрэнк Дж., Манн, Стивен В. Ценные бумаги с плавающей ставкой. Джон Уайли и сыновья, Нью-Йорк, 2000 год.

[2] Фабоцци, Фрэнк Дж., Манн, Стивен В. Введение в аналитику фиксированного дохода: анализ относительной стоимости, меры риска и оценка. Джон Уайли и сыновья, Нью-Йорк, 2010.

Введенный в R2012b