用分形方法预测股票指数

用分形方法预测股票指数

摘 要 应用常维或变维分形模型 N = C/rD (D为常量或变量)预测股票指数。预测时先将原始数据进行一系列变换,从中选出一种变换,使变换后的数据能与分形模型符合良好。在本文中应用N的各阶累计和来构造系列变换,并给出上海和香港股市股票指数的预测实例。

关键词 分形,常维分形,变维分形,预测,股票指数

分形方法自1967年问世以来,虽然只有短短几十年的历史,然而已在一些领域获得成功应用,它被用来揭示复杂现象中深藏的有组织结构。许多科学家预言,在21世纪之中,无论是自然科学领域还是社会科学领域,应用分形方法都将取得重大成果。分形方法的特点是引入了分维数的概念。在传统的几何学中,维数为整数,例如点为0维,直线为1维,平面为2维等。而在分形方法中,分维数D突破了整数的限制,例如海岸线的分维数D值可以取为1.02,1.25等[1]。但是,在原有的分形方法中,分维数为常量,而自然界中根本不存在严格满足这种分形关系的现象。因此大量的复杂现象无法用原有的分形(可称为常维分形)模型来描述。为克服这一困难,我们采用了变维分形[2]的概念,亦即分维数是可变的量。应用变维分形及原有的常维分形方法预测股票指数,已经取得了初步成果。

需要指出的是,本文只讨论用分形方法对股票指数进行短期预测。

1 分形分布的有关公式

分形分布可用如下幂指数分布定义[3]

N = (1)

式中:r为特征线度,如时间,长度等;N 为与 r 有关的物体数目,如价格,指数等;C为待定常数,D为分维数。

在本文中r取为时间的编号,例如规定某一天为第一天,则有r1 =1,第二天的r2 =2,等。N为股票指数,例如可以将N1 取为第一天的收市指数,N2 取为第二天的收市指数,等。

在目前一般应用的分形方法中,D为常数,这种分形可称为常维分形。它在双对数坐标上是一条直线。根据该直线上的任意两个数据点(Ni,ri)和(Nj,rj),可以确定该段直线的分形参数,亦即分维数D 和常数C 。将两个数据点的坐标代入(1)式后可以解出

D = ln(Ni/Nj)/ln(rj/ri) (2)

C = NirD (2’)

由于负数不能进行对数计算,所以当Ni中有负数时,必须将全部N值加一个常数以消除负数,亦即将全部数据点先进行一下平移处理。有时为了使分析和预测的结果更好,也可以先将全部数据点进行一下平移处理。

但是对于双对数坐标上非直线的函数关系,

原有的分形方法就无法处理。为克服这一困难,我们采用了变维分形[2]的概念,亦即分维数D是可变的量。

现在我们说明,对于N与R之间的任一函数关系N = f(R),均可转化为分形分布 N = C/rD 的形式。为此只需令

f(R) = (3)

解出r可得

r = [C/f(R)]1/D (4)

亦即将R经过上式的变换而得到分形分布的形式。

2 变换形成的分形

前面已经说明,对于任一函数关系,均可转化为分形分布的形式。然而在实际应用中,往往只给出一些数据点,而函数关系则是未知的,因此变换的具体形式也就无法求出。在这种情况下,只能用尝试的方法来寻找恰当的变换方法。既然是尝试的方法,就可以变换R,也可以变换N。经过选择,发现了一种施行累计和的系列变换,可以将数据进行一系列变换,从中选出一种变换,使变换后的数据能与分形分布模型符合良好,亦即使变换后的数据能用分形分布来处理。该法可简介如下。

第一步,将原始数据点(Ni, ri)(i=1~n)绘于双对数坐标上,一般情况下它们不能与分形分布模型符合良好,于是可将Ni排成一个基本序列,即有:

{Ni}= {N1, N2 , N3 ......} (i=1,2......n) (5)

其他的序列均可以根据基本序列构造。例如构造一阶累计和序列S1,其中S11 =N1,S12 =N1+N2,S13 =N1+N2+N3 等等,依类推可构造二阶、三阶累计和等等,即有:

{S1i}= {N1, N1+N2, N1+N2+N3 ......} (i=1,2......n)(6)

{S2i}= {S11, S11+S12, S11+S12+S13 ......} (i=1,2......n)(7)

{S3i}= {S21, S21+S22, S21+S22+S23 ......} (i=1,2......n)(8)

{S4i}= {S31, S31+S32, S31+S32+S33 ......} (i=1,2......n)(9)

第二步,建立各阶累计和的分形模型。

