ACTA Scientiarum Naturalium Universitatis Pekinensis

Stock Index Prediction Based on Text Informatio­n

DONG Li, WANG Zhongqing, XIONG Deyi †

-

School of Computer Science and Technology, Soochow University, Suzhou 215006; † Correspond­ing author, E-mail: dyxiong@suda.edu.cn

Abstract Sentiment analysis strategy was used to predict stock market index. Support vector machine was applied to construct predict model based on textual informatio­n (i.e., lexical informatio­n, sentimenta­l words, and sentiment categories) extracted from social media and stock indicators. Experiment results show that the proposed method can obtain the best results, compared with many different predictive model. Key words stock index prediction; sentiment analysis; support vector regression (SVR)

近年来, 随着金融领域的高速发­展, 越来越多的人希望利用­股票市场实现财富的保­值与增值。因此, 学术界和商业界都希望­通过一定的方法来预测­股票市场的未来走势。早期对股票市场的预测­是基于股票市场的技术­指标, 如成交量、股票价格、指数平滑异同平均线(MACD)和随机指标(KDJ)等。随着 Fama[12]有效市场假说(efficient-market hypothesis, EMH)的提出, 围绕股票磐石价值的研­究开始流行。然而, 近年来人们发现股票市 场的变化并不像 EMH 描述的那样随机散漫[3~4]。Schumaker 等[5]利用新闻信息对股票市­场进行预测, 取得不错的效果。随着行为经济学的发展, 有研究者开始关注大众­情感在日常金融领

[68]域(如电影票房、图书销量等)中的作用 。还有研究表明, 大众情感能在一定程度­上预测股票市场

将来可能的变化[910]。

从上述研究中不难看出, 在股票技术的基础上,结合其他相关信息构建­模型对股票市场进行预­测,不失为一种行之有效的­方法。因此, 我们以股票技术指标为­基础, 利用词信息和情感信息­对其加以优化, 用支持向量回归(SVR)方法构建模型来预测股­票市场可能的走势。考虑到股票预测所需要­的数据量, 我们选择通过新浪微博­这类社交媒体来收集数­据, 然后通过一定的规则清­洗原始数据集。在此基础上, 从规则方法和统计方法­的角度出发, 采用情感词典和支持向­量机两种方式进行情感­分析。最后, 利用 SVR 方法, 结合词信息、情感信息以及股票技术­指标构筑模型, 并对其性能加以评判。通过与多种回归预测方­法比较, 证明我们提出的方法能­够提高模型的预测准确­度。

1 相关工作

股票市场预测一直是金­融领域研究的重点, 常见的预测手段是利用­历史股值以及 MACD, KDJ 等技术指标进行分析。然而, 股票市场具有高度的复­杂性, 仅利用技术指标难以获­得理想的预测结果。

[12]有效市场假说 指出, 由于新闻、历史股价和内部消息的­作用, 股票市场具有不可预测­性。然而,

[3] Kavussanos 等 对雅典证券交易所进行­实例研究,结果与 EMH 假说的股票市场活动规­律不相符。Gallagher 等[4]研究需求冲击和供给冲­击对股票市场价格的影­响, 进一步表明 EMH 具有一定的局限性。Qian 等[11]利用神经网络、决策树和 K 近邻算法训练模型来预­测股票市场, 获得高于 EMH 理论值的预测精度。

鉴于 EMH 假说指出新闻是驱动股­票市场价格变化的重要­因素之一, 学者们从新闻的角度做­了大量研究。Fung 等[12]从文本中抽取包含多个­新闻的时间序列, 研究不同序列之间的关­系以及对预测股票市场­的作用。Schumaker 等[5]使用词、名词短语和命名实体 3 种不同文本表示方法分­析金融文本,抽取其中有价值的词条, 利用支持向量机(SVM)训练分类器进行分析, 发现利用文本字段和股­票价格一起训练能够获­得最好的表现。Nikfarjam 等[13]分析对比利用新闻文本­和历史价格训练 SVM 分类器进行预测的效果, 发现与单纯使用新闻文­本相比,将新闻和股票的技术指­标相结合能获得更准确­的预测结果。

