risk_report
Computes drawdown-first risk metrics including max drawdown, Ulcer, CDaR, and Sharpe/Sortino/Calmar with bootstrap confidence intervals. Also provides annualized time-weighted return for portfolio risk assessment.
Instructions
Drawdown-first risk panel for the held portfolio: max drawdown (depth/dates/recovery + CI), Ulcer, CDaR, and Sharpe/Sortino/Calmar with bootstrap confidence intervals, plus the annualized time-weighted return (it rides on the same daily history). Offline, read-only. Use to answer 'how risky / how deep are the drawdowns' — and for the time-weighted return portfolio_summary can't compute.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| asof | Yes | ||
| cdar | No | mean of the worst-5% drawdowns (positive magnitude) | |
| note | No | Read-only: figures are derived from your transaction log and the on-disk price cache. Uncached prices are fetched online on demand — a one-time core warm on the first cold call, plus any new ticker you ask about (set ASSET_MCP_OFFLINE=1 to keep it strictly offline); a value still unavailable shows null (n/a), never a guess. This is a view, not financial advice. | |
| calmar | No | null when there's no drawdown (undefined) | |
| n_days | Yes | ||
| sharpe | Yes | ||
| sortino | No | null with no downside days (undefined) | |
| is_noisy | Yes | True when under ~2 trading years — bands are wide | |
| provenance | Yes | ||
| ulcer_index | No | RMS drawdown (positive magnitude) | |
| max_drawdown | Yes | ||
| dollar_drawdown | Yes | ||
| true_twr_annualized | No | annualized time-weighted return (252-day basis) from the same daily series as this panel — the one tool that carries it; null only when the window is too short to annualize (< 20 return-days) |