9.3 上证指数开盘指数变化趋势和变化空间预测

9.3 上证指数开盘指数变化趋势和变化空间预测

前文对上证指数进行了回归预测,但是大多数时候无法对上证指数进行精确预测,这时候如果能对上证指数开盘指数变化趋势和变化空间进行预测就显得很重要。在这小节中我们将利用SVM对进行模糊信息粒化后的上证每日开盘指数进行变化趋势和变化空间的预测,通过实际检验会看到这种方法是可行的且结果可靠。

9.3.1 信息粒化简介

1. 信息粒化基本知识

由于本节会用到信息粒化的相关知识,这里简要介绍一下。信息粒化(Information Granulation, IG)是粒化计算和词语计算的主要方面,研究信息粒化的形成、表示、粗细、语义解释等。从本质上讲,信息颗粒是通过不可区分性、功能相近性、相似性、函数性等来划分对象的集合。粒化计算(Granular Compution,GrC)是信息处理的一种新概念和计算范式,覆盖了所有有关粒化的理论、方法、技术和工具的研究。它是词计算理论、粗糙集理论、商空间理论、区间计算等的超集,也是软计算科学的一个分支,是粗糙及海量信息处理的重要工具和人工智能研究领域的热点之一。

信息粒化这一概念最早是由Lotfi A. Zadeh(L.A.Zadeh)教授提出的。信息粒化就是将一个整体分解为一个个的部分进行研究,每个部分为一个信息粒。Zadeh教授指出"信息粒就是一些元素的集合,这些元素由于相似而结合在一起"。

信息粒作为信息的表现形式在我们的周围无所不在,它是人类认识世界的一个基本概念。人类在认识世界时往往将一部分相似的事物放在一起作为一个整体研究它们所具有的性质或特点,实际上这种处理事物的方式就是信息粒化,所研究的"整体"就称为信息粒。例如时间信息粒有年、月、日、时等,从时间信息粒中可以看出信息粒在本质上是分层次的,一种信息粒可以细化为更"低"一层次的信息粒。

信息粒化中,粒为非模糊的粒化方式(c-粒化)在众多方法技术中起着重要的作用,但是在几乎所有人的推理及概念形成中,粒都是模糊的作粒化),非模糊的粒化没有反映这一事实。模糊信息粒化正是受人类粒化信息方式启发并据此进行推理的。信息粒化的三种主要模型是基于模糊集理论的模型,基于粗糙集理论的模型和基于商空间理论的模型,三种模型间存在着密切的联系与区别。模糊集理论与粗糙集理论有很强的互补性,这两个理论在优化、整合、处理知识的不确定性和不完全性时显示出强大的功能。商空间理论与粗糙集理论都是利用等价类来描述粒化,再用粒化来描述概念,但是它们讨论的出发点有所不同。粗糙集理论的论域只是对象的点集,元素之间拓扑关系不在考虑之内:商空间理论是着重研究空间关系的理论,商空间理论是在论域元素之间存在有拓扑关系的前提下进行研究的,即论域是一个拓扑空间。本节采用的是基于模糊集理论的模型。

20世纪60年代,美国著名数学家L.A. Zadeh 提出模糊集合论,在此基础上于1979年首次提出并讨论了模糊信息粒化问题,并给出了一种数据粒的命题刻画:

L.A. Zadeh认为人类在进行思考、判断、推理时主要是用语言进行的,而语言是一个很粗的粒化,如何利用语言进行推理判断,这就要进行词计算。狭义的模糊词计算理论是指利用通常意义下的数学概念和运算,诸如加、减、乘、除等构造的带有不确定或模糊值的词计算的数学体系。它借助模糊逻辑概念和经典的群、环、域代数结构,构造出以词为定义域的类似结构。

2. 模糊信息粒化方法模型

非模糊的信息粒化有许多方法,比如区间信息粒化、相空间信息粒化、基于信息密度的信息粒化等。在许多的领域非模糊的信息粒化方法起着重要的作用,但许多情况下非模糊的信息粒不能明确地反映所描述事物的特性,因此建立模糊信息粒是必要的。

模糊信息粒就是以模糊集形式表示的信息粒。用模糊集方法对时间序列进行模糊粒化,主要分为两个步骤:划分窗口和模糊化。划分窗口就是将时间序列分割成若干小子序列,作为操作窗口;模糊化则是将产生的每一个窗口进行模糊化,生成一个个模糊集也就是模糊信息粒。这两种广义模式结合在一起就是模糊信息粒化,称为f-粒化。在f-粒化中,最为关键的是模糊化的过程,也就是在所给的窗口上建立一个合理的模糊集,使其能够取代原来窗口中的数据,表示人们所关心的相关信息。本节重点采用的是Witod Pedrycz(W.Pedrycz)的粒化方法。

对于给定的时间序列,考虑单窗口问题,即把整个时序X看成是一个窗口进行模糊化。模糊化的任务是在X上建立一个模糊粒子p,即一个能够合理描述X的模糊概念G(以X为论域的模糊集合),确定了 也就确定了模糊粒子p:

