Загрузите кривую процентной ставки из данных о рынке
загружает кривую процентной ставки из данных о рынке. Даты загруженной кривой соответствуют датам погашения входных инструментов.DCurve = IRDataCurve.bootstrap(Type,Settle,InstrumentTypes,Instruments)
добавляют дополнительные аргументы пары "имя-значение". DCurve = IRDataCurve.bootstrap(___,Name,Value)
bootstrap Метод, чтобы создать IRDataCurve ОбъектВ этом примере начальной загрузки, InstrumentTypes, Instruments, и Settle дата задана:
InstrumentTypes = {'Deposit';'Deposit';...
'Futures';'Futures';'Futures';'Futures';'Futures';'Futures';...
'Swap';'Swap';'Swap';'Swap';};
Instruments = [datenum('08/10/2007'),datenum('09/17/2007'),.0532000; ...
datenum('08/10/2007'),datenum('11/17/2007'),.0535866; ...
datenum('08/08/2007'),datenum('19-Dec-2007'),9485; ...
datenum('08/08/2007'),datenum('19-Mar-2008'),9502; ...
datenum('08/08/2007'),datenum('18-Jun-2008'),9509.5; ...
datenum('08/08/2007'),datenum('17-Sep-2008'),9509; ...
datenum('08/08/2007'),datenum('17-Dec-2008'),9505.5; ...
datenum('08/08/2007'),datenum('18-Mar-2009'),9501; ...
datenum('08/08/2007'),datenum('08/08/2014'),.0530; ...
datenum('08/08/2007'),datenum('08/08/2019'),.0551; ...
datenum('08/08/2007'),datenum('08/08/2027'),.0565; ...
datenum('08/08/2007'),datenum('08/08/2037'),.0566];
CurveSettle = datenum('08/10/2007');Используйте bootstrap метод, чтобы создать IRDataCurve объект.
bootModel = IRDataCurve.bootstrap('Forward', CurveSettle, ... InstrumentTypes, Instruments,'InterpMethod','pchip');
Создать график для загруженных данных о рынке:
PlottingDates = (datenum('08/11/2007'):30:CurveSettle+365*25)'; plot(PlottingDates, getParYields(bootModel, PlottingDates),'r') ylim([0 .06]) datetick

