Визуализируйте потоки наличности финансовых инструментов
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)
матрица дат потока наличности в числах даты, с пустыми записями, дополненными NaN
s.
Каждая строка CFlowDates
матрица представляет инструмент так, чтобы CFlowDates(k,:)
вектор из дат потока наличности k
инструмент th. Строки дополнены запаздывающим NaN
s, если количество потоков наличности различное для всех инструментов.
cfamounts
может использоваться, чтобы сгенерировать CFlowDates
.
Типы данных: double
CFlowAmounts
— Матрица сумм потока наличности Матрица потока наличности составляет в виде NINST
- (Number of cash flows)
матрица сумм потока наличности, с пустыми записями, дополненными NaN
s. 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'
все
, или '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
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
| Q1 00 |
18
| Q1 |
19
| 01/03 |
20
| 01/03/00 |
27
| Q1–2000 |
28
| Mar2000 |
29
| 2000–03–01 |
Типы данных: char |
double
h
— Указатели на объекты линииУказатели на объекты линии, возвращенные как NINST
- 3
матрица указателей на объекты линии, содержа [
hLines
, hUArrowHead
, hDArrowHead
]
где:
hLines
— Горизонтальные и вертикальные линии используются в схеме потока наличности
hUArrowHead
— Наконечники стрелки
hDArrowHead
— "Вниз" наконечники стрелки
axes_handle
— Указатели на оси для графика или подграфиковУказатели на оси для графика или подграфиков, возвращенных как (Number of axes
)-by-1
вектор из указателей на оси.
cfamounts
| cfdates
| swapbyzero
(Financial Instruments Toolbox) | datetime
У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.