openInvest について
openInvestは、AIエージェント向けのセルフホスト可能な投資意思決定エンジンです。既存のエージェントの背後で、分析の分離、バックテスト、監査可能な判断記録を提供し、自動注文は行いません。
主な機能
- 01分離型マルチエージェント投資委員会
- 02アナリスト間の相互反論
- 03監査可能な意思決定記録
- 04先読み対策付き長期バックテスト
- 05MarkdownとYAMLによる状態保存
- 06日次自動実行とメールレポート
活用シーン
- 01ポートフォリオの資産配分の確認
- 02売買・保有判断の根拠の追跡
- 03過去データを使った戦略評価
- 04投資委員会レポートの定期作成
MCP 対応
MCP クライアントから登録できる MCP サーバーを提供し、Streamable HTTP によるリモート実行にも対応します。MCP 経由で既存エージェントに投資委員会機能を接続できますが、自動売買は行いません。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
22掲載時のツール一覧 · 1 日前に更新
このツールにパラメーターはありません。
詳細
openInvest
現代のAIエージェント向けに構築されたセルフホスト可能な投資判断エンジンです。マルチエージェント間の情報隔離と相互検証プロトコルにより、監査可能な意思決定の記録(Audit Trail)を提供します。
OpenInvest とは?
OpenInvest は、現代のAIエージェント向けに構築されたセルフホスト可能な投資判断エンジンです。
検証可能な投資委員会、エビデンスに基づく推論、長期的なバックテスト、監査可能な意思決定記録を提供します。Claude Code、Codex、Hermes、OpenClawに取って代わるのではなく、それらを支えるように設計されています。
リアルタイムのパフォーマンスと損益
上半分:30日間の総資産推移(口座全体を対象とし、入出金をリターンに含めないよう時間加重で算出。期間開始時点を100として再基準化) · 下半分:同じ期間における8つのベンチマーク資産とのリターン比較(透明性のある開示であり、アルファの主張ではありません。委員会が実証している価値は超過リターンではなく、規律と透明性です。詳しくはADR-023をご覧ください。)
📌 注:現在のチャートには、作者の本番運用中のポートフォリオが表示されています。セルフホスト後は、同じジョブが独自の台帳(`memory/portfolio_history.jsonl`)からお客様の総資産推移を描画します。保有銘柄は問いません。固定資産はなく、公開SVGに銘柄や数量が表示されることもありません。台帳が2取引日分に達すると表示されます。
- ベンチマークポートフォリオ:システムには、4つのカテゴリー(AIアドバイザー/投資信託/資産運用/幅広い市場指数)にわたる8つの標準的な比較ベンチマークが導入されています。比較方法とデータクレンジングのロジックについては、docs/wiki/README.mdをご覧ください。
リサーチと反証
システムの自己開示:このシステムは、人間の投資に関する認知バイアスを排除し、推論の透明性を徹底するための監査ツールであり、リターンを高めるブラックボックスではありません。最新の自動監査(docs/verdict_accuracy.md):方向性のある判定(HOLD を除く)の実際の的中率は 42.2%(n=56、ランダムを下回る)です。すべての判断の 56% を HOLD が占めています。このシステムの価値は、透明性と規律(主に行動を控え、売買回転率を低く保つこと)にあり、方向予測にはありません。詳細なログストリームは docs/verdict_accuracy.md をご覧ください。
このプロジェクトは、自らの優位性を体系的に反証しようと試み、否定的な結果もそのまま公開しています。委員会が参照する決定論的な特徴量と、それらをめぐるタイミングシグナルは、事前登録された統計的基準に照らして検証されましたが、取引可能なアルファとして基準を満たしたものはありませんでした。
| 検証 | 結果 | 判定 |
|---|---|---|
| Q1 横断的な銘柄選択 | 6 個の特徴量、平均 IC 0.025–0.067、Holm 補正後 p=0.397 | 有意な銘柄選択シグナルなし |
| M1 多変量 GBM(アウトオブサンプル) | 平均 OOS IC +0.003、p=0.925 | 特徴量を組み合わせても効果なし — シグナルなし |
| Q2 金の MA200 トレンド | p_holm=0.016、有意 — ただし trend_dca は、これが取引可能なアルファではなく ベータ であることを示しています:タイミング戦略の最終価値は、買い持ちの 15.10 に対して 3.07、シャープレシオは +0.68 に対して +0.36、最大ドローダウンもより深い(−44% に対して −57%) | 統計的に有意だが、経済的には取引不可能 |
| 資産ごとのマルチシグナルファミリー | 3 資産 × 4 シグナルファミリー × パラメーターグリッド = 資産ごとに 24 個のバリアント。コスト控除後、DSR によるデフレーション適用後、DSR > 0.95 を通過したものはなし | いずれのファミリーにも取引可能なシグナルなし |
| ポジティブコントロール | 完全な先読みを行う不正なタイミングシグナルのスコアは DSR = 1.00 | 検証ハーネスは実際のシグナルを検出可能 |
方法論:Newey-West HAC t 統計量、Deflated Sharpe Ratio(Bailey & López de Prado 2014、式ごとに再導出)、Holm 補正、先読みゼロ、LLM の学習カットオフに関する検証。
詳細:experiments/signal-eval/README.md · docs/verdict_accuracy.md · ADR-022 · ADR-023
プロダクトの理念
多くの AI 投資アシスタントは、より優れたチャットボットを目指しています。OpenInvest はその代わりに、Claude Code、Codex、Hermes、OpenClaw などの個人エージェントと連携する、透明で検証可能かつ監査可能な意思決定エンジンを構築します。これらのエージェントが改善されるたびに、OpenInvest も自動的に能力を高めます。
役割分担は意図的なものです。エージェントは長期記憶、自然な会話、ユーザー理解を担い、OpenInvest は検証可能な投資委員会、エビデンスに基づく推論、長期的なバックテスト、監査可能な意思決定記録を担います。
User
│
┌───────────┴───────────┐
▼ ▼
Your Agent OpenInvest
(User Understanding) (Market Understanding)
│ │
└───────────┬───────────┘
▼
Better Investment Decisions
あなたのエージェントはあなたを理解し、OpenInvest は投資を理解します。
ユーザーを囲い込まない
OpenInvest は意図的に、ユーザーを「囲い込む」ことを避けています。多くの AI 製品は、記憶、ペルソナ、チャット履歴、ワークスペースなど、あらゆるものを囲い込もうとします。OpenInvest は一歩引いた立場をとります。クリーンな API、CLI コマンド、エージェントスキル(Claude Code / Codex / Hermes / OpenClaw)を提供し、主要なエージェントが会話とコンテキストを管理する一方で、OpenInvest は基盤となる投資インテリジェンスを支えます。
特徴
- マルチエージェント投資委員会:個別に分離された分析と、ラウンド制の反論を伴う議論を行います。
- コーディネーター・ワーカーアーキテクチャ:コンテキストの混入や役割の幻覚を防ぎます。
- 情報の分離:クオンツアナリストやリスクアナリストが範囲外のコンテキストにアクセスすることを厳格に防ぎます。
- 監査可能な意思決定の記録:各判断の「理由」を正確に示す明瞭なログを残します。
- データベースとしてのMarkdown:フロントマター(YAML)とMarkdown(本文)を唯一の信頼できる情報源として使用します。
- 長期バックテスト:先読みバイアスを防ぐ機能を備えたテストハーネスを内蔵しています。
- ドリーミングに基づくメモリ統合:コンテキストのずれを防ぐため、毎晩メモリを抽出・整理します。
- セルフホスト可能/ゼロコスト:ローカルエージェントの推論リソースを直接活用します。
- エージェントスキル:Claude Code / Codex / Hermes / OpenClaw 向けの軽量プラグインで、対話型の初期設定ウィザードを備えています。
- デプロイの自動化:GitHub Actions ワークフローで委員会を実行し、レポートを毎日メールで送信します。
クイックスタート
1. エージェントと統合する(推奨)
エージェントのプラグインレジストリから軽量スキルを追加します。ホストエージェントが初回実行時にコアコードを自動で取得し、依存関係を調整します:
# Claude Code
/plugin marketplace add longsizhuo/openInvest
/plugin install invest@openinvest
# Codex
codex plugin marketplace add longsizhuo/openInvest
codex plugin add invest@openinvest
# Hermes Agent (official plugin catalog)
hermes plugins install openinvest --enable
# older Hermes without the catalog: hermes plugins install longsizhuo/openInvest/plugin --enable
# OpenClaw
openclaw plugins install clawhub:openinvest
その他の MCP クライアントの場合:以下の手順 2 で MCP サーバーを登録してください(詳しい手順はエージェントチュートリアルを参照)。
2. スタンドアロン — MCP サーバーまたは CLI(クローン不要)
バックエンドはPyPIで配布されています。~/openInvest にはデータのみが保存されます:
# MCP (any MCP client; add --http for a remote streamable-HTTP server — BETA)
claude mcp add openinvest -e INVEST_HOME=~/openInvest -- uvx openinvest-mcp
# or plain CLI
INVEST_HOME=~/openInvest uvx openinvest status
スキルに対応した任意の AI ターミナルで set up invest(または 帮我初始化 invest)と入力します。対話型の初期設定ウィザードが起動し、次の手順を案内します:
memory/の状態保存パスと.env設定を検出します。- 5 項目のプロファイリング(法的氏名、リスク許容度、負債構成、初期保有資産、任意のキー)を行います。
- 静的データの移行を実行し、最初の資産エクスポージャーメモをすぐに生成します。
💡 ゼロコストでの実行:スキルの対話モードでは、委員会の推論はホストエージェント(例:Claude Code)の推論パイプラインだけに依存します。サードパーティの API キーは消費しません。API キーの設定が必要なのは、自動 cron の設定時または独立した Web API の呼び出し時のみです。
セルフホストの詳細については、docs/QUICK_START.mdを参照してください。(同梱の Web GUI は 2026-07-05 に廃止されました。すべての機能は CLI/MCP 経由で利用できます。スタンドアロンのフロントエンドは後日復活する可能性があります。)
3. サーバーレスでのセルフホスト(GitHub Actions)
GitHub Actions で委員会を自動実行し、日次ダイジェストメールを受け取ります。
⚠️ フォークの公開範囲は「非公開」に設定してください:状態ファイル(保有資産、判定)がフォークにコミットされます。公開フォークでは、非公開の財務情報が漏洩します。
- このリポジトリをフォークし、公開範囲を非公開に変更します(Settings -> Visibility)。
- ローカルで
set up investを実行して初期memory/フォルダーを生成し、コミットして非公開フォークにプッシュします:git add -f memory/ && git commit -m "chore: init memory state" && git push - フォークの Settings -> Secrets and variables -> Actions で、次のシークレットを追加します:
LLM_API_KEY(またはDEEPSEEK_API_KEY):委員会の実行に使用する API キー。EMAIL_SENDER/EMAIL_PASSWORD:Gmail アドレスと アプリパスワード。DIGEST_EMAIL_TO:受信者のメールアドレス。
- Actions タブでワークフローを有効化します。ワークフローは毎日午前 10:00(北京時間)に自動実行されます。また、Run workflow から
daily-reportを手動で実行することもできます。
アーキテクチャとマルチエージェントのオーケストレーション
openInvest は、単一の LLM セッションで模擬的な議論を行うわけではありません。システムは core/committee/ レイヤーで 情報隔離契約 を適用し、有向非巡回グラフ(DAG)内で 4 つの独立した LLM プロセスをオーケストレーションします。
[ Macro Data Injection ]
│
▼ 1. Macro Alignment Context
┌──────────────────────────┐
│ Macro Strategist │ (VIX / Interest rate spread / Currency momentum)
└─────────────┬────────────┘
│
▼ 2. Async Multi-Dimensional Scrutiny (Async DAG)
┌─────────────┴────────────┐
▼ ▼
┌──────────────────┐ ┌──────────────────┐
│ Quant Analyst │ │ Risk Officer │
│ (RSI / Momentum) │ │ (Concentration) │
│ │ │ │
│ 🛑 No Holdings │ │ 🛑 No Indicators │
└─────────┬────────┘ └─────────┬────────┘
│ │
└─────────────┬─────────────┘
│
▼ 3. Round 2 Rebuttal & Cross-Challenge
│ Mutual feedback loop for signal correction
▼
┌──────────────────────────────────────────────┐
│ Chief Investment Officer (CIO) │
└───────────────────────┬──────────────────────┘
│
▼ 4. Deterministic State Persistence
[ BUY / ACCUMULATE / HOLD / TRIM / SELL ]
- マクロ・ストラテジスト:世界的なマクロ環境(VIX、イールドカーブのスプレッド、主要通貨マトリクス)を評価し、ポートフォリオのリスクしきい値を設定します。
- クオンツ・アナリスト:数学的なモメンタムとテクニカル指標だけを用いるフィルターです。人間の愛着や損失回避バイアスを排除するため、ポートフォリオの保有資産を知ることは厳格に禁止されています。
- リスク・オフィサー:テールリスク(ドローダウン・バッファー、集中度の上限、ソルベンシー倍率)に完全に専念します。客観的な資産エクスポージャーの判断を下すため、テクニカル指標へのアクセスは厳格に禁止されています。
- 第 2 ラウンドの反論:第 2 ラウンドでは、クオンツ・アナリストとリスク・アナリストが互いの第 1 ラウンドのレポートを受け取り、シグナルが収束するか、安全弁が作動するまで判断の境界に異議を唱えます。
- CIO(最高投資責任者):監査済みのレポートを統合し、信頼度を添えた構造化された
Verdict(BUY / ACCUMULATE / HOLD / TRIM / SELL)を出力します。自動注文の執行は行われず、最終的な判断はあくまで人間の監査担当者に委ねられます。
この設計の主なトレードオフは、docs/wiki/adr/ に ADR として記録されています(現在までに 24 件)。これには、以前の自社設計を覆した決定も含まれます。ADR-007 では CIO の few-shot 方式を廃止し、ADR-009 では事前登録済みの実験を経て、TA 形式のアナリストエージェントを採用しないことを決定しました。
コア設計
- コーディネーター・ワーカーパターン:ワーカーは隔離された名前空間で動作します。大規模なマルチロールプロンプトで注意が混入するのを防ぐため、境界の制約は Python のフレームワークレイヤーでハードコードされています。
- データベースとしての Markdown:システムは Frontmatter(YAML)と Markdown(本文)を唯一の信頼できる情報源として使用します。
fcntl.flockによるプロセスのファイルロックと一時ファイルを使ったアトミックな置換により、改ざん防止機能を備えた投資監査証跡を提供し、Git でネイティブに追跡します。 - 3 段階のドリーミング統合:毎晩、日々の判断を実際の市場結果と照合し(ライトスリープ $\rightarrow$ REM $\rightarrow$ ディープスリープ)、長期的な知見を統合することで、長時間の実行に伴う大規模言語モデル(LLM)のコンテキストドリフトを防ぎます。
設定
システムはデフォルトで DeepSeek のエンドポイントを使用し、標準的な OpenAI 互換 API に対応しています。LLM プロバイダーの設定と、調整可能なすべての実行時オーバーライド(ADR-017)については、docs/wiki/22-configuration.md に記載されています。
免責事項とバックテストの制限
- 金融アドバイスではありません:このシステムは LLM を活用した意思決定支援ツールです。出力されるメモは、決定論的なデータに基づくシミュレーション上の推論を示すものであり、資産配分の助言ではありません。
- バックテストのタイムロックと先読み防止:バックテストエンジン(
scripts/backtest_runner.py)にはハードコードされた安全弁があり、デフォルトではdecision_date > 2024-06-30のバックテストを拒否します(--allow-lookaheadで上書きできます)。主要な基盤モデルの学習データのカットオフ日は 2024 年半ば頃であるため、それ以降の期間をバックテストすると、深刻な 先読みバイアス(モデルの事前学習データの漏洩)が生じます。パラメーター調整、Optuna による一括探索、プロンプト最適化は、2024 年 6 月 30 日より前の過去の期間に限定して実行する必要があります。
謝辞
- Equibles — A 株と香港の財務諸表を提供する任意のデータプロバイダーで、Yahoo Finance に接続できない場合の日次価格の代替データソースでもあります。デフォルトでは Yahoo Finance が使用されます。無料の
EQUIBLES_API_KEYをご自身で設定すると有効になります(セットアップ)。 - MiMo — 本番環境向けの高性能 LLM 推論(
mimo-v2.5-proによる長期ホライズンのスイープ処理)を支援してくださった MiMo Quantitative Lab に、心より感謝いたします。 - OpenClaw Dreaming Guide — 3 フェーズのスリープサイクル型メモリ蒸留フレームワークの理論的基盤です。
ライセンス
このプロジェクトは MIT ライセンスのもとでライセンスされています。詳細は LICENSE ファイルをご覧ください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。