我將詳細說明如何建構能獨立運行整個量化交易系統的迴圈。
我們直接進入正題。
**書籤這篇 **
- 我是 Roan,一名後端開發者,專注於系統設計、高頻風格的執行與量化交易系統。我的工作聚焦於預測市場在負載下的實際行為。如需任何建議、深度合作或合作夥伴關係,歡迎私訊。
從今天開始的一件事。
如果你正在建構量化系統,正準備開始,或甚至只是有這個念頭,請私訊我你正在做的內容,或直接在本文下方回覆,我會與你聯繫(你也可以只提供目前架構的截圖)。
我會親自逐一檢視前 20 個設置,指出你現有系統與真正能產出 Alpha 的系統之間的差距。
大多數量化分析師仍然在提示 Claude。他們打字、等待、閱讀輸出、再次打字。
這個星球上最聰明的建構者已經不再這樣做了。
他們撰寫迴圈。迴圈會提示 Claude。迴圈會驗證輸出。迴圈會決定下一步動作。迴圈會在筆記型電腦關閉後繼續運行。
Boris Cherny,Anthropic 旗下 Claude Code 的負責人,兩週前明確表示:「我不再提示 Claude 了。我運行著一些迴圈,由它們來提示 Claude,並決定下一步該做什麼。我的工作就是撰寫迴圈。」 這句話重新定義了地球上每個認真的 AI 工程師如何看待建構。而且它與量化交易完美契合。
大多數散戶量化分析師會讀到這裡,然後說這不適用於他們,因為他們的資金規模太小。他們錯了。你的資金越小,這一點就越重要。自我運行的迴圈是個人建構者縮小與擁有 100 位博士的基金之間差距的唯一方法。
因為量化交易本身就是一個迴圈。獲取資料、產生訊號、回測、執行、監控風險、重複。
華爾街的每家基金都在運行這個精確的循環。文藝復興科技自 1988 年以來一直如此。Citadel 由工程師團隊監控每個階段。Two Sigma、Jane Street,所有這些公司都是如此。
唯一的差別在於他們需要數百人坐在迴圈內部。你不需要。
我已經為自己建構了這個迴圈。它按時拉取市場資料。它執行 Alpha 研究。它透過單獨的 Agent 驗證每個訊號。它僅執行通過驗證的訊號。它將每個教訓寫回記憶體。
本文是我在迴圈工程方面學到的一切,以及如何將其連接到完整的自主交易系統中。
閱讀本文後,你將了解:
提示 Agent 與工程化迴圈之間的確切差異。
運行每個生產環境中有效迴圈的六個要素。
如何從零開始將這六個要素連接成一個自我改善的量化交易系統。
讓我們開始吧。
第一部分:提示與迴圈工程的差別
在過去兩年裡,與 AI 協作的方式是這樣的。
你輸入一個提示。你閱讀回來的內容。你根據看到的內容輸入下一個提示。
你就是這個迴圈。
Agent 只是一個工具。你始終掌握著它。每一個動作都是你坐在鍵盤前決定下一步要做什麼。
迴圈工程終結了這種模式。
你不再成為迴圈內的那個角色。你變成了設計它的架構師。
迴圈是一個遞迴目標。你定義一個目的。Agent 針對它進行迭代。迴圈會持續運行,直到滿足真正的停止條件。
Agent 在每次運行之間會遺忘。迴圈不會。
這一個事實就是整個架構的基礎。
這就是 Boris 所說的「我的工作就是撰寫迴圈」的真正含義。他不再逐一輸入指令。他建構了能代他發送指令、讀取結果、並決定下一步的系統。
對於編碼而言,這改變了軟體交付的方式。
對於交易而言,這改變了一切。
因為沒有任何量化分析師是透過輸入一個提示然後就走開來賺錢的。優勢來自於將同一個循環運行數千次,每次迭代進步百分之一,而且永不休息。
這正是迴圈所做的。
如果你仍然在針對每筆交易逐一輸入提示給 Claude,那麼你正在做 Boris 兩年前就不再做的事。槓桿點已經往上移動了一層。你不再只是撰寫更好的提示。你正在撰寫撰寫提示的系統。

