【時間之外】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

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