市場調査から投資戦略の作成、バックテストまでAIに任せられると話題のVibe-Tradingを試してみました。ひとことでいうとAI投資家です。

AIにコードを書かせるのは、もう珍しくありません。

では、お金を任せたらどうなるのか検証してみます。

今回は過去の相場を使い、100万円を持っていた想定で米国株を1年間運用してもらいます。日本株がよかったのですが、Vibe-Trading自体がまだ対応していないようです。

完全にネタです。投資を推奨する記事ではありません。使用は自己責任でお願いします。

Vibe-Tradingとは

Vibe-Tradingは、自然言語で投資に関する質問をすると、市場データの取得、戦略作成、バックテスト、レポート出力まで進めてくれるオープンソースのAIエージェントです。

米国株、中国A株、香港株や暗号資産など、複数の市場データに対応しています。

実際の証券口座と接続する機能もあるようですが、今回は使いません。

バックテストだけです。

バックテストとは、過去の市場データを用いて、投資戦略や売買ルールが過去にどれくらい利益を生み出せたかを検証するシミュレーション作業のことです。

AI投資家への依頼内容

今回は、以下のルールにしました。

  • 元手は100万円
  • 運用期間は2025年1月1日から2025年12月31日
  • 対象は米国株
  • 信用取引と空売りはしない
  • 最大損失は20%以内を目指す
  • 売買ルールと銘柄選定はAIに任せる
  • 比較対象はS&P 500
  • 実際の注文は一切行わない

AIには、次のように依頼しました。

あなたは100万円を預かった投資家です。

2025年1月1日から2025年12月31日まで、米国株で運用した想定の
投資戦略を作成し、過去データでバックテストしてください。

条件は以下です。

- 初期資金は100万円
- 信用取引と空売りは禁止
- 最大ドローダウンは20%以内を目指す
- 銘柄と売買タイミングは自分で決める
- S&P 500に連動するETFを保有し続けた場合とも比較する
- 実際の注文は行わない

最後に、最終資産、収益率、最大ドローダウン、売買回数、
採用した戦略を日本語でまとめてください。

100万円を預ける割には、だいぶ雑な依頼です。

でもAI投資家なので、たぶん何とかしてくれるでしょう。

Vibe-Tradingを準備する

公式GitHubには、Docker、ローカルインストール、MCPなど複数の導入方法が載っています。

今回は1〜2時間で試したいので、いちばん手数が少ないPyPI版を使います。

LLMのAPIキーは必要なのか

先に、少し分かりにくかったところです。

米国株の価格データはyfinanceから取得できるため、データ取得用のAPIキーは必要ありません。

一方で、投資戦略を考えるAIエージェントにはLLMが必要です。

2026年7月22日時点の公式設定を見ると、主な選択肢は次のようになっています。

使うLLM必要なもの
OpenAI APIのGPTOPENAI_API_KEY
Anthropic APIのClaudeANTHROPIC_API_KEYと追加パッケージ
OpenAI CodexCodexを利用できるChatGPTアカウントによるOAuthログイン
Ollamaローカルで動かすモデル

AWS Bedrockは、公式のLLMプロバイダー一覧に含まれていませんでした。

そのため、少なくとも標準設定のままBedrock上のClaudeを呼び出すことはできません。

Bedrockを使うならOpenAI互換のプロキシを挟むなどの工夫が必要そうですが、今回はそこに時間を使いたくありません。

Claudeを直接使う場合は、次の追加インストールとAnthropicのAPIキーが必要です。

python -m pip install "vibe-trading-ai[anthropic]"

GPTをOpenAI API経由で使う場合は、OPENAI_API_KEYが必要です。

今回は追加のAPIキーを発行せず、ChatGPTアカウントでログインできるOpenAI Codexを使います。

Pythonの仮想環境を作る

Vibe-TradingはPython 3.11以上が必要です。

まず、手元のバージョンを確認します。

python3 --version

作業用ディレクトリと仮想環境を作ります。

mkdir vibe-trading-demo
cd vibe-trading-demo
python3 -m venv .venv
source .venv/bin/activate

