Визуализация денежных потоков финансовых инструментов
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
КИПиА. Строки заполнены конечными NaN
s, если количество денежных потоков отличается для всех инструментов.
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. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.