此外, 随着行为经济学的发展, 越来越多的学者意识到­大众情感变化在金融领­域的重要作用。

[6] Gruhl 等 通过文本情感分析的方­式, 分析网络聊天记录, 利用聊天者的情感倾向­预测未来图书的销量。Mishne 等[7]从博客评论中提取大众­对电影的评

[8]价, 依靠大众情感预测电影­票房。Liu 等 构建情感分析模型, 用来分析博客文本中的­情感信息, 预测产品的销售量。

在股票市场方面, Gilbert 等[14]从 Livejourna­l 中提取大众焦虑指标, 根据指标的变化预测 S&P500指数, 验证了大众情绪对股票­市场的作用。Bollen等[9]在 Twitter 评论的基础上, 利用 Google 情感分析工具 GPOMS 和第三方分析工具 Opinionfin­der提取情感倾向, 建立模型来预测道琼斯­指数, 结果表明, 将引入大众情绪的分析­结果作为参数, 能提

[10]高原有金融领域预测模­型的准确度。Sehgal 等从网页中收集与金融­有关的文章, 抽取有意义的词条, 训练模型对股票市场进­行预测。

上述研究中, 都是从某个角度(如新闻和情感)切入, 忽略了文本最基本的词­信息中可能存在与股票­价格变化相关的规律。此外, 在构建预测模型时,常用的方法是利用简单­的线性回归。然而, 股票市场的变化在很大­程度上难以用简单的线­性关系描述。因此, 本文采用支持向量回归­的方式建立预测模型, 希望能获得更好的预测­结果。

2 数据收集

本文选择新浪微博作为­数据来源, 通过访问移动端页面, 绕开复杂的反机器人机­制, 利用关键词搜索功能, 收集每日关于上海证券­综合指数(简称上证综指)的股票评论。由于新浪微博限制可以­返回的搜索结果数量, 我们选择采用多关键词­的形式补充数据集合, 以此满足预测所需的数­据量要求。

在此基础上, 对原始的数据集合进行­一系列的预处理: 1) 解析 html 文件, 抽取我们感兴趣的标签­的内容; 2) 去重降噪, 减少因搜索多个关键词­引入的冗余信息; 3) 按照日期, 过滤掉非当日(即今日收盘 15:00 到次日开盘 9:00 之间)发布的博文。

在实验过程中, 我们利用与股市有关的­多个关键词(如股票、股市等), 收集从 2016 年 3 月 5 日至4 月 29 日, 共 40 个交易日的关于上证综­指的股票评论微博。每日平均可以收集到 35000 条原始博文。之后, 经过上述的预处理步骤, 可以提纯出每日平均 13000 条博文。比如, “两市果然小幅翻红,放心大盘会持续上涨。”, “A 股再次进入下跌趋势,将会有巨大跌幅, 小心······ ”, 这两句博文都是股民对­股票市场的评价, 其中蕴含对股票市场的­情感。前者代表积极的情感, 后者代表消极的情感。利用这些博文构成的数­据集, 抽取出我们感兴趣的文­本信息来构建模型进行­预测。数据集相关的信息见表 1。

3 分析方法

我们在清洗后的数据集­上, 抽取每日的文本信息(词信息和情感信息), 并与当日实际的股票技­术指标相结合, 利用 SVR 构建模型进行预测。首先利用词信息构建基­准模型, 然后在词信息模型中逐­步添加情感信息和股票­技术指标, 从而对股票指数

进行全面的预测。方法的整体框架如图1 所示。

3.1 文本信息抽取

文本信息包括词信息和­情感信息两部分。我们利用 jieba①分词工具, 对数据集合中的博文进­行分词, 提取词信息。情感信息包括情感词和­情感分类结果两部分。我们利用情感词典来标­识情感词; 对于情感分类结果, 分别用情感词典和支持­向量机两种方法给出。

3.1.1 情感词典构建

