AI Agents · 2026-04-24 · 13 min read
把 AI Hedge Fund 改成台股版:Multi-Agent 股票分析系統架構
AI Hedge Fund 這類 multi-agent 股票分析專案,核心不是讓 LLM 憑空猜股價,而是讓不同 agent 透過工具查詢可信的金融資料,再分別負責基本面、技術面、籌碼、估值、風控與投資組合決策。如果要把這種架構改成台股版,第一個問題不是 prompt 怎麼寫,而是台股 financial data API 能不能提供穩定、結構化、可回測的資料層。
TL;DR
把 AI Hedge Fund 改成台股版,不能只把 ticker 從 AAPL 換成 2330。台股版需要不同的資料工具與 agent 設計,包括台股行情、OHLCV、財報、月營收、三大法人、技術指標、ETF / 指數成分股、交易日曆與風控資料。
一個合理的台股 multi-agent workflow 可以包含 Fundamentals Agent、Technicals Agent、Institutional Flow Agent、ETF / Universe Agent、Risk Manager 和 Portfolio Manager。每個 agent 都應該透過 API tool 查資料,輸出結構化 signal、confidence、data_used 與 risk_flags,而不是直接產生無來源的買賣建議。
本文只討論資料工程、AI workflow 與系統架構,不構成投資建議,也不建議讓 agent 未經回測、風控與人為審核就直接下單。
AI Hedge Fund 類型專案在做什麼?
AI Hedge Fund 類型專案通常會把股票分析流程拆成多個 agent。每個 agent 負責不同任務,例如基本面分析、估值、技術分析、情緒分析、風險管理或投資組合決策。
這種架構的重點不是讓一個 LLM 直接回答買或賣,而是把分析流程拆成可檢查的步驟:
- 取得資料
- 分析資料
- 產生 signal
- 標示信心與風險
- 交給 risk manager 檢查
- 交給 portfolio manager 整合
- 輸出可 audit 的結果
對 TW Market Data 來說,這類架構提供一個清楚的產品方向:台股 AI agent workflow 需要穩定的 market data API,而不是只靠模型內部記憶。
為什麼美股架構不能直接套用台股?
把美股 AI agent workflow 改成台股版,不能只替換股票代號。台股有自己的市場結構、資料來源、交易規則與資料特色。
| 差異 | 美股常見情境 | 台股版需要處理什麼 |
|---|---|---|
| 股票代號 | AAPL, MSFT, NVDA | 2330、2317、0050,並區分上市、上櫃、ETF |
| 市場別 | NYSE / NASDAQ | TWSE、TPEX、興櫃與 ETF 商品 |
| 籌碼資料 | 可能使用 institutional holdings 或 sentiment | 三大法人買賣超、外資、投信、自營商 |
| 財報資料 | SEC filings、quarterly reports | 月營收、季報、年報、公告日與公開資訊資料 |
| 交易日曆 | US market calendar | 台灣國定假日、補班日、特殊休市 |
| ETF / 指數資料 | SPY、QQQ、S&P 500 constituents | 0050、台灣 50、ETF holdings、產業分類 |
如果你還在理解台股資料 API 的整體架構,可以先看 台股 API 完整指南。
台股版需要哪些資料工具?
台股 AI agent 需要的不是一個萬能工具,而是一組清楚定義的 API tools。每個 tool 對應一種資料能力。
| Tool | 資料來源 | 給哪個 agent 使用 | 主要用途 |
|---|---|---|---|
| search_stocks | 股票基本資料 | 所有 agents | 查股票代號、市場別、商品類型 |
| get_daily_ohlcv | 歷史股價 | Technicals Agent, Risk Manager | 報酬率、趨勢、波動率、回測 |
| get_financial_statements | 財報與基本面 | Fundamentals Agent | EPS、ROE、現金流、基本面因子 |
| get_monthly_revenue | 月營收 | Fundamentals Agent | 營收成長與營運動能 |
| get_institutional_flows | 三大法人 | Institutional Flow Agent | 外資、投信、自營商買賣超 |
| get_technical_indicators | OHLCV / indicators | Technicals Agent | 均線、RSI、MACD、波動率 |
| get_etf_holdings | ETF / 指數資料 | ETF / Universe Agent | universe、成分股、sector exposure |
| calculate_risk_metrics | price, volume, portfolio | Risk Manager | 波動率、最大回撤、流動性、部位限制 |
如果你要把 Python 串接資料工具做起來,可以參考 Python 抓台股資料教學。
台股 multi-agent 系統架構
一個台股版 multi-agent 股票分析系統,可以拆成資料層、tool layer、agent layer 和 decision layer。
Data Sources
├─ OHLCV
├─ Financial statements
├─ Monthly revenue
├─ Institutional flows
├─ Technical indicators
├─ ETF / index constituents
└─ Trading calendar
Tool Layer
├─ get_daily_ohlcv
├─ get_financial_statements
├─ get_institutional_flows
├─ get_technical_indicators
├─ get_etf_holdings
└─ calculate_risk_metrics
Agent Layer
├─ Fundamentals Agent
├─ Technicals Agent
├─ Institutional Flow Agent
├─ ETF / Universe Agent
├─ Risk Manager
└─ Portfolio Manager
Output
├─ structured signals
├─ risk flags
├─ portfolio constraints
└─ research summary重點是每一層都要可檢查。Agent 的回答應該能回溯到 data_used、tool parameters、timestamp 與 schema,而不是只產生自然語言結論。
如果你要先補齊台股量化研究流程的基礎概念,可以先看 台股量化交易入門。
Fundamentals Agent:財報與基本面資料
Fundamentals Agent 負責分析公司基本面,例如營收成長、EPS、ROE、毛利率、現金流與財務風險。台股版還應該特別處理月營收與公告日。
Fundamentals Agent input
{
"symbol": "2330",
"tools": [
"get_financial_statements",
"get_monthly_revenue"
],
"lookback_period": "8q",
"required_fields": [
"revenue",
"eps",
"roe",
"gross_margin",
"operating_cash_flow",
"announcement_date"
]
}Fundamentals Agent output
{
"agent": "fundamentals",
"symbol": "2330",
"signal": "neutral",
"confidence": 0.64,
"data_used": [
"income_statement",
"balance_sheet",
"cash_flow_statement",
"monthly_revenue"
],
"summary": "Revenue growth remains positive, but valuation and sector cycle require additional checks.",
"risk_flags": [
"requires_peer_comparison",
"requires_latest_announcement_date"
]
}如果你要理解台股財報 API 與基本面因子,可以參考 台股財報 API 教學。
Technicals Agent:OHLCV 與技術指標
Technicals Agent 負責分析價格、成交量、趨勢、動能與波動率。它不應該自己猜技術指標,而是透過 OHLCV 或 technical indicators API 取得資料。
Technicals Agent output
{
"agent": "technicals",
"symbol": "2330",
"signal": "bullish",
"confidence": 0.58,
"data_used": [
"daily_ohlcv",
"technical_indicators"
],
"indicators": {
"sma20": 812.35,
"sma60": 785.42,
"rsi14": 58.7,
"macd_histogram": 0.37
},
"risk_flags": [
"technical_indicator_only",
"requires_backtesting"
]
}技術指標資料管線可以參考 台股技術分析 API;OHLCV 與 adjusted price 設計可再看 台股歷史股價 API 設計。
Institutional Flow Agent:三大法人與籌碼資料
Institutional Flow Agent 是台股版 AI Hedge Fund 很重要的差異化 agent。它可以分析外資、投信、自營商買賣超,並把單日資料轉成 rolling features。
Institutional Flow Agent output
{
"agent": "institutional_flows",
"symbol": "2330",
"signal": "neutral",
"confidence": 0.52,
"data_used": [
"institutional_flows",
"daily_ohlcv"
],
"flow_features": {
"foreign_net_buy_5d": 12000000,
"investment_trust_net_buy_5d": 1800000,
"dealer_net_buy_5d": -600000,
"foreign_net_buy_volume_ratio_5d": 0.036
},
"risk_flags": [
"not_a_standalone_signal",
"requires_volume_normalization"
]
}三大法人與籌碼資料可以參考 三大法人買賣超 API。
ETF / Universe Agent:ETF、指數與產業分類
ETF / Universe Agent 負責定義研究範圍,例如 0050 成分股、台灣 50 指數成分股、特定產業或流動性足夠的股票集合。
Universe Agent output
{
"agent": "universe",
"universe": "0050_holdings",
"as_of_date": "2026-04-24",
"symbols": [
"2330",
"2317",
"2454"
],
"sector_exposure": [
{
"sector": "Semiconductors",
"weight": 0.42
}
],
"risk_flags": [
"requires_historical_constituents_for_backtest"
]
}ETF 與指數成分股資料可以參考 台股 ETF 與指數成分股 API。
Risk Manager:流動性、波動率與部位限制
Risk Manager 不負責找股票,而是限制風險。它應該根據波動率、成交量、流動性、最大回撤、產業曝險與集中度,設定 position limits 或 risk flags。
Risk Manager output
{
"agent": "risk_manager",
"symbol": "2330",
"max_position_weight": 0.08,
"risk_score": 0.37,
"data_used": [
"daily_ohlcv",
"volume",
"sector_exposure"
],
"risk_flags": [
"single_name_exposure_limit",
"requires_liquidity_check"
]
}如果你要理解回測與風控如何設計,可以參考 Python 台股回測系統實作。
Portfolio Manager:整合信號,不直接保證交易結果
Portfolio Manager 的工作是整合不同 agent 的結果,而不是盲目接受任何單一 signal。它應該檢查每個 agent 的 confidence、data_used、risk_flags 和資料缺口。
Portfolio Manager output
{
"symbol": "2330",
"final_signal": "neutral",
"confidence": 0.59,
"agent_signals": [
{
"agent": "fundamentals",
"signal": "neutral",
"confidence": 0.64
},
{
"agent": "technicals",
"signal": "bullish",
"confidence": 0.58
},
{
"agent": "institutional_flows",
"signal": "neutral",
"confidence": 0.52
}
],
"risk_manager": {
"max_position_weight": 0.08,
"risk_flags": [
"requires_liquidity_check"
]
},
"decision": "research_only",
"not_investment_advice": true
}建議 Portfolio Manager 的預設輸出應該是 research summary,而不是直接產生下單指令。若要進入實際交易,必須有完整回測、風控、人為審核與合規流程。
Agent tool schema 設計
Agent tool schema 應該簡單、可驗證、可 audit。以下是台股 AI agent 可以使用的工具設計示意。
{
"name": "get_daily_ohlcv",
"description": "Get daily OHLCV data for a Taiwan stock.",
"parameters": {
"symbol": "2330",
"from": "2025-01-01",
"to": "2025-12-31",
"adjusted": true
}
}{
"name": "get_financial_statements",
"description": "Get financial statements for a Taiwan stock.",
"parameters": {
"symbol": "2330",
"statement": "income_statement",
"from": "2024Q1",
"to": "2025Q4"
}
}{
"name": "get_institutional_flows",
"description": "Get institutional investor flows for a Taiwan stock.",
"parameters": {
"symbol": "2330",
"from": "2025-01-01",
"to": "2025-12-31",
"unit": "shares",
"format": "wide"
}
}實際 endpoint 與 tool naming 不一定要和上方完全相同。重點是每個 tool 的輸入、輸出、資料來源和限制要清楚。實際路徑請以 TW Market Data docs 為準。
Agent output schema 設計
每個 agent 都應輸出結構化 JSON。不要只輸出自然語言,否則 risk manager 和 portfolio manager 很難自動檢查。
Recommended output fields
| Field | Type | Description |
|---|---|---|
| agent | string | agent 名稱 |
| symbol | string | 股票代號 |
| signal | string | bullish、bearish、neutral 或 custom signal |
| confidence | number | 0 到 1 的信心分數 |
| data_used | array | 使用了哪些資料 |
| summary | string | 簡短摘要 |
| risk_flags | array | 風險標記或資料缺口 |
| not_investment_advice | boolean | 明確標示不是投資建議 |
如何避免 hallucination?
金融 AI agent 最重要的問題之一是 hallucination。避免 hallucination 的方法不是要求模型不要亂說,而是設計資料與工具流程。
- Agent 只能透過 tool 查詢最新或指定日期資料
- 回答必須列出 data_used
- 回答必須列出資料時間區間
- 回答必須標示 missing data
- 不允許 agent 自己猜股價、財報或法人買賣超
- 不允許沒有資料來源的 buy / sell recommendation
- 所有 signal 必須可回測
- portfolio decision 必須通過 risk manager
- 實際下單前必須有人為審核與合規檢查
AI agent 的可靠性來自資料邊界與工具設計,而不是來自模型自信的語氣。
從 research workflow 到 production workflow
台股 AI agent workflow 可以先從 research assistant 開始,而不是一開始就做自動交易。
Research workflow
User asks:
"請分析 2330 最近的基本面、技術面與法人籌碼。"
Agent workflow:
1. search_stocks("2330")
2. get_daily_ohlcv("2330")
3. get_financial_statements("2330")
4. get_institutional_flows("2330")
5. get_technical_indicators("2330")
6. calculate_risk_metrics("2330")
7. generate structured research summaryProduction workflow
如果要往 production 推進,需要增加:
- API rate limit handling
- cache
- audit log
- data validation
- backtesting
- risk rules
- human approval
- compliance review
- monitoring
- rollback mechanism
這也是為什麼台股 AI agent workflow 的核心不是 LLM 本身,而是資料 API、工具邊界、風控流程與可追蹤紀錄。
建議的 API endpoint 設計
以下是支援台股 AI agent workflow 的 endpoint 設計示意。
GET /v1/tw/stocks/search
GET /v1/tw/stocks/{symbol}/profile
GET /v1/tw/stocks/{symbol}/ohlcv
GET /v1/tw/stocks/{symbol}/financials
GET /v1/tw/stocks/{symbol}/monthly-revenue
GET /v1/tw/stocks/{symbol}/institutional-flows
GET /v1/tw/stocks/{symbol}/technical-indicators
GET /v1/tw/etfs/{symbol}/holdings
GET /v1/tw/indices/{index_code}/constituents
GET /v1/tw/calendar/trading-days實際 endpoint 命名不一定要完全相同。重點是資料 schema 穩定、文件清楚、更新時間明確,並能被 AI agent tool calling 安全使用。實際路徑請以 TW Market Data docs 為準。
如果你要從 multi-agent 架構進一步落到 tool calling 實作流程,可以接著看 台股 AI Agent Workflow。
FAQ
AI Hedge Fund 可以直接改成台股版嗎?
不能只替換股票代號。台股版需要處理上市、上櫃、ETF、交易日曆、財報公告日、三大法人、台股技術指標、ETF 成分股與本地資料口徑。真正的工作在資料層與 tool schema。
台股 AI agent 需要哪些資料?
至少需要股票基本資料、OHLCV、財報、月營收、三大法人、技術指標、ETF / 指數成分股、交易日曆與風險資料。不同 agent 會使用不同資料工具。
AI agent 可以直接下單嗎?
不建議。本文討論的是研究與分析 workflow。實際交易需要券商下單 API、完整回測、風控、人為審核、合規流程與監控機制。
AI agent 會不會亂編股價或財報?
如果沒有工具邊界,就可能發生 hallucination。較好的做法是要求 agent 只能透過 API tool 查詢資料,並在回答中標示 data_used、日期區間、missing data 和 risk_flags。
三大法人資料在台股 AI agent 裡有什麼用?
三大法人資料可以讓 agent 分析外資、投信、自營商近期買賣超變化,並轉成 rolling features 或風險標記。但它不應該被單獨視為買賣建議。
TW Market Data 在 AI agent workflow 裡扮演什麼角色?
TW Market Data 的角色是提供穩定、結構化、developer-friendly 的台股 financial data API,讓 agent 能查詢行情、財報、籌碼、技術指標、ETF 與交易日曆資料,而不是靠 LLM 自己猜。
下一步
如果你要把 AI Hedge Fund 類型架構改成台股版,建議先處理三件事:
- 1. 定義台股資料工具,而不是先寫 prompt
- 2. 讓每個 agent 輸出可檢查的 structured JSON
- 3. 把 risk manager、backtesting 和 human approval 放進 workflow
Need structured Taiwan market data for your AI agent, quant workflow, or research assistant?
本文討論資料工程、AI agent workflow、量化研究與系統架構,不構成投資建議。