exponenta event banner

цена

Расчетная цена долевого инструмента с FFT калькулятор цен

Описание

пример

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

пример

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

Примеры

свернуть все

В этом примере показан поток операций для оценки Vanilla инструмент при использовании Heston модель и FFT способ ценообразования.

Создать Vanilla Объект КИП

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

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

       OptionType: "call"
    ExerciseStyle: "european"
     ExerciseDate: 15-Sep-2022
           Strike: 105
             Name: "vanilla_option"

Создать Heston Объект модели

Использовать finmodel для создания Heston объект модели.

HestonModel = finmodel("Heston",'V0',0.032,'ThetaV',0.1,'Kappa',0.003,'SigmaV',0.2,'RhoSV',0.9)
HestonModel = 
  Heston with properties:

        V0: 0.0320
    ThetaV: 0.1000
     Kappa: 0.0030
    SigmaV: 0.2000
     RhoSV: 0.9000

Создать 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"

Создать FFT Объект прайсера

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

outPricer = finpricer("fft",'DiscountCurve',myRC,'Model',HestonModel,'SpotPrice',100,'CharacteristicFcnStep', 0.2,'NumFFT',2^13)
outPricer = 
  FFT with properties:

                    Model: [1x1 finmodel.Heston]
            DiscountCurve: [1x1 ratecurve]
                SpotPrice: 100
             DividendType: "continuous"
            DividendValue: 0
                   NumFFT: 8192
    CharacteristicFcnStep: 0.2000
            LogStrikeStep: 0.0038
        CharacteristicFcn: @characteristicFcnHeston
            DampingFactor: 1.5000
               Quadrature: "simpson"
           VolRiskPremium: 0
               LittleTrap: 1

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

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

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

       Results: [1x7 table]
    PricerData: []

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

    14.754    0.44868    0.021649    -0.20891    120.45    88.192    1.3248

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

свернуть все

Объект Pricer, указанный как скаляр FFT объект прайсера. Использовать finpricer для создания FFT объект прайсера.

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

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

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

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

Примечание

Для Vanilla инструмент с использованием Heston модель, 'Vegalt' не поддерживается.

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