專案紀錄:HC 價值股清單追蹤系統實戰

專案紀錄:HC 價值股清單追蹤系統實戰

探討如何透過 Financial Modeling Prep (FMP) API 建構全自動化的機構級股票戰情室,串接財報數據、DCF 估值與自定義演算,實現秒級化財務分析。


本篇專案紀錄探討如何將傳統手動的股票分析流程,透過自動化 API 串接與前端介面開發,轉化為一套專屬的 「HC 價值股清單」。系統透過呼叫高品質的外部金融 API,自動運算出企業的經濟護城河、安全邊際與獲利含金量。

以下將透過系統架構設計與模組說明,展示此戰情室的技術實作細節與機構級投資分析的應用價值。


質化分析與量化分析(數據源)

我們在系統架構中還注入了「質化數據源」。如果你想了解我們是如何評估企業的經濟護城河、管理層信任度與風險評級,可以閱讀總結 「思維格柵 002」 總整理文章:

👉 100 間核心企業投資價值總整理

量化部分,為了打造這套高度自動化的戰情室,評估並整合了多種不同層級的財務數據源。如果你想親手實作或了解這些數據源的底層邏輯,可以參考:

工具名稱應用場景 (為何我們使用它?)
FMP API取得最即時的報價、深度的 ROIC 指標,以及華爾街動態折現的 DCF 估值。
yfinance作為備援的離線模式,零成本抓取歷史財報,並建立本地免金鑰的測試環境。
SimFin雖然本專案未直接使用,但極適合用來做 38 檔成份股的長期機器學習與量化回測。
SEC (secfsdstools)深入探究 FMP 雲端估值的底層邏輯,利用最源頭的數據重建我們專屬的 DCF 防線。

系統架構總覽

這套戰情室捨棄了傳統的 Excel 試算表,改以 React (Next.js) 作為前端渲染核心,並將資料來源指定為 Financial Modeling Prep (FMP) API 的最新 /stable/ 端點。這使我們能直接獲取經過華爾街標準化處理的深層財務指標。

Loading Diagram...

三軌資料流架構設計:系統兵分兩路,量化數據向外打 FMP API 抓取毫秒級財務指標;質化數據則向內讀取研究員親自撰寫的 101 系列深度分析 MDX 檔案,萃取出人工判定的護城河與風險,最終於戰情室完美融合。


核心功能模組展示

為了貼合嚴謹的「價值投資」邏輯,系統介面完全比照專業終端機,將龐雜的數據收斂為核心的四大板塊與三軌切換:

為了兼顧資料即時性與開發測試成本,系統在頂端控制列實作了 「資料來源切換」 引擎:

  • 雲端模式 (FMP API):透過輸入 API Key,即時獲取華爾街機構級的深層財務數據與系統 DCF 運算。 HC價值選股-雲端模式
  • 本地模式 (Yahoo JSON):讀取由後台 Python 爬蟲 (yfinance) 定期抓取生成的本地檔案 (tool3-yfinance-data.json)。這不僅實現了 零成本 的無限次載入以避開 API 限制,系統更能去掃描並結合本地設定檔 (dcf_assumptions.json),自動套用每家公司專屬的 WACC、預期成長率與 ADR 匯率轉換,實現高度客製化的離線估值引擎。 HC價值選股-離線模式
  • 官方模式 (SEC Local):讀取由 secfsdstools 腳本從美國證券交易委員會 (SEC EDGAR) 官方數據庫下載並解析的原汁原味財報數據 (tool3-sec-data.json)。這是最權威、無人為修飾的源頭數據,搭配自建的 DCF 模型,確保我們不會受到第三方商業 API 算法黑箱的影響,掌握 100% 的估值主導權。 HC價值選股-官方模式

1. 質化判定 (Qualitative Analysis)

在投資的起始點,我們深知單純的財務比率無法精準詮釋企業的防禦力。因此戰情室採用了獨特的「三軌架構」:

技術特點:

  • 護城河 (Moat) 與風險 (Risk) 人工萃取:透過 Python 腳本掃描本地端的 部落格文章 (100 系列研究報告),將研究員針對「轉換成本、網絡效應」等質化分析心血,直接萃取為前端的 Metadata 字典。

2. 獲利能力 (Profitability)

跳脫傳統只看營收增長的迷思,戰情室直接向 FMP 提取機構最在意的利潤率與資本回報率。

監控指標:

  • 毛利率 / 營益率 / 淨利率:透過 ratios-ttm 端點,一鍵展開公司的利潤三層架構,秒速看出定價權與營運效率。
  • ROE 與 ROIC:整合股東權益報酬率與投入資本回報率,雙重驗證管理階層的資金運用效率。

3. 財務安全 (Financial Health)

結合資產負債表與現金流量表的關鍵數據,確保企業在經濟寒冬中的存活率。

監控指標:

  • 自由現金流 (FCF):直接打向 FMP 的 cash-flow-statement 端點,抓出未經美化的絕對現金創造力 (以十億美元為單位)。
  • 流動比 / 負債比:檢視短期與長期的償債壓力。

4. 估值與定價 (Valuation & Pricing)

這是整套戰情室最具價值的自動化功能。

