24 時間 365 日アルファを追求する AI エージェントスウォームの構築方法

@RohOnChain
英語1 日前 · 2026年7月06日
215K
234
36
27
725

TL;DR

Roan 氏が、クオンツリサーチを自動化するために設計された 6 段階の AI エージェントアーキテクチャを解説。Slate フレームワークを使用して、アルファの発見と検証のための並列ループを実行します。

AI エージェントの群れでクオンツ研究チーム全体を置き換える方法

クオンツ研究チーム全体を置き換える AI エージェントの群れの構築方法を解説します。

さっそく本題に入りましょう。

ブックマーク推奨

- 私は Roan です。システム設計、HFT スタイルの執行、そしてクオンツ取引システムを手がけるバックエンド開発者です。予測市場が負荷下で実際にどのように動作するかに焦点を当てています。ご提案、思慮深いコラボレーション、パートナーシップに関する DM はいつでも歓迎します。

前回の記事で、AI クオンツシステムを構築する最初の 20 人を個別にサポートすると約束しました。本気です。

すでに 4 人のビルダーが私と共にプロセスを進めています。そのうちの 1 人は、今この瞬間も完全な自己改善型ヘッジファンドループを実行しています。

このオファーはまだ有効です。

アルファ研究システムを構築している方、これから始めようとしている方、あるいは考え始めたばかりの方も、この記事に返信するか、現在のセットアップを DM で送ってください。あなたのアーキテクチャを個別に確認し、現状と自律的にアルファを追い求める群れとのギャップをお見せします。

返信がなければ、最初の 20 人に入っていなかったということです。迅速に行動してください。

ほとんどのクオンツは、今も 10 年前と同じ方法でアルファを追い求めています。

論文を読みます。Jupyter ノートブックを開きます。いくつかの特徴量をエンジニアリングします。バックテストを実行します。シャープレシオを睨みます。次のアイデアに移ります。

彼ら自身がパイプラインなのです。

研究のすべての段階で、彼らが画面の前に座り、一度に 1 つの仮説を実行しています。

地球上で最も賢いクオンツビルダーたちは、もうそんなことはしていません。

彼らは群れを構築しています。 群れの各エージェントが研究の 1 つの段階を担当します。エージェントは並行して動作します。群れは継続的に実行されます。彼らが眠っている間に、毎朝新しいアルファが現れます。

Anthropic の Claude Code 責任者である Boris Cherny 氏は 2 週間前、こう言いました。「私はもう Claude にプロンプトを送っていない。Claude にプロンプトを送り、何をすべきか考えさせるループを実行している。私の仕事はループを書くことだ。」

この一言で、地球上のすべての真剣なビルダーが AI について考える方法が変わりました。

クオンツ研究にとって、これはすべてを変えます。

なぜなら、アルファ研究はすでにパイプラインだからです。論文を読む。仮説を抽出する。特徴量をエンジニアリングする。20 年分のデータでバックテストする。有意性を確認する。シグナルが異なる市場環境でも生存するか確認する。既知のすべてのファクターに対して分解する。

ウォール街のすべての真剣なファンドは、まさにこのパイプラインを実行しています。Renaissance は 100 人の博士号保持者で実行しています。Two Sigma は 200 人で実行しています。Citadel はそれ以上で実行しています。

唯一の違いは、彼らはパイプラインの中に何百もの人間を配置する必要があるということです。あなたには必要ありません。

AI エージェントの群れは、そのパイプラインのすべての段階をあなたの代わりに実行できます。各エージェントは特化しています。各エージェントはその複雑さに適したモデルで実行されます。すべてのエージェントが 24 時間 365 日並行して動作します。

私はここ数日、この群れを構築してきました。

夜間に新しい研究論文を読みます。その中の数学を研究します。主張されている正確な仮説を抽出します。必要な特徴量をエンジニアリングします。20 年の履歴に対してシグナルをバックテストします。統計的厳密性を実行します。オーバーフィッティングをチェックします。1 つの市場環境でしか機能しないものをフラグします。

この記事の最後には、6 つのエージェントからなるアルファ研究群れの正確なアーキテクチャを理解できるでしょう。

独自のエージェントフレームワークをゼロから書かずに、週末で構築できるツールを知ることができます。

そして、リテールの試みの 90 パーセントを失敗させる 5 つの失敗モードを知ることができます。

それでは始めましょう。

パート 1: 群れとは実際には何か

