mcpField
I
ib-portfolio

ib-portfolio

github.com/staskhその他39497 回インストール1 日前に更新
リポジトリ

ib-portfolio について

APIを有効にしたローカルのTWSまたはIB Gatewayを通じて、Interactive Brokersの現在のポジションを取得するスキルです。接続状態とポジション情報をJSONで返し、口座やポートを指定できます。

主な機能

  1. 01Interactive Brokersのポジション取得
  2. 02ローカルTWSまたはIB Gatewayへの接続
  3. 03口座と接続ポートの選択
  4. 04接続失敗時の代替ポート再試行
  5. 05ポジション評価額と未実現損益の返却

活用シーン

  1. 01現在の証券口座ポジションの確認
  2. 02評価額と未実現損益の確認

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/staskh/trading_skills --skill ib-portfolio

インストール後、Claude Code で/ib-portfolioを入力して読み込まれたか確認します。

同梱ファイルscripts/portfolio.py

詳細

IB Portfolio

Interactive Brokers から現在のポートフォリオの保有状況を取得します。

IB Connection

TWS または IB Gateway をローカルで起動し、API を有効にしておく必要があります。

  • ペーパートレード — ポート 7497
  • ライブトレード — ポート 7496
  • IB_PORT 環境変数 — --port を省略した場合のデフォルトポートです(例:Gateway コンテナーでは IB_PORT=4001)。優先順位:--port フラグ > IB_PORT > 組み込みのデフォルト値。シェルまたは .env ファイルに設定してください。

ポートのフォールバック: 設定されたポートへの接続に失敗した場合、もう一方のポートで自動的に再試行します。 再試行に成功した場合、どちらの口座タイプ(ライブ/ペーパー)が動作したかをメモリに保存し、このセッションおよび今後のセッションにおけるすべての IB スキル呼び出しで再利用します。ユーザーがもう一方の口座を明示的に要求するまで保持されます。 両方のポートへの接続に失敗した場合は、TWS または IB Gateway が起動しており、API アクセスが有効になっていることを確認するようユーザーに依頼してください。

Instructions

注: uv がインストールされていない場合、または pyproject.toml が見つからない場合は、以下のすべてのコマンドで uv run python を python に置き換えてください。

uv run python scripts/portfolio.py [--port PORT]

Arguments

  • --port - IB ポート(デフォルト:ペーパートレードでは 7497)
  • --account - 特定の IB 口座 ID(省略可能。デフォルトでは最初の口座)

Output

以下を含む JSON を返します。

  • connected - 接続に成功したかどうか
  • positions - 銘柄、数量、平均取得単価、市場価値、未実現損益を含むポジションの配列

接続されていない場合は、TWS/Gateway を起動する必要があることを説明してください。

Dependencies

  • ib-async

Timezone

すべてのタイムスタンプと時間に基づく計算では、America/New_York タイムゾーンを使用する必要があります。すべての JSON 出力には、generated_at(NY 時刻の文字列)と data_delay フィールドを含める必要があります。

コメント