摘要:结合我国与美国的不同国情,利用舆情分析、金融时间序列分析,开发出一套针对上证(深证)和美市的股票分析系统,调用雅虎财经API,实现了实时数据获取,在获取有效的数据后,首先对股票进行“烛台”化处理,针对不同股市,美股更多的基于市场规律,美市则采用自回归积分滑动平均模型(ARIAM)进行预测,上证股票则受政策影响更大,对此从新浪网进行舆情收集,然后来利用自然语言处理(NLP)进行股民的情感分析。
关键词:财经API;ARIMA;网络爬虫;NLP;舆情分析;
作者:张旭等
利用数据挖掘,金融时间序列算法,通过对金融数据进行学习和掌握其活动规律使得股票变得简单化规律化甚至在一定程度上预测未来的变化趋势,从而有效应对这“三大冲突”,是本文研究的主要方向。金融时间序列即以日期时间为索引的数据。本文根据诸多学者在金融时间序列方面的贡献,利用舆情分析,金融时间序列分析,自然语言处理,做出一套针对上证(深证)和美市的双入口股票预测系统,使股民更为理智合理的选股。
1方案设计
本文提出的股票分析系统的总体设计思路框图如图1所示。
本系统针对两个入口,一是美股入口,美股即美国股票,是指在纽约证券交易所上市的股票,通过雅虎财经API可以实时获取某只股票的历史数据,在对数据进行预处理后,利用金融时间序列的基本特性,使用自回归积分滑动平均模型(ARIMA)对其进行预测;另一个则是上证入口,上证是指在上海证券交易所上市的股票,通过新浪财经可以获取所需某只股票在一定时间区间开盘价、收盘价、最高最低价、成交额、成交量等信息,即股票历史值;而另一方面,采取selenium测试工具,模拟微博登录,结合Firefox,分析DOM节点后,采用Xpath对节点信息进行获取,实现重要信息的抓取,将固定区间内微博网民对某只股票的评价进行爬取,存储在MySQ数据库中,再将其取出,利用自然语言处理(NLP)中snowNLP模块进行舆情的积极消极情感分析,并做出柱状图,给使用者直观的体验。有利于其从舆情中了解某只股的可能走向,结合舆情与历史数据,给股民予参考价值。
2方案实现
2.1美股分析
2.1.1数据获取与“烛台”可视化
由于是实时预测,则首先需要数据来源的实时性,雅虎财经为我们提供了时获取国内外股票的接口,利用Python的Pandas模块可以直接获取雅虎财经的数据,并选取所需时间段的每日股票开盘价(Open)、最高价(High)、最低价(Low)、收盘价(Close)、成交量(Volume),得到第一条曲线图,给股民最为直接简单的可视化变化,对数据进行清洗后,制作日本蜡烛图,该技术由日本德川幕府时代的本间宗久提出,用来计算米价的涨跌,这就是股票最初K线图的由来。1990年,美国人史蒂夫·尼森以《阴线阳线》之书向西方引进日本的K线图,引来轰动。如今,K线图已成为股市分析预测不可分割的一部分,所谓牛市熊市也源于此图,所以,既是要做这一块的研究,必然不可少了这一部分。K线最上方细线称为上影线,中间的粗体为实体,下方的细线为下影线。当收盘价高于开盘价,也就是股市呈上升趋势,中间实体呈红色,上影线的长度表示最高价与收盘价的差价,实体长短表示开盘价与收盘价的差价,下影线的长短则表示开盘价与最低价的差价,以交易时间为横向图,每日交易价格为纵向图,将每日K线连接即可绘成K线图。
2.1.2基于ARIMA的美股分析
ARIMA模型全称为自回归积分滑动平均模型(AutoregressiveIntegratedMovingAverageModel,简记ARIMA),其中ARIMA(p,d,q)称为差分自回归移动平均模型,AR是自回归,p为自回归项;MA为移动平均,q为移动平均项数,d为时间序列成为平稳时所做的差分次数。所谓ARIMA模型,是指将非平稳时间序列转化为平稳时间序列,然后将因变量仅对它的滞后值以及随机误差项的现值和滞后值进行回归所建立的模型。对数据绘图,观测是否为平稳时间序列;对于非平稳时间序列要先进行d阶差分运算,化为平稳时间序列。具体计算过程如下:
1)由于ARIMA模型要求的是平稳型,而股市的混沌性众所周知,所以第一步首先做差分,一阶差分后仍然是不稳定系统,所以再次做了二阶差分,即d=2;
2)检查平稳时间序列的自相关图(acf)和偏相关图(pacf),得到ARIMA模型的参数,p和q;
3)残差序列检验Ljung-Box检验,也叫Q检验,检查自相关性;
4)代入ARIMA模型训练,预测,结果可视化。
2.2上证/深证股票分析
数据来源也是雅虎财经API,上证则用“股票代号”+“.ss”作为输入数据,深证则是用“股票代号”+“.sz”来作为查询数据,同时也将用日本烛台图做可视化分析。
2.2.1微博模拟登录
由于相对国外,美股更多可能是资本控股,国内则存在国家调控,因此,政策的颁布和国家的把控会影响其自身规律的变化。新浪微博作为国内最大信息分享和生活交流的平台之一,基本可以体现国内网民的舆论走势,所以,我们将从新浪微博爬取单只股票的股民意向,对此进行消极积极情感分析。新浪微博的搜索栏只有在登录以后才能获取更多的信息,针对登录,主要采用获取cookies和模拟登录两种,本文主要采用通过selenium进行模拟登录,以登录的身份打开微博。其次,微博登录时常需验证码验证,而火狐浏览器可以巧妙跳过这一点,利用selnium模块的webdriver驱动火狐浏览器的运行,登录成功后,通过加入datetime对象重新构造URL来实现时间范围的选取,本文选取的是从搜索当日向前推前20天,接下来就是对网页上每个节点的内容的获取。
2.2.2网络爬虫
网络爬虫基本流程如下:
1)首先选取URL,网页中除了包含供用户阅读的文字信息外,还包含一些超链接信息。Web网络爬虫系统正是通过网页中的超连接信息不断获得网络上的其它网页;
2)将这些URL放入待抓取URL队列;
3)从待抓取URL队列中取出待抓取在URL,解析DNS,并且得到主机的IP,并将URL对应的网页下载下来,存储进已下载网页库中。此外,将这些URL放进已抓取URL队列;
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说经济学基于金融时间序列和舆情分析的股票分析系统在线全文阅读。
相关推荐: