Существуют несколько различных изменений вейвлет. Этот пример фокусируется на максимальном перекрывании дискретного вейвлет (MODWT). MODWT является неопределенным вейвлет по диадическим (степеням двойки) шкалам, которое часто используется с финансовыми данными. Одной из приятных функций MODWT для анализа временных рядов является то, что он разделяет отклонение данных по шкалам. Чтобы проиллюстрировать это, рассмотрим ежеквартальные взвешенные по цепочке данные о реальном ВВП США для 1974Q1 к 2012Q4. Данные были преобразованы путем сначала взятия естественного логарифма, а затем вычисления различия за год. Получите MODWT реальных данных ВВП до шестого уровня с вейвлет 'db2'. Исследуйте дисперсию данных и сравните ее с отклонениями по шкале, полученной с помощью MODWT.
load GDPcomponents realgdpwt = modwt(realgdp,'db2',6); vardata = var(realgdp,1); varwt = var(realgdpwt,1,2);
В vardata
у вас есть отклонение для совокупных временных рядов ВВП. В 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 кварталов составляют наибольшее отклонение в данных ВВП. Если учесть отклонения вейвлет на этих шкалах, они составляют 57% изменчивости в данных ВВП. Это означает, что колебания в ВВП в течение периода от 2 до 8 лет составляют большую часть изменчивости, наблюдаемой во временных рядах.
Вейвлет часто может выявить изменения волатильности, не заметные в совокупных данных. Начнем с графика данных ВВП.
helperFinancialDataExample1(realgdp,years,'Year over Year Real U.S. GDP')
Затенённая область упоминается как «Великая умеренность», означающая период пониженной макроэкономической волатильности в США, начиная с середины 1980-х годов.
Исследуя совокупные данные, неясно, что на самом деле в этот период снижается волатильность. Используйте вейвлеты, чтобы исследовать это, сначала получив мультирезолюционный анализ реальных данных ВВП с помощью вейвлета 'db2' до уровня 6.
realgdpwt = modwt(realgdp,'db2',6,'reflection'); gdpmra = modwtmra(realgdpwt,'db2','reflection');
Постройте график деталей уровня 1, D1. Эти детали захватывают колебания в данных между двумя и четырьмя четвертями в длительности.
helperFinancialDataExample1(gdpmra(1,:),years,... 'Year over Year Real U.S. GDP - D1')
Исследуя детали уровня один, появляется уменьшение отклонения в период Великой Модерации.
Протестируйте вейвлет первого уровня для значительных точек изменения отклонения.
[pts_Opt,kopt,t_est] = wvarchg(realgdpwt(1,1:numel(realgdp)),2); years(pts_Opt)
ans = 1982
Существует точка изменения отклонения, идентифицированная в 1982 году. Этот пример не исправляет задержку, введенную вейвлетом 'db2' на первом уровне. Однако эта задержка составляет только две выборки, поэтому она не оказывает заметного влияния на результаты.
Чтобы оценить изменения в волатильности данных ВВП до и после 1982 года, разделите исходные данные на серии до и после изменений. Получите вейвлет набора наборов данных до и после. В этом случае ряд относительно короток, поэтому используйте wavelet Haar, чтобы минимизировать количество граничных коэффициентов. Вычислите объективные оценки отклонения вейвлета по шкале и постройте график результата.
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 четвертей.
Можно также использовать вейвлеты для анализа корреляции между двумя наборами данных по шкале. Изучить корреляцию между совокупными данными о государственных расходах и частных инвестициях. Данные охватывают тот же период, что и реальные данные по ВВП, и преобразуются точно так же.
[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 кварталами. Даже эта корреляция незначительно значима при корректировке для нескольких сравнений.
Многомасштабный корреляционный анализ показывает, что легкая отрицательная корреляция в совокупных данных определяется поведением данных по шкалам от четырех до восьми четвертей. Когда вы рассматриваете данные за различные периоды времени (шкалы), нет значительной корреляции.
С финансовыми данными часто существует ведущая или отстающая связь между переменными. В этих случаях полезно изучить последовательность перекрестной корреляции, чтобы определить, максимизирует ли отставание одной переменной по отношению к другой их перекрестную корреляцию. Для того чтобы проиллюстрировать это, рассмотрим взаимосвязь между двумя компонентами ВВП -- личными расходами на потребление и валовыми частными внутренними инвестициями.
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)');
Самая мелкая вейвлет корреляционная последовательность показывает пиковую положительную корреляцию с задержкой в одну четверть. Это указывает на то, что личные инвестиции отстают от личных расходов на один квартал.
Ссылки:
Агуигар-Конрария, Л. Мартинш. M.F., and Soares, M.J. «The Yield Curve and the Macro-Economy Across Time and Frequencies»., Journal of Economic Dynamics and Control, 36, 12, 1950-1970, 2012.
Crowley, PM «A Guide to Wavelets for Economists»., Journal of Economic Surveys, 21, 2, 207-267, 2007.
Gallegati, M and Semmler, W. (Eds.) «Wavelet Applications in Economics and Finance», Springer, 2014.
Percival, D.B. and Walden, A.T. «Wavelet Methods for Временные Ряды Analysis», Cambridge University Press, 2000.