floatdiscmargin

Обесценьте поле для связи с плавающей ставкой

Синтаксис

Margin = floatdiscmargin(Price,SpreadSettle,Maturity,RateInfo,LatestFloatingRate)
Margin = floatdiscmargin(___,Name,Value)

Описание

пример

Margin = floatdiscmargin(Price,SpreadSettle,Maturity,RateInfo,LatestFloatingRate) вычисляет скидку граничное или нулевое дисконтное поле для связи с плавающей ставкой.

Вход RateInfo определяет, вычисляются ли дисконтное поле или нулевое дисконтное поле. Основные расписания поддерживаются с помощью Principal.

пример

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

Примеры

свернуть все

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

Задайте данные для долгового обязательства с плавающей ставкой.

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;

Вычислите дисконтное поле.

dMargin = floatdiscmargin(Price, Spread, Settle, Maturity, ...
[StubRate, SpotRate], LatestFloatingRate,'Reset', Reset, 'Basis', Basis, ...
'AdjustCashFlowsBasis', true)
dMargin = 48.4810

Обычно вы хотите установить AdjustCashFlowsBasis на true, таким образом, потоки наличности вычисляются с корректировками на суммах наращивания.

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

Rates = [0.0500;
         0.0505;
         0.0510;
         0.0520];
StartDates = ['20-Jan-2011';
              '15-Apr-2011';
              '15-Jul-2011';
              '15-Oct-2011'];
EndDates =   ['15-Apr-2011';
              '15-Jul-2011';
              '15-Oct-2011';
              '15-Jan-2012'];
ValuationDate = '20-Jan-2011';
RateSpec = intenvset('Compounding', Reset, 'Rates', Rates,...
'StartDates', StartDates, 'EndDates', EndDates,...
'ValuationDate', ValuationDate, 'Basis', Basis);

Вычислите нулевое дисконтное поле использование предыдущей кривой доходности.

dMargin = floatdiscmargin(Price, Spread, Settle, Maturity, ...
RateSpec, LatestFloatingRate,'Reset', Reset, 'Basis', Basis, ...
'AdjustCashFlowsBasis', true)
dMargin = 46.0688

Используйте floatdiscmargin, чтобы вычислить скидку граничное и нулевое дисконтное поле для долгового обязательства с плавающей ставкой с помощью входных параметров 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');
dMargin = floatdiscmargin(Price, Spread, Settle, Maturity, ...
[StubRate, SpotRate], LatestFloatingRate,'Reset', Reset, 'Basis', Basis, ...
'AdjustCashFlowsBasis', true)
dMargin = 48.4810

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

свернуть все

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

Примечание

Распространение вычисляется против чистой цены (функция внутренне не добавляет начисленные проценты в цену, заданную входом Price). Если распространение требуется против грязной цены, необходимо предоставить грязную цену за вход Price.

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

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

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

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

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

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

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

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

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

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

Примечание

Если аргумент RateInfo является пересчитанной на год структурой термина нулевого уровня, созданной intenvset, нулевое дисконтное поле вычисляется.

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

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

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

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

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

Пример: Margin = floatdiscmargin(Price,Spread,Settle,Maturity,RateInfo,LatestFloatingRate,'Reset',2,'Basis',5)

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

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

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

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

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

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

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

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

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

Настраивает потоки наличности согласно сумме наращивания, заданной как NINST-by-1 вектор logicals.

Примечание

Обычно вы хотите установить AdjustCashFlowsBasis на 1, таким образом, потоки наличности вычисляются с корректировками на суммах наращивания. Значение по умолчанию собирается в 0 быть сопоставимым с floatbyzero.

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

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

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

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

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

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

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

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

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

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

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

свернуть все

Обесценьте поле, возвращенное как NINST-by-1 вектор дисконтного поля, если RateInfo задан как NINST-by-2 вектор тупиковых и точечных уровней.

Если RateInfo задан как пересчитанная на год нулевая структура термина уровня, созданная intenvset, Margin возвращен как NINST-by-NCURVES матрица нулевого дисконтного поля.

Ссылки

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

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

[3] О'Кэйн, Доминик, сенатор, Saurav. “Объясненные кредитные спреды”. Количественный анализ фиксированного дохода Lehman Brothers, март 2004.

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