摘要:將另存為格式時(shí),文件將工作表中的單元格所顯示的文本和數(shù)值以逗號(hào)分離進(jìn)行保存。方法此處使用模塊的函數(shù)讀取文件,函數(shù)以字典形式返回,字典的鍵則是這個(gè)單元格的標(biāo)題即列頭,每一個(gè)單元格內(nèi)容放在字典的值內(nèi)。
前言
數(shù)據(jù)是進(jìn)行量化交易的基礎(chǔ)和關(guān)鍵,目前國內(nèi)做量化產(chǎn)品的金融機(jī)構(gòu)大部分是從券商獲取高頻實(shí)時(shí)行情數(shù)據(jù)的,另外很多金融網(wǎng)站也提供了數(shù)據(jù)接口,可以調(diào)用接口方式獲取,也可以用爬蟲的方式獲取。文本講述一種更經(jīng)濟(jì)便捷的方式來獲取數(shù)據(jù),即通過同花順交易軟件來導(dǎo)出股票數(shù)據(jù),并且將數(shù)據(jù)轉(zhuǎn)換為DataFrame 表格型的數(shù)據(jù)結(jié)構(gòu),以csv的格式存儲(chǔ),便于后續(xù)進(jìn)行量化交易分析。
1.打開同花順軟件,點(diǎn)擊“分析”欄,選擇“歷史成交”,此時(shí)會(huì)出現(xiàn)股票的日線交易數(shù)據(jù)。
2.點(diǎn)擊“右鍵”,選擇“數(shù)據(jù)導(dǎo)出”—>“導(dǎo)出所有數(shù)據(jù)”,選擇導(dǎo)出的類型為Excel,執(zhí)行下一步直到完成,即得到了2004年至今的該股交易數(shù)據(jù)。
3.打開EXCEL文檔已經(jīng)可以查看到導(dǎo)出的數(shù)據(jù)了,不過在量化領(lǐng)域中最常用使用的是CSV格式,這里將EXCEL另存為CSV格式。CSV文件是一種文本文件,用記事本就能打開。文件的數(shù)據(jù)列以半角逗號(hào)分隔,每一行數(shù)據(jù)都以回車符結(jié)束。它可以非常容易地被導(dǎo)入各種PC表格及數(shù)據(jù)庫中。將EXCEL另存為CSV格式時(shí),CSV文件將EXCEL工作表中的單元格所顯示的文本和數(shù)值以逗號(hào)分離進(jìn)行保存。
注:如果單元格中包含逗號(hào),則該單元格中的內(nèi)容以雙引號(hào)引起。
在Python中,pandas是數(shù)據(jù)處理方面功能最為強(qiáng)大的擴(kuò)展模塊了,包含了高級(jí)的數(shù)據(jù)結(jié)構(gòu)Series和DataFrame,使得在Python中處理數(shù)據(jù)變得非常方便、快速和簡單,后續(xù)我們?cè)趹?yīng)用中會(huì)深有體會(huì)。
方法1:通過pandas模塊自帶的read_csv函數(shù)可直接得到DataFrame格式數(shù)據(jù),注意編碼格式為“GB2132”,否則控制臺(tái)會(huì)將中文解析為亂碼。
df_csvload = pd.read_csv("C:programPYCSV_RWdata_ForNewFileDataChange.csv",parse_dates=True,index_col=0,encoding="gb2312")
方法2:此處使用CSV模塊的DictReader函數(shù)讀取CSV文件,DictReader函數(shù)以字典形式返回,字典的鍵則是這個(gè)單元格的標(biāo)題(即列頭),每一個(gè)單元格內(nèi)容放在字典的值內(nèi)。DataFrame的創(chuàng)建方式有numpy二維數(shù)組、列表、Series序列以及字典方式等,此處DictReader函數(shù)返回的字典形式數(shù)據(jù)可直接創(chuàng)建,字典中的keys就是DataFrame里面的columns,但是沒有index的值,默認(rèn)是從零開始計(jì)數(shù)。
f=codecs.open("C:programPYCSV_RWdata_ForNewFileDataChange.csv","rb","gb2312")#GB2312編碼 reader = csv.DictReader(f) rows = [row for row in reader] df = pd.DataFrame(rows) f.close()
該方法需要增加額外的處理,將“時(shí)間”列作為index索引,同時(shí)將日期信息去除星期幾
df.rename(columns={ "時(shí)間":"time" },inplace=True)#替換為英文columns for index,colstr in enumerate(df["time"]): colstr = colstr.split(",",1)#去除日期中的星期幾 df.loc[index, "time"] = colstr[0] df.index = df["time"].tolist()#time作為index del df["time"]#數(shù)據(jù)中刪除time列
數(shù)據(jù)處理后使用pandas模塊自帶的to_csv可將數(shù)據(jù)直接存儲(chǔ)為CSV。
df.to_csv("C:programPYCSV_RWdata_ForNewFileDataCheck.csv",columns=df.columns,index=True)
更多python量化交易內(nèi)容互動(dòng)請(qǐng)加微信公眾號(hào):PythonQT-YuanXiao
歡迎訂閱量化交易課程:鏈接地址
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/41160.html
摘要:前言庫提供了專門從財(cái)經(jīng)網(wǎng)站獲取金融數(shù)據(jù)的接口,可作為量化交易股票數(shù)據(jù)獲取的另一種途徑,該接口在庫基礎(chǔ)上實(shí)現(xiàn)了以客戶端身份訪問網(wǎng)站的股票數(shù)據(jù)。第三四個(gè)參數(shù)為股票數(shù)據(jù)的起始時(shí)間斷。遍歷每個(gè)交易日后將符合跳空缺口條件的交易日增加缺口數(shù)值。 前言 Pandas庫提供了專門從財(cái)經(jīng)網(wǎng)站獲取金融數(shù)據(jù)的API接口,可作為量化交易股票數(shù)據(jù)獲取的另一種途徑,該接口在urllib3庫基礎(chǔ)上實(shí)現(xiàn)了以客戶端身份...
摘要:問題來源今天與同學(xué)聊天,得知他有個(gè)任務(wù)是抓取同花順網(wǎng)站上的股票數(shù)據(jù),有點(diǎn)興趣,便做了相關(guān)實(shí)驗(yàn)。由于時(shí)間關(guān)系,以上代碼只是把數(shù)據(jù)所在的網(wǎng)頁抓取到本地,沒有進(jìn)行解析。 問題來源 今天與同學(xué)聊天,得知他有個(gè)任務(wù)是抓取同花順網(wǎng)站上的股票數(shù)據(jù),有點(diǎn)興趣,便做了相關(guān)實(shí)驗(yàn)。 介紹 網(wǎng)站地址:http://q.10jqka.com.cn/ 網(wǎng)站界面:showImg(https://segmentf...
摘要:月日,各項(xiàng)競賽的排名將決定最終的成績排名。選手通過訓(xùn)練模型,對(duì)虛擬股票走勢(shì)進(jìn)行預(yù)測。冠軍將獲得萬元人民幣的獎(jiǎng)勵(lì)。 showImg(https://segmentfault.com/img/bVUzA7?w=477&h=317); 2017年9月4日,AI challenger全球AI挑戰(zhàn)賽正式開賽,來自世界各地的AI高手,將展開為期三個(gè)多月的比拼,獲勝團(tuán)隊(duì)將分享總額超過200萬人民幣的...
摘要:那么我們改變概率這個(gè)因子,將它放大到,我們邀請(qǐng)個(gè)人參與局看下效果看來結(jié)果還不錯(cuò),只要增加盈利的概率,就可以在市場中獲得收益,這就是量化交易的魅力管理概率理性交易。 在《Python實(shí)戰(zhàn)-構(gòu)建基于股票的量化交易系統(tǒng)》小冊(cè)子中,我們以股票為交易標(biāo)的講解量化交易的學(xué)習(xí),主要原因是股票的風(fēng)險(xiǎn)和收益介于期貨和基金之間。期貨一方面加了杠桿,另一方面走勢(shì)變化非常迅速,稍有不慎有可能血本無歸,這不太適...
閱讀 3560·2021-11-25 09:43
閱讀 3139·2021-10-08 10:04
閱讀 1633·2019-08-26 12:20
閱讀 2060·2019-08-26 12:09
閱讀 602·2019-08-23 18:25
閱讀 3578·2019-08-23 17:54
閱讀 2330·2019-08-23 17:50
閱讀 808·2019-08-23 14:33