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- 1 матрица.

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

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

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

Расчетный день связей с плавающей ставкой, заданных как последовательный номер даты, вектор символов даты или массив datetime. Если предоставлено как NINST- 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- 1 вектор.

Примечание

Этот уровень должен быть задан для SpreadType из adjustedsimple и adjustedtotal.

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

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

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

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

Примечание

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

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

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

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

Основание дневного количества используется в вычислениях фактора времени, заданных как NINST- 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

Отвлеченные основные суммы, заданные как NINST- 1 вектор.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

свернуть все

Распространения для связи с плавающей ставкой, возвращенной как NINST- 1 вектор.

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

Ссылки

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

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

Представленный в R2012b