exponenta event banner

цена

Вычислить цену для процентной ставки, собственного капитала или кредитного производного инструмента с Analytic калькулятор цен

Описание

пример

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

Analytic pricer поддерживает следующие объекты pricer:

пример

[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 pricer object и используйте 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

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

свернуть все

Объект Pricer (ранее созданный с помощью finpricer), указанный как скаляр. Поддерживаются следующие объекты прайсера:

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

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

Поддерживаемые объекты инструмента, использующие скаляр или вектор:

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

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

(Необязательно) Список вычисляемых чувствительности, указанный как 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}'
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'}
SABR'price'
TurnbullWakeman{'delta','gamma','vega','theta','rho','price',}

inpSensitivity = {'All'} или inpSensitivity = ["All"] указывает, что возвращаются все чувствительности для метода ценообразования. Это то же самое, что указать inpSensitivity для включения каждой чувствительности.

Пример: inpSensitivity = ["delta","gamma","vega","lambda","rho","theta","price"]

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

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

свернуть все

Цена инструмента, возвращенная в виде цифры.

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

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

  • PriceResult.PricerData - Структура данных прайсера

    Примечание

    При ценообразовании VarianceSwap, PriceResult.FairVariance возвращается.

Примечание

inpPricer опции, которые не поддерживают чувствительность, не возвращают PriceResult. Например, нет PriceResult возвращено для при использовании Black, CDSBlack, HullWhite, Normal, Heston, или SABR способ ценообразования.

Представлен в R2020a