bndprice

Цена обеспечения фиксированного дохода от выражения до срока погашения

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

Описание

пример

[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 вектор с использованием серийных номеров дат, векторов символов дат или массивов данных времени. The Settle дата должна быть перед Maturity дата.

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

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

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

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

Задайте необязательные разделенные разделенными запятой парами Name,Value аргументы. 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 (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-by- 1 или 1-by- NUMBONDS вектор. Это правило применяется только тогда, когда Maturity - дата окончания месяца для месяца, имеющего 30 или менее дней.

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

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

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

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

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

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

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

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

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

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

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

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

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

Если вы не задаете 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 (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

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

Примечание

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

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

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

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

  • simple

  • compound

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

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

свернуть все

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

начисленные проценты к оплате при расчете, возвращенные как NUMBONDS-by- 1 вектор.

Подробнее о

свернуть все

Соглашение о цене и выражении

The 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.

Примечание

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

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

Ссылки

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

[2] Mayle, J. «Стандартные методы расчета ценных бумаг: формулы ценных бумаг с фиксированным доходом для аналитических мер». SIA, Vol 2, Jan 1994.

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

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