Дисконтная маржа для облигации с плавающей ставкой
вычисляет маржу дисконтирования или нулевую маржу дисконтирования для облигации с плавающей ставкой.Margin
= floatdiscmargin(Price
,Spread
Settle
,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
Price
- Цены облигаций, в которых должна быть рассчитана маржа дисконтированияЦены облигаций, в которых должна быть рассчитана маржа дисконтирования, заданные как NINST
-by- 1
матрица.
Примечание
Спред вычисляется по чистой цене (функция внутренне не добавляет начисленные проценты к цене, заданной Price
вход). Если спред требуется против грязной цены, цены облигации, которая включает начисленные проценты, вы должны поставить грязную цену для Price
вход.
Типы данных: double
Spread
- Количество базисных точек над базисной ставкойКоличество базисных точек над скоростью ссылки, заданное как NINST
-by- 1
матрица.
Типы данных: double
Settle
- Дата расчета облигаций с плавающей ставкойДата расчета облигаций с плавающей ставкой, заданная как серийный номер даты, вектор символов даты или массив datetime. Если поставляется как NINST
-by- 1
вектор дат, все даты расчета должны быть одинаковыми (поддерживается только одна дата расчета)
Типы данных: double
| char
| datetime
Maturity
- Дата погашения облигации с плавающей ставкойДата погашения облигации с плавающей ставкой, заданная как серийный номер даты, вектор символов даты или массив datetime.
Типы данных: double
| char
| datetime
RateInfo
- Информация о процентной ставкеинформация о процентной ставке, заданная как NINST
-by- 2
вектор, где:
Первый столбец - это ставка заглушки между датой расчета и первой ставкой купона.
Второй столбец - это ставка ссылки для срока действия плавающих купонов (для примера - 3-месячный LIBOR с даты расчета для облигации с Reset
от 4
).
Примечание
Если на RateInfo
аргумент является ежегодной структурой нулевой скорости, созданной intenvset
(Financial Instruments Toolbox), вычисляется нулевая скидочная маржа.
Типы данных: double
LatestFloatingRate
- Курс для следующего плавающего платежа, установленного на последнюю дату сбросаСтавка для следующего плавающего платежа, установленного на последнюю дату сброса, заданная как NINST
-by- 1
вектор.
Типы данных: double
Задайте необязательные разделенные разделенными запятой парами Name,Value
аргументы. Name
- имя аргумента и Value
- соответствующее значение. Name
должны находиться внутри кавычек. Можно задать несколько аргументов в виде пар имен и значений в любом порядке Name1,Value1,...,NameN,ValueN
.
Margin = floatdiscmargin(Price,Spread,Settle,Maturity,RateInfo,LatestFloatingRate,'Reset',2,'Basis',5)
'Reset'
- Периодичность платежей в год1
(по умолчанию) | числоЧастота платежей в год, указанная как NINST
-by- 1
вектор.
Типы данных: double
'Basis'
- Базис подсчета дней, используемый для вычисления временных коэффициентов0
(фактический/фактический) (по умолчанию) | целыми числами набора [0...13]
| вектор целых чисел множества [0...13]
Базис отсчета дней, используемый для вычислений временного фактора, задается как 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
'Principal'
- Условные основные суммы100
(по умолчанию) | числоУсловные основные суммы, указанные как NINST
-by- 1
вектор или NINST
-by- 1
массив ячеек, где каждый элемент является NUMDATES
-by- 2
массив ячеек, где первый столбец является датами, а второй - связанным основным объемом. Дата указывает на последний день действия основного значения.
Типы данных: double
| cell
'EndMonthRule'
- Флаг правила в конце месяца1
(в действии) (по умолчанию) | неотрицательное целое число 0
или 1
Флаг правила в конце месяца, заданный как NINST
-by- 1
вектор. Это правило применяется только тогда, когда Maturity
- дата окончания месяца для месяца, имеющего 30 или менее дней.
0
= Игнорируйте правило, означающее, что дата выплаты купона по облигации всегда совпадает с числовым днем месяца.
1
= Установите правило, означающее, что дата выплаты купона по облигации всегда является последним фактическим днем месяца.
Типы данных: logical
'AdjustCashFlowsBasis'
- Корректировка денежных потоков в соответствии с суммой начисления0
(не действует) (по умолчанию) | неотрицательное целое число 0
или 1
Корректирует денежные потоки в соответствии с суммой начисления, заданной как NINST
-by- 1
вектор логики.
Примечание
Обычно вы хотите задать AdjustCashFlowsBasis
на 1
таким образом, денежные потоки рассчитываются с учетом сумм начислений. По умолчанию задано значение 0
чтобы быть согласующимся с floatbyzero
(Financial Instruments Toolbox).
Типы данных: logical
'Holidays'
- Даты праздниковholidays.m
используется (по умолчанию)Даты праздников, указанные как NHOLIDAYS
-by- 1
вектор MATLAB® дат с использованием серийных номеров дат, векторов символов дат или массивов datetime. Праздничные дни используются в вычислительных рабочих днях.
Типы данных: double
| char
| datetime
'BusinessDayConvention'
- Договоры о рабочих днях'actual'
(по умолчанию) | символьный вектор со значениями 'actual'
, 'follow'
, 'modifiedfollow'
, 'previous'
или 'modifiedprevious'
Соглашения о рабочих днях в виде NINST
-by- 1
массив ячеек из векторов символов соглашений о рабочих днях, которые будут использоваться при вычислении дат оплаты. Выбор для соглашения о рабочих днях определяет, как обрабатываются дни небизнеса. Дни небизнеса определяются как выходные дни плюс любая другая дата, когда предприятия не открыты (для примера, уставных праздников). Значения:
'actual'
- Дни небизнеса эффективно игнорируются. Денежные потоки, которые приходятся на нерабочие дни, считаются распределенными на фактическую дату.
'follow'
- Денежные потоки, которые приходятся на день небизнеса, принимаются распределенными на следующий рабочий день.
'modifiedfollow'
- Денежные потоки, которые приходятся на нерабочий день, принимаются распределенными на следующий рабочий день. Однако если следующий рабочий день находится в другом месяце, то вместо этого принимается предыдущий рабочий день.
'previous'
- Денежные потоки, которые приходятся на день небизнеса, принимаются распределенными в предыдущий рабочий день.
'modifiedprevious'
- Денежные потоки, которые приходятся на день небизнеса, принимаются распределенными в предыдущий рабочий день. Однако, если предыдущий рабочий день находится в другом месяце, вместо этого принимается следующий рабочий день.
Типы данных: char
| cell
Margin
- Скидочная маржаСкидка маржа, возвращенная как NINST
-by- 1
вектор скидочной маржи, если RateInfo
задается как NINST
-by- 2
вектор заглушек и точечных скоростей.
Если RateInfo
задается как годовая структура терминов нулевой ставки, созданная intenvset
(Financial Instruments Toolbox), Margin
возвращается как NINST
-by- NCURVES
матрица нулевой скидочной маржи.
[1] Фабоцци, Фрэнк Дж., Манн, Стивен В. Ценные бумаги с плавающей ставкой. Джон Уайли и сыновья, Нью-Йорк, 2000 год.
[2] Фабоцци, Фрэнк Дж., Манн, Стивен В. Введение в аналитику фиксированного дохода: анализ относительной стоимости, меры риска и оценка. Джон Уайли и сыновья, Нью-Йорк, 2010.
[3] О'Кейн, Доминик, Сен, Саурав. «Объяснение кредитных спредов». Количественное исследование фиксированного дохода Lehman Brothers, март 2004 года.
bndspread
| datetime
| floatmargin
| floatbyzero
(Financial Instruments Toolbox) | intenvset
(Тулбокс финансовых инструментов)
У вас есть измененная версия этого примера. Вы хотите открыть этот пример с вашими правками?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.