主要内容

price

Compute price for equity instrument withFiniteDifference价格

Description

example

[价格,价格Result] =价格(inpPricer,inpInstrument)根据定价对象计算仪器价格和相关定价信息inpPricerand the instrument objectinpInstrument.

example

[价格,价格Result] =价格(___,inpSensitivity)adds an optional argument to specify sensitivities.

Examples

collapse all

此示例显示了工作流程的价格Barrier当您使用的乐器黑色模型和FiniteDifferencepricing method.

创造Barrier乐器Object

利用FinInstrumentto create aBarrier仪器对象。

BarrierOpt = fininstrument("Barrier",'Strike',105,“锻炼”,DateTime(2019,1,1),'optionType',"call",“锻炼”,“美国人”,'Barriertype',“做”,'BarrierValue',40,'Name',"barrier_option")
BarrierOpt = Barrier with properties: OptionType: "call" Strike: 105 BarrierType: "do" BarrierValue: 40 Rebate: 0 ExerciseStyle: "american" ExerciseDate: 01-Jan-2019 Name: "barrier_option"

创造黑色Model Object

利用Finmodelto create a黑色model object.

blackscholesmodel = finmodel(“黑色”,'Volatility',0.30)
黑色Model = BlackScholes with properties: Volatility: 0.3000 Correlation: 1

创造ratecurveObject

创建一个公寓ratecurveobject usingratecurve.

Settle = datetime(2018,1,1); Maturity = datetime(2023,1,1); Rate = 0.035; myRC = ratecurve('零',Settle,Maturity,Rate,'基础',1)
myRC = ratecurve with properties: Type: "zero" Compounding: -1 Basis: 1 Dates: 01-Jan-2023 Rates: 0.0350 Settle: 01-Jan-2018 InterpMethod: "linear" ShortExtrapMethod: "next" LongExtrapMethod: "previous"

创造FiniteDifference价格r Object

利用finpricerto create aFiniteDifference价格object and use theratecurveobject for the'DiscountCurve'name-value pair argument.

outPricer = finpricer("FiniteDifference",'模型',blackscholesmodel,'DiscountCurve',myRC,'现货价格',100)
outPricer = FiniteDifference with properties: DiscountCurve: [1x1 ratecurve] Model: [1x1 finmodel.BlackScholes] SpotPrice: 100 GridProperties: [1x1 struct] DividendType: "continuous" DividendValue: 0

价格Barrier乐器

利用priceto compute the price and sensitivities for theBarrier乐器。

[Price,extpr] = Price(Outpricer,Barrieropt,[“全部”)))
价格= 11.3230
outPR = priceresult with properties: Results: [1x7 table] PricerData: [1x1 struct]
outPR.Results
ans=1×7 table价格Delta Gamma Lambda Theta Rho Vega ______ _______ ______ ______ _______ ______ ______ 11.323 0.54126 0.0132 4.7802 -7.4408 42.766 39.627

Input Arguments

collapse all

定价对象, specified as a scalarFiniteDifference定价对象。利用finpricer创建FiniteDifference定价对象。

Data Types:object

乐器object, specified as a scalar or vector ofVanilla,Barrier,DoubleBarrier, or可换股债券仪器对象。利用FinInstrument创建Vanilla,Barrier,DoubleBarrier, or可换股债券仪器对象。

Data Types:object

(Optional) List of sensitivities to compute, specified as aNOUT-经过-1或者a1-经过-NOUTcell array of character vectors or string array with supported values.

inpSensitivity = {'All'}或者inpSensitivity = ["All"]指定输出为'Delta','伽玛','Vega','Vegalt','Lambda','rho','Theta', 和'Price'. This is the same as specifyinginpSensitivityto include each sensitivity.

Note

当您定价Barrier或者可换股债券使用a仪器黑色model,'Vegalt'is not supported.

例子:inpsentivity = {'delta','gamma','vega','vegalt','rho','lambda','theta','price'}

The sensitivities supported depend on theinpInstrument.

inpInstrument Supported Sensitivities
Vanilla, 'delta','gamma','vega','vegalt','rho','lambda','theta','price'
Barrier 'delta','gamma','vega','rho','lambda','theta','price'
DoubleBarrier 'delta','gamma','vega','vegalt','rho','lambda','theta','price'
可换股债券 'delta','gamma','vega','rho','lambda','theta','price'

Data Types:string|cell

Output Arguments

collapse all

仪器价格,作为数字返回。

价格result, returned as a价格Resultobject. The object has the following fields:

  • 价格Result.Results——(如果表的结果,包括敏感性you specifyinpSensitivity)

  • Priceresult.pricerdata— Structure for pricer data

Version History

Introduced in R2020a