提示與迴圈工程的差異
第二部分:運行每個有效迴圈的六個要素
一個有效的迴圈由六個部分組成。缺少一個,迴圈就會悄悄地失效。
1. 自動化機制。
這是心跳。一個 cron 排程、一個 webhook、一個 /loop 指令,或 Claude Code 內部一個無需你打字就能觸發的鉤子。
有兩種值得了解的形式。/loop 會按照節奏重新運行,無論狀態為何。/goal 則會持續運行,直到你設定的可驗證條件為真,並由另一個獨立的小模型評斷工作是否完成。
在交易中,/loop 是每分鐘的資料拉取。/goal 是「持續迭代這個訊號,直到回測 Sharpe 比率高於 1.5」。
2. 技能。
技能是一份程序手冊,Agent 會讀取它,而不是在每次會話中從頭開始被告知。
它存放在 SKILL.md 檔案中。它包含你的慣例、你的規則、以及「我們不這樣做是因為某次事件」。
沒有技能,每次迴圈運行都從零開始。有了技能,意圖會疊加。
3. 狀態檔案。
一個 Markdown 檔案。通常稱為 STATE.md 或 PROGRESS.md。
它在每次運行之間持續存在。Agent 會遺忘。檔案不會。
Agent 在每次運行開始時讀取它。在結束時寫入發生的事情。
這聽起來太簡單,似乎不重要。但它實際上是每個有效迴圈的關鍵。
4. 驗證器。
撰寫程式碼的 Agent 是判斷程式碼是否正確的最差人選。
將此應用於交易。產生訊號的 Agent 是判斷訊號是真正的 Alpha 還是雜訊的最差人選。
你需要一個獨立的 Agent,具有不同的指令,理想情況下是不同模型,其唯一的工作就是驗證工作的成果。
這就是 maker checker 模式。華爾街的每家自營交易公司內部都是這樣結構化的。在 Jane Street,提出交易的人不會批准交易。在 Citadel,建立模型的研究員不會驗證模型。
5. 工作樹。
當你針對同一個檔案運行超過一個 Agent 時,它們就會開始衝突。
Git 工作樹為每個 Agent 提供自己的隔離工作目錄,指向自己的分支。
在交易中,這讓你可以並行運行訊號研究、回測和風險監控,而不會互相干擾。
6. 連接器。
一個只能讀取檔案的迴圈只是一個小迴圈。
建立在模型上下文協定上的連接器讓迴圈能夠連接經紀商 API、查詢資料庫、發布到 Slack、向交易所發送訂單。
這就是建議交易的迴圈與實際下單的迴圈之間的區別。
這六個要素是通用的。它們出現在 Claude Code 中。它們出現在 Codex 中。它們出現在地球上每個有效的 Agent 系統中。
現在讓我展示如何將它們連接成一個完整的交易系統。
第三部分:如何建構一個自我改善的量化交易迴圈
量化交易迴圈有五個階段。每個階段都是一個自己的子迴圈,擁有自己的技能、自己的狀態檔案和自己的驗證器。
第一階段。資料攝取。
一個自動化機制根據資產類別每分鐘、每小時或每天觸發。
1@loop(interval="1h")2def ingest_data():3 data = fetch_market_data(symbols=universe, lookback="30d")4 state.write("latest_data.parquet", data)
資料進入一個共享的狀態檔案,供下一個階段讀取。
第二階段。訊號產生。
這是 Alpha 研究發生的地方。
1@loop(trigger="data_updated")2def generate_signal():3 data = state.read("latest_data.parquet")4 signal = claude.run_skill("alpha_research", data)5 state.write("pending_signal.json", signal)
訊號產生 Agent 讀取一個包含你的 Alpha 研究規則的 SKILL.md 檔案。
1# alpha_research_skill.md23## 目標4使用過去 30 天的價格和成交量資料進行線性迴歸來產生訊號。56## 規則7- Sharpe 比率必須在過去 5 次回測中的 3 次高於 1.58- 每個訊號的部位規模限制為資本的 2%9- 跳過 FOMC 公告日的訊號10- 跳過財報發布前 48 小時的訊號1112## 學到的教訓13- 2026-02-14:在財報週損失 4.2%。新增規則:跳過財報前 48 小時的任何訊號。14- 2026-03-08:行業曝險超標導致 6% 的回撤。新增規則:將行業曝險上限設為 30%。15- 2026-04-22:動能訊號在 FOMC 日爆炸。新增規則:在 FOMC 日取消所有動能訊號。
技能會隨著時間成長。每次損失都會寫入一個新的教訓。每個教訓都會成為下一次運行的新規則。
這就是系統自我改善的原因。
第三階段。驗證。
訊號發送給一個完全獨立的 Agent。不同的模型。不同的指令。不會接觸到原始訊號的推理過程。
1@checker2def verify_signal(signal):3 result = claude.invoke(4 skill="backtest_verification_skill.md",5 signal=signal,6 rules=[7 "Sharpe ratio above 1.5",8 "Max drawdown below 10 percent",9 "Newey-West t-stat above 2.0",10 "Out of sample period at least 2 years"11 ]12 )13 return result.verdict
如果驗證失敗,訊號被終止。如果通過,則進入執行階段。
驗證器永遠不會看到創造者推理的內容。這個分離就是全部的優勢所在。
你也可以對驗證器使用比創造者更強的模型。使用 Claude Opus 進行驗證,Claude Sonnet 進行生成。不同的模型架構會捕捉不同類型的錯誤。這與機器學習中使用集成方法的邏輯相同。

