Portfolio Analyzer について
Portfolio Analyzerは、StreamlitダッシュボードとClaude Desktop向けMCPサーバーを備えたローカル優先の株式管理ツールです。市場データやテクニカル指標、ニュース、SEC提出書類を使った保有資産の分析に役立ちます。
主な機能
- 01損益と資産配分のダッシュボード
- 02テクニカル指標とファンダメンタル分析
- 03ニュースとSEC提出書類の監視
- 04銘柄比較とポートフォリオ指標
- 05証券会社やCSVから保有資産を取り込み
活用シーン
- 01ポートフォリオの成績とリスクを確認
- 02銘柄のテクニカルシグナルを調査
- 03保有銘柄のニュースやSEC提出書類を確認
MCP 対応
MCPサーバーはClaude Desktopに8つのツールを提供し、保有資産、運用指標、テクニカル分析、ファンダメンタル、ニュース、提出書類、速報、銘柄比較を扱います。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
ポートフォリオトラッカー&分析ツール
Claude Desktop 用の MCP サーバーを内蔵した、ローカルファーストの株式ポートフォリオトラッカーです。 Claude に自然な言葉で話しかけるだけで、アプリを開かなくても、保有銘柄のリアルタイム価格、テクニカル分析、SEC の提出書類、ニュースを取得できます。
これは何ですか?
1 つのリポジトリに 2 つのツールが含まれています。
| ツール | できること | |
|---|---|---|
| 📊 | Streamlit ウェブアプリ | ビジュアルダッシュボード:チャート、損益、テクニカル分析、AI による要約 |
| 🤖 | MCP サーバー | Claude Desktop をリアルタイムのポートフォリオデータに接続 |
クラウド不要。ご自身の API キー以外のサブスクリプションも不要です。すべてお使いのマシン上で動作します。
MCP サーバー — ポートフォリオについて Claude と話す
接続したら、Claude に質問するだけです。
"Give me a full review of my portfolio this week."
"What's the technical setup for NVDA right now?"
"Any breaking news or SEC filings for my holdings today?"
"Compare GOOGL, META, and AMZN — which looks best technically?"
"What are the upcoming earnings dates for my holdings?"
Claude が適切なツールを呼び出し、リアルタイムデータを取得して分析を作成します。すべて既存の Claude サブスクリプションを利用します。
Claude が呼び出せる 8 つのツール
| ツール | できること |
|---|---|
get_portfolio | 全保有銘柄:リアルタイム価格、損益、配分比率 |
get_portfolio_metrics | リターン、シャープレシオ、最大ドローダウン、S&P 500 に対するベータ |
get_technical_analysis | RSI、MACD、SMA 20/50/200、ボリンジャーバンド、サポート/レジスタンス |
get_fundamentals | バリュエーション倍率、EPS の予想超過/未達履歴、次回決算日 |
get_news | Yahoo Finance と Google News の最新見出し |
get_sec_filings | SEC EDGAR の最近の 8-K/10-K/10-Q 提出書類 |
get_breaking_news | 市場への影響度(1〜10)で評価した速報ソースすべて |
compare_stocks | 複数銘柄の横並び比較 |
テクニカル分析、ニュース、SEC、銘柄比較の各ツールは、ポートフォリオの保有銘柄以外のティッカーにも対応しています。
MCP のクイックセットアップ
1. 依存関係をインストール
pip install -r requirements.txt
2. Claude Desktop の設定を編集
Mac:~/Library/Application Support/Claude/claude_desktop_config.json
Windows:%APPDATA%/Claude/claude_desktop_config.json
{
"mcpServers": {
"portfolio-analyzer": {
"command": "python",
"args": ["/FULL/PATH/TO/portfolio-analyzer/mcp_server.py"]
}
}
}
3. Claude Desktop を再起動 — チャットバーに 🔨 のハンマーアイコンが表示されていることを確認してください。
トラブルシューティングを含む詳しい手順は、MCP_SETUP.md をご覧ください。
Streamlit アプリ
セットアップ
# 1. Install dependencies (Python 3.9+)
pip install -r requirements.txt
# 2. Add your OpenRouter API key (for AI summaries)
cp .env.example .env
# Edit .env and add your key from https://openrouter.ai/settings/keys
# 3. Run
streamlit run app.py
ブラウザーで http://localhost:8501 を開きます。
ページ
ダッシュボード — 合計評価額、取得原価、損益、配分の円グラフ、保有銘柄一覧
保有銘柄の管理 — ティッカーの検証を行いながら、ポジションを追加/削除
銘柄分析 — SMA/EMA/ボリンジャーバンドを重ねたローソク足チャート、RSI、MACD、出来高、ファンダメンタルズ、AI メモ(Claude Sonnet 4.6)
パフォーマンス — ポートフォリオと S&P 500 の比較(正規化済み)、ボラティリティ、シャープレシオ、ドローダウン、ベータ、リターン分布
サマリー — Claude Sonnet 4.6 が、勝ち銘柄/負け銘柄、SEC 関連イベント、マクロテーマ、推奨事項を含む個人向け投資メモを作成します(日次/週次/月次)。
モニター — SEC EDGAR、Business Wire、PR Newswire、Yahoo、Google News のリアルタイムニュースアラートを、市場への影響度で評価して表示します。
プロジェクト構成
portfolio-analyzer/
├── app.py # Streamlit app (6 pages)
├── mcp_server.py # MCP server for Claude Desktop
├── requirements.txt
├── .env.example # API key template
├── data/
│ ├── portfolio.json # Your holdings
│ └── summaries/ # Saved AI summaries
└── src/
├── analytics.py # Portfolio metrics & risk
├── data_fetcher.py # yfinance wrapper with caching
├── indicators.py # SMA, EMA, RSI, MACD, Bollinger
├── llm.py # Claude Sonnet 4.6 via OpenRouter
├── news_monitor.py # Multi-source news fetcher + scorer
├── portfolio.py # Load / save / add / remove holdings
├── sec_edgar.py # SEC EDGAR API client
├── snaptrade_integration.py # Auto-import holdings from your brokerage
└── summary_pipeline.py # Weekly/daily/monthly memo pipeline
保有銘柄の追加
トラッカーにポジションを追加する方法は 3 つあります。お好みの方法を選んでください。
オプション 1 — 証券口座を自動接続する(SnapTrade)⭐ おすすめ
証券会社を一度接続すれば、実際の保有ポジション(株式+取得原価)を 自動的にインポートできます。CSV も手入力も不要です。Robinhood、Fidelity、Schwab、 Vanguard、E*TRADE、Webull、Wealthsimple など、多くの証券会社に対応しています。
1. SnapTrade の無料アカウントを作成する dashboard.snaptrade.com で登録し、メールアドレスを 確認してください。無料プランでは、個人アカウント向けの実際の証券口座データを無料で利用できます。
2. ダッシュボードで API キーを生成する — Client ID と Consumer Key が発行されます。
3. .env に追加する:
SNAPTRADE_CLIENT_ID=your-snaptrade-client-id
SNAPTRADE_CONSUMER_KEY=your-snaptrade-consumer-key
4. SDK をインストールする(pip install -r requirements.txt を実行済みの場合は、すでに含まれています):
pip install snaptrade-python-sdk
5. アプリで: Manage Holdings ページの 🏦 Connect Brokerage タブを開き → Connect Brokerage をクリックします。SnapTrade のウィンドウが開くので、そこで証券会社にログインしてください。アプリに戻り、 Check Connection をクリックしてから、🔄 Sync Holdings をクリックしてインポートします。
証券会社の認証情報は SnapTrade に直接送信され、このアプリに渡ることはありません。 SnapTrade のユーザーシークレットはローカルの
data/.snaptrade_user.jsonに保存されます(gitignore 対象)。 注:SnapTrade が提供するのは株式と平均取得原価であり、元の購入ロットの 購入日 は含まれないため、インポートしたポジションには仮の日付が設定されます。損益は正確です。
オプション 2 — CSV エクスポートをアップロードする
Manage Holdings ページの 📥 Import CSV タブを使用して、証券会社(Robinhood、Fidelity、Schwab、Vanguard など)から エクスポートした保有銘柄データをアップロードします。アプリは一般的な証券会社の CSV 形式を自動的に標準化します。
証券会社の CSV がサポートされていない場合: 任意の AI アシスタント(Claude や ChatGPT など)を使って、portfolio.json
ファイルを簡単に生成できます。CSV を添付して、次のように依頼してください:
「証券会社の CSV を次の JSON 形式に変換してください:」。
オプション 3 — 手動で入力する/ファイルを編集する
Manage Holdings ページの 🟢 Buy / 🔴 Sell タブを使用するか、
data/portfolio.json を直接編集します:
{
"holdings": [
{
"ticker": "AAPL",
"shares": 10,
"purchase_price": 150.0,
"purchase_date": "2024-01-15"
}
]
}
インジケーター早見表
| インジケーター | わかること |
|---|---|
| SMA / EMA | トレンドの方向です。価格が MA を上回っていれば上昇トレンドです。SMA 50/200 のクロスは「ゴールデンクロス/デッドクロス」です。 |
| RSI (14) | モメンタムです。70 超は買われすぎ、30 未満は売られすぎです。 |
| MACD | モメンタムとトレンドです。ヒストグラムがゼロを横切ると、モメンタムが変化しています。 |
| ボリンジャーバンド | ボラティリティの範囲です。上限付近では上方向に伸びすぎ、下限付近では下方向に伸びすぎている状態です。 |
| シャープレシオ | リスク単位あたりのリターンです。1 超は良好、2 超は非常に良好です。リスクフリーレートには 4% を使用します。 |
| 最大ドローダウン | ピークから谷までの最大下落幅です。 |
| SPY に対するベータ | 市場への感応度です。1 超は S&P 500 よりボラティリティが高いことを示します。 |
注記
- Yahoo Finance の無料フィードのデータには約 15 分の遅延があります。
- レート制限の問題を避けるため、API の応答は 5 分間キャッシュされます。
- パフォーマンス履歴は、選択した期間全体を通じて現在の株式数を保有していたと仮定します。これは「現在のポートフォリオがどう推移していたか」を見るもので、真の時間加重リターンではありません。
- AI 機能には OpenRouter の API キーが必要です。MCP サーバーは Claude Desktop のサブスクリプションを直接使用するため、別途キーは不要です。
- 投資助言ではありません。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。