這份 probability.py(對應網址中的 /probability 頁面)是 StockRevenueLab 專案中最具備「量化統計」靈魂的單元。它的核心目的不是看單一公司的表現,而是找出統計勝率:如果一家公司一年內營收爆發 5 次,它年度漲幅翻倍的機率是多少?
一、 研究動機:別再盲目追高
很多投資人看到單月營收爆發就衝進去,但「一次爆發」可能只是短暫火花。這個儀表板透過分析 2020 年以來的台股數據,告訴你營收爆發的**「次數」與「年度勝率」**的邏輯關係,幫你建立更有溫度的統計盤感。二、 網頁操作指南(How to Use)
🔗 快速傳送門
- 🎲 立即進入:機率研究室 2.0 儀表板
- 📂 GitHub 專案原始碼 (app.py 與機率邏輯)
步驟 1:設定你的「爆發」定義(側邊欄)
- 研究指標:選擇 YoY (年增率) 或 MoM (月增率)。
- 爆發區間 (%):你可以定義什麼叫做爆發。例如設定
100% ~ 1000%,代表研究那些「營收翻倍」的公司。
步驟 2:觀察「爆發次數」的分布
- 統計表格:系統會自動分類「一年內達標 1 次、2 次...到 12 次」的股票各有幾檔。
- 核心數據:重點關注 「中位數漲幅%」 與 「翻倍率 (>100%)」。你會驚訝地發現,當爆發次數超過一定門檻時,勝率會出現顯著的跳升。
步驟 3:期望值與綜合評分
如果你不知道哪個區間最值得投資,看 「綜合評分」。這個指標整合了:
- 平均報酬:這組股票平均賺多少?
- 風險調整 (標準差):波動大不大?
- 成功率:漲幅超過 20% 的比例。
步驟 4:AI 深度策略診斷
這是我最喜歡的功能!系統會根據當前統計出的表格,自動生成專用的 Markdown 資料,點擊 「ChatGPT 分析」,AI 會以量化分析師的身分,幫你解讀哪些區間存在「右尾效應」(即少數幾檔股票漲幅驚人,拉高平均值)。





三、 程式碼技術說明(Technical Analysis)
對於想學習資料科學的朋友,這段程式碼有幾個非常精妙的設計:
1. 高效率的 SQL 預處理 (CTE 技術)
在 fetch_prob_data 函數中,我們使用了 SQL 的 CTE (Common Table Expressions)。
- 先在
hit_table算好每檔股票的「爆發次數」。 - 再從
perf_table取得該年度的「股價報酬」。 - 最後進行
JOIN。 這種寫法比在 Python 裡面跑迴圈快上百倍,能即時處理 16 萬筆數據。
2. 中位數的精準計算 (PERCENTILE_CONT)
在統計學中,平均值容易被 1000% 的極端妖股帶走。我們在 SQL 中使用了進階語法:
SQL
PERCENTILE_CONT(0.5) WITHIN GROUP (ORDER BY ret)
這能直接在資料庫端算出精準的「漲幅中位數」,這對於評估「一般大眾進場後最可能的獲利」非常有參考價值。
3. 右偏分佈(Right-Skewed)偵測
程式碼會自動計算「平均數」與「中位數」的差異。
- 當 平均數 >> 中位數:代表這個區間存在少數暴利飆股。
- 當 二者接近:代表獲利分佈較均勻,投資風險相對可控。
4. 期望值分數模型
我們實作了一個簡單但強大的評分公式: 綜合評分 = (期望值 + 風險調整分數 + 成功率分數) / 3 這考慮了投資中的三個關鍵:賺多、賠少、機率高。
四、 結語:讓機率站在你這邊
投資不是賭博,而是尋找機率優勢。透過「機率研究室 2.0」,你可以發現營收成長不僅是基本面,它更是一組具備統計意義的強力買入訊號。