プロンプトは質問です。あなたが尋ね、モデルが一度答えて、それで終わりです。

ループは仕事です。エージェントは作業を続け、自分の進捗を確認し、タスクが実際に完了するまで続けます。

群れとは、並行して実行される多くのループです。各ループは専門家です。各専門家はパイプラインの 1 つの段階を担当します。1 つの出力が次の入力になります。

これが全体のメンタルモデルです。

Claude Code、Cursor、Codex を使用したことがあれば、知らず知らずのうちにループを使用しています。エージェントがモデルを呼び出し、モデルがアクションを選択し、アクションが実行され、結果がモデルに戻り、目標が達成されるまで繰り返します。

ループこそが、エージェントを単一の回答ではなくエージェントにするものです。

群れこそが、研究チームを 1 人の研究者がタイピングするだけのものではなく、研究チームにするものです。

パート 2: 群れを実行するツール

異なる API にシェルアウトする Python スクリプトでこれを自分で構築することもできます。

試しました。1 つのエージェントが別のエージェントを待つ必要がある瞬間に壊れます。サイクル間で状態を永続化する必要がある瞬間に壊れます。異なるモデルで 6 つのループを並行して実行したい瞬間に壊れます。

結局、研究をする代わりに、独自のエージェントフレームワークをゼロから構築することになります。

そこで Slate を見つけました。

Roan - inline image

Slate は @wearerandomlabs によって構築された AI コーディングハーネスです。ターミナルで実行されます。任意のタスクをコードベース全体のサブエージェントの群れに展開します。任意のステップで任意のモデルを選択できます。既存のサブスクリプションがそのまま使えます。

この群れにこれを使う理由は、彼らがちょうどリリースした Programs という機能にあります。

Program は Slate が実行する JavaScript で書かれたループです。

プロンプトは一度実行されて停止します。Program はエンジニアリングされたループです。継続的に実行されます。実行間で状態を保持します。タスクが完了するまで続けます。

各ステップで何が起こるか、どのモデルがどのステップを処理するか、続行前にループが何をチェックするか、いつ停止するかをあなたが決定します。

Program を一人で書く必要はありません。Slate に何をしたいかを伝えると、ステップバイステップでループを一緒にドラフトします。ループを保存します。実行します。実行し続けます。

ループはコードなので、状態を保持し、コードベースと対話し、外部 API を呼び出し、Slack に投稿し、選択した任意のモデルの組み合わせで複数のサブエージェントを並行してオーケストレーションできます。簡単な作業には安価なオープンウェイトモデル。難しい推論にはフロンティアモデル。ステップに合ったものを選びます。

6 つのエージェントからなる研究群れにとって、これはまさにこれまで欠けていたレイヤーです。

Slate は https://randomlabs.ai で見つけられます。現在利用可能です。

それでは、群れをお見せしましょう。

パート 3: 6 つのエージェント

すべての真剣なクオンツファンドは、研究の同じ 6 つの段階を実行しています。

以下が、それらを置き換える群れです。

エージェント 1: アイデア生成器。

毎晩、arXiv q-fin、SSRN、金融ジャーナルから新しい研究論文を読みます。

各論文が提案している数学的モデルを研究します。主張されている正確な仮説、必要なデータ、予測されるシグナルの方向を抽出します。

各仮説を構造化された研究チケットとして書き、次のエージェントが引き取れるようにします。

高速でコスト効率の良いモデルで実行されます。タスクは大量の構造化抽出だからです。

エージェント 2: 特徴量エンジニア。

仮説チケットを受け取ります。価格データベースまたはファンダメンタルデータベースから必要なデータを取得します。

特徴量ベクトルを構築します。クロスセクション全体で標準化します。欠損観測値、3 標準偏差を超える外れ値、先見バイアスを処理します。

バックテストの準備ができたクリーンなデータフレームを出力します。

エージェント 3: バックテスター。

特徴量ベクトルを受け取ります。ポートフォリオ構築ルールを構築します。現実的な取引コスト、ショート側の借入コスト、スリッページを考慮して、20 年分のデータで過去のバックテストを実行します。

シャープレシオ、最大ドローダウン、回転率、キャパシティ推定値を出力します。

エージェント 4: バリデーター。

ここに厳密性があります。

バックテスト結果を受け取ります。リターン系列の自己相関を補正するために Newey-West 調整 t 統計量を実行します。10,000 回の反復でブートストラップリサンプリングを実行し、シャープレシオが本物かサンプルアーティファクトかを確認します。

