Суммы и время движения денежных средств по облигациям и ступенчатым купонам
В этом примере создаются пошаговые денежные потоки для трех различных облигаций, все из которых выплачивают проценты раз в полгода. Срок службы облигаций составляет около 18-19 лет каждый:
Облигация A имеет две конверсии, но первая происходит на дату расчета и немедленно истекает.
Бонд B имеет три конверсии, с датами конвертации точно на даты купона.
Облигация C имеет три конверсии, с некоторыми датами конвертации не в даты купона. У него самая долгая зрелость. Этот случай показывает, что затрагиваются только денежные потоки для полных периодов после дат пересчета, как показано ниже:

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

Определите спецификации облигаций.
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'); datenum('15-Jun-2010'); datenum('15-Jun-2011')]; CouponRates = [0.075 0.08875 0.0925 nan; 0.075 0.08875 0.0925 0.1; 0.025 0.05 0.0750 0.1]; Basis = 1; Period = 2; EndMonthRule = 1; Face = 100;
Использовать stepcpncfamounts для вычисления денежных потоков и сроков.
[CFlows, CDates, CTimes] = stepcpncfamounts(Settle, Maturity, ConvDates, CouponRates)
CFlows = 3×39
-1.1639 4.4375 4.4375 4.4375 4.4375 4.4375 4.4375 4.4375 4.4375 4.4375 4.4375 4.4375 4.4375 4.4375 4.4375 4.4375 4.4375 4.4375 4.4375 4.4375 4.4375 4.4375 4.4375 4.6250 4.6250 4.6250 4.6250 4.6250 4.6250 4.6250 4.6250 4.6250 4.6250 4.6250 4.6250 4.6250 104.6250 NaN NaN
-0.9836 3.7500 3.7500 3.7500 3.7500 3.7500 3.7500 3.7500 3.7500 3.7500 3.7500 4.4375 4.4375 4.4375 4.4375 4.4375 4.4375 4.4375 4.4375 4.6250 4.6250 4.6250 4.6250 4.6250 4.6250 4.6250 4.6250 5.0000 5.0000 5.0000 5.0000 5.0000 5.0000 5.0000 5.0000 5.0000 105.0000 NaN NaN
-0.3279 1.2500 1.2500 1.2500 1.2500 1.2500 1.2500 1.2500 1.2500 1.2500 2.5000 2.5000 2.5000 2.5000 2.5000 2.5000 2.5000 2.5000 3.7500 3.7500 3.7500 3.7500 3.7500 3.7500 3.7500 3.7500 5.0000 5.0000 5.0000 5.0000 5.0000 5.0000 5.0000 5.0000 5.0000 5.0000 5.0000 5.0000 105.0000
CDates = 3×39
727778 727913 728095 728278 728460 728643 728825 729008 729191 729374 729556 729739 729921 730104 730286 730469 730652 730835 731017 731200 731382 731565 731747 731930 732113 732296 732478 732661 732843 733026 733208 733391 733574 733757 733939 734122 734304 NaN NaN
727778 727913 728095 728278 728460 728643 728825 729008 729191 729374 729556 729739 729921 730104 730286 730469 730652 730835 731017 731200 731382 731565 731747 731930 732113 732296 732478 732661 732843 733026 733208 733391 733574 733757 733939 734122 734304 NaN NaN
727778 727913 728095 728278 728460 728643 728825 729008 729191 729374 729556 729739 729921 730104 730286 730469 730652 730835 731017 731200 731382 731565 731747 731930 732113 732296 732478 732661 732843 733026 733208 733391 733574 733757 733939 734122 734304 734487 734669
CTimes = 3×39
0 0.7377 1.7377 2.7377 3.7377 4.7377 5.7377 6.7377 7.7377 8.7377 9.7377 10.7377 11.7377 12.7377 13.7377 14.7377 15.7377 16.7377 17.7377 18.7377 19.7377 20.7377 21.7377 22.7377 23.7377 24.7377 25.7377 26.7377 27.7377 28.7377 29.7377 30.7377 31.7377 32.7377 33.7377 34.7377 35.7377 NaN NaN
0 0.7377 1.7377 2.7377 3.7377 4.7377 5.7377 6.7377 7.7377 8.7377 9.7377 10.7377 11.7377 12.7377 13.7377 14.7377 15.7377 16.7377 17.7377 18.7377 19.7377 20.7377 21.7377 22.7377 23.7377 24.7377 25.7377 26.7377 27.7377 28.7377 29.7377 30.7377 31.7377 32.7377 33.7377 34.7377 35.7377 NaN NaN
0 0.7377 1.7377 2.7377 3.7377 4.7377 5.7377 6.7377 7.7377 8.7377 9.7377 10.7377 11.7377 12.7377 13.7377 14.7377 15.7377 16.7377 17.7377 18.7377 19.7377 20.7377 21.7377 22.7377 23.7377 24.7377 25.7377 26.7377 27.7377 28.7377 29.7377 30.7377 31.7377 32.7377 33.7377 34.7377 35.7377 36.7377 37.7377
Визуализация денежных потоков третьей облигации (2,5 - 5 - 7,5 - 10) с использованием cfplot функция.
cfplot(CDates(3,:),CFlows(3,:)); xlabel('Dates in Serial Number Format') ylabel('Relative Amounts of Cash Flows') title('CashFlow of 2.5 - 5 - 7.5 - 10 Stepped Coupon Bond')

