Heston

Создание Heston объект ценника для VarianceSwap инструмент с использованием Heston модель

Описание

Создайте и оцените VarianceSwap объект инструмента со Heston модель и Heston метод ценообразования с использованием этого рабочего процесса:

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

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

  3. Использовать finpricer для задания Heston объект ценника для VarianceSwap прибора.

Дополнительные сведения об этом рабочем процессе см. в разделе Запуске с рабочими процессами с использованием объектной среды для ценообразования финансовых инструментов.

Для получения дополнительной информации о доступных инструментах, моделях и методах ценообразования для VarianceSwap инструмент, см. «Выбор инструментов», «Модели» и «Цены».

Создание

Описание

пример

HestonPricerObj = finpricer(PricerType,'DiscountCurve',ratecurve_obj,'Model',model) создает Heston объект прейскуранта путем определения PricerType и устанавливает свойства с помощью необходимых аргументов пары "имя-значение" DiscountCurve и Model. Для примера, HestonPricerObj = finpricer("Analytic",'DiscountCurve',ratecurve_obj,'Model',HWModel) создает Heston объект прейскуранта.

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

расширить все

Тип прейскуранта, заданный как строка со значением "Analytic" или вектор символов со значением 'Analytic'.

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

Heston Аргументы в виде пар имя-значение

Задайте необходимые разделенные разделенными запятой парами Name,Value аргументы. Name - имя аргумента и Value - соответствующее значение. Name должны находиться внутри кавычек. Можно задать несколько аргументов в виде пар имен и значений в любом порядке Name1,Value1,...,NameN,ValueN.

Пример: HestonPricerObj = finpricer("Analytic",'DiscountCurve',ratecurve_obj,'Model',HWModel)

ratecurve объект для дисконтирования денежных потоков, заданный как разделенная разделенными запятой парами, состоящая из 'DiscountCurve' и имя ранее созданного ratecurve объект.

Примечание

Программное обеспечение использует Basis значение заданного ratecurve объект для вычисления дисконтирования и начисления для VarianceSwap объект прибора.

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

Объект модели, заданный как разделенная разделенными запятой парами, состоящая из 'Model' и имя ранее созданного Heston моделировать объект используя finmodel.

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

Свойства

расширить все

ratecurve объект для дисконтирования денежных потоков, возвращенный как ratecurve объект.

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

Модель, возвращенная как Heston объект модели.

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

Функции объекта

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

Примеры

свернуть все

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

Создание VarianceSwap Объект прибора

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

VarianceSwapInst = fininstrument("VarianceSwap",'Maturity',datetime(2020,9,15),'Notional',100,'StartDate',datetime(2020,6,15),'RealizedVariance',0.02,'Strike',0.1,'Name',"variance_swap_instrument")
VarianceSwapInst = 
  VarianceSwap with properties:

            Notional: 100
    RealizedVariance: 0.0200
              Strike: 0.1000
           StartDate: 15-Jun-2020
            Maturity: 15-Sep-2020
                Name: "variance_swap_instrument"

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

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

HestonModel = finmodel("Heston",'V0',0.06,'ThetaV',0.1,'Kappa',0.9,'SigmaV',0.7,'RhoSV',-.3)
HestonModel = 
  Heston with properties:

        V0: 0.0600
    ThetaV: 0.1000
     Kappa: 0.9000
    SigmaV: 0.7000
     RhoSV: -0.3000

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

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

Settle = datetime(2020, 1, 1);
ZeroTimes = calmonths(3);
ZeroRates = 0.05;
ZeroDates = Settle + ZeroTimes;
Basis = 1;
ZeroCurve = ratecurve("zero",Settle,ZeroDates,ZeroRates,'Basis',Basis)
ZeroCurve = 
  ratecurve with properties:

                 Type: "zero"
          Compounding: -1
                Basis: 1
                Dates: 01-Apr-2020
                Rates: 0.0500
               Settle: 01-Jan-2020
         InterpMethod: "linear"
    ShortExtrapMethod: "next"
     LongExtrapMethod: "previous"

Создание Heston Объект прейскуранта

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

outPricer = finpricer("Analytic",'DiscountCurve',ZeroCurve,'Model',HestonModel)
outPricer = 
  Heston with properties:

    DiscountCurve: [1x1 ratecurve]
            Model: [1x1 finmodel.Heston]

Ценовые VarianceSwap Инструмент

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

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

       Results: [1x2 table]
    PricerData: []

outPR.Results
ans=1×2 table
    Price     FairVariance
    ______    ____________

    6.0054      0.07039   

Алгоритмы

Свопы отклонений могут быть оценены с помощью калиброванной модели Хестона с помощью следующего выражения закрытой формы для справедливой дисперсии:

Kvar=1ekTkT(n0θ)+θ

Здесь:

  • ν 0 является начальным отклонением базового актива в = 0 ν 0 > 0.

  • , - это долгосрочный уровень отклонения и 0.

  • k - средняя скорость реверсии для отклонения (k > 0).

После вычисления справедливого отклонения фактическая цена, уплаченная на рынке в t времени для свопа отклонений с датой начала в момент 0, вычисляется следующим образом:

VarianceSwap(t)=Notional×Disc(t,T)×[tTRealizedVariance(0,t)+TtTFairVariance(t,T)StrikeVariance]

Здесь:

  • t - это время от начальной даты свопа отклонений до расчетной даты.

  • T - время от начальной даты до даты погашения свопа отклонений.

  • Disc (t, T) - коэффициент скидки от расчета до даты погашения.

  • RealizedVariance (0, t) - это реализованное отклонение от начальной даты до расчетной даты в базисных точках.

  • FairVariance (t, T) является справедливым отклонением для оставшегося срока действия контракта на дату расчета в базисных точках.

  • StrikeVariance является отклонением удара, заданным в начале (дате начала), в базисных точках.

Введенный в R2020b