时间序列形态相似性分析 时间序列形态相似性的度量

时间序列是一类最常见的数据,目前时间序列分析重点研究的多是时间序列的预测。但针对有些问题,时间序列的形态比较也是一类重要的问题。例如:各种商品每日均价(或者股票的每日收盘价格)构成了时间序列,如何评价商品价格走势的一致性,就可以归结为时间序列形态相似性问题。

本系列短文将就这一问题逐步展开探讨。

(一) 两个时间序列形态相似性的描述

为了描述形态相似性,我们可以通过以下步骤构建描述两个时间序列形态相似性的指标,为了简化问题,我们设时间序列的取值均大于零。

设两个时间序列为

X1、X2、……、Xn

Y1、Y2、……、Yn

则可以定义如下指标为描述两个时间序列相似性的指标:

1

或者

2

(二)时间序列相似性度量的一个实例

我们取2008年8月25日——2008年9月5日共10个交易日的所有中小板块股票的收盘价格构成数据集如下图。

图1

在这10个交易日中,每天都有交易的中小板股票共有229支,再加上中小板指数(sz399005),共有230个时间序列数据,如果我们考察每两个时间序列的相似性,将有Combine(230,2)=26335个时间序列对。我们使用如下SAS程序可以计算出这26335个时间序列对的相似度指标。

%let N=230;
%let M=10;
%let in=stock.finaldata;
%let out=stock.similar;
data temp(drop=stockid date close n k);
do id=1 to (&N-1)*&M by &M;
  set &in point=id;
   var1=stockid;
  do j=(id+&M) to &N*&M by &M ;
   set &in  point=j;
   var2=stockid;
   do k=0 to (&M-1);
    d1=id+k;
    set &in point=d1;
    data1=close;
    d2=j+k;
    set &in point=d2;
    data2=close;
    output;
   end;
  end;
end;
stop;
run;
data &out(keep=var1 var2 similar);
do id=1 to last by &M;
  set temp nobs=last;
  total=0;
  do i=0 to (&M-1);
   row1=id+i;
   set temp point=row1;
   x1=data1;
   y1=data2;
   do j=i+1 to (&M-1);
   row2=id+j;
   set temp point=row2;
   x2=data1;
   y2=data2;
   temp=(log(max((x2/x1)/(y2/y1),(y2/y1)/(x2/x1))))/(&M*(&M-1)/2);
   total=total+temp;
   similar=exp(total)-1;
   end;
  end;
  output;
end;
stop;
run;
proc sort data=&out;
by similar;
run;

结果我们发现,在所有229支股票中,sz002043(兔宝宝)和sz002047(成霖股份)两支股票的形态形似度最高,而sz002139(拓邦电子)和sz002174(梅花伞)相似度最低。这两对股票的2008年8月25日-9月5日走势图见以下两图,从图形直观上可以看出,这种方法至少从直观上是正确的,帮助我们从众多的中小板股票中,找出了形态形似性最大和最小的两对股票。

3

002139

来源:http://blog.csdn.net/yunfeizhong/article/details/2906164 & http://blog.csdn.net/yunfeizhong/article/details/2944569

About 智足者富

http://chenpeng.info

One thought on “时间序列形态相似性分析 时间序列形态相似性的度量

  1. mlsmlc

    楼主帮了我大忙了,忍不住说声谢谢!

发表评论

电子邮件地址不会被公开。 必填项已用*标注

您可以使用这些HTML标签和属性:

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>