财务数据的小波分析
这个例子展示了如何使用小波分析金融数据。
将汇总数据分离为不同的时间尺度是分析财务数据的有力工具。不同的市场力量会在不同时期影响经济关系。经济冲击在时间上是局部的,在这段时间内表现出不同频率的振荡。
一些经济指标滞后、领先或与其他变量一致。金融市场的不同参与者从短期和长期的角度来看待市场机制。“短期”和“长期”等术语是金融变量之间复杂关系建模的核心。
小波将时间序列数据分解为不同的尺度,可以揭示在聚合数据中不明显的关系。此外,通常可以利用小波系数的特性来推导基于尺度的方差和相关性估计,并测试显著差异。
最大重叠离散小波变换——尺度波动率
小波变换有很多不同的变体。本例主要讨论最大重叠离散小波变换(MODWT)。MODWT是一种二进(2的幂)尺度上的非拟小波变换,它经常用于金融数据。MODWT用于时间序列分析的一个很好的特性是它按比例划分数据方差。为了说明这一点,考虑一下1947年第一季度至2011年第一季度的美国实际GDP季度链加权数据。数据的转换方法是先取自然对数,然后计算年与年的差异。使用'db2'小波获得真实GDP数据的MODWT,直到第6级。检查数据的方差,并将其与MODWT获得的比例方差进行比较。
负载GDPExampleData;Realgdpwt = modwt(realgdp,“db2”6);Vardata = var(实际gdp,1);Varwt = var(realgdpwt,1,2);
在vardata
就得到了GDP时间序列的方差。在varwt
就得到了MODWT的比例方差。有七个元素varwt
因为你将MODWT降至6级,导致6个小波系数方差和1个比例系数方差。将方差按比例求和,以确保方差不变。忽略标度系数方差绘制小波方差图。
totalMODWTvar = sum(varwt);bar(varwt(1:end-1,:)) AX = gca;斧子。XTickLabels = {“[2 4)”,“[4 8)”,“[8 16)”,“[16个32)”,“64年(32)”,“[64 128)”};包含(“季度”) ylabel (“方差”)标题(“小波尺度方差”)
因为这个数据是季度数据,所以第一个量表捕捉2到4个季度之间的变化,第二个量表捕捉4到8个季度之间的变化,第三个量表捕捉8到16个季度之间的变化,以此类推。
从MODWT和一个简单的条形图中,你可以看到8到32个季度之间的数据周期在GDP数据中占最大的方差。如果你考虑这些尺度上的小波方差,它们占GDP数据变异性的57%。这意味着2至8年期间GDP的波动是时间序列中出现的大部分变化的原因。
大调节——用MODWT测试波动率的变化
小波分析通常可以揭示总体数据中不明显的波动率变化。从GDP数据的图表开始。
helperFinancialDataExample1 (realgdp,年,“美国实际GDP同比”)
阴影区域被称为“大缓和”,表示美国宏观经济波动从20世纪80年代中期开始的一段时期。
从总体数据来看,并不清楚这一时期的波动性实际上有所降低。使用小波来研究这个问题,首先使用“db2”小波进行6级以下的真实GDP数据的多分辨率分析。
Realgdpwt = modwt(realgdp,“db2”6“反射”);gddpmra = modwtmra(realgdpwt,“db2”,“反射”);
画出第一层细节,D1。这些细节捕捉了持续时间在两到四个季度之间的数据波动。
: helperFinancialDataExample1 (gdpmra (1),,...年度美国实际GDP - D1)
从第一级的细节来看,大缓和时期的差异似乎有所减少。
测试一级小波系数的显著方差变化点。
[pts_Opt,kopt,t_est] = wvarchg(realgdpwt(1,1:数字(realgdp)),2);年(pts_Opt)
Ans =持续时间142年
1982年发现了一个方差变点。这个例子没有纠正由'db2'小波在第一级引入的延迟。然而,这种延迟只是两个样本,因此不会明显影响结果。
为了评估1982年前后GDP数据波动的变化,将原始数据分为变化点前后的序列。得到前后数据集的小波变换。在这种情况下,级数相对较短,因此使用Haar小波来最小化边界系数的数量。计算小波方差的无偏估计,并绘制结果。
tspre = realgdp(1:pts_Opt);tpostst = realgdp(pts_Opt+1:end);Wtpre = modwt(tspre,“哈雾”5);Wtpost = modwt(tpost,“哈雾”5);Prevar = modwtvar(wtpre,“哈雾”,“表”);Postvar = modwtvar“哈雾”,“表”);Xlab = {“[2 q, 4 q)”,“[4 q, 8 q)”,“[8 q, 16 q)”,“[16 q, 32 q)”,“[32 q 64 q)”};helperFinancialDataExampleVariancePlot (prevar postvar,“表”xlab)标题(“小波尺度方差”);传奇(“1982年之前Q2”,“1982年后第二季”,“位置”,“西北”);
从前面的图表来看,在2到16个季度的尺度上,1982q2之前和1982q2之后的方差之间似乎存在显著差异。
由于本例中的时间序列非常短,因此使用方差的偏估计可能很有用。有偏估计不移除边界系数。使用具有四个系数的“db2”小波滤波器。
Wtpre = modwt(tspre,“db2”5,“反射”);Wtpost = modwt(tpost,“db2”5,“反射”);Prevar = modwtvar(wtpre,“db2”, 0.95,“EstimatorType”,“有偏见的”,“表”);Postvar = modwtvar“db2”, 0.95,“EstimatorType”,“有偏见的”,“表”);Xlab = {“[2 q, 4 q)”,“[4 q, 8 q)”,“[8 q, 16 q)”,“[16 q, 32 q)”,“[32 q 64 q)”};图;helperFinancialDataExampleVariancePlot (prevar postvar,“表”xlab)标题(“小波尺度方差”);传奇(“1982年之前Q2”,“1982年后第二季”,“位置”,“西北”);
结果证实了我们最初的发现,大缓和表现为波动率从2个季度下降到16个季度。
GDP成分数据的小波相关分析
您还可以使用小波来分析两个数据集之间的相关性。研究一下政府支出和私人投资的总体数据之间的相关性。这些数据涵盖了与实际GDP数据相同的时期,并以完全相同的方式进行转换。
[rho,pval] = corrcoef(privateinvest,govtexp);
政府支出和个人投资呈-0.215的微弱负相关,但在统计上具有显著性。使用MODWT重复此分析。
wtPI = modwt(私人投资,“db2”5,“反射”);wtGE = modwt(govtexp,“db2”5,“反射”);wcorrtable = modwtcorr(wtPI,wtGE,“db2”, 0.95,“反射”,“表”);显示器(wcorrtable)
wcorrtable = 6x6表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(私人投资,“fk8”5);PCWT = modwt(pc,“fk8”5);图;modwtcorr (piwt pcwt,“fk8”)
个人支出和个人投资在2-4个季度内呈负相关。在较长尺度上,个人支出与个人投资之间存在较强的正相关关系。在代表2-4个四分之一周期的尺度上检查小波互相关序列。
[xcseq,xcseqci,lag] = modwtxcorr(piwt,pcwt,“fk8”);Zerolag = floor(number (xcseq{1})/2)+1;情节(滞后{1}(zerolag: zerolag + 20), xcseq {1} (zerolag: zerolag + 20));持有在;情节(滞后{1}(zerolag: zerolag + 20), xcseqci {1} (zerolag: zerolag + 20日),“r——”);包含(“滞后(季度)”);网格在;标题(小波互相关序列——[2Q,4Q));
最小尺度小波互相关序列在滞后1个季度后出现峰值正相关。这表明个人投资落后于个人支出四分之一。
美国通胀率的连续小波分析
使用离散小波分析,您将局限于二元尺度。当使用连续小波分析时,这种限制就被消除了。
加载1961年5月至2011年11月的美国通货膨胀率数据。
负载CPIInflation;图表(yr,通货膨胀)AX = gca;斧子。XTick = 1962: 10:11;标题(《1961年至2011年CPI通胀》)轴紧;网格在;包含(“年”)
在时间数据上,70年代初出现缓慢振荡,到80年代末似乎消失。
为了表征波动率增加的周期,使用解析Morlet小波获得数据的连续小波变换(CWT)。
类(通货膨胀,“爱”年(1/12));AX = gca;斧子。XTick = 8/12:10:596/12;斧子。XTickLabels = yr(round(AX.XTick*12));
CWT显示,在大约4-6年的范围内,通货膨胀率数据的振荡最强。这种波动在1980年代中期开始消失,其特点是通货膨胀逐渐减少,波动向较长时期转移。20世纪70年代和80年代初的剧烈波动周期是20世纪70年代能源危机(石油冲击)的结果,该危机导致主要工业经济体出现滞胀(增长停滞和通货膨胀)。看到[1]对这些和其他宏观经济数据进行基于cwt的深入分析。这个例子再现了那篇论文中更广泛和更详细的分析的一小部分。
结论
在本例中,您学习了如何使用MODWT分析金融时间序列数据中的多尺度波动率和相关性。该示例还演示了如何使用小波来检测过程随时间波动的变化。最后,该示例展示了如何使用CWT来描述金融时间序列中波动增加的时期。参考文献提供了更详细的小波在金融数据和时间序列分析中的应用。
附录
本例中使用了以下helper函数。
参考文献
阿吉亚尔-康拉利亚,L., M. M. F.马丁斯,M. J.苏亚雷斯。“收益率曲线和跨越时间和频率的宏观经济。”经济动态与控制杂志.Vol. 36, no . 12, 2012, pp. 1950-1970。
克劳利,p.m.。《经济学家小波指南》经济调查杂志.第21卷,第2期,2007,第207-267页。
[3]加勒加蒂,M.和W.塞姆勒(编)。小波在经济学和金融学中的应用.德国海德堡:施普林格国际出版社,2014年。
[4]珀西瓦尔,D. B.和A. T.瓦尔登。时间序列分析的小波方法.英国剑桥:剑桥大学出版社,2000年。