這邊會介紹用簡單的方式(google sheet)取得股票資料,並且記錄成csv檔案。
第 12 屆 iT 邦幫忙鐵人賽-原文:https://ithelp.ithome.com.tw/articles/10235487
在做分析前,最重要的是資料,沒有資料就無法分析。
取得資料最簡單的方式,莫過於善用網路資源,其中網路資源整合中最好的就是Google的服務(個人認為)。
現在就是教如何使用Google,取得股票的開盤價、收盤價、最高價、最低價。
本次範例需要的工具是Google的Sheet
。
在Sheet
中使用的是GOOGLEFINANCE
的工具服務,這是從google財經中取得證券的過往資料或是即時資訊。
https://support.google.com/docs/answer/3093281?hl=zh-Hant
會用到的公式為:
GOOGLEFINANCE(代號, [屬性], [開始日期], [結束日期|天數], [間隔])
我們現在要使用的是股票的「歷史資料」:
- open:指定日期的開盤價。
- close:指定日期的收盤價。
- high:指定日期的最高價。
- low:指定日期的最低價。
在欄位中填入=GOOGLEFINANCE(股票代碼,屬性,日期)
,他就會提供相關資料。
例如,
如果我們需要鴻海2019/12/30的收盤價,就可以這樣輸入
=GOOGLEFINANCE("TPE:2317","close","2019/12/30")
如果要開盤價是:
```
=GOOGLEFINANCE("TPE:2317","open","2019/12/30")
如果我們要一個走期的話,可以這樣輸入
=GOOGLEFINANCE("TPE:2317","close","2019/12/30","2020/1/10")
如果把開高低收個別拉出來的時候,就會變成這樣:
其中有個小技巧,從前面幾張小圖中可以看到,會有提供兩欄,一個是日期,一個是屬性(開高低收),其中日期已經在第一欄了,所以日期該欄不是我們需要的,所以需要用index(資料,2,2)
的方式取得。加上我把每個參數拉出來,變成變動性的,不是寫死就變成上圖那樣。而公式為:
=index((GOOGLEFINANCE((CONCATENATE($B$1,":",$F$1)),$F$3,A7)),2,2)
最後整理出表後,要產出csv,這樣方便我們記錄,或是做分析時所用的數據,就直接在Sheet
中匯出吧!
直接在檔案> 下載> 逗號分隔值檔案
,這樣就變成csv囉!
後記:
簡單的蒐集資料,可以讓很多資料收集起來,而且又可以即時,可以進行快速的分析,雖這不是我們這次重點,是還是分享給大家知道。畢竟Google資料不是全部商品,像是ETF資料就沒有,或是期貨,所以還是要依靠Python取得資料!
~Copyright by Eyelash500~
IT技術文章:EY*研究院
iT邦幫忙:eyelash*睫毛
Blog:睫毛*Relax
Facebook:睫毛*Relax