bndtotalreturn

Общий возврат облигации с фиксированным купоном

Описание

пример

[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

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

свернуть все

Чистая цена на дату расчета, заданная как скаляр или NINST-by- 1 вектор.

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

Ставка купона, заданная как скаляр или NINST-by- 1 вектор десятичных значений.

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

Дата расчета облигации с фиксированным купоном в виде скаляра или NINST-by- 1 вектор серийных номеров дат, векторов символов даты или массивов datetime. Если поставляется как NINST-by- 1 вектор дат, даты расчета могут быть различными, пока они находятся перед Maturity дата и HorizonDate.

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

Дата погашения облигации с фиксированным купоном в виде скаляра или NINST-by- 1 вектор серийных номеров дат, векторов символов даты или массивов datetime.

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

Ставка реинвестирования (ставка, полученная путем реинвестирования купонов), заданная как скаляр или 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' и скаляр или NINST-by- 1 вектор с использованием серийных номеров дат, векторов символов дат или массивов данных времени.

Если HorizonDate не задан, общий возврат вычисляется как Maturity.

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

Цена на дату инвестиционного горизонта, заданная как разделенная разделенными запятой парами, состоящая из 'HorizonPrice' и скаляр или NINST-by- 1 вектор.

Если HorizonPrice не определено, цена в HorizonDate вычисляется на основе ReinvestRate. Если на HorizonDate равен Maturity дата, HorizonPrice игнорируется, и общий возврат к сроку вычисляется на основе Face значение.

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

Количество купонных выплат в год в виде разделенной разделенными запятой парами, состоящей из 'Period' и скаляр или NINST-by- 1 вектор с использованием значений: 0, 1, 2, 3, 4, 6, или 12.

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

Базис отсчета дней, заданный как разделенная разделенными запятой парами, состоящая из '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' и скаляр или NINST-by- 1 вектор. Это правило применяется только тогда, когда Maturity - дата окончания месяца для месяца, имеющего 30 или менее дней.

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

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

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

Дата выпуска облигации, заданная как разделенная разделенными запятой парами, состоящая из 'IssueDate' и скаляр или NINST-by- 1 вектор с использованием серийных номеров дат, векторов символов дат или массивов данных времени.

Если вы не задаете IssueDateДаты платежа денежного потока определяются из других входов.

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

Нерегулярная или нормальная дата первого купона, заданная как разделенная разделенными запятой парами, состоящая из 'FirstCouponDate' и скаляр или NINST-by- 1 вектор с использованием серийных номеров дат, векторов символов дат или массивов данных времени.

Если вы не задаете FirstCouponDateДаты платежа денежного потока определяются из других входов.

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

Нерегулярная или нормальная дата последнего купона, заданная как разделенная разделенными запятой парами, состоящая из 'LastCouponDate' и скаляр или NINST-by- 1 вектор с использованием серийных номеров дат, векторов символов дат или массивов данных времени.

Если вы не задаете LastCouponDateДаты платежа денежного потока определяются из других входов.

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

Дата начала пересчета платежей, заданная как разделенная разделенными запятой парами, состоящая из 'StartDate' и скаляр или NINST-by- 1 вектор с использованием серийных номеров дат, векторов символов дат или массивов данных времени.

Если вы не задаете StartDate, дата начала вступления в силу является Settle дата.

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

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

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

Частота компаундирования для вычисления выражения, заданная как разделенная разделенными запятой парами, состоящая из 'CompoundingFrequency' и скаляр или NINST-by- 1 вектор.

  • 1 - Ежегодное компаундирование

  • 2 - Полу-годичное компаундирование

  • 3 - Смешивание три раза в год

  • 4 - ежеквартальное компаундирование

  • 6 - Двухмесячное компаундирование

  • 12 - Ежемесячное компаундирование

Примечание

По умолчанию SIA основ (0- 7) и BUS/252 используйте полугодовое соглашение о компаундировании и основы ICMA (8- 12) использовать ежегодное соглашение о компаундировании.

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

Базис, используемый для вычисления коэффициентов дисконтирования для вычисления выражения, заданный как разделенная разделенными запятой парами, состоящая из '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 (812) и BUS/252 для использования заданной DiscountBasis.

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

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

свернуть все

Общий возврат в эквивалентном базисе облигаций, возвращенная как NUMBONDS-by- 1 вектор.

Общий возврат в основе эффективной ставки, возвращенная как NUMBONDS-by- 1 вектор.

Ссылки

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

Введенный в R2012b
Для просмотра документации необходимо авторизоваться на сайте