您現(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)容
主站蜘蛛池模板: 欧美黑人巨大videos精品| 国产1000部成人免费视频| 影院成人区精品一区二区婷婷丽春院影视| 亚洲AV成人片无码网站| 正在播放国产伦理片| 免费又黄又爽1000禁片| 美女把腿扒开让男人桶免费| 国产女人高潮抽搐喷水免费视频| 香蕉免费看一区二区三区| 在免费jizzjizz在线播| www.欧美xxx| 成人片黄网站色大片免费| 久久久久免费精品国产| 最新高清无码专区| 亚洲伊人久久大香线蕉综合图片| 欧美裸体XXXX极品少妇| 人人爽人人爽人人爽| av区无码字幕中文色| 成人欧美一区二区三区黑人| 久久人人爽人人爽人人av东京热 | 无码国产精品一区二区高潮| 亚洲欧美另类在线观看| 男人狂桶女人出白浆免费视频| 又爽又黄又无遮挡的视频在线观看| 草草草在线观看| 国产亚洲美女精品久久久久| 黄网站在线播放视频免费观看| 国产探花在线观看| 欧洲97色综合成人网| 国产精品va在线观看无码| 2016天天干| 女网址www女高清中国| 久久精品国产亚洲av麻豆色欲| 欧美一级特黄aa大片在线观看免费 | 午夜无码A级毛片免费视频| 自拍偷自拍亚洲精品播放| 国产三级精品视频| 芬兰bbw搡bbbb搡bbbb| 国产三级小视频在线观看| 草草影院第一页| 四虎永久免费网站免费观看|