Визуализация денежных потоков финансовых инструментов
cfplot( строит график движения денежных средств для указанных сумм движения денежных средств (CFlowDates,CFlowAmounts)CFlowAmounts) и даты (CFlowDates). Длина и ориентация каждой стрелки соответствуют сумме денежного потока.
cfplot(___, строит график движения денежных средств для указанных сумм движения денежных средств (Name,Value)CFlowAmounts), даты (CFlowDates) и необязательные аргументы пары имя-значение.
возвращает дескриптор к объектам строки, используемым в схеме денежного потока.h = cfplot(___,Name,Value)
[ возвращает дескрипторы к объектам линии и осям, используя необязательные аргументы пары имя-значение. h,axes_handle] = cfplot(___,Name,Value)
Определить CFlowAmounts и CFlowDates с использованием cfamounts функция.
CouponRate = [0.06; 0.05; 0.03]; Settle = '03-Jun-1999'; Maturity = ['15-Aug-2000';'15-Dec-2000';'15-Jun-2000']; Period = [1; 2; 2]; Basis = [1; 0; 0]; [CFlowAmounts, CFlowDates] = cfamounts(... CouponRate, Settle, Maturity, Period, Basis)
CFlowAmounts = 3×5
-4.8000 6.0000 106.0000 NaN NaN
-2.3352 2.5000 2.5000 2.5000 102.5000
-1.4011 1.5000 1.5000 101.5000 NaN
CFlowDates = 3×5
730274 730347 730713 NaN NaN
730274 730286 730469 730652 730835
730274 730286 730469 730652 NaN
Постройте график всех денежных потоков на одной оси и пометьте первые две.
cfplot(CFlowDates, CFlowAmounts, 'ShowAmnt', [1 2])
Сгруппируйте второй и третий денежные потоки.
figure; cfplot(CFlowDates, CFlowAmounts, 'Groups', {[2 3]}, 'ShowAmnt', 1);

Отформатируйте ось дат и установите галочки на фактические даты движения денежных средств.
figure; cfplot(CFlowDates, CFlowAmounts, 'Groups', {[2 3]}, 'ShowAmnt', 1, ... 'DateFormat', 6, 'DateSpacing', 100);

Делите стрелки денежного потока на те же даты.
figure; cfplot(CFlowDates, CFlowAmounts, 'Groups', {[2 3]}, 'ShowAmnt', 1, ... 'DateFormat', 6, 'DateSpacing', 100, 'Stacked', 1);

Создайте вложенные печати из нескольких групп и добавьте заголовки с помощью маркеров перемещения осей.
figure; [h, axes_handle] = cfplot(CFlowDates, CFlowAmounts, ... 'Groups', {[1] [2 3]}, 'ShowAmnt', 1, 'Stacked', 2, ... 'DateSpacing', [1 60 2 100], 'DateFormat', [1 12 2 6]); title(axes_handle(1), 'Group 1', 'FontWeight', 'bold'); title(axes_handle(2), 'Group 2', 'FontWeight', 'bold');

Определить CFlowDates использование datetime ввод и график денежного потока.
CouponRate = [0.06; 0.05; 0.03]; Settle = '03-Jun-1999'; Maturity = ['15-Aug-2000';'15-Dec-2000';'15-Jun-2000']; Period = [1; 2; 2]; Basis = [1; 0; 0]; [CFlowAmounts, CFlowDates] = cfamounts(... CouponRate, Settle, Maturity, Period, Basis); cfplot(datetime(CFlowDates,'ConvertFrom','datenum','Locale','en_US'), CFlowAmounts, 'ShowAmnt', [1 2])

Определите своп с помощью swapbyzero функция.
Settle = datenum('08-Jun-2010'); RateSpec = intenvset('Rates', [.005 .0075 .01 .014 .02 .025 .03]',... 'StartDates',Settle, 'EndDates',{'08-Dec-2010','08-Jun-2011',... '08-Jun-2012','08-Jun-2013','08-Jun-2015','08-Jun-2017',... '08-Jun-2020'}'); Maturity = datenum('15-Sep-2020'); LegRate = [.025 50]; LegType = [1 0]; % fixed/floating LatestFloatingRate = .005; [Price, SwapRate, AI, RecCF, RecCFDates, PayCF,PayCFDates] = ... swapbyzero(RateSpec, LegRate, Settle, Maturity,'LegType',LegType,... 'LatestFloatingRate',LatestFloatingRate)
Price = -6.7258
SwapRate = NaN
AI = 1.4575
RecCF = 1×12
-1.8219 2.5000 2.5000 2.5000 2.5000 2.5000 2.5000 2.5000 2.5000 2.5000 2.5000 102.5000
RecCFDates = 1×12
734297 734396 734761 735127 735492 735857 736222 736588 736953 737318 737683 738049
PayCF = 1×12
-0.3644 0.5000 1.4048 1.9823 2.8436 3.2842 3.8218 4.1733 4.5164 4.4666 4.8068 104.6743
PayCFDates = 1×12
734297 734396 734761 735127 735492 735857 736222 736588 736953 737318 737683 738049
Определить CFlowDates и CFlowAmounts для свопа и создания графика денежного потока с использованием cfplot.
CFlowDates = [PayCFDates;RecCFDates]; CFlowAmounts = [-PayCF;RecCF]; cfplot(CFlowDates, CFlowAmounts, 'Groups', {[1 2]}); xlabel('Numeric Cash Flow Dates');

