Цена финансового инструмента с нулевой кривой. Такой инструмент не имеет встроенной опционности, другими словами, денежные потоки являются детерминированными, и оценка инструмента является просто вопросом генерации денежных потоков и последующего вычисления текущей стоимости денежных потоков путем генерации соответствующих коэффициентов дисконтирования из нулевой кривой. Дополнительные сведения о поддерживаемых инструментах процентных ставок см. в разделе Выбор инструментов, моделей и прайсеров.
ratecurve и Скидка ПрайсерВ этом примере показан поток операций по цене ванили FixedBond инструмент при использовании ratecurve и Discount способ ценообразования.
Создать FixedBond Объект КИП
Использовать fininstrument для создания FixedBond объект прибора.
FixB = fininstrument("FixedBond",'Maturity',datetime(2022,9,15),'CouponRate',0.021,'Period',2,'Basis',1,'Principal',100,'Name',"fixed_bond_instrument")
FixB =
FixedBond with properties:
CouponRate: 0.0210
Period: 2
Basis: 1
EndMonthRule: 1
Principal: 100
DaycountAdjustedCashFlow: 0
BusinessDayConvention: "actual"
Holidays: NaT
IssueDate: NaT
FirstCouponDate: NaT
LastCouponDate: NaT
StartDate: NaT
Maturity: 15-Sep-2022
Name: "fixed_bond_instrument"
Создать ratecurve Объект
Создать ratecurve объект с использованием ratecurve.
Settle = datetime(2018,9,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-Sep-2018
InterpMethod: "linear"
ShortExtrapMethod: "next"
LongExtrapMethod: "previous"
Создать Discount Объект прайсера
Использовать finpricer для создания Discount pricer object и используйте ratecurve объект с 'DiscountCurve' аргумент пары имя-значение.
outPricer = finpricer("Discount",'DiscountCurve',myRC)
outPricer =
Discount with properties:
DiscountCurve: [1x1 ratecurve]
Цена FixedBond Инструмент
Использовать price для расчета цены и чувствительности для FixedBond инструмент.
[Price, outPR] = price(outPricer, FixB,["all"])Price = 104.5679
outPR =
priceresult with properties:
Results: [1x2 table]
PricerData: []
outPR.Results
ans=1×2 table
Price DV01
______ ________
104.57 0.040397
fininstrument | finmodel | finpricer