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

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

前言

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


步驟一:準備開發環境

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

  1. 開啟專案:點擊進入 StockRevenueLab GitHub
vocus|新世代的創作平台


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

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

vocus|新世代的創作平台


  1. 申請 Supabase
    • 前往 Supabase 官網 註冊帳號。建議用Github即可
vocus|新世代的創作平台

登入後

建立新專案

輸入密碼

vocus|新世代的創作平台

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

vocus|新世代的創作平台


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

然後在colab上輸入以下資料

vocus|新世代的創作平台



步驟二:抓取全市場資料 (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

vocus|新世代的創作平台

點選Deploy a public app from GitHub

vocus|新世代的創作平台

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

vocus|新世代的創作平台

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

接著點選Settings

vocus|新世代的創作平台

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

vocus|新世代的創作平台

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

vocus|新世代的創作平台




留言
avatar-img
《炒股不看周月年K漲幅機率就是耍流氓》
16會員
290內容數
普通上班族,用 AI 與 Python 將炒股量化。我的數據宣言是:《炒股不做量化,都是在耍流氓》。
你可能也想看
Thumbnail
當我們在開發AI應用程式的時候, 常常會使用到onnx, ONNX 是一種開放標準格式,允許不同深度學習框架(如 PyTorch、TensorFlow、Scikit-learn)之間互通,使模型可以在不同平台上運行,而 ONNX Runtime 則是一個高效能的推理引擎,專門用來加速 ONNX
Thumbnail
當我們在開發AI應用程式的時候, 常常會使用到onnx, ONNX 是一種開放標準格式,允許不同深度學習框架(如 PyTorch、TensorFlow、Scikit-learn)之間互通,使模型可以在不同平台上運行,而 ONNX Runtime 則是一個高效能的推理引擎,專門用來加速 ONNX
Thumbnail
本文分析導演巴里・柯斯基(Barrie Kosky)如何運用極簡的舞臺配置,將布萊希特(Bertolt Brecht)的「疏離效果」轉化為視覺奇觀與黑色幽默,探討《三便士歌劇》在當代劇場中的新詮釋,並藉由舞臺、燈光、服裝、音樂等多方面,分析該作如何在保留批判核心的同時,觸及觀眾的觀看位置與人性幽微。
Thumbnail
本文分析導演巴里・柯斯基(Barrie Kosky)如何運用極簡的舞臺配置,將布萊希特(Bertolt Brecht)的「疏離效果」轉化為視覺奇觀與黑色幽默,探討《三便士歌劇》在當代劇場中的新詮釋,並藉由舞臺、燈光、服裝、音樂等多方面,分析該作如何在保留批判核心的同時,觸及觀眾的觀看位置與人性幽微。
Thumbnail
題目敘述 Patching Array 題目給定一個整數陣列, 請問還要補上多少個數字,才能用這些數字的和拼湊出所有1~n的整數。
Thumbnail
題目敘述 Patching Array 題目給定一個整數陣列, 請問還要補上多少個數字,才能用這些數字的和拼湊出所有1~n的整數。
Thumbnail
這篇文章,會帶著大家複習以前學過的格子點DP框架, 並且以移動路徑Unique Path的概念與應用為核心, 貫穿一些相關聯的題目,透過框架複現來幫助讀者理解這個演算法框架。 格子點DP框架 依循題目的定義和規則,找出格子點移動的共同模式。 以本篇文章的例題為例,每一步可以選擇往右走一個
Thumbnail
這篇文章,會帶著大家複習以前學過的格子點DP框架, 並且以移動路徑Unique Path的概念與應用為核心, 貫穿一些相關聯的題目,透過框架複現來幫助讀者理解這個演算法框架。 格子點DP框架 依循題目的定義和規則,找出格子點移動的共同模式。 以本篇文章的例題為例,每一步可以選擇往右走一個
Thumbnail
背景:從冷門配角到市場主線,算力與電力被重新定價   小P從2008進入股市,每一個時期的投資亮點都不同,記得2009蘋果手機剛上市,當時蘋果只要在媒體上提到哪一間供應鏈,隔天股價就有驚人的表現,當時光學鏡頭非常熱門,因為手機第一次搭上鏡頭可以拍照,也造就傳統相機廠的殞落,如今手機已經全面普及,題
Thumbnail
背景:從冷門配角到市場主線,算力與電力被重新定價   小P從2008進入股市,每一個時期的投資亮點都不同,記得2009蘋果手機剛上市,當時蘋果只要在媒體上提到哪一間供應鏈,隔天股價就有驚人的表現,當時光學鏡頭非常熱門,因為手機第一次搭上鏡頭可以拍照,也造就傳統相機廠的殞落,如今手機已經全面普及,題
Thumbnail
這篇文章分享了作者學習Python的過程,以及利用Python將經緯儀測量數據轉換成重測系統可讀取的檔案的心得。文中包含了作者編寫的Python程式碼,用於處理數據轉換,並解決了作者遇到的問題。作者也表達了對持續學習的熱忱。
Thumbnail
這篇文章分享了作者學習Python的過程,以及利用Python將經緯儀測量數據轉換成重測系統可讀取的檔案的心得。文中包含了作者編寫的Python程式碼,用於處理數據轉換,並解決了作者遇到的問題。作者也表達了對持續學習的熱忱。
Thumbnail
我們在「【資料處理神器區 - Pytube系列】 蒐集情報讓數據會說話」有介紹怎麼分析Youtube影音資訊,但過程中卻遇到了一些問題...,沒關係,動動手做個Maker來解決麻煩吧! 前景提要 故事是這樣的, 小明在使用pytube進行Youtube頻道的分析時, 發現到奇怪, 原本抓影片可以
Thumbnail
我們在「【資料處理神器區 - Pytube系列】 蒐集情報讓數據會說話」有介紹怎麼分析Youtube影音資訊,但過程中卻遇到了一些問題...,沒關係,動動手做個Maker來解決麻煩吧! 前景提要 故事是這樣的, 小明在使用pytube進行Youtube頻道的分析時, 發現到奇怪, 原本抓影片可以
Thumbnail
5 月將於臺北表演藝術中心映演的「2026 北藝嚴選」《海妲・蓋柏樂》,由臺灣劇團「晃晃跨幅町」製作,本文將以從舞台符號、聲音與表演調度切入,討論海妲・蓋柏樂在父權社會結構下的困境,並結合榮格心理學與馮.法蘭茲對「阿尼姆斯」與「永恆少年」原型的分析,理解女人何以走向精神性的操控、毀滅與死亡。
Thumbnail
5 月將於臺北表演藝術中心映演的「2026 北藝嚴選」《海妲・蓋柏樂》,由臺灣劇團「晃晃跨幅町」製作,本文將以從舞台符號、聲音與表演調度切入,討論海妲・蓋柏樂在父權社會結構下的困境,並結合榮格心理學與馮.法蘭茲對「阿尼姆斯」與「永恆少年」原型的分析,理解女人何以走向精神性的操控、毀滅與死亡。
Thumbnail
當您看到這樣的訊息時: TypeError: exceptions must derive from BaseException 可能會很困惑究竟是什麼原因導致這樣的錯誤發生, 那本章節將會告訴您以下: 怎麼發生的? 怎麼解決? 我們應該用Exception或BaseException嗎
Thumbnail
當您看到這樣的訊息時: TypeError: exceptions must derive from BaseException 可能會很困惑究竟是什麼原因導致這樣的錯誤發生, 那本章節將會告訴您以下: 怎麼發生的? 怎麼解決? 我們應該用Exception或BaseException嗎
Thumbnail
這是一場修復文化與重建精神的儀式,觀眾不需要完全看懂《遊林驚夢:巧遇Hagay》,但你能感受心與土地團聚的渴望,也不急著在此處釐清或定義什麼,但你的在場感受,就是一條線索,關於如何找著自己的路徑、自己的聲音。
Thumbnail
這是一場修復文化與重建精神的儀式,觀眾不需要完全看懂《遊林驚夢:巧遇Hagay》,但你能感受心與土地團聚的渴望,也不急著在此處釐清或定義什麼,但你的在場感受,就是一條線索,關於如何找著自己的路徑、自己的聲音。
Thumbnail
相信對於這一篇感興趣的朋友們都已經玩過kafka的Schema Registry了吧! 沒玩過得朋友也沒關係, 歡迎至「【🔒Message Queue - Kafka】傳輸訊息的標準格式制定者 Schema Registry」了解一下這是什麼玩意兒, 好了, 廢話不多說, 讓我們直接切入主題吧
Thumbnail
相信對於這一篇感興趣的朋友們都已經玩過kafka的Schema Registry了吧! 沒玩過得朋友也沒關係, 歡迎至「【🔒Message Queue - Kafka】傳輸訊息的標準格式制定者 Schema Registry」了解一下這是什麼玩意兒, 好了, 廢話不多說, 讓我們直接切入主題吧
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News