【时间之外】10分钟搞懂Python+Tushare+Excel股票分析

场景和工具

不想996就多赚钱(1分钟)

经济形势越来越严峻,996已经兵临城下,但是单靠工资收入,已经无法满足购物车和余额不足,股票投资是一个不错的选择,尤其是房地产黄金十年已经过去了,下面,有可能就是股票的黄金十年,你准备好了吗?
做股票分析的朋友大概都知道分析,虽然分析不一定能赚钱,但是不分析一定不会赚钱,靠运气的和财运好的朋友,不用往下看了。
之前主要是靠excel做一些记录和分析。excel就不多介绍了。
python最近也很火,也不多介绍了。
Tushare,不知道大家是否知道?
之前只用python做爬虫工具,爬一些资源之类的(什么资源你懂的),发现Tushare也是为了实现下面的需求才发现的。

需求简介(1分钟)

为了说明问题,今天就简单介绍一个需求。大家都知道,股票软件里的数据是可以导出excel的,但是只能导出日线数据,周线数据无法导出,不知道Tushare之前,每次都是自己靠双手和双眼去抓取数据,效率极低。
现在Tushare可以实现这个需求,怎么做?
准备好8分钟,我们马上开始了,集中精力!

Tushare简介(1分钟)

先把Tushare网站贴一下,点击Tushare即可。
为了避免广告嫌疑,这里只说我的理解:Tushare可以提供数据接口,并且是免费的!获取股票、基金、期货、债券、外汇、行业数据,其中股票正是我需要的。
有三点注意:

  1. 这个网站需要注册以后才能用,很简单,只要有邮件或者手机就可以。
  2. 读取数据是分等级的,积分少的只能抓取基本数据,本人刚注册,只有100积分,运气好的是,对我的需求实现足够了。
  3. 一定要先 pip install Tushare

思路分析

三行代码取数据(2分钟)

这个最简单,在Tushare网站的文档里就有。
接口:weekly
描述:获取A股周线行情
限量:单次最大3700,总量不限制

pro = ts.pro_api()
df = pro.weekly(ts_code='000001.SZ', start_date='20180101', end_date='20181101', fields='ts_code,trade_date,open,high,low,close,vol,amount')
print(df)

tushare原始数据
too easy吧!

最麻烦的一步:保存成excel(5分钟)

深入一步,上面的结果是文本格式,如何把这个数据保存成txt文件,这个对用python的人来说,简直太简单了。
但是txt文件里的内容,我们是无法进行分析的。
刚才说了,要分析数据,还是要弄到excel文件中。
这一点儿,tuShare的接口似乎没有直接导出到excel格式,也可能是本人的积分太少(100分是基本分)。
好在本人也是懂代码的,这点儿虽然麻烦,还是难不倒我。
不多说了,直接上一段python操作excel的代码:

	import xlwt
	
	workbook = xlwt.Workbook()
    sheet1=workbook.add_sheet('stockData',cell_overwrite_ok=True)
    #style = "font:colour_index blue;"
    #blue_style = xlwt.easyxf(style)
    row0=[u"ts_code",u"trade_date",u"close",u"open",u"high",u"low",u"vol",u"trend"]
    for i in range(0,len(row0)):
        sheet1.write(0,i,row0[i])
        #sheet1.write(0,i,row0[i],blue_style)
        f = open('H:\\tmpWeek.txt') 
    next(f) 
    index = 1
    for line in f: 
        trend='down'
        data = line.strip('\n').split('  ')#非常重要
        print(data)
        if(data[0]!=''):
            #上涨走势
            if(float(data[3])>float(data[4])):
                trend='up'  
            sheet1.write(index,0,data[1])
            sheet1.write(index,1,data[2])
            sheet1.write(index,2,data[3])
            sheet1.write(index,3,data[4])
            sheet1.write(index,4,data[5])
            sheet1.write(index,5,data[6])
            sheet1.write(index,6,data[7])
			sheet1.write(index,7,trend)
            index = index + 1
    workbook.save('H:\\'+recDate+'week.xls')

最后进行分析

本例中,最后一列就是一个简单的分析逻辑,可以统计本周的涨跌,预判下周走势。更深入的与本文无关,有兴趣的朋友可以与我联系,大家一起探讨吧。

结果截图

下图就是上面的代码导出的数据,怎么样,你懂了吗?
tuShare导出excel

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章