如何建立 24/7 全天候挖掘 Alpha 的 AI Agent 蜂群

@RohOnChain
英語1 天前 · 2026年7月06日
215K
234
36
27
725

TL;DR

Roan 詳細介紹了一種 6 階段的 AI Agent 架構,旨在自動化量化研究流程,並使用 Slate 框架執行平行迴圈,以進行 Alpha 發現與驗證。

我將詳細說明如何建立一個能取代整個量化研究團隊的 AI Agent 群。

我們直接進入正題。

收藏本文

- 我是 Roan,一名後端開發者,專注於系統設計、高頻交易風格的執行以及量化交易系統。我的工作重點是研究預測市場在負載下的實際行為。歡迎任何建議、深思熟慮的合作或合作機會,請直接私訊我。

在我的上一篇文章中,我提到會親自指導前 20 位建立 AI 量化系統的人。我是認真的。

已經有四位開發者與我一起深入這個過程。其中一位正在執行完整的自我進化對沖基金循環。

這個提議仍然有效。

如果你正在建立一個 Alpha 研究系統,即將開始,或者甚至只是在考慮,請在這篇文章下方回覆或私訊我你目前的設定。我會親自檢視你的架構,並指出你目前擁有的系統與一個能自主尋找 Alpha 的 Agent 群之間的差距。

如果我沒有回覆,代表你不在前 20 名之內。動作要快。

大多數量化分析師尋找 Alpha 的方式,仍然和十年前一模一樣。

他們讀一篇論文。打開 Jupyter Notebook。設計幾個特徵。跑一次回測。瞇著眼看一下 Sharpe 比率。然後繼續下一個想法。

他們自己就是整個流程。

研究的每個階段都是他們自己,坐在螢幕前,一次只測試一個假設。

地球上最聰明的量化系統建構者已經不再這麼做了。

他們建立的是 Agent 群。 群中的每個 Agent 負責研究的一個階段。這些 Agent 並行工作。整個群持續運作。新的 Alpha 在他們睡覺時每天早上自動出現。

Anthropic 的 Claude Code 負責人 Boris Cherny 兩週前說過:「我已經不再直接對 Claude 下指令了。我有一些循環在執行,它們會對 Claude 下指令並決定下一步要做什麼。我的工作變成了撰寫這些循環。」

這一句話徹底改變了地球上每個認真建構者對 AI 的看法。

對量化研究來說,這改變了一切。

因為 Alpha 研究本身就是一個流程。閱讀論文。提取假設。設計特徵。在 20 年的數據上進行回測。檢查顯著性。檢查訊號是否在不同市場狀態下都有效。針對每個已知因子進行分解。

華爾街上每個認真的基金都在執行這個精確的流程。文藝復興科技公司用 100 位博士來執行。Two Sigma 用 200 位。Citadel 用更多。

唯一的區別是,他們需要數百個人類坐在這個流程裡面。你不需要。

一個由 AI Agent 組成的群可以為你執行這個流程的每個階段。每個 Agent 都是專家。每個 Agent 都在最適合其複雜度的模型上運行。它們全部 24/7 並行運作。

過去幾天我一直在建立這個 Agent 群。

它會在夜間閱讀新的研究論文。研究其中的數學模型。提取被聲稱的具體假設。設計所需的特徵。針對 20 年的歷史數據回測訊號。執行統計嚴謹性檢查。檢查過擬合。標記任何只在一個市場狀態下有效的訊號。

到這篇文章結束時,你將了解一個由六個 Agent 組成的 Alpha 研究群的確切架構。

你將知道那個能讓你在一個週末內建立它,而無需從頭編寫自己的 Agent 框架的工具。

而且你將知道導致 90% 散戶嘗試失敗的五種失敗模式。

讓我們開始吧。

第一部分:Agent 群到底是什麼

一個提示詞就是一個問題。你提問,模型回答一次,然後停止。

一個循環就是一個任務。Agent 持續工作,檢查自己的進度,並持續進行,直到任務真正完成。

