Определите европейскую цену опции радуги максимум на двух опасных использований активов модель ценообразования опционов Stulz
вычисляет цены опции с помощью модели ценообразования опционов Stulz.Price
= maxassetbystulz(RateSpec
,StockSpec1
,StockSpec2
,Settle
,Maturity
,OptSpec
,Strike
,Corr
)
Рассмотрите европейскую возможность радуги, которая дает держателю право купить любую ценность за 100 000$ фондового индекса по цене исполнения опциона 1 000 (актив 1) или 100 000$ государственной облигации (актив 2) с ценой исполнения опциона 100% номинальной стоимости, какой бы ни стоит больше в конце 12 месяцев. 15 января 2008 фондовый индекс стоит в 950, выплачивает дивиденд 2% ежегодно и имеет энергозависимость возврата 22%. Также 15 января 2008 государственная облигация торгует в 98, платит выражение купона 6% и имеет энергозависимость возврата 15%. Безрисковый уровень составляет 5%. Используя эти данные, если корреляция между нормами прибыли-0.5, 0, и 0.5, вычисляют цену европейской опции радуги.
Поскольку цены активов в этом примере находятся в различных модулях, необходимо работать в любом индексе точки (актив 1) или в долларах (актив 2). Европейская опция радуги позволяет держателю покупать следующее: 100 модулей фондового индекса на уровне 1 000$ каждый (за в общей сложности 100 000$) или 1 000 модулей государственных облигаций на уровне 100$ каждый (за в общей сложности 100 000$). Чтобы преобразовать цену облигаций (актив 2), чтобы индексировать модули (актив 1), необходимо внести следующие корректировки:
Умножьте цену исполнения опциона и текущую цену государственной облигации на 10 (1000/100).
Умножьте цену опции на 100, полагая, что существует 100 модулей фондового индекса в опции.
Если эти корректировки введены, цена исполнения опциона является тем же самым для обоих активов (1 000$). Во-первых, создайте RateSpec
:
Settle = 'Jan-15-2008'; Maturity = 'Jan-15-2009'; Rates = 0.05; Basis = 1; RateSpec = intenvset('ValuationDate', Settle, 'StartDates', Settle,... 'EndDates', Maturity, 'Rates', Rates, 'Compounding', -1, 'Basis', Basis)
RateSpec = struct with fields:
FinObj: 'RateSpec'
Compounding: -1
Disc: 0.9512
Rates: 0.0500
EndTimes: 1
StartTimes: 0
EndDates: 733788
StartDates: 733422
ValuationDate: 733422
Basis: 1
EndMonthRule: 1
Создайте два StockSpec
определения.
AssetPrice1 = 950; % Asset 1 => Equity index AssetPrice2 = 980; % Asset 2 => Government bond Sigma1 = 0.22; Sigma2 = 0.15; Div1 = 0.02; Div2 = 0.06; StockSpec1 = stockspec(Sigma1, AssetPrice1, 'continuous', Div1)
StockSpec1 = struct with fields:
FinObj: 'StockSpec'
Sigma: 0.2200
AssetPrice: 950
DividendType: {'continuous'}
DividendAmounts: 0.0200
ExDividendDates: []
StockSpec2 = stockspec(Sigma2, AssetPrice2, 'continuous', Div2)
StockSpec2 = struct with fields:
FinObj: 'StockSpec'
Sigma: 0.1500
AssetPrice: 980
DividendType: {'continuous'}
DividendAmounts: 0.0600
ExDividendDates: []
Вычислите цену опций для различных уровней корреляции.
Strike = 1000 ; Corr = [-0.5; 0; 0.5]; OptSpec = 'call'; Price = maxassetbystulz(RateSpec, StockSpec1, StockSpec2,... Settle, Maturity, OptSpec, Strike, Corr)
Price = 3×1
111.6683
103.7715
92.4412
Это цены одного модуля. Это означает, что премия 11166.83, 10377.15, и 9244.12 (для 100 модулей).
RateSpec
— Пересчитанный на год, постоянно составляемая структура термина уровняПересчитанный на год, постоянно составляемая структура термина уровня, заданное использование intenvset
.
Типы данных: structure
StockSpec1
— Спецификация запаса для актива 1Спецификация запаса для актива 1, заданное использование stockspec
.
Типы данных: structure
StockSpec2
— Спецификация запаса для актива 2Спецификация запаса для актива 2, заданное использование stockspec
.
Типы данных: structure
Settle
— Урегулирование или торговые датыУрегулирование или торговые даты в виде NINST
- 1
вектор из числовых дат.
Типы данных: double
Maturity
— Даты погашенияДаты погашения в виде NINST
- 1
вектор.
Типы данных: double
OptSpec
— Тип опции'call'
или 'put'
Тип опции в виде NINST
- 1
массив ячеек из символьных векторов со значением 'call'
или 'put'
.
Типы данных: cell
Strike
— Цены исполнения опционаЦены исполнения опциона в виде NINST
- 1
вектор.
Типы данных: double
Corr
— Корреляция между ценами базового активаКорреляция между ценами базового актива в виде NINST
- 1
вектор.
Типы данных: double
Price
— Ожидаемые цены опцииОжидаемые цены опции, возвращенные как NINST
- 1
вектор.
Выплата rainbow option зависит от относительной динамики цен двух или больше активов.
Опция радуги дает держателю право купить или продать лучшее или худшую из двух ценных бумаг или опций, которые платят лучшее или худший из двух активов. Опции радуги популярны из-за более низкой премиальной стоимости структуры относительно покупки двух отдельных опций. Более низкая цена отражает то, что выплата обычно ниже, чем выплата двух отдельных опций.
Financial Instruments Toolbox™ поддерживает два типа опций радуги:
Минимум двух активов — держатель опции имеет право купить (продают) один из двух опасных активов, какой бы ни каждый стоит меньше.
Максимум двух активов — держатель опции имеет право купить (продают) один из двух опасных активов, какой бы ни каждый стоит больше.
Для получения дополнительной информации см. Опцию Радуги.
intenvset
| maxassetsensbystulz
| minassetbystulz
| stockspec
У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.