用tushare包开发的股票分析脚本
TuShare是一个免费、开源的python财经数据接口包。最近在一家投资管理公司实习,按老板要求开发一个内部的交易系统。作为前期的一些工作,采集历史股票数据成了首要的工作。
初始版本
由于本人并没有接触过金融,本科专业也是软件工程,所以当接到任务采集股票数据时候,是一脸蒙逼的。尤其当我打开了一个股票网站的时候:![某个股票网站首页](https://img-blog.csdn.net/20170724094250665?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvc3RwZW5naHVp/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)密密麻麻的信息,看的无比头大。静下心想一下,决定还是一步一步来。那么第一步就是要获取股票列表,通过股票列表就可以查询到股票的历史数据或者实时数据,然后再爬下来这些数据。ok,第一步便去找股票列表。很幸运,在[东方财富网](http://quote.eastmoney.com/stocklist.html)上,可以看到有所有的股票代码,那么写一个正则表达式,爬下来相应的股票代码就可以了。代码如下
def urlTolist(url):
allCodeList = []
html = urllib.request.urlopen(url).read()
html = html.decode('gbk')
s = r'<li><a target="_blank" href="http://quote.eastmoney.com/\S\S(.*?).html">'
pat = re.compile(s)
code = pat.findall(html)
for item in code:
if item[0] == '6' or item[0] == '3' or item[0] == '0':
allCodeList.append(item)
return allCodeList
现在有了股票代码,接下来的事情就好办了,在相应的股票代码页面上抓取想要的数据就好了。
tushare版本
自己写的爬取代码,爬取所有股票历史信息,差不多半个小时,也还不错。但是老板的要求又变了,不仅要历史信息,还要日线,月线,周线,还要公告,经济热点数据什么的。如果每个要求都自己去写一遍工程量就有点大了。于是我偶然发现了这个tushare金融接口包。通过这个包我发现事情简单多了。
举例如下
#获得所有股票代码
import tushare as ts
def getCode():
return ts.all_stocks().code
#获得获得个股的历史数据
#time参数为D时返回日线,W返回周线,M返回月线
import tushare as ts
def getHistoryData(code,time):
if time=='D':
return ts.get_hist_data(code)
elif time=='W':
return ts.get_hist_data(code,ktype='W')
elif time=='M':
return ts.get_hist_data(code,ktype='M')
当然这个包的功能还有好多,我就不一一举例了。可以直接查看share.org的说明文档。