一個 Agent 群就是許多並行運作的循環。每個循環都是一個專家。每個專家負責流程的一個階段。一個的輸出會饋送給下一個的輸入。

這就是完整的思維模型。

如果你用過 Claude Code、Cursor 或 Codex,你已經在不知不覺中使用過循環了。Agent 呼叫模型,模型選擇一個動作,動作執行,結果回傳給模型,然後重複這個過程,直到達成目標。

循環是讓 Agent 成為 Agent,而不只是一個單一答案的關鍵。

Agent 群是讓一個研究團隊成為研究團隊,而不只是一個研究員在打字的關鍵。

第二部分:運行 Agent 群的工具

你可以嘗試用 Python 腳本呼叫不同的 API 來自己建立這個系統。

我試過。一旦一個 Agent 需要等待另一個 Agent,它就崩潰了。一旦你需要狀態在循環之間持續存在,它就崩潰了。一旦你想在六個不同的模型上並行運行六個循環,它就崩潰了。

你最終會從頭開始建立自己的 Agent 框架,而不是專注於研究。

然後我找到了 Slate

Roan - inline image

Slate 是一個由 @wearerandomlabs 建立的 AI 編碼工具。它在你的終端機中運行。它可以將任何任務分派給你的程式碼庫中的一個子 Agent 群。它可以在任何步驟選擇你想要的任何模型。你現有的訂閱即可使用。

我在這個 Agent 群中使用它的原因是他們剛推出的一項功能,叫做 Programs。

Program 是一個用 JavaScript 編寫的循環,由 Slate 為你運行。

一個提示詞運行一次就停止。而 Program 是一個經過設計的循環。它持續運行。它在運行之間保持狀態。它會一直進行,直到任務完成。

你可以決定每一步要做什麼。哪個模型處理哪一步。循環在繼續之前要檢查什麼。何時停止。

你不需要獨自編寫 Program。你告訴 Slate 你想要什麼,它就會與你一起逐步起草這個循環。它會保存這個循環。運行它。並持續運行它。

因為循環是程式碼,它可以保持狀態、與你的程式碼庫互動、呼叫外部 API、發佈到 Slack,以及在你選擇的任何模型組合上並行協調多個子 Agent。對於簡單的工作使用便宜的開放權重模型。對於困難的推理使用前沿模型。選擇最適合該步驟的模型。

對於一個由六個 Agent 組成的研究群來說,這正是過去一直缺少的那一層。

你可以在 https://randomlabs.ai 找到 Slate。它現在就可以使用。

現在讓我向你展示這個 Agent 群。

第三部分:六個 Agent

每個認真的量化基金都運行相同的六個研究階段。

以下是取代它們的 Agent 群。

Agent 1:創意產生器。

每晚從 arXiv q-fin、SSRN 和金融期刊閱讀新的研究論文。

研究每篇論文提出的數學模型。提取被聲稱的具體假設、所需的數據以及預測訊號的方向。

將每個假設撰寫成結構化的研究任務單,供下一個 Agent 接手。

在快速且成本效益高的模型上運行,因為這個任務是大量結構化提取。

Agent 2:特徵工程師。

接收一個假設任務單。從價格資料庫或基本面資料庫中提取所需的數據。

構建特徵向量。在整個截面數據上進行標準化。處理缺失觀測值、超過三個標準差的離群值以及未來信息偏差。

輸出一個乾淨的、準備好進行回測的數據框。

Agent 3:回測器。

接收特徵向量。建立投資組合構建規則。在 20 年的歷史數據上運行回測,並考慮實際的交易成本、做空方的借券成本以及滑點。

輸出 Sharpe 比率、最大回撤、換手率和容量估計。

Agent 4:驗證器。

這是嚴謹性所在。

接收回測結果。運行 Newey-West 調整 t 統計量,以修正回報序列中的自相關。運行 10,000 次迭代的 Bootstrap 重抽樣,以檢查 Sharpe 比率是真實的還是樣本假象。

標記任何未通過顯著性閾值的訊號。消滅任何樣本內與樣本外表現退化超過 30% 的訊號,因為這就是過擬合。

