Вычислите цену и чувствительность для европейских или американских опций поиска с помощью симуляций Монте-Карло
[
возвращает цены или чувствительности опций поиска, используя модель Лонгстафа-Шварца для симуляций Монте-Карло. PriceSens
,Paths
,Times
,Z
]
= lookbacksensbyls(RateSpec
,StockSpec
,OptSpec
,Strike
,Settle
,ExerciseDates
)lookbacksensbyls
вычисляет цены на европейские и американские опции поиска.
Для американских опций Longstaff-Schwartz методом наименьших квадратов вычисляет премию за ранние упражнения.
lookbacksensbyls
вычисляет значения опций поиска с фиксированным и плавающим ударами. Чтобы вычислить значение опции поиска с плавающим ударом, Strike
должно быть задано как NaN
.
Определите RateSpec
.
StartDates = 'Jan-1-2013'; EndDates = 'Jan-1-2014'; Rates = 0.41; Compounding = -1; RateSpec = intenvset('ValuationDate', StartDates, 'StartDates', StartDates,... 'EndDates', EndDates, 'Rates', Rates,'Compounding', Compounding)
RateSpec = struct with fields:
FinObj: 'RateSpec'
Compounding: -1
Disc: 0.6637
Rates: 0.4100
EndTimes: 1
StartTimes: 0
EndDates: 735600
StartDates: 735235
ValuationDate: 735235
Basis: 0
EndMonthRule: 1
Определите StockSpec
с непрерывным дивидендным выражением.
AssetPrice = 120;
Sigma = 0.3;
Yield = 0.045;
StockSpec = stockspec(Sigma, AssetPrice, 'Continuous', Yield)
StockSpec = struct with fields:
FinObj: 'StockSpec'
Sigma: 0.3000
AssetPrice: 120
DividendType: {'continuous'}
DividendAmounts: 0.0450
ExDividendDates: []
Задайте опцию плавающего поиска.
Settle = 'Jan-1-2013'; Maturity = 'July-1-2013'; OptSpec = 'call'; Strike = NaN;
Вычислите цену и дельту европейской опции плавающего поиска.
OutSpec = {'price', 'delta'}; [Price, Delta] = lookbacksensbyls(RateSpec, StockSpec, OptSpec, Strike, Settle, Maturity,... 'OutSpec', OutSpec)
Price = 27.0768
Delta = 0.2256
Определите RateSpec
.
StartDates = 'Jan-1-2013'; EndDates = 'Jan-1-2015'; Rates = 0.1; Compounding = -1; RateSpec = intenvset('ValuationDate', StartDates, 'StartDates', StartDates,... 'EndDates', EndDates, 'Rates', Rates,'Compounding', Compounding)
RateSpec = struct with fields:
FinObj: 'RateSpec'
Compounding: -1
Disc: 0.8187
Rates: 0.1000
EndTimes: 2
StartTimes: 0
EndDates: 735965
StartDates: 735235
ValuationDate: 735235
Basis: 0
EndMonthRule: 1
Определите StockSpec
.
AssetPrice = 103; Sigma = 0.30; StockSpec = stockspec(Sigma, AssetPrice)
StockSpec = struct with fields:
FinObj: 'StockSpec'
Sigma: 0.3000
AssetPrice: 103
DividendType: []
DividendAmounts: 0
ExDividendDates: []
Задайте опцию фиксированного поиска.
Settle = 'Jan-1-2013'; Maturity = 'July-1-2013'; OptSpec = 'call'; Strike = 99;
Вычислите цену и дельту европейской опции фиксированного поиска.
OutSpec = {'price', 'delta'}; [Price, Delta] = lookbacksensbyls(RateSpec, StockSpec, OptSpec, Strike, Settle, Maturity,... 'OutSpec', OutSpec)
Price = 22.7227
Delta = 1.1349
StockSpec
- Спецификация запаса для базового активаСпецификация запаса для базового актива. Для получения информации о спецификации запаса см. stockspec
.
stockspec
может обрабатывать несколько типов базовых активов. Для примера, для физических товаров цена представлена StockSpec.Asset
, волатильность представлена StockSpec.Sigma
, и удобное выражение представлено StockSpec.DividendAmounts
.
Типы данных: struct
OptSpec
- Определение опции 'call'
или 'put'
| массивов ячеек из векторов символовОпределение опции как 'call'
или 'put'
, заданный как NINST
-by- 1
массив ячеек из векторов символов.
Типы данных: char
| cell
Strike
- Значения цены опционной забастовкиОпциональные значения цены доставки, заданные в виде целого числа с помощью NINST
-by- 1
вектор значений цены доставки.
Типы данных: single
| double
Settle
- Дата расчета или сделкиДата расчета или сделки для опции поиска, заданная как векторы символов даты или как серийные номера даты с помощью NINST
-by- 1
вектор или массив ячеек с вектором символов датами.
Типы данных: double
| char
| cell
ExerciseDates
- Матрица дат, подлежащих вызову или интерполяции, для европейских или американских опцийМатрица дат, подлежащих вызову или интерполяции, для европейских или американских опций, заданная как векторы символов даты или как серийные номера даты следующим образом:
Европейская опция - NINST
-by- 1
вектор дат упражнений. Для европейской опции существует только одна дата выполнения, которая является датой истечения срока действия опции.
Американская опция - NINST
-by- 2
вектор контуров дат упражнения. Для каждого инструмента опция выполняется на любую дату купона между или включая пару дат в этой строке. Если только один не - NaN
указана дата, или если ExerciseDates
является NINST
-by- 1
вектор последовательных номеров дат или массив ячеек из векторов символов, опция выполняется между Settle
и указанную дату упражнения.
Типы данных: double
| char
| cell
Задайте необязательные разделенные разделенными запятой парами Name,Value
аргументы. Name
- имя аргумента и Value
- соответствующее значение. Name
должны находиться внутри кавычек. Можно задать несколько аргументов в виде пар имен и значений в любом порядке Name1,Value1,...,NameN,ValueN
.
PriceSens = lookbacksensbyls(RateSpec,StockSpec1,StockSpec2,Settle,Maturity,OptSpec,Strike,Corr,'AmericanOpt',1,'OutSpec',{'All'})
'AmericanOpt'
- Тип опции0
Европейский (по умолчанию) | скаляр с [0,1]
значений
Тип опции, заданный как разделенная разделенными запятой парами, состоящая из 'AmericanOpt'
и целочисленный скалярный флаг с этими значениями:
0
- Европейский
1
- Американский
Примечание
Для американских опций Longstaff-Schwartz методом наименьших квадратов используется для вычисления премии за ранние упражнения. Для получения дополнительной информации о методе наименьших квадратов смотрите https ://people.math.etz.ch/% 7Ehjfurrer/training/LongstaffSchwartzAmericanOptionsLeastSquareMonteCarlo.pdf.
Типы данных: single
| double
'NumTrials'
- Скалярное число независимых путей расчета 1000
(по умолчанию) | неотрицательное скалярное целое числоСкалярное количество независимых путей расчета (испытания симуляции), заданное как разделенная разделенными запятой парами, состоящая из 'NumTrials'
и неотрицательное целое число.
Типы данных: single
| double
'NumPeriods'
- Скалярное количество периодов симуляции в исследовании100
(по умолчанию) | неотрицательное скалярное целое числоСкалярное количество периодов симуляции в исследовании, заданное как разделенная разделенными запятой парами, состоящая из 'NumPeriods'
и неотрицательное целое число. NumPeriods
рассматривается только при расчете цен на европейские опции поиска. Для американских опций поиска, NumPeriod
равен количеству дней упражнений в течение срока действия опции.
Типы данных: single
| double
'Z'
- Массив временных рядов зависимых случайных вариацийМассив временных рядов зависимых случайных вариатов, заданный как разделенная разделенными запятой парами, состоящая из 'Z'
и a NumPeriods
-by- 1
-by- NumTrials
трехмерный массив. The Z
значение генерирует вектор движения Brownian (то есть процессы Винера), который управляет симуляцией.
Типы данных: single
| double
'Antithetic'
- Индикатор для антитетического отбора пробfalse
(по умолчанию) | скалярный логический флаг со значением true
или false
Индикатор для антитетической выборки, заданный как разделенная разделенными запятой парами, состоящая из 'Antithetic'
и значение true
или false
.
Типы данных: logical
'OutSpec'
- Определить выходы{'Price'}
(по умолчанию) | символьный вектор со значениями 'Price'
, 'Delta'
, 'Gamma'
, 'Vega'
, 'Lambda'
, 'Rho'
, 'Theta'
, и 'All'
| массив ячеек векторов символов со значениями 'Price'
, 'Delta'
, 'Gamma'
, 'Vega'
, 'Lambda'
, 'Rho'
, 'Theta'
, и 'All'
Задайте выходы, заданные как разделенная разделенными запятой парами, состоящая из 'OutSpec'
и a NOUT
- by- 1
или 1
-by- NOUT
массив ячеек из векторов символов с возможными значениями 'Price'
, 'Delta'
, 'Gamma'
, 'Vega'
, 'Lambda'
, 'Rho'
, 'Theta'
, и 'All'
.
OutSpec = {'All'}
указывает, что выходы должны быть Delta
, Gamma
, Vega
, Lambda
, Rho
, Theta
, и Price
, в таком порядке. Это то же самое, что и установка OutSpec
включать каждую чувствительность.
Пример: OutSpec = {'delta','gamma','vega','lambda','rho','theta','price'}
Типы данных: char
| cell
PriceSens
- Ожидаемая цена или чувствительность интерполяционной опцииОжидаемая цена или чувствительность (определяется OutSpec
) опции поиска, возвращенной как 1
-by- 1
массив.
Paths
- Моделируемые пути коррелированных переменных состоянияМоделируемые пути коррелированных переменных состояния, возвращенные как NumPeriods + 1
-by- 1
-by- NumTrials
3-D массив временных рядов. Каждая строка Paths
- транспонирование вектора X (t) состояния в момент t для данного исследования.
Times
- Время наблюдения, сопоставленное с моделируемыми путямиВремя наблюдения, сопоставленное с моделируемыми путями, возвращается как NumPeriods + 1
-by- 1
вектор-столбец, сопоставленный с моделируемыми путями. Каждый элемент Times
связана с соответствующей строкой Paths
.
Z
- Массив временных рядов зависимых случайных вариацийМассив временных рядов зависимых случайных вариаций, возвращаемый как NumPeriods
-by- 1
-by- NumTrials
трехмерный массив, когда Z
задается как входной параметр. Если на Z
входной параметр не задан, тогда Z
выходной аргумент содержит случайные изменения, сгенерированные внутри.
lookback option является зависящей от пути опцией, основанной на максимальном или минимальном значении, которого базовый актив достигает в течение всего срока службы опции.
Программное обеспечение Financial Instruments Toolbox™ поддерживает два типа опций поиска: фиксированный и плавающий. Опции фиксированного поиска имеют заданную цену доставки, в то время как опции плавающего поиска имеют цену доставки, определяемую путем актива. Для получения дополнительной информации см. Раздел «Опция поиска».
[1] Hull, J. C. Options, Futures, and Other Derivatives 5th Edition. Englewood Cliffs, Нью-Джерси: Prentice Hall, 2002.
intenvset
| lookbackbycvgsg
| lookbackbyls
| lookbacksensbycvgsg
| stockspec
У вас есть измененная версия этого примера. Вы хотите открыть этот пример с вашими правками?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.