Суммы потока наличности и времена для связей и продвинулись купоны
[CFlows,CDates,CTimes] = stepcpncfamounts(Settle,Maturity,ConvDates,CouponRates,Period,Basis,EndMonthRule,Face)
Settle | Расчетный день. Скаляр или вектор последовательных чисел даты. |
Maturity | Дата погашения. Скаляр или вектор последовательных чисел даты. |
ConvDates | Матрица последовательных чисел даты, представляющих даты преобразования после |
CouponRates | Матрица, указывающая на купонные ставки для каждой связи в десятичной форме. Размер = количество инструментов максимальным количеством преобразований + 1. Первый столбец этой матрицы содержит уровни, применимые между
Settle---------ConvDate1-----------ConvDate2------------Maturity Rate1 Rate2 Rate3 |
| (Необязательно) Купоны в год связи. Вектор целых чисел. Позволенными значениями является |
Basis | (Необязательно) основание Дневного количества инструмента. Вектор целых чисел.
Для получения дополнительной информации смотрите основание. |
EndMonthRule | (Необязательно) правило Конца месяца. Вектор. Это правило применяется только, когда |
Face | (Необязательно) Номинальная стоимость каждой связи в портфеле. Значение по умолчанию = |
Все аргументы должны быть скалярами или количеством связей (NUMBONDS
)-by-1
векторы, за исключением ConvDates
и CouponRates
.
[CFlows,CDates,CTimes] = stepcpncfamounts(Settle,Maturity,ConvDates,CouponRates,Period,Basis,EndMonthRule,Face)
возвращает матрицы сумм потока наличности, дат потока наличности и факторов времени для портфеля ступенчатых облигаций на предъявителя NUMBONDS
.
CFlows
является матрицей сумм потока наличности. Первая запись в каждом векторе - строке является отрицательным числом, указывающим на начисленные проценты, подлежащие выплате в поселении. Если никакие начисленные проценты не являются подлежащими выплате, первый столбец 0.
CDates
является матрицей дат потока наличности в последовательной форме номера даты. По крайней мере два столбца всегда присутствуют, один для урегулирования и один для зрелости.
CTimes
является матрицей факторов времени для полугодового преобразования цены/урожая SIA.
DiscountFactor = (1 + Yield/2).^(-TFactor)
Факторы времени находятся в модулях полугодовых периодов купона. В вычислительных факторах времени используйте фактические/фактические соглашения SIA навсегда факторные вычисления.
Для связей с фиксированными купонами используйте cfamounts
. Если вы используете фиксированную облигацию на предъявителя с stepcpncfamounts
, MATLAB генерирует ошибку.
Этот пример генерирует продвинутые потоки наличности для трех различных связей, весь выплачивающий процент раз в полгода. Их продолжительность жизни составляет приблизительно 18-19 лет каждый:
Связь A имеет два преобразования, но первый происходит на расчетном дне и сразу истекает.
Связь B имеет три преобразования с датами преобразования точно в даты купона.
Связь C имеет три преобразования с некоторыми датами преобразования не в даты купона. Это имеет самую длинную зрелость. Этот случай иллюстрирует, что только потоки наличности в течение полных периодов после дат преобразования затронуты, как проиллюстрировано ниже.
Следующая таблица иллюстрирует характеристики процентной ставки этого портфеля связи.
Свяжите даты | Свяжите уровни | Связь B даты | Связь B уровни | Связь C даты | Связь C уровни |
---|---|---|---|---|---|
Обоснуйтесь (02 августа 92) | 7.5% | Обоснуйтесь (02 августа 92) | 7.5% | Обоснуйтесь (02 августа 92) | 2.5% |
Первое преобразование (02 августа 92) | 8.875% | Первое преобразование (15 июня 97)) | 8.875% | Первое преобразование (14 июня 97)) | 5.0% |
Второе преобразование (15 июня 03) | 9.25% | Второе преобразование (15 июня 01) | 9.25% | Второе преобразование (14 июня 01) | 7.5% |
Зрелость (15 июня 10) |
| Третье преобразование (15 июня 05) | 10.0% | Третье преобразование (14 июня 05) | 10.0% |
Зрелость (15 июня 10) |
| Зрелость (15 июня 11) |
|
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);
Визуализируйте третьи потоки наличности связи (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')