私は、単独で完全なクオンツ取引システムを動かすループを、正確に構築する方法を解説します。
さっそく本題に入りましょう。
ブックマーク推奨
- 私は Roan です。システム設計、HFT スタイルの実行、クオンツ取引システムを手がけるバックエンド開発者です。私の仕事は、予測市場が負荷下でどのように振る舞うかに焦点を当てています。提案や建設的なコラボレーション、パートナーシップについては DM を開いています。
今日から始めること。
クオンツシステムを構築している方、これから始めようとしている方、あるいは考え始めたばかりの方も、取り組んでいる内容を DM で送ってください。この記事に返信するだけでも結構です。私から連絡します(現在のアーキテクチャのスクリーンショットを送るだけでも大丈夫です)。
最初の 20 セットアップを個人的にウォークスルーし、現在の状況と実際にアルファを生み出すシステムとのギャップをお見せします。
ほとんどのクオンツは今でも Claude にプロンプトを送っています。入力して、待って、出力を読んで、また入力する。
世界で最も賢いビルダーたちは、もうそんなことはしていません。
彼らはループを書きます。ループが Claude にプロンプトを送り、ループが出力を検証し、ループが次に何をするかを決定します。ループはラップトップを閉じた後も動き続けます。
Anthropic の Claude Code 責任者である Boris Cherny は、2 週間前にこう明確に述べました。「私はもう Claude にプロンプトを送っていません。Claude にプロンプトを送り、何をすべきか判断するループを動かしています。私の仕事はループを書くことです。」 この一言で、世界中の真剣な AI エンジニアのものづくりに対する考え方が変わりました。そして、これはクオンツ取引と完全に一致します。
大多数のリテールクオンツはこれを読んで、自分たちには関係ないと言うでしょう。資金が少なすぎると。それは間違いです。資本が小さければ小さいほど、これが重要になります。自己実行ループこそ、個人のビルダーが 100 人の博士号保持者を抱えるファンドとの差を埋める唯一の方法です。
なぜならクオンツ取引はすでにループだからです。データを取得し、シグナルを生成し、バックテストし、執行し、リスクを監視し、繰り返す。
ウォール街のすべてのファンドがこのサイクルを実行しています。Renaissance は 1988 年からずっとです。Citadel はエンジニアのチームが各段階を監視しながら実行しています。Two Sigma、Jane Street、どこも同じです。
唯一の違いは、彼らはループの中に何百もの人間を配置する必要があることです。あなたにはその必要はありません。
私はすでにこのループを自分のために構築しました。スケジュールに従って市場データを取得し、アルファリサーチを実行し、別のエージェントを通じてすべてのシグナルを検証し、検証に合格したものだけを執行し、すべての教訓をメモリに書き戻します。
この記事は、私がループエンジニアリングと、それを完全な自律型取引システムに組み込む方法について学んだすべてです。
この記事を読み終えると、以下のことがわかります:
エージェントにプロンプトを送ることとループエンジニアリングの正確な違い
本番環境で動作するすべてのループを構成する 6 つの要素
それらの 6 つの要素をゼロから自己改善型クオンツ取引システムに組み込む方法
それでは詳しく見ていきましょう。
パート 1: プロンプティングとループエンジニアリングの違い
過去 2 年間、AI との作業は次のようなものでした。
プロンプトを入力し、返ってきたものを読み、それに基づいて次のプロンプトを入力する。
あなた自身がループでした。
エージェントはツールにすぎません。あなたが常にそれを操作し、次の行動をキーボードの前で決めていました。
ループエンジニアリングはそれを終わらせます。
あなたはループの内部ではなく、それを設計するアーキテクトになります。
ループは再帰的な目標です。目的を定義し、エージェントがそれに向かって反復します。ループは真の停止条件が満たされるまで走り続けます。
エージェントは実行の間で忘れますが、ループは忘れません。
この単一の事実がアーキテクチャの全体像です。
これが Boris が言ったことの意味です。彼は指示を一つずつ入力するのをやめ、代わりに指示を送り、結果を読み、次に何をするかを決定するシステムを構築しました。
コーディングにおいて、これはソフトウェアのリリース方法を変えます。
取引において、これはすべてを変えます。
なぜなら、一つのプロンプトを入力して立ち去るだけで利益を上げたクオンツはいないからです。優位性は、同じサイクルを何千回も実行し、毎回 1% ずつ向上し、決して眠らないことから生まれます。
まさにそれがループの役割です。
もしあなたがまだ Claude に一取引ごとにプロンプトを入力しているなら、Boris が 2 年前にやめたことをやっています。レバレッジポイントは一段階上がりました。もはやより良いプロンプトを書くのではなく、プロンプトを書くシステムを書いているのです。