創造者與驗證者的分離
第四階段。執行。
只有通過驗證的訊號才能到達這個階段。
1@auto_mode2def execute(signal):3 if verify_signal(signal):4 broker.send_orders(signal, max_position=0.02)5 state.write("active_trades", signal)
MCP 連接器處理經紀商 API。迴圈從不請求許可。自動模式讓它可以無需干預地運行。
第五階段。風險監控。
在一個獨立的平行工作樹中持續運行。
1@loop(interval="1m")2def monitor_risk():3 positions = broker.get_positions()4 if drawdown(positions) > 0.05:5 broker.close_all()6 state.append("STATE.md", "Drawdown trigger hit. All positions closed.")
這是終止開關。它在不經協商的情況下執行規則。
這五個子迴圈共同形成一個自我運行的系統。
資料流入。訊號產生。訊號驗證。通過驗證的訊號被執行。風險被監控。教訓被寫回記憶。
然後重新開始。

迴圈如何疊加
我設計過一次。此後我再也沒有提示過這些步驟中的任何一個。
這就是迴圈工程。這就是 Boris 所說的「我的工作就是撰寫迴圈」的含義。
一個警告。沒有真正停止條件的迴圈會悄悄地失敗。Agent 發出完成訊號,認為半完成的工作已完成。迴圈退出。糟糕的交易仍在進行。
你的停止條件需要可由 Agent 自身聲明以外的東西來檢查。「過去 30 筆交易中 Sharpe 高於 1.5」。「回撤低於 5%」。「測試套件通過」。永遠不要用「Agent 說它完成了」。
在我的博弈論文章中,我解釋了為什麼每筆交易都是在資訊不完全的多玩家遊戲中的一個策略動作。如果你錯過了,你會想在讀完這篇後立即閱讀:
https://x.com/RohOnChain/status/2066178991892119820
正是這個迴圈讓你能夠永遠坐在那張牌桌前而不會筋疲力竭。
總結
量化交易本身就是一個迴圈。華爾街的每家基金都運行它。他們只是需要數百人坐在裡面。
迴圈工程移除了這些人。
六個要素構成每個有效的迴圈。自動化機制提供心跳。技能保存專案知識。狀態檔案保存記憶。驗證器評分輸出。工作樹隔離平行工作。連接器為迴圈提供與真實世界互動的能力。
將它們圍繞五階段交易循環連接起來,你就得到了一個自我改善的系統,能自行運行 Alpha 研究、驗證訊號、執行交易和監控風險。
系統每個循環都會變得更聰明。每次損失都會寫入一個新教訓。每個教訓都會成為一個新規則。一百筆交易後,技能檔案是一份活文件。一千筆交易後,它比任何單一人工記憶更接近機構知識。
首先建構這個的基金將在未來十年複利成長。那些仍在手動提示的基金將被拋在後頭。
所以,這裡有一個值得深思的問題。
如果迴圈工程是提示的下一個抽象層,而量化交易是世界上最高風險的迴圈,那麼你是那個仍然為每筆交易逐一輸入提示的人,還是那個設計了在你睡覺時為你交易的迴圈的架構師?
沒有錯誤的答案,但有些答案非常能揭示你的位置。





