Общий возврат облигации с фиксированным купоном
[
вычисляет общий возврат облигаций с фиксированным купоном к сроку погашения или к определенному инвестиционному горизонту.BondEquiv
,EffectiveRate
] = bndtotalreturn(Price
,CouponRate
,Settle
,Maturity
,ReinvestRate
)
[
добавляет необязательные аргументы пары "имя-значение". BondEquiv
,EffectiveRate
] = bndtotalreturn(___,Name,Value
)
Использование bndtotalreturn
для расчета общего возврата облигации с фиксированным купоном, заданной на дату инвестиционного горизонта.
Определите облигацию с фиксированным купоном.
Price = 101; CouponRate = 0.05; Settle = '15-Nov-2011'; Maturity = '15-Nov-2031'; ReinvestRate = 0.04;
Вычислите общий возврат к сроку.
[BondEquiv, EffectiveRate] = bndtotalreturn(Price, CouponRate, ...
Settle, Maturity, ReinvestRate)
BondEquiv = 0.0460
EffectiveRate = 0.0466
Задайте горизонт инвестирования.
HorizonDate = '15-Nov-2021'; [BondEquiv, EffectiveRate] = bndtotalreturn(Price, CouponRate, ... Settle, Maturity, ReinvestRate, 'HorizonDate', HorizonDate)
BondEquiv = 0.0521
EffectiveRate = 0.0528
Выполните анализ сценария на уровне реинвестирования.
ReinvestRate = [0.03; 0.035; 0.04; 0.045; 0.05]; [BondEquiv, EffectiveRate] = bndtotalreturn(Price, CouponRate, ... Settle, Maturity, ReinvestRate, 'HorizonDate', HorizonDate)
BondEquiv = 5×1
0.0557
0.0538
0.0521
0.0505
0.0490
EffectiveRate = 5×1
0.0565
0.0546
0.0528
0.0511
0.0496
Использование bndtotalreturn
с datetime
входы для вычисления общего возврата облигации с фиксированным купоном, заданные на дату инвестиционного горизонта.
Price = 101; CouponRate = 0.05; Settle = datetime('15-Nov-2011','Locale','en_US'); Maturity = datetime('15-Nov-2031','Locale','en_US'); HorizonDate = datetime('15-Nov-2021','Locale','en_US'); ReinvestRate = 0.04; [BondEquiv, EffectiveRate] = bndtotalreturn(Price, CouponRate, ... Settle, Maturity, ReinvestRate, 'HorizonDate', HorizonDate)
BondEquiv = 0.0521
EffectiveRate = 0.0528
Price
- Чистая цена на дату расчетаЧистая цена на дату расчета, заданная как скаляр или NINST
-by- 1
вектор.
Типы данных: double
CouponRate
- Ставка купонаСтавка купона, заданная как скаляр или NINST
-by- 1
вектор десятичных значений.
Типы данных: double
Settle
- Дата расчета облигации с фиксированным купономДата расчета облигации с фиксированным купоном в виде скаляра или NINST
-by- 1
вектор серийных номеров дат, векторов символов даты или массивов datetime. Если поставляется как NINST
-by- 1
вектор дат, даты расчета могут быть различными, пока они находятся перед Maturity
дата и HorizonDate
.
Типы данных: double
| char
| datetime
Maturity
- Дата погашения облигации с фиксированным купономДата погашения облигации с фиксированным купоном в виде скаляра или NINST
-by- 1
вектор серийных номеров дат, векторов символов даты или массивов datetime.
Типы данных: double
| char
| datetime
ReinvestRate
- Ставка реинвестированияСтавка реинвестирования (ставка, полученная путем реинвестирования купонов), заданная как скаляр или NINST
-by- 2
вектор десятичных значений.
Типы данных: double
Задайте необязательные разделенные разделенными запятой парами Name,Value
аргументы. Name
- имя аргумента и Value
- соответствующее значение. Name
должны находиться внутри кавычек. Можно задать несколько аргументов в виде пар имен и значений в любом порядке Name1,Value1,...,NameN,ValueN
.
[BondEquiv,EffectiveRate] = bndtotalreturn(Price,CouponRate,Settle,Maturity,ReinvestRate,'HorizonDate','15-Nov-2021')
'HorizonDate'
- Дата инвестиционного горизонтаMaturity
дата (по умолчанию) | серийный номер даты | вектор символов даты | datetimeДата инвестиционного горизонта, заданная как разделенная разделенными запятой парами, состоящая из 'HorizonDate'
и скаляр или NINST
-by- 1
вектор с использованием серийных номеров дат, векторов символов дат или массивов данных времени.
Если HorizonDate
не задан, общий возврат вычисляется как Maturity
.
Типы данных: double
| char
| datetime
'HorizonPrice'
- Цена на дату инвестиционного горизонтаReinvestRate
(по умолчанию) | числоЦена на дату инвестиционного горизонта, заданная как разделенная разделенными запятой парами, состоящая из 'HorizonPrice'
и скаляр или NINST
-by- 1
вектор.
Если HorizonPrice
не определено, цена в HorizonDate
вычисляется на основе ReinvestRate
. Если на HorizonDate
равен Maturity
дата, HorizonPrice
игнорируется, и общий возврат к сроку вычисляется на основе Face
значение.
Типы данных: double
'Period'
- Количество купонных выплат в год2
(по умолчанию) | число со значениями 0
, 1
, 2
, 3
, 4
, 6
или 12
Количество купонных выплат в год в виде разделенной разделенными запятой парами, состоящей из 'Period'
и скаляр или NINST
-by- 1
вектор с использованием значений: 0
, 1
, 2
, 3
, 4
, 6
, или 12
.
Типы данных: double
'Basis'
- базис подсчета дней0
(фактический/фактический) (по умолчанию) | целыми числами набора [0...13]
| вектор целых чисел множества [0...13]
Базис отсчета дней, заданный как разделенная разделенными запятой парами, состоящая из 'Basis'
и скаляр или 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
'EndMonthRule'
- Флаг правила в конце месяца1
(в действии) (по умолчанию) | неотрицательное целое число 0
или 1
Флаг правила в конце месяца, заданный как разделенная разделенными запятой парами, состоящая из 'EndMonthRule'
и скаляр или NINST
-by- 1
вектор. Это правило применяется только тогда, когда Maturity
- дата окончания месяца для месяца, имеющего 30 или менее дней.
0
= Игнорируйте правило, означающее, что дата выплаты купона по облигации всегда совпадает с числовым днем месяца.
1
= Установите правило, означающее, что дата выплаты купона по облигации всегда является последним фактическим днем месяца.
Типы данных: logical
'IssueDate'
- Дата выпуска облигацийДата выпуска облигации, заданная как разделенная разделенными запятой парами, состоящая из 'IssueDate'
и скаляр или NINST
-by- 1
вектор с использованием серийных номеров дат, векторов символов дат или массивов данных времени.
Если вы не задаете IssueDate
Даты платежа денежного потока определяются из других входов.
Типы данных: double
| char
| datetime
'FirstCouponDate'
- Нерегулярная или нормальная дата первого купонаНерегулярная или нормальная дата первого купона, заданная как разделенная разделенными запятой парами, состоящая из 'FirstCouponDate'
и скаляр или NINST
-by- 1
вектор с использованием серийных номеров дат, векторов символов дат или массивов данных времени.
Если вы не задаете FirstCouponDate
Даты платежа денежного потока определяются из других входов.
Типы данных: double
| char
| datetime
'LastCouponDate'
- Нерегулярная или нормальная дата последнего купонаНерегулярная или нормальная дата последнего купона, заданная как разделенная разделенными запятой парами, состоящая из 'LastCouponDate'
и скаляр или NINST
-by- 1
вектор с использованием серийных номеров дат, векторов символов дат или массивов данных времени.
Если вы не задаете LastCouponDate
Даты платежа денежного потока определяются из других входов.
Типы данных: double
| char
| datetime
'StartDate'
- Форвардная дата начала платежейДата начала пересчета платежей, заданная как разделенная разделенными запятой парами, состоящая из 'StartDate'
и скаляр или NINST
-by- 1
вектор с использованием серийных номеров дат, векторов символов дат или массивов данных времени.
Если вы не задаете StartDate
, дата начала вступления в силу является Settle
дата.
Типы данных: double
| char
| datetime
'Face'
- Номинальное значение облигации100
(по умолчанию) | числоНоминальное значение облигации, заданная как разделенная разделенными запятой парами, состоящая из 'Face'
и скаляр или NINST
-by- 1
вектор.
Типы данных: double
'CompoundingFrequency'
- Частота компаундирования для расчета выражения1
, 2
, 3
, 4
, 6
, или 12
Частота компаундирования для вычисления выражения, заданная как разделенная разделенными запятой парами, состоящая из 'CompoundingFrequency'
и скаляр или NINST
-by- 1
вектор.
1
- Ежегодное компаундирование
2
- Полу-годичное компаундирование
3
- Смешивание три раза в год
4
- ежеквартальное компаундирование
6
- Двухмесячное компаундирование
12
- Ежемесячное компаундирование
Примечание
По умолчанию SIA основ (0
- 7
) и BUS/252
используйте полугодовое соглашение о компаундировании и основы ICMA (8
- 12
) использовать ежегодное соглашение о компаундировании.
Типы данных: double
'DiscountBasis'
- Базис, используемый для вычисления коэффициентов дисконтирования для вычисления выражения[0...13]
| вектор целых чисел множества [0...13]
Базис, используемый для вычисления коэффициентов дисконтирования для вычисления выражения, заданный как разделенная разделенными запятой парами, состоящая из 'DiscountBasis'
и скаляр или 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
Для получения дополнительной информации см. раздел Базиса.
Примечание
Поведение по умолчанию для основ SIA (0
- 7
) для использования actual/actual
счетчик дней для вычисления коэффициентов дисконтирования и для счетчиков дней ICMA (8
– 12
) и BUS/252
для использования заданной DiscountBasis
.
Типы данных: double
BondEquiv
- Общий возврат в эквивалентном базисе облигацийОбщий возврат в эквивалентном базисе облигаций, возвращенная как NUMBONDS
-by- 1
вектор.
EffectiveRate
- Общий возврат в базисе эффективной ставкиОбщий возврат в основе эффективной ставки, возвращенная как NUMBONDS
-by- 1
вектор.
[1] Фабоцци, Фрэнк Дж., Манн, Стивен В. Введение в аналитику фиксированного дохода: анализ относительной стоимости, меры риска и оценка. Джон Уайли и сыновья, Нью-Йорк, 2010.
У вас есть измененная версия этого примера. Вы хотите открыть этот пример с вашими правками?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.