Инструмент ценового уровня из дерева процентных ставок Hull-White
Загрузить файл 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};
Создайте дерево аппаратных средств.
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 дерева аппаратных средств. Аргумент floor Settle игнорируется.
Типы данных: double | char | cell
Maturity - Дата погашения для нижнего пределаДата погашения для пола, указанная как NINSTоколо-1 вектор серийных номеров дат или векторы символов дат.
Типы данных: double | char | cell
FloorReset - Сброс периодичности оплаты в год 1
(по умолчанию) | числовые(Необязательно) Сбросить периодичность оплаты в год, указанную как NINSTоколо-1 вектор.
Типы данных: double
Basis - Дневная основа прибора0 (факт/факт) (по умолчанию) | целое число от 0 кому 13(Необязательно) База подсчета дней, представляющая основу, используемую при ежегодной индексации входной форвардной ставки, указанной как NINSTоколо-1 вектор целых чисел.
0 = факт/факт
1 = 30/360 (SIA)
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 = BUS/252
Дополнительные сведения см. в разделе Базис.
Типы данных: double
Principal - Условная основная сумма100
(по умолчанию) | числовые(Необязательно) Условная основная сумма, указанная как 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 содержит массивы вероятностей. Каждый элемент массива ячеек содержит вероятности перехода вверх, посередине и вниз для каждого узла уровня.
Нижний предел - это договор, который включает гарантию, устанавливающую минимальную процентную ставку, которая должна быть получена держателем, на основе другой плавающей процентной ставки.
Выплата за этаж составляет:
, 0)
capbyhw | cfbyhw | floorbynormal | hwtree | swapbyhw
Имеется измененная версия этого примера. Открыть этот пример с помощью изменений?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.