ai-hedge-fund:把投資組合變成一份可回測的 mandate 檔案
教育用途的概念驗證專案,由多個以班傑明·葛拉漢、比爾·艾克曼等投資人為原型的 AI 代理協作做出交易決策,不用於真實交易。
秒懂
- 它是什麼?
- virattt/ai-hedge-fund 是一個以 Python 寫成的 AI 避險基金概念驗證專案,重點在於把「基金」當作可重播的設定檔,並用 LLM 驅動的 alpha 模型做決策。它明確宣稱不實際下單,適合想理解 AI 交易決策流程的人,而非追求真實獲利的使用者。
- 適合誰用?
- 這套工具適合想用程式碼理解 AI 如何參與投資決策的開發者或學生,尤其對 LLM API 串接、回測流程設計有興趣的人。它不適合需要真實下單、追求穩定獲利或對延遲敏感的用戶,因為專案明言不執行交易,且目前仍是概念驗證階段。
- 可以商用嗎?
- 可以。MIT 是寬鬆授權:你可以使用、修改並販售以它為基礎的軟體,只需保留著作權與授權聲明。
- 還在維護嗎?
- 有在維護。儲存庫最近一次提交在 12 天前。
- 用什麼語言寫的?
- 主要是 Python(依據 GitHub 的語言統計)。
以上回答依據專案的 GitHub 資料(最近同步於 2026年9月14日)與我們的分析,不構成法律意見。
開源專案深度解析
它解決什麼問題:把「基金」變成可重播的設定
它解決什麼問題:把「基金」變成可重播的設定。多數開源交易專案把策略寫死在程式碼裡,想換標的或調整風險參數就得改程式。ai-hedge-fund 換了一種做法:把整個投資組合的決策邏輯封裝成一份 mandate 檔案,裡面包含策略、人員、風險、資本與再平衡頻率,但刻意不寫入股票代號。代號在執行時才透過 `--tickers` 參數傳入。這個設計讓同一份基金設定可以套在不同標的上,也能在歷史資料上重播。對於想研究「同樣的決策規則在不同市場條件下表現如何」的人來說,這個分離是核心價值。它把基金從一個抽象名詞變成一個具體、可比較、可追蹤的實體。
運作機制:從 mandate 到決策記錄的資料流
運作機制:從 mandate 到決策記錄的資料流。根據 README 的描述,執行流程是:使用者提供 mandate 檔案與 `--tickers`,系統跑一個基金週期,完整週期記錄以 JSON 輸出到 stdout,簡短的人類可讀摘要則寫到 stderr。這個設計很直接,JSON 輸出讓後續程式可以解析結果,stderr 的摘要則方便人眼快速確認。alpha 模型被重新想像成可插拔、可回測的模組,而投資者角色被重新定義為這些模型。這代表決策過程不是黑箱,而是由多個模型各自產出觀點,再整合成最終持倉。但 README 沒有說明這些模型之間如何投票或加權,也沒有解釋風險控制如何介入。這是一個明顯的資訊缺口,對想深入理解決策邏輯的人來說,需要自己讀原始碼才能補齊。
安裝與執行:pipx 一條指令,金鑰自動存檔
安裝與執行:pipx 一條指令,金鑰自動存檔。安裝方式很簡單,README 建議用 `pipx install aihf`,也支援 `uv tool install aihf` 或 `pip install aihf`。安裝後直接執行 `aihf` 會啟動互動式終端介面,讓使用者建立基金、挑選股票與策略、設定再平衡頻率,或者對已儲存的基金進行回測並觀看權益曲線。非互動模式則用 `aihf ~/.hedge-fund/mandates/example.yaml --tickers AAPL,MSFT` 跑單一週期,加上 `--backtest` 就會依再平衡頻率跑歷史回測。金鑰管理是這個專案比較貼心的部分:第一次需要時才詢問,並存到 `~/.hedge-fund/.env`,不需要事前設定。它需要 Financial Datasets API 金鑰,以及至少一個 LLM 提供者的金鑰,支援 Anthropic、OpenAI、DeepSeek、Google、xAI、Kimi。環境變數中的金鑰會優先於存檔檔案,這對不想把金鑰寫進檔案的人來說是合理的彈性。
真正的界線:它不交易,也不保證任何收益
真正的界線:它不交易,也不保證任何收益。README 開宗明義說這是概念驗證,系統實際上不會執行任何交易。這不是一個可以接上券商 API 就開始自動下單的工具,它的輸出是決策記錄,而不是訂單。對於想用真實資金驗證策略的人來說,這是一個根本性的限制。另外,專案處於持續演進狀態,README 提到正在重建成一個持久化、永遠在線的基金實體,投資者代理會被重新設計成可插拔的 alpha 模型。這表示 API 與行為可能在版本之間變動,例如 v2.2.0 與 v2.1.0 的套件名稱就不同,一個叫 `aihf`,一個叫 `hedge-fund`。如果你打算把這套工具整合進自己的系統,必須預期介面會改變。教育用途是它的定位,任何把輸出當成投資建議的行為都偏離了設計意圖。
替代方案:直接寫策略回測框架,或改用 LLM 原生代理框架
替代方案:直接寫策略回測框架,或改用 LLM 原生代理框架。如果 ai-hedge-fund 的 mandate 抽象對你來說太厚重,或者你不需要 LLM 參與決策,那直接使用標準的回測框架如 backtrader 或 vectorbt 會更直接。那些框架專注在策略邏輯與歷史資料模擬,沒有 LLM 層,也不強調「基金」作為實體。另一類替代方案是通用的 LLM 代理框架,例如 LangChain 或 AutoGen,它們提供更通用的工具呼叫與多代理協調機制,你可以自己定義交易決策流程,但需要自己處理價格資料、回測與 mandate 管理。ai-hedge-fund 的差異在於它把「基金」與「決策流程」綁定成一個可重播的設定檔,這在通用框架裡通常要自己設計。如果你只需要簡單的策略回測,ai-hedge-fund 反而引入不必要的複雜度,因為它強迫你定義 mandate、串接 LLM API,而這些對純技術分析策略來說並非必要。
維護與授權:MIT 授權,但版本變動頻繁
維護與授權:MIT 授權,但版本變動頻繁。授權是 MIT,這表示你可以自由使用、修改與再發布,只要保留原始著作權聲明。沒有 copyleft 限制,對商業整合相對友善。但維護成本需要留意:專案最後一次推送是 2026 年 8 月 7 日,同一天發布 v2.2.0,而 v2.1.0 在三天前,v2.0.2 在一週前。這種發布頻率暗示專案仍在快速迭代,README 也明確說「the project is evolving」。這對採用者來說是雙面刃,一方面代表功能持續加入,另一方面代表你可能需要頻繁更新程式碼以跟上 API 變化。README 沒有提供升級指南或遷移文件,只要求貢獻者保持 pull request 小而專注。如果你要長期使用,建議固定版本號,並在升級前閱讀 release notes 與 diff。開發環境使用 poetry,`poetry install` 後可以跑 `poetry run pytest hedge_fund` 來執行測試,這至少提供了一個基本的驗證路徑。
編輯結論
這套工具適合想用程式碼理解 AI 如何參與投資決策的開發者或學生,尤其對 LLM API 串接、回測流程設計有興趣的人。它不適合需要真實下單、追求穩定獲利或對延遲敏感的用戶,因為專案明言不執行交易,且目前仍是概念驗證階段。採用前應先確認你對 Financial Datasets API 與 LLM 提供者的金鑰管理能接受,並實際跑一次 `aihf` 互動模式與 `--backtest` 指令,檢視輸出 JSON 是否含你需要的欄位。若你的目標是自動化交易而非學習,這不是正確起點。
社群筆記