price

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

Описание

пример

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

The Analytic 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 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

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

свернуть все

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

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

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

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

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

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

(Необязательно) Список чувствительности для вычисления, заданный как NOUT-by- 1 или 1-by- 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 возвращается.

Примечание

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

Введенный в R2020a