プロンプティングとループエンジニアリングの違い
パート 2: すべての動作するループを構成する 6 つの要素
動作するループは 6 つの部分で構成されています。一つ欠けると、ループは静かに壊れます。
1. 自動化
これは心拍です。cron スケジュール、webhook、/loop コマンド、または Claude Code 内のあなたが入力しなくても発動するフックです。
知っておく価値のある 2 つの種類があります。/loop は状態に関係なく一定の間隔で再実行します。/goal は、あなたが書いた検証可能な条件が実際に真になるまで続行し、別の小規模モデルが作業が完了したかどうかを評価します。
取引において、/loop は毎分のデータ取得です。/goal は「バックテストのシャープレシオが 1.5 を超えるまでこのシグナルを反復し続ける」です。
2. スキル
スキルとは、エージェントが毎回ゼロから指示される代わりに読む手順書です。
SKILL.md ファイルに保存されます。あなたの慣習、ルール、「あのインシデントがあったからこうしない」といった内容が含まれます。
スキルがないと、ループの実行は毎回ゼロから始まります。スキルがあれば、意図が蓄積されます。
3. 状態ファイル
マークダウンファイル。通常 STATE.md または PROGRESS.md と呼ばれます。
実行間で存続します。エージェントは忘れますが、ファイルは忘れません。
エージェントは各実行の開始時にそれを読み、終了時に何が起こったかを書き戻します。
馬鹿げていて重要ではないように聞こえますが、実際にはすべての動作するループの背骨です。
4. 検証者
コードを書いたエージェントは、そのコードが正しいかどうかを判断するのに最も適していません。
これを取引に適用します。シグナルを生成したエージェントは、そのシグナルが本当のアルファなのかノイズなのかを判断するのに最も適していません。
別の指示を持ち、理想的には異なるモデルを使用する、作業を検証することだけを仕事とする別のエージェントが必要です。
これはメーカーチェッカーパターンです。ウォール街のすべてのプロップショップは内部でこのように構成されています。Jane Street では、トレードを提案するトレーダーがそのトレードを承認しません。Citadel では、モデルを構築した研究者がそのモデルを検証しません。
5. ワークツリー
複数のエージェントを同じファイルに対して実行すると、衝突が発生します。
Git ワークツリーは、各エージェントに独自のブランチを指す独立した作業ディレクトリを提供します。
取引において、これによりシグナルリサーチ、バックテスト、リスク監視を互いに干渉することなく並行して実行できます。
6. コネクター
ファイルしか読めないループは小さなループです。
Model Context Protocol 上に構築されたコネクターにより、ループはブローカー API にアクセスし、データベースにクエリを実行し、Slack に投稿し、取引所に注文を送信できます。
これがトレードを提案するループと実際に注文を出すループの違いです。
これら 6 つの要素は普遍的です。Claude Code にも Codex にも、地球上のすべての動作するエージェントシステムにも存在します。
次に、それらを完全な取引システムに組み込む方法をお見せします。
パート 3: 自己改善型クオンツ取引ループの構築方法
クオンツ取引ループには 5 つの段階があります。各段階は独自のサブループであり、独自のスキル、状態ファイル、検証者を持ちます。
ステージ 1: データ取り込み
資産クラスに応じて、毎分、毎時、または毎日自動化が発動します。
1@loop(interval="1h")2def ingest_data():3 data = fetch_market_data(symbols=universe, lookback="30d")4 state.write("latest_data.parquet", data)
データは次の段階が読み取る共有状態ファイルに入ります。
ステージ 2: シグナル生成
ここでアルファリサーチが行われます。
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)
シグナル生成エージェントは、アルファリサーチのルールを保持する SKILL.md ファイルを読み取ります。
1# alpha_research_skill.md23## 目標4過去 30 日間の価格と出来高データを使用して線形回帰によりシグナルを生成する。56## ルール7- シャープレシオは直近 5 回のバックテストのうち 3 回で 1.5 以上であること8- ポジションサイズはシグナルあたり資本の 2% に制限9- FOMC 発表日はシグナルをスキップ10- 決算発表の 48 時間前はシグナルをスキップ1112## 学んだ教訓13- 2026-02-14: 決算週に 4.2% 損失。14 新ルール: 決算の 48 時間前はシグナルをスキップ。15- 2026-03-08: セクターエクスポージャーの超過により 6% のドローダウン。16 新ルール: セクターエクスポージャーを 30% に制限。17- 2026-04-22: モメンタムシグナルが FOMC 日に暴落。18 新ルール: FOMC 日はすべてのモメンタムシグナルを停止。
スキルは時間とともに成長します。損失があるたびに新しい教訓が書き戻されます。教訓は次の実行のための新しいルールになります。
これがシステムを自己改善型にするものです。
ステージ 3: 検証
シグナルは完全に別のエージェントに送られます。異なるモデル、異なる指示、元のシグナルがどのように推論されたかには触れません。
1@checker2def verify_signal(signal):3 result = claude.invoke(4 skill="backtest_verification_skill.md",5 signal=signal,6 rules=[7 "シャープレシオが 1.5 以上",8 "最大ドローダウンが 10% 未満",9 "Newey-West t 統計量が 2.0 以上",10 "サンプル外期間が少なくとも 2 年"11 ]12 )13 return result.verdict
検証に失敗した場合、シグナルは破棄されます。合格した場合、執行に移ります。
検証者はメーカーが推論した内容を決して見ません。この分離こそがすべての優位性です。
チェッカーにはメーカーよりも強力なモデルを使用することもできます。検証に Claude Opus、生成に Claude Sonnet のように。異なるモデルアーキテクチャが異なる種類のエラーを捉えます。これは機械学習でアンサンブル手法が使用するのと同じロジックです。

