Вычислите европейские спред- опции цены или чувствительности с помощью модели ценообразования Kirk
возвращает европейские цены опции или чувствительности с помощью модели ценообразования Кирка.PriceSens
= spreadbykirk(RateSpec
,StockSpec1
,StockSpec2
,Settle
,Maturity
,OptSpec
,Strike
,Corr
)
добавляет необязательные аргументы пары "имя-значение".PriceSens
= spreadsensbykirk(___,Name,Value
)
Определите даты опции спреда.
Settle = '01-Jun-2012'; Maturity = '01-Sep-2012';
Определите основное средство 1. Цена и волатильность бензина RBOB
Price1gallon = 2.85; % $/gallon Price1 = Price1gallon * 42; % $/barrel Vol1 = 0.29;
Определите основное средство 2. Цена и волатильность нефти WTI
Price2 = 93.20; % $/barrel
Vol2 = 0.36;
Определите корреляцию между базовыми ценами основного средства 1 и основного средства 2.
Corr = 0.42;
Определите опцию разворота.
OptSpec = 'call';
Strike = 20;
Определите RateSpec
.
rates = 0.05; Compounding = -1; Basis = 1; RateSpec = intenvset('ValuationDate', Settle, 'StartDates', Settle, ... 'EndDates', Maturity, 'Rates', rates, ... 'Compounding', Compounding, 'Basis', Basis)
RateSpec = struct with fields:
FinObj: 'RateSpec'
Compounding: -1
Disc: 0.9876
Rates: 0.0500
EndTimes: 0.2500
StartTimes: 0
EndDates: 735113
StartDates: 735021
ValuationDate: 735021
Basis: 1
EndMonthRule: 1
Определите StockSpec
для этих двух активов.
StockSpec1 = stockspec(Vol1, Price1)
StockSpec1 = struct with fields:
FinObj: 'StockSpec'
Sigma: 0.2900
AssetPrice: 119.7000
DividendType: []
DividendAmounts: 0
ExDividendDates: []
StockSpec2 = stockspec(Vol2, Price2)
StockSpec2 = struct with fields:
FinObj: 'StockSpec'
Sigma: 0.3600
AssetPrice: 93.2000
DividendType: []
DividendAmounts: 0
ExDividendDates: []
Вычислите цену опции спреда и чувствительности на основе модели Кирка.
OutSpec = {'Price', 'Delta', 'Gamma'}; [Price, Delta, Gamma] = spreadsensbykirk(RateSpec, StockSpec1, StockSpec2, Settle, ... Maturity, OptSpec, Strike, Corr, 'OutSpec', OutSpec)
Price = 11.1904
Delta = 1×2
0.6722 -0.6067
Gamma = 1×2
0.0191 0.0217
StockSpec1
- Спецификация запаса для базового актива 1Спецификация запаса для базового актива 1. Для получения информации о спецификации запаса см. stockspec
.
stockspec
может обрабатывать другие типы базовых активов. Для примера, для физических товаров цена представлена StockSpec.Asset
, волатильность представлена StockSpec.Sigma
, и удобное выражение представлено StockSpec.DividendAmounts
.
Типы данных: struct
StockSpec2
- Спецификация запаса для базового актива 2Спецификация запаса для базового актива 2. Для получения информации о спецификации запаса см. stockspec
.
stockspec
может обрабатывать другие типы базовых активов. Для примера, для физических товаров цена представлена StockSpec.Asset
, волатильность представлена StockSpec.Sigma
, и удобное выражение представлено StockSpec.DividendAmounts
.
Типы данных: struct
Settle
- Даты расчета для опции спредаДаты расчета для опции расширения, заданные как векторы символов даты или как серийные номера дат с помощью NINST
-by- 1
вектор или массив ячеек с вектором символов датами.
Типы данных: char
| cell
| double
Maturity
- Дата погашения для опции спредаДата погашения для опции расширения, заданная как векторы символов даты или как серийные номера дат с помощью NINST
-by- 1
вектор или массив ячеек с вектором символов датами.
Типы данных: char
| cell
| double
OptSpec
- Определение опции 'call'
или 'put'
| массивов ячеек из векторов символовОпределение опции как 'call'
или 'put'
, заданный как NINST
-by- 1
массив ячеек из векторов символов.
Типы данных: char
| cell
Strike
- Значения цены опционной забастовкиОпция strike price values, заданная в виде целого числа, используя как NINST
-by- 1
вектор значений цены доставки.
Если Strike
равен нулю, эта функция вычисляет цену и чувствительность биржевой опции.
Типы данных: single
| double
Corr
- Корреляция между базовыми ценами на активыКорреляция между базовыми ценами активов, заданная как целое число, использующее как NINST
-by- 1
вектор.
Типы данных: single
| double
Задайте необязательные разделенные разделенными запятой парами Name,Value
аргументы. Name
- имя аргумента и Value
- соответствующее значение. Name
должны находиться внутри кавычек. Можно задать несколько аргументов в виде пар имен и значений в любом порядке Name1,Value1,...,NameN,ValueN
.
PriceSens = spreadsensbykirk(RateSpec,StockSpec1,StockSpec2,Settle,Maturity,OptSpec,Strike,Corr,OutSpec,{'All'})
'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
) опции спреда, возвращенной как NINST
-by- 1
или NINST
-by- 2
вектор.
A spread option - это опция, написанная на различии двух базовых активов.
Например, европейский вызов к различию двух активов X1 и X2 имел бы следующую окупаемость при погашении:
где:
K - цена доставки.
Для получения дополнительной информации см. Раздел «Опция распределения».
[1] Carmona, R., Durrleman, V. «Pricing and Hedging Spread Options». Обзор СИАМ. Том 45, № 4, с. 627-685, Общество индустриальной и прикладной математики, 2003.
У вас есть измененная версия этого примера. Вы хотите открыть этот пример с вашими правками?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.