第一次在簡(jiǎn)書寫東西,思來想去不知道拿什么入手,最終還是決定追蹤熱門話題寫一篇關(guān)于Python和理財(cái)?shù)奈恼掳?,說到理財(cái)股票是逃不過去的一關(guān),說到大數(shù)據(jù)分析Python又是最熱門的語(yǔ)言,今天的重點(diǎn)是用Python獲取股票數(shù)據(jù),所以這里我們直接用比較熱門的股票接口Tushare,因?yàn)檫@個(gè)接口可以省去我們?cè)S多寫爬蟲,算MA的時(shí)間,很多直接通過接口就可以調(diào)出。開始前大家需要去Tushare官網(wǎng)注冊(cè)一個(gè)賬號(hào)獲取Key.Tushare注冊(cè)入口,先給大家看看都能干啥

是不是很強(qiáng)大??!話不多說這里先演示一遍如何將所有股票每天的數(shù)據(jù)記錄轉(zhuǎn)存到我們自己的Mysql服務(wù)器。
PS:需要懂點(diǎn)Mysql額,練習(xí)的同學(xué)可以跑一個(gè)Centos虛擬機(jī)然后裝一個(gè)Mysql Server.如果你想問怎么弄虛擬機(jī),怎么裝Centos,怎么裝Mysql,這些有興趣的話我們以后再討論
上碼:
# -*- coding: utf-8 -*-
"""
Created on Tue Dec 24 13:38:13 2019
@author: lovet
"""
###導(dǎo)入關(guān)鍵的包
from sqlalchemy import create_engine
import tushare as ts
import mysql.connector
###連接Tushare服務(wù)器
ts.set_token('你注冊(cè)Tusgare之后獲取到的key')
pro = ts.pro_api()
companyList = pro.stock_basic(exchange='',list_status='L',? fields='ts_code')
#刪除表
mydb = mysql.connector.connect(
##配置Mysql服務(wù)器參數(shù),包括服務(wù)器IP,用戶名,密碼,數(shù)據(jù)庫(kù)名稱###
? host="服務(wù)器IP",
? user="用戶名",
? passwd="密碼",
? database="數(shù)據(jù)庫(kù)名稱"
)
##連接數(shù)據(jù)庫(kù)
mycursor = mydb.cursor()
sql = "DROP TABLE IF EXISTS daily_basic"
mycursor.execute(sql)
for i in range(len(companyList)):
? ? try:
##獲取股票數(shù)據(jù)
? ? ? ? df = pro.daily_basic(ts_code=companyList.ts_code[i], trade_date='', fields='ts_code,trade_date,close,turnover_rate,turnover_rate_f,volume_ratio,pe,pe_ttm,pb,ps,ps_ttm,dv_ratio,dv_ttm,total_share,float_share,free_share,total_mv,circ_mv')
###導(dǎo)入數(shù)據(jù)
? ? ? ? engine = create_engine('mysql://StockAnalysis:dGKLKL5b7nNsiRwB@192.168.50.198:3306/StockAnalysis?charset=utf8')
? ? ? ? df.to_sql('daily_basic',engine,if_exists='append')
? ? ? ? print('Seq: ' + str(i+1) + ' of ' + str(len(companyList)))
? ? except Exception as aa:
? ? ? ? print(aa)
? ? ? ? print('No DATA Code: ' + str(i))
? ? ? ? continue
以上就完成了數(shù)據(jù)獲取,有了基礎(chǔ)數(shù)據(jù),后面想怎么玩就看大家自己了。
下面有些很有用的Tushare與Python結(jié)合的教程,大家可以看看
機(jī)器量化分析(一)——數(shù)據(jù)采集、預(yù)處理與建模
后續(xù)還有很多有趣的代碼,我會(huì)不定期分享出來,
第一篇文章,還望各位大神多多包涵。