メーカーチェッカーの分割
ステージ 4: 執行
検証済みのシグナルだけがこのステージに到達します。
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 を処理します。ループは許可を求めません。自動モードにより手放しで実行できます。
ステージ 5: リスク監視
常に並行ワークツリーで実行されます。
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", "ドローダウントリガーが作動。すべてのポジションをクローズ。")
これがキルスイッチです。交渉なしにルールを強制します。
これら 5 つのサブループが一体となって、自己実行型システムを形成します。
データが流れ込み、シグナルが生成され、シグナルが検証され、検証済みシグナルが執行され、リスクが監視され、教訓がメモリに書き戻されます。
そして再び始まります。

ループがどのように蓄積されるか
私はこれを一度設計しました。それ以来、これらのステップにプロンプトを送っていません。
それがループエンジニアリングです。それが Boris が自分の仕事はループを書くことだと言った意味です。
一つ警告です。真の停止条件がないループは静かに失敗します。エージェントは中途半端な仕事が完了したと信じて完了シグナルを発します。ループは終了し、悪いトレードが放置されます。
停止条件は、エージェント自身の主張以外の方法で確認可能でなければなりません。「直近 30 トレードでシャープレシオが 1.5 以上」「ドローダウンが 5% 未満」「テストスイートがパス」など。「エージェントが完了したと言っている」ではダメです。
私のゲーム理論の記事では、すべてのトレードが不完全情報のマルチプレイヤーゲームにおける戦略的な動きである理由を説明しました。まだ読んでいない方は、この記事の後でぜひ読んでみてください:
https://x.com/RohOnChain/status/2066178991892119820
ループこそが、燃え尽きることなく永遠にそのテーブルに座り続けることを可能にします。
まとめ
クオンツ取引はすでにループです。ウォール街のすべてのファンドがそれを実行しています。彼らはただループの中に何百もの人間を配置する必要があるだけです。
ループエンジニアリングは人間を取り除きます。
6 つの要素がすべての動作するループを構成します。自動化が心拍を刻み、スキルがプロジェクト知識を保持し、状態ファイルがメモリを保持し、検証者が出力を評価し、ワークツリーが並行作業を分離し、コネクターがループに現実世界での手を与えます。
これらを 5 段階の取引サイクルに配線すれば、アルファリサーチを実行し、シグナルを検証し、トレードを執行し、リスクを自律的に監視する自己改善システムが完成します。
システムはサイクルごとに賢くなります。損失があるたびに新しい教訓が書き込まれ、教訓は新しいルールになります。100 トレード後にはスキルファイルは生きた文書となり、1000 トレード後には一人の人間が記憶できるものを超えた機関知識に近づきます。
これを最初に構築したファンドは次の 10 年間で成長を続けるでしょう。まだプロンプトを送っているファンドは取り残されます。
では、ここで考えていただきたい質問です。
もしループエンジニアリングがプロンプティングの上の次の抽象化であり、クオンツ取引が世界で最も stakes の高いループであるなら、あなたはまだ一取引ごとにプロンプトを入力している人ですか?それとも、あなたが寝ている間に取引を行うループを設計したアーキテクトですか?
間違った答えはありませんが、非常に示唆に富む答えはあります。





