Установите свойства структуры процентной ставки
создает структуру термина процентной ставки (RateSpec = intenvset(Name,Value)RateSpec) где список входных параметров задан как пары "имя-значение".
Примечание
При создании нового RateSpec, набор аргументов передал intenvset должен включать StartDates, EndDates, и любой Rates или Disc.
[ создает структуру термина процентной ставки (RateSpec,RateSpecOld] = intenvset(RateSpec,Name,Value)RateSpec) где список входных параметров задан как пары "имя-значение" наряду с дополнительным аргументом RateSpec. Если дополнительный аргумент RateSpec задан, intenvset изменяет существующую структуру термина процентной ставки RateSpec путем изменения параметра, передаваемого по имени в заданные значения и перевычисления аргументов, зависящих от новых значений.
[ создает структуру термина процентной ставки RateSpec,RateSpecOld] = intenvsetRateSpec со всем полевым набором к [ ].
Используйте intenvset создать RateSpec для кривой нулевой ширины.
RateSpec = intenvset('Rates', 0.05, 'StartDates',... '20-Jan-2000', 'EndDates', '20-Jan-2001')
RateSpec = struct with fields:
FinObj: 'RateSpec'
Compounding: 2
Disc: 0.9518
Rates: 0.0500
EndTimes: 2
StartTimes: 0
EndDates: 730871
StartDates: 730505
ValuationDate: 730505
Basis: 0
EndMonthRule: 1
Теперь измените Compounding аргумент к 1 (ежегодный).
RateSpec = intenvset(RateSpec, 'Compounding', 1)RateSpec = struct with fields:
FinObj: 'RateSpec'
Compounding: 1
Disc: 0.9518
Rates: 0.0506
EndTimes: 1
StartTimes: 0
EndDates: 730871
StartDates: 730505
ValuationDate: 730505
Basis: 0
EndMonthRule: 1
Вызов intenvset без ввода или вывода аргументы отображает список имен аргумента и возможных значений.
intenvset
Compounding: [ 0 | 1 | {2} | 3 | 4 | 6 | 12 | 365 | -1 ]
Disc: [ scalar | vector (NPOINTS x 1) ]
Rates: [ scalar | vector (NPOINTS x 1) ]
EndDates: [ scalar | vector (NPOINTS x 1) ]
StartDates: [ scalar | vector (NPOINTS x 1) ]
ValuationDate: [ scalar ]
Basis: [ {0} | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 ]
EndMonthRule: [ 0 | {1} ]
Используйте intenvset создать RateSpec для прямой кривой.
RateSpec = intenvset('Rates', 0.05, 'StartDates',... '20-Jan-2001', 'EndDates', '20-Jan-2002', 'ValuationDate','20-Jan-2000')
RateSpec = struct with fields:
FinObj: 'RateSpec'
Compounding: 2
Disc: 0.9518
Rates: 0.0500
EndTimes: 4
StartTimes: 2
EndDates: 731236
StartDates: 730871
ValuationDate: 730505
Basis: 0
EndMonthRule: 1
Теперь измените Compounding аргумент к 1 (ежегодный).
RateSpec = intenvset(RateSpec, 'Compounding', 1)RateSpec = struct with fields:
FinObj: 'RateSpec'
Compounding: 1
Disc: 0.9518
Rates: 0.0506
EndTimes: 2
StartTimes: 1
EndDates: 731236
StartDates: 730871
ValuationDate: 730505
Basis: 0
EndMonthRule: 1
Задайте данные для структуры термина процентной ставки и используйте intenvset создать RateSpec.
StartDates = '01-Oct-2011'; EndDates = ['01-Oct-2012'; '01-Oct-2013';'01-Oct-2014';'01-Oct-2015']; Rates = [[0.0356;0.041185;0.04489;0.047741],[0.0325;0.0423;0.0437;0.0465]]; RateSpec = intenvset('Rates', Rates, 'StartDates',StartDates,... 'EndDates', EndDates, 'Compounding', 1)
RateSpec = struct with fields:
FinObj: 'RateSpec'
Compounding: 1
Disc: [4x2 double]
Rates: [4x2 double]
EndTimes: [4x1 double]
StartTimes: [4x1 double]
EndDates: [4x1 double]
StartDates: 734777
ValuationDate: 734777
Basis: 0
EndMonthRule: 1
Смотреть на Rates для двух кривых процентной ставки:
RateSpec.Rates
ans = 4×2
0.0356 0.0325
0.0412 0.0423
0.0449 0.0437
0.0477 0.0465
Оцените следующие мультиступенчатые облигации на предъявителя с помощью следующих данных:
Rates = [0.035; 0.042147; 0.047345; 0.052707]; ValuationDate = 'Jan-1-2010'; StartDates = ValuationDate; EndDates = {'Jan-1-2011'; 'Jan-1-2012'; 'Jan-1-2013'; 'Jan-1-2014'}; Compounding = 1; % Create RateSpec using intenvset RS = intenvset('ValuationDate', ValuationDate, 'StartDates', StartDates,... 'EndDates', EndDates,'Rates', Rates, 'Compounding', Compounding); % Create a portfolio of stepped coupon bonds with different maturities Settle = '01-Jan-2010'; Maturity = {'01-Jan-2011';'01-Jan-2012';'01-Jan-2013';'01-Jan-2014'}; CouponRate = {{'01-Jan-2011' .042;'01-Jan-2012' .05; '01-Jan-2013' .06; '01-Jan-2014' .07}}; % Display the instrument portfolio ISet = instbond(CouponRate, Settle, Maturity, 1); instdisp(ISet)
Index Type CouponRate Settle Maturity Period Basis EndMonthRule IssueDate FirstCouponDate LastCouponDate StartDate Face 1 Bond [Cell] 01-Jan-2010 01-Jan-2011 1 0 1 NaN NaN NaN NaN 100 2 Bond [Cell] 01-Jan-2010 01-Jan-2012 1 0 1 NaN NaN NaN NaN 100 3 Bond [Cell] 01-Jan-2010 01-Jan-2013 1 0 1 NaN NaN NaN NaN 100 4 Bond [Cell] 01-Jan-2010 01-Jan-2014 1 0 1 NaN NaN NaN NaN 100
Создайте BDTTree оценивать ступенчатые облигации на предъявителя. Примите энергозависимость, чтобы быть 10%
Sigma = 0.1;
BDTTimeSpec = bdttimespec(ValuationDate, EndDates, Compounding);
BDTVolSpec = bdtvolspec(ValuationDate, EndDates, Sigma*ones(1, length(EndDates))');
BDTT = bdttree(BDTVolSpec, RS, BDTTimeSpec);
% Compute the price of the stepped coupon bonds
PBDT = bdtprice(BDTT, ISet)PBDT = 4×1
100.6763
100.7368
100.9266
101.0115
RateSpec — Спецификация процентной ставки для начальной безрисковой кривой уровня(Необязательно) спецификация Процентной ставки для начальной кривой уровня, заданной RateSpec полученный ранее из intenvset или toRateSpec для IRDataCurve или toRateSpec для IRFunctionCurve.
Типы данных: struct
Задайте дополнительные разделенные запятой пары Name,Value аргументы. Name имя аргумента и Value соответствующее значение. Name должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.
RateSpec = intenvset('Rates',0.05,'StartDates','20-Jan-2001','EndDates','20-Jan-2002','ValuationDate','20-Jan-2000')'Compounding' — Уровень, на котором входные нулевые уровни были составлены, когда пересчитано на год (значение по умолчанию) | целое число со значением 0,1, 2, 3, 4, 6, 12, 365, или -1Уровень, на котором входные нулевые уровни были составлены, когда пересчитано на год в виде разделенной запятой пары, состоящей из 'Compounding' и скалярное целочисленное значение. Compounding аргумент определяет формулу для коэффициентов дисконтирования (Disc):
Compounding= 0 для простого процента
Disc = 1/(1 + Z * T), где T время в годах, и простой процент принимает ежегодные времена F = 1.
Compounding= 1 , 2, 3, 4, 6, 12
Disc = (1 + Z/F)^(-T), где F частота соединения, Z нулевой уровень и T время в периодических модулях, например, T = F один год.
Compounding= 365
Disc = (1 + Z/F)^(-T), где F номер дней в базисном году и T много дней, истекших вычисленный основанием.
Compounding= -1
Disc = exp(-T*Z), где T время в годах.
Типы данных: double
'Disc' — Модульные цены облигаций на инвестиционных интервалах[ ]
(значение по умолчанию) | матрицаМодульные цены облигаций на инвестиционных интервалах от StartDates (когда поток наличности оценен) к EndDates (когда поток наличности получен) в виде разделенной запятой пары, состоящей из 'Disc' и ряд вопросов (NPOINTS) количеством кривых (NCURVES) матрица.
Типы данных: double
'Rates' — Процентные ставкиПроцентные ставки в виде разделенной запятой пары, состоящей из 'Rates' и ряд вопросов (NPOINTS) количеством кривых (NCURVES) матрица десятичных значений. Rates может только содержать отрицательные десятичные значения если получившийся RateSpec используется с моделью Normal (Bachelier), переключенной моделью Black или переключенной моделью SABR.
Типы данных: double
'EndDates' — Даты погашения, заканчивающие интервал, чтобы обесценитьДаты погашения, заканчивающие интервал, чтобы обесценить в виде разделенной запятой пары, состоящей из 'EndDates' и скаляр или NPOINTS- 1 вектор из последовательных чисел даты или векторов символов даты.
Типы данных: double | char | cell
'StartDates' — Даты, начинающие интервал, чтобы обесценитьДаты, начинающие интервал, чтобы обесценить в виде разделенной запятой пары, состоящей из 'StartDates' и скаляр или NPOINTS- 1 вектор из последовательных чисел даты или векторов символов даты. StartDates должен быть ранее, чем EndDates.
Типы данных: double | char | cell
'ValuationDate' — Дата наблюдения инвестиционных горизонтов вводится в StartDates и EndDatesmin(StartDates)
(значение по умолчанию) | последовательный номер даты | дата вектора символовдата наблюдения инвестиционных горизонтов вводится в StartDates и EndDatesВ виде разделенной запятой пары, состоящей из 'ValuationDate' и заданное как скалярный последовательный номер даты или вектор символов даты.
Типы данных: double | char
'Basis' — Основание дневного количества (фактическое/фактическое) (значение по умолчанию) | целое число от 0 к 13Основание дневного количества в виде разделенной запятой пары, состоящей из 'Basis' и скалярное целочисленное значение.
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' — Флаг правила конца месяца (в действительности) (значение по умолчанию) | неотрицательное целое число со значениями 0 или 1Правило конца месяца отмечает в виде разделенной запятой пары, состоящей из 'EndMonthRule' и скалярное целое число со значением 0 или 1. Это правило применяется только когда EndDates дата конца месяца в течение месяца, имея 30 или меньше дней.
0 = Проигнорируйте правило, подразумевая, что платежный день облигационного купона всегда является тем же числовым днем месяца.
1 = Установите правило о, подразумевая, что платежный день облигационного купона всегда является прошлым фактическим днем месяца.
Типы данных: double
RateSpec — Спецификация процентной ставки для начальной кривой уровняСпецификация процентной ставки для начальной кривой уровня, возвращенной как структура.
RateSpecOld — Свойства структуры процентной ставки перед изменениями, введенными вызовом intenvsetСвойства структуры процентной ставки перед изменениями, введенными вызовом intenvset, возвращенный как структура.
У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.