vibe-trading について
Vibe-Trading は、クオンツ研究者やトレーダー向けの金融リサーチツールキットです。戦略のバックテスト、市場データ、ファクター分析、取引記録の分析に加え、アルファ集、金融スキル、エージェントチーム、MCP サーバーを備えています。
主な機能
- 0111 のエンジンで戦略をバックテスト
- 02取引記録とシャドー戦略を分析
- 03478 種の定量アルファをベンチマーク
- 0490 種の専門的な金融スキルを利用
- 0530 種のプリセット済みエージェントチームを実行
- 06CLI と Web サーバーでリサーチツールを利用
活用シーン
- 01対応市場で戦略をバックテスト
- 02アルファベンチマークで定量ファクターを比較
- 03取引記録からルールを抽出してレポートを作成
- 04マルチエージェントで投資リサーチを実行
MCP 対応
金融リサーチ用の 81 個のツールを備えた MCP サーバーを提供します。`vibe-trading-mcp` で起動し、エージェントの MCP 設定に追加できます。
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ hkuds/ vibe-trading --skill vibe-tradingインストール後、Claude Code で/vibe-tradingを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
.editorconfig.env.example.gitignoreapi_server.pybacktest/__init__.pybenchmark.pybinance_account_reconciliation.pybinance_shadow_evidence.pybinance_tolerance_calibration.pyconstraints.pycorrelation.pyfactor_costs.pyloader_health.pybacktest/engines/__init__.py_market_hooks.pybase.pybrazil_equity.pychina_a.pychina_futures.pycomposite.pycrypto.pyforex.pyfutures_base.pyglobal_equity.pyglobal_futures.pyindia_equity.pykorea_equity.pyoptions_portfolio.pyvietnam_equity.pybacktest/loaders/__init__.py詳細
Vibe-Trading
AI を活用したバックテスト(11 種のエンジン)、マルチエージェントチーム、90 種の専門スキル、Alpha Zoo(qlib158 / alpha101 / gtja191 / academic / fundamental にまたがる、事前構築済みの定量アルファ 478 種と、1 行の CLI によるベンチマーク)、そして Shadow Account ループを備えた、プロ向けの金融リサーチツールキットです。取引日誌から暗黙の取引ルールを抽出して、A株/香港株/米国株/暗号資産でバックテストし、より良い成果につながった可能性のある場面を確認できます。
セットアップ
pip install vibe-trading-ai
パッケージ名とコマンド: PyPI パッケージは
vibe-trading-aiです。インストールすると、次のコマンドを使用できます。
コマンド 用途 vibe-trading対話型 CLI / TUI vibe-trading serveFastAPI ウェブサーバーを起動 vibe-trading-mcpMCP サーバーを起動(Claude Desktop、OpenClaw、Cursor など向け)
エージェントの MCP 設定に追加します。
{
"mcpServers": {
"vibe-trading": {
"command": "vibe-trading-mcp"
}
}
}
API キーの要件
コアのリサーチ MCP ツールは、香港/米国/カナダ/暗号資産については API キーなしで動作します。pip install 後は、バックテスト、市場データ、ファクター分析、オプション価格評価、チャートパターン、ウェブ検索、ドキュメントの読み取り、取引日誌の分析、Shadow Account の抽出/バックテスト/レポート、Alpha Zoo(事前構築済みのアルファ 478 種)、および全 90 種のスキルをすぐに利用できます。IBKR ツールにはローカルの TWS / IB Gateway セッションが必要です。run_swarm には LLM キーが必要です。
| 機能 | 必要なキー | タイミング |
|---|---|---|
| 香港/米国/カナダ株式および暗号資産 | なし | 常に無料(yfinance / stooq / yahoo + OKX) |
| 中国 A 株データ | なし | akshare / baostock / tencent / sina / eastmoney のフォールバック経由で無料(高品質なデータ向けの TUSHARE_TOKEN は任意) |
| プレミアムな米国のファンダメンタルズ/株価 | FINNHUB_API_KEY / ALPHAVANTAGE_API_KEY / TIINGO_API_KEY / FMP_API_KEY | 任意のキーが必要なプロバイダーを利用する場合のみ(無料ソースにスムーズにフォールバック) |
マルチエージェントスウォーム(run_swarm) | OPENAI_API_KEY + LANGCHAIN_MODEL_NAME | スウォームが内部の LLM ワーカーを起動 |
できること
Shadow Account — 主力のワークフロー
ブローカーからエクスポートした CSV(同花順/東財/富途/汎用形式)を読み込ませると、エージェントが次の処理を行います。
analyze_trade_journal— 取引行動(保有期間、勝率、ディスポジション効果、追いかけ買い、過剰取引、アンカリング)を分析します。extract_shadow_strategy— 利益が出た往復取引を説明する 3~5 個の if-then ルールを抽出します。run_shadow_backtest— それらのルールを A 株/香港株/米国株/暗号資産でバックテストし、実際の取引と比較した損益差を算出します。render_shadow_report— 今日のシグナルとの一致状況を含む、レポート(8 つのセクションとチャート)を HTML / PDF 形式で生成します。scan_shadow_signals— シャドウ戦略のエントリー頻度に合致する今日の銘柄を一覧表示します(リサーチ専用)。
バックテスト
11種類のエンジン(ChinaA、GlobalEquity、IndiaEquity、KoreaEquity、VietnamEquity、BrazilEquity、Crypto、ChinaFutures、GlobalFutures、Forex、オプション)で定量戦略を作成・実行できます。29種類のマーケットデータソースに対応しています(自動検出+優先順にフォールバック。ホスト型の Forex tickerall ソースは明示指定時のみ使用できます)。
- 香港/米国株式:yfinance / stooq / yahoo 経由(無料、API キー不要)。オプションで Longbridge の過去 OHLCV データも利用できます(
longbridge、オプションの SDK とLONGBRIDGE_APP_KEY/LONGBRIDGE_APP_SECRET/LONGBRIDGE_ACCESS_TOKENが必要)。実行時に使用するには、config.jsonで"source": "longbridge"を設定します。 - カナダ株式(TSX/TSXV):Yahoo の標準的な
<TICKER>.TO(TSX、例:TD.TO)または<TICKER>.V(TSXV、例:PNG.V)サフィックスを使用した yahoo / yfinance 経由(無料、API キー不要)。GlobalEquity エンジンは、CAD 建て、整数株での注文、設定可能なカナダの手数料/スリッページ、TSX/TSXV の価格刻みをサポートしています。 - インド株式(NSE/BSE):
<SYMBOL>.NS(NSE、例:RELIANCE.NS)または<SCRIP>.BO(BSE、例:500325.BO)を使用した yahoo / yfinance 経由(無料、API キー不要)。IndiaEquityEngineは、T+1 決済、オーバーナイトの空売り不可(イントラデイ取引ではallow_shortを設定)、設定可能な値幅制限、1 株単位、および STT/印紙税/取引所手数料/GST のコスト体系をモデル化します。オプションでindia_brokerソースを使用して、ライブブローカーからデータを補完できます(Shoonya/Dhan。ブローカーへのログインが必要)。 - 韓国株式(KRX:KOSPI/KOSDAQ):pykrx 経由で、
<CODE>.KS(KOSPI、例:005930.KS)または<CODE>.KQ(KOSDAQ、例:247540.KQ)を使用します(無料、API キー不要。pip install "vibe-trading-ai[krx]"。yahoo / yfinance へのフォールバックには追加の依存関係は不要です)。pykrx が提供するのは日足データのみです(イントラデイのリクエストは別のソースにフォールバックします)。また、調整後の系列は、KRX の約定値そのものではなく Naver のデータに基づいています。KoreaEquityEngineは、当日中の往復売買(T+1 なし)、前日終値を基準とする ±30% の日次価格制限(KRX のティック刻みに量子化)、ティック単位に丸めた約定、売却側にかかる 0.20% の取引税(2026 年の税率)、1 株単位をモデル化します。買いのみに対応しており、日足データでは KRX の空売り規制とアップティックルールを適用できないため、allow_shortは拒否されます。 - ベトナム株式(HOSE):
<TICKER>.VN(例:VIC.VN)を使用した yahoo / yfinance 経由(API キー不要)。Yahoo が公式に掲載しているのは HOSE のみで、HNX および UPCOM には対応していません。これらの市場ではlocalソースが必要です。yfinance は非公式の Yahoo クライアントのため、データの利用可否は保証されず、Yahoo の個人利用規約に従います。VietnamEquityEngineは、正式な T+2 決済サイクルを近似します。T 日に購入した株式は通常、T+2 の午後取引で売却可能となり、俗に T+1.5 と呼ばれます。日足データでは 2 本のバーを保有期間として扱います(vn_settlement_barsはシナリオテストと将来のルール変更に対応します)。基準価格を中心とする HOSE の通常の ±7% の値幅制限を適用し、上限値は切り下げ、下限値は切り上げて 10/50/100 VND のティック刻みに合わせます。また、100 株単位の通常取引を使用し、端株取引はモデル化しません。コストは、設定可能な仲介手数料に加え、個人投資家の場合は売却代金総額に対する 0.1% の個人所得税です。ベトナムでは現物株の空売りが一般に認められていないため、買いのみに対応します。 - 暗号資産:OKX または CCXT/100 以上の取引所経由(無料、API キー不要)
- 中国 A 株:AKShare / baostock / tencent / sina / eastmoney 経由(無料、API キー不要)。高品質のデータ向けに
TUSHARE_TOKENを任意で設定できます。 - 先物、外国為替、マクロデータ:AKShare 経由(無料、API キー不要)
- ローカル端末を使わない外国為替/貴金属:ホスト型の TickerAll MetaTrader 5 フィード経由(
source="tickerall"、TICKERALL_API_KEYとTICKERALL_ACCOUNT_IDが必要。読み取り専用)。mt5ローダーと同じブローカーフィードを、ホスト型 API 経由であらゆる OS から利用できます。明示指定時のみ使用でき、自動フォールバックには使用されません。 - 香港株および A 株:Futu 経由(ブローカーへのログインが必要。任意)
- ローカル CSV/parquet バー:
localローダー経由(オフライン、ネットワーク不要) - 複数市場に対応するプレミアムデータ:QVeris 経由(API キーは任意)
- 米国向けプレミアムデータ:オプションの API キーを使用した finnhub / alphavantage / tiingo / fmp 経由(利用できない場合は無料ソースにフォールバック)
Factors:Alpha101 と QLib158 の動物園は
equity_inおよびequity_krユニバースにタグ付けされているため、NSE/BSE と KRX のバーで計算されます(GTJA191 動物園は中国のみです)。インドのライブ/ペーパー取引では Shoonya / Dhan コネクターを使用します(ペーパー取引と読み取り専用のライブ取引に対応。これらのブローカーにはペーパー/ライブの切り替え機能がないため、ライブ注文の発注は構造的に無効化されています)。韓国株式のライブ/ペーパー取引では KIS コネクター(한국투자증권)を使用します(実際の模擬投資用ペーパーサンドボックスは、実取引用ライブとは別のホスト/ポートで稼働し、読み取り専用のライブ取引にも対応します。委任認可を条件とするライブ取引プロファイルはまだありません)。韓国の暗号資産取引では Upbit コネクターを使用します(KRW 市場。ペーパー取引と読み取り専用のライブ取引に対応します。実行時にペーパー/ライブを判別する仕組みがないため、Shoonya/Dhan と同様にライブ注文の発注は構造的に無効化されています)。韓国/米国株式への読み取り専用アクセスは Toss Securities コネクター(토스증권)でも利用できます。検証済みのサンドボックスがないため、Trading 212 と同様に注文の発注は常に拒否されます。
ワークフローの例:
list_skills()を使って戦略パターンを見つけますload_skill("strategy-generate")を使って戦略作成ガイドを読み込みますwrite_file()を使ってconfig.jsonとcode/signal_engine.pyを作成しますbacktest()を使ってバックテストを実行し、指標(シャープレシオ、リターン、ドローダウンなど)を取得します
マルチエージェント・スウォームチーム
複雑な調査に対応する、事前構築済みの 30 のエージェントチーム:
- 投資委員会:強気/弱気の討論 → リスクレビュー → PM の決定
- グローバル株式デスク:A 株 + HK/US + 暗号資産 → グローバルストラテジスト
- 暗号資産取引デスク:資金調達/ベーシス + 清算 + フロー → リスクマネージャー
- 決算調査デスク:ファンダメンタルズ + 予想修正 + オプション → 決算ストラテジスト
- マクロ/金利/FX デスク:金利 + FX + コモディティ → マクロ PM
- クオンツ戦略デスク:スクリーニング → ファクター調査 → バックテスト → リスク監査
- リスク委員会:ドローダウン、テールリスク、レジーム分析
- ほか、23 の専門チーム
list_swarm_presets() を使ってすべてのチームを確認し、run_swarm() を使って実行します。
アルファ動物園(事前構築済みアルファ 478 種)
同梱された 5 つの動物園にわたる、クロスセクション IC / IR / alive-reversed-dead の分類を 1 行で実行できます:
- qlib158(アルファ 154 種)— Microsoft Qlib の
Alpha158特徴量ハンドラー。Apache-2.0 ライセンスで、コミット SHA を固定しています。 - alpha101(アルファ 101 種)— Kakushadze(2015)「101 Formulaic Alphas」(arXiv:1601.00991)。論文の付録に基づいて記述されています。
- gtja191(アルファ 191 種)— Guotai Junan の 2014 年調査レポート「191 Short-period Trading Alpha Factors」。
- academic(ファクター 12 種)— Fama-French 5 + Carhart モメンタム + Jegadeesh リバーサル + George-Hwang 52 週高値 + Amihud 非流動性 + Harvey-Siddique 歪度 + Frazzini-Pedersen ベータに逆らうベット(価格ベースの代理指標)+ 相関の組み替えによる安定性スコア(リポジトリ内の相関レジームスキル由来)。
- fundamental(ファクター 20 種)— PIT セーフな益回り、ROE、粗利益率、資産成長率に加え、SEC XBRL による 10 種の追加項目:株価純資産倍率、FCF 利回り、発生高、ROA、CFO 利回り、営業利益率、総資産に対する現金比率、レバレッジ、売上成長率、利益成長率(日次ファンダメンタルズパネル由来)。また、tushare daily_basic の
val:*パネル名前空間から提供される、中国 A 株の日次バリュエーションファクター 3 種(PB、PS_TTM、配当利回り)と、これらの中国のバリューファクターを業種中立化した 3 種の派生ファクターも含みます。後者は tushare index_member_all の PIT SW2021 業種タグを使い、申万 L1 の同業種内で Z スコア化しています(所属情報は時点整合ですが、SW2021 の分類体系自体は遡及的です)。
各アルファには __alpha_meta__(数式の LaTeX 表記 + テーマ + ユニバース + ウォームアップ + 必要な列)が付属し、AST 純粋性ゲートと 300 行の先読みセンチネルテストで保護されています。vibe-trading alpha {list,show,bench,compare,export-manifest} CLI、/alpha/* REST ルート(ブラウザーでは /alpha-zoo)、または ZooSignalEngine.from_zoo(...) を使って複数ファクターのシグナルを組み合わせます。
金融スキル(90)
以下を網羅する包括的なナレッジベースです。
- テクニカル分析(ローソク足、エリオット波動、一目均衡表、SMC、ハーモニック、チャングン)
- 定量的手法(ファクターリサーチ、機械学習戦略、ペアトレード、マルチファクター)
- リスク管理(VaR/CVaR、ストレステスト、ヘッジ)
- オプション(ブラック・ショールズ、グリークス、マルチレッグ戦略、ペイオフ図)
- 香港/米国株式(SEC提出書類、業績予想の修正、ETF資金フロー、ADR/H株の裁定取引)
- 暗号資産取引デスク(資金調達率、清算ヒートマップ、ステーブルコインの資金フロー、トークンのロック解除、DeFi利回り)
- 行動ファイナンス、トレード日誌の診断、シャドーアカウント
- マクロ分析、クレジット調査、セクターローテーションなど
load_skill(name) を使用すると、コードテンプレート付きの詳細な手法ドキュメントにアクセスできます。
利用可能なMCPツール(81)
| ツール | 説明 | API キー |
|---|---|---|
list_skills | 90 種類の金融スキルをすべて一覧表示します | 不要 |
load_skill | スキルのドキュメント全体を読み込みます | 不要 |
start_research_goal | 監査可能なリサーチ目標を作成します | 不要 |
get_research_goal | 現在のリサーチ目標を読み取ります | 不要 |
add_goal_evidence | リサーチ目標に証拠を添付します | 不要 |
update_research_goal_status | 目標のライフサイクルステータスを更新します | 不要 |
backtest | ベクトル化バックテストエンジンを実行します | 不要* |
factor_analysis | IC/IR 分析+階層化バックテスト | 不要* |
alpha_zoo | 同梱されたアルファのメタデータとレジストリの状態を確認します | 不要 |
alpha_bench | 1 つのアルファまたはアルファ一式のベンチマークを実行します | 不要* |
analyze_options | Black-Scholes 価格+グリークス | 不要 |
analyze_options_payoff | 複数レッグの満期ペイオフ+スポット価格/IV シナリオ | 不要 |
pattern_recognition | チャートパターン(H&S、ダブルトップなど)を検出します | 不要 |
get_market_data | OHLCV データを取得します(29 のソースを自動判定し、順にフォールバック) | 不要* |
get_fund_flow | 資金フロー(主力/個人の純流入) | 不要* |
get_dragon_tiger | ドラゴン・タイガーリスト(龙虎榜)の上位買い手/売り手の席を取得します | 不要* |
get_northbound_flow | ノースバウンド(Stock Connect)の純フロー | 不要* |
get_southbound_flow | サウスバウンド(Stock Connect)による香港株の純買い付け(Eastmoney/HKEX) | 不要 |
get_margin_trading | 信用取引と空売りの残高 | 不要* |
get_block_trades | ブロック取引(大宗交易)の記録 | 不要* |
get_shareholder_count | 銘柄ごとの株主数の推移 | 不要* |
get_lockup_expiry | 制限付き株式のロックアップ解除スケジュール | 不要* |
get_sector_info | セクター/業種の構成銘柄とパフォーマンス | 不要* |
get_research_reports | セルサイドアナリストのリサーチレポート | 不要* |
get_stock_news | 市場および企業のニュース見出し | 不要* |
get_sec_filings | SEC EDGAR 提出書類(10-K/10-Q/8-K など) | 不要 |
get_financial_statements | 損益計算書/貸借対照表/キャッシュフロー計算書 | 不要* |
get_options_chain | オプションチェーン(権利行使価格、IV、OI、グリークス) | 不要* |
get_stock_profile | バリュエーション、アナリスト予想、機関投資家の保有状況(米国/香港) | 不要 |
screen_market | ファンダメンタル/テクニカル条件で絞り込むマーケットスクリーナー | 不要* |
search_symbol | 市場横断の銘柄/ティッカー検索 | 不要 |
get_macro_series | FRED マクロ経済系列 | FRED_API_KEY |
get_fund_nav | 中国の店頭ファンドの NAV 履歴 | GILDATA_TOKEN |
get_cn_macro_series | 中国のマクロ/業界 EDB 系列(自然言語クエリ) | GILDATA_TOKEN |
get_cn_announcements | A 株/香港株/ファンドの公告検索(自然言語クエリ) | GILDATA_TOKEN |
search_broker_reports | Juyuan ライブラリ内の証券会社リサーチを検索(自然言語クエリ) | GILDATA_TOKEN |
iwencai_search | A 株の自然言語リサーチ検索 | IWENCAI_KEY |
qveris_search | QVeris のプレミアムデータ/ツールマーケットプレイスを検索(無料で検索) | QVERIS_API_KEY + 有料モード |
qveris_inspect | 実行前に QVeris ツールのスキーマを確認します(無料) | QVERIS_API_KEY + 有料モード |
qveris_execute | QVeris の機能を実行します。予算上限があり、課金される場合があります | QVERIS_API_KEY + 有料モード |
web_search | DuckDuckGo でウェブを検索します | 不要 |
read_url | ウェブページを Markdown として取得します | 不要 |
read_document | PDF/DOCX/XLSX/PPTX/画像からテキストを抽出します | 不要 |
write_file | ファイル(設定、戦略コード)を書き込みます | 不要 |
read_file | ファイルの内容を読み取ります | 不要 |
read_run_artifact | 実行アーティファクトを構造化して読み取ります(行/ダウンサンプリング/メタデータ) | 不要 |
list_strategies | 検索可能な戦略を一覧表示します(Alpha Zoo + SDM ストア) | 不要 |
query_strategies | 証拠に基づくクエリ:レジーム/Sharpe/品質/コストの条件で絞り込みます | 不要 |
get_strategy_evidence | 1 つの戦略について、レジームごとの証拠データを取得します | 不要 |
adapt_strategy | 証拠に基づく子戦略を準備し、生成と独自のバックテストに使用します | 不要 |
refresh_strategy_evidence | 実行アーティファクトから一時的な戦略エビデンスキャッシュを再構築します | 不要 |
analyze_trade_journal | 証券会社の CSV を解析し、プロファイルと行動診断を作成します | 不要 |
extract_shadow_strategy | 利益の出た往復取引から 3~5 個の if-then ルールを抽出します | 不要 |
run_shadow_backtest | 複数市場のバックテスト+損益差分の要因分析 | 不要* |
render_shadow_report | シャドウレポートを HTML/PDF で作成します(8 セクション+チャート) | 不要 |
scan_shadow_signals | シャドウの売買ペースに一致する本日の銘柄をスキャンします | 不要 |
list_swarm_presets | マルチエージェントチームのプリセットを一覧表示します | 不要 |
run_swarm | マルチエージェントのリサーチチームを実行します | LLM キー |
get_swarm_status | ブロックせずにスウォーム実行の状態を確認します | 不要 |
get_run_result | 最終レポートとタスクの概要を取得します | 不要 |
list_runs | メタデータ付きで最近のスウォーム実行を一覧表示します | 不要 |
reap_stale_runs | 停滞したスウォーム実行を完了させます | 不要 |
retry_run | 失敗または停滞したスウォーム実行を再実行します | LLM キー |
trading_connections | 選択可能なコネクタープロファイルを一覧表示します | 不要 |
trading_select_connection | デフォルトのコネクタープロファイルを選択します | 不要 |
trading_check | コネクターの準備状況を確認します | コネクターアプリ/OAuth |
trading_account | 選択したコネクターから口座の概要を読み取ります | コネクターアプリ/OAuth |
trading_positions | 選択したコネクターから保有ポジションを読み取ります | コネクターアプリ/OAuth |
trading_orders | 選択したコネクターから未決済注文を読み取ります | コネクターアプリ/OAuth |
trading_quote | 選択したコネクターから気配値スナップショットを読み取ります | コネクターアプリ/OAuth |
trading_history | 選択したコネクターから過去のバーを読み取ります | コネクターアプリ/OAuth |
get_institutional_holdings | SEC 13F-HR の運用者/ティッカー別保有状況+四半期ごとのポジション差分 | 不要 |
etf_holdings | ETF のルックスルー分析 — SEC N-PORT(米国)および A 株ファンドの全銘柄レポート | 不要 |
prediction_market | イベント契約の検索/市場/履歴を、表示用のインプライド確率として取得します | 不要 |
research_papers | arXiv + OpenAlex の検索/読み取りと、出典に紐づく主張の抽出 | 不要 |
quantlib_call | 純粋計算による金融数理 — 19 の quantlib モジュールにわたる 265 個の関数 | 不要 |
cashflow_performance | 日付付きキャッシュフローに対する XIRR / MOIC / DPI / TVPI / TWR / Modified Dietz | 不要 |
orderbook_depth | 暗号資産 L2 板 — スプレッド(bps)、板の厚さの不均衡、価格インパクトコスト | 不要 |
sentiment | ローカル語彙によるテキストスコアリング+暗号資産の Fear & Greed Index | 不要 |
technical_indicators | 既存のローダーを通じた RSI / MACD / ボリンジャー / SMA / EMA | 不要* |
get_fundamentals | PIT 対応の SEC ファンダメンタルズパネル(提出日を基準) | 不要 |
*A株のシンボルには TUSHARE_TOKEN が必要です。HK/US/カナダ/暗号資産は無料です。トレーディングコネクターの行では、選択したコネクタープロファイル(例:IBKR のローカル TWS/Gateway、または Robinhood MCP OAuth)を使用します。 |
クイックスタート
pip install vibe-trading-ai
以上です。HK/US/カナダ/暗号資産市場では API キーは不要です。backtest、get_market_data、analyze_options、analyze_trade_journal、extract_shadow_strategy、web_search、Alpha Zoo(vibe-trading alpha bench --zoo gtja191 --universe csi300 --period 2018-2025)、そして 90 個すべてのスキルをすぐに使い始められます。
外部 MCP サーバーからツールを読み込む
組み込みエージェントは、ローカルのツールセットに加えて、独自の外部 MCP サーバーからツールを読み込めます。
注: これは MCP クライアント の経路です。上記の MCP プラグインとは逆です。上記のプラグインを使うと、Vibe-Trading のツールをエージェントから利用できます。このセクションでは、Vibe-Trading のエージェントが あなたの サーバーのツールを呼び出せるようにします。
セットアップ
~/.vibe-trading/agent.json を作成します。
{
"mcpServers": {
"my-server": {
"command": "uvx",
"args": ["my-mcp-server"],
"toolTimeout": 30,
"enabledTools": ["*"]
}
}
}
一般的な外部 MCP ツールは、すべての vibe-trading run/vibe-trading chat 呼び出しで自動的に表示されます。ローカルツールの後に、安定した名前 mcp_<server>_<tool> で挿入されます。ライブブローカーの MCP サーバーは、コネクターにスコープされた trading_* ツールを通じて利用されるため、エージェントに mcp_<broker>_* ツールがそのまま公開されることはありません。
公式 IBKR MCP 読み取り専用プローブ
Interactive Brokers の公式 MCP エンドポイントを、読み取り専用の外部サーバーとして追加します。
{
"mcpServers": {
"ibkr": {
"type": "streamableHttp",
"url": "https://api.ibkr.com/v1/api/mcp-public",
"auth": {
"type": "oauth",
"scopes": ["mcp.read"],
"clientName": "Vibe-Trading",
"cacheDir": "~/.vibe-trading/live/ibkr/oauth"
},
"enabledTools": ["*"]
}
}
}
vibe-trading connector authorize ibkr-live-official-mcp-readonly で認証します。ワイルドカードが許可されるのは、この mcp.read プローブに限られます。
IBKR が安定した読み取りツール名を公開し、Vibe-Trading が安全にマッピングできるようになるまで、汎用の trading_account と trading_positions
の呼び出しは無効のままです。mcp.write には、明示的なツールの許可リストとライブ注文ガード処理が必要です。IBKR から事前登録済み OAuth クライアントが発行された場合は、auth 内に
clientId と clientSecret を追加します。
公式 eToro Public API MCP(探索+開発)
eToro は、ライブ OpenAPI
ルート探索(get-all-routes、get-route-spec)と、オプションの実行(execute-read、execute-write)に対応したホスト型 MCP を https://mcp.public-api.etoro.com で提供しています。API の調査とコード生成に使用してください。Vibe-Trading で本番環境のエージェントによる取引を行う場合は、組み込みの etoro-*
コネクタープロファイルと trading_*/etoro_* ツールを使用します(ライブ書き込みにはマンデートゲートが適用されます)。
~/.vibe-trading/agent.json に追加します(認証情報はチャットではなく接続に設定します)。
{
"mcpServers": {
"etoro-public-api": {
"type": "streamableHttp",
"url": "https://mcp.public-api.etoro.com",
"headers": {
"x-api-key": "YOUR_PUBLIC_API_KEY",
"x-user-key": "YOUR_USER_KEY"
},
"enabledTools": ["get-all-routes", "get-route-spec", "execute-read"]
}
}
}
MCP に直接取引を実行させたい場合を除き、execute-write は省略してください(Vibe-Trading のライブマンデートゲートを迂回します)。スキルをインストールします。
https://mcp.public-api.etoro.com/skill
トレーディングコネクタープロファイル
公開されている取引機能は、コネクターを起点とします。コネクタープロファイルを選択すれば、ペーパー/ライブはそのコネクター内の属性にすぎません。
pip install "vibe-trading-ai[ibkr]"
vibe-trading connector list
vibe-trading connector use ibkr-paper-local
vibe-trading connector configure ibkr-paper-local --yes
vibe-trading connector check
vibe-trading connector account
vibe-trading connector positions
vibe-trading connector orders
vibe-trading connector quote AAPL
vibe-trading connector history AAPL --duration "30 D" --bar-size "1 day"
ライブランナーのモデル使用量は、マンデートの取引上限とは独立しています。オペレーターは Runtime/チャットランナーパネル、または
vibe-trading connector runner-settings --profile robinhood-live-mcp(停止中に --file settings.json を指定すると設定を保存します)を使って設定します。デフォルトでは、モデルによる判断は 15 分ごとに 1 回、UTC 日あたり 26 回の判断、報告トークン数 1,000,000 個までで、判断ごとに新しい会話コンテキストを使用します。1 日 1 回の実行時刻と IANA タイムゾーンは任意で設定できます。金額の上限には、オペレーターが入力/出力の料金を指定する必要があります。金額は推定値であり、プロバイダーの請求額を保証するものではありません。使用量は各応答の後に確認されます。予算超過または使用量情報の欠落があると、既存のキルスイッチが作動します。エージェントはこのオペレーター状態を編集したり、自身の使用上限を引き上げたりしてはなりません。
デフォルトのポートは、TWS ペーパーが 7497、IB Gateway ペーパーが 4002、TWS ライブ読み取り専用が 7496、IB Gateway ライブ読み取り専用が 4001 です。
設定フィールド
| フィールド | 必須 | デフォルト | 説明 |
|---|---|---|---|
type | stdio:いいえ、HTTP:はい | stdio の場合のみ推定 | トランスポートの種類です。URL ベースのサーバーには sse または streamableHttp を使用します。 |
command | stdio:はい | — | 起動する実行ファイル |
args | いいえ | [] | コマンド引数 |
env | いいえ | {} | サブプロセス用の追加環境変数 |
url | HTTP:はい | — | リモート SSE/ストリーミング可能な HTTP エンドポイントの URL |
headers | いいえ | {} | SSE/ストリーミング可能な HTTP サーバー用の追加 HTTP ヘッダー |
toolTimeout | いいえ | 30 | ツール呼び出しがキャンセルされるまでの秒数 |
enabledTools | いいえ | ["*"] | リモートツール名の許可リストです。["*"] はすべて有効にします |
URL ベースのトランスポートでは、type が必須です。エージェントは、URL のサフィックスから SSE とストリーミング可能な HTTP のどちらかを推測しなくなりました。
セッションごとのオーバーライド(API)
セキュリティ — デフォルトでは無効です。
mcpServersはサブプロセスのcommand/args/envを定義するため、オペレーターが信頼できる場合に限って使用できます。サーバーオペレーターが明示的に許可しない限り、API 呼び出し元はPOST /sessionsを通じて MCP サーバー定義を注入できません。
セッション単位の MCP 注入を有効にするには、エージェントを起動する前に、サーバーで環境変数を設定します。
export ALLOW_SESSION_MCP_SERVERS=1
オプトインを有効にした状態で、session.config 内に mcpServers を渡すと、そのセッションに限りグローバル設定を拡張または置き換えられます。
{
"config": {
"mcpServers": {
"research": {
"command": "uvx",
"args": ["research-mcp"],
"enabledTools": ["search"]
}
}
}
}
ALLOW_SESSION_MCP_SERVERS=1 が設定されていない場合、session.config 内の mcpServers キーは、設定の読み込み前に通知なく削除されます。ディスク上のグローバルなオペレーター設定(~/.vibe-trading/agent.json)は、このフラグに関係なく常に適用されます。
v1 の制限事項
- トランスポート: stdio、SSE、ストリーミング可能な HTTP。
- 実行: 逐次実行のみです。MCP ツールが並列読み取り専用パスに入ることはありません。
- 対象: ツールのみです。リソースとプロンプトは公開されません。
- スウォーム: v1 では、MCP ツールはスウォームワーカーのレジストリから除外されます。
- ホットリロード: サポートされていません。設定変更を反映するには、プロセスを再起動してください。
障害処理
| ケース | 動作 |
|---|---|
| 設定ファイルがない | 空の設定にフォールバックし、MCP サーバーは読み込まれません |
| 設定ファイルが無効 | 警告をログに記録し、空の設定にフォールバックします |
| サーバーの起動に失敗 | 該当サーバーはスキップされます。ローカルツールと他のサーバーは引き続き読み込まれます |
| ツール呼び出しがタイムアウト | 例外を発生させず、正規化されたエラーペイロードを返します |
| サニタイズ後に2つのサーバー名が衝突 | 決定論的なハッシュサフィックスを追加し、オペレーターに警告を出します |
例
Apple の MACD 戦略をバックテストする:
2024 年を対象に、MACD クロスオーバー戦略(fast=12、slow=26、signal=9)で AAPL をバックテストする
取引日誌を分析してシャドーアカウントを作成する:
~/Downloads/tonghuashun.csv で analyze_trade_journal を呼び出し、次に min_support=3 で extract_shadow_strategy を実行し、続いて過去1年間を対象に run_shadow_backtest を実行してから、render_shadow_report を実行する。
投資委員会のレビューを実行する:
investment_committee プリセットで run_swarm を使用し、NVDA を評価する。変数:target=NVDA.US、market=US
CSI 300 のファクター分析:
2023 年から 2024 年まで、pe_ttm ファクターを使用して CSI 300 銘柄の factor_analysis を実行する
オプション分析:
analyze_options を使用する:spot=100、strike=105、90 日、vol=25%、rate=3%
複数レッグのオプション損益:
残存期間30日、スポット価格100の95/105ブル・コール・スプレッドについて、analyze_options_payoff を使用する:プレミアム8で95コールを1枚ロング、プレミアム3で105コールを1枚ショート、乗数100、手数料率0.001。