CFlowDates - Матрица номеров серийных дат для денежных потоковМатрица серийных номеров дат или массивов datetime для денежных потоков, указанных как NINSTоколо-(Number of cash flows) матрица дат движения денежных средств в номерах дат, с пустыми записями, дополненными NaNs.
Каждая строка CFlowDates матрица представляет инструмент так, что CFlowDates(k,:) - вектор дат движения денежных средств для k-й инструмент. Строки дополняются завершающими NaNs, если количество денежных потоков не одинаково для всех инструментов.
cfamounts может использоваться для генерации CFlowDates.
Типы данных: double
CFlowAmounts - Матрица сумм денежных потоков Матрица сумм денежных потоков, указанных как NINSTоколо-(Number of cash flows) матрица сумм денежных потоков, с пустыми записями, дополненными NaNс. CFlowAmounts матрица должна быть того же размера, что и CFlowDates.
cfamounts может использоваться для генерации CFlowAmounts.
Типы данных: double
Укажите дополнительные пары, разделенные запятыми Name,Value аргументы. Name является именем аргумента и Value - соответствующее значение. Name должен отображаться внутри кавычек. Можно указать несколько аргументов пары имен и значений в любом порядке как Name1,Value1,...,NameN,ValueN.
cfplot(CFlowDates,CFlowAmounts,'Groups',{[2 3]},'ShowAmnt',1,'DateFormat',6,'DateSpacing',100)'Groups' - Групповые денежные потоки'off'
(по умолчанию) | символьный вектор со значением 'off' или 'individual' | массив ячеек символьных векторовГруппировать денежные потоки, указанные как разделенная запятыми пара, состоящая из 'Groups' и следующие значения:
'off' - Показать все приборы в одном наборе осей, расположенных сверху вниз.
'individual' - Создание вложенных графиков и печать каждого инструмента по собственной оси.
GRP - массив ячеек групп приборов, {Group1, Group2,... }. При этом создаются подсхемы и графики каждой группы на каждой оси. При указании {Group1, Group2,... }, каждая Группа должна быть взаимоисключающими векторами INSTIndex. Неуказанные инструменты не показаны на сгруппированном графике.
Типы данных: char | cell
'Stacked' - стрелки стека, если денежные потоки находятся в одном направлении в один день;'Groups' является 'off', в противном случае 'off'
(по умолчанию) | символьный вектор со значениями 'off', 'all', или 'GRPIndex'Стрелки стека, если денежные потоки находятся в одном направлении в тот же день, указанный как пара, разделенная запятыми, состоящая из 'Stacked' и следующие значения:
'off' - Для всех групп все стрелки начинаются от горизонтальной линии.
'all' - Для всех групп стрелки складываются, если денежные потоки находятся в одном направлении в один и тот же день.
'GRPIndex' - Для указанных групп стрелки складываются, если денежные потоки находятся в одном направлении в один и тот же день.
Типы данных: char
'ShowAmnt' - Показать сумму на стрелках'off'
(по умолчанию) | символьный вектор со значениями 'off' или 'individual' | массив ячеек символьных векторовПоказать количество на стрелках, указанное как разделенная запятыми пара, состоящая из 'ShowAmnt' и следующие значения:
'off' - Скрытие сумм денежных потоков на стрелках.
'all' - Показать суммы денежных потоков на стрелках.
[INSTIndex или GRPIndex] - Показать суммы денежных потоков для указанного вектора инструментов (когда 'Groups' является 'off') или группы.
Типы данных: char | cell
'DateSpacing' - Управление интервалом засечек по оси даты'off'
(по умолчанию) | символьный вектор со значениями 'off' или TickDateSpace | числовое значение для TickDateSpaceУправление интервалом между данными, указанным как разделенная запятыми пара, состоящая из 'DateSpacing' и следующие значения:
'off' - Засечки оси даты расположены регулярно.
TickDateSpace - галочки по оси дат размещаются на фактических датах движения денежных средств. Клещи пропускают некоторые денежные потоки, если они меньше, чем TickDateSpace особняком.
Типы данных: char | double
'DateFormat' - Формат даты'off'
(по умолчанию) | символьный вектор со значениями 'off' или DateFormNum | числовое значение для DateFormNumФормат даты, указанный как пара, разделенная запятыми, состоящая из 'DateFormat' и следующие значения:
'off' - Метки засечки оси даты указаны в номерах дат.
DateFormNum - номер формата даты (2 = 'mm/dd/yy', 6 = 'mm/dd', и 10 = 'yyyy'). Дополнительные значения для DateFormNum являются следующими:
DateFormNum | Пример |
|---|---|
2 | 03/01/00 |
3 | Март |
5 | 03 |
6 | 03/01 |
7 | 01 |
8 | В среду |
9 | W |
10 | 2000 |
11 | 00 |
12 | Mar00 |
17 | 1 квартал 00 |
18 | Q1 |
19 | 01/03 |
20 | 01/03/00 |
27 | 1 квартал 2000 |
28 | Mar2000 |
29 | 2000–03–01 |
Типы данных: char | double
h - Обрабатывает объекты строкиОбрабатывает объекты строки, возвращаемые как NINSTоколо-3 матрица маркеров перемещения к линейным объектам, содержащая [hLines, hUArrowHead, hDArrowHead] где:
hLines - Горизонтальные и вертикальные линии, используемые в схеме движения денежных средств
hUArrowHead - Стрелки «вверх»
hDArrowHead - Стрелки «Вниз»
axes_handle - Маркеры перемещения к осям для печати или вложенных графиковМаркеры перемещения к осям для графика или вложенных диаграмм, возвращаемые как (Number of axesоколо-1 вектор ручек к осям.
cfamounts | cfdates | datetime | swapbyzero (инструментарий финансовых инструментов)
Имеется измененная версия этого примера. Открыть этот пример с помощью изменений?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.