Ценовой инструмент пола от Белого как оболочка дерева процентной ставки
Загрузите файл deriv.mat
, который обеспечивает HWTree
. HWTree
структура содержит время, и информация о процентной ставке должна была оценить инструмент пола.
load deriv.mat;
Установите необходимые значения. Другие аргументы будут использовать значения по умолчанию.
Strike = 0.03; Settle = '01-Jan-2004'; Maturity = '01-Jan-2007';
Используйте floorbyhw
вычислить цену инструмента пола.
Price = floorbyhw(HWTree, Strike, Settle, Maturity)
Price = 0.4186
Задайте RateSpec
.
Rates = [0.035; 0.042; 0.047; 0.052; 0.054]; ValuationDate = '01-April-2014'; StartDates = ValuationDate; EndDates = {'01-April-2019'}; Compounding = 1; RateSpec = intenvset('ValuationDate', ValuationDate,'StartDates', StartDates,... 'EndDates', EndDates,'Rates', Rates, 'Compounding', Compounding)
RateSpec = struct with fields:
FinObj: 'RateSpec'
Compounding: 1
Disc: [5x1 double]
Rates: [5x1 double]
EndTimes: [5x1 double]
StartTimes: [5x1 double]
EndDates: 737516
StartDates: 735690
ValuationDate: 735690
Basis: 0
EndMonthRule: 1
Задайте инструменты пола.
Settle ='01-April-2014'; Maturity = '01-April-2018'; Strike = 0.05; FloorReset = 1; Principal ={{'01-April-2015' 100;'01-April-2016' 60;'01-April-2017' 40;'01-April-2018' 20}; 100};
Создайте дерево HW.
VolDates = ['01-April-2015';'01-April-2016';'01-April-2017';'01-April-2018']; VolCurve = 0.05; AlphaDates = '01-April-2018'; AlphaCurve = 0.10; HWVolSpec = hwvolspec(RateSpec.ValuationDate, VolDates, VolCurve,... AlphaDates, AlphaCurve); HWTimeSpec = hwtimespec(RateSpec.ValuationDate, VolDates, Compounding); HWTree = hwtree(HWVolSpec, RateSpec, HWTimeSpec)
HWTree = struct with fields:
FinObj: 'HWFwdTree'
VolSpec: [1x1 struct]
TimeSpec: [1x1 struct]
RateSpec: [1x1 struct]
tObs: [0 1 2 3]
dObs: [735690 736055 736421 736786]
CFlowT: {[4x1 double] [3x1 double] [2x1 double] [4]}
Probs: {[3x1 double] [3x3 double] [3x5 double]}
Connect: {[2] [2 3 4] [2 3 4 5 6]}
FwdTree: {[1.0350] [1.1300 1.0363 0.9503] [1x5 double] [1x7 double]}
Оцените этажи ванили и амортизация.
Basis = 0; Price = floorbyhw(HWTree, Strike, Settle, Maturity, FloorReset, Basis, Principal)
Price = 2×1
4.8675
10.3881
HWTree
— Древовидная структура процентной ставкиДревовидная структура процентной ставки, заданная при помощи hwtree
.
Типы данных: struct
Strike
— Уровень, на котором осуществлен полУровень, на котором пол осуществлен в виде NINST
- 1
вектор десятичных значений.
Типы данных: double
Settle
— Расчетный день для полаРасчетный день для пола в виде NINST
- 1
вектор последовательных чисел даты или векторов символов даты. Settle
дата каждого пола назначена к ValuationDate
из дерева HW. Аргумент Settle
пола проигнорирован.
Типы данных: double |
char
| cell
Maturity
— Дата погашения для полаДата погашения для пола в виде NINST
- 1
вектор последовательных чисел даты или векторов символов даты.
Типы данных: double |
char
| cell
FloorReset
— Сбросьте оплату частоты в год
(значение по умолчанию) | числовой(Необязательно) оплата частоты Сброса в год в виде NINST
- 1
вектор.
Типы данных: double
Basis
— Основание дневного количества инструмента
(фактическое/фактическое) (значение по умолчанию) | целое число от 0
к 13
(Необязательно) основание Дневного количества, представляющее основание, используемое при пересчитывании на год входного форвардного курса в виде NINST
- 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
Principal
— Отвлеченная основная сумма
(значение по умолчанию) | числовой(Необязательно) Отвлеченная основная сумма в виде NINST
- 1
из отвлеченных основных сумм или NINST
- 1
массив ячеек, где каждым элементом является NumDates
- 2
массив ячеек, где первый столбец является датами и вторым столбцом, является сопоставленной основной суммой. Дата указывает в последний день, что основное значение допустимо.
Используйте Principal
передать расписание, чтобы вычислить цену за пол амортизации.
Типы данных: double |
cell
Options
— Производные оценивая структуру опций(Необязательно) Производные оценивая структуру опций, заданное использование derivset
.
Типы данных: struct
Price
— Ожидаемая цена пола во время 0Ожидаемая цена пола во время 0, возвращенный как NINST
- 1
вектор.
PriceTree
— Древовидная структура со значениями пола в каждом узлеДревовидная структура со значениями пола в каждом узле, возвращенном как структура MATLAB® деревьев, содержащих векторы цен на инструменты и вектор времен наблюдения для каждого узла:
PriceTree.PTree
содержит минимальные цены.
PriceTree.tObs
содержит времена наблюдения.
PriceTree.Connect
содержит векторы возможности соединения. Каждый элемент в массиве ячеек описывает, как узлы на том уровне соединяются со следующим. Для данного древовидного уровня существует NumNodes
элементы в векторе, и они содержат индекс узла на следующем уровне, с которым соединяется средняя ветвь. Вычитание 1 от того значения указывает, где подключения-ветви к, и добавление 1 указали, где вниз переходят подключения к.
PriceTree.Probs
содержит массивы вероятности. Каждый элемент массива ячеек содержит, середина и вероятности перехода вниз для каждого узла уровня.
floor является контрактом, который включает гарантию, устанавливающую минимальную процентную ставку, которая будет получена держателем, на основе в противном случае плавающей процентной ставки.
Выплата для пола:
capbyhw
| cfbyhw
| floorbynormal
| hwtree
| swapbyhw
У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.