以一阶累计和为例。将数据点(S1i, ri)(i=1~n)绘于双对数坐标上,即得离散的分形模型。例如根据n个数据点,可以得到由n-1条直线组成的分段常维分形模型(这也是最简单的变维分形模型),各条直线的分形参数,可根据式(2)和(2’)计算(其中的N值用S1值代替)。

第三步,选择效果最好的变换并确定其相应的分形参数。

将各阶累计和构成的数据点分别绘于双对数坐标上之后与某一分形分布模型进行对比,即可选择效果最好的变换并确定其相应的分形参数。

分形分布模型确定之后,即可用外插计算的方法进行预测。

3 应用实例

例1,已知1998年香港股市世纪大战期间,自8月13日~9月1日恒生指数依次收于6660,7224,7210,7622,7742,7527,7845,7890,7834,7922,7829,7275,7062,试用分形

方法预测9月2日和9月3日恒指收市之值。

在建立坐标系时,令8月13日为第一天,8月14日为第二天,等。将r取为各天的编号,即r1 = 1,r2 = 2 等。N值取为各日的恒指收市之值。r和N的取值见表1。

现在就可以计算由(Ni, ri)(i=1~13)以及(S1i, ri)(i=1~13)等确定的分段分形参数。

先分析有关的数据。关于分维数D及D1~D4等的结果见表1,其中Di,i+1表示根据上述方法选择Ni时,在(N,r)坐标系中,由第i个和第i+1个数据点组成的分形直线的分维数。……D4i,i+1表示根据(9)式选择S4i时,在(S4,r)坐标系中,由第i个和第i+1个数据点组成的分形直线的分维数。与D及D1~D4相对应的常数分别用 C及C1~C4来表示。

表1,恒生指数分形模型的计算结果

------------------------------------------------------------------

日期 ri Ni Di,i+1 D1i,i+1 D2i,i+1 D3i,i+1 D4i,i+1

------------------------------------------------------------------

8月13日 1 6660 -0.117 -1.060 -1.625 -2.030 -2.346

8月14日 2 7224 0.005 -1.032 -1.742 -2.290 -2.736

8月18日 3 7210 -0.193 -1.072 -1.823 -2.447 -2.978

8月19日 4 7622 -0.070 -1.070 -1.871 -2.552 -3.144

8月20日 5 7742 0.154 -1.029 -1.892 -2.622 -3.264

8月21日 6 7527 -0.268 -1.065 -1.917 -2.676 -3.356

8月24日 7 7845 -0.043 -1.061 -1.934 -2.719 -3.429

8月25日 8 7890 0.060 -1.047 -1.945 -2.752 -3.488

8月26日 9 7834 -0.106 -1.052 -1.955 -2.779 -3.536

8月27日 10 7922 0.124 -1.036 -1.961 -2.801 -3.577

8月28日 11 7829 0.843 -0.962 -1.954 -2.817 -3.610

8月31日 12 7275 0.371 -0.938 -1.946 -2.828 -3.638

9月1日 13 7062

------------------------------------------------------------------

从上述结果可以看出,如果对N值不进行处理,则所得分维数D值有正有负,比较分散。而经过累计和处理之后,分维数就比较接近,尤其以2阶累计和的效果最好。由13个数据点组成的12条分段直线中,后面的5条直线的分维数很接近,其中最后两条直线的D2之值相差0.008118。如果选择由第12和第13个数据点组成的最后一条直线的分形参数作为有代表性的分形参数,并将其D2,C2之值记为D,C,则有:

D = -1.946145 (10)

C = 4598.671 (11)

将上述参数及r = 14,15分别代入(1)式(将N改为S2),得到

S214 = 781921.6 S215 = 894285 (12)

由于 S11 ~ S113 , S21 ~ S213 都是已知的,根据(12)式之值,应用

下述公式

S1i = S2i - S2i-1 (13)

Ni = S1i - S1i-1 (14)

可得如下预测结果

N14(9月2日收市值)= 7375.625

N15(9月3日收市值)= 7345.74

而实际值为:

N14 = 7355 N15 = 7318



上述预测结果还可以用下述方法进行改进。

先将原始数据进行平移,然后再用分形方法进行处理,效果很好。经过试算,如果将全部N值都先加上500,即N1......N13 = 7160......7562,此时得到的(S2,r)坐标系中的后5条直线的分维数极为接近,依此为:-1.942061, -1.952193, -1.957868, -1.952093, -1.944866。特别是最后两条直线的D2之值仅相差0.007227。然后按上述方法进行处理,预测出N值之后再减去500,则得到如下预测结果

N14 = 7355.563 N15 = 7322.938

预测误差分别为:0.0077%和0.067%。



