recessionplot

Наложите полосы рецессии на графике временных рядов

Описание

пример

recessionplot оверлейные программы заштриховали полосы рецессии США, как сообщается Национальным бюро экономических исследований (NBER) [1], на графике временных рядов в текущей системе координат. Данные об абсциссе должны представлять даты, созданные datenum или datetime.

пример

recessionplot(Name,Value) дополнительные опции использования заданы одними или несколькими аргументами name-value. Например, recessionplot('recessions',recessionPeriods) задает накладывающие теневые полосы в течение периодов рецессии в recessionPeriods.

пример

hBands = recessionplot(___) возвращает вектор из указателей на полосы рецессии, с помощью любой из комбинаций входных аргументов в предыдущих синтаксисах.

Примеры

свернуть все

Загрузите Data_Unemployment.mat набор данных, который содержит ежемесячный ряд уровня безработицы США, измеренный от 1 954 до 1998.

load Data_Unemployment

Переменные Data и dates, среди других появитесь в рабочей области. Для получения дополнительной информации о данных введите Description.

Data 45 12 матрица показателей безработицы. Строки Data соответствуйте последовательным годам, и его столбцы соответствуют последовательным месяцам; Data(j,k) уровень безработицы в месяце k из года j. Представляйте Data как вектор из серийных данных постоянного времени путем перемещения матрицы, и затем вертикально конкатенации столбцов результата.

Data = Data';
un = Data(:);

dates числовой вектор 45 лет выборки подряд. Создайте datetime вектор, который расширяет dates включением всех месяцев в течение каждого года.

Y = repmat(dates',12,1);
Y = Y(:);
M = repmat((1:12)',length(dates),1);
D = ones(length(un),1);
t = datetime(Y,M,D);

В качестве альтернативы можно использовать calmonths функционируйте, чтобы эффективно включать все месяцы в течение каждого года.

tspan = datetime([dates(1); dates(end)],[1; 12],[1; 1]);
t = (tspan(1):calmonths(1):tspan(2))';

Постройте ряд уровня безработицы. Наложите полосы в течение периодов рецессии, о которых сообщает NBER.

figure
plot(t,un)
recessionplot
ylabel('Rate (%)')
title("Unemployment Rate")

Figure contains an axes object. The axes object with title Unemployment Rate contains 9 objects of type line, patch.

Периоды рецессии, кажется, происходят с внезапными, относительно значительными увеличениями уровня безработицы.

Наложите полосы рецессии на графике временных рядов, затем возвратите указатели полос рецессии, чтобы изменить цвет и непрозрачность полос.

Загрузите Data_CreditDefaults.mat набор данных, который содержит ряд уровня значения по умолчанию кредита и несколько рядов предиктора, измеряемых ежегодно от 1 984 до 2004.

load Data_CreditDefaults

Переменные Data и dates, среди других появитесь в рабочей области. Для получения дополнительной информации о данных введите Description.

Data 21 5 числовая матрица, содержащая ряд. Извлеките ряды предиктора, которые включают первые четыре столбца.

X = Data(:,1:4);

даты являются числовым вектором, содержащим 21 год выборки. Преобразуйте dates к datetime вектор лет. Примите, что ряды измеряются в конце года.

T = numel(dates);
dates = [dates [12 31].*ones(T,2)];
dates = datetime(dates);

Постройте ряд предиктора. Наложите полосы рецессии и возвратите указатели на полосы. Измените цвет полосы в красный и уменьшайте непрозрачность до 0,1.

figure;
plot(dates,X,'LineWidth',2);
xlabel("Year");
ylabel("Level");
hBands = recessionplot;
set(hBands,'FaceColor',"r",'FaceAlpha',0.1);

Figure contains an axes object. The axes object contains 6 objects of type line, patch.

Входные параметры

свернуть все

Аргументы name-value

Задайте дополнительные разделенные запятой пары Name,Value аргументы. Name имя аргумента и Value соответствующее значение. Name должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.

Пример: 'recessions',recessionPeriods задает накладывающие теневые полосы в течение периодов рецессии в recessionPeriods.

Оси, на которых можно наложить полосы рецессии в виде Axes объект. Целевые оси должны содержать график временных рядов с последовательными датами на горизонтальной оси.

По умолчанию, recessionplot графики к текущей системе координат (gca).

Периоды рецессии или данные, указывающие на начало и конец исторических рецессий в виде numRecessions- 2 матрица последовательных чисел даты или datetime записи. Каждая строка является периодом рецессии с первым столбцом, указывающим на начало рецессии и второго столбца, указывающего на конец рецессии.

Значением по умолчанию являются данные о рецессии США в Data_Recessions.mat, сообщаемый NBER [1].

Выходные аргументы

свернуть все

Указатели на нанесенные на график графические объекты, возвращенные как графический вектор. hBands содержит уникальные идентификаторы графика, которые можно использовать, чтобы запросить или изменить свойства полос рецессии.

Советы

  • recessionplot требует datetime значения или последовательные числа даты на горизонтальной оси графика временных рядов. Чтобы преобразовать другую информацию о дате в этот формат перед графическим выводом, использовать datetime или datenum.

  • Чтобы достигнуть удовлетворительных отображений на определенных мониторах и проекторах, измените цвет и непрозрачность полос рецессии путем установки FaceColor и FaceAlpha свойства выходных указателей.

Ссылки

[1] Национальное бюро экономических исследований (NBER), циклические экономические подъемы и сокращения, https://www.nber.org/research/data/us-business-cycle-expansions-and-contractions.

Представленный в R2012a