Вычислите цену и чувствительность для европейца, бермудца или американских опций ванили с помощью симуляций Монте-Карло
возвращает цены опции ванили или чувствительность с помощью модели Лонгштафф-Шварца. PriceSens = optstocksensbyls(RateSpec,StockSpec,OptSpec,Strike,Settle,ExerciseDates)optstocksensbyls вычисляет цены или чувствительность европейца, бермудца и американских опций ванили.
Для американских и бермудских опций метод наименьших квадратов Лонгштафф-Шварца используется, чтобы вычислить раннюю премию осуществления.
добавляют дополнительные аргументы пары "имя-значение".PriceSens = optstocksensbyls(___,Name,Value)
Задайте RateSpec.
StartDates = 'Jan-1-2013'; EndDates = 'Jan-1-2015'; Rates = 0.05; RateSpec = intenvset('ValuationDate', StartDates, 'StartDates', StartDates, ... 'EndDates', EndDates, 'Rates', Rates)
RateSpec = struct with fields:
FinObj: 'RateSpec'
Compounding: 2
Disc: 0.9060
Rates: 0.0500
EndTimes: 4
StartTimes: 0
EndDates: 735965
StartDates: 735235
ValuationDate: 735235
Basis: 0
EndMonthRule: 1
Задайте StockSpec для актива.
AssetPrice = 100;
Sigma = 0.1;
DivType = 'continuous';
DivAmounts = 0.04;
StockSpec = stockspec(Sigma, AssetPrice, DivType, DivAmounts)StockSpec = struct with fields:
FinObj: 'StockSpec'
Sigma: 0.1000
AssetPrice: 100
DividendType: {'continuous'}
DividendAmounts: 0.0400
ExDividendDates: []
Задайте опцию ванили.
OptSpec = 'call'; Settle = 'jan-1-2013'; ExerciseDates = 'jan-1-2015'; Strike = 105;
Вычислите Delta чувствительность для опции ванили с помощью модели Лонгштафф-Шварца.
Antithetic = true;
OutSpec = {'Delta'};
PriceSens = optstocksensbyls(RateSpec, StockSpec, OptSpec, Strike, ...
Settle, ExerciseDates,'Antithetic', Antithetic, 'OutSpec', OutSpec)PriceSens = 0.3945
Отображать вывод для Price\deltapath, и Times, используйте следующее:
OutSpec = {'Price','Delta'};
[Price, Delta, Path, Times] = optstocksensbyls(RateSpec, StockSpec, OptSpec, Strike, ...
Settle, ExerciseDates,'Antithetic', Antithetic, 'OutSpec', OutSpec);StockSpec — Спецификация запаса для базового активаOptSpec — Определение опции 'call' или 'put'Определение опции, заданной как 'call' или 'put' использование вектора символов.
Типы данных: char
Strike — Значение цены исполнения опциона опцииЗначение цены исполнения опциона опции, заданное с неотрицательным скалярным целым числом:
Для европейской опции используйте скаляр цены исполнения опциона.
Для опции Бермуд используйте 1- NSTRIKES вектор цены исполнения опциона.
Для американской опции используйте скаляр цены исполнения опциона.
Типы данных: single | double
Settle — Расчетный день или торговая датаРасчетный день или торговая дата опции ванили, заданной как вектор символов даты или последовательный номер даты.
Типы данных: double | char
ExerciseDates — Дата осуществления опцииДата осуществления опции, заданная как вектор символов даты или последовательный номер даты:
Для европейской опции используйте 1- 1 вектор дат. Для европейской опции существует только один ExerciseDates на дате окончания срока действия опции.
Для опции Бермуд используйте 1- NSTRIKES вектор дат.
Для американской опции используйте 1- 2 вектор контуров даты осуществления. Опция может быть осуществлена в любую дату между или включая пару дат на той строке. Если только один non-NaN дата перечислена, или если ExerciseDates 1- 1 вектор последовательных чисел даты или массива ячеек из символьных векторов, опция может быть осуществлена между Settle и один перечисленный ExerciseDates.
Типы данных: double | char
Задайте дополнительные разделенные запятой пары Name,Value аргументы. Name имя аргумента и Value соответствующее значение. Name должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.
Price = optstocksensbyls(RateSpec,StockSpec, OptSpec,Strike,Settle,ExerciseDates,'AmericanOpt','1','NumTrials','2000','OutSpec',{'Price','Delta','Gamma'})'AmericanOpt' — Тип опции Европеец или Бермуды (значение по умолчанию) | скаляр со значениями [0,1]Тип опции, заданный как разделенная запятой пара, состоящая из 'AmericanOpt' и положительный целочисленный скаляр отмечает с помощью значений:
0 — Европеец или Бермуды
1 — Американец
Для американских и бермудских опций метод наименьших квадратов Лонгштафф-Шварца используется, чтобы вычислить раннюю премию осуществления. Для получения дополнительной информации о методе наименьших квадратов см. https://people.math.ethz.ch / % 7Ehjfurrer/teaching/LongstaffSchwartzAmericanOptionsLeastSquareMonteCarlo.pdf.
Типы данных: single | double
'NumTrials' — Испытания симуляции (значение по умолчанию) | скалярИспытания симуляции, заданные как разделенная запятой пара, состоящая из 'NumTrials' и скалярное количество независимых демонстрационных путей.
Типы данных: double
'NumPeriods' — Периоды симуляции на испытание (значение по умолчанию) | скалярПериоды симуляции на испытание, заданное как разделенная запятой пара, состоящая из 'NumPeriods' и скалярный номер. NumPeriods рассматривается только при оценке европейских опций ванили. Для американца и опций Бермуд ванили, NumPeriod равно количеству Exercise дни во время жизни опции.
Типы данных: double
'Z' — Зависимые случайные варьируемые величиныЗависимые случайные варьируемые величины раньше генерировали вектор Броуновского движения (то есть, Винеровские процессы), которые управляют симуляцией, заданной как разделенная запятой пара, состоящая из 'Z' и NumPeriods- 1- NumTrials 3-D массив временных рядов.
Типы данных: single | double
'Antithetic' — Индикатор для прямо противоположной выборкиfalse (значение по умолчанию) | логический флаг со значением true или falseИндикатор для прямо противоположной выборки, заданной как разделенная запятой пара, состоящая из 'Antithetic' и значение true или false.
Типы данных: логический
'OutSpec' — Задайте выходные параметры{'Price'} (значение по умолчанию) | вектор символов со значениями 'Price'\delta\Gamma, 'Vega'\lambda\rho, 'Theta', и 'All' | массив ячеек из символьных векторов со значениями: 'Price'\delta\Gamma, 'Vega'\lambda\rho, 'Theta', и 'All'Задайте выходные параметры, заданные как разделенная запятой пара, состоящая из 'OutSpec' и NOUT- 1 или 1- 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- 1 массив.
Path — Симулированные пути коррелированых переменных состоянияСимулированные пути коррелированых переменных состояния, возвращенных как (NumPeriods+ 1 )-by-1- NumTrials 3-D массив временных рядов. Каждая строка Paths транспонирование вектора состояния X (t) во время t для данного испытания.
Times — Времена наблюдения сопоставлены с симулированными путямиВремена наблюдения сопоставлены с симулированными путями, возвращенными как (NumPeriods+ 1 )-by-1 вектор-столбец времен наблюдения сопоставлен с симулированными путями. Каждый элемент Times сопоставлен с соответствующей строкой Paths.
Z — Зависимые случайные варьируемые величины Зависимые случайные варьируемые величины, если Z задан как дополнительный входной параметр, то же значение возвращено. В противном случае, Z содержит случайные варьируемые величины, сгенерированные внутренне.
vanilla option является категорией опций, которая включает только самые стандартные компоненты.
Опция ванили имеет дату истечения срока и прямую цену исполнения опциона. Американские параметры стиля и европейские параметры стиля оба категоризированы как опции ванили.
Выплата для опции ванили следующие:
Для вызова:
Для помещенного:
где:
St является ценой базового актива во время t.
K является ценой исполнения опциона.
Для получения дополнительной информации см. Опцию Ванили.
У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.