FloatBond объект прибора
Создать и оценить FloatBond объект инструмента с использованием этого рабочего процесса:
Использовать fininstrument для создания FloatBond объект прибора.
Использовать ratecurve для задания модели кривой для FloatBond инструмент.
Использовать finpricer для указания Discount метод ценообразования для FloatBond инструмент.
Дополнительные сведения об этом потоке операций см. в разделе Начало работы с потоками операций с использованием объектной структуры для расчета цен на финансовые инструменты.
Для получения дополнительной информации о доступных моделях и методах ценообразования для FloatBond см. раздел Выбор приборов, моделей и прайсеров.
создает FloatBondObj = fininstrument(InstrumentType,'Spread',spread_value,'Maturity',maturity_date)FloatBond путем указания объекта InstrumentType и задает свойства для необходимых аргументов пары имя-значение Spread и Maturity.
FloatBond инструмент поддерживает ванильную банкноту с плавающей ставкой и амортизирующую банкноту с плавающей ставкой. Дополнительные сведения см. в разделе Примечание с плавающей скоростью.
задает дополнительные свойства, используя дополнительные пары имя-значение в дополнение к требуемым аргументам в предыдущем синтаксисе. Например, FloatBondObj = fininstrument(___,Name,Value)FloatBondObj = fininstrument("FloatBond",'Spread',0.6,'Maturity',datetime(2019,1,30),'Basis',1,'Principal',100,'FirstCouponDate',datetime(2016,1,30),'EndMonthRule',true,'Name',"float_bond_instrument") создает FloatBond инструмент со спредом 0,6 и сроком погашения 30 января 2019 года. Можно указать несколько аргументов пары имя-значение.
InstrumentType - Тип прибора"FloatBond" | символьный вектор со значением 'FloatBond'Тип прибора, указанный как строка со значением "FloatBond" или символьный вектор со значением 'FloatBond'.
Типы данных: char | string
FloatBond Аргументы пары «имя-значение»Укажите требуемые и необязательные пары, разделенные запятыми Name,Value аргументы. Name является именем аргумента и Value - соответствующее значение. Name должен отображаться внутри кавычек. Можно указать несколько аргументов пары имен и значений в любом порядке как Name1,Value1,...,NameN,ValueN.
FloatBondObj = fininstrument("FloatBond",'Spread',0.6,'Maturity',datetime(2019,1,30),'Basis',1,'Principal',100,'FirstCouponDate',datetime(2016,1,30),'EndMonthRule',true,'Name',"float_bond_instrument")FloatBond Аргументы пары «имя-значение»'Spread' - Десятичное значение над ссылочной скоростьюДесятичное значение над ссылочной скоростью, указанной как разделенная запятыми пара, состоящая из 'Spread' и скалярный неотрицательный десятичный знак.
Типы данных: double
'Maturity' - Дата погашенияДата погашения, указанная как пара, разделенная запятыми, состоящая из 'Maturity' и скалярное значение datetime, порядковый номер даты, вектор символов даты или строка даты.
Если используется вектор символов даты или строка даты, формат должен быть распознаваемым по datetime потому что Maturity свойство сохраняется как datetime.
Типы данных: char | double | string | datetime
FloatBond Аргументы пары «имя-значение»'Reset' - Периодичность платежей в год2
(по умолчанию) | целое числоЧастота платежей в год, указанная как разделенная запятыми пара, состоящая из 'Reset' и скалярное целое число. Значения для Reset являются: 1, 2, 3, 4, 6, или 12.
Типы данных: double
'Basis' - База подсчета дней [0 0] (факт/факт) (по умолчанию) | целое число от 0 кому 13База подсчета дней, указанная как пара, разделенная запятыми, состоящая из 'Basis' и скалярное целое число, используя одно из следующих значений:
0 - фактическое/фактическое
1 - 30/360 (SIA)
2 - фактическое/360
3 - фактическое/365
4 - 30/360 (PSA)
5 - 30/360 (ISDA)
6 - 30/360 (европейский)
7 - фактический/365 (японский)
8 - фактические/фактические (ICMA)
9 - фактические/360 (ICMA)
10 - фактически/365 (ICMA)
11 - 30/360E (ICMA)
12 - фактическое/365 (ISDA)
13 - BUS/252
Дополнительные сведения см. в разделе Базис.
Типы данных: double
'Principal' - Основная сумма или график основной стоимости100
(по умолчанию) | скалярное числовое | расписаниеУсловная сумма основного долга или график стоимости основного долга, указанный как пара, разделенная запятыми, состоящая из 'Principal' и скалярное числовое или расписание.
Principal принимает timetable, где первый столбец - даты, а второй столбец - связанное условное основное значение. Дата указывает последний день, когда действительным является основное значение.
Типы данных: double | timetable
'ProjectionCurve' - Кривая ставки для прогнозирования плавающих денежных потоковratecurve.empty (по умолчанию) | ratecurve объектКривая ставки для проецирования плавающих денежных потоков, указанная как пара, разделенная запятыми, состоящая из 'ProjectionCurve' и ratecurve объект. Необходимо создать этот объект с помощью ratecurve.
Типы данных: object
'ResetOffset' - Запаздывание в настройке скорости0 (по умолчанию) | числовыеЗапаздывание в установке скорости, указанное как пара, разделенная запятыми, состоящая из 'ResetOffset' и скалярный числовой.
Типы данных: double
'LatestFloatingRate' - Последний плавающий курс[]
(по умолчанию) | десятичное числоПоследний плавающий курс для FloatBond объект, указанный как разделенная запятыми пара, состоящая из 'LatestFloatingRate' и скалярное десятичное число.
Типы данных: double
'DaycountAdjustedCashFlow' - Флажок для корректировки денежных потоков на основе фактического подсчета дней периодаfalse
(по умолчанию) | значение true или falseФлажок для корректировки денежных потоков на основе фактического количества дней периода, указанного как пара, разделенная запятыми, состоящая из 'DaycountAdjustedCashFlow' и скалярный логический со значением true или false.
Типы данных: logical
'BusinessDayConvention' - Соглашения по рабочим дням"actual"
(по умолчанию) | строка | символьный векторСоглашения о рабочих днях, указанные как пара, разделенная запятыми, состоящая из 'BusinessDayConvention' и скалярный строковый или символьный вектор. Выбор соглашения о рабочих днях определяет, как обрабатываются дни, не связанные с бизнесом. Дни, не связанные с бизнесом, определяются как выходные дни, а также любая другая дата, когда предприятия не открыты (например, официальные праздники). Значения:
"actual" - Дни, не связанные с бизнесом, фактически игнорируются. Предполагается, что денежные потоки, приходящиеся на нерабочие дни, распределяются на фактическую дату.
"follow" - Денежные потоки, приходящиеся на некоммерческий день, предполагается распределить на следующий рабочий день.
"modifiedfollow" - Денежные потоки, приходящиеся на некоммерческий день, предполагается распределить на следующий рабочий день. Однако если следующий рабочий день находится в другом месяце, вместо него используется предыдущий рабочий день.
"previous" - Денежные потоки, приходящиеся на некоммерческий день, предполагается распределить в предыдущий рабочий день.
"modifiedprevious" - Денежные потоки, приходящиеся на некоммерческий день, предполагается распределить в предыдущий рабочий день. Однако если предыдущий рабочий день находится в другом месяце, вместо него принимается следующий рабочий день.
Типы данных: char | string
'Holidays' - Праздники, используемые в вычислительных рабочих дняхNaT
(по умолчанию) | datetime | массив ячеек векторов символов даты | массив строк даты | серийные номера датПраздники, используемые в вычислительных рабочих днях, указанные как пара, разделенная запятыми, состоящая из 'Holidays' и даты с использованием времени даты, серийных номеров дат, массива ячеек векторов символов даты или массива строк даты. Например:
H = holidays(datetime('today'),datetime(2025,12,15));
FloatBondObj = fininstrument("floatbond",'Spread',100,'Maturity',datetime(2025,12,15),'Holidays',H)Типы данных: double | cell | datetime | string
'EndMonthRule' - флаг правила конца месяца для генерации дат, когда Maturity Дата окончания месяца с 30 или менее днямиtrue (в действии) (по умолчанию) | логический true или falseФлаг правила конца месяца для генерации дат при Maturity - дата окончания месяца с 30 или менее днями, указанная как пара, разделенная запятыми, состоящая из 'EndMonthRule' и скалярное логическое значение true или false.
Если установить EndMonthRule кому false, программное обеспечение игнорирует правило, что означает, что дата платежа всегда совпадает с числовым днем месяца.
Если установить EndMonthRule кому true, программа устанавливает правило, означающее, что дата платежа всегда является последним фактическим днем месяца.
Типы данных: logical
'IssueDate' - Дата выпуска облигацийNaT
(по умолчанию) | datetime | серийный номер даты | вектор символов даты | строка датыДата выпуска облигаций, указанная как пара, разделенная запятыми, состоящая из 'IssueDate' и скалярное значение datetime, порядковый номер даты, вектор символов даты или строка даты.
Если используется вектор символов даты или строка даты, формат должен быть распознаваемым по datetime потому что IssueDate свойство сохраняется как datetime.
Типы данных: double | char | string | datetime
'FirstCouponDate' - нерегулярная дата первого купонаNaT
(по умолчанию) | datetime | серийный номер даты | вектор символов даты | строка датыНеправильная дата первого купона, указанная как пара, разделенная запятыми, состоящая из 'FirstCouponDate' и скалярное значение datetime, порядковый номер даты, вектор символов даты или строка даты.
Когда FirstCouponDate и LastCouponDate оба указаны, FirstCouponDate имеет приоритет при определении структуры купонных выплат. Если не указать FirstCouponDateдаты оплаты денежного потока определяются из других входных данных.
Если используется вектор символов даты или строка даты, формат должен быть распознаваемым по datetime потому что FirstCouponDate свойство сохраняется как datetime.
Типы данных: double | char | string | datetime
'LastCouponDate' - нерегулярная дата последнего купонаNaT
(по умолчанию) | datetime | серийный номер даты | вектор символов даты | строка датыНеправильная дата последнего купона, указанная как пара, разделенная запятыми, состоящая из 'LastCouponDate' и скалярное значение datetime, порядковый номер даты, вектор символов даты или строка даты.
При указании LastCouponDate но не FirstCouponDate, LastCouponDate определяет структуру купона облигации. Купонная структура облигации усечена при LastCouponDateнезависимо от того, куда она попадает, и следует только дата денежного потока погашения облигации. Если не указать LastCouponDateдаты оплаты денежного потока определяются из других входных данных.
Если используется вектор символов даты или строка даты, формат должен быть распознаваемым по datetime потому что LastCouponDate свойство сохраняется как datetime.
Типы данных: double | char | string | datetime
'StartDate' - Форвардная дата начала платежейNaT
(по умолчанию) | datetime | серийный номер даты | символьный вектор | строка датыПрямая дата начала платежей, указанная как пара, разделенная запятыми, состоящая из 'StartDate' и скалярное значение datetime, порядковый номер даты, символьный вектор или строка даты.
Если используется вектор символов даты или строка даты, формат должен быть распознаваемым по datetime потому что StartDate свойство сохраняется как datetime.
Типы данных: char | double | string | datetime
'Name' - Определяемое пользователем имя прибора" "
(по умолчанию) | строка | символьный векторОпределяемое пользователем имя прибора, указанное как пара, разделенная запятыми, состоящая из 'Name' и скалярный строковый или символьный вектор.
Типы данных: char | string
Spread - количество базисных пунктов по базисной ставке;Количество базисных точек над опорной скоростью, возвращаемое как скалярное неотрицательное числовое.
Типы данных: double
Maturity - Дата погашенияДата погашения, возвращенная в качестве даты и времени.
Типы данных: datetime
Reset - Периодичность выплат в год1 (по умолчанию) | целое числоКупоны в год, возвращаемые как скалярное целое число.
Типы данных: double
Basis - База подсчета дней 0 (факт/факт) (по умолчанию) | целое число от 0 кому 13Базисное число дней, возвращаемое как скалярное целое число.
Типы данных: double
Principal - Условная основная сумма или графики основной стоимости100
(по умолчанию) | скалярное числовое | расписаниеУсловная сумма основного долга или расписание значений основного долга, возвращаемое в виде скалярного числа или расписания.
Типы данных: timetable | double
ProjectionCurve - Кривая ставки, используемая при формировании будущих денежных потоковratecurve.empty (по умолчанию) | ratecurve объектКривая ставки, используемая при прогнозировании будущих денежных потоков, возвращаемая как ratecurve объект.
Типы данных: object
ResetOffset - Запаздывание в настройке скорости0 (по умолчанию) | числовыеОтставание в настройке скорости, возвращаемое как скалярное число.
Типы данных: double
LatestFloatingRate - Последний плавающий курс для FloatBond[ ]
(по умолчанию) | десятичное числоПоследний плавающий курс для FloatBond, возвращается в виде скалярного десятичного знака.
Типы данных: double
DaycountAdjustedCashFlow - Флажок для корректировки денежных потоков на основе фактического подсчета дней периодаfalse
(по умолчанию) | значение true или falseФлажок для корректировки денежных потоков на основе фактического количества дней периода, возвращаемого как скалярная логическая со значением true или false.
Типы данных: logical
BusinessDayConvention - Соглашения по рабочим дням"actual"
(по умолчанию) | строкаУсловные обозначения рабочего дня, возвращенные в виде строки
Типы данных: string
Holidays - Праздники, используемые в вычислительных рабочих дняхNaT (по умолчанию) | datetimeПраздники, используемые в вычислительных рабочих днях, возвращенные в качестве дат.
Типы данных: datetime
EndMonthRule - флаг правила конца месяца для генерации дат, когда Maturity Дата окончания месяца с 30 или менее днямиtrue (в действии) (по умолчанию) | логический со значением true или falseФлаг правила конца месяца для генерации дат при Maturity - дата окончания месяца с 30 или менее днями, возвращаемая как скалярная логическая дата.
Типы данных: logical
IssueDate - Дата выпуска облигацийNaT
(по умолчанию) | datetimeДата выпуска облигаций, возвращенная в качестве даты и времени.
Типы данных: datetime
FirstCouponDate - нерегулярная дата первого купонаNaT
(по умолчанию) | datetimeНерегулярная дата первого купона, возвращенная в качестве даты и времени.
Типы данных: datetime
LastCouponDate - нерегулярная дата последнего купонаNaT
(по умолчанию) | datetimeНерегулярная дата последнего купона, возвращенная в качестве даты и времени.
Типы данных: datetime
StartDate - Форвардная дата начала платежейNaT
(по умолчанию) | datetimeДата начала отправки платежей, возвращенная в качестве даты и времени.
Типы данных: datetime
Name - Определяемое пользователем имя прибора" "
(по умолчанию) | строкаОпределяемое пользователем имя инструмента, возвращаемое в виде строки.
Типы данных: string
cashflows | Вычисляет денежный поток для FixedBond, FloatBond, Swap, FRA, или Deposit инструмент |
ratecurve и Скидка ПрайсерВ этом примере показан поток операций по цене ванили. FloatBond инструмент при использовании ratecurve и Discount способ ценообразования.
Создать FloatBond Объект КИП
Использовать fininstrument для создания ванили FloatBond объект прибора.
FloatB = fininstrument("FloatBond",'Maturity',datetime(2022,9,15),'Spread',0.025,'Reset',2,'Basis',1,'Principal',100,'EndMonthRule',false,'Name',"float_bond_instrument")
FloatB =
FloatBond with properties:
Spread: 0.0250
ProjectionCurve: [0x0 ratecurve]
ResetOffset: 0
Reset: 2
Basis: 1
EndMonthRule: 0
Principal: 100
DaycountAdjustedCashFlow: 0
BusinessDayConvention: "actual"
LatestFloatingRate: NaN
Holidays: NaT
IssueDate: NaT
FirstCouponDate: NaT
LastCouponDate: NaT
StartDate: NaT
Maturity: 15-Sep-2022
Name: "float_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]
Цена FloatBond Инструмент
Использовать price для расчета цены и чувствительности ванили FloatBond инструмент.
[Price, outPR] = price(outPricer, FloatB,["all"])Price = 109.8322
outPR =
priceresult with properties:
Results: [1x2 table]
PricerData: []
outPR.Results
ans=1×2 table
Price DV01
______ ________
109.83 0.021976
ratecurve и Скидка ПрайсерВ этом примере показан поток операций для оценки амортизации. FloatBond инструмент при использовании ratecurve и Discount способ ценообразования.
Создать ratecurve Объект
Создать ratecurve объект с использованием ratecurve.
Settle = datetime(2018,1,1); ZeroTimes = calyears(1:10)'; ZeroRates = [0.0052 0.0055 0.0061 0.0073 0.0094 0.0119 0.0168 0.0222 0.0293 0.0307]'; ZeroDates = Settle + ZeroTimes; Compounding = 1; ZeroCurve = ratecurve("zero",Settle,ZeroDates,ZeroRates, "Compounding",Compounding);
Создать FloatBond Объект КИП
Использовать fininstrument для создания амортизирующего FloatdBond объект прибора.
Maturity = datetime(2024,1,1); Spread = 0.02; Reset = 1; ADates = datetime([2020,1,1 ; 2024,1,1]); APrincipal = [100; 80]; Principal = timetable(ADates,APrincipal); Floatamort = fininstrument("FloatBond",'Maturity',Maturity,'Spread',Spread,'Reset',Reset,'ProjectionCurve',ZeroCurve,'Principal',Principal)
Floatamort =
FloatBond with properties:
Spread: 0.0200
ProjectionCurve: [1x1 ratecurve]
ResetOffset: 0
Reset: 1
Basis: 0
EndMonthRule: 1
Principal: [2x1 timetable]
DaycountAdjustedCashFlow: 0
BusinessDayConvention: "actual"
LatestFloatingRate: NaN
Holidays: NaT
IssueDate: NaT
FirstCouponDate: NaT
LastCouponDate: NaT
StartDate: NaT
Maturity: 01-Jan-2024
Name: ""
Создать Discount Объект прайсера
Использовать finpricer для создания Discount pricer object и используйте ratecurve объект с 'DiscountCurve' аргумент пары имя-значение.
outPricer = finpricer("Discount",'DiscountCurve',ZeroCurve)
outPricer =
Discount with properties:
DiscountCurve: [1x1 ratecurve]
Цена FloatBond Инструмент
Использовать price для расчета цены и чувствительности ванили FloatBond инструмент.
[Price, outPR] = price(outPricer,Floatamort,["all"])Price = 110.1101
outPR =
priceresult with properties:
Results: [1x2 table]
PricerData: []
outPR.Results
ans=1×2 table
Price DV01
______ ________
110.11 0.028613
Нота с плавающей ставкой - это ценная бумага, подобная облигации, но процентная ставка ноты периодически сбрасывается относительно ссылочной ставки индекса для отражения колебаний рыночных процентных ставок.
Имеется измененная версия этого примера. Открыть этот пример с помощью изменений?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.