在更強的推理模型上運行。製造者永遠不該驗證自己的工作。永遠。

Agent 5:市場狀態審計員。

接收通過驗證的訊號。將 20 年的歷史數據按市場狀態進行分段(透過對波動率和回報率使用隱馬爾可夫模型來識別)。

重新計算每個市場狀態內的 Sharpe 比率、回撤和命中率。消滅任何只在一個市場狀態下有效的訊號,因為這只是偽裝成 Alpha 的市場時機選擇。

Agent 6:因子分解器。

接收對市場狀態穩健的訊號。將其對 Fama-French 五因子模型加上 Carhart 動能因子再加上一個低波動因子進行回歸。

報告殘差 Alpha(回歸的截距項)及其 t 統計量。

只有那些殘差 Alpha 在因子分解後仍然存在的訊號才是真正的新 Alpha。其他一切都只是經過額外步驟重新包裝的動能或價值。

六個 Agent。每個負責一個階段。它們將輸出向下傳遞。

Roan - inline image

一個 Slate Program。六個專業 Agent。每 24 小時運行一次。

整個 Agent 群運行在一個每 24 小時觸發一次的 Slate Program 上。

第四部分:如何逐步建構

以下是確切的建構步驟。跟著做,你將在一天結束前讓這個 Agent 群運行起來。

步驟 1:安裝 Slate

打開你的終端機並運行:

bash
1npm install -g @randomlabs/slate

Slate 會在 30 秒內作為全域 CLI 安裝完成。

然後建立專案目錄:

bash
1mkdir alpha-swarm
2cd alpha-swarm
3slate init

slate init 會用你需要的資料夾來建立專案結構,用於存放狀態、Programs 和提供者。

步驟 2:連接你的模型

運行:

bash
1slate /providers

這會打開 Slate CLI 內的提供者配置畫面。連接你想要使用的模型。

對於這個 Agent 群,我在快速 Agent(創意產生、特徵工程、回測、市場狀態審計)上使用 Sonnet,在推理密集型 Agent(驗證和因子分解)上使用 Opus。

Roan - inline image

步驟 3:起草 Program

啟動 Slate:

bash
1slate

然後在 Slate CLI 中輸入:

幫我起草一個 Program,按順序運行六個研究 Agent:創意產生器、特徵工程師、回測器、驗證器、市場狀態審計員、因子分解器。每 24 小時運行一次。快速 Agent 使用 Sonnet,驗證和因子分解使用 Opus。

Slate 會與你一起起草這個 Program。它會問一些釐清問題。使用哪個數據源。回測窗口多長。Sharpe 比率閾值是多少。使用哪種市場狀態分類器。你用自然語言回答。Slate 會編寫 JavaScript。

以下是這個循環寫好後的樣子:

javascript
1export default async function alphaSwarm(slate) {
2 while (true) {
3 // 階段 1:閱讀論文,提取假設
4 const hypotheses = await slate.agent('idea-generator', {
5 model: 'sonnet',
6 task: '閱讀過去 24 小時內 arXiv q-fin 和 SSRN 的內容。提取 10 個 Alpha 假設,包含聲稱的方向、所需數據和論文參考。',
7 state: slate.state.get('tested-hypotheses')
8 });
9
10 // 階段 2:特徵工程,每個假設並行處理
11 const features = await Promise.all(
12 hypotheses.map(h => slate.agent('feature-engineer', {
13 model: 'sonnet',
14 task: `為以下內容建立特徵向量:${h.claim}。在整個截面數據上進行標準化。處理未來信息偏差。`,
15 data: slate.tools.priceData()
16 }))
17 );
18
19 // 階段 3:20 年回測,考慮實際成本
20 const backtests = await Promise.all(
21 features.map(f => slate.agent('backtester', {
22 model: 'sonnet',
23 task: '運行 20 年回測。包含每筆交易 5 個基點的交易成本和做空成本。',
24 features: f
25 }))
26 );
27
28 // 階段 4:在推理模型上進行統計驗證
29 const validated = await Promise.all(
30 backtests.map(b => slate.agent('validator', {
31 model: 'opus',
32 task: 'Newey-West t 統計量高於 2.5。Bootstrap 10k 次。如果樣本內/樣本外 Sharpe 比率退化超過 30% 則拒絕。',
33 backtest: b
34 }))
35 );
36
37 // 階段 5:透過 HMM 進行市場狀態分割
38 const regimeChecked = await Promise.all(
39 validated
40 .filter(v => v.passed)
41 .map(v => slate.agent('regime-auditor', {
42 model: 'sonnet',
43 task: '在波動率和回報率上擬合 3 狀態 HMM。重新計算每個市場狀態的 Sharpe 比率。如果只有一個市場狀態有效則拒絕。',
44 result: v
45 }))
46 );
47
48 // 階段 6:因子分解以分離殘差 Alpha
49 const finalSignals = await Promise.all(
50 regimeChecked
51 .filter(r => r.passed)
52 .map(r => slate.agent('factor-decomposer', {
53 model: 'opus',
54 task: '針對 Fama-French 5 因子 + Carhart 動能 + 低波動因子進行回歸。報告殘差 Alpha 和 t 統計量。',
55 result: r
56 }))
57 );
58
59 // 持久化、通知、休眠
60 await slate.state.set('final-signals', finalSignals);
61 await slate.state.append('tested-hypotheses', hypotheses);
62 await slate.notify.slack('research', `${finalSignals.length} 個新訊號今天通過了全部六個階段。`);
63 await slate.sleep('24h');
64 }
65}

這就是整個 Agent 群。一個檔案。六個 Agent。永遠運行。

Roan - inline image
Roan - inline image
Roan - inline image

步驟 4:運行 Agent 群

保存檔案並運行:

bash
1slate run alpha-swarm.js

在你按下 Enter 的瞬間,Slate 就會啟動這個循環。六個 Agent 按順序啟動。

特徵工程針對每個假設並行運行。回測並行運行。驗證在更強的模型上運行。

你可以從 Slate CLI 即時觀看每個 Agent 的工作情況。每個 Agent 都會顯示其狀態、當前任務和進度。

[截圖 4:終端機顯示 Agent 群正在運行,多個 Agent 並行活躍,每個階段的進度指示器可見。]

第一個循環需要 20 到 40 分鐘,具體取決於第一階段產生了多少個假設。

最後,Slate 會將通過的訊號及其 Sharpe 比率、回撤和殘差 Alpha 發佈到你的 Slack 頻道。然後休眠到明天。

步驟 5:迭代

循環的第一個版本永遠不會是最終版本。

創意產生器會產生重複項。在 Slate 中輸入:

新增一個針對狀態歷史的檢查,使其只提出我們在過去 30 天內尚未測試過的假設。

驗證器會拒絕你認為應該通過的訊號。輸入:

將 Sharpe 比率閾值放寬到 1.2,但將最大回撤閾值收緊到 8%。

Slate 會為你更新 Program。下一個循環將使用新的邏輯。每一次改進都會累積到狀態檔案中,隨著時間推移,Agent 群會變得更加敏銳,因為它記住了所有已經測試過和拒絕過的內容。

第五部分:這如何真正取代一個研究團隊

三種模式涵蓋了所有實際部署。

模式 1:隔夜發現。

Agent 群從晚上 8 點運行到早上 8 點。每天早上醒來,你會看到兩到三個通過了所有六個階段的訊號。

你的工作變成了審查通過的訊號,而不是自己運行整個流程。

模式 2:假設爆發模式。

新論文發布。新數據源可用。你按需啟動 Agent 群,當天下午就能測試 100 個假設。

一個人類研究員在同一時間內只能測試兩個。

模式 3:Alpha 衰減監控。

Agent 群每週使用最新數據重新運行已驗證的訊號。一旦某個訊號的 Sharpe 比率低於閾值,它就會標記衰減。

你在回撤累積之前就減少曝險。

每種模式都取代了過去需要博士學位才能執行的特定功能。結合起來,它們取代了研究團隊日常所做的大部分工作。

