Вычислите потоки наличности для ZeroCouponInflationSwap инструмент
вычисляет потоки наличности для outCF = inflationCashflows(inpInstrumentObject,Settle,inpInflationCurve)ZeroCouponInflationSwap инструментальный объект.
inflationcurve и калькулятор цен инфляции и вычисляет поток наличностиЭтот пример показывает рабочий процесс, чтобы оценить ZeroCouponInflationSwap инструмент, когда вы используете inflationcurve возразите и Inflation метод ценообразования. Затем используйте inflationCashflows вычислить поток наличности для ZeroCouponInflationSwap инструмент.
Создайте ratecurve Объект
Создайте ratecurve объект с помощью ratecurve.
Settle = datetime(2021,1,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; ZeroCurve = ratecurve('zero',Settle,ZeroDates,ZeroRates)
ZeroCurve =
ratecurve with properties:
Type: "zero"
Compounding: -1
Basis: 0
Dates: [10x1 datetime]
Rates: [10x1 double]
Settle: 15-Jan-2021
InterpMethod: "linear"
ShortExtrapMethod: "next"
LongExtrapMethod: "previous"
Создайте inflationcurve Объект
Создайте inflationcurve объект с помощью inflationcurve.
BaseDate = datetime(2020, 10, 1); InflationTimes = [0 calyears([1 2 3 4 5 7 10 20 30])]'; InflationIndexValues = [100 102 103.5 105 106.8 108.2 111.3 120.1 130.4 150.2]'; InflationDates = BaseDate + InflationTimes; myInflationCurve = inflationcurve(InflationDates,InflationIndexValues)
myInflationCurve =
inflationcurve with properties:
Basis: 0
Dates: [10x1 datetime]
InflationIndexValues: [10x1 double]
ForwardInflationRates: [9x1 double]
Seasonality: [12x1 double]
Создайте ZeroCouponInflationSwap Инструментальный объект
Используйте fininstrument создать ZeroCouponInflationSwap инструментальный объект.
StartDate = datetime(2021,1,1); Maturity = datetime(2022,10,1); FixedInflationRate = 0.015; Notional = 2000; ZCInflationSwap = fininstrument("ZeroCouponInflationSwap",'StartDate',StartDate,'Maturity',Maturity,'FixedInflationRate',FixedInflationRate,'Notional',Notional,'Name',"zero_coupon_inflation_swap_instrument")
ZCInflationSwap =
ZeroCouponInflationSwap with properties:
Notional: 2000
FixedInflationRate: 0.0150
Basis: 0
Lag: 3
StartDate: 01-Jan-2021
Maturity: 01-Oct-2022
Name: "zero_coupon_inflation_swap_instrument"
Создайте Inflation Объект калькулятора цен
Используйте finpricer создать Inflation объект калькулятора цен и использование ratecurve объект с 'DiscountCurve' аргумент пары "имя-значение" и inflationcurve объект с 'InflationCurve' аргумент пары "имя-значение".
outPricer = finpricer("Inflation",'DiscountCurve',ZeroCurve,'InflationCurve',myInflationCurve)
outPricer =
Inflation with properties:
DiscountCurve: [1x1 ratecurve]
InflationCurve: [1x1 inflationcurve]
Цена ZeroCouponInflationSwap Инструмент
Используйте price вычислить цену и чувствительность для ZeroCouponInflationSwap инструмент.
[Price,outPR] = price(outPricer,ZCInflationSwap,"all")Price = 9.5675
outPR =
priceresult with properties:
Results: [1x1 table]
PricerData: []
outPR.Results
ans=table
Price
______
9.5675
Вычислите поток наличности для ZeroCouponInflationSwap Инструмент
Используйте inflationCashflows вычислить поток наличности для ZeroCouponInflationSwap инструмент.
outCF = inflationCashflows(ZCInflationSwap,datetime(2021,1,1),myInflationCurve)
outCF=1×2 timetable
Time Var1 Var2
___________ _______ ______
01-Oct-2022 -52.732 62.397
inflationcurve и калькулятор цен инфляции и вычисляет поток наличностиЭтот пример показывает рабочий процесс, чтобы оценить несколько ZeroCouponInflationSwap инструменты, когда вы используете inflationcurve возразите и Inflation метод ценообразования. Затем используйте inflationCashflows вычислить поток наличности для ZeroCouponInflationSwap инструменты.
Создайте ratecurve Объект
Создайте ratecurve объект с помощью ratecurve.
Settle = datetime(2021,12,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; ZeroCurve = ratecurve('zero',Settle,ZeroDates,ZeroRates)
ZeroCurve =
ratecurve with properties:
Type: "zero"
Compounding: -1
Basis: 0
Dates: [10x1 datetime]
Rates: [10x1 double]
Settle: 15-Dec-2021
InterpMethod: "linear"
ShortExtrapMethod: "next"
LongExtrapMethod: "previous"
Создайте inflationcurve Объект
Создайте inflationcurve объект с помощью inflationcurve.
BaseDate = datetime(2020, 10, 1); InflationTimes = [0 calyears([1 2 3 4 5 7 10 20 30])]'; InflationIndexValues = [100 102 103.5 105 106.8 108.2 111.3 120.1 130.4 150.2]'; InflationDates = BaseDate + InflationTimes; myInflationCurve = inflationcurve(InflationDates,InflationIndexValues)
myInflationCurve =
inflationcurve with properties:
Basis: 0
Dates: [10x1 datetime]
InflationIndexValues: [10x1 double]
ForwardInflationRates: [9x1 double]
Seasonality: [12x1 double]
Создайте ZeroCouponInflationSwap Инструментальный объект
Используйте fininstrument создать ZeroCouponInflationSwap инструментальный объект для трех инструментов Подкачки Инфляции Нулевого купона.
StartDate = datetime([2021,5,1 ; 2021,6,1 ; 2021,7,1]); Maturity = datetime([2022,10,1 ; 2022,11,1 ;2022,12,1]); FixedInflationRate = 0.015; Notional = [20000 ; 30000 ; 40000]; ZCInflationSwap = fininstrument("ZeroCouponInflationSwap",'StartDate',StartDate,'Maturity',Maturity,'FixedInflationRate',FixedInflationRate,'Notional',Notional,'Name',"zero_coupon_inflation_swap_instrument")
ZCInflationSwap=3×1 object
3x1 ZeroCouponInflationSwap array with properties:
Notional
FixedInflationRate
Basis
Lag
StartDate
Maturity
Name
Создайте Inflation Объект калькулятора цен
Используйте finpricer создать Inflation объект калькулятора цен и использование ratecurve объект с 'DiscountCurve' аргумент пары "имя-значение" и inflationcurve объект с 'InflationCurve' аргумент пары "имя-значение".
outPricer = finpricer("Inflation",'DiscountCurve',ZeroCurve,'InflationCurve',myInflationCurve)
outPricer =
Inflation with properties:
DiscountCurve: [1x1 ratecurve]
InflationCurve: [1x1 inflationcurve]
Цена ZeroCouponInflationSwap Инструменты
Используйте price вычислить цены и чувствительность для ZeroCouponInflationSwap инструменты.
[Price,outPR] = price(outPricer,ZCInflationSwap,"all")Price = 3×1
59.4576
80.6037
89.4137
outPR=1×3 object
1x3 priceresult array with properties:
Results
PricerData
outPR.Results
ans=table
Price
______
59.458
ans=table
Price
______
80.604
ans=table
Price
______
89.414
Вычислите поток наличности для ZeroCouponInflationSwap Инструменты
Используйте inflationCashflows вычислить поток наличности для ZeroCouponInflationSwap инструменты.
outCF = inflationCashflows(ZCInflationSwap(1),datetime(2022,1,1),myInflationCurve)
outCF=1×2 timetable
Time Var1 Var2
___________ _______ _____
01-Oct-2022 -427.09 486.8
outCF = inflationCashflows(ZCInflationSwap(2),datetime(2022,1,1),myInflationCurve)
outCF=1×2 timetable
Time Var1 Var2
___________ _______ ______
01-Nov-2022 -640.63 721.62
outCF = inflationCashflows(ZCInflationSwap(3),datetime(2022,1,1),myInflationCurve)
outCF=1×2 timetable
Time Var1 Var2
___________ _______ ______
01-Dec-2022 -854.18 944.06
inpInstrumentObject — Объект InstrumentZeroCouponInflationSwap объектИнструментальный объект, заданное использование ранее созданного инструмента возражает для ZeroCouponInflationSwap.
Примечание
Если inpInstrumentObject вектор из инструментов, необходимо использовать inflationCashflows отдельно с каждым инструментом.
Типы данных: object
Settle — Расчетный день для инструментального потока наличностиРасчетный день для инструментального потока наличности в виде скаляра с помощью datetime, последовательного номера даты, вектора символов даты или строки даты.
Примечание
Settle дата, которую вы задаете, должна быть перед Maturity дата ZeroCouponInflationSwap инструмент.
Типы данных: double | char | datetime | string
inpInflationCurve — Кривая инфляцииinflationcurve объектКривая инфляции, заданное использование ранее созданной инфляции изгибает объект с помощью inflationcurve.
Типы данных: object
outCF — Выведите поток наличностиВыведите поток наличности, возвращенный как расписание.
У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.