bndprice

Ценовая безопасность фиксированного дохода от дохода до срока погашения

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

Синтаксис

[Price,AccruedInt] = bndprice(Yield,CouponRate,Settle,Maturity)
[Price,AccruedInt] = bndprice(___,Name,Value)

Описание

пример

[Price,AccruedInt] = bndprice(Yield,CouponRate,Settle,Maturity) учитывая связи с параметрами даты SIA и доходами до срока погашения, возвращает чистые цены и подлежащие выплате начисленные проценты.

пример

[Price,AccruedInt] = bndprice(___,Name,Value) добавляют дополнительные аргументы пары "имя-значение".

Примеры

свернуть все

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

Yield = [0.04; 0.05; 0.06]; 
CouponRate = 0.05; 
Settle = '20-Jan-1997'; 
Maturity = '15-Jun-2002'; 
Period = 2; 
Basis = 0; 

[Price, AccruedInt] = bndprice(Yield, CouponRate, Settle,...
Maturity, Period, Basis)
Price = 3×1

  104.8106
   99.9951
   95.4384

AccruedInt = 3×1

    0.4945
    0.4945
    0.4945

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

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

  104.8106
   99.9951
   95.4384

AccruedInt = 3×1

    0.4945
    0.4945
    0.4945

Этот пример показывает, как оценить Казначейскую облигацию в двух различных значениях урожая, которые включают пары параметра/значения для CompoundingFrequency, DiscountBasis и LastCouponPeriodInterest.

bndprice(.04,0.08,'5/25/2004','4/21/2005','Period',1,'Basis',8, ...
'LastCouponInterest','simple')
ans = 103.4743

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

свернуть все

Доходность облигации к зрелости задана как скаляр или NUMBONDS-by-1 или 1-by-NUMBONDS вектор. Yield находится на полугодовой основе для значений Basis 0 через 7 и 13 и ежегодное основание для значений Basis 8 через 12.

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

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

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

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

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

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

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

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

Укажите необязательные аргументы в виде пар ""имя, значение"", разделенных запятыми. Имя (Name) — это имя аргумента, а значение (Value) — соответствующее значение. Name должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Если вы не задаете StartDate, эффективная дата начала является датой Settle.

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

Номинальная стоимость связи, заданной как пара, разделенная запятой, состоящая из 'Face' и скаляра или NUMBONDS-by-1 или 1-by-NUMBONDS вектор.

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

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

  • 1 — Ежегодное соединение

  • 2 — Полугодовое соединение

  • 3 — Соединение три раза в год

  • 4 — Ежеквартально соединение

  • 6 — Два раза в месяц соединение

  • 12 — Ежемесячно соединение

Примечание

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

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

Основание раньше вычисляло коэффициенты дисконтирования для вычисления урожая, заданного как пара, разделенная запятой, состоящая из 'DiscountBasis' и скаляра или NUMBONDS-by-1 или 1-by-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, чтобы использовать фактическое/фактическое дневное количество, чтобы вычислить коэффициенты дисконтирования.

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

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

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

  • simple

  • compound

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

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

свернуть все

Чистая цена связи, возвращенной как NUMBONDS-by-1 вектор. Грязная цена связи является чистой ценой плюс начисленные проценты. Это равняется приведенной стоимости потоков наличности связи дохода до срока погашения с полугодовым соединением.

начисленные проценты, подлежащие оплате в поселении, возвращенном как NUMBONDS-by-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=i=1n(CF(1+zf)TF),

где:

PV =

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

CF =

Сумма потока наличности.

z =

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

f =

Частота кавычек для урожая. Значением по умолчанию является 2 для значений Basis 0 к 7 и 13 и 1 для значений Basis 8 к 12. Значение по умолчанию может быть заменено путем определения пары "имя-значение" CompoundingFrequency.

TF =

Фактор времени для данного потока наличности. Фактор времени вычисляется с помощью частоты соединения и дисконтного основания. Если эти значения не заданы, то значения по умолчанию следующие: значением по умолчанию CompoundingFrequency является 2 для значений Basis 0 к 7 и 13 и 1 для значений Basis 8 к 12. DiscountBasis является 0 для значений Basis 0 к 7 и 13 и входу Basis для значений Basis 8 к 12.

Примечание

Basis всегда используется, чтобы вычислить начисленные проценты.

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

Ссылки

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

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

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

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