ポートフォリオ管理。保有銘柄の一覧表示・売買記録・構造分析。ストレステストの入力データ基盤。
$ARGUMENTS を解析してコマンドを判定し、以下のコマンドを実行してください。
python3 /Users/kikuchihiroyuki/stock-skills/.claude/skills/stock-portfolio/scripts/run_portfolio.py <command> [args]
現在価格・損益・通貨換算を含むポートフォリオのスナップショットを生成する。
python3 .../run_portfolio.py snapshot
python3 .../run_portfolio.py buy --symbol <sym> --shares <n> --price <p> [--currency JPY] [--date YYYY-MM-DD] [--memo テキスト] [--yes]
--yes (-y) を省略すると購入内容の確認プレビューを表示して終了する。--yes を指定すると確認をスキップして直接記録する(KIK-444)。
python3 .../run_portfolio.py sell --symbol <sym> --shares <n> [--price <売却単価>] [--date YYYY-MM-DD] [--yes]
--yes (-y) を省略すると売却内容の確認プレビュー(取得単価・推定実現損益)を表示して終了する。--yes を指定すると確認をスキップして直接記録する(KIK-444)。
--price を指定すると実現損益・損益率・税引後概算を計算して表示し、data/history/trade/*.json に保存する(KIK-441)。
過去の売却記録(--price 付きで記録したもの)から損益統計を集計して表示する。
python3 .../run_portfolio.py review [--year 2026] [--symbol NVDA]
出力内容:
地域/セクター/通貨/規模のHHI(ハーフィンダール指数)を算出し、ポートフォリオの偏りを分析する。規模別構成(大型/中型/小型/ETF/不明)テーブルを含む4軸分析(KIK-438, KIK-469 P2: ETF分類)。ETFはセクター「ETF」、規模「ETF」として独立分類される。
python3 .../run_portfolio.py analyze
保有銘柄の投資仮説がまだ有効かをチェックする。テクニカル(SMA50/200, RSI, ゴールデンクロス/デッドクロス検出)とファンダメンタル(変化スコア、株主還元安定度)の多軸で3段階アラートを出力。小型株は自動的に感度を引き上げ(KIK-438)。
python3 .../run_portfolio.py health
テクニカル分析(KIK-356/374/438):
株主還元安定度(KIK-403):
小型株アロケーション(KIK-438):
[小型] バッジを表示ETFヘルスチェック(KIK-469 Phase 2):
アラートレベル:
ヘルスチェック結果 + マーケットレジーム判定から、17ルール(P1-P10: ポジション別、F1-F7: PF全体)で具体的な調整アクション(SELL/SWAP/ADD/TRIM_CLASS/FLAG)を生成する。
python3 .../run_portfolio.py adjust [--full]
CLIオプション:
--full : フル分析モード(集中度・相関分析も含む。API負荷が高い)出力:
レジーム補正: crash 時は urgency を1段階引き上げ。bear 時は小型株・下降トレンド系ルールを引き上げ。
現在のポートフォリオ構造を分析し、集中リスクの低減と目標配分への調整案を提示する。
python3 .../run_portfolio.py rebalance [options]
CLIオプション:
--strategy defensive|balanced|aggressive (デフォルト: balanced)--reduce-sector SECTOR (例: Technology)--reduce-currency CURRENCY (例: USD)--max-single-ratio RATIO (例: 0.15)--max-sector-hhi HHI (例: 0.25)--max-region-hhi HHI (例: 0.30)--additional-cash AMOUNT (円, 例: 1000000)--min-dividend-yield YIELD (例: 0.03)保有銘柄ごとにアナリスト目標価格 or 過去リターン分布から12ヶ月の期待リターンを3シナリオ(楽観/ベース/悲観)で推定する。バリュートラップ警告・TOP/BOTTOM ランキング付き。
python3 .../run_portfolio.py forecast
推定手法:
[ETF] バッジ付き)growth_driver カタリスト数 × 1.7% を楽観シナリオに加算、risk カタリスト数 × 1.7% を悲観シナリオから減算(上限各 10%)出力構成(KIK-390):
銘柄の追加・売却・スワップをシミュレーションし、ポートフォリオへの影響をBefore/After比較で表示する。
# 追加のみ(従来)
python3 .../run_portfolio.py what-if --add "SYMBOL:SHARES:PRICE[,...]"
# スワップ(売却して購入)(KIK-451)
python3 .../run_portfolio.py what-if --remove "SYMBOL:SHARES[,...]" --add "SYMBOL:SHARES:PRICE[,...]"
# 売却のみシミュレーション (KIK-451)
python3 .../run_portfolio.py what-if --remove "SYMBOL:SHARES[,...]"
CLIオプション:
--add : 追加銘柄リスト(任意)。形式: SYMBOL:SHARES:PRICE をカンマ区切り--remove : 売却銘柄リスト(任意)。形式: SYMBOL:SHARES をカンマ区切り(価格不要・時価で試算)--add と --remove のどちらか一方は必須出力:
--remove 指定時、シミュレーション前にスクリーニング出現回数・投資メモ・リサーチ履歴を自動表示(Neo4j接続時)蓄積されたスクリーニング結果からリターンを検証し、ベンチマーク(日経225/S&P500)と比較する。
python3 .../run_portfolio.py backtest [options]
CLIオプション:
--preset PRESET : 検証対象のスクリーニングプリセット(例: alpha, value)--region REGION : 検証対象の地域(例: jp, us)--days N : 取得後N日間のリターンを検証(デフォルト: 90)出力:
現在のポートフォリオを基に、複利計算で将来の資産推移をシミュレーションする。forecast の期待リターン + 配当再投資 + 毎月積立を複利で計算し、楽観/ベース/悲観の3シナリオで表示。
python3 .../run_portfolio.py simulate [options]
CLIオプション:
--years N (シミュレーション年数, デフォルト: 10)--monthly-add AMOUNT (月額積立額, 円, デフォルト: 0)--target AMOUNT (目標額, 円, 例: 15000000)--reinvest-dividends (配当再投資する, デフォルト: ON)--no-reinvest-dividends (配当再投資しない)portfolio.csv の内容をそのまま表示する。
python3 .../run_portfolio.py list
自然言語→スキル判定は .claude/rules/intent-routing.md を参照。
.claude/skills/stock-portfolio/data/portfolio.csv結果はMarkdown形式で表示してください。
[小型] バッジ付き) / 損益率 / トレンド / クロスイベント / 変化の質 / アラート / 長期適性 / 還元安定度[ETF] バッジ# スナップショット
python3 .../run_portfolio.py snapshot
# 購入記録
python3 .../run_portfolio.py buy --symbol 7203.T --shares 100 --price 2850 --currency JPY --date 2025-06-15 --memo トヨタ
# 売却記録
python3 .../run_portfolio.py sell --symbol AAPL --shares 5
# 構造分析
python3 .../run_portfolio.py analyze
# 一覧表示
python3 .../run_portfolio.py list
# ヘルスチェック
python3 .../run_portfolio.py health
# 推定利回り
python3 .../run_portfolio.py forecast
# リバランス提案
python3 .../run_portfolio.py rebalance
python3 .../run_portfolio.py rebalance --strategy defensive
python3 .../run_portfolio.py rebalance --reduce-sector Technology --additional-cash 1000000
# What-Ifシミュレーション(追加のみ)
python3 .../run_portfolio.py what-if --add "7203.T:100:2850,AAPL:10:250"
# What-Ifシミュレーション(スワップ: 7203.T売却 → 9984.T購入)(KIK-451)
python3 .../run_portfolio.py what-if --remove "7203.T:100" --add "9984.T:50:7500"
# What-Ifシミュレーション(純売却)(KIK-451)
python3 .../run_portfolio.py what-if --remove "7203.T:50"
# 調整アドバイザー (KIK-496)
python3 .../run_portfolio.py adjust
python3 .../run_portfolio.py adjust --full
# バックテスト
python3 .../run_portfolio.py backtest --preset alpha --region jp --days 90
get_context.py の出力に以下がある場合、ヘルスチェック結果と統合して回答する:
EXIT/警告に対して具体的な判断(「売却推奨」「継続保有」等)を含む回答をした場合:
💡 この判断を投資メモとして記録しますか?