APP下载

基于安卓系统的股票推荐系统设计与实现

2015-01-04孙华孟昭睿魏天武

韶关学院学报 2015年4期
关键词:历史数据安卓股票

孙华,孟昭睿,魏天武

基于安卓系统的股票推荐系统设计与实现

孙金华,孟昭睿,魏天武

(厦门理工学院计算机与信息工程学院,福建厦门361024)

设计并实现了基于安卓系统的股票推荐系统,阐述了该系统的总体结构、功能模块和实现的关键技术.系统结合SQLite数据库和雅虎股票数据接口,通过分析股价历史数据,完成股票评估与推荐等功能.实际测试结果表明,系统能运行于基于安卓系统的移动设备,为用户的股票交易带来便利.

股票;推荐系统;移动设备;安卓系统

股票投资因其准入门坎低、操作方便而成为中小投资者重要的投资渠道,但股票价格波动的随机性和风险又使许多投资者望而生畏.投资时如何选择股票,如何更好的规避风险,增加投资收益,是股票投资者最为关注的问题[1].

随着移动互联网与智能手机的快速发展,使得越来越多的用户习惯通过移动设备获取和处理信息. CNNIC调查显示,截至2014年6月,中国手机网民规模5.27亿,网民上网设备中,手机使用率达83.4%,首次超越传统PC整体80.9%的使用率,成为最大网络终端[2].设计能在安卓系统的平台上运行、能够有效的帮助股民进行股票投资筛选的股票荐购系统成为现实的应用需求.

1 系统核心功能

股民在进行股票投资时,最大的问题是股票的选取问题,即如何选择预期收益高的股票作为购入对象.基于这样的需求,本系统核心功能定位于股票历史数据的获取与分析;股票实时交易数据的采集;对用户选定的股票进行分析,根据指定的规则筛选出符合用户期望股票;其他辅助功能.

2 系统设计

2.1 系统总体架构

系统架构采用C/S模式,其中的服务器为互联网上的雅虎财经服务器,主要提供股票价格数据.客户端是本系统的主要构成部分,面向用户提供服务,总体结构见图1.

图1 系统总体结构

系统为3层结构,位于最上端的用户界面层直接与用户交互,负责接收用户查询需求、展示行情数据及推荐结果.中间层是系统的核心,主要完成选定股票数据的分析、推荐等逻辑操作,分别与SQLite数据库中股票历史数据、雅虎股票API进行数据交互.位于底层的部分,主要通过Internet连接雅虎财经服务器,获取实时股票价格数据和完成客户端数据更新等工作.

2.2 系统功能结构图

用户进入主界面后,可选择查看大盘指数、个股行情、自选股和推荐股票列表等.在大盘指数模块中可以查看历史指数,在个股行情中可以查看个股实时行情和个股历史行情.在自选股中可以查看自选股行情,在推荐股票列表可查看被推荐的股票及其详情.客户端功能结构见图2.

图2 系统功能结构

3 系统实现

系统运行在Android平台上,选用Java作为开发语言,SQLite作为数据库,结合雅虎stockAPI服务器接口实现.所实现的核心功能模块主要包括大盘数据展示、股票搜索、自选股管理和股票推荐等.

3.1 股票数据的获取

数据的采集是进行股票数据分析和推荐的基础,系统实现所依赖的数据包括历史数据和实时交易数据,这些数据都通过Yahoo财经网站获得[3].

3.1.1 历史数据获取

历史数据获取请求为:

http://table.finance.yahoo.com/table.csv?a=〈int>&b=〈int>&c=〈int>&d=〈int>&e=〈int>&f=〈int>&s=〈s tring>,其中的a-f为时间参数,s为股票代码.例如,获取代码为601899的上证股票紫金矿业从2013年7月20日到2014年7月19日的股价数据,可用地址:http://table.finance.yahoo.com/table.csv?a=7&b=20&c= 2013&d=7&e=19&f=2014&s=601899.ss.其中后辍.ss表上交所,若要获取深交所数据,应在股票代码后面附上.sz.

所获得的数据包括日期、开盘价、最高价、最低价、收盘价、收盘价、成交量、复权收盘价等7个字段,以CSV格式存放,可通过import命令导入到SQLite数据库中用于分析.

由于手机内存的限制,历史数据设置为滚动更新,稳定存放大约一年的数据,用以根据推荐规则生成推荐列表.

3.1.2 实时数据获取

通过Yahoo财经获取实时交易数据的请求地址:

http://finance.yahoo.com/d/quotes.csv?s=〈股票名称>&f=〈数据列选项>,其中的参数“股票名称”用的是股票代码加深市或上市后辍,“数据列选项”可选项很多,具体可参照帮助手册.例如:

http://download.finance.yahoo.com/d/quotes.csv?s=601899.SS&f=l1,可获取上交所代码为601899的股票最新交易价格.

3.2 大盘数据展示与股票搜索

大盘展示功能主要实现股票最新报价和涨幅等信息查看.技术实现上,采用的方法是从网站获取实时数据到本地数据库,读取到ListView控件中并显示,实现效果见图3.用户通过该模块可查看股票代码、名称、最新报价和涨幅等信息,并带有搜索功能,可以通过搜索获取指定股票数据.用户对指定股票数据行点击后,会进行跳转到股票详细信息的显示界面,可查看各类K线图,方便用户观察股票走势(见图4).

在对股票进行长点击后可以将股票添加到自选股中.