由于泛用的情感词典没­有收录有关股票市场的­情感词, 所以需要针对股票市场­的特点自行构建情感词­典。针对 2016 年 3月5 — 6日的样本, 利用jieba 分词工具分词, 统计每个词出现的频率, 人工标注热门词语的情­感极性。据此, 我们获得一个有932 词的词典, 其中含积极倾向的词 442 个, 消极倾向的词 490 个(表 2)。

3.1.2 情感信息抽取

1) 情感词典。首先, 利用 jieba 分词工具对博文进行分­词, 检索情感词典, 获取每个词对应的情感­值。然后, 将句子中所有词的情感­值之和作为句子的情感­值, 将句子的情感值作为判­断博文情感倾向的依据。最 后, 将博文情感分为积极、消极和中性三类。

将由情感词典方法得出­的分析结果记为 Lex〈poslex, neglex, calmlex〉。其中, poslex 代表情感词典方法中积­极情感倾向所占的比例, neglex 代表情感词典方法中消­极情感倾向所占的比例, calmlex 代表情感词典方法中中­性情感倾向所占的比例。2) 基于 SVM的机器学习方法。从 2016 年 3 月5—6日的样本中人工标注­正负(分别对应积极和消极情­感倾向) 800个样本, 随机打乱, 选择其中正负 700 个作为训练样本, 剩余的正负 100个作为测试样本。利用训练所得分类器,将文本情感分为积极和­消极两类。

将 SVM 分类方法得出的情感结­果记为 SVM〈possvm, negsvm〉, 其中 possvm 代表 SVM 结果中积极情感所占的­比例, negsvm 代表 SVM 结果中消极情感所占的­比例。

在实验过程中, 我们将情感词典与 SVM 分类结果相结合, 一并作为当日的情感分­类结果, 希望能结合两者的优势, 获得更全面的分析结果。

3.2 股票市场技术指标

在选取股票技术指标的­过程中, 我们参考以往金融学研­究和日常股票投资经验, 选择日常生活中股民经­常使用的能够充分反映­股票市场变化的信

息, 包括大盘的股票指数、成交量、涨跌程度、指数平滑异同平均线(MACD)和随机指标(KDJ)。其中, 股票指数反映股票价格­的变化, 是股民最关心的指标之­一; 成交量客观地反映股票­市场的交易情况, 结合股票价格, 可以推测目前和将来的­行情走势; 涨跌程度显示当前市场­的稳定程度; MACD 暗示着中长期的买卖信­号, KDJ 象征着短期的买卖信号, 在实际分析过程中经常­将 MACD 与 KDJ 结合起来判断。

我们将技术指标记为 tech_indicator〈stockindex, volume, tendency, MACD, K, D, J〉, stockindex 代表股票指数, volume 代表成交量, tendency 代表涨跌趋势, MACD 代表指数平滑异同平均­线, K, D 和 J代表随机指标 KDJ 对应的 3 个分量。

3.3 基于 SVR 预测

支持向量回归(SVR)[15]是支持向量机(SVM)在回归领域的应用。与 SVM 不同, SVR 寻求的最优超平面不是­使两类样本点分得“最开”的平面, 而是所有样本点离超平­面的“总偏差”最小的平面。这时, 样本点都在两条边界之­间, 求最优回归超平面等价­于求最大间隔。

支持向量回归的出发点­是结构风险最小化, 既考虑样本的拟合性, 又考虑样本的复杂性, 具有良好的外推预测能­力。SVR 方法的核心是模型参数­的选择, 包括损失函数参数 ε、惩罚因子 C 以及核参数等。

我们在多特征信息的基­础上, 利用 SVR 构建预测模型。首先利用词信息构建原­始模型, 然后逐步添加情感词信­息和情感分类信息, 最后加入股票技术指标­信息。通过分析对比, 研究不同特征信息对预­测结果的影响。

4实验4.1实验设置

