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

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

?

前言

數(shù)據(jù)是進(jìn)行量化交易的基礎(chǔ)和關(guān)鍵,目前國(guó)內(nèi)做量化產(chǎn)品的金融機(jī)構(gòu)大部分是從券商獲取高頻實(shí)時(shí)行情數(shù)據(jù)的,另外很多金融網(wǎng)站也提供了數(shù)據(jù)接口,可以調(diào)用接口方式獲取,也可以用爬蟲的方式獲取。文本講述一種更經(jīng)濟(jì)便捷的方式來(lái)獲取數(shù)據(jù),即通過同花順交易軟件來(lái)導(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ù)庫(kù)中。將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ù)變得非常方便、快速和簡(jiǎn)單,后續(xù)我們?cè)趹?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)容
主站蜘蛛池模板: 成人小视频在线观看| 真实国产乱子伦精品免费| 欧美成视频无需播放器| 国产精品亚洲精品日韩电影| 五月天精品在线| 第四色最新网站| 国产又粗又猛又黄又爽无遮挡| 99RE久久精品国产| 极品尤物一区二区三区| 免费a级毛片18以上观看精品| 8x8x在线观看视频高清视频| 成年人一级毛片| 亚洲白色白色在线播放| avtt加勒比手机版天堂网| 日韩中文在线视频| 再深点灬舒服灬太大了添动视频 | 无码精品a∨在线观看中文| 亚洲国产精品久久丫| 窝窝午夜色视频国产精品东北| 国产亚洲真人做受在线观看| va亚洲va欧美va国产综合| 欧美多人换爱交换乱理伦片| 国产亚洲精品资源在线26U| 18禁美女裸体无遮挡网站| 好吊妞视频一区二区| 亚洲av无码兔费综合| 色综合一区二区三区| 国产精品一区二区在线观看| 中文字幕一级片| 毛片免费视频在线观看| 午夜精品一区二区三区在线视| 风间由美性色一区二区三区| 国产精品免费播放| 99久久精品免费精品国产| 日韩国产欧美在线观看一区二区| 午夜三级A三级三点在线观看| 黄色一级毛片在线观看| 好吊色青青青国产在线播放| 久久久精品免费视频| 朝鲜女人大白屁股ASS孕交| 十二以下岁女子毛片免费|