exponenta event banner

parswaprate

Расчет ставки паушального свопа для Swap инструмент

Описание

пример

outRate = parswaprate(SwapObject,inCurve) вычисляет ставку паушального свопа для Swap инструмент.

Примеры

свернуть все

В этом примере показан поток операций для вычисления ставки свопа для ванили. Swap инструмент при использовании ratecurve и Discount способ ценообразования.

Создать объект ratecurve

Создать ratecurve объект с использованием ratecurve для базовой кривой процентных ставок для Swap инструмент.

Settle = datetime(2018,3,15);
Type = 'zero';
ZeroTimes = [calmonths(6) calyears([1 2 3 4 5 7 10 20 30])]';
ZeroRates = [0.0052 0.0055 0.0061 0.0073 0.0094 0.0119 0.0168 0.0222 0.0293 0.0307]';
ZeroDates = Settle + ZeroTimes;
 
myRC = ratecurve('zero',Settle,ZeroDates,ZeroRates)
myRC = 
  ratecurve with properties:

                 Type: "zero"
          Compounding: -1
                Basis: 0
                Dates: [10x1 datetime]
                Rates: [10x1 double]
               Settle: 15-Mar-2018
         InterpMethod: "linear"
    ShortExtrapMethod: "next"
     LongExtrapMethod: "previous"

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

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

Swap = fininstrument("Swap",'Maturity',datetime(2020,9,15),'LegRate',[0.022 0.019 ],'LegType',["float","fixed"],'ProjectionCurve',myRC,'Name',"swap_instrument")
Swap = 
  Swap with properties:

                     LegRate: [0.0220 0.0190]
                     LegType: ["float"    "fixed"]
                       Reset: [2 2]
                       Basis: [0 0]
                    Notional: 100
          LatestFloatingRate: [NaN NaN]
                 ResetOffset: [0 0]
    DaycountAdjustedCashFlow: [0 0]
             ProjectionCurve: [1x2 ratecurve]
       BusinessDayConvention: ["actual"    "actual"]
                    Holidays: NaT
                EndMonthRule: [1 1]
                   StartDate: NaT
                    Maturity: 15-Sep-2020
                        Name: "swap_instrument"

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

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

outPricer = finpricer("Discount", 'DiscountCurve',myRC)
outPricer = 
  Discount with properties:

    DiscountCurve: [1x1 ratecurve]

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

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

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

       Results: [1x2 table]
    PricerData: []

outPR.Results
ans=1×2 table
    Price       DV01   
    ______    _________

    2.4066    -0.012056

Вычислить номинальную ставку свопа с помощью parswaprate.

outRate = parswaprate(Swap,myRC)
outRate = 0.0287

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

свернуть все

Подстановочный объект, заданный с помощью ранее созданного Swap объект прибора.

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

Кривая курса, заданная как ранее созданная ratecurve объект.

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

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

свернуть все

Номинальная ставка свопа, возвращаемая как десятичная.

Подробнее

свернуть все

Ставка паушального свопа

Номинальная ставка свопа - это ставка, при которой значение свопа становится равным нулю.

Другими словами, номинальная ставка свопа - это значение фиксированной ставки, которое дает свопу нулевое текущее значение, или фиксированная ставка, которая делает значение обеих ветвей равным (то есть значение фиксированной ветви и значение плавающей ветви).

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