所以模糊化过程本质上就是确定一个函数A 的过程, A 是模糊概念G 的隶属函数,即A=μG。通常粒化时首先确定模糊概念的基本形式,然后确定具体的隶属函数A。

后面的论述中,在不作特别声明的情况下,模糊粒子P可以代替模糊概念G,即P可简单描述为:

P=(X)

常用的模糊粒子有以下几种基本形式:三角型、梯型、高斯型、抛物型等。其中三角型模糊粒子为本节采用的,其隶属函数如下式所示,图像如图9-10所示。

3. 本节采用的模糊粒化模型(W.Pedrycz模糊粒化方法)

建立模糊粒子的基本思想:

(1) 模糊粒子能够合理地代表原始数据。

(2) 模糊粒子要有一定的特殊性。

无论使用哪种形式的模糊集来建立模糊粒子,都要满足上面建立模糊粒子的基本思想。为满足上述的两个要求,找到两者的最佳平衡,可考虑建立如下的关于A 的一个函数:

则为满足建立模糊粒子的基本思想,只需QA越大越好。以上模型算法由FIG_D.m实现,在下面会有介绍。

9.3.2 模型建立

模型目的:利用从1990年12月19日开始到2009年8月19日这期间内上证指数每日的开盘数,预测下五个交易日内上证指数的变化趋势和变化空间,即预测20日、21日、24日、25日、26日这五个交易日内上证指数的变化趋势(整体变大或变小)和变化的范围空间。

模型假设:假设上证指数每日的开盘数与时间相关,即把时间点作为影响上证指数变化的自变量。

算法流程如图9-11所示。

9.3.3 MATLAB实现

其中SVM的实现使用的是LlBSVM工具箱。

1. 原始数时提取

将第1~ 4579个交易日内每日的上证指数开盘数从原始数据提取出来。

MATLAB实现代码如下:

2. FIG(Fuzzy Information Granulation,模糊信息粒化)

采用上文介绍的模糊粒化模型对原始数据进行模糊信息粒化,由FIG_D.m实现,其函数接口如下:

[low, R, up]=FIG_D(XX, MFkind, win_num)

输入参数如下。

● XX:待粒化的时间序列。

● MFkind:隶属函数种类,即所采用的模糊粒子类型,本节采用的是三角形的模糊粒子,MFkind= 'triangle'。

● WlD_nurn:粒化的窗口数目,即将原始数据划分为多少个窗口,每个窗口将生成一个模糊粒子,这里将5个交易日作为一个窗口的大小,则窗口数目为原始数据的长度除以5后取整。

输出参数low、R、up分别为模糊粒子的三个参数。对于三角形模糊数而言,low、R、up即为a、m、b三个参数,其中10w参数描述的是相应的原始数据变化的最小值,R参数描述的是相应的原始数据变化的大体平均水平,up参数描述的是相应的原始数据变化的最大值。

MATLAB实现代码如下:

成一个模糊粒子,这里将五个交易日作为一个窗口的大小,则窗口数目为原始数据的长度除以5后取整输出参数low、R、up分别为模糊粒子的三个参数。对于三角型模糊数而言,low、R、up即为a、m 、b三个参数,其中low参数描述的是相应的原始数据变化的最小值,R参数描述的是相应的原始数据变化的大体平均水平,up参数描述的是相应的原始数据变化的最大值。

MATLAB 实现代码如下:

最终粒化的结果可视化如图9-12所示。

3. 利用SVM对粒化数据进行回归预测

利用SVM对low、R、up三个模糊粒子的参数进行回归预测的过程类似,这里仅以10w为例来详细说明。

对low进行回归预测的过程与9.2.2节中的过程类似,需要先进行数据预处理(归一化,这里将其归一化到[100,500]),然后利用SVMcgForRegress.m函数来寻找最佳的参数c和g,最后再进行训练和预测。这里仅给出数据预处理和寻参的结果,如图9-13所示。

打印粗略选择结果:


参数粗略选择结果如图9-14所示。

打印精细选择结果:

参数精细选择结果如图9-15所示。

利用上面得到的最佳参数来进行训练和预测。

MATLAB 实现代码如下:

预测出下5个交易日内模糊粒子的low参数:

predict low = 2796.8

4. 给出上证指数的变化趋势和变化空间及预测效果验证

对于R和up也进行回归预测,最终得到5个交易日内模糊粒子的r、up参数分别为:

predict_r = 2950.0, predict_up = 3267.3

下面验证一下预测的效果,检验20日、21日、24日、25日和26日这五日内上证指数的开盘数是否在上述预测的范围内,并与上五个交易日进行比较来整体看上证指数的变化趋势,如表9-1所示。

通过表9-1可以看到预测的20日、21日、24日、25日和26日这五日上证指数每日开盘数的变化范围是准确的,并且较前五个交易日而言,这五日的上证指数开盘数整体有下降的趋势。