Анализ вейвлета финансовых данных

Этот пример показывает, как использовать вейвлеты, чтобы анализировать финансовые данные.

Разделение агрегированных данных в различные масштабы времени является мощным инструментом для анализа финансовых данных. Различный эффект рыночных сил экономические отношения за переменные промежутки времени. Экономические шоки локализуются вовремя и в той выставке периода времени колебания переменной частоты.

Некоторая задержка экономических показателей, вывод, или являются совпадающими с другими переменными. Различные агенты на финансовых рынках просматривают механику рынка по короче и более длинные шкалы. Условия как "короткий промежуток времени" и "отдаленный" являются центральными в моделировании комплексных отношений между финансовыми переменными.

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

Максимальное перекрытие дискретный вейвлет преобразовывает - энергозависимость шкалой

Существует много различных изменений вейвлета, преобразовывают. Этот пример фокусируется на максимальном перекрытии дискретном вейвлете преобразовывает (MODWT). MODWT является неподкошенным вейвлетом, преобразовывают по двухместному (степени двойки) шкалы, который часто используется с финансовыми данными. Одна хорошая функция MODWT для анализа временных рядов - то, что это делит отклонение данных шкалой. Чтобы проиллюстрировать это, рассмотрите ежеквартальные взвешенные цепочкой американские действительные данные о GDP для 1947Q1 к 2011Q4. Данные были преобразованы путем первого взятия натурального логарифма и затем вычисления различия года по году. Получите MODWT действительных данных о GDP вниз, чтобы выровняться шесть с 'db2' вейвлетом. Исследуйте отклонение данных и сравните это с отклонениями шкалой, полученной с MODWT.

load GDPExampleData;
realgdpwt = modwt(realgdp,'db2',6);
vardata = var(realgdp,1);
varwt = var(realgdpwt,1,2);

В vardata у вас есть отклонение для совокупных временных рядов GDP. В varwt у вас есть отклонение шкалой для MODWT. Существует семь элементов в varwt, потому что вы получили MODWT вниз, чтобы выровнять шесть получившихся в шести содействующих отклонениях вейвлета и одном содействующем отклонении масштабирования. Суммируйте отклонения шкалой, чтобы видеть, что отклонение сохраняется. Постройте отклонения вейвлета по шкале, игнорирующей масштабирующееся содействующее отклонение.

totalMODWTvar = sum(varwt);
bar(varwt(1:end-1,:))
AX = gca;
AX.XTickLabels = {'[2 4)','[4 8)','[8 16)','[16 32)','[32 64)','[64 128)'};
xlabel('Quarters')
ylabel('Variance')
title('Wavelet Variance by Scale')

Поскольку эти данные ежеквартально, первая шкала получает изменения между двумя и четырьмя четвертями, вторую шкалу между четыре и восемь, третье между 8 и 16, и так далее.

От MODWT и простой столбиковой диаграммы, вы видите, что циклы в данных между 8 и 32 четвертями составляют самое большое отклонение в данных о GDP. Если вы рассматриваете отклонения вейвлета в этих шкалах, они составляют 57% изменчивости в данных о GDP. Это означает, что колебания в GDP в течение 2 - 8 лет составляют большую часть изменчивости, замеченной во временных рядах.

Большое модерирование - тестирующий на изменения в энергозависимости с MODWT

Анализ вейвлета может часто показывать изменения в энергозависимости, не очевидной в агрегированных данных. Начните с графика данных о GDP.

helperFinancialDataExample1(realgdp,year,'Year over Year Real U.S. GDP')

Теневая область упоминается как "Большое Модерирование" выражение периода уменьшенной макроэкономической энергозависимости в США, начинающихся в середине 1980-х.

Исследуя агрегированные данные, не ясно, что существует на самом деле уменьшаемая энергозависимость в этот период. Используйте вейвлеты, чтобы исследовать это первым получением анализа мультиразрешения действительных данных о GDP с помощью 'db2' вейвлета вниз для уровня 6.

realgdpwt = modwt(realgdp,'db2',6,'reflection');
gdpmra = modwtmra(realgdpwt,'db2','reflection');

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

helperFinancialDataExample1(gdpmra(1,:),year,...
    'Year over Year Real U.S. GDP - D1')

Исследование уровня, который каждый детализирует, кажется, что существует сокращение отклонения в период Большого Модерирования.

Протестируйте уровень коэффициенты вейвлета на значительное отклонение changepoints.

