Ценовые опции на долговых обязательствах с плавающей ставкой для Черного-Karasinski дерева процентной ставки
[Price,PriceTree]
= optfloatbybdt(BKTree,OptSpec,Strike,ExerciseDates,AmericanOpt,Spread,Settle,Maturity)
[Price,PriceTree]
= optfloatbybdt(___,Name,Value)
[
ценовые опции на долговых обязательствах с плавающей ставкой от Черного-Karasinski дерева процентной ставки. Price
,PriceTree
]
= optfloatbybdt(BKTree
,OptSpec
,Strike
,ExerciseDates
,AmericanOpt
,Spread
,Settle
,Maturity
)optfloatbybk
вычисляет цены опций на долговых обязательствах с плавающей ставкой ванили.
[
добавляют дополнительные аргументы пары "имя-значение". Price
,PriceTree
]
= optfloatbybdt(___,Name,Value
)
Задайте структуру термина процентной ставки.
Rates = [0.03;0.034;0.038;0.04]; ValuationDate = 'Jan-1-2012'; StartDates = ValuationDate; EndDates = {'Jan-1-2013'; 'Jan-1-2014'; 'Jan-1-2015'; 'Jan-1-2016'}; Compounding = 1;
Создайте RateSpec
.
RateSpec = intenvset('ValuationDate',ValuationDate,'StartDates',StartDates,... 'EndDates',EndDates,'Rates',Rates,'Compounding',Compounding)
RateSpec = struct with fields:
FinObj: 'RateSpec'
Compounding: 1
Disc: [4x1 double]
Rates: [4x1 double]
EndTimes: [4x1 double]
StartTimes: [4x1 double]
EndDates: [4x1 double]
StartDates: 734869
ValuationDate: 734869
Basis: 0
EndMonthRule: 1
Создайте дерево BK.
VolDates = ['1-Jan-2013'; '1-Jan-2014'; '1-Jan-2015';'1-Jan-2016']; VolCurve = 0.01; AlphaDates = '01-01-2016'; AlphaCurve = 0.1; BKVolSpec = bkvolspec(RateSpec.ValuationDate,VolDates,VolCurve,... AlphaDates,AlphaCurve); BKTimeSpec = bktimespec(RateSpec.ValuationDate,VolDates,Compounding); BKT = bktree(BKVolSpec,RateSpec,BKTimeSpec)
BKT = struct with fields:
FinObj: 'BKFwdTree'
VolSpec: [1x1 struct]
TimeSpec: [1x1 struct]
RateSpec: [1x1 struct]
tObs: [0 1 2 3]
dObs: [734869 735235 735600 735965]
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.0300] [1.0387 1.0380 1.0373] [1x5 double] [1x7 double]}
Инструмент плавающего предмета имеет распространение 10, период одного года, и назревает на Яне-1-2016.
Spread = 10; Settle = 'Jan-1-2012'; Maturity = 'Jan-1-2016'; Period = 1;
Задайте опцию для долгового обязательства с плавающей ставкой.
OptSpec = {'call'}; Strike = 95; ExerciseDates = 'Jan-1-2016'; AmericanOpt = [0;1];
Вычислите цену колл-опционов.
Price = optfloatbybk(BKT,OptSpec,Strike,ExerciseDates,AmericanOpt,...
Spread,Settle,Maturity)
Price = 2×1
4.2740
5.3655
BKTree
— Древовидная структура процентной ставкиДерево процентной ставки, заданное как структура при помощи bktree
.
Типы данных: struct
OptSpec
— Определение опции Определение опции как 'call'
или 'put'
, заданный как NINST
-by-1
массив ячеек из символьных векторов для 'call'
или 'put'
.
Типы данных: cell
| char
Strike
— Значения цены исполнения опциона опцииЗначения цены исполнения опциона опции задали неотрицательные целые числа с помощью в качестве NINST
-by-NSTRIKES
вектор значений цены исполнения опциона.
Типы данных: single | double
ExerciseDates
— Осуществите дату опции (европеец, Бермуды или американец) Осуществите дату опции (европеец, Бермуды или американец) заданный как последовательные числа даты или векторы символов даты с помощью NINST
-by-NSTRIKES
или NINST
-by-2
вектор для дат осуществления опции.
Если европеец или опция Бермуд, ExerciseDates
является 1
-by-1
(европеец) или 1
-by-NSTRIKES
(Бермуды) вектор дат осуществления. Для европейской опции на дате окончания срока действия опции существует только один ExerciseDate
.
Если американская опция, то ExerciseDates
является 1
-by-2
вектор контуров даты осуществления. Опция тренируется в любую дату между или включая пару дат на той строке. Если существует только одна non-NaN
дата, или если ExerciseDates
является 1
-by-1
, упражнения опции между датой Settle
и одним перечисленным ExerciseDate
.
Типы данных: double
| char
| cell
AmericanOpt
— Тип опции[0,1]
Тип опции, заданный как NINST
-by-1
положительный целочисленный скаляр, отмечает с помощью значений:
0
— Европеец/Бермуды
1
— Американец
Типы данных: single | double
Spread
— Количество пунктов по ссылочному уровнюКоличество пунктов по ссылочному уровню, заданному как вектор неотрицательных целых чисел для количества инструментов (NINST
)-by-1
).
Типы данных: single | double
Settle
— Расчетные дни долгового обязательства с плавающей ставкойValuationDate
дерева BK (значение по умолчанию) | последовательный номер даты | вектор последовательных чисел даты | вектор символов даты | массив ячеек векторов символов датыРасчетные дни долгового обязательства с плавающей ставкой, заданного как последовательные числа даты или векторы символов даты с помощью NINST
-by-1
вектор дат.
Дата Settle
каждого долгового обязательства с плавающей ставкой назначена к ValuationDate
дерева BK. Аргумент Settle
долгового обязательства с плавающей ставкой проигнорирован.
Типы данных: double
| cell
| char
Maturity
— Дата погашения долгового обязательства с плавающей ставкойДата погашения долгового обязательства с плавающей ставкой, заданная как последовательные числа даты или векторы символов даты с помощью NINST
-by-1
вектор дат.
Типы данных: double
| cell
| char
Укажите необязательные аргументы в виде пар ""имя, значение"", разделенных запятыми.
Имя (Name) — это имя аргумента, а значение (Value) — соответствующее значение.
Name
должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.
[Price,PriceTree] = optfloatbybk(BKTree,OptSpec,Strike,ExerciseDates,AmericanOpt,Spread,Settle,Maturity,'FloatReset',4,'Basis',7)
'FloatReset'
— Частота платежей в год1
(значение по умолчанию) | положительное целое число от set[1,2,3,4,6,12]
| вектор положительных целых чисел от набора [1,2,3,4,6,12]
Частота платежей в год, заданный как пара, разделенная запятой, состоящая из 'FloatReset'
и положительных целых чисел для значений [1,2,3,4,6,12]
в NINST
-by-1
вектор.
Платежи по долговым обязательствам с плавающей ставкой (FRNs) определяются эффективной процентной ставкой между датами сброса. Если период сброса для FRN охватывает больше чем один древовидный уровень, вычисление оплаты становится невозможным из-за повторно объединяющейся природы дерева. Таким образом, древовидный путь, соединяющий две последовательных даты сброса, не может быть исключительно определен, потому что будет больше чем один возможный путь для соединения этих двух платежных дней.
Типы данных: double
'Basis'
— Основание дневного количества инструмента0
(фактическое/фактическое) (значение по умолчанию) | положительные целые числа набора [1...13]
| вектор положительных целых чисел набора [1...13]
Основание дневного количества инструмента, заданного как пара, разделенная запятой, состоящая из 'Basis'
и положительного целого числа с помощью NINST
-by-1
вектор. Значение 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
'Principal'
— Основные значения100
(значение по умолчанию) | вектор неотрицательных значений | массив ячеек неотрицательных значенийОсновные значения, заданные как пара, разделенная запятой, состоящая из 'Principal'
и неотрицательных значений с помощью NINST
-by-1
вектор или NINST
-by-1
массив ячеек отвлеченных основных сумм. При использовании NINST
-by-1
массив ячеек, каждым элементом является NumDates
-by-2
массив ячеек, где первый столбец является датами, и второй столбец является сопоставленной основной суммой. Дата указывает в последний день, что основное значение допустимо.
Типы данных: double
| cell
Опции
Структура, содержащая производные, оценивая опцииСтруктура, содержащая производные, оценивая опции, заданные как пара, разделенная запятой, состоящая из 'Options'
и структуры, получена из использования derivset
.
Типы данных: struct
'EndMonthRule'
— Флаг правила конца месяца1
(в действительности) (значение по умолчанию) | неотрицательное целое число [0,1]Флаг правила конца месяца, заданный как пара, разделенная запятой, состоящая из 'EndMonthRule'
и неотрицательного целого числа [0
, 1
] использование NINST
-by-1
вектор. Это правило применяется только, когда Maturity
является датой конца месяца в течение месяца, имея 30 или меньше дней.
0
= Игнорирует правило, означая, что платежный день облигационного купона всегда является тем же числовым днем месяца.
1
= Установленное правило о, означая, что платежный день облигационного купона всегда является прошлым фактическим днем месяца.
Типы данных: double
Price
— Ожидаемые цены опции долгового обязательства с плавающей ставкой во время 0Ожидаемые цены опции долгового обязательства с плавающей ставкой во время 0 возвращены как скаляр или NINST
-by-1
вектор.
PriceTree
— Структура деревьев, содержащих векторы цен опции в каждом узле Структура деревьев, содержащих векторы цен на инструменты и начисленных процентов и вектор времен наблюдения для каждого узла, возвращенного как:
PriceTree.PTree
содержит чистые цены.
PriceTree.AITree
содержит начисленные проценты.
PriceTree.tObs
содержит времена наблюдения.
PriceTree.Connect
содержит векторы возможности соединения. Каждый элемент в массиве ячеек описывает, как узлы на том уровне соединяются со следующим. Для данного древовидного уровня в векторе существуют элементы NumNodes
, и они содержат индекс узла на следующем уровне, с которым соединяется среднее ответвление. Вычитание 1 от того значения указывает, где подключения-ответвления к, и добавление 1 указали, где вниз переходят подключения к.
PriceTree.Probs
содержит массивы вероятности. Каждый элемент массива ячеек содержит, середина и вероятности перехода вниз для каждого узла уровня.
bktree
| bondbybk
| capbybk
| cfbybk
| floatbybk
| floorbybk
| instoptfloat
| swapbybk
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.