AIトレーディングシステム:全取引前のブル対ベア討論
AIトレーディングシステム:全取引前のブル対ベア討論
TL;DR: 全ての取引前に2つのAIエージェントが討論するペーパートレーディングシステム——ブルが賛成論を展開し、ベアが論理を攻撃し、アービトレーターが決定する。Alpaca上に構築され、ArXivのクォントファイナンス論文の研究に基づく。
なぜこれを作ったか
ほとんどの個人トレーディングシステムはシングルスレッドだ:1つのシグナルが発火し、1つのオーダーが出る。うまくいく、うまくいかなくなるまでは。
自分の決定に挑戦できるシステムが欲しかった——投資委員会のように機能するもの、資本を投入する前に論証を_守らなければならない_もの。
もう一つの動機は学術的なものだった:最近のArXiv論文(2602.23330)が、敵対的サブタスクを持つ細粒度のマルチエージェントLLMシステムがトレーディング決定において粗い単一エージェントアプローチを大幅に上回ることを示した。試す価値があると思った。
アーキテクチャ
システムには3つのレイヤーがある:
[ シグナルレイヤー ] テクニカル指標、スマートマネー、ニュース
↓
[ 討論レイヤー ] ブル ↔ ベアの対立議論
↓
[ 実行レイヤー ] アービトレーターの評決 → Alpacaオーダー + ストップロスシグナルレイヤー
3つのサブシステムが独立してシグナルを生成する:
テクニカル(短期、2時間ごと)
- SPY/QQQ/NVDA/AAPL/TSLAのRSI、MACD、ATRベースのトレンドフォロー
- RSIが30/70を越えるかMACDが交差したときだけ発火——全ティックではない
スマートマネー(プレマーケット毎日)
- 13F申告書:バークシャー、ブリッジウォーター、ルネッサンス、シタデル、トゥーシグマ
- QuiverQuantによる議会トレード
- フォーム4インサイダー購入——CEO/CFO/社長、P型(公開市場)、$100k以上にフィルタリング
ニュース(中期、クロース後)
- Alpacaニュースフィードからのセクターローテーションシグナル
- アクティブポジションとのクロスリファレンス
討論レイヤー
全ての候補取引は3エージェントプロセスを通る:
ブルエージェント — 取引に_賛成_して議論する。具体的なテクニカルおよびファンダメンタルな理由を提示する必要がある、漠然とした楽観論ではなく。
ベアエージェント — ブルの議論を読んで攻撃する。最も弱い仮定を見つける。何がうまくいかないかを指摘する。
アービトレーター — 両サイドを総合し、確認する:
- リスク/リワード比(最低1:2が必要)
- ポートフォリオ制限対ポジションサイジング(ティッカーごとの15%のハードキャップ)
- データ整合性(欠落/ゼロ価格データでは取引しない)
- 信頼スコア付きで
GO/NO_GOを返す
テスト中の実際のNO-GOはこんな感じだった:
⚖️ 評決: ❌ NO-GO (95%の信頼度)
理由: ベアの議論が決定的——現在価格は$0.00を示し、
RSIはN/A。ブルのRSI=29の主張は検証不可能。
壊れたデータでの取引なし。
リスクフラグ:
- DATA_INTEGRITY_FAILURE: 価格 $0.00
- UNVERIFIABLE_THESIS: ソースデータとRSIの不一致
- MOMENTUM_TRAP_RISK: TSLAはモメンタム株、平均回帰ではないシステムはデータパイプラインの失敗を検出し、取引を拒否した。それがまさに求める動作だ。
ポジションサイジング
適応的ボラティリティ制御に関する論文(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——2つの最も人気のある個人投資家指標——はどちらも何もしないことより劣った。
これに基づく推奨配分:
- 40%コアバイ&ホールド(SPY/QQQ)
- 40% ATRトレンド戦略
- 20%キャッシュ(日和見的 + スマートマネープレイ)
スタック
- トレーディングAPI: Alpaca(ペーパートレーディング、$100kバーチャル)
- データ: 過去データにyfinance、ライブバーにAlpacaデータAPI
- 分析: pandas、numpy、ta(テクニカル分析ライブラリ)
- バックテスト: vectorbt、backtrader
- LLM討論: Claude CLI(利用不可の場合はルールエンジンにフォールバック)
- インフラ: OpenClawのcronジョブ、Discordチャンネル通知
- 言語: Python 3.11(mamba conda環境)
得られた教訓
データ整合性が最優先。 システムは価格データが$0を返したため、最初のシミュレーション取引を拒否した。バグではなく機能だ。悪いデータパイプラインに本当のお金を動かさせてはいけない。
RSIはモメンタム株には過大評価されている。 RSI 29のTSLAは跳ね返るということを意味しない——本当の下降トレンドが始まっているだけかもしれない。バックテストがこれを確認した:RSI平均回帰は一貫して劣った。
討論はレイテンシを追加するが問題を捕捉する。 全ての取引前に2つのLLM呼び出しを実行すると約10秒追加される。その代わりに、各決定が_なぜ_行われたかの書面記録が得られる。ペーパートレーディングの実験には、これは価値がある。
13Fと議会申告書が最もクリーンなシグナルだ。 フォーム4はノイジーが多い(オプション行使とRSU付与が多すぎる)。議会トレードは奇妙だが本物だ——議会議員は歴史的に市場を大幅に上回っている。それをどう受け取るかはあなた次第だ。
次のステップ
ソースコードは今のところプライベート——後でトレーディングロジック以外の部分をオープンソース化するかもしれない。
