2025年2月4日 星期二

[google finance] 如何解決每天Google Finance 開盤前15分鐘抓不到開盤價格?

Google Finance 的數據更新頻率取決於市場數據類型,以下是各種情境的更新間隔:

1. 美股(如 AAPL, TSLA)

  • 市場開放時間(美東時間 09:30 - 16:00)
    約 1 分鐘 更新一次(有時延遲 2-5 分鐘)
  • 盤後交易(After Hours, 16:00 - 20:00)
    約 5-10 分鐘 更新一次
  • 休市時(非交易時段)
    📌 不更新,顯示前一交易日的收盤價

2. 台股(TPE:2330, TPE:0050)

  • Google Finance 不支援即時台股數據,通常 延遲 20 分鐘以上
  • 開盤時(09:00)可能要到 09:20 - 09:30 才會更新開盤價
  • 盤中更新頻率:每 5-20 分鐘
  • 收盤後(13:30 之後):通常要 等幾小時 才會更新當日數據

📌 台股即時數據建議用台灣證交所 API 或 Yahoo Finance


3. 外匯(如 USD/TWD, EUR/USD)

  • 大多數貨幣對:每 5-10 分鐘更新一次
  • 熱門貨幣(如 USD/EUR, USD/JPY):1 分鐘內可能會更新
  • 加密貨幣(如 BTC/USD)不支援即時數據

4. 基金(如 Vanguard VOO, QQQ)

  • 不提供即時價格,通常一天更新一次
  • ETF(如 SPY, VOO):約 15 分鐘延遲(類似美股)

IMPORTXML 函數 解決方法:

但若是使用 IMPORTXML 函數,上櫃資料常會出現  “  -  ” 的符號,這會造成表中的一些計算無法同步執行。上市的資料倒是沒什麼問題。

解決方法可以使用 apps script 或是用以下比較阿Q的方法。
例如要抓取 00937B,可以使用以下函數:
=IMPORTXML("https://tw.stock.yahoo.com/quote/00937B","//*[@id='main-0-QuoteHeader-Proxy']/div/div[2]/div[1]/div/span[1]")
若是出現  “  -  ” 的符號 ,可以使用以下函數:

=if(IMPORTXML("https://tw.stock.yahoo.com/quote/00937B","//*[@id='main-0-QuoteHeader-Proxy']/div/div[2]/div[1]/div/span[1]")="-",15.78,IMPORTXML("https://tw.stock.yahoo.com/quote/00937B","//*[@id='main-0-QuoteHeader-Proxy']/div/div[2]/div[1]/div/span[1]"))

公式的意思其實就是,當抓不到資料的時候,就出現紅色的價格,這個價格可以自己修改,若可以抓到就恢愎正常狀態,這樣就可以做後續的一些計算,不會卡住了,有沒有很阿Q呀!!!^_^

沒有留言:

熱門文章