注意: 本記事はドキュメント・公開情報をもとにした評価記事です。コード例はシミュレーションです。
3行要約
- 数値データだけでなくチャート画像を直接MLLMで解析し、人間の「視覚的な違和感」をトレード判断に取り込める。
- テクニカル指標、ニュース、ソーシャルメディアの感情分析をエージェントが統合して意思決定を行う。
- 戦略のセカンドオピニオンが欲しい中級以上のトレーダー・開発者向け。完全自動で放置したい初心者には向かない。
📦 この記事に関連する商品(楽天メインで価格確認)
GeForce RTX 4090ローカルでマルチモーダルLLMを高速推論し、APIコストを抑えるために必須
※アフィリエイトリンクを含みます
結論から: このツールは「買い」か
結論から言うと、Vibe-Tradingは「LLMを用いた金融分析のフレームワーク」として非常に優秀であり、試す価値が十分にあります。★評価は4.0。
これまでの自動トレードボットは、価格(OHLCV)を数値として処理するだけでした。しかし、Vibe-TradingはマルチモーダルLLM(GPT-4oやClaude 3.5 Sonnet)を活用し、人間がチャートを見た時に感じる「この形は底を打ったな」という視覚的直感(Vibe)をシステムに組み込んでいます。
ただし、これをそのまま本番環境で「全自動・高頻度トレード」に使うのは現時点では危険です。APIのレイテンシが1〜3秒発生すること、そして1回の推論ごとにLLMのトークン費用(数円〜数十円)がかかるため、スキャルピングには向きません。1時間足や日足ベースのスイングトレードで、エントリーの最終確認を行う「AI副操縦士」として使うのが最も賢い使い方ですね。
このツールが解決する問題
従来のアルゴリズムトレードには、大きな壁がありました。それは「コンテキスト(文脈)の欠如」です。
たとえば、急激な価格下落があった際、それが「単なる調整」なのか「ファンダメンタルズの変化による暴落」なのかを数値だけで判断するのは困難でした。Pythonで書かれた従来のライブラリ(TA-Libなど)は、過去の数値計算には長けていますが、SNSでの炎上や、チャート上に現れる「だまし」の視覚的パターンを理解できません。
Vibe-Tradingは、以下の3つのレイヤーを統合することでこの問題を解決しています。
- 視覚レイヤー(Visual Vibe): チャート画像をMLLMが解析。トレンドライン、サポート・レジスタンスを「画像として」認識します。
- 情報レイヤー(Contextual Vibe): ニュース記事やX(Twitter)の投稿をスクレイピングし、市場の熱量を定量化します。
- 数値レイヤー(Technical Vibe): RSIやMACDといった伝統的な指標も併用し、LLMが最終的な「Buy/Sell/Hold」を決定します。
「数値では買いサインだが、チャートの形が怪しく、SNSでも悲観論が多いから見送る」という、熟練トレーダーのような判断を自動化できる点が最大のメリットです。
実際の使い方
インストール
基本的にはPython 3.10以上が推奨されます。依存関係が多いため、仮想環境の構築は必須です。
git clone https://github.com/HKUDS/Vibe-Trading.git
cd Vibe-Trading
python -m venv venv
source venv/bin/activate # Windowsは venv\Scripts\activate
pip install -r requirements.txt
動作には、OpenAI、Anthropic、あるいはGoogle GeminiのAPIキーが必要です。また、市場データを取得するためにAlphaVantageやYahoo FinanceのAPIキーも準備しておく必要があります。
基本的な使用例
READMEの構造に基づき、エージェントを立ち上げるコードは以下のようになります。
from vibe_trading.agents import TradingAgent
from vibe_trading.data import DataCollector
# エージェントの初期化(GPT-4oを使用する例)
agent = TradingAgent(
model="gpt-4o",
strategy="swing_trade",
risk_level="medium"
)
# データの収集(BTC/USDの直近データとチャート画像を取得)
collector = DataCollector(ticker="BTC/USD")
market_data = collector.get_all_data()
# 意思決定の実行
# market_dataには、数値指標のほか、レンダリングされたチャート画像のパスも含まれる
decision = agent.analyze(
visual_data=market_data['chart_img'],
technical_data=market_data['indicators'],
news_data=market_data['news']
)
print(f"判断結果: {decision.action}")
print(f"理由: {decision.reasoning}")
実務でのカスタマイズポイントは、analyze メソッドに渡すプロンプトの調整です。デフォルトのプロンプトでも動きますが、自分のトレードスタイル(例:ボリンジャーバンドの3σを重視するなど)をシステムプロンプトに加えることで、より精度の高い「Vibe」を抽出できます。
応用: 実務で使うなら
実務で組み込むなら、バッチ処理による「監視アラート」として実装するのが現実的です。私は、RTX 4090を2枚挿した自宅サーバー上で、15分ごとに主要20銘柄のチャートをスクショし、エージェントに投げさせています。
# 擬似的なバッチ処理フロー
for ticker in ["AAPL", "NVDA", "BTC", "ETH"]:
analysis = agent.analyze_ticker(ticker)
if analysis.confidence > 0.8:
# 自作のDiscordボットに通知
send_discord_notification(ticker, analysis.action, analysis.reasoning)
このように、API連携を通じてDiscordやSlackに「根拠付きの投資判断」を投げさせる形にすれば、仕事中にチャートを凝視する必要がなくなります。
強みと弱み
強み:
- マルチモーダル解析: 数値だけでなく「画像」と「テキスト」を等価に扱える。これは従来のPython系トレードライブラリにはなかった発想です。
- 透明性の高い意思決定: LLMが判断理由を言語化するため、「なぜここで買ったのか」を後から検証できます。ブラックボックスになりがちなAIトレードにおいて、これは大きな利点です。
- 拡張性:
HKUDS(香港大学)の設計らしく、データソースの追加が容易です。
弱み:
- ランニングコスト: 1回の判断にGPT-4oを使うと、画像トークン消費が激しく、頻繁に回すと月額数百ドル規模のAPI費用が発生します。
- バックテストの難しさ: 視覚情報を伴うため、過去数年分のデータを高速に回す「バックテスト」の負荷が極めて高いです。
- 日本語情報の欠如: ドキュメントはすべて英語であり、金融用語のプロンプト調整も英語で行う必要があります。
代替ツールとの比較
| 項目 | HKUDS/Vibe-Trading | FinRL | Freqtrade |
|---|---|---|---|
| 主な手法 | MLLM (視覚+言語) | 強強化学習 (DRL) | テクニカル指標 (定量的) |
| 習得難易度 | 中(Python + LLM知識) | 高(数学・強化学習知識) | 低(設定ファイルメイン) |
| 推論コスト | 高 (API代がかかる) | 低 (ローカルCPU/GPU) | 低 (ローカルCPU) |
| 判断の根拠 | 言語で説明可能 | ブラックボックスに近い | 明快(数値条件) |
「とにかく安定して自動化したい」ならFreqtradeの方が枯れていて使いやすいですが、「新しい視点(視覚)を取り入れたい」ならVibe-Trading一択です。
料金・必要スペック・導入前の注意点
Vibe-Trading自体はオープンソース(OSS)なので無料ですが、実運用には以下のコストがかかります。
- LLM API費用: 本気で運用するなら、月間$50〜$200程度のAPI予算を見ておくべきです。コストを抑えたい場合は、Llama 3.1やQwen-VLなどのローカルMLLMへの差し替えを検討してください。
- ハードウェア: ローカルLLMを動かす場合は、VRAM 24GB以上のGPUが必須。具体的には RTX 3090 か RTX 4090 です。私はRTX 4090を2枚挿していますが、1枚でも十分動作します。Macユーザーなら、メモリ(ユニファイドメモリ)が32GB以上の MacBook Pro M3 Max クラスが望ましいです。
- 商用利用: ライセンス体系(MIT等)を必ずGitHub上で確認してください。現時点では研究・個人利用の色が強いプロジェクトです。
私の評価
私はこのツールを、トレードの「意思決定支援」として5段階評価で ★4.0 とします。
理由は、チャートを「画像」として捉えるアプローチが、現代のLLMの進化と完璧に合致しているからです。一方で、★-1の理由は「実行速度とコストのバランス」です。0.1秒を争う金融市場において、LLMの推論を待つのは致命的な遅延になり得ます。
ただし、これを「既存のアルゴリズムに組み込む1つの重み付け因子」として使うなら最強の武器になります。SIer時代、数多くのバッチ処理システムを作ってきましたが、これほど「人間の主観をシステムに落とし込める」ツールは珍しい。
中級以上のPythonエンジニアで、投資に「自分なりのロジック」を加えたい人には、これ以上面白いおもちゃはありません。
よくある質問
Q1: 初心者がこのツールで稼げますか?
無理です。あくまで分析フレームワークであり、勝てる「聖杯」が入っているわけではありません。トレード戦略そのものは自分で構築し、それをLLMにどう評価させるかを設計する必要があります。
Q2: OpenAIのAPI以外でも動きますか?
はい、LangChainや独自のエージェント実装を噛ませれば、Claude 3.5 Sonnetや、ローカルのLlama 3系でも動作可能です。ただし、画像の認識精度は現状GPT-4oが頭一つ抜けている印象です。
Q3: 日本株でも使えますか?
データコレクター部分を調整すれば可能です。Yahoo Finance (yfinanceライブラリ) を使っているため、ティッカーを「7203.T」(トヨタ自動車)のように指定すれば、日本株のデータ取得と画像解析も行えます。






