2018年11月20日 星期二

EXCEL VBA:集保庫存 (檔案包版)

之前花了一點時間作集保庫存自動抓取資料改版,後來從網頁爬蟲的方式改為檔案包,速度與穩定度明顯更好,且不會造成官方網站流量問題。
作業流程:
1.定時自動抓檔案包。(之前這部分是透過網路爬蟲方式,感覺不夠快)
說明:之前用網路爬蟲大約花15分鐘完成,但就是怕網站無回應產生錯誤,即使寫了防呆,中間也發現等待時間比處理資料的時間更久!!!一直都知道集保庫存的官方網站有提供檔案包,就開始萌生改成用檔案包方式作資料更新,透過檔案包一次性下載後,再透過陣列方式直接更新到各別股票檔案也僅需5分鐘不到(1607個股檔案,看等待時間花了多久),讚!!
主要是利用QueryTables的功能來完成資料擷取,順便自動存檔,為避免資料日期重複,在作檔案包時,檢查資料日期也很重要,總不能一直抓重複日期的資料。
範本參考:Microsoft MSDN
基本上僅修改範例中的網址部分(紅色圈記處),即可作動。



2.開啟檔案包資料並複製。
3.開啟個股EXCEL資料檔,將對應集保庫存資料寫入。
   說明:按每周資料作逐一維護,目前已陸續累積了約106周的資料。


圖1.現有集保庫存(部分資料)
4.開始分析各類持股的變化,並彙整成報告方式作彙整。分析結果參照片,喜歡已經整理好的輸出方式跟分類。
說明:如何完成減少幾期;增加幾期的分析,這部分主要是利用遞迴技巧完成的,有機會再整理遞迴的概念。
圖2.分析後報告輸出

我的雷達:20240506

自己紀錄給自己看。 在大跌1400多點後,拉回中。 雷達顯示遠離風險區但離前一個底(大盤高點也不遠了)