Вычислите цену за инструмент акции с AssetMonteCarlo калькулятор цен
[ вычисляет инструментальную цену акции и связанную информацию о ценах на основе объекта Price,PriceResult] = price(inpPricer,inpInstrument)inpPricer оценки и инструментальный объект inpInstrument.
[ добавляет дополнительный аргумент, чтобы задать чувствительность. Используйте этот синтаксис с комбинацией входных аргументов в предыдущем синтаксисе.Price,PriceResult] = price(___,inpSensitivity)
Этот пример показывает рабочий процесс, чтобы оценить Touch инструмент, когда вы используете Heston модель и AssetMonteCarlo метод ценообразования.
Создайте Touch Инструментальный объект
Используйте fininstrument создать Touch инструментальный объект.
TouchOpt = fininstrument("Touch",'ExerciseDate',datetime(2022,9,15),'BarrierValue',110,'PayoffValue',140,'BarrierType',"OT",'Name',"touch_option")
TouchOpt =
Touch with properties:
ExerciseDate: 15-Sep-2022
BarrierValue: 110
PayoffValue: 140
BarrierType: "ot"
PayoffType: "expiry"
Name: "touch_option"
Создайте Heston Объект модели
Используйте finmodel создать Heston объект модели.
HestonModel = finmodel("Heston",'V0',0.032,'ThetaV',0.1,'Kappa',0.003,'SigmaV',0.2,'RhoSV',0.9)
HestonModel =
Heston with properties:
V0: 0.0320
ThetaV: 0.1000
Kappa: 0.0030
SigmaV: 0.2000
RhoSV: 0.9000
Создайте 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 объект калькулятора цен и использование ratecurve объект для 'DiscountCurve' аргумент пары "имя-значение".
outPricer = finpricer("AssetMonteCarlo",'DiscountCurve',myRC,"Model",HestonModel,'SpotPrice',112,'simulationDates',datetime(2022,9,15))
outPricer =
HestonMonteCarlo with properties:
DiscountCurve: [1x1 ratecurve]
SpotPrice: 112
SimulationDates: 15-Sep-2022
NumTrials: 1000
RandomNumbers: []
Model: [1x1 finmodel.Heston]
DividendType: "continuous"
DividendValue: 0
Цена Touch Инструмент
Используйте price вычислить цену и чувствительность для Touch инструмент.
[Price, outPR] = price(outPricer,TouchOpt,["all"])Price = 63.5247
outPR =
priceresult with properties:
Results: [1x8 table]
PricerData: [1x1 struct]
outPR.Results
ans=1×8 table
Price Delta Gamma Lambda Rho Theta Vega VegaLT
______ _______ ______ _______ _______ ______ ______ ______
63.525 -7.2363 1.0541 -12.758 -320.21 3.5527 418.94 8.1498
inpPricer — Объект PricerAssetMonteCarlo объектОбъект Pricer в виде ранее созданного AssetMonteCarlo объект калькулятора цен. Создайте использование объекта калькулятора цен finpricer.
Типы данных: object
inpInstrument — Объект InstrumentVanilla возразите | Barrier возразите | Lookback возразите | Asian возразите | DoubleBarrier возразите | Spread возразите | Touch возразите | DoubleTouch возразите | Binary объектОбъект Instrument в виде скаляра или вектора из ранее созданных инструментальных объектов. Создайте инструментальное использование объектов fininstrument. Следующие инструментальные объекты поддерживаются:
Типы данных: object
inpSensitivity — Список чувствительности, чтобы вычислить[ ]
(значение по умолчанию) | массив строк со значениями, зависящими от калькулятора цен, возражает | массив ячеек из символьных векторов со значениями, зависящими от объекта калькулятора цен (Необязательно) Список чувствительности, чтобы вычислить в виде NOUT- 1 или 1- NOUT массив ячеек из символьных векторов или массив строк.
Поддерживаемая чувствительность зависит от метода ценообразования.
inpInstrument Объект | Поддерживаемая чувствительность |
|---|---|
Vanilla | {'delta','gamma','vega', 'theta','rho','price','lambda'} |
Lookback | {'delta','gamma','vega','theta','rho','price','lambda'} |
Barrier | {'delta','gamma','vega','theta','rho','price','lambda'} |
Asian | {'delta','gamma','vega','theta','rho','price','lambda'} |
Spread | {'delta','gamma','vega','theta','rho','price','lambda}' |
DoubleBarrier | {'delta','gamma','vega','theta','rho','price','lambda}' |
Binary | {'delta','gamma','vega','theta','rho','price','lambda'} |
Touch | {'delta','gamma','vega','theta','rho','price','lambda'} |
DoubleTouch | {'delta','gamma','vega','theta','rho','price','lambda'} |
inpSensitivity = {'All'} или inpSensitivity = ["All"] указывает, что вся чувствительность для метода ценообразования возвращена. Это совпадает с определением inpSensitivity включать каждую чувствительность.
Пример: inpSensitivity = ["delta","gamma","vega","lambda","rho","theta","price"]
Типы данных: cell | string
Price — Инструментальная ценаИнструментальная цена, возвращенная как числовое.
PriceResult — Ценовой результатPriceResult объектЦеновой результат, возвращенный как PriceResult объект. Объект имеет следующие поля:
PriceResult.Results — Таблица результатов, которая включает чувствительность (если вы задаете inpSensitivity)
PriceResult.PricerData — Структура для данных о калькуляторе цен
Примечание
inpPricer опции, которые не поддерживают чувствительность, не возвращают PriceResult. Например, нет никакого PriceResult возвращенный для того, когда вы используете Black, CDSBlack, HullWhite, Normal, или SABR метод ценообразования.
У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.