price

Вычислите цену за инструмент акции с FiniteDifference калькулятор цен

Описание

пример

[Price,PriceResult] = price(inpPricer,inpInstrument) вычисляет инструментальную цену и связанную информацию о ценах на основе объекта inpPricer оценки и инструментальный объект inpInstrument.

пример

[Price,PriceResult] = price(___,inpSensitivity) добавляет дополнительный аргумент, чтобы задать чувствительность.

Примеры

свернуть все

Этот пример показывает рабочий процесс, чтобы оценить Barrier инструмент, когда вы используете BlackScholes модель и FiniteDifference метод ценообразования.

Создайте Barrier Инструментальный объект

Используйте fininstrument создать Barrier инструментальный объект.

BarrierOpt = fininstrument("Barrier",'Strike',105,'ExerciseDate',datetime(2019,1,1),'OptionType',"call",'ExerciseStyle',"american",'BarrierType',"DO",'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"

Создайте BlackScholes Объект модели

Используйте finmodel создать BlackScholes объект модели.

BlackScholesModel = finmodel("BlackScholes",'Volatility',0.30)
BlackScholesModel = 
  BlackScholes with properties:

     Volatility: 0.3000
    Correlation: 1

Создайте ratecurve Объект

Создайте плоский ratecurve объект с помощью ratecurve.

Settle = datetime(2018,1,1);
Maturity = datetime(2023,1,1);
Rate = 0.035;
myRC = ratecurve('zero',Settle,Maturity,Rate,'Basis',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 Объект калькулятора цен

Используйте finpricer создать FiniteDifference объект калькулятора цен и использование ratecurve объект для 'DiscountCurve' аргумент пары "имя-значение".

outPricer = finpricer("FiniteDifference",'Model',BlackScholesModel,'DiscountCurve',myRC,'SpotPrice',100)
outPricer = 
  FiniteDifference with properties:

     DiscountCurve: [1x1 ratecurve]
             Model: [1x1 finmodel.BlackScholes]
         SpotPrice: 100
    GridProperties: [1x1 struct]
      DividendType: "continuous"
     DividendValue: 0

Цена Barrier Инструмент

Используйте price вычислить цену и чувствительность для Barrier инструмент.

[Price, outPR] = price(outPricer,BarrierOpt,["all"])
Price = 11.3230
outPR = 
  priceresult with properties:

       Results: [1x7 table]
    PricerData: [1x1 struct]

outPR.Results
ans=1×7 table
    Price      Delta     Gamma     Lambda     Theta      Rho       Vega 
    ______    _______    ______    ______    _______    ______    ______

    11.323    0.54126    0.0132    4.7802    -7.4408    42.766    39.627

Входные параметры

свернуть все

Объект Pricer в виде скалярного FiniteDifference объект калькулятора цен. Использование finpricer создать FiniteDifference объект калькулятора цен.

Типы данных: object

Объект Instrument в виде скаляра или вектора из Vanilla, Barrier, DoubleBarrier, или ConvertibleBond инструментальные объекты. Использование fininstrument создать Vanilla, Barrier, DoubleBarrier, или ConvertibleBond инструментальные объекты.

Типы данных: object

(Необязательно) Список чувствительности, чтобы вычислить в виде NOUT- 1 или 1- NOUT массив ячеек из символьных векторов или массив строк с поддерживаемыми значениями.

inpSensitivity = {'All'} или inpSensitivity = ["All"] указывает, что выходом является 'Delta'\Gamma, 'Vega', 'Vegalt'\lambda\rho, 'Theta', и 'Price'. Это совпадает с определением inpSensitivity включать каждую чувствительность.

Примечание

Когда вы оцениваете Barrier или ConvertibleBond инструменты с помощью BlackScholes модель, 'Vegalt' не поддерживается.

Пример: inpSensitivity = {'delta','gamma','vega','vegalt','rho','lambda','theta','price'}

Поддерживаемая чувствительность зависит от inpInstrument.

inpInstrumentПоддерживаемая чувствительность
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'
ConvertibleBond'delta','gamma','vega','rho','lambda','theta','price'

Типы данных: string | cell

Выходные аргументы

свернуть все

Инструментальная цена, возвращенная как числовое.

Ценовой результат, возвращенный как PriceResult объект. Объект имеет следующие поля:

  • PriceResult.Results — Таблица результатов, которая включает чувствительность (если вы задаете inpSensitivity)

  • PriceResult.PricerData — Структура для данных о калькуляторе цен

Введенный в R2020a