Этот пример показывает, как использовать вейвлеты, чтобы анализировать финансовые данные.
Разделение агрегированных данных в различные масштабы времени является мощным инструментом для анализа финансовых данных. Различный эффект рыночных сил экономические отношения за переменные промежутки времени. Экономические шоки локализуются вовремя и в той выставке периода времени колебания переменной частоты.
Некоторая задержка экономических показателей, вывод, или являются совпадающими с другими переменными. Различные агенты на финансовых рынках просматривают механику рынка по короче и более длинные шкалы. Условия как "короткий промежуток времени" и "отдаленный" являются центральными в моделировании комплексных отношений между финансовыми переменными.
Вейвлеты разлагают данные временных рядов на различные шкалы и могут показать отношения, не очевидные в агрегированных данных. Далее, часто возможно использовать свойства коэффициентов вейвлета вывести основанные на шкале средства оценки для отклонения и корреляции и протестировать на существенные различия.
Существует много различных изменений вейвлета, преобразовывают. Этот пример фокусируется на максимальном перекрытии дискретном вейвлете преобразовывает (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 лет составляют большую часть изменчивости, замеченной во временных рядах.
Анализ вейвлета может часто показывать изменения в энергозависимости, не очевидной в агрегированных данных. Начните с графика данных о 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 и преобразовываются тем же самым способом.
[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.
Следующие функции помощника используются в этом примере.