ターミナルの先頭に(.venv)と表示されれば大丈夫です。

Vibe-Tradingをインストールする

仮想環境の中でVibe-Tradingをインストールします。

python -m pip install --upgrade pip
python -m pip install vibe-trading-ai
vibe-trading --version

初期設定を行う

次のコマンドで初期設定を始めます。

vibe-trading init

LLMプロバイダーには13 openai-codexを指定します。

設定内容は、作業ディレクトリではなく ~/.vibe-trading/.env に保存されます。

あとはすべてエンターを入力してスキップしましょう。

続けて、ChatGPTアカウントでログインします。

vibe-trading provider login openai-codex

未ログインの場合、ブラウザが開くので、画面に従って認証します。

OpenAI CodexはChatGPTのOAuthを使うため、OPENAI_API_KEYは設定しません。

CLIで起動

まずは、余計なものを挟まずCLIで動作を確認します。

vibe-trading

短い依頼を投げて、LLMと市場データの両方が動くか確認します。

Appleの2025年1月の株価を取得して、終値の推移を簡単にまとめてください。

ここまで動けば準備完了です。

serveを起動したら404になった

最初はWeb画面を使おうとして、次のコマンドを実行しました。

vibe-trading serve --port 8899

すると、サーバー自体は起動しましたが、ブラウザで開くと404になりました。

ログを見ると、フロントエンドのdistが見つからないと出ています。

[warn] No frontend build found
[warn] Run: cd frontend && npm run build
GET / HTTP/1.1 404 Not Found

今回インストールしたPyPI版v0.1.12の配置を確認すると、ビルドに必要なfrontendディレクトリ自体が入っていませんでした。

つまり、この状態でログに表示されたcd frontend && npm run buildを実行することもできません。

ちょっと罠です。

Web画面を使う場合は、GitHubからリポジトリを取得してフロントエンドをビルドします。

cd ~/vibe-trading-demo
git clone https://github.com/HKUDS/Vibe-Trading.git
cd Vibe-Trading
python -m pip install -e .

node --version
npm --version
vibe-trading setup --frontend-dir ./frontend
vibe-trading serve --port 8899

この方法ではNode.js 18以上も必要です。

ただ、今回やりたいのはAI投資家の検証です。

フロントエンドの準備に寄り道したくないので、ここからはCLIで進めます。

LLMの設定エラーも出た

同じ起動ログで、次のエラーも出ました。

LANGCHAIN_MODEL_NAME not set in .env (agent cannot function)

vibe-trading initで作られる設定ファイルは~/.vibe-trading/.envです。

設定後も起動済みのサーバーには反映されないため、いったんCtrl+Cで止めてから起動し直します。

今回はopenai-codexを選び、モデル名が設定されていることを確認しました。

LANGCHAIN_PROVIDER=openai-codex
LANGCHAIN_MODEL_NAME=openai-codex/gpt-5.4

ここにはOAuthトークンを書きません。

認証は、先ほどのvibe-trading provider login openai-codexで行います。

AIに100万円を渡す

準備ができたので、先ほどの依頼を投げます。

プロンプトを投げると、strategy-generateというスキルを読み込み、設定ファイルと売買シグナルを作り始めました。

その後、yfinanceから米国株のデータを取得してバックテストを実行しています。

一度結果を出して終わりではなく、生成したコードを修正しながら何度かバックテストをやり直していました。

途中でPythonの処理が1回エラーになりましたが、次の処理で立て直しています。

最終的にかかった時間は3分55秒でした。

AI投資家の戦略

AIが選んだのは、低ドローダウン重視のトレンドフォロー戦略でした。

項目AIの回答
投資対象SPY、QQQ、TLT、GLD
戦略トレンドフォロー+ディフェンシブ資産への退避
買い条件SPYまたはQQQが50日移動平均線より上で、20日リターンがプラス
銘柄選択20日リターンと20日ボラティリティから強い銘柄を最大2つ選ぶ
リスク管理株式の条件が悪いときはTLTまたはGLDへ退避する
ベンチマークSPYの買い持ち

