Python获取股票数据
这里推荐一个包—tushare,tushare是一个免费、开源的python财经数据接口包。主要实现了从数据采集、清洗加工到数据存储过程,能够为金融分析人员提供快速、整洁的分析数据,极大的降低他们的工作量,可以获取到国内大部分的股票数据,兼容python2.x和python3.x,下面我简单介绍一下这个包的安装和使用,实验环境win10+python3.6+pycharm5.0,主要内容如下:
1.下载安装tushare,tushare依赖于pandas,lxml,bs4和requests这4个包,所以必须要先安装这4个包,之后安装tushare,程序才能正常运行,安装命令“pip install 包名”,如下:
2.安装成功后,我们就可以测试一下这个包的使用了,tushare可以获取和分析的数据很多,包括交易数据、投资参考数据、股票分类数据、基本面数据、宏观经济数据、新闻事件数据等,下面我从这几个方面做一些简单地示例,主要代码和截图如下:
交易数据:主要用到get_hist_data这个函数,这里获取了“600036”这支股从2014年到2017年的所有交易数据,并且将得到的数据保存到一个excel钟,之后可视化了所有开盘价和收盘价,主要代码如下:
程序运行截图,数据已经成功保存到excel中,如下:
可视化后,绘制的图形如下:
注意:这里保存的文件不仅仅是excel,还可以是csv(to_csv函数),json(to_json函数),sql(to_sql函数)等任意一种。
投资参考数据:这里我获取了最新的10条利润数据,将获取的分红金额(每10股)进行可视化(柱状图),代码如下:
程序运行截图如下,获取到的数据如下:
可视化柱状图如下:
宏观经济数据:这里获取了近几年的国内生产总值,并将结果进行可视化显示,主要代码如下:
程序运行截图如下,获取的数据:
可视化后如下:
就介绍这3个例子吧,更多示例可以看看tushare官网http://tushare.org/index.html,有详细的介绍和示例,包括函数参数说明和函数返回值等,我这里就不详细介绍了,至于可视化这一方面,可以结合matplotlib,seaborn,pyecharts等可视化包来进行显示,生成的图表能更好看一些,希望以上分享的内容能对你有所帮助吧。
这是个很实用的问题,因为我本身也是个量化投资爱好者,我曾经也找了很久怎么抓取股票数据的方法,当然最后找到了一两种可以使用的方案,目前还在稳定抓取,希望看到这篇问答的朋友能够帮助到你。
Python中有个国人开发的金融数据工具包,叫做Tushare。这是一个抓取金融数据的工具包,里面不仅有股票数据,还有经济数据以及期货数据。安装很简单,在cmd输入以下命令即可:
pip install tushare
等待python自动安装后,输出一系列信息后显示successfully installed tushare即可。
抓取历史行情
import tushare as ts
ts.get_hist_data('600848') #一次性获取全部日k线数据
复权数据
ts.get_h_data('002337') #前复权
ts.get_h_data('002337', autype='hfq') #后复权
ts.get_h_data('002337', autype=None) #不复权
ts.get_h_data('002337', start='2015-01-01', end='2015-03-16') #两个日期之间的前复权数据
ts.get_h_data('399106', index=True) #深圳综合指数
实时分笔
import tushare as ts
df = ts.get_realtime_quotes('000581') #Single stock symbol
大盘指数行情列表
import tushare as ts
df = ts.get_index()
大单交易数据
import tushare as ts
df = ts.get_sina_dd('600848', date='2015-12-24') #默认400手
df = ts.get_sina_dd('600848', date='2015-12-24', vol=500)#指定大于等于500手的数据
以上便是利用Python来找股票数据的方法,当然也可以用Python去对各个财经网站爬虫抓取数据。目前tushare还不错,数据还较全,直接用即可。而直接抓取网站数据可能稍不注意可能会导致抓取的数据会部分缺失。当然有更好的建议可以在评论区下方交流讨论,大家互相学习。
如果你对学习人工智能和科技新闻感兴趣,欢迎订阅我的头条号。我会在这里发布所有与科技、科学有关的有趣文章。偶尔也回答有趣的问题,有问题可随时在评论区回复和讨论,看到即回。
(码字不易,若文章对你帮助可点赞支持~)