例2,自2000年11月1日至2001年2月7日,北京有线电视台《每日财经》节目举办了股指竞猜活动,要求参赛者于每日13时以前将预测的当日收盘指数用电话传给电视台参加竞赛,每日设一等奖2名(沪市深市各1名),二等奖8名,三等奖10名。我们是11月17日得到消息并开始参加竞赛的,到2月7日竞赛因故停止,共获得一等奖2次(沪市深市各1次),二等奖2次,三等奖7次。这是一次实战应用,其效果如何,读者可以作出自己的判断。下面是预测结果。

表2,上证指数(1A0001)的预测结果

--------------------------------------------------------------------------

编号 日期 预测值 实际值 误差 获奖情况

-------------------------------------------------------

1 2000年11月16日 2087.87 2095.98 -8.11

2 2000年11月17日 2104.99 2093.23 11.76

3 2000年11月20日 2103.48 2101.38 2.10 获当日三等奖

4 2000年11月21日 2115.14 2097.98 17.16

5 2000年11月22日 2109.29 2113.30 -4.01

6 2000年11月23日 2125.61 2119.43 6.18

7 2000年11月24日 2131.43 2053.37 78.06

8 2000年11月27日 2048.50 2049.67 -1.17 获当日三等奖

9 2000年11月28日 2071.23 2079.39 -8.16

10 2000年11月29日 2082.63 2067.49 15.14

11 2000年11月30日 2063.54 2070.61 -7.07

12 2000年12月1日 2082.96 2081.84 1.12

13 2000年12月4日 2092.32 2092.13 0.19 获当日二等奖

14 2000年12月5日 2099.49 2091.66 7.83

15 2000年12月6日 2095.93 2075.62 20.31

16

2000年12月7日 2065.51 2075.04 -9.53

17 2000年12月8日 2085.09 2073.16 11.93

18 2000年12月11日 2044.21 2046.07 -1.86 获当日三等奖

19 2000年12月12日 2047.74 2059.05 -11.31

20 2000年12月13日 2057.62 2056.12 1.50

21 2000年12月14日 2055.93 2051.07 4.86

22 2000年12月15日 2041.31 2039.36 1.95

23 2000年12月18日 2026.44 2044.54 -18.10

24 2000年12月19日 2052.43 2049.03 3.40

25 2000年12月20日 2058.43 2071.26 -12.83

26 2000年12月21日 2084.98 2076.89 8.09

27 2000年12月22日 2079.10 2069.77 9.33

28 2000年12月25日 2071.63 2068.17 3.46

29 2000年12月26日 2075.03 2076.26 -1.23

30 2000年12月27日 2070.66 2058.24 12.42

31 2000年12月28日 2057.65 2053.70 3.95

32 2000年12月29日 2070.41 2073.47 -3.06

33 2001年1月2日 2095.00 2103.46 -8.46

34 2001年1月3日 2121.09 2123.89 -2.80

35 2001年1月4日 2123.90 2117.40 6.50

36 2001年1月5日 2125.34 2125.30 0.04 获当日一等奖

37 2001年1月8日 2108.06 2102.06 6.00

38 2001年1月9日 2098.75 2101.13 -2.38

39 2001年1月10日 2120.91 2125.61 -4.70

40 2001年1月11日 2132.74 2119.14 13.60

41 2001年1月12日 2106.41 2104.74 1.67

42 2001年1月15日 2054.82 2032.44 22.38

43 2001年1月16日 2003.01 2006.88 -3.87

44 2001年1月17日 2035.48 2034.58 0.90

45 2001年1月18日 2043.70 2043.10 0.60 获当日三等奖

46 2001年1月19日 2063.47 2065.60 -2.13

47 2001年2月5日 2036.62 2008.03 28.59

48 2001年2月6日 1960.85 1995.31 -34.46

49 2001年2月7日 1979.34 1979.93 -0.59 获当日二等奖

--------------------------------------------------------------------------

在上述49次实际预测中,误差在0.5点以下的共有2次,误差在1点以下的共有5次,误差在2点以下的共有12次,误差在5点以下的共有24次,误差在10点以下的共有35次,误差在10点以上的共有14次。

需要说明的是,在例1和例2中使用了两种预测模型。例1用的是特殊模型,适用于股指突然反转的情况。

至于例2的情况,由于无法预先判断大盘走势,因而自始至终应用了普通模型进行预测,所以遇到行情急升或急跌时,预测结果

就很差。

进一步研究的课题是建立更多的预测模型,以及确定何时应用何种模型的判别方法。

4 结论

本文讨论应用各阶累计和的方法将原有的数据进行变换,使得原来无法用分形方法处理的数据,变换成为可以用分形方法进行处理的数据。文中实例表明这种变换形成的分形在股市指数的分析与预测等问题中将具有良好的应用前景。当然也还存在许多值得进一步探讨的问题。

相关文档
最新文档