個別株を当てにいくと思っていたので、ETFだけを選んだのは少し意外でした。

ただ、最大ドローダウン20%以内という条件を考えると、個別株へ集中するよりは素直です。

相場が悪ければ債券か金へ逃げる。

だいぶ守りに入ったAI投資家です。

1年間運用した結果

まず、AIが最後に出した回答を表にまとめます。

項目AI投資家S&P 500連動ETFを保有
初期資金1,000,000円1,000,000円
最終資産1,263,972円1,245,746円
収益率26.40%24.57%
最大ドローダウン8.81%13.31%
売買回数8回1回相当

おお、100万円が約126万円になりました。S&P 500にも勝っています。

……で終わろうと思ったのですが、生成されたmetrics.csvも見てみました。

数字が合いません。

AIの回答と実ファイルの数字が違う

メインのバックテスト結果は、次のようになっていました。

final_value: 1206422.2846860122
total_return: 0.2064222846860122
max_drawdown: -0.0634299858656417
trade_count: 22

AIの回答では126万3,972円でしたが、実ファイルでは120万6,422円相当です。

売買回数も8回ではなく22回でした。

さらに、SPYを買い持ちした専用バックテストのmetrics.csvは次の値です。

final_value: 1160075.4950821083
total_return: 0.1600754950821084
max_drawdown: -0.1899890341242635
trade_count: 1

こちらも、AIの回答にある124万5,746円とは一致しません。

メイン側のmetrics.csvにはbenchmark_return: 23.8628%という別の値もありました。

つまり、SPYの成績だけで3種類あります。

専用バックテストの売買履歴を見ると、2025年1月3日にSPYを587.8238ドルで買い、12月31日に681.92ドルで売っています。

この値からも、約16.01%というmetrics.csvの結果が自然です。

というわけで、記事では生成された設定、売買履歴、metrics.csvがそろっている値を採用します。

項目AI投資家SPYを保有
初期資金1,000,000相当1,000,000相当
最終資産1,206,422相当1,160,075相当
収益率20.64%16.01%
最大ドローダウン6.34%19.00%
売買回数22回1回

AI投資家は勝ったのか

実ファイルを基準にすると、AI投資家の勝ちです。

最終資産の差は約4万6,347円相当でした。

収益率では約4.63ポイント上回り、最大ドローダウンも約12.66ポイント小さくなっています。

狙っていた低ドローダウンという点では、かなり素直な結果になりました。

ただし、AIが最後に説明した数字は間違っています。

投資では勝ちましたが、粉飾……決算報告で盛りました。

最後は人間がAI投資家の監査をすることになりました。

所感

今回は完全にネタとして試しましたが、投資戦略を自然言語からバックテストまで持っていけるのは面白かったです。

プロンプトを1回投げただけで、戦略コードの生成、データ取得、バックテスト、SPYとの比較まで3分55秒でした。

しかも、実ファイルを基準にしても1年間の収益率は20.64%です。

100万円相当が約120万円になり、SPYを保有し続けた場合の16.01%も上回っています。

最大ドローダウンも6.34%に抑えていました。

20%を超えるリターンを出しつつ、下落も抑えたAI投資家。普通にすごいです。

一方で、結果がそれっぽいからこそ、データや前提を確認しないと普通に信じてしまいそうでした。

戦略を作って20%を超えたところはすごい。

でも最後の報告は盛る。

このあたりも含めて、だいぶAIらしい結果でした。

次は、AI投資家を3人用意して、同じ100万円を誰が一番増やせるか競わせてみたいです。

参考

Vibe-Trading | GitHub

Vibe-Tradingのpyproject.toml | GitHub

Vibe-Tradingの環境変数サンプル | GitHub

ここまで読んでいただき、ありがとうございます。もしこの記事の技術や考え方に少しでも興味を持っていただけたら、ネクストのエンジニアと気軽に話してみませんか。

  • 選考ではありません
  • 履歴書不要
  • 技術の話が中心
  • 所要時間30分程度
  • オンラインOK

エンジニアと話してみる

関連リンク

AI・クラウド・データ分析のご相談はネクスト株式会社までお問い合わせください。