Вычислите цену за процентную ставку, акцию или инструмент кредитного дериватива с Analytic калькулятор цен
[ вычисляет инструментальную цену и связанную информацию о ценах на основе объекта Price,PriceResult] = price(inpPricer,inpInstrument)inpPricer оценки и инструментальный объект inpInstrument.
Analytic калькулятор цен поддерживает следующие объекты калькулятора цен:
[ добавляет дополнительный аргумент, чтобы задать чувствительность.Price,PriceResult] = price(___,inpSensitivity)
Этот пример показывает рабочий процесс, чтобы оценить европейское осуществление Spread инструмент, когда вы используете BlackScholes модель и BjerksundStensland метод ценообразования.
Создайте Spread Инструментальный объект
Используйте fininstrument создать Spread инструментальный объект.
SpreadOpt = fininstrument("Spread",'Strike',5,'ExerciseDate',datetime(2021,9,15),'OptionType',"put",'ExerciseStyle',"european",'Name',"spread_option")
SpreadOpt =
Spread with properties:
OptionType: "put"
Strike: 5
ExerciseStyle: "european"
ExerciseDate: 15-Sep-2021
Name: "spread_option"
Создайте BlackScholes Объект модели
Используйте finmodel создать BlackScholes объект модели.
BlackScholesModel = finmodel("BlackScholes",'Volatility',[0.2,0.1])
BlackScholesModel =
BlackScholes with properties:
Volatility: [0.2000 0.1000]
Correlation: [2x2 double]
Создайте 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"
Создайте BjerksundStensland Объект калькулятора цен
Используйте finpricer создать BjerksundStensland объект калькулятора цен и использование ratecurve объект для 'DiscountCurve' аргумент пары "имя-значение".
outPricer = finpricer("analytic",'Model',BlackScholesModel,'DiscountCurve',myRC,'SpotPrice',[100,105],'DividendValue',[0.09,0.17],'PricingMethod',"BjerksundStensland")
outPricer =
BjerksundStensland with properties:
DiscountCurve: [1x1 ratecurve]
Model: [1x1 finmodel.BlackScholes]
SpotPrice: [100 105]
DividendValue: [0.0900 0.1700]
DividendType: "continuous"
Цена Spread Инструмент
Используйте price вычислить цену и чувствительность для Spread инструмент.
[Price, outPR] = price(outPricer,SpreadOpt,["all"])Price = 7.0596
outPR =
priceresult with properties:
Results: [1x7 table]
PricerData: []
outPR.Results
ans=1×7 table
Price Delta Gamma Lambda Vega Theta Rho
______ ____________________ ______________________ __________________ ________________ ______ _______
7.0596 -0.23249 0.27057 0.0069887 0.0055319 -3.2932 3.8327 41.938 18.303 1.1011 -5.6943
Этот пример показывает рабочий процесс, чтобы оценить абсолютный возврат для трех Cliquet инструменты, когда вы используете BlackScholes модель и Rubinstein метод ценообразования.
Создайте 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"
Создайте Cliquet Инструментальный объект
Используйте fininstrument создать Cliquet инструментальный объект для трех инструментов Cliquet.
ResetDates = Settle + years(0:0.25:1); CliquetOpt = fininstrument("Cliquet",'ResetDates',ResetDates,'InitialStrike',[140;150;160],'ExerciseStyle',"european",'Name',"cliquet_option")
CliquetOpt=3×1 object
3x1 Cliquet array with properties:
OptionType
ExerciseStyle
ResetDates
LocalCap
LocalFloor
GlobalCap
GlobalFloor
ReturnType
InitialStrike
Name
Создайте BlackScholes Объект модели
Используйте finmodel создать BlackScholes объект модели.
BlackScholesModel = finmodel("BlackScholes",'Volatility',0.28)
BlackScholesModel =
BlackScholes with properties:
Volatility: 0.2800
Correlation: 1
Создайте Rubinstein Объект калькулятора цен
Используйте finpricer создать Rubinstein объект калькулятора цен и использование ratecurve объект для 'DiscountCurve' аргумент пары "имя-значение".
outPricer = finpricer("analytic",'DiscountCurve',myRC,'Model',BlackScholesModel,'SpotPrice',135,'DividendValue',0.025,'PricingMethod',"Rubinstein")
outPricer =
Rubinstein with properties:
DiscountCurve: [1x1 ratecurve]
Model: [1x1 finmodel.BlackScholes]
SpotPrice: 135
DividendValue: 0.0250
DividendType: "continuous"
Цена Cliquet Инструменты
Используйте price вычислить цену и чувствительность для трех Cliquet инструменты.
[Price, outPR] = price(outPricer,CliquetOpt,"all")Price = 3×1
28.1905
25.3226
23.8168
outPR=3×1 object
3x1 priceresult array with properties:
Results
PricerData
outPR.Results
ans=1×7 table
Price Delta Gamma Lambda Vega Rho Theta
______ _______ _______ ______ ______ ______ ______
28.191 0.59697 0.02066 2.8588 105.38 60.643 -14.62
ans=1×7 table
Price Delta Gamma Lambda Vega Rho Theta
______ _______ ________ ______ ______ ______ _______
25.323 0.41949 0.016816 2.2364 100.47 55.367 -11.708
ans=1×7 table
Price Delta Gamma Lambda Vega Rho Theta
______ _______ ________ ______ ______ ______ ______
23.817 0.29729 0.011132 1.6851 93.219 51.616 -7.511
inpPricer — Объект PricerBjerksundStensland возразите | IkedaKunitomo возразите | Black возразите | BlackScholes возразите | CDSBlack возразите | ConzeViswanathan возразите | GoldmanSosinGatto возразите | HeynenKat возразите | HullWhite возразите | Heston возразите | KemnaVorst возразите | Kirk возразите | Levy возразите | Normal возразите | Rubinstein возразите | RollGeskeWhaley возразите | SABR возразите | TurnbullWakeman объектОбъект Pricer (ранее созданное использование finpricer) в виде скаляра. Поддерживаемые объекты калькулятора цен:
Типы данных: object
inpInstrument — Объект InstrumentCap возразите | Floor возразите | Swaption возразите | Vanilla возразите | Lookback возразите | PartialLookback возразите | Barrier возразите | DoubleBarrier возразите | Asian возразите | Spread возразите | Cliquet возразите | VarianceSwap возразите | CDSOption объектОбъект Instrument (ранее созданное использование fininstrument) в виде скаляра или вектора.
Поддерживаемые инструментальные объекты с помощью скаляра или вектора:
Поддерживаемый инструментальный объект использование скаляра:
Типы данных: object
inpSensitivity — Список чувствительности, чтобы вычислить[ ]
(значение по умолчанию) | массив строк со значениями, зависящими от калькулятора цен, возражает | массив ячеек из символьных векторов со значениями, зависящими от объекта калькулятора цен(Необязательно) Список чувствительности, чтобы вычислить в виде NOUT- 1 или 1- NOUT массив ячеек из символьных векторов или массив строк.
Поддерживаемая чувствительность зависит от метода ценообразования.
inpPricer Объект | Поддерживаемая чувствительность |
|---|---|
BjerksundStensland | {'delta','gamma','vega', 'theta','rho','price','lambda'} |
IkedaKunitomo | {'delta','gamma','vega','theta','rho','price','lambda'} |
Black | 'price' |
BlackScholes | {'delta','gamma','vega','theta','rho','price','lambda'} |
CDSBlack | 'price' |
ConzeViswanathan | {'delta','gamma','vega','theta','rho','price','lambda}' |
GoldmanSosinGatto | {'delta','gamma','vega','theta','rho','price','lambda}' |
HeynenKat | {'delta','gamma','vega','theta','rho','price','lambda}' |
HullWhite | 'price' |
Heston | 'price' |
KemnaVorst | {'delta','gamma','vega','theta','rho','price','lambda'} |
Kirk | {'delta','gamma','vega','theta','rho','price','lambda'} |
Levy | {'delta','gamma','vega','theta','rho','price','lambda'} |
Normal | 'price' |
RollGeskeWhaley | {'delta','gamma','vega','theta','rho','price','lambda'} |
Rubinstein | {'delta','gamma','vega','theta','rho','price','lambda'} |
SABR | 'price' |
TurnbullWakeman | {'delta','gamma','vega','theta','rho','price',} |
inpSensitivity = {'All'} или inpSensitivity = ["All"] указывает, что вся чувствительность для метода ценообразования возвращена. Это совпадает с определением inpSensitivity включать каждую чувствительность.
Пример: inpSensitivity = ["delta","gamma","vega","lambda","rho","theta","price"]
Типы данных: cell | string
Price — Инструментальная ценаИнструментальная цена, возвращенная как числовое.
PriceResult — Ценовой результатPriceResult объектЦеновой результат, возвращенный как PriceResult объект. Объект имеет следующие поля:
PriceResult.Results — Таблица результатов, которая включает чувствительность (если вы задаете inpSensitivity)
PriceResult.PricerData — Структура для данных о калькуляторе цен
Примечание
При оценке VarianceSwap, PriceResult.FairVariance возвращен.
Примечание
inpPricer опции, которые не поддерживают чувствительность, не возвращают PriceResult. Например, нет никакого PriceResult возвращенный для при использовании Black, CDSBlack, HullWhite, Normal, Heston, или SABR метод ценообразования.
У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.