Расчет цен опционов на ваниль или чувствительности с использованием метода конечных разниц
[ вычисляет цены опционов на ваниль или чувствительность с помощью метода конечных разниц. PriceSens,PriceGrid,AssetPrices,Times] = optstocksensbyfd(RateSpec,StockSpec,OptSpec,Strike,Settle,ExerciseDates)
[ добавляет необязательные аргументы пары имя-значение. PriceSens,PriceGrid,AssetPrices,Times] = optstocksensbyfd(___,Name,Value)
Создать RateSpec.
AssetPrice = 50; Strike = 45; Rate = 0.035; Volatility = 0.30; Settle = '01-Jan-2015'; Maturity = '01-Jan-2016'; Basis = 1; RateSpec = intenvset('ValuationDate',Settle,'StartDates',Settle,'EndDates',... Maturity,'Rates',Rate,'Compounding',-1,'Basis',Basis)
RateSpec = struct with fields:
FinObj: 'RateSpec'
Compounding: -1
Disc: 0.9656
Rates: 0.0350
EndTimes: 1
StartTimes: 0
EndDates: 736330
StartDates: 735965
ValuationDate: 735965
Basis: 1
EndMonthRule: 1
Создать StockSpec.
StockSpec = stockspec(Volatility,AssetPrice)
StockSpec = struct with fields:
FinObj: 'StockSpec'
Sigma: 0.3000
AssetPrice: 50
DividendType: []
DividendAmounts: 0
ExDividendDates: []
Рассчитайте цену и чувствительность для европейской колл-опции ванили с помощью метода конечных разниц.
ExerciseDates = 'may-1-2015'; OptSpec = 'Call'; OutSpec = {'price'; 'delta'; 'theta'}; [PriceSens, Delta, Theta] = optstocksensbyfd(RateSpec,StockSpec,OptSpec,Strike,Settle,... ExerciseDates,'OutSpec',OutSpec)
PriceSens = 6.7352
Delta = 0.7765
Theta = -4.9999
StockSpec - Спецификация запаса для базового основного средстваСпецификация запаса для базового основного средства. Для получения информации о спецификации заготовки см. stockspec.
stockspec обрабатывает несколько типов базовых активов. Например, для физических товаров цена равна StockSpec.Asset, волатильность StockSpec.Sigma, и удобство доходности StockSpec.DividendAmounts.
Типы данных: struct
OptSpec - Определение опциона 'call' или 'put' | строковый массив со значениями 'call' или 'put'Определение опции как 'call' или 'put', указанный как символьный вектор или строковый массив со значениями 'call' или 'put'.
Типы данных: char | string
Strike - Цена страйка опционаЗначение цены страйка опциона, указанное как неотрицательный скаляр или вектор.
Для европейского варианта используйте скаляр цены страйка.
Для варианта на Бермудских островах используйте 1около-NSTRIKES вектор ударных цен.
Для американского варианта используйте скаляр цены страйка.
Типы данных: single | double
Settle - Дата расчета или торговлиДата расчета или торговая дата для параметра барьера, указанная как порядковый номер даты, вектор символов даты или объект datetime.
Типы данных: double | char | datetime
ExerciseDates - Даты опционных упражненийДаты выполнения опции, указанные как неотрицательное скалярное целое число, вектор символов даты или объект datetime:
Для европейского варианта используйте 1около-1 вектор дат, заданный как неотрицательное скалярное целое число, вектор символов даты или объект datetime. Для варианта на Бермудских островах используйте 1около-NSTRIKES вектор дат, заданный как неотрицательное скалярное целое число, вектор символов даты или объект datetime.
Для американского варианта используйте 1около-2 массив ячеек векторов символов даты. Опцион может быть реализован на любую дату между или включая пару дат в этой строке. Если только один не -NaN дата указана, или если ExerciseDates является 1около-1 вектор серийных номеров даты или массив ячеек векторов символов даты, опция может быть реализована между Settle и единственная дата, указанная в ExerciseDates.
Типы данных: double | char | cell | datetime
Укажите дополнительные пары, разделенные запятыми Name,Value аргументы. Name является именем аргумента и Value - соответствующее значение. Name должен отображаться внутри кавычек. Можно указать несколько аргументов пары имен и значений в любом порядке как Name1,Value1,...,NameN,ValueN.
PriceSens = optstocksensbyfd(RateSpec,StockSpec,OptSpec,Strike,Settle,ExerciseDates,'OutSpec',{'All'},'AssetGridSize',1000)'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
'AssetGridSize' - Размер сетки активов, используемой для сетки конечных разниц400 (по умолчанию) | положительный скалярРазмер сетки активов, используемой для сетки конечных разностей, определяемой как разделенная запятыми пара, состоящая из 'AssetGridSize' и положительный скаляр.
Типы данных: double
'AssetPriceMax' - Максимальная цена для границы ценовой сеткиStockSpec значения рассчитываются с использованием распределений активов на срок (по умолчанию) | положительный скалярМаксимальная цена для границы сетки цен, указанная как пара, разделенная запятыми, состоящая из 'AssetPriceMax' и положительный скаляр.
Типы данных: single | double
'TimeGridSize' - Размер временной сетки, используемой для сетки конечных разностей100 (по умолчанию) | положительный скалярРазмер временной сетки, используемой для сетки конечных разностей, указанной как разделенная запятыми пара, состоящая из 'TimeGridSize' и положительный скаляр.
Типы данных: double
'AmericanOpt' - Тип опции0 (European/Bermuda) (по умолчанию) | скаляр со значениями [0,1]Тип опции, указанный как разделенная запятыми пара, состоящая из 'AmericanOpt' и NINSTоколо-1 положительные целочисленные скалярные флаги со значениями:
0 - Европейский/Бермудские острова
1 - американский
Типы данных: double
PriceSens - Ожидаемые цены или чувствительность для вариантов ванилиОжидаемая цена или чувствительность (определяется OutSpec) опции ванили, возвращенной в виде 1около-1 массив.
PriceGrid - Сетка, содержащая цены, рассчитанные методом конечных разницСетка, содержащая цены, рассчитанные методом конечных разниц, возвращаемые как двумерная сетка с размером PriceGridSize*length(Times). Количество столбцов не должно быть равно TimeGridSize, потому что даты бывших дивидендов в StockSpec добавляются к временной сетке. Цена за t = 0 содержится в PriceGrid(:, end).
Times - Время, соответствующее второму размеру PriceGridВремя, соответствующее второму размеру PriceGrid, возвращено как вектор.
Вариант ванили - это категория вариантов, включающая только самые стандартные компоненты.
Вариант ванили имеет срок годности и простую цену страйка. Варианты в американском и европейском стиле классифицируются как варианты ванили.
Окупаемость опциона на ваниль выглядит следующим образом:
Для вызова: , 0)
Для put: , 0)
где:
St - цена базового актива в момент времени t.
K - цена удара.
Дополнительные сведения см. в разделе Параметр ванили.
[1] Хог, например, Дж. Хог и А. Льюис. «Назад к основам: новый подход к проблеме дискретных дивидендов». Том 9, журнал Wilmott, 2003, стр. 37-47.
[2] Ву, Л. и Я. К. Квок. «Фиксирующий спереди метод конечных разниц для оценки американских опционов». Журнал финансового инжиниринга. Том 6.4, 1997, стр. 83-97.
Имеется измененная версия этого примера. Открыть этот пример с помощью изменений?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.