在用EXCEL做量化分析的時候,經常需要通過一些金融數據平台的API接口,獲取各種數據。
最常用的公共API接口有Yahoo Finance,Google Finance,新浪財經,搜狐財經等。這些都不需要注冊,就可以直接使用。獲取方式相對簡單,但數據種類不夠豐富,通常只包括交易數據和財務數據。
另外一些免費的金融數據平台,如國外的Quandl和國內的Tushare也都提供了API接口,數據種類更豐富一些,所不同的是需要注冊,並獲得API KEY才可以使用。
由於國內常用的Tushare平台,與大多數平台使用的GET方式獲取不同,使用的是POST方式,比較特殊,不具有代表性。
因此,這里拿Quandl舉例,教你一步一步的使用Excel,通過API接口載入數據。其他提供API數據接口的網站,也可以采用同樣的方法。
具體操作步驟如下:
第一步:登錄www.quandl.com,並注冊一個免費賬號
每個免費賬號對應一個API KEY,可以在【帳戶設置頁面】中找到,如下圖:
第二步:選擇數據庫
點擊正上方的‘EXPLORE’,可以選擇所需要的數據庫:
要注意選擇免費的數據庫。本例我們選擇美股名稱為“WIKI”的數據庫。
第三步:查看API數據接口的參數
具體參數參見:https://docs.quandl.com/docs/in-depth-usage
假定我們要下載蘋果公司AAPL的歷史股價數據,那么對應的URL地址為:
https://www.quandl.com/api/v3/datasets/WIKI/AAPL/data.json?api_key=YOURAPIKEY
其中:
- “WIKI” 位置為數據庫名稱,可根據需要替換
- “AAPL”為股票名稱,可以根據需要替換
- 注意將其中的“YOURAPIKEY"換成上面注冊后獲得的API KEY
第四步:將該URL地址復制到瀏覽器中,可以看到如下JSON數據
第五步,在Excel中打開並解析JSON數據
上面的數據看起來很亂。但很酷的是,Excel 內置了 JSON 和XML解析功能,我們只需點擊幾下即可輕松將類似內容轉換為更熟悉和可讀的表。
5.1 新建查詢
- 打開Excel,在【數據】選項卡中,單擊【新建查詢】,然后選擇【從其他源】,再選擇【自網站】。如下圖所示:
- 在彈出的【從Web】對話框中,單擊【基本】,然后輸入前面的URL地址。如下圖所示:
- 得到查詢結果如下,然后單擊【轉化數據】按鈕。
- 選擇dataset_data-Record,單擊【到表中】:
5.2 鑽取數據
每個JSON的數據庫結構不同,解析出來的數據,還要經過鑽取的步驟,一直鑽取到數據的最底層。
所謂的鑽取,就是不斷的重復執行【深化】+【到表中】的步驟。
以本案為例,要鑽取二層,即要執行二次【深化】和【到表中】的步驟。
-
第一層鑽取:選擇Record,右鍵單擊【深化】。
-
然后,選擇Data-List ,單擊【到表中】。
- 第二層鑽取,選擇Data-List ,右鍵單擊【深化】。
- 繼續選擇【到表】
5.3 提取數據
出現如下圖符號1中出現的雙向小箭頭,說明已經鑽取到底層了。鼠標左鍵單擊雙向小箭頭,在彈出的菜單中,選擇【提取值】。
- 彈出【從列表提取值】,選擇【串聯列表值所用的分隔符】,本例選擇【制表符】作為分隔符。
5.4 數據分列
出現的數據,是沒有分列的,我們需要對數據按照“制表符”進行拆分列處理。
- 選擇【轉化】選項卡,再【文本列】組中,選擇【拆分列】選項卡,在彈出的【按分隔符拆分列】窗口中,選擇按【制表符】進行拆分。
5.5 數據上載到Excel
-
拆分后,數據出現如下圖所示,可以關閉POWER QUERY了,選擇【關閉並上載】。將數據上載到Excel中。
-
上載到Excel中的數據,如下圖所示。可以進行后續的量化分析操作了。
歡迎關注我的專欄:
ID:不寫代碼
專欄名稱:Excel做量化投資