【手把手教學】打造個人台股財報儀表板:自動化抓取營收與股價,同步雲端資料庫

更新 發佈閱讀 4 分鐘
投資理財內容聲明

前言

這篇文章將分享如何利用 Python 工具,自動化從公開資訊觀測站(MOPS)與 Yahoo Finance 抓取台灣市場(上市、上櫃、興櫃)的月營收財報歷史股價。我們將建立一個本地端資料庫,並將其同步至免費的雲端資料庫 Supabase,作為後續視覺化分析的基礎。


步驟一:準備開發環境

本教學使用 Google Colab,你不需要在電腦安裝任何環境,只需開啟專案連結即可。

  1. 開啟專案:點擊進入 StockRevenueLab GitHub
raw-image


  1. 開啟 Colab:在 GitHub 頁面中點擊 Open In Colab 圖示,或直接將 .ipynb 檔案上傳至 Google Colab。

或者直接點選「財報儀表板相關程式碼」_github.ipynb
出現如下畫面 如果設定好密碼以及專案ID 基本上就可以按全部執行

raw-image


  1. 申請 Supabase
    • 前往 Supabase 官網 註冊帳號。建議用Github即可
raw-image

登入後

建立新專案

輸入密碼

raw-image

project 如下畫面可以取得 點選專案進入後點選左下角的齒輪圖案後就可以取得Project ID

raw-image


    • 建立新專案(Project)。
    • 記下你的 Project Ref(專案 ID) 與 Service Role 密碼。

然後在colab上輸入以下資料

raw-image



步驟二:抓取全市場資料 (Local 精煉)

Colab 中的前幾個 Cell 會協助你在雲端主機上建立一個名為 local_taiwan_stock.db 的 SQLite 資料庫。

  • 股價抓取:自動從證交所抓取最新的證券清單(含 ETF、TDR、創新板),並透過 yfinance 下載 2020 年至今的日 K 資料。
  • 財報抓取:自動爬取 MOPS 過去 80 個月的月營收資料,並處理民國/西元轉換與資料清洗。

💡 小技巧:程式碼內建「雙主機 Fallback」機制,如果 MOPS 舊網址失效,會自動切換新網址,確保資料抓取不中斷。


步驟三:設定 Supabase 並執行智慧同步

當本地資料庫(SQLite)準備好後,我們需要將資料推送到雲端。

  1. 修改連線資訊:在程式碼中尋找以下區塊,填入你的 Supabase 資訊:
    PythonDB_PASSWORD = "你的 Supabase Service Role 密碼" PROJECT_REF = "你的專案 ID"
  2. 執行智慧同步
    • 程式會自動檢查 Supabase 上已有的資料日期。
    • 只上傳新增的股價紀錄,避免重複上傳大筆舊資料,提升效率。



步驟四:自動生成週 K 與年 K (雲端聚合)

資料上傳後,最後一個單元會利用 SQL 指令在 Supabase 中自動生成聚合報表:

  • 還原股價清洗:自動剔除因減資或併購產生的極端異常震盪(如 8476 台境的案例)。
  • 多維度 K 線:自動生成 stock_weekly_k (週線) 與 stock_annual_k (年線),方便你計算年化報酬率或觀察長線趨勢。


在streamit網頁點選右上角 Create app

raw-image

點選Deploy a public app from GitHub

raw-image

點選github專案中的StockRevenueLab 然後檔案點選app.py,再按Deploy套用就可以開啟儀表板了

raw-image

StockRevenueLab 的儀表板就會出現在如下圖,

接著點選Settings

raw-image

然後點選Secrets 輸入以下變數後 點選 Save changes離開

raw-image

就可以點選儀表板開始使用了

raw-image




