请教各位高手如何用金字塔程序把一阶、二阶高低点表示出来,一阶、二阶高低点定义如下:
假设两个合约的价差为时间序列t1,t2……tn,样本数为n。
一阶高点:如果ti>ti+1,ti>ti-1,那么ti就是一个一阶高点。倘若相邻的两个价差值相等,则忽略其中靠后的那个价差,在与相邻的价差比较过程中只与前者比较。
二阶高点:如果在一个高阶高点比它左右相邻的两个一阶高点价差都大,那就把它定义为一个二阶高点。倘若相邻的两个一阶高点相等,则忽略靠后的那个一阶高点,在与相邻的一阶高点比较的过程中只与前者比较。依次类推,可以定义价差的n阶高点。
大体如下,供您参考.
variable:firhigh[100]=0,scdhigh[100]=0;
........
for i=2 to datacount do
begin
if cc[i]>=cc[i+1] and cc[i]>cc[i-1] then //其中cc为两合约的价差
begin
for m=1 to i do
begin
firhigh[m]:=cc[i];//记录1阶高点
if m<3 then exit;
if m>=3 and firhigh[m-1]>=firhigh[m] and firhigh[m-1]<firhigh[m-2] then
for n=1 to m do
begin
scdhigh[n]:=firhigh[m-1];//记录2阶高点
end
end
end
end