Визуализация денежных потоков финансовых инструментов
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-by- (Number of cash flows) матрица дат денежного потока в номерах дат с пустыми записями, заполненными NaNс.
Каждая строка CFlowDates матрица представляет инструмент так, что CFlowDates(k,:) - вектор дат денежного потока для kКИПиА. Строки заполнены конечными NaNs, если количество денежных потоков отличается для всех инструментов.
cfamounts может использоваться для генерации CFlowDates.
Типы данных: double
CFlowAmounts - Матрица сумм денежного потока Матрица сумм денежного потока, заданная как NINST-by- (Number of cash flows) матрица сумм денежного потока с пустыми записями, заполненными NaNс. The 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-by- 3 матрица указателей на объекты, содержащая [hLines, hUArrowHead, hDArrowHead] где:
hLines - Горизонтальные и вертикальные линии, используемые в схеме денежного потока
hUArrowHead - Стрелки «Вверх»
hDArrowHead - стрелки «Вниз»
axes_handle - Указатели на оси для графика или подграфиковУказатели на оси для графика или подграфиков, возвращенные как a (Number of axes) -by- 1 вектор указателей на оси.
cfamounts | cfdates | datetime | swapbyzero (Financial Instruments Toolbox)
У вас есть измененная версия этого примера. Вы хотите открыть этот пример с вашими правками?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.