exponenta event banner

bnddury

Продолжительность выпуска облигаций

В R2017b, спецификация необязательных входных аргументов изменилась. Хотя синтаксис предыдущих упорядоченных входных данных по-прежнему поддерживается, он может больше не поддерживаться в будущей версии. Используйте дополнительные входные значения пары имя-значение: Period, Basis, EndMonthRule, IssueDate,FirstCouponDate, LastCouponDate, StartDate,Face, CompoundingFrequency, DiscountBasis, и LastCouponInterest.

Описание

пример

[ModDuration,YearDuration,PerDuration] = bnddury(Yield,CouponRate,Settle,Maturity) вычисляет Маколей и измененную продолжительность NUMBONDS ценные бумаги с фиксированной доходностью, выданные к погашению по каждой облигации.

bnddury определяет Маколей и измененную продолжительность для облигации, являются ли первый или последний купонные периоды в структуре купона короткими или длинными (то есть синхронизирована ли купонная структура со сроком погашения). bnddury также определяет Маколей и измененную продолжительность для нулевой купонной облигации.

пример

[ModDuration,YearDuration,PerDuration] = bnddury(___,Name,Value) добавляет необязательные аргументы пары имя-значение.

Примеры

свернуть все

В этом примере показано, как вычислить длительность облигации при трех различных значениях доходности.

Yield = [0.04; 0.055; 0.06];  
CouponRate = 0.055; 
Settle = '02-Aug-1999'; 
Maturity = '15-Jun-2004'; 
Period = 2; 
Basis = 0; 

[ModDuration,YearDuration,PerDuration]=bnddury(Yield,... 
CouponRate, Settle, Maturity, Period, Basis)
ModDuration = 3×1

    4.2444
    4.1924
    4.1751

YearDuration = 3×1

    4.3292
    4.3077
    4.3004

PerDuration = 3×1

    8.6585
    8.6154
    8.6007

В этом примере показано, как использовать datetime входные данные для вычисления длительности облигации при трех различных значениях доходности.

Yield = [0.04; 0.055; 0.06];
CouponRate = 0.055;
Settle = datetime('02-Aug-1999','Locale','en_US');
Maturity = datetime('15-Jun-2004','Locale','en_US');
Period = 2;
Basis = 0;
[ModDuration,YearDuration,PerDuration]=bnddury(Yield,...
CouponRate, Settle, Maturity, Period, Basis)
ModDuration = 3×1

    4.2444
    4.1924
    4.1751

YearDuration = 3×1

    4.3292
    4.3077
    4.3004

PerDuration = 3×1

    8.6585
    8.6154
    8.6007

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

свернуть все

Доходность до зрелости на полугодовой основе, заданная как десятичное значение с помощью скаляра или NUMBONDSоколо-1 или 1около-NUMBONDS вектор.

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

Годовая процентная ставка, используемая для определения купонов, подлежащих выплате по облигации, определяемая как десятичное значение с использованием скаляра или NUMBONDSоколо-1 или 1около-NUMBONDS вектор.

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

Дата расчета по депозитному сертификату, указанная как скаляр или NUMBONDSоколо-1 или 1около-NUMBONDS вектор с использованием серийных номеров дат, векторов символов даты или массивов datetime. Settle дата должна быть до Maturity дата.

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

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

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

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

Укажите дополнительные пары, разделенные запятыми Name,Value аргументы. Name является именем аргумента и Value - соответствующее значение. Name должен отображаться внутри кавычек. Можно указать несколько аргументов пары имен и значений в любом порядке как Name1,Value1,...,NameN,ValueN.

Пример: [ModDuration,YearDuration,PerDuration] = bnddury(Yield,CouponRate,Settle,Maturity,'Period',4,'Basis',7)

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

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

Количество дней прибора, указанное как пара, разделенная запятыми, состоящая из 'Basis' и скаляр или NUMBONDSоколо-1 или 1около-NUMBONDS вектор с использованием поддерживаемого значения:

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

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

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

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

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

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

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

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

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

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

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

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

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

Прямая дата начала платежей, указанная как пара, разделенная запятыми, состоящая из 'StartDate' и скаляр или NUMBONDSоколо-1 или 1около-NUMBONDS вектор с использованием серийных номеров дат, векторов символов даты или массивов datetime. StartDate - когда действительно начинается облигация (дата, с которой рассматривается денежный поток облигации). Для форвардного запуска инструмента укажите эту дату в качестве будущей даты.

Если не указать StartDate, дата начала действия - Settle дата.

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

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

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

Частота объединения для расчета выхода, указанная как пара, разделенная запятыми, состоящая из 'CompoundingFrequency' и скаляр или NUMBONDSоколо-1 или 1около-NUMBONDS вектор.

  • 1 - Годовое суммирование

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

  • 3 - Три раза в год

  • 4 - Квартальное суммирование

  • 6 - Компаундирование раз в два месяца

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

Примечание

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

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

Базис, используемый для вычисления коэффициентов дисконтирования для вычисления доходности, указанной как пара, разделенная запятыми, состоящая из 'DiscountBasis' и скаляр или NUMBONDSоколо-1 или 1около-NUMBONDS вектор. Значения:

  • 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 определен в Basis входной аргумент и нет значения, назначенного для DiscountBasis, поведение по умолчанию заключается в том, чтобы базы SIA использовали фактическое/фактическое количество дней для вычисления коэффициентов дисконтирования.

Если база или BUS/252 подсчета дней ICMA определена в Basis входной аргумент и нет значения, назначенного для DiscountBasis, указанные базы из Basis используются входные аргументы.

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

Соглашение о сложении для расчета доходности облигации в последний купонный период, указанное как пара, разделенная запятыми, состоящая из 'LastCouponInterest' и скаляр или NUMBONDSоколо-1 или 1около-NUMBONDS вектор. LastCouponInterest основан только на последнем купоне и номинальной стоимости, подлежащей погашению. Допустимые значения:

  • simple

  • compound

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

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

свернуть все

Измененная продолжительность в годах, о которых сообщается на основе полугодовых облигаций (в соответствии с конвенцией SIA), возвращается в качестве NUMBONDSоколо-1 вектор.

Продолжительность Маколея в годах, возвращенная как NUMBONDSоколо-1 вектор.

Периодическая продолжительность Маколея, представляемая на основе полугодовых облигаций (в соответствии с конвенцией SIA), возвращается в виде NUMBONDSоколо-1 вектор.

Ссылки

[1] Кргин, D. Справочник по глобальным расчетам фиксированного дохода. Уайли, 2002.

[2] Мейл, Дж. «Стандартные методы расчета ценных бумаг: формулы ценных бумаг с фиксированным доходом для аналитических показателей». SIA, том 2, январь 1994 года.

[3] Стигум, М., Робинсон, Ф. Денежный рынок и расчет облигаций. Макгроу-Хилл, 1996.

Представлен до R2006a