運作邏輯:

  1. 即時股價 (Price):從 quote 端點獲取毫秒級的最新報價。
  2. DCF 合理價:捨棄手算,直接串接 FMP 獨家的 discounted-cash-flow 端點。FMP 系統會根據美國公債殖利率與公司的 Beta 值,動態折現出最新的合理內在價值。
  3. 安全邊際自動計算:前端自動計算 ((DCF - Price) / Price),並進行排序。當安全邊際 > 0 時亮起綠燈,一眼看出市場上的錯殺機會。

5. 持久化快取與防限流機制

為解決 API Rate Limit (請求頻率限制) 與額度消耗問題,系統加入了兩道防護:

  • 請求佇列延遲 (Throttling):在獲取 38 檔頂級巨頭數據時,加入 300ms 的非同步延遲,確保不會觸發 HTTP 429 Too Many Requests 錯誤。
  • LocalStorage 記憶層:運算完成的陣列會即時序列化並寫入瀏覽器快取。下次開啟戰情室時,會瞬間載入上一次的計算結果,實現「零延遲」的無縫體驗。

地端與雲端數字差異紀錄

在系統實作與測試過程中,我們以 嬌生 (JNJ) 為例,將「離線模式 (Yahoo)」與「雲端模式 (FMP)」的運算結果進行了交叉比對,進行差異比對:

模式護城河風險毛利率營益率淨利率ROEROICFCF (B)流動比負債比現價 ($)DCF 合理價安全邊際P/E
離線模式 (Yahoo)WideMedium67.9%27.2%28.5%32.9%21.3%19.311.030.24225.33$195.17-13.4%26.1
雲端模式 (FMP)WideMedium69.1%26.9%21.8%26.3%13.6%19.701.030.09225.33$334.41+48.4%26.2
官方模式 (SEC)WideMedium67.9%27.2%20.8%32.9%18.5%19.71.030.59222.89$295.82+32.7%25.9

在這套設計中,基礎的財報數字 (利潤率、現金流等) 地端與雲端皆已對齊為最新的 TTM (近十二個月滾動) 數據,真正的核心落差在於 DCF 模型的底層邏輯差異

  • 地端 DCF ($199.11): 使用的是我們設定的專屬保守變數 (WACC: 10%, 成長率: 5%, 5 年期投射) 配合簡化模型算出,這代表了我們的防禦底線
  • 雲端 DCF ($334.41): 經過我們利用 SEC 官方現金流進行逆向工程推算,FMP 極高機率採用了 「長達 10 年期的投射 + 偏低的浮動折現率 (如 CAPM 算出的 6.5% ~ 7%)」。因為 JNJ 股性抗跌 (Beta 極低),FMP 算出的折現率大幅下降,配合長週期的複利放大效應,進而推高了估值。
  • 官方模式 (SEC) ($295.82): 採用與雲端類似的 10 年期現金流投射模型(設定折現率 7%、永續成長 2.5%),但所有基礎財報數字皆由 secfsdstools 直接從 SEC EDGAR 官方原始數據庫萃取,完全排除商業 API 的運算黑箱,確保計算邏輯 100% 透明與可控。

這完美詮釋了「三軌切換」的價值:雲端 FMP 代表了華爾街標準演算法下的市場共識,而地端本地模式則忠實反映了研究員套用嚴格濾網後的保守安全邊際。 兩者並用,能讓估值決策更加立體。


系統價值與未來展望

這套系統初期的最大價值,在於透過 API 將量化數據高度自動化,大幅減少每次財報季更新這 38 檔股票時所耗費的「大量手動查詢與計算時間」,讓我們能把精力真正保留給那些無法被機器取代的質化洞察。

IMPORTANT

API 數據源的選擇:為何採用 FMP 付費版? 測試過程中我們發現,市面上免費 API 多半只提供「原始財報」,且對查詢標的(如中型企業)有嚴格的白名單限制。為了取得直接計算好的 ROIC 與 DCF 數據,並完整覆蓋我們的 38 檔投資組合,採用 FMP 的 Starter 方案 (約 $19/月) 是性價比最高的架構決策,大幅節省了我們自建財經資料庫的維護成本。

TIP

後續擴展方向

  • 警示推播:串接 Webhook 或 Telegram Bot,當某檔優質股的「安全邊際」突然大於 20% 時,自動發送手機推播。

WARNING

開發反思:質化研究與估值模型的落差挑戰

  1. 質化指標的落後性:目前在實務應用上,質化研究 (如經濟護城河、風險評級) 依然屬於落後資訊,這部分高度依賴「人為」進行深度研究與定期更新,要將其轉化為完全自動化的「即時動態指標」仍有先天上的困難。
  2. 三軌估值的差異性:在使用「地端本地模式」時需特別注意,本地的 DCF 估值是基於文章中針對個別公司所設定的固定 WACC 與保守成長率(儲存於 dcf_assumptions.json),這反映了研究員主觀的安全預期;而「雲端 FMP 模式」的 DCF 則是基於市場即時 Beta 值與公債殖利率做動態折現。兩者的計算邏輯與結果必然存在差異,實務操作上應將地端估值視為「個人的防禦底線」,雲端估值則作為「市場共識的參考基準」。