一、國內股票歷史數據
1. Python中tushare包
-
get_hist_data:此接口僅能獲取最近三年的未復權數據,數據源來自新浪財經,但其獲取速度不受限制
-
get_h_data:此接口可以獲取歷史全部數據,但獲取速度受限,請求過快會封IP,不報錯上限應該在一分鍾五條
-
參數autype:可設置數據形式是前復權、后復權、不復權
-
參數pause : 可設置重復請求數據過程中暫停的秒數,設置在4秒一次時不會請求出錯,下載速度在一分鍾五只股票
-
股票停牌與退市都無那天信息
-
股票退市時獲取該股票會報錯,循環獲取需跳過
-
獲取時還可能出現time out 信息,暫時不能確定原因
-
ts.get_stock_basics():獲取當日所有股票代碼
-
其他函數及參數參考其說明文檔:http://tushare.org/index.html
2.R中WindR
-
安裝wind軟件http://www.wind.com.cn/
-
注冊wind個人賬戶,wind針對財經院校有“財經學子陽光計划”,可免費注冊。學校圖書館可能也有購買wind數據庫
-
下載WindR包,打開軟件“量化”——>“修復插件”——>“修復R插件”,進入R界面,輸入命令w.start()開始
-
w.menu()打開導航界面,利用其產生命令獲取參數形式很方便
-
w.wsd()可獲得股票歷史數據,前復權參數為"PriceAdj=F",其他說明文檔中未說明參數可用導航界面產生命令猜出
-
w.wsd()獲得數據存於list下data數據框,停牌數據用上一交易日收盤價補全,退市股票數據是NA
-
其他函數及參數命令參考wind客戶端中“量化”——>“開放接口”——>“R插件”查看說明文檔
-
http://www.dajiangzhang.com/q?529d26bf-7b34-46b1-bc92-ff9a2494b0a6
-
wind也有針對Python、MATLAB等的API接口,具體查看wind客戶端中“量化”——>“開放接口”
-
其大盤指數較少,僅有中證與滬深300,大盤指數獲取建議tushare獲取
3.R中quantmod包
-
曾經此包盛極一時,但是自2016年由於數據源雅虎財經的問題,這個包似乎已有半年沒人維護不建議使用
-
其在GitHub上https://github.com/joshuaulrich/quantmod
-
quantmod包有三個數據源:雅虎財經、谷歌財經、FRED(這個不清楚)
-
雅虎財經與國內大部分數據源的復權方式不同,導致數據與差異,並且其數據似乎有問題
-
google與FRED需要科學上網,並且似乎需要改變的是R獲取數據時的IP(暫時沒解決)
-
getSymbols("NKE", src = "yahoo")從雅虎財經獲取NKE耐克的股票信息,其他參數參考說明文檔
-
上述函數獲取到的數據存在NKE變量中,數據時間信息需用index(NKE)調取
二、美股股票獲取
1.R中quantmod包
-
從雅虎財經獲取的數據質量出現嚴重問題,以道瓊斯指數2010至2017數據為例,中間出現連續多個NA數據,並且某些天本應是正常交易日但無數據
2.windR
-
根據menu提示獲取道瓊斯某些股票數據,但是經查驗數據缺失部分,暫不確定原因
3.雅虎財經網站直接下載
-
適用於僅需部分美股數據
-
https://finance.yahoo.com/quote/%5EDJI/history?p=%5EDJI
三、其他可能數據獲取方式
1.通聯數據
2.雪球
3.聚合數據
4.其他想起來時再補充
四、數據補全
-
數據補全時需下載今天與昨天兩天的新數據,昨天數據用來與原數據比較是否發生股權變更
-
windR中可以獲得上一交易日信息,tushare暫時沒有找到相關信息。可以尋找某股票上一交易日時間后循環獲取
-
補全時需要考慮該股票是否退市,是否停牌,是否停牌后復牌,是否退市又復市,停牌復牌是否股權發生變更