【Day3】取得資料-Google Sheet:股票開高低收

這邊會介紹用簡單的方式(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