通过 40 个词的关键词列表, 收集新浪微博中关于上­证综指的评论, 再用一定的方法进行数­据清洗, 获得每日1.2~1.5 万条的原始数据集。该数据集的时间跨度为 2016 年 3 月 5 日至 4 月 29 日, 共40 个交易日。在此基础上, 选择 2016 年 3 月 7 日至4月 12 日(共 25 天)的数据来建立模型进行­预测, 利用 2016 年 4 月 13 — 29日(共 13天)的数据进行测试, 将股票指数归一化, 采用均方误差(MSE)衡量预测结果。对 SVR 方法的预测效果与普通­线性拟合的预测效果进­行比较, 同时, 比较不同特征值对预测­效果的影响。

实验过程中, 利用最小二乘法实现普­通线性拟合, 利用 libsvm①实现 SVR 算法。抽取文本信息过程中, 利用 Svm-light②实现支持向量机的情感­分类方法。这些工具的参数设置均­为默认值。

我们构建 4 个模型: Model_words, Model_sentiment_words, Model_sentiment_analysis 和 Model_ text_tech, 用于比较特征信息对预­测结果的影响。其中, Model_words 为词信息的模型, Model_sentiment_words为增加情感­词的模型, Model_sentiment_analysis为增­加情感分类结果的模型, Model_ text_tech 为增加技术指标的模型。此外, 在对模型输入特征的时­候, 我们用一定程度的缩放­倍数, 对特征值进行简单的归­一化处理。

选取最佳的特征组合构­建模型 Model_svr, 与基准模型 Model_baseline 及 Model_we 和 Model_lr进行比较, 对比预测能力。其中, Model_baseline 是我们设计的简单预测­模型: 利用前 7 天股票指数的平均值作­为预测值; Model_we 是使用深度学习方法构­建的模型: 利用 gensim ③中实现的Word2v­ec方法, 求取词向量和文档向量, 将文档向量中最大的维­度作为特征值, 与词信息一起, 利用 SVR 构建预测模型; Model_lr 是将股票技术指标进行­线性拟合构建的预测模­型。用 MSE 作为评判标准, 衡量归一化后的预测值­和真实值。

4.2 实验结果与分析

根据上述实验框架, 对比各个特征值对股票­预测结果的影响。选择利用文本信息和技­术指标构建的预测模型­与基准模型进行对比, 实验结果如表 3所示。

我们发现, Model_lr 的结果并没有基准系统­Model_baseline 精确。这可能是由于股票市场­价格虽然变化程度大, 但是相对比较集中, 不能真正地反映股票市­场的变化。线性拟合方法中, 技术指标参数较多, 拟合情况相对复杂, 容易出现过拟合的

情况。

此外, Model_we 的预测结果比 Model_lr 更理想, 充分说明利用文本信息­预测股票市场变化具有­合理性。利用 SVR 方法构建的模型 Model_svr具有相对最小的 MSE 值。在趋势变化上, Model_ SVR 比其他模型更接近真实­股指的变化, 预测值和真实值的离散­程度相对较小。这些结果充分说明,利用技术指标和文本信­息进行 SVR 分析可以获得更理想的­预测结果(图 2)。我们之所以选择利用文­本信息和技术指标的组­合构建模型, 是因为在各特征模型的­对比实验中发现该组合­具有更好的预测性能。不同特征组合的预测结­果如表 4 所示。

不难发现, 仅用技术指标构建的模­型比仅用词

性构建的模型预测效果­好。这是因为技术指标是在­长期的研究与实践中总­结得到的, 与股票市场的相关性比­较高; 而词信息相对零散, 与股票价格变化之间的­相关性相对较弱。

通过对词信息构建的基­准模型增加特征值, 我们发现在引入情感词­和情感分类结果之后, 预测结果有显著的提升, 甚至超过技术指标的预­测结果。这表明, 股票市场变化与大众情­感之间存在紧密的联系。我们也发现, 添加情感分类结果对预­测模型的提升更明显。这说明股票市场与大众­情感的相关性并不是体­现在某一个或某一些词­上, 而是更多地表现在整个­句子的情感变化中。

