量化交易之股票數據的獲取——同花順軟件

前言

數據是進行量化交易的基礎和關鍵,目前國內作量化產品的金融機構大部分是從券商獲取高頻實時行情數據的,另外不少金融網站也提供了數據接口,能夠調用接口方式獲取,也能夠用爬蟲的方式獲取。文本講述一種更經濟便捷的方式來獲取數據,即經過同花順交易軟件來導出股票數據,而且將數據轉換爲DataFrame 表格型的數據結構,以csv的格式存儲,便於後續進行量化交易分析。python


同花順交易數據導出

1.打開同花順軟件,點擊「分析」欄,選擇「歷史成交」,此時會出現股票的日線交易數據。
圖片描述
圖片描述數據庫

2.點擊「右鍵」,選擇「數據導出」—>「導出全部數據」,選擇導出的類型爲Excel,執行下一步直到完成,即獲得了2004年至今的該股交易數據。
圖片描述數組

3.打開EXCEL文檔已經能夠查看到導出的數據了,不過在量化領域中最經常使用使用的是CSV格式,這裏將EXCEL另存爲CSV格式。CSV文件是一種文本文件,用記事本就能打開。文件的數據列以半角逗號分隔,每一行數據都以回車符結束。它能夠很是容易地被導入各類PC表格及數據庫中。將EXCEL另存爲CSV格式時,CSV文件將EXCEL工做表中的單元格所顯示的文本和數值以逗號分離進行保存。微信

圖片描述
圖片描述
注:若是單元格中包含逗號,則該單元格中的內容以雙引號引發。數據結構


轉換爲DataFrame格式

在Python中,pandas是數據處理方面功能最爲強大的擴展模塊了,包含了高級的數據結構Series和DataFrame,使得在Python中處理數據變得很是方便、快速和簡單,後續咱們在應用中會深有體會。函數

方法1:經過pandas模塊自帶的read_csv函數可直接獲得DataFrame格式數據,注意編碼格式爲「GB2132」,不然控制檯會將中文解析爲亂碼。網站

df_csvload = pd.read_csv('C:\programPY\CSV_RWdata_ForNewFile\DataChange.csv',parse_dates=True,index_col=0,encoding='gb2312')

圖片描述

方法2:此處使用CSV模塊的DictReader函數讀取CSV文件,DictReader函數以字典形式返回,字典的鍵則是這個單元格的標題(即列頭),每個單元格內容放在字典的值內。DataFrame的建立方式有numpy二維數組、列表、Series序列以及字典方式等,此處DictReader函數返回的字典形式數據可直接建立,字典中的keys就是DataFrame裏面的columns,可是沒有index的值,默認是從零開始計數。編碼

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()

圖片描述

該方法須要增長額外的處理,將「時間」列做爲index索引,同時將日期信息去除星期幾spa

df.rename(columns={ "時間":'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']#數據中刪除time列

圖片描述


數據保存

數據處理後使用pandas模塊自帶的to_csv可將數據直接存儲爲CSV。3d

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

圖片描述

更多python量化交易內容互動請加微信公衆號:PythonQT-YuanXiao
歡迎訂閱量化交易課程:連接地址
相關文章
相關標籤/搜索