有意性しきい値に失敗したシグナルをフラグします。サンプル内とサンプル外の劣化が 30 パーセントを超えるものはすべて排除します。それはオーバーフィッティングだからです。

より強力な推論モデルで実行されます。作成者は決して自分の作品を検証しません。絶対に。

エージェント 5: レジーム監査人。

検証に合格したシグナルを受け取ります。20 年の履歴を(ボラティリティとリターンに関する隠れマルコフモデルで識別された)レジームごとにセグメント化します。

各レジーム内でシャープレシオ、ドローダウン、ヒット率を再計算します。1 つのレジームでしか機能しないものはすべて排除します。それはアルファではなくレジームタイミングだからです。

エージェント 6: ファクター分解器。

レジームに頑健なシグナルを受け取ります。Fama-French 5 ファクターモデルに Carhart モメンタムと低ボラティリティファクターを加えたものに対して回帰します。

残差アルファ(回帰の切片)とその t 統計量を報告します。

ファクター分解後も残差アルファが生存するシグナルだけが、真の新しいアルファです。それ以外はすべて、手間をかけただけの再パッケージ化されたモメンタムか再パッケージ化されたバリューです。

6 つのエージェント。各々が 1 つの段階を担当します。出力をチェーンに沿って渡します。

Roan - inline image

1 つの Slate Program。6 つの特化エージェント。24 時間ごとに実行。

群れ全体は、24 時間ごとに起動する 1 つの Slate Program で実行されます。

パート 4: ステップバイステップの構築方法

以下が正確な構築手順です。従えば、その日の終わりまでに群れを実行できます。

ステップ 1: Slate をインストールする

ターミナルを開いて実行します:

bash
1npm install -g @randomlabs/slate

Slate は 30 秒以内にグローバル CLI としてインストールされます。

次にプロジェクトディレクトリを作成します:

bash
1mkdir alpha-swarm
2cd alpha-swarm
3slate init

slate init は、状態、Programs、プロバイダーに必要なフォルダーでプロジェクトをスキャフォールディングします。

ステップ 2: モデルを接続する

実行します:

bash
1slate /providers

これにより、Slate CLI 内でプロバイダー設定画面が開きます。使用したいモデルを接続します。

この群れでは、高速エージェント(アイデア生成、特徴量エンジニアリング、バックテスト、レジーム監査)には Sonnet を、推論が重いエージェント(検証とファクター分解)には Opus を使用しています。

Roan - inline image

ステップ 3: Program をドラフトする

Slate を起動します:

bash
1slate

次に Slate CLI で次のように入力します:

6 つの研究エージェントを順番に実行するプログラムをドラフトしてください:アイデア生成器、特徴量エンジニア、バックテスター、バリデーター、レジーム監査人、ファクター分解器。24 時間ごとに実行。高速エージェントには Sonnet、検証とファクター分解には Opus を使用。

Slate があなたと一緒に Program をドラフトします。明確化の質問をします。どのデータソースか。どのバックテストウィンドウか。どのシャープレシオしきい値か。どのレジーム分類器か。あなたは自然言語で答えます。Slate が JavaScript を書きます。

以下が、書かれた後のループの外観です:

