Asian объект прибора
Создать и оценить Asian объект инструмента с использованием этого рабочего процесса:
Использовать fininstrument для создания Asian объект прибора.
Использовать finmodel для указания BlackScholes, Heston, Bates, или Merton модель для Asian инструмент.
При использовании BlackScholes модель, использование finpricer для указания Levy, KemnaVorst, AssetTree, или TurnbullWakeman метод ценообразования для Asian инструмент.
При использовании BlackScholes, Heston, Bates, или Merton модель, использование finpricer для указания AssetMonteCarlo метод ценообразования для Asian инструмент.
Дополнительные сведения об этом потоке операций см. в разделе Начало работы с потоками операций с использованием объектной структуры для расчета цен на финансовые инструменты.
Для получения дополнительной информации о доступных моделях и методах ценообразования для Asian см. раздел Выбор приборов, моделей и прайсеров.
создает AsianOpt = fininstrument(InstrumentType,'Strike',strike_price,'ExerciseDate',exercise_date)Asian путем указания объекта InstrumentType и задает свойства для необходимых аргументов пары имя-значение Strike и ExerciseDate.
Asian инструмент поддерживает арифметические и геометрические средние цены азиатские опционы. Азиатские опционы средней цены также известны как азиатские опционы с фиксированной забастовкой.
задает дополнительные свойства, используя дополнительные пары имя-значение в дополнение к требуемым аргументам в предыдущем синтаксисе. Например, AsianOpt = fininstrument(___,Name,Value)AsianOpt = fininstrument("Asian",'Strike',100,'ExerciseDate',datetime(2019,1,30),'OptionType',"put",'ExerciseStyle',"European",'Name',"asian_option") создает Asian пут вариант с европейским упражнением. Можно указать несколько аргументов пары имя-значение.
InstrumentType - Тип прибора"Asian" | символьный вектор со значением 'Asian'Тип прибора, указанный как строка со значением "Asian" или символьный вектор со значением 'Asian'.
Типы данных: string | char
Asian Аргументы пары «имя-значение»Укажите требуемые и необязательные пары, разделенные запятыми Name,Value аргументы. Name является именем аргумента и Value - соответствующее значение. Name должен отображаться внутри кавычек. Можно указать несколько аргументов пары имен и значений в любом порядке как Name1,Value1,...,NameN,ValueN.
AsianOpt = fininstrument("Asian",'Strike',100,'ExerciseDate',datetime(2019,1,30),'OptionType',"put",'ExerciseStyle',"European",'Name',"asian_option")Asian Аргументы пары «имя-значение»'Strike' - Цена страйка опционаЦена страйка опциона, указанная как пара, разделенная запятыми, состоящая из 'Strike' и скалярное неотрицательное значение.
Типы данных: double
'ExerciseDate' - Даты опционных упражненийДата выполнения опциона, указанная как пара, разделенная запятыми, состоящая из 'ExerciseDate' и скалярное значение datetime, порядковый номер даты, вектор символов даты или строка даты.
Примечание
Для азиатского европейского варианта существует только один ExerciseDate на дату истечения срока действия опциона.
Если используется вектор символов даты или строка даты, формат должен быть распознаваемым по datetime потому что ExerciseDate свойство сохраняется как datetime.
Типы данных: double | char | string | datetime
Asian Аргументы пары «имя-значение»'OptionType' - Тип опции "call" (по умолчанию) | символьный вектор со значением 'call' или 'put' | строка со значением "call" или "put"Тип опции, указанный как разделенная запятыми пара, состоящая из 'OptionType' и вектор или строку скалярных символов.
Типы данных: char | string
'ExerciseStyle' - Стиль дополнительного упражнения"European" (по умолчанию) | строка со значением "European" | символьный вектор со значением 'European'
Стиль дополнительного упражнения, заданный как разделенная запятыми пара, состоящая из 'ExerciseStyle' и скалярный строковый или символьный вектор.
Типы данных: string | char
'AverageType' - Средний тип"arithmetic"
(по умолчанию) | строка со значением "arithmetic" или "geometric" | символьный вектор со значением 'arithmetic' или 'geometric'Средние типы, указанные как разделенная запятыми пара, состоящая из 'AverageType' и скалярный строковый или символьный вектор. Использовать "arithmetic" для среднего арифметического или "geometric" для среднего геометрического значения.
Примечание
При использовании RollGeskeWhaley прайсер, AverageType должно быть "geometric".
Типы данных: char | string
'AveragePrice' - Средняя цена базового актива0
(по умолчанию) | скалярный числовойСредняя цена базового актива, указанная как пара, разделенная запятыми, состоящая из 'AveragePrice' и скалярный числовой.
Типы данных: double
'AverageStartDate' - Дата начала периода усредненияNaT
(по умолчанию) | datetime | серийный номер даты | вектор символов даты | строка датыНачальная дата периода усреднения, указанная как пара, разделенная запятыми, состоящая из 'AverageStartDate' и скалярное значение datetime, порядковый номер даты, вектор символов даты или строка даты.
Если используется вектор символов даты или строка даты, формат должен быть распознаваемым по datetime потому что AverageStartDate свойство хранится как datetime.
Типы данных: char | double | datetime | string
'Name' - Определяемое пользователем имя прибора" "
(по умолчанию) | строка | символьный векторОпределяемое пользователем имя прибора, указанное как пара, разделенная запятыми, состоящая из 'Name' и скалярный строковый или символьный вектор.
Типы данных: char | string
Strike - Цена страйка опционаЦена страйка опциона, возвращаемая как скалярное неотрицательное значение.
Типы данных: double
ExerciseDate - Дата опционного упражненияДата выполнения опциона, возвращенная в качестве даты и времени.
Типы данных: datetime
OptionType - Тип опции "call" (по умолчанию) | строка со значением "call" или "put"Тип параметра, возвращаемый в виде строки со значением "call" или "put".
Типы данных: string
ExerciseStyle - Стиль дополнительного упражнения"European" (по умолчанию) | строка со значением "European"Стиль дополнительного упражнения, возвращаемый в виде строки со значением "European".
Типы данных: string
AverageType - Средний тип"arithmetic"
(по умолчанию) | строка со значением "arithmetic" или "geometric"Средние типы, возвращаемые в виде скалярной строки со значением "arithmetic" для среднего арифметического или "geometric" для среднего геометрического.
Типы данных: string
AveragePrice - Средняя цена базового актива на уровне Settle0
(по умолчанию) | скалярный числовойСредняя цена базового актива на уровне Settle, возвращается в виде скалярного числа.
Типы данных: double
AverageStartDate - Дата начала периода усредненияNaT
(по умолчанию) | datetimeНачальная дата периода усреднения, возвращаемая как скалярное значение datetime.
Типы данных: datetime
Name - Определяемое пользователем имя прибора" "
(по умолчанию) | строкаОпределяемое пользователем имя инструмента, возвращаемое в виде строки.
Типы данных: string
В этом примере показан поток операций для оценки фиксированного страйка. Asian инструмент при использовании BlackScholes модель и TurnbullWakeman способ ценообразования.
Создать Asian Объект КИП
Использовать fininstrument для создания Asian объект прибора.
AsianOpt = fininstrument("Asian",'ExerciseDate',datetime(2022,9,15),'Strike',1000,'OptionType',"put",'Name',"asian_option")
AsianOpt =
Asian with properties:
OptionType: "put"
Strike: 1000
AverageType: "arithmetic"
AveragePrice: 0
AverageStartDate: NaT
ExerciseStyle: "european"
ExerciseDate: 15-Sep-2022
Name: "asian_option"
Создать BlackScholes Объект модели
Использовать finmodel для создания BlackScholes объект модели.
BlackScholesModel = finmodel("BlackScholes",'Volatility',.2)
BlackScholesModel =
BlackScholes with properties:
Volatility: 0.2000
Correlation: 1
Создать ratecurve Объект
Создание плоского ratecurve объект с использованием ratecurve.
Settle = datetime(2018,9,15); Maturity = datetime(2023,9,15); Rate = 0.035; myRC = ratecurve('zero',Settle,Maturity,Rate,'Basis',12)
myRC =
ratecurve with properties:
Type: "zero"
Compounding: -1
Basis: 12
Dates: 15-Sep-2023
Rates: 0.0350
Settle: 15-Sep-2018
InterpMethod: "linear"
ShortExtrapMethod: "next"
LongExtrapMethod: "previous"
Создать TurnbullWakeman Объект прайсера
Использовать finpricer для создания TurnbullWakeman pricer object и используйте ratecurve объект для 'DiscountCurve' аргумент пары имя-значение.
outPricer = finpricer("analytic",'DiscountCurve',myRC,'Model',BlackScholesModel,'SpotPrice',1000,'PricingMethod',"TurnbullWakeman")
outPricer =
TurnbullWakeman with properties:
DiscountCurve: [1x1 ratecurve]
Model: [1x1 finmodel.BlackScholes]
SpotPrice: 1000
DividendValue: 0
DividendType: "continuous"
Цена Asian Инструмент
Использовать price для расчета цены и чувствительности для Asian инструмент.
[Price, outPR] = price(outPricer,AsianOpt,["all"])Price = 56.7068
outPR =
priceresult with properties:
Results: [1x7 table]
PricerData: []
outPR.Results
ans=1×7 table
Price Delta Gamma Lambda Vega Theta Rho
______ _______ _________ _______ ______ _______ _______
56.707 -0.3155 0.0014381 -5.5637 408.85 -2.9341 -832.53
В этом примере показан поток операций для оценки фиксированного страйка. Asian инструмент при использовании BlackScholes модель и AssetTree способ ценообразования.
Создать Asian Объект КИП
Использовать fininstrument для создания Asian объект прибора.
AsianOpt = fininstrument("Asian",'ExerciseDate',datetime(2022,9,15),'Strike',1000,'OptionType',"put",'Name',"asian_option")
AsianOpt =
Asian with properties:
OptionType: "put"
Strike: 1000
AverageType: "arithmetic"
AveragePrice: 0
AverageStartDate: NaT
ExerciseStyle: "european"
ExerciseDate: 15-Sep-2022
Name: "asian_option"
Создать BlackScholes Объект модели
Использовать finmodel для создания BlackScholes объект модели.
BlackScholesModel = finmodel("BlackScholes",'Volatility',0.2)
BlackScholesModel =
BlackScholes with properties:
Volatility: 0.2000
Correlation: 1
Создать ratecurve Объект
Создание плоского ratecurve объект с использованием ratecurve.
Settle = datetime(2018,9,15); Maturity = datetime(2023,9,15); Rate = 0.035; myRC = ratecurve('zero',Settle,Maturity,Rate,'Basis',12)
myRC =
ratecurve with properties:
Type: "zero"
Compounding: -1
Basis: 12
Dates: 15-Sep-2023
Rates: 0.0350
Settle: 15-Sep-2018
InterpMethod: "linear"
ShortExtrapMethod: "next"
LongExtrapMethod: "previous"
Создать AssetTree Объект прайсера
Использовать finpricer для создания AssetTree объект pricer для дерева акций CRR и используйте ratecurve объект для 'DiscountCurve' аргумент пары имя-значение.
NumPeriods = 15; CRRPricer = finpricer("AssetTree",'DiscountCurve',myRC,'Model',BlackScholesModel,'SpotPrice',1000,'PricingMethod',"CoxRossRubinstein",'Maturity',datetime(2022,9,15),'NumPeriods',NumPeriods)
CRRPricer =
CRRTree with properties:
Tree: [1x1 struct]
NumPeriods: 15
Model: [1x1 finmodel.BlackScholes]
DiscountCurve: [1x1 ratecurve]
SpotPrice: 1000
DividendType: "continuous"
DividendValue: 0
TreeDates: [1x15 datetime]
CRRPricer.Tree
ans = struct with fields:
Probs: [2x15 double]
ATree: {1x16 cell}
dObs: [1x16 datetime]
tObs: [1x16 double]
Цена Asian Инструмент
Использовать price для расчета цены и чувствительности для Asian инструмент.
[Price, outPR] = price(CRRPricer,AsianOpt,["all"])Price = 54.9225
outPR =
priceresult with properties:
Results: [1x7 table]
PricerData: []
outPR.Results
ans=1×7 table
Price Delta Gamma Vega Lambda Rho Theta
______ ________ ______ ______ _______ _______ _______
54.922 -0.32119 0.0581 393.85 -5.8481 -846.57 -2.4325
В этом примере показан поток операций для оценки Asian инструмент для арифметического среднего валютного опциона при использовании BlackScholes модель и Levy способ ценообразования. Предположим, что текущий курс составляет $0,52 и имеет волатильность 12% годовых. Годовая постоянно усложняемая иностранная безрисковая ставка составляет 8% годовых.
Создать Asian Объект КИП
Использовать fininstrument для создания Asian объект прибора.
AsianOpt = fininstrument("Asian",'ExerciseDate',datetime(2022,9,15),'Strike',0.65,'OptionType',"put",'ExerciseStyle',"european",'Name',"asian_fx_option")
AsianOpt =
Asian with properties:
OptionType: "put"
Strike: 0.6500
AverageType: "arithmetic"
AveragePrice: 0
AverageStartDate: NaT
ExerciseStyle: "european"
ExerciseDate: 15-Sep-2022
Name: "asian_fx_option"
Создать BlackScholes Объект модели
Использовать finmodel для создания BlackScholes объект модели.
Sigma = .12; BlackScholesModel = finmodel("BlackScholes",'Volatility',Sigma)
BlackScholesModel =
BlackScholes with properties:
Volatility: 0.1200
Correlation: 1
Создать ratecurve Объект
Создать ratecurve объект с использованием ratecurve.
Settle = datetime(2018,9,15); Maturity = datetime(2023,9,15); Rate = 0.035; myRC = ratecurve('zero',Settle,Maturity,Rate,'Basis',12)
myRC =
ratecurve with properties:
Type: "zero"
Compounding: -1
Basis: 12
Dates: 15-Sep-2023
Rates: 0.0350
Settle: 15-Sep-2018
InterpMethod: "linear"
ShortExtrapMethod: "next"
LongExtrapMethod: "previous"
Создать Levy Объект прайсера
Использовать finpricer для создания Levy pricer object и используйте ratecurve объект для 'DiscountCurve' аргумент пары имя-значение. При цене валют с использованием азиатского инструмента для арифметического варианта средней валюты DividendType должно быть 'continuous' и DividendValue - годовая безрисковая процентная ставка в иностранном государстве.
ForeignRate = 0.08; outPricer = finpricer("analytic",'DiscountCurve',myRC,'Model',BlackScholesModel,'SpotPrice',.52,'DividendType',"continuous",'DividendValue',ForeignRate,'PricingMethod',"Levy")
outPricer =
Levy with properties:
DiscountCurve: [1x1 ratecurve]
Model: [1x1 finmodel.BlackScholes]
SpotPrice: 0.5200
DividendValue: 0.0800
DividendType: "continuous"
Цена Asian Прибор FX
Использовать price для расчета цены и чувствительности для Asian Инструмент FX.
[Price, outPR] = price(outPricer,AsianOpt,["all"])Price = 0.1516
outPR =
priceresult with properties:
Results: [1x7 table]
PricerData: []
outPR.Results
ans=1×7 table
Price Delta Gamma Lambda Vega Theta Rho
_______ ________ _______ _______ ________ __________ _______
0.15161 -0.78532 0.37534 -2.6935 0.015668 -0.0038317 -1.3974
В этом примере показан поток операций для оценки фиксированного страйка. Asian инструмент при использовании BlackScholes модель и AssetMonteCarlo способ ценообразования.
Создать Asian Объект КИП
Использовать fininstrument для создания Asian объект прибора.
AsianOpt = fininstrument("Asian",'ExerciseDate',datetime(2022,9,15),'Strike',1000,'OptionType',"put",'Name',"asian_option")
AsianOpt =
Asian with properties:
OptionType: "put"
Strike: 1000
AverageType: "arithmetic"
AveragePrice: 0
AverageStartDate: NaT
ExerciseStyle: "european"
ExerciseDate: 15-Sep-2022
Name: "asian_option"
Создать BlackScholes Объект модели
Использовать finmodel для создания BlackScholes объект модели.
BlackScholesModel = finmodel("BlackScholes",'Volatility',0.2)
BlackScholesModel =
BlackScholes with properties:
Volatility: 0.2000
Correlation: 1
Создать ratecurve Объект
Создание плоского ratecurve объект с использованием ratecurve.
Settle = datetime(2018,9,15); Maturity = datetime(2023,9,15); Rate = 0.035; myRC = ratecurve('zero',Settle,Maturity,Rate,'Basis',12)
myRC =
ratecurve with properties:
Type: "zero"
Compounding: -1
Basis: 12
Dates: 15-Sep-2023
Rates: 0.0350
Settle: 15-Sep-2018
InterpMethod: "linear"
ShortExtrapMethod: "next"
LongExtrapMethod: "previous"
Создать AssetMonteCarlo Объект прайсера
Использовать finpricer для создания AssetMonteCarlo pricer object и используйте ratecurve объект для 'DiscountCurve' аргумент пары имя-значение.
outPricer = finpricer("AssetMonteCarlo",'DiscountCurve',myRC,"Model",BlackScholesModel,'SpotPrice',200,'simulationDates',datetime(2022,9,15))
outPricer =
GBMMonteCarlo with properties:
DiscountCurve: [1x1 ratecurve]
SpotPrice: 200
SimulationDates: 15-Sep-2022
NumTrials: 1000
RandomNumbers: []
Model: [1x1 finmodel.BlackScholes]
DividendType: "continuous"
DividendValue: 0
Цена Asian Инструмент
Использовать price для расчета цены и чувствительности для Asian инструмент.
[Price, outPR] = price(outPricer,AsianOpt,["all"])Price = 682.3365
outPR =
priceresult with properties:
Results: [1x7 table]
PricerData: [1x1 struct]
outPR.Results
ans=1×7 table
Price Delta Gamma Lambda Rho Theta Vega
______ ________ ___________ ________ _______ ______ _______
682.34 -0.93511 -5.6843e-14 -0.27409 -3129.1 27.433 -1.2121
В этом примере показан поток операций для оценки фиксированного страйка. Asian инструмент при использовании Merton модель и AssetMonteCarlo способ ценообразования.
Создать Asian Объект КИП
Использовать fininstrument для создания Asian объект прибора.
AsianOpt = fininstrument("Asian",'ExerciseDate',datetime(2022,9,15),'Strike',1000,'OptionType',"put",'Name',"asian_option")
AsianOpt =
Asian with properties:
OptionType: "put"
Strike: 1000
AverageType: "arithmetic"
AveragePrice: 0
AverageStartDate: NaT
ExerciseStyle: "european"
ExerciseDate: 15-Sep-2022
Name: "asian_option"
Создать Merton Объект модели
Использовать finmodel для создания Merton объект модели.
MertonModel = finmodel("Merton",'Volatility',0.45,'MeanJ',0.02,'JumpVol',0.07,'JumpFreq',0.09)
MertonModel =
Merton with properties:
Volatility: 0.4500
MeanJ: 0.0200
JumpVol: 0.0700
JumpFreq: 0.0900
Создать ratecurve Объект
Создание плоского ratecurve объект с использованием ratecurve.
Settle = datetime(2018,9,15); Maturity = datetime(2023,9,15); Rate = 0.035; myRC = ratecurve('zero',Settle,Maturity,Rate,'Basis',12)
myRC =
ratecurve with properties:
Type: "zero"
Compounding: -1
Basis: 12
Dates: 15-Sep-2023
Rates: 0.0350
Settle: 15-Sep-2018
InterpMethod: "linear"
ShortExtrapMethod: "next"
LongExtrapMethod: "previous"
Создать AssetMonteCarlo Объект прайсера
Использовать finpricer для создания AssetMonteCarlo pricer object и используйте ratecurve объект для 'DiscountCurve' аргумент пары имя-значение.
outPricer = finpricer("AssetMonteCarlo",'DiscountCurve',myRC,"Model",MertonModel,'SpotPrice',200,'simulationDates',datetime(2022,9,15))
outPricer =
MertonMonteCarlo with properties:
DiscountCurve: [1x1 ratecurve]
SpotPrice: 200
SimulationDates: 15-Sep-2022
NumTrials: 1000
RandomNumbers: []
Model: [1x1 finmodel.Merton]
DividendType: "continuous"
DividendValue: 0
Цена Asian Инструмент
Использовать price для расчета цены и чувствительности для Asian инструмент.
[Price, outPR] = price(outPricer,AsianOpt,["all"])Price = 683.2017
outPR =
priceresult with properties:
Results: [1x7 table]
PricerData: [1x1 struct]
outPR.Results
ans=1×7 table
Price Delta Gamma Lambda Rho Theta Vega
_____ _______ ___________ ________ _______ _____ ______
683.2 -0.9047 -1.9895e-13 -0.26484 -3110.3 25.93 20.227
Азиатский опцион - это вариант, зависящий от пути, с выплатой, связанной со средней стоимостью базового актива в течение срока действия опциона (или его части).
Азиатские опционы аналогичны опционам обратного просмотра в том, что существуют два типа азиатских опционов: фиксированный (вариант средней цены) и плавающий (вариант средней страйк). Фиксированные азиатские опционы имеют определенную страйк, в то время как плавающие азиатские опционы имеют страйк, равный средней стоимости базового актива в течение срока действия опциона. Дополнительные сведения см. в разделе Азиатский вариант.
Имеется измененная версия этого примера. Открыть этот пример с помощью изменений?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.