您現(xiàn)在的位置:程序化交易>> 程序化交易>> 程序化老手>>正文內(nèi)容

PYTHON量化交易之股票數(shù)據(jù)的獲取——同花順軟件[程序化老手]

?

前言

數(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)行量化交易分析。


同花順交易數(shù)據(jù)導(dǎo)出

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)引起。


轉(zhuǎn)換為DataFrame格式

在Python中,pandas是數(shù)據(jù)處理方面功能最為強(qiáng)大的擴(kuò)展模塊了,包含了高級(jí)的數(shù)據(jù)結(jié)構(gòu)Series和DataFrame,使得在Python中處理數(shù)據(jù)變得非常方便、快速和簡單,后續(xù)我們在應(yīng)用中會(huì)深有體會(huì)。

方法1:通過pandas模塊自帶的read_csv函數(shù)可直接得到DataFrame格式數(shù)據(jù),注意編碼格式為“GB2132”,否則控制臺(tái)會(huì)將中文解析為亂碼。

df_csvload?= pd.read_csv('C:\programPY\CSV_RWdata_ForNewFile\DataChange.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:\programPY\CSV_RWdata_ForNewFile\DataChange.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ù)保存

數(shù)據(jù)處理后使用pandas模塊自帶的to_csv可將數(shù)據(jù)直接存儲(chǔ)為CSV。

df.to_csv('C:\programPY\CSV_RWdata_ForNewFile\DataCheck.csv',columns=df.columns,index=True)

圖片描述

?

轉(zhuǎn)自:segmentfault

 

有思路,想編寫各種指標(biāo)公式,程序化交易模型,選股公式,預(yù)警公式的朋友

可聯(lián)系技術(shù)人員 QQ: 511411198   點(diǎn)擊這里給我發(fā)消息或微信:cxhjy888 進(jìn)行 有償 編寫!不貴!點(diǎn)擊查看價(jià)格!


【字體: 】【打印文章】【查看評(píng)論

相關(guān)文章

    沒有相關(guān)內(nèi)容
主站蜘蛛池模板: 一区二区三区视频| 欧美双茎同入视频在线观看| 挺进邻居丰满少妇的身体| 国产偷自拍视频| 一本久久精品一区二区| 欧美孕妇与黑人巨交| 国产三级在线免费| 99国产欧美久久精品| 日韩免费观看的一级毛片| 免费一级毛片在线播放傲雪网 | 无码人妻精品一区二区三区久久| 亚洲精品自产拍在线观看动漫| 麻豆视频免费看| 天天躁天天碰天天看| 久久精品中文无码资源站| 男女一级做片a性视频| 国产影片中文字幕| ass日本熟妇大全pic| 日本道精品一区二区三区| 亚洲精品午夜国产va久久| 青青草原亚洲视频| 国产精品视频视频久久| 三上悠亚一区二区观看| 最近中文字幕资源8| 四虎麻豆国产精品| 手机看片福利日韩国产| 性一交一乱一伦一| 亚州春色校园另类| 熟妇人妻不卡中文字幕| 国产一在线精品一区在线观看| 91免费国产精品| 性高朝久久久久久久| 久99频这里只精品23热视频| 欧美丰满熟妇XXXX| 免费无码又爽又刺激高潮视频| 91色视频网站| 在线精品小视频| 中文字幕一区二区精品区| 欧美一级黄视频| 亚裔玉videoshd和黑人| 色综合久久天天综线观看|