stepcpncfamounts

Суммы потока наличности и времена для связей и продвинулись купоны

Описание

пример

[CFlows,CDates,CTimes] = stepcpncfamounts(Settle,Maturity,ConvDates,CouponRates) возвращает матрицы сумм потока наличности, дат потока наличности и факторов времени для портфеля NUMBONDS ступенчатые облигации на предъявителя.

пример

[CFlows,CDates,CTimes] = stepcpncfamounts(___,Period,Basis,EndMonthRule,Face) добавляют дополнительные дополнительные аргументы.

Примеры

свернуть все

Этот пример генерирует продвинутые потоки наличности для трех различных связей, весь выплачивающий процент раз в полгода. Продолжительность жизни связей составляет приблизительно 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')

Figure contains an axes. The axes with title CashFlow of 2.5 - 5 - 7.5 - 10 Stepped Coupon Bond contains 3 objects of type line.

Входные параметры

свернуть все

Расчетный день, заданный или как скаляр или как NSTP- 1 вектор из последовательных чисел даты.

Settle должен быть ранее, чем Maturity.

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

Дата погашения в виде скаляра или NSTP- 1 вектор из последовательных чисел даты, представляющих дату погашения для каждой связи.

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

Даты преобразования в виде NSTP-макс. (NCONV) матрица, содержащая даты преобразования после Settle. Размер матрицы равен количеству инструментов максимальным количеством преобразований. Заполните незаданные записи NaN.

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

Уровень облигационного купона в виде NSTP-макс. (NCONV+1) матрица, содержащая купонные ставки для каждой связи в портфеле в десятичной форме. Матричный размер равен количеству инструментов максимальным количеством преобразований + 1. Первый столбец этой матрицы содержит уровни, применимые между Settle и первая дата преобразования (дата в первом столбце ConvDates). Заполните незаданные записи NaN

ConvDates имеет одинаковое число строк как CouponRates отразить то же количество связей. Однако ConvDates имеет тот меньше столбца, чем CouponRates. Эта ситуация проиллюстрирована

Settle---------ConvDate1-----------ConvDate2------------Maturity

        Rate1               Rate2                 Rate3

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

(Необязательно) Купоны в год в виде NSTP- 1 вектор. Значения для Period 1, 2, 3, 4, 6, и 12.

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

(Необязательно) базис Дневного количества каждого инструмента в виде NSTP- 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

(Необязательно) Конец месяца управляет флагом для генерации дат когда Maturity дата конца месяца в течение месяца, имея 30 или меньше дней, заданных для каждой связи как неотрицательное целое число [0, 1] использование NSTP- 1 вектор.

  • 0 = Проигнорируйте правило, подразумевая, что платежный день всегда является тем же числовым днем месяца.

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

Типы данных: логический

(Необязательно) Номинальная стоимость, заданная для каждой связи как NSTP- 1 вектор из неотрицательных номинальных стоимостей.

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

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

свернуть все

Суммы потока наличности, возвращенные как вектор, где первая запись в каждом векторе-строке является (отрицательными) начисленными процентами, подлежащими выплате в поселении. Если никакие начисленные проценты не являются подлежащими выплате, первый столбец является нулем.

Даты потока наличности, возвращенные как вектор в последовательной форме номера даты. По крайней мере два столбца всегда присутствуют: один для урегулирования и один для зрелости.

Фактор времени для полугодового преобразования цены/выражения SIA, возвращенного как вектор. Полугодовым преобразованием цены/выражения SIA является DiscountFactor = (1 + Yield/2).^(-TFactor). Факторы времени находятся в модулях полугодовых периодов купона. Для соглашений ISMA: DiscountFactor = (1 + Yield).^(-TFactor). Факторы времени находятся в модулях ежегодных периодов купона. В вычислительных факторах времени используйте фактические/фактические соглашения SIA навсегда факторные вычисления.

Примечание

Для связей с фиксированными купонами использовать cfamounts. Если вы используете фиксированную облигацию на предъявителя с stepcpncfamounts, MATLAB генерирует ошибку.

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