图3 大盘数据显示

图4 个股K线

3.3 自选股管理

对股民来讲,其所关注的通常不会是所有的股票,而是有限的数只股票,系统设计时顺应这种需求,设置自选股模块,用以存放和展示用户所关注的股票.其实现的方法是从数据库表中读取数据到ListView控件中并显示,工作界面见图5.

与大盘展示模块相似,在其中可进行查看指定股票的详情、股票搜索和自选股的删除等功能操作.

图5 自选股展示

3.4 股票推荐

股票推荐功能是系统的核心功能,也是最为复杂的模块.该功能的实现不可避免的涉及对股票历史交易数据的分析、价格走势的预测.在系统实现时,采用乖离率(BIAS)作为推荐衡量指标,该指标是反映股价在波动过程中与移动平均线偏离程度的技术指标.它的理论基础是:不论股价在移动平均线之上或之下,只要偏离距离过远,就会向移动平均线趋近,据此计算股价偏离移动平均线百分比的大小来判断买卖时机[4].其计算公式为:

式(1)中,为指定股票当日收盘价,为n日移动平均价,n的值可根据需要设定为6、12或24等.若将n值设定为12,则当某支股票BIAS值达-7%以下时为超卖现象,可推荐该股.

对股票价格走势的预测是一件很困难的事,目前学术界对这一问题形成了多种不同的处理方法和模型,包括BP神经网络、时间序列分析[5-6]、基于关联规则[3,7]和支持向量机[8-9]等.这些方法各有所长,并且还在不断发展,针对这种情况,考虑到实际应用的需要,系统的推荐模块设计成开放式接口,可以根据需求添加多种不同的预测算法进去,对指定的股票,可应用多种算法进行分析,对结果采用投票机制决定是否推荐,具体流程见图6.

图6 股票推荐算法流程

图7 显示推荐股票

系统在开盘前,会应用多种不同算法分析历史数据,得到自选股列表中各股的一个预期指标,作为是否推荐的一个评判标准.开盘后,系统每隔一段时间扫描自选股列表中各股实时股价数据,与预期指标比对,决定是否推荐,最后刷新推荐列表并显示,结果见图7.用户可以查看推荐列表个股详情和K线图等,决定是否购买该股.

4 结束语

考虑到股民炒股的实际情况和现实需求,基于Android的股票推荐系统实现了大盘数据查看、个股详情的查询、自选股的设定,并能根据指定的规则对股票交易的历史数据进行分析,得到相应的指标,据此选择可能收益最大的股票向用户推荐.在当前Android移动设备被广泛使用的背景下,给股民的交易操作带来方便,系统具有较好的应用前景.

参考文献:

[1]王唯贤,陈利军.股票价格预测的建模与仿真研究[J].计算机仿真,2012,29(1):344-347.

[2]中国互联网信息中心.第34次中国互联网络发展状况统计报告[EB/OL].(2014-07-21)[2015-01-09].http://www.cnnic. net.cn/hlwfzyj/hlwxzbg/hlwtjbg/201407/t20140721_47437.htm.

[3]刘井莲,赵卫绩,文海霞.基于关联规则的股票分析软件的设计与实现[J].通化师范学院学报,2012,33(8):30-32.

[4]邢长青.统计方法在股市分析中的应用[J].中国经贸,2011(24):111-112.

[5]唐广宇.股票价格预测的时间序列组合模型方法[D].湘潭:湘潭大学,2013.

[6]蔺玉佩,杨一文.基于模糊时间序列模型的股票市场预测[J].统计与决策,2010(8):34-37.

[7]王玉梅.关联规则算法在股票分析预测中的应用研究[D].保定:华北电力大学,2008.

[8]吕琦.基于SVM的股票时间序列的预测研究[J].吉林工程技术师范学院学报,2011,27(7):48-49.

[9]程昌品,陈强,姜永生.基于ARIMA—SVM组合模型的股票价格预测[J].计算机仿真,2012,29(6):343-346.

Design and Implementation of Stock Recommendation System Based on Android

SUN Jin-hua,MENG Zhao-rui,WEI Tian-wu
(School of Computer and Information Engineer,Xiamen University of Technology, Xiamen 361024,Fujian,China)

In this paper,design and development of the stock recommendation system based on Android is introduced in details including structure of system,system function and key technologies.By analyzing historical stock data,applying the yahoo finance stock API and SQLite database,the system can carry out stock recommendation actively and evaluating.Tests and applications results show that the system can run on mobile devices based on the android system,and help users to gain in the stock deal.

stock;recommendation system;mobile devices;android system

TP311

:A

:1007-5348(2015)04-0008-05

(责任编辑:欧恺)

2014-11-16

福建省教育厅科技计划项目(JB12184).

孙金华(1976-),男,福建三明人,厦门理工学院计算机与信息工程学院讲师,硕士;研究方向:计算机软件与理论、数据库与数据挖掘等.

猜你喜欢

历史数据安卓股票
iPhone不卡的秘密曝光:安卓也能享受
基于设备PF性能曲线和设备历史数据实现CBM的一个应用模型探讨
基于故障历史数据和BP神经网络的接地选线方案研究
文物表情包
基于Hadoop技术实现银行历史数据线上化研究
用好细节材料 提高课堂实效
本周创出今年以来新高的股票
本周创出今年以来新高的股票
一种基于安卓系统的手机侧抓包分析方法
本周连续上涨3天以上的股票