[pts_Opt,kopt,t_est] = wvarchg(realgdpwt(1,1:numel(realgdp)),2);
years(pts_Opt)
ans = 

  duration

   142 yrs

Существует отклонение changepoint идентифицировано в 1 982. Этот пример не исправляет для задержки, введенной 'db2' вейвлетом на уровне один. Однако та задержка является только двумя выборками, таким образом, она не заметно влияет на результаты.

Чтобы оценить изменения в энергозависимости данных о GDP пред и отправить 1982, разделите исходные данные в пред - и post-changepoint ряд. Получите преобразования вейвлета пред и отправьте наборы данных. В этом случае ряды относительно коротки, так используйте вейвлет Хаара, чтобы минимизировать количество граничных коэффициентов. Вычислите объективные оценки отклонения вейвлета шкалой и постройте результат.

tspre = realgdp(1:pts_Opt);
tspost = realgdp(pts_Opt+1:end);
wtpre = modwt(tspre,'haar',5);
wtpost = modwt(tspost,'haar',5);
prevar = modwtvar(wtpre,'haar','table');
postvar = modwtvar(wtpost,'haar','table');
xlab = {'[2Q,4Q)','[4Q,8Q)','[8Q,16Q)','[16Q,32Q)','[32Q,64Q)'};
helperFinancialDataExampleVariancePlot(prevar,postvar,'table',xlab)
title('Wavelet Variance By Scale');
legend('Pre 1982 Q2','Post 1982 Q2','Location','NorthWest');

Из предыдущего графика кажется, что существуют существенные различия между pre-1982Q2 и post-1982Q2 отклонениями в шкалах между 2 и 16 четвертями.

Поскольку временные ряды так коротки в этом примере, может быть полезно использовать смещенные оценки отклонения. Смещенные оценки не удаляют граничные коэффициенты. Используйте 'db2' фильтр вейвлета с четырьмя коэффициентами.

wtpre = modwt(tspre,'db2',5,'reflection');
wtpost = modwt(tspost,'db2',5,'reflection');
prevar = modwtvar(wtpre,'db2',0.95,'EstimatorType','biased','table');
postvar = modwtvar(wtpost,'db2',0.95,'EstimatorType','biased','table');
xlab = {'[2Q,4Q)','[4Q,8Q)','[8Q,16Q)','[16Q,32Q)','[32Q,64Q)'};
figure;
helperFinancialDataExampleVariancePlot(prevar,postvar,'table',xlab)
title('Wavelet Variance By Scale');
legend('Pre 1982 Q2','Post 1982 Q2','Location','NorthWest');

Результаты подтверждают наше исходное открытие, что Большое Модерирование проявлено в сокращениях энергозависимости по шкалам от 2 до 16 четвертей.

Корреляционный анализ вейвлета данных о компоненте GDP

Можно также использовать вейвлеты, чтобы анализировать корреляцию между двумя наборами данных шкалой. Исследуйте корреляцию между агрегированными данными на правительственных расходах и частными инвестициями. Данные покрывают тот же период как действительные данные о GDP и преобразовываются тем же самым способом.

[rho,pval] = corrcoef(privateinvest,govtexp);

Правительственные расходы и персональные инвестиции демонстрируют слабую, но статистически значительную, отрицательную корреляцию-0.215. Повторите этот анализ с помощью MODWT.

wtPI = modwt(privateinvest,'db2',5,'reflection');
wtGE = modwt(govtexp,'db2',5,'reflection');
wcorrtable = modwtcorr(wtPI,wtGE,'db2',0.95,'reflection','table');
display(wcorrtable)
wcorrtable =

  6x6 table

          NJ      Lower        Rho         Upper        Pvalue      AdjustedPvalue
          ___    ________    ________    __________    _________    ______________

    D1    257    -0.29187    -0.12602      0.047192       0.1531         0.7502   
    D2    251    -0.54836    -0.35147      -0.11766    0.0040933       0.060171   
    D3    239    -0.62443    -0.35248    -0.0043207     0.047857        0.35175   
    D4    215    -0.70466    -0.32112       0.20764      0.22523        0.82773   
    D5    167    -0.63284     0.12965       0.76448      0.75962              1   
    S5    167    -0.63428     0.12728       0.76347      0.76392              1   

Многошкальная корреляция, доступная с MODWT, показывает значительную отрицательную корреляцию только в шкале 2, который соответствует циклам в данных между 4 и 8 четвертями. Даже эта корреляция является только незначительно значительной при корректировке для нескольких сравнений.

Многошкальный корреляционный анализ показывает, что небольшая отрицательная корреляция в агрегированных данных управляется поведением данных по шкалам четырех - восьми четвертей. Когда вы рассматриваете данные по различным периодам времени (шкалы), нет никакой значительной корреляции.

Последовательности взаимной корреляции вейвлета - продвижение и отставание переменных

С финансовыми данными часто существует продвижение или отставание отношения между переменными. В тех случаях полезно исследовать последовательность взаимной корреляции, чтобы определить, если отставание одной переменной относительно другого максимизирует их взаимную корреляцию. Чтобы проиллюстрировать это, рассмотрите корреляцию между двумя компонентами GDP - частные потребительские расходы и грубые частные внутренние инвестиции.

piwt = modwt(privateinvest,'fk8',5);
pcwt = modwt(pc,'fk8',5);
figure;
modwtcorr(piwt,pcwt,'fk8')

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

[xcseq,xcseqci,lags] = modwtxcorr(piwt,pcwt,'fk8');
zerolag = floor(numel(xcseq{1})/2)+1;
plot(lags{1}(zerolag:zerolag+20),xcseq{1}(zerolag:zerolag+20));
hold on;
plot(lags{1}(zerolag:zerolag+20),xcseqci{1}(zerolag:zerolag+20,:),'r--');
xlabel('Lag (Quarters)');
grid on;
title('Wavelet Cross-Correlation Sequence -- [2Q,4Q)');

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

Непрерывный анализ вейвлета американского уровня инфляции

Используя дискретный анализ вейвлета, вы ограничиваетесь двухместными шкалами. Это ограничение удалено при использовании непрерывного анализа вейвлета.

Загрузите американские данные об уровне инфляции с мая 1961 до ноября 2011.

load CPIInflation;
figure
plot(yr,inflation)
AX = gca;
AX.XTick = 1962:10:2011;
title('CPI Inflation -- 1961 to 2011')
axis tight; grid on;
xlabel('Year')

В данных времени медленное колебание появляется в начале 1970-х и, кажется, рассеивается к концу 1980-х.

Чтобы охарактеризовать периоды увеличенной энергозависимости, получите непрерывный вейвлет преобразовывает (CWT) данных с помощью аналитического вейвлета Morlet.

cwt(inflation,'amor',years(1/12));
AX = gca;
AX.XTick = 8/12:10:596/12;
AX.XTickLabels = yr(round(AX.XTick*12));

CWT показывает самые сильные колебания в данных об уровне инфляции в аппроксимированной области значений 4-6 лет. Эта энергозависимость начинает рассеиваться к середине 1980-х и характеризуется и постепенным сокращением инфляции и сдвигом в энергозависимости к более длинным периодам. Сильные циклы энергозависимости в 1970-х и в начало 1980-х являются результатом энергетического кризиса 1970-х (нефтяные кризисы), которые привели к стагфляции (неподвижный рост и инфляция) в главных промышленных экономических системах. See Aguiar-Conraria, Martins, & Soares (2012) для всестороннего основанного на CWT анализа этих и других макроэкономических данных. Этот пример воспроизводит небольшую часть более широкого и более детального анализа в той газете.

Заключения и дополнительные материалы для чтения

В этом примере вы изучили, как использовать MODWT, чтобы анализировать многошкальную энергозависимость и корреляцию в финансовых данных временных рядов. Пример также продемонстрировал, как вейвлеты могут использоваться, чтобы обнаруживать изменения в энергозависимости процесса в зависимости от времени. Наконец, пример показал, как CWT может использоваться, чтобы охарактеризовать периоды увеличенной энергозависимости в финансовых временных рядах. Следующие ссылки обеспечивают больше детали о приложениях вейвлета для анализа временных рядов и финансовых данных.

Ссылки:

Aguigar-Conraria, Л. Мартинс. M.F., и Соарес, M.J. "Кривая доходности и макроэкономика через время и частоты". журнал экономической динамики и управления, 36, 12, 1950-1970, 2012.

Кроули, пополудни "Руководство по вейвлетам для экономистов". журнал экономических обзоров, 21, 2, 207-267, 2007.

Gallegati, M и Semmler, W. (Редакторы). "Приложения вейвлета в экономике и финансах", Спрингер, 2014.

Персиваль, Д.Б. и Уолден, A.T. "Методы вейвлета для анализа временных рядов", издательство Кембриджского университета, 2000.

Приложение

Следующие функции помощника используются в этом примере.

*helperFinancialDataExample1

*helperFinancialDataExampleVariancePlot

*helperCWTTimeFreqPlot