Ценовая связь со ступенчатыми купонами
[ вычисляет цену связей со ступенчатыми купонами, учитывая доход до срока погашения. Функция поддерживает любое количество дат преобразования.Price,AccruedInterest] = stepcpnprice(Yield,Settle,Maturity,ConvDates,CouponRates)
[ добавляют дополнительные дополнительные аргументы.Price,AccruedInterest] = stepcpnprice(___,Period,Basis,EndMonthRule,Face)
Вычислите цену и начисленные проценты, подлежащие выплате на портфеле ступенчатых облигаций на предъявителя, имеющих выражение 7,221%, учитывая три сценария преобразования:
Связь A имеет два преобразования, первое, падающее на уладить дату и сразу истечение.
Связь B имеет три преобразования с датами преобразования точно в даты купона.
Связь C имеет три преобразования с одной или несколькими датами преобразования не в даты купона. Этот случай иллюстрирует, что только потоки наличности в течение полных периодов после дат преобразования затронуты, как проиллюстрировано ниже:

Следующая таблица иллюстрирует характеристики процентной ставки этого портфеля связи.

Задайте технические требования для связей.
Yield = 0.07221; Settle = datenum('02-Aug-1992'); ConvDates = [datenum('02-Aug-1992'), datenum('15-Jun-2003'),... nan; datenum('15-Jun-1997'), datenum('15-Jun-2001'),... datenum('15-Jun-2005'); datenum('14-Jun-1997'), datenum('14-Jun-2001'),... datenum('14-Jun-2005')]; Maturity = datenum('15-Jun-2010'); CouponRates = [0.075 0.08875 0.0925 nan; 0.075 0.08875 0.0925 0.1; 0.075 0.08875 0.0925 0.1]; Basis = 1; Period = 2; EndMonthRule = 1; Face = 100;
Используйте stepcpnprice вычислить цены облигаций со ступенчатыми купонами.
[Price, AccruedInterest] = stepcpnprice(Yield, Settle, Maturity, ConvDates, CouponRates, Period, Basis, EndMonthRule, Face)
Price = 3×1
117.3874
113.4387
114.1759
AccruedInterest = 3×1
1.1587
0.9792
0.9792
Yield — Доход до срока погашенияДоход до срока погашения в виде скаляра или NUMBONDS- 1 вектор из числовых значений.
Типы данных: double
Settle — Расчетный деньРасчетный день, заданный или как скаляр или как NUMBONDS- 1 вектор из последовательных чисел даты.
Settle должен быть ранее, чем Maturity.
Типы данных: double
Maturity — Дата погашенияДата погашения в виде скаляра или NUMBONDS- 1 вектор из последовательных чисел даты, представляющих дату погашения для каждой связи.
Типы данных: double
ConvDates — Даты преобразованияДаты преобразования в виде NSTP-макс. (NCONV) матрица, содержащая даты преобразования после Settle. Размер матрицы равен количеству инструментов максимальным количеством преобразований. Заполните незаданные записи NaN.
Типы данных: double
CouponRates — Уровень облигационного купона Уровень облигационного купона в виде NSTP-макс. (NCONV+1) матрица, содержащая купонные ставки для каждой связи в портфеле в десятичной форме. Матричный размер равен количеству инструментов максимальным количеством преобразований + 1. Первый столбец этой матрицы содержит уровни, применимые между Settle и первая дата преобразования (дата в первом столбце ConvDates). Заполните незаданные записи NaN
ConvDates имеет одинаковое число строк как CouponRates отразить то же количество связей. Однако ConvDates имеет тот меньше столбца, чем CouponRates. Эта ситуация проиллюстрирована
Settle---------ConvDate1-----------ConvDate2------------Maturity
Rate1 Rate2 Rate3Типы данных: double
Period — Купоны в год в год (значение по умолчанию) | вектор(Необязательно) Купоны в год в виде NUMBONDS- 1 вектор. Значения для Period 1, 2, 3, 4, 6, и 12.
Типы данных: double
Basis — Базис дневного количества (фактическое/фактическое) (значение по умолчанию) | целое число от 0 к 13(Необязательно) базис Дневного количества каждого инструмента в виде NUMBONDS- 1 вектор.
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 — Правило конца месяца отмечает для генерации дат когда Maturity дата конца месяца в течение месяца, имея 30 или меньше дней (в действительности) (значение по умолчанию) | неотрицательный целочисленный [0,1](Необязательно) Конец месяца управляет флагом для генерации дат когда Maturity дата конца месяца в течение месяца, имея 30 или меньше дней, заданных для каждой связи как неотрицательное целое число [0, 1] использование NUMBONDS- 1 вектор.
0 = Проигнорируйте правило, подразумевая, что платежный день всегда является тем же числовым днем месяца.
1 = Установите правило о, подразумевая, что платежный день всегда является прошлым фактическим днем месяца.
Типы данных: логический
Face — Номинальная стоимость
(значение по умолчанию) | вектор из неотрицательных значений(Необязательно) Номинальная стоимость, заданная для каждой связи как NUMBONDS- 1 вектор из неотрицательных номинальных стоимостей.
Типы данных: double
Price — Чистая ценаЧистая цена, возвращенная как NUMBONDS- 1 вектор.
Примечание
Для связей с фиксированными купонами использовать bndprice. Если вы используете фиксированную облигацию на предъявителя с stepcpnprice, вы получаете ошибку: incorrect number of inputs.
AccruedInterest — Начисленные проценты, подлежащие оплате в расчетные дниначисленные проценты, подлежащие оплате в расчетные дни, возвращенные как NUMBONDS- 1 вектор.
bndprice | cdprice | stepcpncfamounts | stepcpnyield | tbillprice
У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.