javascript
1export default async function alphaSwarm(slate) {
2 while (true) {
3 // ステージ 1: 論文を読み、仮説を抽出
4 const hypotheses = await slate.agent('idea-generator', {
5 model: 'sonnet',
6 task: '過去 24 時間の arXiv q-fin と SSRN を読む。主張された方向性、必要なデータ、論文参照を含む 10 のアルファ仮説を抽出。',
7 state: slate.state.get('tested-hypotheses')
8 });
9
10 // ステージ 2: 特徴量エンジニアリング、仮説ごとに並行
11 const features = await Promise.all(
12 hypotheses.map(h => slate.agent('feature-engineer', {
13 model: 'sonnet',
14 task: `次の特徴量ベクトルを構築:${h.claim}。クロスセクションを標準化。先見バイアスを処理。`,
15 data: slate.tools.priceData()
16 }))
17 );
18
19 // ステージ 3: 現実的なコストでの 20 年バックテスト
20 const backtests = await Promise.all(
21 features.map(f => slate.agent('backtester', {
22 model: 'sonnet',
23 task: '20 年バックテストを実行。取引あたり 5bps の取引コストとショートコストを含める。',
24 features: f
25 }))
26 );
27
28 // ステージ 4: 推論モデルでの統計的検証
29 const validated = await Promise.all(
30 backtests.map(b => slate.agent('validator', {
31 model: 'opus',
32 task: 'Newey-West t 統計量が 2.5 以上。ブートストラップ 1 万回。サンプル内/サンプル外のシャープ劣化が 30 パーセントを超える場合は却下。',
33 backtest: b
34 }))
35 );
36
37 // ステージ 5: HMM によるレジームセグメンテーション
38 const regimeChecked = await Promise.all(
39 validated
40 .filter(v => v.passed)
41 .map(v => slate.agent('regime-auditor', {
42 model: 'sonnet',
43 task: 'ボラティリティとリターンに 3 状態 HMM を適合。レジームごとにシャープレシオを再計算。1 つのレジームしか機能しない場合は却下。',
44 result: v
45 }))
46 );
47
48 // ステージ 6: 残差アルファを分離するファクター分解
49 const finalSignals = await Promise.all(
50 regimeChecked
51 .filter(r => r.passed)
52 .map(r => slate.agent('factor-decomposer', {
53 model: 'opus',
54 task: 'Fama-French 5 + Carhart モメンタム + 低ボラティリティに対して回帰。残差アルファと t 統計量を報告。',
55 result: r
56 }))
57 );
58
59 // 永続化、通知、スリープ
60 await slate.state.set('final-signals', finalSignals);
61 await slate.state.append('tested-hypotheses', hypotheses);
62 await slate.notify.slack('research', `${finalSignals.length} 個の新しいシグナルが今日、全 6 ステージを生き残りました。`);
63 await slate.sleep('24h');
64 }
65}

これが群れ全体です。1 つのファイル。6 つのエージェント。永遠に実行されます。

Roan - inline image
Roan - inline image
Roan - inline image

ステップ 4: 群れを実行する

ファイルを保存して実行します:

bash
1slate run alpha-swarm.js

Enter を押した瞬間、Slate がループを起動します。6 つのエージェントが順番に起動します。

特徴量エンジニアリングはすべての仮説に対して並行して実行されます。バックテストは並行して実行されます。検証はより強力なモデルで実行されます。

Slate CLI から各エージェントの動作をリアルタイムで監視できます。各エージェントは状態、現在のタスク、進捗状況を表示します。

[スクリーンショット 4: 複数のエージェントが並行してアクティブで、各ステージの進捗インジケーターが表示されている群れ実行中のターミナル]

最初のサイクルは、ステージ 1 が生成する仮説の数にもよりますが、20 分から 40 分かかります。

最後に、Slate は生存したシグナルをシャープレシオ、ドローダウン、残差アルファとともに Slack チャンネルに投稿します。その後、明日までスリープします。

ステップ 5: 反復する

ループの最初のバージョンが最終版になることは決してありません。

アイデア生成器が重複を生成します。Slate に次のように入力します:

状態履歴に対するチェックを追加して、過去 30 日間にテストしていない仮説のみを提案するように。

バリデーターが、合格するべきだと思うシグナルを却下します。次のように入力します:

シャープレシオしきい値を 1.2 に緩めるが、最大ドローダウンしきい値は 8 パーセントに厳しくする。

Slate があなたのために Program を更新します。次のサイクルは新しいロジックを使用します。すべての改善が状態ファイルに蓄積され、時間の経過とともに群れはより鋭くなります。なぜなら、すでにテストしたものとすでに却下したものをすべて記憶しているからです。

パート 5: これが実際に研究チームを置き換える方法

3 つのパターンがすべての実際の展開をカバーします。

パターン 1: 夜間の発見。

群れは午後 8 時から午前 8 時まで実行されます。毎朝、6 つのステージすべてを生き残った 2 つか 3 つのシグナルを確認して目覚めます。

あなたの仕事は、自分でパイプラインを実行する代わりに、生存者をレビューすることになります。

パターン 2: 仮説バーストモード。

新しい論文が出ます。新しいデータソースが利用可能になります。オンデマンドで群れを起動し、その日の午後には 100 の仮説がテストされます。

人間の研究者は同じ時間に 2 つテストします。

パターン 3: アルファ減衰監視。

群れは毎週、検証済みのシグナルを新しいデータに対して再実行します。シグナルのシャープレシオがしきい値を下回った瞬間、減衰をフラグします。

ドローダウンが蓄積される前にエクスポージャーをカットします。

各パターンは、かつて博士号を必要としていた特定の機能を置き換えます。これらを組み合わせることで、研究チームが日々実際に行っていることの大部分を置き換えます。

