目前预测股票价格大多都基于单支股票的历史价格数据,并试图找出其股价变化规律,训练出可预测价格的模型。但实际股票价格的波动会受众多社会实时因素和投资者行为的影响,因此基于历史数据的股票价格预测模型往往失效。为此,本文研究2100支股票中具有相似历史价格变化的股票,并基于时间序列窗口滑动获得用于预测模型的训练的数据和预测数据,使用决策树CART(Classification and Regres-sion Trees)对预测结果数据做出判别。并与经典的时间序列分析模型ARMA(Auto regressive Moving Average Model)对股票价格走势预测的结果进行分析比较,实验结果验证了本文提出的方法预测结果的有效性。
现在常用的时间序列分析法主要是建立自回归模型(AR)、移动平均模型(MA)、自回归滑动平均模型(ARMA)和自回归移动平均模型(ARIMA), 其中ARIMA 模型是较成熟的模型, 常被用来对股价(最高价、最低价、开盘价、收盘价)及综合指数进行预测[1] [2]。文献[3] [4]给出了时间序列一些常用方法。文献[5] [6]采用SVM 对金融数据进行预测, 文献[7]使用神经网络预测, 这些预测方法都是基于单一股票信息的。
投资人基于社会形势(如利息率、公司盈利、贸易收支、相关政策、流行趋势等),利用一些理论或计算方法对股价进行评估,因此股票价格预测是一个多信息综合的结果。不同股票在同一段时间内受到的社会因素的影响是一致的,但这些社会因素很难被人总结出来,因此很难对股价变化做出适当的分析。实验证明存在这样一种现象:单独的看股票A,它的价格在任意浮动,股票B 也同样如此,但实验发现有7%的股票的价格变化能准确预测一周后另外7%的股票的价格变化,即存在一种可能,用前一周股票A 的股价走势能很好的预测下周股票B 的走势。
这种现象很难被人所总结出来, 且其规律不一定固定的公式。
但是可以利用机器学习的方法实时的学习这种规律,即可以从众多股票中学习到这种社会因素对股票价格的影响,以达到预测的目的。本文研究的方法试图找出这样的7%股票A,用其一段时间的历史数据变化情况来预测另外7%的股票B。
2. 股票数据研究 股票价格受社会因素和投资者行为影响。社会因素属于随机变量,随着时间段变化,而投资者行为具有稳定的偏好,在一定程度上是可预见的。因此一段时间内的股票价格走势具有相似性的特点,这种相似性对属于同一行业分类、概念分类的股票尤为明显。
这并不意味着不同行业的股票之间没有相关性, 事实上不同行业间的股票价格变化有时也具有相关性, 这种相关性的产生很难用常识或经济知识来解释。
2.1. 相似股票度量方法 股票价格走势是随时间序列变化的,两个序列是否相似,主要看它们的变化趋势是否一致。目前时 604