Settle - Дата расчетаДата расчета, указанная как скаляр или NSTPоколо-1 вектор серийных номеров дат.
Settle должно быть раньше, чем Maturity.
Типы данных: double
Maturity - Дата погашенияДата погашения, указанная как скаляр или NSTPоколо-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 - Купоны в год2 в год (по умолчанию) | вектор(Необязательно) Купоны в год, указанные как NSTPоколо-1 вектор. Значения для Period являются 1, 2, 3, 4, 6, и 12.
Типы данных: double
Basis - Количество дней0 (факт/факт) (по умолчанию) | целое число от 0 кому 13(Необязательно) Дневная основа каждого инструмента, указанная как NSTPоколо-1 вектор.
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 - флаг правила конца месяца для генерации дат, когда Maturity - дата окончания месяца, имеющего 30 или менее дней1 (в действии) (по умолчанию) | неотрицательное целое число [0,1](Необязательно) Флаг правила конца месяца для генерации дат, когда Maturity является датой конца месяца, имеющей 30 или менее дней, указанной для каждой связи как неотрицательное целое число [0, 1] с использованием NSTPоколо-1 вектор.
0 = Игнорировать правило, означающее, что дата платежа всегда совпадает с числовым днем месяца.
1 = Установите правило, означающее, что дата платежа всегда является последним фактическим днем месяца.
Типы данных: logical
Face - Номинал100
(по умолчанию) | вектор неотрицательных значений(Необязательно) Номинал, указанный для каждой облигации как NSTPоколо-1 вектор неотрицательных номиналов.
Типы данных: double
CFlows - Суммы денежных потоковСуммы денежного потока, возвращаемые в виде вектора, где первая запись в каждом векторе строки является (отрицательным) начисленным процентом, подлежащим оплате при расчете. Если начисленные проценты не подлежат выплате, первый столбец равен нулю.
CDates - Даты движения денежных средствДаты движения денежных средств, возвращенные в виде вектора в форме серийного номера даты. Всегда присутствуют по крайней мере два столбца: один для расчета и один для погашения.
CTimes - Коэффициент времени Коэффициент времени для полугодичного преобразования цены/доходности SIA, возвращаемый в виде вектора. Полугодовая конвертация цены/доходности SIA составляет DiscountFactor = (1 + Yield/2).^(-TFactor). Временные коэффициенты выражены в единицах полугодовых купонных периодов. Для соглашений ISMA: DiscountFactor = (1 + Yield).^(-TFactor). Временные коэффициенты выражены в единицах годового купонного периода. При вычислении коэффициентов времени для всех расчетов коэффициентов времени используются соглашения SIA о фактических/фактических данных.
Примечание
Для облигаций с фиксированными купонами используйте cfamounts. При использовании облигации с фиксированным купоном с stepcpncfamounts, программное обеспечение MATLAB ® генерирует ошибку .
Имеется измененная версия этого примера. Открыть этот пример с помощью изменений?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.