exponenta event banner

bndyield

Доходность до погашения для обеспечения с фиксированным доходом

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

Описание

пример

Yield = bndyield(Price,CouponRate,Settle,Maturity) данный NUMBONDS облигации с параметрами даты SIA и чистыми ценами (исключая начисленные проценты), возвращает эквивалентную доходность облигаций к погашению.

пример

Yield = bndyield(___,Name,Value) добавляет необязательные аргументы «имя-значение».

Примеры

свернуть все

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

Price = [95; 100; 105]; 
CouponRate = 0.05; 
Settle = '20-Jan-1997'; 
Maturity = '15-Jun-2002'; 
Period = 2; 
Basis = 0; 

Yield = bndyield(Price, CouponRate, Settle,... 
Maturity, Period, Basis)
Yield = 3×1

    0.0610
    0.0500
    0.0396

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

Price = [95; 100; 105];
CouponRate = 0.05;
Settle = datetime('20-Jan-1997','Locale','en_US');
Maturity = datetime('15-Jun-2002','Locale','en_US');
Period = 2;
Basis = 0;
Yield = bndyield(Price, CouponRate, Settle,...
Maturity, Period, Basis)
Yield = 3×1

    0.0610
    0.0500
    0.0396

Вычислите доходность казначейской облигации.

Price = [95; 100; 105];
CouponRate = 0.0345;
Settle = '15-May-2016';
Maturity = '02-Feb-2026';
Period = 2;
Basis = 1;
format long

Yield = bndyield(Price,CouponRate,Settle,Maturity,Period,Basis)
Yield = 3×1

   0.040764403932618
   0.034482347625316
   0.028554719853118

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

DiscountBasis = 1;

Yield = bndyield(Price,CouponRate,Settle,Maturity,'Period',Period,'Basis',Basis, ...
'DiscountBasis',DiscountBasis)
Yield = 3×1

   0.040780176658036
   0.034495592361619
   0.028565614029497

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

свернуть все

Чистая цена облигации (текущая цена без начисленных процентов), указанная как скаляр или 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.

Пример: Yield = bndyield(Price,CouponRate,Settle,Maturity,'Period',4,'Basis',9)

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

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

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

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

  • simple

  • compound

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

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

свернуть все

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

Подробнее

свернуть все

Соглашения по цене и доходности

Price и Yield связаны с различными формулами для конвенций SIA и ICMA.

Для конвенций SIA, Price и Yield связаны формулой:

 Price + Accrued Interest = sum(Cash_Flow*(1+Yield/2)^(-Time)) 
где сумма превышает денежные потоки облигации и соответствующее время в единицах полугодового купонного периода.

Для конвенций ICMA, Price и Yield связаны формулой:

 Price + Accrued Interest = sum(Cash_Flow*(1+Yield)^(-Time))

Алгоритмы

Для соглашений SIA цена и доходность облигаций определяются по следующей формуле:

PV = CF (1 + zf) TF,

где:

PV =

Приведенная стоимость денежного потока.

CF =

Сумма денежного потока.

z =

Скорректированная на риск годовая ставка или доходность, соответствующая данному денежному потоку. Доходность котируется на полугодовой основе.

f =

Частота котировок для доходности.

TF =

Временной коэффициент для данного денежного потока. Время измеряется в полугодовых периодах от даты расчета до даты денежного потока. При вычислении факторов времени используйте SIA actual/actual соглашения по подсчету дней для всех вычислений временных коэффициентов.

Для соглашений ICMA частота ежегодных купонных выплат определяет цену и доходность облигаций.

Ссылки

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

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

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

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