前面介紹了數(shù)據(jù)研究平臺(tái)的安裝佩憾,這片介紹如何用現(xiàn)成的庫(kù)以及工具獲取和導(dǎo)出數(shù)據(jù)。大部分的人物可在IDLE里完成萄涯。
因?yàn)闅v史數(shù)據(jù)量龐大,如果只在IDLE里查看止潮,盡量不要獲取太大范圍的數(shù)據(jù)窃判,獲取速度由寬帶速度決定,另一方面界面大小有限喇闸,數(shù)據(jù)量龐大,根本無法達(dá)到可視化的效果询件,更不用說分析出可用結(jié)果燃乍。
如下代碼:
ipmort tushare as ts
ts.get_hist_data('600839')#獲取四川長(zhǎng)虹歷史數(shù)據(jù)
第一行導(dǎo)入tushare包,然后獲取四川長(zhǎng)虹的歷史數(shù)據(jù)宛琅,結(jié)果如下刻蟹。
以上包含開盤價(jià),收盤價(jià)嘿辟,等等熟知的基本數(shù)據(jù)舆瘪。
以上為統(tǒng)計(jì)的5日,10日等等均價(jià)红伦,均量英古。
12年到15年的換手率,結(jié)果過多昙读,中間很多結(jié)果省略召调。以上全為在LDLE里進(jìn)行操作以及瀏覽,下面介紹如何導(dǎo)出數(shù)據(jù)到excel文件蛮浑,sql數(shù)據(jù)庫(kù)唠叛。
還是一段簡(jiǎn)短的代碼。
>>> dm=ts.get_hist_data('000875')
>>> dm.to_excel('d:/data/new.xls',startrow=2,startcol=5)
上面已經(jīng)導(dǎo)入tushare包沮稚,所以此處不再導(dǎo)入艺沼,直接將獲取的數(shù)據(jù)存入名為dm的對(duì)象,第二行利用to_excel方法將數(shù)據(jù)寫入new.xls文件蕴掏,后面兩個(gè)參數(shù)為寫入的起始行和列障般。當(dāng)然大不分時(shí)刻不需要偏移,所以去掉后兩個(gè)參數(shù)囚似,寫入完畢后打開文件查看
同上剩拢,寫入scv,hdf5,json都是同樣的方法。具體還要看自己的數(shù)據(jù)處理平臺(tái)可以處理的格式饶唤,很多量化高手可以在excel里進(jìn)行回測(cè)徐伐,如果感興趣可以學(xué)習(xí)vba這門比較古老的語(yǔ)言,操作excel很強(qiáng)大募狂。
幾乎所有軟件都離不開數(shù)據(jù)庫(kù)办素,為了更便的自動(dòng)寫入和讀取數(shù)據(jù)角雷,大部分時(shí)候我們將數(shù)據(jù)存入數(shù)據(jù)庫(kù)里,本次演示將數(shù)據(jù)讀入mysql,當(dāng)然也支持其他大部分關(guān)系數(shù)據(jù)庫(kù)和菲關(guān)系數(shù)據(jù)庫(kù)性穿。這一切都依賴于pandas對(duì)大部分?jǐn)?shù)據(jù)庫(kù)的支持勺三。
此處演示存入tick數(shù)據(jù)到數(shù)據(jù)庫(kù),tick翻譯為滴答的鐘聲需曾,一瞬間吗坚,我們可以大概推測(cè)到它的意義,即股票每個(gè)時(shí)刻的交易詳情呆万,很多手機(jī)炒股軟件商源,比如新浪財(cái)經(jīng),鑫財(cái)通谋减,同花順等都能實(shí)時(shí)看到股票交易的詳細(xì)成交細(xì)節(jié)牡彻,時(shí)間,價(jià)格出爹,成家量庄吼,當(dāng)然也不是絕對(duì)實(shí)時(shí),特別是移動(dòng)客戶端严就,會(huì)有延遲总寻,如果對(duì)時(shí)間要求比較嚴(yán)格的交易者,不建議在手機(jī)上操作盈蛮。
操作之前废菱,要求系統(tǒng)已經(jīng)安裝好Mysql數(shù)據(jù)庫(kù),以及sqlalchemy抖誉,后者是一個(gè)python下的sql工具包以及關(guān)系對(duì)象映射器殊轴。當(dāng)然在此處我們只用到了他的create_engine部分。
代碼:
from sqlalchemy import create_engine
import tushare as ts
df = ts.get_tick_data('600848', date='2014-12-22')
engine = create_engine('mysql://root:654321@127.0.0.1/my_db?charset=utf8')
df.to_sql('tick_data',engine)
解讀:從sqlalchemy導(dǎo)入create_engine袒炉,導(dǎo)入tushare,獲取600848這支股票在2014年12月22這一天的交易tick,存入df對(duì)象旁理,然后我們先用mysql-front創(chuàng)建一個(gè)叫my_db的數(shù)據(jù)庫(kù)
然后在create_engine方法里連接到此數(shù)據(jù)庫(kù),最后一行用to_sql方法寫入tick_data到?jīng)]有my_db里我磁。
寫入完畢后打開mysql-front
后兩張圖可看出有1700多筆交易孽文,成交的時(shí)間,價(jià)格夺艰,買盤還是賣盤可以再type里看出芋哭,因?yàn)閿?shù)據(jù)量太大,成交的時(shí)間類型都以缺省的memo顯示郁副,當(dāng)然如果想查看可以把鼠標(biāo)放上去即可顯示减牺。好了本篇展示的獲取以及讀入數(shù)據(jù)到本地已經(jīng)完成。