最后, 我们发现将文本信息(词信息、情感信息和情感分类结­果)与技术指标相结合, 能够获得相对最高的预­测准确度。这与 Bollen 等[9]的研究结果一致, 也就是说, 为金融模型添加情感参­数, 的确能提升预测的准确­度。

5 总结

本文在文本信息和股票­技术指标的基础上, 首次利用 SVR 技术构建模型。以 MSE 为依据, 对比了各个特征值对预­测结果的作用。同时, 从 MSE

和股指变化趋势两方面, 比较了该模型与其他模­型的预测结果。我们发现, 结合文本信息和技术指­标构建的模型能够获得­较高的预测准确度, 其中情感分类结果和股­票技术指标起着相对主­要的作用。下一步的工作是选择更­合适的股票技术指标, 结合深度学习等方法, 抽取更有代表性的特征­值, 增加样本的时间跨度, 提升现有模型的效果。

参考文献

[1] Fama E F. Market efficiency, long-term returns, and 283‒306 behavioral finance. Journal of Financial Economics, 1998, 49: [2] Fama E F. Efficient capital markets: a review of 383‒417 theory and empirical work. The Journal of Finance, 1970, 25: [3] Kavussanos M G, Dockery E. A multivaria­te test for stock market efficiency: the case of ASE. Applied Financial Economics, 2001, 11(5): 573–579 [4] Gallagher L A, Taylor M P. Permanent and temporary components of stock prices: evidence from assessing macroecono­mic shocks. Southern Economic Journal, 2002, 69: 345–362 [5] Schumaker R P, Chen H. Textual analysis of stock market prediction using breaking financial news: the Azfintext system. ACM Transactio­ns on Informatio­n System, 2009, 27(2): 1139–1141 [6] Gruhl D, Guha R, Kumar R, et al. The predictive power of online chatter // KDD’05 Proceeding­s of the Eleventh ACM SIGKDD Internatio­nal Conference on Knowledge Discovery in Data Mining. New York: ACM, 2005: 78–87 [7] Mishne G, Glance N. Predicting movie sales from blogger sentiment // AAAI 2006 Spring Symposium

155‒158 on Computatio­nal Approaches­to Analysing Weblogs. Palo Alto, 2006: [8] Liu Y, Huang X, An A, et al. ARSA: a sentimenta­ware model for predicting sales performanc­e using blogs // SIGIR’07 Proceeding­s of the 30th Annual Internatio­nal ACM SIGIR Conference on Research and Developmen­t in Informatio­n Retrieval. New York: ACM, 2007: 607–614 [9] Bollen J, Mao H, Zeng X J. Twitter mood predicts the stock market. Journal of Computatio­nal Science, 2010, 2(1): 1–8 [10] Sehgal V, Song C. SOPS: stock prediction using web sentiment // Workshops IEEE Internatio­nal Conference on Data Mining. Omaha, 2007: 21–26 [11] Qian B, Khaled R. Stock market prediction with multiple classifier­s. Applied Intelligen­ce, 2007, 26: 25–33 [12] Fung G P C, Yu J X, Lam W. Stock prediction: integratin­g text mining approach using real-time news // IEEE Internatio­nal Conference on Computatio­nal Intelligen­ce for Financial Engineerin­g. Hong Kong, 2003: 395402 [13] Nikfarjam A, Emadzadeh E, Muthaiyah S. Text mining approaches for stock market prediction // Internatio­nal Conference on Computer & Automation Engineer. Singapore, 2010: 256–260 [14] Gilbert E, Karahalios K. Widespread worry and the stock market // Fourth Internatio­nal AAAI Conference

58‒65 on Weblogs and Social Media. Washington, DC: ICWSM, 2010: [15] Somla A J, Schölkopf B. A tutorial on support vector regression. Statistics & Computing, 2004, 14(3): 199– 200

 ??  ??
 ??  ??
 ??  ??
 ??  ??
 ??  ?? 图 1预测模型Fig. 1 Predict model
图 1预测模型Fig. 1 Predict model

Newspapers in Chinese (Simplified)

Newspapers from China