price

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

Описание

пример

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

пример

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

Примеры

свернуть все

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

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

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

VanillaOpt = fininstrument("Vanilla",'ExerciseDate',datetime(2020,3,15),'ExerciseStyle',"european",'Strike',105,'Name',"vanilla_option")
VanillaOpt = 
  Vanilla with properties:

       OptionType: "call"
    ExerciseStyle: "european"
     ExerciseDate: 15-Mar-2020
           Strike: 105
             Name: "vanilla_option"

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

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

MertonModel = finmodel("Merton",'Volatility',0.45,'MeanJ',0.02,'JumpVol',0.07,'JumpFreq',0.09)
MertonModel = 
  Merton with properties:

    Volatility: 0.4500
         MeanJ: 0.0200
       JumpVol: 0.0700
      JumpFreq: 0.0900

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

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

myRC = ratecurve('zero',datetime(2019,9,15),datetime(2020,3,15),0.02)
myRC = 
  ratecurve with properties:

                 Type: "zero"
          Compounding: -1
                Basis: 0
                Dates: 15-Mar-2020
                Rates: 0.0200
               Settle: 15-Sep-2019
         InterpMethod: "linear"
    ShortExtrapMethod: "next"
     LongExtrapMethod: "previous"

Создайте NumericalIntegration Объект калькулятора цен

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

outPricer = finpricer("numericalintegration",'Model',MertonModel,'DiscountCurve',myRC,'SpotPrice',100,'DividendValue',.01,'VolRiskPremium',0.9,'LittleTrap',false,'AbsTol',0.5,'RelTol',0.4,'Framework',"lewis2001")
outPricer = 
  NumericalIntegration with properties:

                Model: [1x1 finmodel.Merton]
        DiscountCurve: [1x1 ratecurve]
            SpotPrice: 100
         DividendType: "continuous"
        DividendValue: 0.0100
               AbsTol: 0.5000
               RelTol: 0.4000
     IntegrationRange: [1.0000e-09 Inf]
    CharacteristicFcn: @characteristicFcnMerton76
            Framework: "lewis2001"
       VolRiskPremium: 0.9000
           LittleTrap: 0

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

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

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

       Results: [1x6 table]
    PricerData: []

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

    10.732    0.5058    0.012492    -12.969    19.815    27.954

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

свернуть все

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

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

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

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

(Необязательно) Список чувствительности, чтобы вычислить в виде NOUT- 1 или 1- NOUT массив ячеек из символьных векторов или массив строк с возможными значениями 'Price'\delta\Gamma, 'Vega'\rho, 'Theta', 'Vegalt', и 'All'.

Примечание

'Vegalt' не поддерживается, когда вы оцениваете Vanilla опция с Merton модель.

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

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

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

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

свернуть все

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

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

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

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

Введенный в R2020a