AI交易系统:每笔交易前的多空博弈
AI交易系统:每笔交易前的多空博弈
简介:一套纸上交易系统,每笔交易执行前都会由两个AI智能体进行辩论——多头(Bull)为交易做论证,空头(Bear)逐一反驳,仲裁者(Arbitrator)最终裁决。系统基于Alpaca交易平台,灵感来自ArXiv量化金融论文。
为什么要做这个
大多数零售交易系统是单线程的:一个信号触发,一笔订单发出。这在大多数时候没问题,直到某次出了问题。
我希望做一个能质疑自己决策的系统——更接近投资委员会的工作方式:你必须先为自己的论点辩护,才能部署资金。
另一个动机来自学术研究:一篇近期的ArXiv论文(2602.23330)表明,在交易决策上,具有对抗性子任务的细粒度多智能体LLM系统,显著优于粗粒度的单智能体方法。这值得验证。
系统架构
系统分为三层:
[ 信号层 ] 技术指标、聪明钱、新闻
↓
[ 辩论层 ] 多头 ↔ 空头对抗辩论
↓
[ 执行层 ] 仲裁者裁决 → Alpaca下单 + 止损
信号层
三个子系统独立生成信号:
技术信号(短期,每2小时一次)
- RSI(相对强弱指数)、MACD、基于ATR(真实波幅均值)的趋势跟踪,跟踪标的:SPY/QQQ/NVDA/AAPL/TSLA
- 仅在RSI穿越30/70或MACD交叉时触发,不对每个tick响应
聪明钱(每日盘前)
- 13F申报文件:伯克希尔、桥水、文艺复兴科技、城堡投资、两个适马
- 通过QuiverQuant追踪国会议员交易
- Form 4内部人士买入记录——筛选条件:CEO/CFO/总裁,P类型(公开市场买入),交易金额超10万美元
新闻(中期,收盘后)
- 来自Alpaca新闻feed的板块轮动信号
- 与当前持仓交叉比对
辩论层
每笔候选交易都经历三智能体流程:
多头智能体(Bull) — 为交易做论证。必须给出具体的技术面和基本面理由,不允许模糊的乐观表述。
空头智能体(Bear) — 阅读多头的论证并进行攻击。找出最薄弱的假设,指出可能出错的地方。
仲裁者(Arbitrator) — 综合双方观点,检查:
- 风险回报比(最低要求1:2)
- 仓位大小与投资组合限制(单只标的硬性上限15%)
- 数据完整性(零价格或缺失数据时拒绝交易)
- 返回
GO/NO_GO及置信度评分
以下是测试过程中一次实际的NO-GO案例:
⚖️ Verdict: ❌ NO-GO (95% confidence)
Reason: Bear argument decisive — current price shows $0.00,
RSI N/A. Bull's RSI=29 claim is unverifiable. No trade on
broken data.
Risk flags:
- DATA_INTEGRITY_FAILURE: price $0.00
- UNVERIFIABLE_THESIS: RSI mismatch with source data
- MOMENTUM_TRAP_RISK: TSLA is a momentum stock, not mean-reversion
系统发现了数据管道故障并拒绝交易。这正是你想要的行为。
仓位管理
基于论文 2603.01298(关于自适应波动率控制),仓位大小由ATR驱动:
position_pct = (risk_per_trade_pct) / (atr_pct * atr_multiplier)
实际效果:
- SPY(ATR约1.3%)→ 最大仓位约77%(受15%上限约束)
- NVDA(ATR约3.6%)→ 最大仓位约28%
- TSLA(ATR约3.7%)→ 最大仓位约27%
波动率越高 = 仓位越小。简单,但有效。
回测结果
部署之前,我在SPY上跑了5年回测(2020–2025)以验证策略选择:
| 策略 | 年化收益 | 夏普比率 | vs 买入持有 |
|---|---|---|---|
| ATR趋势跟踪 | 113% | 0.68 | +14pp |
| RSI均值回归 | 67% | 0.41 | -32pp |
| MACD动量 | 71% | 0.44 | -28pp |
| 买入持有 SPY | 99% | 0.61 | 基准 |
5年下来,只有ATR趋势跟踪策略跑赢了被动持有SPY。RSI和MACD——零售投资者最常用的两个指标——都跑输了什么都不做。
基于此,建议的资金配置:
- 40% 核心买入持有(SPY/QQQ)
- 40% ATR趋势策略
- 20% 现金(机会性操作 + 聪明钱跟单)
技术栈
- 交易API:Alpaca(纸上交易,虚拟本金10万美元)
- 数据:yfinance用于历史数据,Alpaca data API用于实时K线
- 分析:pandas、numpy、ta(技术分析库)
- 回测:vectorbt、backtrader
- LLM辩论:Claude CLI(不可用时回退到规则引擎)
- 基础设施:OpenClaw定时任务,Discord频道通知
- 语言:Python 3.11(mamba conda环境)
经验总结
数据完整性第一。 系统拒绝了第一笔模拟交易,因为价格数据返回了0。这是特性,不是缺陷。永远不要让有问题的数据管道动用真实资金。
RSI对动量型股票作用有限。 TSLA的RSI跌到29,不代表它即将反弹——它可能只是开始了真正的下跌趋势。回测证实了这一点:RSI均值回归策略始终跑输。
辩论增加了延迟,但能捕捉问题。 每笔交易前跑两次LLM调用,大约增加10秒延迟。换来的是每次决策都有书面记录,说明为什么这样做。对于纸上交易实验来说,这非常有价值。
13F和国会申报是最干净的信号。 Form 4噪音太多(期权行权和RSU授予占了大头)。国会交易记录很奇特,但是真实的——国会议员的历史投资回报率显著跑赢市场。你自己体会吧。
下一步
- 修复数据管道,让ATR分析在实时模式下也能正常工作
- 先跑一个月纸上交易,再考虑动用真实资金
- 评估VSN+LSTM模型(arXiv 2603.01820)作为信号层替代方案——目前金融时间序列的最新SOTA
- 等纸上交易结果看起来不错后,接入真实期权流数据(Unusual Whales)
源代码暂不公开——之后可能开源其中与交易逻辑无关的部分。