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) добавляют дополнительные аргументы 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.0408
    0.0345
    0.0286

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

DiscountBasis = 1;

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

    0.0408
    0.0345
    0.0286

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

свернуть все

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

  •  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 = ШИНА/252

Для получения дополнительной информации смотрите Базис.

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

Правило конца месяца отмечает в виде разделенной запятой пары, состоящей из 'EndMonthRule' и скаляр или NUMBONDS- 1 или 1- NUMBONDS вектор. Это правило применяется только когда Maturity дата конца месяца в течение месяца, имея 30 или меньше дней.

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

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

Типы данных: логический

Дата Выпуска облигаций в виде разделенной запятой пары, состоящей из '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 (СИА)

  •  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 = ШИНА/252

Для получения дополнительной информации смотрите Базис.

Примечание

Если базис дневного количества SIA задан в Basis входной параметр и нет никакого значения, присвоенного для DiscountBasis, поведение по умолчанию для основ SIA, чтобы использовать actual/actual дневное количество, чтобы вычислить коэффициенты дисконтирования.

Если базис дневного количества ICMA или BUS/252 заданы в 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 =

Фактор времени для данного потока наличности. Время измеряется в полугодовые периоды с расчетного дня на дату потока наличности. В вычислительных факторах времени используйте СИА actual/actual базы ежедневного расчета процентов навсегда факторные вычисления.

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

Ссылки

[1] Krgin, D. Руководство глобальных вычислений фиксированного дохода. Вайли, 2002.

[2] Mayle, J. "Методы вычислений стандартных защит: формулы ценных бумаг фиксированного дохода для аналитических мер". SIA, Vol 2, январь 1994.

[3] Stigum, M., Робинсон, F. Денежный рынок и вычисление связи. McGraw-Hill, 1996.

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