使用Google試算表來自動抓股價

Update 1 : 更新中文股票名稱抓取方式〔2021/02/17〕

最近在因緣際會在研究股票,總想用一張表來可以看到自己股票投資的全貌。一開始想用微軟的Excel,但是一個檔案帶來帶去想要跨平台也不是很方便腦筋就動到Google試算表,開始研究之後,發現它的功能驚為天人,搭配Google自家提供的Google Finance服務,針對台股”上市”的股票能很穩定抓到及時股價跟一些數值(截至目前上櫃無法經由Googlefinance,只能從網站上爬蟲了。),甚至連歷史股價都可一併Load進來,而且是自動的。當然搭配圖表,真的就更方便了。重點是跨平台。
Android(Google試算表)
iOS(Google試算表)
Windows(Chrome瀏覽器)
通通都可以使用。

以1215卜蜂為例

股票代號要自己打進去,後面的是通通自己帶出來了

先用B欄做國際代碼轉換,自動加上TPE:,合併起來就會變成TPE:1215
因為GoogleFinance他可以查詢國際股市的資料,台股必須加上在代碼前面加上TPE:才能正常查到資料。至於前面的A2<>””是因為我不看到沒輸入資料的儲存格變成#N/A,很難看。

以下中文名稱讀取方式可能不一定能用了,我後來自己開一張表格內含股票代碼以及中文名稱分類等相關資料用,方式我補在這一小段的後面。

———-↓以下方式可能無法使用↓————

中文名稱,這沒辦法靠GoogleFinance了,畢竟人家只有英文資料。這是用API的方式去證交所撈資料的。到工具>指令碼編輯器

把指令碼貼進去。裡面本來有的兩行字可以清掉。

然後在儲存格裡面打=TWNAME(A2),他就會透過API去證交所抓這支股票的中文名稱。

———-↑以下方式可能無法使用↑————

先建立一個分頁(我自己取名為StockCode),去證交所公告的股票代碼表去把資料複製到這個分頁來

https://www.twse.com.tw/zh/page/products/stock-code2.html

日後如果有新增你可以選擇性自己補上,或是你有買這支股票再補上就好了。
然後再中文那一欄,利用Vlookup的方式來搜尋中文股票名稱。

=IF(A1<>"",VLOOKUP(A1,StockCode!A:F,2,False),"")

最重要的現價,其實打=Googlefiance(B2),即可,但是他偶爾(非常非常低的機率)會失靈,所以我必須有備用來源,這部分我不另外敘述了。

開盤價=Googlefinance(B2,”PRICEOPEN”)

昨天收盤價=Googlefinance(B2,”CLOSEYEST”)

當日最高=Googlefinance(B2,”HIGH”)

當日最低=Googlefinance(B2,”LOW”)

當日交易量=Googlefinance(B2,” VOLUME “)

想抓歷史紀錄更方便,再現價的後面帶入指定區間。我這裡抓一整年的=GOOGLEFINANCE(“TPE:”&G1,”price”,TODAY()-365,TODAY())
從今天起往回推365天。G1指的是指定儲存格資料。

抓回來就可以自己畫圖了,多方便而且是全自動的。

預設Google試算表不會自動更新,修改一下試算表自動計算的設定就可以了,他可以設定每分鐘或每小時自動更新。

只要這份試算表有開著,他就會自動抓取資料和計算。

剩下的可以上官網參閱!連結(另開視窗)