trader-rebalance について
trader-rebalanceは、保有銘柄と目標配分を比較し、設定した許容幅を超えるずれがある場合に取引案を作るPythonスキルです。注文は行わず、後続のワークフローでリスク確認とユーザー承認を行います。
主な機能
- 01ポートフォリオの乖離を計算
- 02目標配分と保有上限を適用
- 03リバランスの許容幅を設定
- 04売りを先にした取引案の作成
- 05現金バッファと注文上限を順守
活用シーン
- 01目標からずれた保有銘柄を確認
- 02追加資金の影響を評価
- 03リスク確認用の取引案を作成
- 04未追跡銘柄を売却せずに特定
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ jakeschincariol/ trader-skill --skill trader-rebalanceインストール後、Claude Code で/trader-rebalanceを入力して読み込まれたか確認します。
同梱ファイルrebalance.py
詳細
trader-rebalance
リバランサーは、ポートフォリオを計画どおりの状態に保ちます。価格が動き、新たな資金が入り、新しい13Fによって配分比率が変わると、このスキルは大きく乖離した銘柄を見つけ、元の状態に戻すための取引を提案します。書き込むのは提案のみです。trader-riskが内容を確認し、trader-brokerが各取引についてユーザーに実行するかどうかを確認します。
以下の${CLAUDE_SKILL_DIR}は、このスキルのフォルダー(SKILL.mdがある場所)です。
python3 "${CLAUDE_SKILL_DIR}/rebalance.py" # the drift table, no files written
python3 "${CLAUDE_SKILL_DIR}/rebalance.py" --band 5 --write # proposals -> trader/orders.json
python3 "${CLAUDE_SKILL_DIR}/rebalance.py" --sell-untracked # also sell holdings not in the targets
python3 "${CLAUDE_SKILL_DIR}/rebalance.py" --json
読み書きするファイル
| file | what |
|---|---|
trader/portfolio.json | 現金と保有銘柄(株数)。trader-taxのportfolio.example.jsonと同じ形式です |
trader/prices.json | すべての保有銘柄と目標銘柄の価格(trader-alertsが書き込みます) |
trader/targets.json | 目標配分比率(trader-copycatが書き込みます) |
trader/config.json | 現金バッファー、上限、注文の最小額と最大額、rebalance_band_pct |
trader/orders.json | --writeで書き込む提案。売却が先です |
判断方法
- 口座価値 = 現金 + 各保有銘柄の価格評価額。
- 目標配分:現金バッファーを差し引いた株式枠に合わせて配分比率を正規化し、口座価値に対する割合が
max_position_pctを超える銘柄がないようにします。上限を超えた分は、trader-budgetと同じ方法で他の銘柄に配分するため、上限に達した銘柄が毎月買い戻されて上限を超えることはありません。 - 乖離 = 口座に占める現在の割合 − 目標割合。
- 乖離許容幅:許容幅を超えて乖離した銘柄のみ取引します(デフォルトは5ポイント)。取引後、銘柄の配分を目標まで戻します。許容幅が小さいほど取引が増え、大きいほど減ります。
- 売却が先で、その後に買い付けます。買い付けに使うのはバッファーを超える現金のみです。現金が足りない場合は、すべての買い付け額を同じ割合で減らします。
min_order_usdを下回る取引はスキップします。max_order_usdを超える取引は上限額まで減額し、約定後に再実行するようメモを付けます。- 未追跡の保有銘柄(目標に含まれていない銘柄)はそのままにして一覧表示します。ただし、ユーザーが
--sell-untrackedでの売却を依頼した場合は除きます。
手順
- 価格を更新します:trader-alertsの
alerts.py quote --holdings --write。 rebalance.pyを実行し、乖離の一覧を平易な言葉で説明します。どの銘柄が何ポイント上回っているか、または下回っているか、そしてどのような取引が行われるかを示します。- 売却の前に、trader-taxの
lots.py sell TICKER SHARESを実行し、売却による実現損益を示します。利益が出ている銘柄を売ると、税金が発生する場合があります。 - ユーザーが取引を希望する場合は、
rebalance.py --write、続いて/trader-risk、その後/trader-brokerを実行します。注文ごとにユーザーの承認が必要です。
例:リールのポートフォリオ
2026-10-13に購入したコピー用ポートフォリオ(AAPLは上限付きで$1,250、AXPは$1,119、GOOGLは$823、KOは$708、BACは$600、現金は$500)は、当日の終値で評価すると目標配分どおりです。すべての乖離が0.1ポイント未満のため、rebalance.pyは「許容幅を超える銘柄はありません」と表示して終了コード1で終了します。ユーザーが現金を$2,000追加すると、口座価値は$7,000となり、上限は$1,750になります。AAPLは目標を7.1ポイント下回り、AXPは6.4ポイント下回るため、どちらも5ポイントの許容幅を超え、AAPLを$499、AXPを$446買い付ける提案が行われます。GOOGL、KO、BACも目標を下回っていますが、許容幅内のため、今回は取引しません。代わりに$5,000を追加すると、5銘柄すべてが許容幅を超えます。5件の買い付け後、現金には$1,000のバッファーが残ります。
決して行わないこと
注文を出すことはありません。小さな差を追いかけて許容幅内で取引することも、依頼がないのに目標外の保有銘柄を売却することもありません。また、リバランスによってリターンが向上すると断言することもありません。
安全性
- 教育およびツールの提供を目的としており、投資助言ではありません。リバランスはユーザー自身の目標に基づいて行われ、予測に基づくものではありません。
- デフォルトではペーパートレードが有効です(
"paper": true)。実際の取引を行うかどうかは、ユーザー自身が自身の設定で決定します。 - trader-broker を除き、このパック内のツールは注文を発注しません。また、trader-broker が注文を発注するのは、次の3つをすべて満たす場合に限られます。trader-risk が当日にその注文を承認していること、ユーザーがチャットでその注文について明示的に「はい」と入力していること、注文ツールが「承認が必要」に設定されている状態で、ユーザーが Claude 自身のカードで一度だけ「許可」をクリックしていること(Customize > Connectors > tool permissions)。注文ツールを「常に許可」に設定しないでください。
- 設定で許可され、ユーザーが確認しない限り、オプション、証拠金取引、空売り、レバレッジは使用しません。
- ブローカーのキーは環境変数または Claude Desktop の設定に保存し、チャットには記載しないでください。