ib-portfolio について
APIを有効にしたローカルのTWSまたはIB Gatewayを通じて、Interactive Brokersの現在のポジションを取得するスキルです。接続状態とポジション情報をJSONで返し、口座やポートを指定できます。
主な機能
- 01Interactive Brokersのポジション取得
- 02ローカルTWSまたはIB Gatewayへの接続
- 03口座と接続ポートの選択
- 04接続失敗時の代替ポート再試行
- 05ポジション評価額と未実現損益の返却
活用シーン
- 01現在の証券口座ポジションの確認
- 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 フィールドを含める必要があります。