Вычислите цену за инструмент акции с 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
возразите | Cliquet
возразите | 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}' |
Cliquet | {'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. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.