金融 Agent 的研究依據:一般行情展示僅為示意;A 股與美股模型候選未獲晉升;另一批次篩選的 10 日事件報酬分別為負 0.295% 與負 0.456%。
兩組獨立研究紀錄:模型候選未獲晉升;另一個歷史篩選中,更嚴格條件的 10 日事件報酬更差。非 Agent 報酬 A/B 實驗。

最近滑社群平台,賽博龐克風的金融 Agent 越來越常見:黑底霓虹、跳動的 K 線、精美的儀表板,幾句 Vibe Code 就能做出來。看多了,我總有一種感覺——有些產品像同一條產線出來的「行情播放器」:接入通用資料,讓 LLM 即時解讀,再換套 UI 播出來。

即時行情、技術指標和委託單流分析當然有用。但如果把動畫關掉,只剩幾句「偏多」「偏空」,研究依據到底在哪裡?

說到底,行情大家都買得到,LLM 大家都能用。在全球高手雲集的金融市場,你的 Agent 帶進來的究竟是誰的研究判斷?一份漂亮報告憑什麼幫你脫穎而出?難道提交給 LLM 的那幾句提示詞,就是核心護城河與競爭力?

翻自己的 NuvexLens 開發筆記,我最想拿出來說的,反而是兩次不太漂亮的結果。

模型跑完了,新版本卻沒獲准上線

十月的正式環境驗收裡,A 股、美股的自動最佳化任務都跑完了,也產生了新候選。結果兩邊都觸發了特定市場狀態下的訊號方向反轉門檻。白話說,系統發現候選訊號在對應市場狀態下,統計關係可能反過來,因此不允許新權重直接取代舊模型。這並不是單純說它猜錯了大盤漲跌。

任務跑通,和模型有資格上線,是兩道不同的檢查。候選仍是候選,線上的舊模型照常運作。

我想要的投研工具,背後得有長期打磨的歷史資料和研究模型。下次遇到相似行情型態,至少能查到過去出現過多少次、後來的結果如何分布,以及訊號在哪些市場狀態下失靈。歷史不會照劇本重演,模型也不保證每次都對;但這些紀錄得靠一次次真實計算、驗證與修正累積,精修提示詞無法當場補出來。

篩選更嚴,10 日結果反而更差

另一次美股歷史門檻評估涵蓋 43 個交易日。篩得更嚴後,3 日、5 日的部分統計好看了些,10 日平均事件報酬卻從 −0.295% 變成 −0.456%;兩組條件選出的 10 日去重事件紀錄分別為 2,002 筆與 1,651 筆。

這些數字算的是訊號出現後 10 日的價格變動,不是帳戶實際虧了多少。篩選條件一變,納入的樣本也變了;即使去重,10 日持有期間仍可能互相重疊。只看短期就說「篩得越嚴越好」,太早了。

還有一個更隱蔽的坑:我後來核對報酬計算,發現把持有期間事件報酬按訊號日期彙總,不能直接當成真實部位的每日投資組合淨值。拿這種序列解讀 Sharpe 和回撤,報告也許很專業,統計對象卻搞錯了。

這些不那麼好聽的紀錄,才是我希望 Agent 帶進回答裡的:哪些候選沒通過、哪些短期改善經不起長期檢驗、哪些指標得先核對計算口徑。公開資料配上認真寫的研究程式,也能累積這些判斷。想自己動手試,我曾用公開 ETF 做過因子 Rank IC 與分組報酬的多期間驗證。

Agent 負責解釋,研究不能靠臨場發揮

我也曾讓 Muse(Meta 的個人 Agent)透過授權 REST 介面,讀取 NuvexLens 先前發布的研究快照。那是另一批次的接入驗證,還無法把快照中的具體結果和前面兩個歷史案例逐筆對應。介面只是把已有的研究結果交給 Agent;真正的研究工作,發生在提問之前。

圖表畫得出來,不代表判斷能兌現。 我現在更在意三個問題:誰算的?什麼時候算的?過去算得怎麼樣?如果回答不了,LLM 再會說,也還沒回答開頭那道護城河問題。


附註:本文討論的是歷史研究與工程驗證,沒有進行通用金融 Agent 與自研模型的同條件報酬比較,不構成投資建議。