QuantContext について
QuantContextは、定量調査や取引向けエージェントのためのMCPサーバーで、自然言語の戦略を銘柄スクリーニング、バックテスト、ファクター分析に変換します。市場データに基づく再現可能な計算を行い、数値をLLMで生成しません。
主な機能
- 01ファンダメンタルや指標による銘柄選別
- 02指標付きの戦略バックテスト
- 03Fama-French因子によるリターン分解
- 04選別・検証・分析の一連の実行
- 05Pythonからのツール直接呼び出し
活用シーン
- 01評価額や収益性の条件で銘柄を探す
- 02モメンタム戦略の過去成績を評価
- 03リターンが因子エクスポージャーによるものか確認
- 04スクリプトでバックテストや因子分析を実行
MCP 対応
MCPサーバーは、MCP対応コーディングエージェント向けに銘柄選別、戦略バックテスト、ファクター分析のツールを提供します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
QuantContext
QuantContext は、平易な英語で記述された戦略を実行可能なクオンツリサーチに変換する MCP サーバーです。任意の条件で銘柄をスクリーニングし、過去のデータでバックテストを行い、ファクター分析でリターンの源泉を確認できます。すべての数値は LLM が生成したものではなく、実際の市場データから算出されます。結果は完全に再現可能です。
Claude、Codex、OpenCode、その他の MCP 互換コーディングエージェントで動作します。
インストール
pip install quantcontext-mcp
Claude Code:
claude mcp add quantcontext -- quantcontext
Claude Desktop(~/Library/Application Support/Claude/claude_desktop_config.json):
{
"mcpServers": {
"quantcontext": {
"command": "quantcontext"
}
}
}
API キーも設定も不要です。
ツール
3 つのツールを組み合わせて、リサーチのワークフロー全体を実行できます。
screen_stocks -> backtest_strategy -> factor_analysis
| ツール | 機能 |
|---|---|
screen_stocks | S&P 500、Nasdaq 100、または Russell 2000 を、ファンダメンタルズ、モメンタム、クオリティ、テクニカルシグナル、または複数ファクターの組み合わせで絞り込みます。順位付けされた候補を返します。 |
backtest_strategy | リバランスループエンジンを使って、過去のデータで戦略を検証します。CAGR、シャープレシオ、最大ドローダウン、資産曲線、取引ログを返します。 |
factor_analysis | 戦略のリターンを Fama-French ファクター(市場、サイズ、バリュー、モメンタム)に分解します。t 統計量付きのアルファ、ファクター負荷量、決定係数を返します。 |
プロンプトの例
銘柄スクリーニング:
Screen S&P 500 for value stocks: PE under 15, ROE above 12%
Find the top 20% momentum stocks in the Nasdaq 100 over the last 200 days
Rank S&P 500 stocks by a blend of value, momentum, and quality, equal weight each factor
Find S&P 500 stocks with RSI under 40 and price above the 200-day moving average
バックテスト:
Backtest a top-20% momentum strategy on Nasdaq 100, monthly rebalance, last 2 years
How would a value screen (PE under 15, ROE above 12%) have performed on S&P 500 over the last 3 years?
Test a momentum strategy with a 15% stop loss and 20% max portfolio drawdown circuit breaker
リサーチのワークフロー全体:
Screen S&P 500 for cheap, high-quality stocks. Backtest monthly over 3 years,
then run factor analysis. Is the return real alpha or just factor exposure?
スクリーニングの種類
| スクリーニング | 説明 | 主なパラメーター |
|---|---|---|
fundamental_screen | PE、ROE、レバレッジ、売上高成長率で絞り込みます | pe_lt、roe_gt、debt_equity_lt、revenue_growth_gt |
quality_screen | 収益性と貸借対照表の健全性で絞り込みます | roe_gt、debt_equity_lt、profit_margin_gt |
momentum_screen | N 日間の価格モメンタムで順位付けします | lookback_days、top_pct |
value_screen | バリュエーションが最も低い銘柄を選びます | pe_lt、top_n |
factor_model | 複数ファクターの総合スコアを算出します | weights(バリュー/モメンタム/クオリティ/ボラティリティ)、top_n |
technical_signal | RSI と SMA のクロスオーバーシグナルを検出します | rsi_period、sma_short、sma_long |
mean_reversion | z スコアのしきい値を下回る銘柄を選びます | lookback_days、z_threshold |
Python から使用する
ツールは直接インポートして使用することもでき、エージェントは不要です。既存のスクリプトにバックテストやファクター分析を組み込みたい場合に便利です。
from quantcontext.server import screen_stocks, backtest_strategy, factor_analysis
import asyncio, json
# Screen
result = json.loads(asyncio.run(screen_stocks(
universe="sp500",
screen_type="fundamental_screen",
config={"pe_lt": 15, "roe_gt": 12},
)))
# Backtest
bt = json.loads(asyncio.run(backtest_strategy(
stages=[{"order": 1, "type": "screen", "skill": "fundamental_screen", "config": {"pe_lt": 15, "roe_gt": 12}}],
universe="sp500",
rebalance="monthly",
start_date="2022-01-01",
)))
print(bt["metrics"])
# Factor analysis — pipe the equity curve straight in
fa = json.loads(asyncio.run(factor_analysis(
equity_curve=bt["full_equity_curve"]
)))
print(fa["alpha_annualized"], fa["alpha_tstat"])
戦略は上の表にある組み込みのスクリーニングタイプを使って記述します。すべての関数は非同期で、JSON 文字列を返します。
データ
すべて公開データで、API キーは不要です。
| データ | ソース | キャッシュ |
|---|---|---|
| 日次 OHLCV 価格 | Yahoo Finance(yfinance) | ~/.cache/quantcontext/prices.parquet |
| ファンダメンタルズ(PE、ROE、利益率など) | Yahoo Finance | ~/.cache/quantcontext/financials/、24 時間 TTL |
| Fama-French ファクター(Mkt-RF、SMB、HML、Mom) | Kenneth French Data Library | ~/.cache/quantcontext/ff_factors.parquet |
| ユニバースの銘柄リスト(S&P 500、Nasdaq 100) | Wikipedia | ~/.cache/quantcontext/sp500_tickers.json |
最初のツール呼び出しでは、データをダウンロードしてキャッシュするため、10〜30 秒かかります。それ以降の呼び出しではローカルキャッシュを使用します。スクリーニングは 1 秒未満、バックテストは 3〜8 秒で完了します。
初回の待ち時間を省くには、インストール後に一度実行してください。
quantcontext-warmup --url https://quantcontext.ai/api/data
リンク
ライセンス
MIT
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。