Multi-Bond Portfolio Macro Shock, VaR/CVaR & Treasury Futures Immunization
run_portfolio_stress_testStress-test multi-bond fixed-income portfolios against rate and credit-spread shocks to calculate portfolio VaR, CVaR, DV01, P&L attribution, and Treasury hedge ratios.
Instructions
Executes multi-position fixed-income portfolio stress testing across customizable macroeconomic rate shocks (parallel benchmark shifts in bps, rating-weighted credit spread widening in bps, yield curve twists: PARALLEL/STEEPENER/FLATTENER/INVERSION, and liquidity haircuts), computing aggregate portfolio DV01, 1-year 95%/99% parametric Value-at-Risk (VaR), 99% Expected Shortfall (CVaR), position-level P&L attribution, 10-Year Treasury Note futures (ZN) short hedge ratios, and portfolio-wide zero-cost European collar strikes. Use when: stress-testing a multi-bond portfolio under interest-rate or credit-spread shocks, calculating portfolio VaR/CVaR, or sizing 10Y Treasury futures duration hedges. Do not use when: pricing a single bond CUSIP without a macro shock scenario (use get_cusip_valuation instead) or checking single-CUSIP FINRA TRACE dealer prints (use get_debt_radar instead). Behavior: Read-only, deterministic portfolio simulation ($2.50 USD per call via apiKey or paymentToken; defaults to a 3-bond institutional benchmark portfolio if portfolio array is omitted; returns an x402/MPP paymentChallenge without charging if credentials are omitted).
Tool call template
This tool declares no required parameters. Add optional parameters from the input schema as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {},
"name": "run_portfolio_stress_test"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| apiKey | No | Optional Ariadne Nexus Developer API key ("nexus_live_...") for authenticated execution. May also be passed via the x-api-key HTTP header. | |
| scenario | No | Macroeconomic stress scenario parameters applied across the portfolio. Defaults to a +100 bps parallel rate shock and +75 bps credit spread widening if omitted. | |
| portfolio | No | Array of fixed-income bond positions to stress test (1 to 100 positions). If omitted or empty, defaults to a 3-position $10M institutional benchmark portfolio (UST 5Y, AAPL, GS). | |
| paymentToken | No | Optional Stripe Shared Payment Token ("spt_...") or settled x402 payment receipt hash ("rcpt_...") for pay-per-call execution ($2.50 USD). |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| tool | Yes | Executed tool identifier ("run_portfolio_stress_test"). | |
| receipt | No | Cryptographic payment or API key settlement receipt ID. | |
| value_at_risk | Yes | Parametric 1-year Value-at-Risk (95% and 99%) and Conditional VaR (99% Expected Shortfall) in USD. | |
| portfolio_summary | Yes | Pre-shock aggregate portfolio valuation and duration metrics. | |
| stress_test_results | Yes | Post-shock portfolio valuation, P&L loss, and resilience status. | |
| macro_scenario_applied | No | Normalized macro shock parameters applied. | |
| immunization_and_hedging | Yes | Actionable 10Y Treasury Note futures (ZN) duration hedge and zero-cost option collar structure. | |
| position_level_breakdown | Yes | Per-CUSIP pre-shock and post-shock valuation and P&L attribution array. |