パート 6: リテールの試みの 90 パーセントを失敗させる 5 つの失敗モード

失敗 1: バリデーターをスキップする。

美しいシャープレシオと厳密性のない 100 のシグナルを得ることになります。すべては偽装されたデータスヌーピングです。

バリデーターは譲れません。最も強力なモデルを使用してください。厳格な却下しきい値を設定してください。作成者に自分の作品を検証させてはいけません。

失敗 2: 状態の永続化がない。

記憶のない群れは、毎日同じ失敗した仮説をテストします。

却下されたすべてのシグナルは、正確な却下理由とともに記録されなければなりません。そうすれば、どのエージェントも同じ失敗にトークンを無駄にすることがなくなります。

失敗 3: 作成者と検証者の分離がない。

仮説を生成したエージェントは、それが本当のアルファかどうかを判断するのに最悪の judge です。

作成者と検証者を異なるモデルの異なるエージェントに分割してください。Renaissance はこれをやっています。Two Sigma はこれをやっています。Citadel はこれをやっています。あなたの群れもそうすべきです。

失敗 4: 1 つのエージェントがすべてを行う。

1 つのエージェントに生成、エンジニアリング、バックテスト、検証をすべてさせようとした瞬間、品質は崩壊します。

特化こそが群れを機能させるものです。各エージェントは 1 つのことを完璧に行います。

失敗 5: ループに停止条件がない。

本当の停止条件のないループは静かに失敗します。エージェントは仕事が完了したと信じて完了シグナルを発します。悪い結果が修正されずに残ります。

すべての停止条件は、エージェント自身の主張以外のものでチェック可能でなければなりません。「過去 30 のサンプル外取引でシャープレシオ 1.5 以上」「ドローダウン 5 パーセント未満」。「エージェントが完了したと言った」では決してありません。

これら 5 つを尊重すれば、群れは機関投資家レベルの研究アウトプットを生み出します。

まとめ

アルファ研究はすでにパイプラインです。6 つの段階。論文を読む。特徴量をエンジニアリングする。バックテストする。検証する。レジームをチェックする。ファクターに対して分解する。

すべての真剣なファンドは 100 人の博士号保持者でそれを実行しています。

6 つの特化 AI エージェントからなる群れが、すべての段階をあなたの代わりに実行します。各エージェントはその複雑さに適したモデルを選択します。群れ全体は 24 時間ごとに起動する Slate Program で実行されます。

Slate の Programs は、これを 6 か月ではなく週末で実際に出荷可能にするレイヤーです。

あなたと一緒にループをドラフトします。ループを保存します。ループを実行します。永遠に実行し続けます。

あなたはパイプラインではなくなります。あなたはアーキテクトになります。

インフラストラクチャの堀は本物です。研究の堀は死にました。

それがポイントです。

試してみたい方は、こちらからサインアップしてください

https://randomlabs.ai そして

@wearerandomlabs をフォローしてローンチ情報を入手してください。

ループエンジニアリングに関する前回の記事では、同じアーキテクチャが、自律的に取引を実行する完全な自己改善型取引システムにどのように組み込まれるかを解説しました。まだ読んでいない方は、この記事の直後に読んでください。

この群れは、そのシステムの研究半分です。

https://x.com/RohOnChain/status/2069056530960490835

これを最初に構築したファンドは、今後 10 年間、複利効果を得るでしょう。

まだ一度に 1 つの仮説を実行しているファンドは、取り残されるでしょう。

では、ここで考えてみるべき質問です。

あなたは、まだ週に 1 つの仮説をテストしている研究者ですか?それとも、あなたが眠っている間に毎晩 100 の仮説をテストする群れを構築したアーキテクトですか?

間違った答えはありません。しかし、非常に示唆に富む答えはあります。

ワンクリック保存

YouMindでバイラル記事をAI深読み

Save the source, ask focused questions, summarize the argument, and turn a viral article into reusable notes in one AI workspace.

Explore YouMind
クリエイターのために

あなたの Markdown をきれいな 𝕏 記事に

自分の長文を投稿するとき、画像・表・コードブロックを 𝕏 向けに整形するのは手間がかかります。YouMind は Markdown 全体を、そのまま投稿できるきれいな 𝕏 記事に変換します。

Markdown → 𝕏 を試す

解読すべきパターンをもっと

最近のバイラル記事

バイラル記事をもっと見る