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