美股工具:Financial Modeling Prep (FMP) API 簡介

美股工具:Financial Modeling Prep (FMP) API 簡介

深入探討 Financial Modeling Prep (FMP) API,從基礎獲取財報數據、即時股價到進階估值模型建構,為投資研究提供強大的數據後盾。


想要打造自己的量化交易系統或自動化投資研究,可靠的財務數據源是不可或缺的基石。

在眾多金融數據 API 中,Financial Modeling Prep (FMP) API 因其涵蓋範圍廣、價格親民且提供豐富的財務報表與估值數據,成為許多散戶開發者、量化交易員以及中小型投資機構的首選。今天,我們將深入解析 FMP API 的核心功能,並透過實戰範例展示如何將其應用於美股投資研究中。


為什麼選擇 FMP API?

市場上提供美股數據的 API 眾多(例如 Alpha Vantage, Yahoo Finance, Polygon.io 等),FMP 之所以脫穎而出,主要有以下幾個優勢:

  1. 深度財務數據:除了基本的開高低收(OHLC)價格數據外,FMP 提供深度的三大財務報表(損益表、資產負債表、現金流量表)、歷史財報數據、SEC 文件連結,以及各項財務比率。
  2. 內建估值模型:FMP API 甚至直接提供了 DCF(現金流折現模型)估值、企業價值(Enterprise Value)等進階數據,大幅減少了自己計算的麻煩。
  3. 高性價比:相較於 Bloomberg 或 Refinitiv 等機構級終端機,FMP 的定價對個人開發者非常友善,甚至提供免費方案供新手測試。
  4. 豐富的覆蓋範圍:除了美股,還涵蓋了外匯、加密貨幣、大宗商品、甚至部分國際市場。

FMP API 核心端點 (Endpoints) 介紹

取得 API Key 後,你可以透過簡單的 HTTP GET 請求獲取 JSON 格式的數據。以下是幾個投資研究中最常用的端點:

1. 公司基本資料 (Company Profile)

想快速了解一間公司的產業、市值、Beta 值或 CEO 是誰?

  • Endpoint: /api/v3/profile/{ticker}
  • 應用場景:建構股票篩選器,或是自動化產出公司概況報告。

2. 三大財務報表 (Financial Statements)

這是 FMP 最有價值的數據之一,分為年報與季報。

  • 損益表: /api/v3/income-statement/{ticker}
  • 資產負債表: /api/v3/balance-sheet-statement/{ticker}
  • 現金流量表: /api/v3/cash-flow-statement/{ticker}
  • 應用場景:追蹤公司營收成長率、毛利率變化、自由現金流健康度,用於基本面深度分析。

3. 關鍵財務比率 (Financial Ratios)

  • Endpoint: /api/v3/ratios/{ticker}
  • 應用場景:獲取 PE、PB、ROE、ROA、流動比率等,用於「可比公司分析 (Comps Analysis)」或建構價值投資選股策略。

4. 歷史股價與技術指標 (Historical Price & Technical Indicators)

  • Endpoint: /api/v3/historical-price-full/{ticker} (支援日K)
  • Endpoint: /api/v3/technical_indicator/1day/{ticker} (獲取 SMA, EMA, RSI 等)
  • 應用場景:回測交易策略、畫技術線圖、或是結合基本面計算動能 (Momentum) 因子。

5. 財報電話會議紀錄 (Earnings Call Transcripts)

  • Endpoint: /api/v3/earning_call_transcript/{ticker}
  • 應用場景:結合 LLM (如 ChatGPT) 進行自然語言處理,自動分析管理層對未來展望的語氣是樂觀還是悲觀。

實戰範例:用 Python 自動獲取 Apple (AAPL) 財務數據

讓我們寫一段簡單的 Python 程式碼,呼叫 FMP API 來獲取 Apple 最近一年的財務表現與當前估值。

import requests
import pandas as pd

# 你的 FMP API Key
API_KEY = 'your_fmp_api_key_here'
TICKER = 'AAPL'

def get_company_metrics(ticker, api_key):
    # 1. 獲取公司基本資料
    profile_url = f"https://financialmodelingprep.com/api/v3/profile/{ticker}?apikey={api_key}"
    profile_data = requests.get(profile_url).json()[0]
    
    # 2. 獲取最新財務比率 (TTM)
    ratios_url = f"https://financialmodelingprep.com/api/v3/ratios-ttm/{ticker}?apikey={api_key}"
    ratios_data = requests.get(ratios_url).json()[0]
    
    print(f"=== {profile_data['companyName']} ({ticker}) 財務摘要 ===")
    print(f"產業: {profile_data['industry']}")
    print(f"目前股價: ${profile_data['price']}")
    print(f"市值: {profile_data['mktCap'] / 1e9:.2f} 十億美元")
    print(f"本益比 (PE): {ratios_data.get('peRatioTTM', 'N/A'):.2f}")
    print(f"股東權益報酬率 (ROE): {ratios_data.get('returnOnEquityTTM', 0) * 100:.2f}%")
    print(f"股息殖利率: {ratios_data.get('dividendYieldTTM', 0) * 100:.2f}%")

if __name__ == "__main__":
    get_company_metrics(TICKER, API_KEY)

執行上述程式碼後,你就能瞬間抓取到最新且精確的基本面數據,這正是將投資流程自動化的第一步。


結語:將 FMP API 融入你的 AI Agent

在上篇文章中,我們介紹了多代理 AI 交易框架 TradingAgents。若能將 FMP API 作為該框架的「基本面分析師 (Fundamentals Analyst)」的數據源,AI 就能獲得最即時、最深度的財務數據。

透過 API 獲取資料 \rightarrow 透過 Python 清洗整理 \rightarrow 交由 AI (LLM) 進行解讀與總結,這套工作流將大幅提升我們對美股市場的洞察力與研究效率。未來,我們不再需要手動翻閱厚重的 10-K 財報,因為程式與 AI 已經為我們準備好了最核心的決策依據。