portfolio-management について
定量的な投資ポートフォリオ管理を支援するスキルです。リスク計算、ポートフォリオ最適化、市場データの入力、パフォーマンス追跡を扱います。
主な機能
- 01CAPM と Black-Litterman モデル
- 02VaR と Sharpe 比率の計算
- 03平均分散最適化
- 04CSV と JSON の入力
- 05収益とパフォーマンスのレポート
活用シーン
- 01ポートフォリオリスクの評価
- 02資産配分の調整
- 03運用実績の確認
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ alphaonedev/ openclaw-graph --skill portfolio-managementインストール後、Claude Code で/portfolio-managementを入力して読み込まれたか確認します。
詳細
ポートフォリオ管理
目的
このスキルでは、定量モデルを使用した投資ポートフォリオの管理、Value at Risk(VaR)などのリスク指標の計算、平均分散最適化などの最適化アルゴリズムの適用が可能です。ポートフォリオデータを処理して実行可能な分析結果を生成し、データソースとの連携や、事前に定義された戦略に基づく取引の実行を通じて、金融分野での意思決定を支援します。
使用する場面
金融分野でポートフォリオのリバランス、リスク評価、パフォーマンス分析を行うタスクで、このスキルを使用します。資産の分散や市場の変動への対応など、投資戦略に関するユーザーの問い合わせを扱う際に適用します。リアルタイムのデータフィードを利用する場合や、予算上限などの制約下で配分を最適化する場合に適しています。
主な機能
- 定量モデル:CAPMやBlack-Littermanなどのモデルを実装します。例:
claw portfolio model capm --assets AAPL,GOOGを使って期待収益率を計算します。 - リスク指標:VaRやシャープレシオを計算します。API エンドポイント
GET /api/portfolios/risk/var?confidence=0.95を使うと、ポートフォリオの95% VaRを取得できます。 - 最適化アルゴリズム:平均分散最適化を実行します。JSONファイルで設定できます:
{"assets": ["AAPL", "MSFT"], "weights": [0.5, 0.5]}。 - データ連携:外部APIから市場データを取得します。ポートフォリオの入力形式としてCSVやJSONなどをサポートしています。
- パフォーマンス追跡:ポートフォリオの収益率レポートを生成します。例:
claw portfolio track --period monthly --metric sharpe。
使用パターン
必ず $PORTFOLIO_API_KEY 環境変数を使って認証を初期化してください。CLIを使用する場合は、入力データを直接パイプで渡します。例:まず claw portfolio load --file portfolio.json を実行し、続けて claw portfolio optimize --risk-level high などのコマンドを実行します。APIを使用する場合は、変更にはPOSTリクエスト、照会にはGETリクエストを使います。非同期処理はエンドポイントをポーリングして処理します。スクリプトではAPIの失敗に対処するためにtry-catchブロックで囲み、資産リストなどの再利用可能なパラメーターには設定ファイルを使います。
主なコマンド/API
- CLIコマンド:
claw portfolio manage --action optimize --config config.jsonを使ってポートフォリオを最適化します。フラグには、--action(optimize、analyze)、--config(JSONファイルへのパス)、詳細なログを出力する--verboseがあります。 - APIエンドポイント:本文
{"name": "my-portfolio", "assets": ["AAPL", "TSLA"]}を指定してPOST /api/portfolios/createにリクエストを送信します。ヘッダーAuthorization: Bearer $PORTFOLIO_API_KEYで認証します。 - コードスニペット:
import requests response = requests.post('https://api.openclaw.ai/api/portfolios/optimize', headers={'Authorization': f'Bearer {os.environ["PORTFOLIO_API_KEY"]}'}, json={'assets': ['AAPL', 'GOOG']}) print(response.json()['optimized_weights'])claw portfolio analyze --assets AAPL,MSFT --metric var --confidence 0.99 - 設定形式:入力にはJSONを使います。例:
{"portfolio": {"assets": [{"symbol": "AAPL", "quantity": 100}], "constraints": {"max_risk": 0.05}}}。claw portfolio validate --file config.jsonで検証します。
統合に関する注意
コマンドを実行する前に、環境に $PORTFOLIO_API_KEY を設定して統合します。外部システムとのデータ同期にはWebhookを使います。例:POST /api/portfolios/update などのエンドポイントを対応付けて、証券会社のAPIとの連携時に更新をトリガーします。計算にはNumPyなどの金融ライブラリとの互換性を確保してください。Pythonスクリプトでモジュールとしてインポートし、API呼び出しの間に time.sleep(1) を挟むなどして、レート制限に対処します。モックデータを使い、サンドボックス環境で統合をテストしてください。
エラー処理
$PORTFOLIO_API_KEY が設定されていることを確認し、認証エラーがないか確認します。設定されていない場合は、os.environ.get('PORTFOLIO_API_KEY') or raise ValueError("API key required") でユーザーに入力を求めます。APIの失敗については、コード内のtry-exceptを使って401や429などのHTTPエラーを捕捉します:
try:
response = requests.get('https://api.openclaw.ai/api/portfolios/risk')
except requests.exceptions.HTTPError as e:
print(f"Error: {e.response.status_code} - {e.response.text}")
まず claw portfolio validate で設定を検証し、無効な入力に対処します。--log-file errors.log フラグを使ってエラーをファイルに記録し、一時的なエラーは指数バックオフを使って最大3回まで再試行します。
グラフ上の関連性
- 関連するクラスター:financial
- タグ経由の関連:finance、investments、risk-management、quant-analysis
- 他のスキルへのリンク:データ処理では data-analysis に依存し、自動取引では trading-execution を強化します