Ценовая связь со ступенчатыми купонами
[
вычисляет цену связей со ступенчатыми купонами, учитывая доход до срока погашения. Функция поддерживает любое количество дат преобразования.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
У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
Вы щелкнули по ссылке, которая соответствует команде MATLAB:
Выполните эту команду, введя её в командном окне MATLAB.
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.