analyze_risk
Analyze portfolio risk by checking position concentration, sector concentration, pairwise correlations, and volatility. Optionally evaluate how candidates correlate with existing holdings before making swaps.
Instructions
Analyze portfolio risk: concentration, correlation, volatility.
Checks position concentration (>10% single stock), sector concentration (>30% single sector), pairwise correlation, and portfolio volatility. Optionally includes candidate tickers in correlation matrix to see how they correlate with existing holdings before executing swaps.
Args: portfolio_json: JSON array of holdings, e.g. '[{"ticker": "AAPL", "weight": 0.20, "sector": "Technology"}, ...]'. period: History period for correlation/volatility calculation (default "1y"). Uses yfinance period format: "1y", "2y", "6mo", etc. corr_threshold: Flag pairs with correlation above this (default 0.85). candidates: Optional comma-separated candidate tickers to include in correlation analysis (e.g. "META,AVGO"). These are included in the correlation matrix but not in concentration/weight checks.
Returns: JSON with concentration analysis, correlation matrix (holdings only and with candidates if provided), portfolio volatility, risk flags, and overall risk level (LOW/MEDIUM/HIGH).
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| portfolio_json | Yes | ||
| period | No | 1y | |
| corr_threshold | No | ||
| candidates | No |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| result | Yes |