Google試算表-以ImportXML與ImportHTML為例

前置工作

請讀者需先閱讀完文章:五日線與十日線之策略XQ之DDE策略觸發-以LINE Notify自動通知為例Google試算表-以GoogleFinance為例



準備項目:

  • Google(需登入)




前言

這篇Google試算表-以GoogleFinance為例,雖然可以透過Google 財經取得股票資訊,但是該資訊並非來自所有市場的即時資訊,延遲20分鐘之久。本文提供一種方式,可以取得最即時的資訊,不會延遲的問題,透過ImportXML與ImportHTML,可以抓到即時行情與歷史行情。本文以智原(3035)Yahoo股市為例製作即時行情,以鉅亨網-智原為例製作歷史行情之表單。





何謂ImportXML與ImportHTML

  1. ImportXML:
    • 使用 IMPORTXML 函式,可以從 HTML 網頁中提取結構化的資料,例如 XML、HTML、CSV 和 RSS 等格式。
    • 語法:IMPORTXML(網址, xpath_查詢, 語言代碼)。
    • 網址:要檢查的網頁所在網址,包括通訊協定名稱(例如 http://)。網址的值必須放置在引號內,或者是一個含有適當文字的儲存格。
    • XPATH 查詢:用於定位網頁中的特定元素。
    • 語言代碼:可選參數,用於指定網頁的語言。
    • 範例:假設你想從「Yahoo股市」抓取智原的股價資料,你可以使用以下公式:=IMPORTXML(“https://tw.stock.yahoo.com/quote/3035”, “//*[@id=’main-0-QuoteHeader-Proxy’]/div/div[2]/div[1]/div/span[1]”)
    • 這返回智原的最新股價。
  2. ImportHTML:
    • 使用 IMPORTHTML 函式,可以從 HTML 網頁中提取表格或清單中的資料。
    • 語法:IMPORTHTML(網址, 查詢類型, 索引)。
    • 網址:要檢查的網頁所在網址,包括通訊協定名稱(例如 http://)。網址的值必須放置在引號內,或者是一個含有適當文字的儲存格。
    • 查詢類型:指定要提取的資料類型,可以是 “table” 或 “list”。
    • 索引:可選參數,用於指定要提取的表格或清單的索引(從 0 開始)。
    • 範例:假設你想從某個網頁中提取表格資料,你可以使用以下公式:=IMPORTHTML(“https://example.com”, “table”, 0)
    • 這返回該網頁的第一個表格的內容。




A、利用現成Google試算表-範例檔案

準備項目:

開啟這個Google試算表-範例檔案,然後依序設定,





開啟此檔僅能讀取,需要登入自己Google帳號建立副本才能編輯。





設定1分重整,然後依據需求修改範本如B所示。







B、建立空白試算表並製作即時行情





第一列需自行手動輸入,本文以動作、股號、名稱、時間、成交價、均價、漲跌幅、成交量(張數)為例,讀者可自行增刪。



接著,於B2欄位手動輸入3035,如下圖所示:



Yahoo股市搜尋3035,並點擊智原,如下圖所示:



C2欄位需要股票名稱,使其顯示的方式,步驟如下:

先於C2欄位輸入公式:=IMPORTXML(“網址”,”xpath_查詢”)



Yahoo股市中智原的網址反白並點擊右鍵複製,貼到公式中網址的部分,其文字取代。那因為先前在B2欄位時有手動輸入股號,為了方便日後可能會替換成其他股票,這邊筆者利用CONCATENATE函數整合Yahoo股市的網址前段與手動輸入股票代碼的B2欄位,日後若需替換其他股票,只需將B2欄位之股號替換即可,此時變成:=IMPORTXML(CONCATENATE(“https://tw.stock.yahoo.com/quote/”,B2),”xpath_查詢”)





回到Yahoo股市中智原之網頁,智原兩字反白並點擊右鍵檢查。



該藍色框框所代表的是反白區域,此時於藍色框框處點擊右鍵找到Copy中的Copy XPath後單擊。



然後回到Google試算表,將xpath_查詢之文字反白並按右鍵貼上,如下圖所示:



貼上後,原xpath為下圖所示:



@id=內的雙引號改成單引號,才能夠成功傳回資料,如下圖所示:



若出現警告標示如下圖,請點擊允許存取。



此時便出現股票名稱傳回Google試算表了。



D2欄位之時間、E2欄位之成交價、F2欄位之均價、G2欄位之漲跌幅、H2欄位之成交量(張數),以此類推。





製作歷史行情

首先,手動輸入5日、10日、均價、均量以及股票代號,本文以A16輸入股票代號,B16輸入5日,B17輸入10日,F15輸入均價,I15輸入均量為例,其中股票代號可用公式:=B2抓取上方B2欄位已經輸入好的股票代碼,股票名稱可用公式:=C2抓取上方C2欄位已經抓取的股票名稱,若往後讀者需修改時,只需修改上方B2欄即可,下方的歷史行情會跟著B欄修改而改變。





接著,先於B18欄處輸入公式:=IMPORTHTML(“https://example.com”, “table”, 0),如下圖所示:



鉅亨網-智原,網址反白並點擊右鍵複製,貼到網址的部分,https://example.com取代。那因為先前在B2欄位時有手動輸入股號,為了方便日後可能會替換成其他股票,這邊筆者利用CONCATENATE函數整合鉅亨網-智原的網址前段與手動輸入股票代碼的B2欄位,日後若需替換其他股票,只需B2欄位之股號替換即可。



ImportHTML的索引,尋找程式碼,輸入<table,恰為第1個,因此索引值輸入1。此時變成:=IMPORTHTML(CONCATENATE(“https://www.cnyes.com/twstock/ps_historyprice.aspx?code=”,B2),”table”,1),如下圖所示:



此時智原的歷史資料便可成功傳回,如下圖所示:



接著就要來計算5日均價、5日均量、10日均價、10日均量。

5日均價,公式為:=AVERAGE(F19:F23),如下圖所示:



5日均量,公式為:=AVERAGE(I19:I23),如下圖所示:



10日均價,公式為:=AVERAGE(F19:F28),如下圖所示:



10日均量,公式為:=AVERAGE(I19:I28),如下圖所示:





製作A欄動作

做完歷史資料後,就可以回來製作A欄的動作了!

A欄之判別動作的買賣訊號,根據文章五日線與十日線之策略XQ之DDE策略觸發-以LINE Notify自動通知為例,其公式為:=IF(F16<F17,”Sell”,IF(H2>I16,”Buy”,”NO”)),當5日均價<10日均價時顯示Sell(賣),當5日均價>10日均價且總量>5日均量時顯示Buy(買),當5日均價>10日均價但總量≤5日均量時顯示NO(不操作)。





休息一下走的更遠

如上為本研究大數據分析,歡迎各先進來信批評指教。
最後希望本站對您能所幫助,您的來訪、分享、支持、打賞是本站成長進步最大的動力
溫馨提示:本研究僅為教學研究,藉此成長進步,增長知識常識,請勿據此操作

Facebook帳號發言
5/5 - (4 votes),據研究顏質高者、財富高者,都很樂於獎勵他人,都給5星讚賞,進而打賞者,未來成就會更高。
Follow、Share 、Like:

小心詐騙:本站純為教學研究,未成立任何社團,請勿受騙,只能相信成功皆為努力得來,不要相信誇張訊息,如保本高利、交付存摺、引導轉帳、高薪崗位、內線後門、大帥哥大正妹、號稱名師、....等等都是詐騙,快撥防詐專線165。

釘選至 Pinterest

本站利用Cookies,進行功能最佳化,提升個人最優化,若您持續瀏覽,即表示同意。 View more
接受
返回頂端

本文總閱讀量 次、本站總訪問量 次、本站總訪客數