exponenta event banner

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около-1 или 1около-NUMBONDS вектор. Yield на полугодовой основе для Basis ценности 0 через 7 и 13 и ежегодная основа для Basis ценности 8 через 12.

Типы данных: 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.

Пример: [Price,AccruedInt] = bndprice(Yield,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 использовали фактическое/фактическое количество дней для вычисления коэффициентов дисконтирования.

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

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

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

  • simple

  • compound

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

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

свернуть все

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

начисленные проценты, подлежащие уплате при расчете, возвращенные как 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=∑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] Кргин, D. Справочник по глобальным расчетам фиксированного дохода. Уайли, 2002.

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

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

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