这个例子展示了如何使用小波分析财务数据。
将汇总数据分离成不同的时间尺度是分析财务数据的有力工具。不同的市场力量在不同时期影响经济关系。经济冲击在时间上是局部的,在这段时间内表现出不同频率的振荡。
一些经济指标滞后、领先或与其他变量一致。金融市场中的不同参与者从短期和长期的角度来看待市场机制。像“短期”和“长期”这样的术语是建模金融变量之间复杂关系的核心。
小波将时间序列数据分解成不同的尺度,可以揭示在汇总数据中不明显的关系。此外,通常可以利用小波系数的性质来推导基于尺度的方差和相关性估计器,并测试显著差异。
小波变换有许多不同的变体。这个例子关注的是最大重叠离散小波变换(MODWT)。MODWT是二进(2的幂)尺度上的一种未消差小波变换,经常用于金融数据。用于时间序列分析的MODWT的一个很好的特性是它按尺度划分数据方差。为了说明这一点,请考虑1947年第一季度至2011年第四季度的季度连锁加权美国实际GDP数据。对数据进行了转换,首先取自然对数,然后计算年与年的差异。用'db2'小波获得实际GDP数据的MODWT,直到第6级。检查数据的方差,并将其与MODWT得到的按尺度的方差进行比较。
负载GDPExampleData;实际国内生产总值;“db2”6);Vardata = var(realgdp,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%。这意味着GDP在2至8年期间的波动解释了时间序列中看到的大部分变异性。
小波分析通常可以揭示在汇总数据中不明显的波动率变化。从GDP数据图开始。
helperFinancialDataExample1 (realgdp,年,“美国实际GDP同比增长”)
阴影区域被称为“大缓和”,表示从20世纪80年代中期开始的美国宏观经济波动性下降的时期。
从总体数据来看,并不清楚这一时期的波动性是否有所降低。使用小波来研究这一点,首先使用“db2”小波获得实际GDP数据的多分辨率分析,直到6级。
实际国内生产总值;“db2”6“反射”);Gdpmra = modwtmra(realgdpwt,“db2”,“反射”);
绘制一级细节,D1。这些细节捕捉了持续时间在两个季度和四个季度之间的数据振荡。
: helperFinancialDataExample1 (gdpmra (1),,…"美国实际GDP同比- D1 ")
检查一级细节,似乎在大缓和时期方差有所减少。
测试一级小波系数的显著方差变化点。
[pts_Opt,kopt,t_est] = wvarchg(realgdpwt(1,1:num (realgdp)),2);年(pts_Opt)
Ans =持续时间142年
在1982年确定了一个方差变更点。这个例子没有纠正由'db2'小波在第一级引入的延迟。然而,延迟只是两个样本,所以它不会明显影响结果。
为了评估1982年前后GDP数据波动性的变化,将原始数据分为变化点前后序列。得到前后数据集的小波变换。在这种情况下,序列相对较短,因此使用Haar小波来最小化边界系数的数量。按比例计算小波方差的无偏估计,并绘制结果。
tspre = realgdp(1:pts_Opt);tspost = realgdp(pts_Opt+1:end);Wtpre = modwt(tspre);“哈雾”5);Wtpost = modwt(tpost;“哈雾”5);var = modwtvar“哈雾”,“表”);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年第二季前”,“1982年后第二季度”,“位置”,“西北”);
从前面的图中可以看出,在2到16个季度的尺度上,1982年第二季度前和1982年第二季度后的方差之间存在显著差异。
因为这个例子中的时间序列很短,所以使用方差的有偏估计是有用的。有偏估计不能去除边界系数。使用具有四个系数的“db2”小波滤波器。
Wtpre = modwt(tspre);“db2”5,“反射”);Wtpost = modwt(tpost;“db2”5,“反射”);var = modwtvar“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年第二季前”,“1982年后第二季度”,“位置”,“西北”);
结果证实了我们最初的发现,即大缓和表现为波动性从2个季度到16个季度的下降。
还可以使用小波按比例分析两个数据集之间的相关性。检验政府支出和私人投资的总数据之间的相关性。这些数据涵盖的时期与实际GDP数据相同,转换方式也完全相同。
[rho,pval] = corcoef (privateinvest, govtext);
政府支出和个人投资表现出微弱但统计上显著的负相关,为-0.215。使用MODWT重复此分析。
私人投资;“db2”5,“反射”);wtGE = modt (govtext);“db2”5,“反射”);wcortable = modwtcorr(wtPI,wtGE,“db2”, 0.95,“反射”,“表”);显示器(wcorrtable)
wcorcortable = 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个季度之间的周期。即使这种相关性在调整多重比较时也只是略微显着。
多尺度相关分析表明,汇总数据中的轻微负相关是由数据在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(numel(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]”);
最佳尺度的小波互相关序列在滞后四分之一时显示出峰值正相关。这表明个人投资落后于个人支出四分之一。
使用离散小波分析,你被限制在二进尺度。当使用连续小波分析时,这种限制被消除了。
加载1961年5月至2011年11月的美国通胀率数据。
负载CPIInflation;图(yr,通货膨胀)AX = gca;斧子。XTick = 1962:10:2011;标题(《CPI通胀——1961年至2011年》)轴紧;网格在;包含(“年”)
在时间数据中,一个缓慢的振荡出现在20世纪70年代初,似乎在80年代末消散。
为了表征波动增加的周期,使用解析Morlet小波对数据进行连续小波变换(CWT)。
类(通货膨胀,“爱”年(1/12));AX = gca;斧子。XTick = 8/12:10:596/12;斧子。XTickLabels = yr(round(AX.XTick*12));
CWT揭示了通货膨胀率数据在大约4-6年的范围内的最强振荡。这种波动性在20世纪80年代中期开始消散,其特点是通货膨胀逐渐减少,波动性向更长的周期转变。70年代和80年代初的剧烈波动周期是70年代能源危机(石油冲击)造成主要工业经济体滞胀(增长停滞和通货膨胀)的结果。看到[1]以获取对这些数据和其他宏观经济数据的基于cwt的深入分析。此示例再现了该论文中更广泛和更详细的分析的一小部分。
在本例中,您学习了如何使用MODWT来分析金融时间序列数据中的多尺度波动性和相关性。该示例还演示了如何使用小波来检测过程随时间变化的波动性。最后,该示例展示了如何使用CWT来描述金融时间序列中波动性增加的时期。参考资料更详细地介绍了小波在金融数据和时间序列分析中的应用。
本例中使用了以下helper函数。
[译文]阿吉亚-康拉里亚,L., M. M. F.马丁斯,M. J.苏亚雷斯。“收益率曲线和宏观经济在时间和频率上的关系。”经济动态与控制学报。第36卷,2012年第12期,第1950-1970页。
b[2]克劳利,p.p。《经济学家小波指南》经济调查杂志。2007年第21卷第2期,第207-267页。
[3] Gallegati, M.和W. Semmler(编)。小波在经济和金融中的应用。海德堡,德国:施普林格国际出版社,2014。
[4]帕西瓦尔,d.b.和a.t.瓦尔登。时间序列分析的小波方法。剑桥,英国:剑桥大学出版社,2000。