我们取2008年8月25日——2008年9月5日共10个交易日的所有中小板块股票的收盘价格构成数据集如下图。
在这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日走势图见以下两图,从图形直观上可以看出,这种方法至少从直观上是正确的,帮助我们从众多的中小板股票中,找出了形态形似性最大和最小的两对股票。