第六部分:導致 90% 散戶嘗試失敗的五種失敗模式

失敗模式 1:跳過驗證器。

你會得到 100 個擁有漂亮 Sharpe 比率但缺乏嚴謹性的訊號。每一個都是偽裝的數據窺探。

驗證器是不可妥協的。使用你最強的模型。設定嚴格的拒絕閾值。永遠不要讓製造者驗證自己的工作。

失敗模式 2:沒有狀態持久化。

一個沒有記憶的 Agent 群每天都會測試同一個失敗的假設。

每個被拒絕的訊號都必須記錄下來,並附上確切的拒絕原因,這樣就沒有 Agent 會在同一個失敗上浪費 token。

失敗模式 3:沒有製造者-檢查者分離。

產生假設的 Agent 是判斷它是否為真正 Alpha 的最差人選。

將製造者和檢查者分散到不同的 Agent 和不同的模型上。文藝復興科技公司這樣做。Two Sigma 這樣做。Citadel 這樣做。你的 Agent 群也應該這樣做。

失敗模式 4:一個 Agent 包辦所有事情。

當你試圖讓一個 Agent 同時負責產生、工程、回測和驗證時,品質就會崩潰。

專業化是 Agent 群運作的關鍵。每個 Agent 完美地做好一件事。

失敗模式 5:循環沒有停止條件。

一個沒有真正停止條件的循環會默默地失敗。Agent 發出完成訊號,認為工作已經完成。糟糕的結果未被修正。

每個停止條件都必須可以由 Agent 自身聲明以外的東西來檢查。「過去 30 個樣本外交易的 Sharpe 比率高於 1.5。」「回撤低於 5%。」永遠不要用「Agent 說它完成了。」

尊重這五點,Agent 群就能產生機構級別的研究成果。

總結

Alpha 研究本身就是一個流程。六個階段。閱讀論文。設計特徵。回測。驗證。檢查市場狀態。針對因子進行分解。

每個認真的基金都用 100 位博士來運行它。

一個由六個專業 AI Agent 組成的群可以為你運行每個階段。每個 Agent 選擇最適合其複雜度的模型。整個 Agent 群運行在一個每 24 小時觸發一次的 Slate Program 上。

Slate 的 Programs 是讓這個系統能在一個週末內真正交付,而不是花六個月的關鍵。

它與你一起起草循環。它保存循環。它運行循環。它永遠運行。

你不再是流程本身。你成為了架構師。

基礎設施的護城河是真實的。研究的護城河已經不復存在。

這就是重點。

如果你想試試看,請在

https://randomlabs.ai 註冊,並追蹤

@wearerandomlabs 以獲取發布資訊。

在我上一篇關於循環工程的文章中,我詳細說明了同樣的架構如何連接到一個完整的、能夠自主執行交易的自我進化交易系統。如果你還沒讀過,請在讀完這篇之後立即閱讀。

這個 Agent 群就是那個系統的研究部分。

https://x.com/RohOnChain/status/2069056530960490835

最先建立這個系統的基金將在未來十年內實現複利增長。

那些仍然一次只測試一個假設的基金將被遠遠拋在後面。

所以,這裡有一個值得深思的問題。

你是一個仍然每週只測試一個假設的研究員,還是一個建立了每晚在你睡覺時測試一百個假設的 Agent 群的架構師?

沒有錯誤的答案。但有些答案非常能說明問題。

一鍵儲存

使用 YouMind AI 深度閱讀爆款文章

保存原文、追問細節、總結觀點,並在一個 AI 工作空間裡把爆款文章沉澱成可複用筆記。

了解 YouMind
寫給創作者

把你的 Markdown 變成乾淨的 𝕏 文章

圖片上傳、表格、程式碼區塊,往 𝕏 上手動重排太痛苦。YouMind 把整篇 Markdown 一鍵轉成乾淨、可直接發佈的 𝕏 文章草稿。

試試 Markdown 轉 𝕏

更多可拆解樣本

近期爆款文章

探索更多爆款文章