该方法是用于计算两个指标的时序关系的,比如A指标领先或者滞后或者一致于B指标。公式原理如下:
x,y分别是两个时间序列,y为基准指标,l为超前或滞后期, 被称为时差或延迟数 (l=0时表示不移动, 表示同步;若表示超前, 则对应的l﹤0;若表示滞后, 则对应的l﹥0) ;n为所取数据的个数;MB表示最大延迟数。 取不同的l值, 分别代表不同的时差, 并计算时差相关系数Rl, 取绝对值最大的R'l作为时差相关系数。时差相关系数对应的时差数l的正负, 可判断被选指标与基准指标先行、同步或滞后的关系。它反映了被选择指标与基准指标的波动最接近, 即为时差相关系数。只有超前相关性较强的指标才能被选为预测性指标。
关于这个时差相关分析方法,在网上查阅资料时发现讲理论的很多,但具体实现的比较少,有的说这个方法封装好了在一些软件中,我因不熟悉这些软件,所以尝试着自己实现了下,顺便分享给大家,如有不对之处请提出,十分感谢啦。了解原理后,具体python实现如下:
def corr(x,y,n,tl):#计算时间差相关系数
d=asum=bsum=csum=0.0
lmax=tl
lmin=lmax*(-1)
rel=[]
timel=10000
#a=b=c=0
for l in range(lmin,lmax+1):
x