留言
avatar-img
《炒股不看周月年K漲幅機率就是耍流氓》
9會員
278內容數
普通上班族,用 AI 與 Python 將炒股量化。我的數據宣言是:《炒股不做量化,都是在耍流氓》。
你可能也想看
Thumbnail
玉山 Unicard 新戶首刷禮,百大指定消費最高 7.5% 回饋,其中包含日本、韓國、臺灣在地 100 大指定通路,以及國內外旅遊平台、航空公司點數回饋上限1000點。 五大平台每月最高可回饋點數 500 點,今年年底前(12 月底)最後申辦機會,使用期限直達 2026 年 6 月,快把握機會!
Thumbnail
玉山 Unicard 新戶首刷禮,百大指定消費最高 7.5% 回饋,其中包含日本、韓國、臺灣在地 100 大指定通路,以及國內外旅遊平台、航空公司點數回饋上限1000點。 五大平台每月最高可回饋點數 500 點,今年年底前(12 月底)最後申辦機會,使用期限直達 2026 年 6 月,快把握機會!
Thumbnail
許多人為了信用卡優惠,持有大量信用卡,看似精打細算,實則可能浪費時間、造成財務混亂。本文以玉山Unicard為例,探討如何透過整合回饋、簡化選擇,解決多卡族的痛點,實現簡易消費與簡單理財。
Thumbnail
許多人為了信用卡優惠,持有大量信用卡,看似精打細算,實則可能浪費時間、造成財務混亂。本文以玉山Unicard為例,探討如何透過整合回饋、簡化選擇,解決多卡族的痛點,實現簡易消費與簡單理財。
Thumbnail
這篇文章分享了作者學習Python的過程,以及利用Python將經緯儀測量數據轉換成重測系統可讀取的檔案的心得。文中包含了作者編寫的Python程式碼,用於處理數據轉換,並解決了作者遇到的問題。作者也表達了對持續學習的熱忱。
Thumbnail
這篇文章分享了作者學習Python的過程,以及利用Python將經緯儀測量數據轉換成重測系統可讀取的檔案的心得。文中包含了作者編寫的Python程式碼,用於處理數據轉換,並解決了作者遇到的問題。作者也表達了對持續學習的熱忱。
Thumbnail
當我們在開發AI應用程式的時候, 常常會使用到onnx, ONNX 是一種開放標準格式,允許不同深度學習框架(如 PyTorch、TensorFlow、Scikit-learn)之間互通,使模型可以在不同平台上運行,而 ONNX Runtime 則是一個高效能的推理引擎,專門用來加速 ONNX
Thumbnail
當我們在開發AI應用程式的時候, 常常會使用到onnx, ONNX 是一種開放標準格式,允許不同深度學習框架(如 PyTorch、TensorFlow、Scikit-learn)之間互通,使模型可以在不同平台上運行,而 ONNX Runtime 則是一個高效能的推理引擎,專門用來加速 ONNX
Thumbnail
相信對於這一篇感興趣的朋友們都已經玩過kafka的Schema Registry了吧! 沒玩過得朋友也沒關係, 歡迎至「【🔒Message Queue - Kafka】傳輸訊息的標準格式制定者 Schema Registry」了解一下這是什麼玩意兒, 好了, 廢話不多說, 讓我們直接切入主題吧
Thumbnail
相信對於這一篇感興趣的朋友們都已經玩過kafka的Schema Registry了吧! 沒玩過得朋友也沒關係, 歡迎至「【🔒Message Queue - Kafka】傳輸訊息的標準格式制定者 Schema Registry」了解一下這是什麼玩意兒, 好了, 廢話不多說, 讓我們直接切入主題吧
Thumbnail
題目敘述 Patching Array 題目給定一個整數陣列, 請問還要補上多少個數字,才能用這些數字的和拼湊出所有1~n的整數。
Thumbnail
題目敘述 Patching Array 題目給定一個整數陣列, 請問還要補上多少個數字,才能用這些數字的和拼湊出所有1~n的整數。
Thumbnail
這篇文章,會帶著大家複習以前學過的格子點DP框架, 並且以移動路徑Unique Path的概念與應用為核心, 貫穿一些相關聯的題目,透過框架複現來幫助讀者理解這個演算法框架。 格子點DP框架 依循題目的定義和規則,找出格子點移動的共同模式。 以本篇文章的例題為例,每一步可以選擇往右走一個
Thumbnail
這篇文章,會帶著大家複習以前學過的格子點DP框架, 並且以移動路徑Unique Path的概念與應用為核心, 貫穿一些相關聯的題目,透過框架複現來幫助讀者理解這個演算法框架。 格子點DP框架 依循題目的定義和規則,找出格子點移動的共同模式。 以本篇文章的例題為例,每一步可以選擇往右走一個
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News