bootstrap Метод, чтобы создать IRDataCurve Объект, который включает связиВ этом примере начальной загрузки, InstrumentTypes, Instruments, и Settle дата задана:
CurveSettle = datenum('8-Mar-2010'); InstrumentTypes = {'Deposit';'Deposit';'Deposit';'Deposit';... 'Futures';'Futures';'Futures';'Futures';'Swap';'Swap';'Bond';'Bond'}; Instruments = [datenum('8-Mar-2010'),datenum('8-Apr-2010'),.003; ... datenum('8-Mar-2010'),datenum('8-Jun-2010'),.005; ... datenum('8-Mar-2010'),datenum('8-Sep-2010'),.007; ... datenum('8-Mar-2010'),datenum('8-Mar-2011'),.009; ... datenum('8-Mar-2010'),datenum('18-Jun-2011'),9840; ... datenum('8-Mar-2010'),datenum('17-Sep-2011'),9820; ... datenum('8-Mar-2010'),datenum('17-Dec-2011'),9810; ... datenum('8-Mar-2010'),datenum('18-Mar-2012'),9800; ... datenum('8-Mar-2010'),datenum('8-Mar-2015'),.025; ... datenum('8-Mar-2010'),datenum('8-Mar-2020'),.035; ... datenum('8-Mar-2010'),datenum('8-Mar-2030'),99; ... datenum('8-Mar-2010'),datenum('8-Mar-2040'),101];
Когда связи используются, InstrumentCouponRate должен быть задан:
InstrumentCouponRate = [zeros(10,1);.045;.05];
Отметьте для параметров, которые только применимы к связям (InstrumentFirstCouponDate, InstrumentLastCouponDate, InstrumentIssueDate, InstrumentFace) записи для инструментов несвязи (депозиты и фьючерсы) проигнорированы.
Используйте bootstrap метод, чтобы создать IRDataCurve объект.
bootModel = IRDataCurve.bootstrap('Forward', CurveSettle, ... InstrumentTypes, Instruments,'InterpMethod','pchip',... 'InstrumentCouponRate',InstrumentCouponRate);
Создайте график для загруженных данных о рынке.
PlottingDates = datemnth(CurveSettle,1:30*12);
plot(PlottingDates, getParYields(bootModel, PlottingDates),'r')
ylim([0 .06])
datetick
IRBootstrapOptionsObj с bootstrap для отрицательных нулевых процентных ставокИспользуйте IRBootstrapOptionsObj дополнительный аргумент с bootstrap метод, чтобы допускать отрицательные нулевые уровни при решении для подкачки обнуляет точки.
Settle = datenum('15-Mar-2015'); InstrumentTypes = {'Deposit';'Deposit';'Swap';'Swap';'Swap';'Swap';}; Instruments = [Settle,datenum('15-Jun-2015'),.001; ... Settle,datenum('15-Dec-2015'),.0005; ... Settle,datenum('15-Mar-2016'),-.001; ... Settle,datenum('15-Mar-2017'),-0.0005; ... Settle,datenum('15-Mar-2018'),.0017; ... Settle,datenum('15-Mar-2020'),.0019]; irbo = IRBootstrapOptions('LowerBound',-1); bootModel = IRDataCurve.bootstrap('zero', Settle, InstrumentTypes,... Instruments,'IRBootstrapOptions',irbo); bootModel.getZeroRates(datemnth(Settle,1:60))
ans = 60×1
0.0012
0.0011
0.0010
0.0009
0.0008
0.0008
0.0007
0.0006
0.0005
-0.0000
⋮
Обратите внимание на то, что дополнительный аргумент для LowerBound установлен в -1 для отрицательных нулевых уровней при решении подкачки обнуляют точки.
Type — Тип кривой процентной ставки загружается от инструментов рынка'zero', 'discount', или 'forward'Тип кривой процентной ставки загружается от инструментов рынка, заданных при помощи скалярного вектора символов.
При использовании bootstrap, выбор Type параметр может повлиять на конструкцию кривой, потому что это будет влиять на тип данных, которые будут интерполированы на (то есть, форвардные курсы, нулевые уровни или коэффициенты дисконтирования) во время процесса начальной загрузки. Так кривые, которые загружаются с помощью различного Type параметры подвергаются различным алгоритмам начальной загрузки с различными методами интерполяции, и они могут иногда приводить к различным результатам при использовании “получить” функций (например, getForwardRates).
Типы данных: char
Settle — Уладьте дату кривой процентной ставкиУладьте дату кривой процентной ставки, заданное использование скалярного вектора символов даты или последовательного номера даты.
Типы данных: double | char
InstrumentTypes — Инструментальные типы 'deposit', 'futures'подкачка, 'bond', и 'fra'Инструментальные типы, заданное использование N- 1 массив ячеек (где N количество инструментов), указание, какой инструмент находится в Instruments матрица. Приемлемыми значениями является 'deposit', 'futures'подкачка, 'bond', и 'fra'.
Типы данных: char | cell
Instruments — Инструменты Инструменты в виде N- 3 матрица данных для Instruments где первым столбцом является Settle дата, вторым столбцом является Maturity, и третий столбец является рыночной котировкой (датами должен быть MATLAB® числа даты). Рыночная котировка представляет следующее для каждого инструмента:
deposit: уровень
futures: цена (например, 9628.54)
swap: уровень
bond: чистая цена
fra: форвардный курс
Примечание
Instruments введите для fra и для futures отличаются. А именно, форвардный курс, лежащий в основе fra запускается на дату начала (столбец 1 Instruments) и концы на дату окончания (столбец 2 Instruments). В то время как форвардный курс, лежащий в основе futures заключите контракт запускается в дату погашения futures заключите контракт и концы в дату n спустя месяцы после futures зрелость, где n является периодичностью futures контракт.
Типы данных: double
Задайте дополнительные разделенные запятой пары Name,Value аргументы. Name имя аргумента и Value соответствующее значение. Name должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.
DCurve = IRDataCurve.bootstrap('Forward',CurveSettle,InstrumentTypes,Instruments,'InterpMethod','pchip')Compounding — Соединение частоты в год для IRDataCurve объектCurveObj.Compounding (значение по умолчанию) | возможные значения включает: –1, 0, 1, 2, 3, 4, 6, 12.Соединение частоты в год для IRDataCurve объект в виде разделенной запятой пары, состоящей из 'Compounding' и скалярное числовое использование одного из поддерживаемых значений:
−1 = Непрерывное соединение
0 = Простой процент (никакое соединение)
1 = Ежегодное соединение
2 = Полугодовое соединение
3 = Соединение три раза в год
4 = Ежеквартально соединение
6 = Два раза в месяц соединение
12 = Ежемесячно соединение
Типы данных: double
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
InterpMethod метод интерполяции'linear' (значение по умолчанию) | вектор символов со значениями 'linear', 'cubic'pchip, или 'spline'Метод интерполяции в виде разделенной запятой пары, состоящей из 'InterpMethod' и скалярный вектор символов. Для получения дополнительной информации о методах интерполяции смотрите interp1.
Типы данных: char
IRBootstrapOptionsObj — Объект IRBootstrapOptions[] (значение по умолчанию) | IRBootstrapOptions объектОбъект IRBootstrapOptions в виде разделенной запятой пары, состоящей из 'IRBootstrapOptionsObj' и IRBootstrapOptions возразите ранее созданному использованию IRBootStrapOptions.
Типы данных: object
DiscountCurve — RateSpec для кривой, используемой к дисконтированным потокам денежных средств[] (значение по умолчанию) | RateSpec объектRateSpec для кривой, используемой к дисконтированным потокам денежных средств в виде разделенной запятой пары, состоящей из 'DiscountCurve' и RateSpec возразите ранее созданному использованию intenvset или toRateSpec.
Типы данных: object
InstrumentCouponRate — Годовая процентная ставка, чтобы определить купоны, подлежащие оплате на инструменте[] (значение по умолчанию) | десятичное числоГодовая процентная ставка, чтобы определить купоны, подлежащие оплате на инструменте в виде разделенной запятой пары, состоящей из 'InstrumentCouponRate' и скалярное десятичное значение.
Типы данных: double
InstrumentPeriod — Купоны в год для инструмента (значение по умолчанию) | числовой со значением 0, 1, 2, 3, 4, 6, и 12Купоны в год для инструмента в виде разделенной запятой пары, состоящей из 'InstrumentPeriod' и скалярное числовое значение.
Типы данных: double
InstrumentBasis — Базис дневного количества инструмента (фактическое/фактическое) (значение по умолчанию) | целое число от 0 к 13Дневной базис количества инструмента в виде разделенной запятой пары, состоящей из 'InstrumentBasis' и скалярное целое число.
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
Примечание
InstrumentBasis отличает инструмент связи Basis значение от кривой процентной ставки Basis значение.
Для получения дополнительной информации смотрите Базис.
Типы данных: double
InstrumentEndMonthRule — Правило конца месяца
(значение по умолчанию) | логический со значением 0 или 1Правило конца месяца в виде разделенной запятой пары, состоящей из 'InstrumentEndMonthRule' и логическое значение. Это правило применяется только когда Maturity дата конца месяца в течение месяца, имея 30 или меньше дней.
0 = проигнорируйте правило, подразумевая, что дата купонного платежа связи всегда является тем же числовым днем месяца.
1 = set правило о (значении по умолчанию), означая, что дата купонного платежа связи всегда является прошлым фактическим днем месяца.
Типы данных: логический
InstrumentIssueDate — Инструментальная дата выпуска[]
(значение по умолчанию) | вектор символов даты | последовательный номер датыИнструментальная дата выпуска в виде разделенной запятой пары, состоящей из 'InstrumentIssueDate' и скалярный вектор символов даты или последовательный номер даты.
Типы данных: char | double
InstrumentFirstCouponDate — Дата, когда связь делает свой первый купонный платежДата, когда связь делает свой первый купонный платеж (используемый, когда связь имеет неправильный первый период купона) в виде разделенной запятой пары, состоящей из 'InstrumentFirstCouponDate' и скалярный вектор символов даты или последовательный номер даты. Когда InstrumentFirstCouponDate и InstrumentLastCouponDate оба заданы, InstrumentFirstCouponDate более приоритетен в определении структуры купонного платежа. Если вы не задаете InstrumentFirstCouponDate, платежные дни потока наличности определяются из других входных параметров.
Типы данных: char | double
InstrumentLastCouponDate — Последняя дата купона связи перед датой погашенияПоследняя дата купона связи перед датой погашения (используемый, когда связь имеет неправильный последний период купона) в виде разделенной запятой пары, состоящей из 'InstrumentLastCouponDate' и скалярный вектор символов даты или последовательный номер даты. В отсутствие заданного InstrumentFirstCouponDate, заданный InstrumentLastCouponDate определяет структуру купона связи. Структура купона связи является усеченной в InstrumentLastCouponDate, независимо от того, где это падает и сопровождается только датой потока наличности зрелости связи. Если вы не задаете InstrumentLastCouponDate, платежные дни потока наличности определяются из других входных параметров.
Типы данных: char | double
InstrumentFace — Поверхность или номинальная стоимость
(значение по умолчанию) | числовойПоверхность или номинальная стоимость в виде разделенной запятой пары, состоящей из 'InstrumentFace' и числовой скаляр.
Типы данных: double
Примечание
При использовании Instrument пары "имя-значение", можно задать простой процент для Instrument путем определения InstrumentPeriod значение как 0. Если InstrumentBasis и InstrumentPeriod не заданы для Instrument, следующие значения по умолчанию используются:
deposit инструмент использует InstrumentBasis как 2 (действие/360) и InstrumentPeriod 0 (простой процент).
futures инструмент использует InstrumentBasis как 2 (действие/360) и InstrumentPeriod 4 (ежеквартально).
swap инструмент использует InstrumentBasis как 2 (действие/360) и InstrumentPeriod 2.
bond инструмент использует InstrumentBasis как 0 (действие/действие) и InstrumentPeriod 2.
FRA инструмент использует InstrumentBasis как 2 (действие/360) и InstrumentPeriod 4 (ежеквартально).
DCurve — Кривая процентной ставки из данных о рынкеКривая процентной ставки из данных о рынке, возвращенных как структура.
IRDataCurve | IRBootStrapOptions | toRateSpec | getForwardRates | getZeroRates | getDiscountFactors | getParYields
У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.