SOL×BTC CORRELATION (0.87) BREACHES $2,000 CAP UNDER A -15% BTC SHOCK.

+ +
-15.0% BTC CRASH
Unhedged Book Shock Loss
-$3,789
-18.9% of $20,000 Book BREACH +$1,789
Mandate Rebalanced Loss
-$1,854
-9.3% of $20,000 Book WITHIN $2,000 CAP
Net Capital Preserved
+$1,935
+9.7% Tail Cushion Added MANDATE READY

Multi-Token Book & Rebalance Diff

SORTED BY SHOCK LOSS
Asset 14d ATR BTC Beta Current → Mandate Unhedged Mandate
SOL TRIM 4.5% 1.26x
42% → 19%
-$1,778 -$708
AVAX TRIM 5.6% 1.50x
28% → 13%
-$1,411 -$577
BTC TRIM 2.7% 1.00x
20% → 19%
-$600 -$570
USDC SHIELD 0.0% 0.00x
10% → 49%
$0 $0
ALLUVIAL CAPITAL ROTATION VECTOR ($6,800 REALLOCATED) SOL -$4,000 · AVAX -$2,800 → BTC +$2,800 · USDC +$4,000
SOL 42% ($8.4k) Trim -$4,000 AVAX 28% ($5.6k) Trim -$2,800 BTC 34% ($6.8k) Core Anchor +$2,800 USDC 30% ($6.0k) Drawdown Shield +$4,000
EVIDENCE SEAL (SHA-256): 0x3e106fc09136344d
RYO_MCP + OKX_168H + DEEPSEEK_V4.1 DETERMINISTIC SNAPSHOT

168H Realized Equity + 48H Shock Cone (Confidence Band)

UNHEDGED BREACHES -$2,000 FLOOR
168H Realized ($20,000) Mandate Rebalanced Path Unhedged Shock Cone (95% CI) Max Drawdown Floor ($18,000)
$21k $20k $18k $16k MAX DRAWDOWN GUARDRAIL (-$2,000) T0: SHOCK ONSET MANDATE $18,146 (-$1,854 PASS) UNHEDGED $16,211 (-$3,789)
WATERFALL ATTRIBUTION: HOW MANDATE RECOVERS +$1,935 OF TAIL LOSS UNIT: USD SHOCK IMPACT
-$3,789 1. Unhedged Book +$1,070 2. SOL Trim +$835 3. AVAX Trim +$30 4. Shield Offset -$1,854 PASS 5. Mandate Net

168H Pairwise Correlation Matrix & Joint-Return Scatter Lens

CAP CEILING: ρ ≤ 0.75 (CLICK ANY PAIR)
ASSET
SOL
AVAX
BTC
ETH
SOL
1.00
AVAX
1.00
BTC
1.00
ETH
1.00
[!] Non-color symbols mark every cell exceeding your 0.75 pairwise correlation ceiling.
SOL × AVAX (168H) BREACH (>0.75 CAP)
PEARSON ρ: 0.86 JOINT BETA: 1.52x

Risk Officer Audit Trail

DEEPSEEK-V4.1 + DETERMINISTIC
COVARIANCE CLUSTER DETECTION 168H PEARSON 0.87 (BREACH)

Over the trailing 168 hourly candles, SOL×BTC log-returns correlate at rho = 0.87 against your 0.75 correlation cap. Concentrated alt weights create a single-factor drawdown cluster.

SHOCK CAUSE & EFFECT BTC -15.0% SHOCK (BREACH)

Under a -15.0% BTC shock vector, tail beta compression drives an unhedged portfolio drawdown of -$3,789.31 (-18.9%), compared to your $2,000 maximum dollar drawdown guardrail.

MINIMUM-VARIANCE REBALANCE MANDATE PRESERVES +$1,935

Trimming SOL (42% to 19%), AVAX (28% to 13%) and rotating into BTC core anchor and USDC shield reduces shock drawdown to -$1,854.50 (-9.3%), preserving +$1,934.81 of capital.

Committed Rebalance Mandates & Live Counterfactual P&L Settlement (SQLite WAL)

Every committed Practice Rebalance Mandate is stored in SQLite (WAL mode) with a canonical JSON snapshot and SHA-256 digest. Counterfactual settlement compares your unhedged starting weights against the committed mandate weights.

Mandate ID Sealed At (UTC) Shock Vector Weight Rotation Unhedged Shock Mandate Shock Capital Saved Deterministic Replay Hash
#MND-040 2026-11-11T11:20:00Z BTC -15% Flash Crash AVAX 28% -> 14% · BTC 20% -> 34% · SOL 42% -> 22% · USDC 10% -> 30% -$3,420.00 -$1,690.00 +$1,730.00
#MND-039 2026-11-11T06:40:00Z Corr-to-1 Liquidity Crunch (-22% BTC) AVAX 25% -> 12% · BTC 20% -> 30% · SOL 45% -> 18% · USDC 10% -> 40% -$4,890.00 -$1,920.00 +$2,970.00
#MND-038 2026-11-10T19:15:00Z Perp Funding Squeeze (-12% BTC) AVAX 30% -> 16% · BTC 20% -> 32% · SOL 40% -> 24% · USDC 10% -> 28% -$2,740.00 -$1,380.00 +$1,360.00

Track 3 MCP Skill Catalog & Resilience Drill

PROTOCOL: 2024-11-05

ShockBook extends RYO-CHAN's 6 single-token/macro tools with two composable multi-asset portfolio MCP skills over REST (POST /api/mcp/tools/{tool}/call) and JSON-RPC 2.0 (POST /api/mcp). Trigger any fault mode below to test live resilience:

portfolio_stress_test FILLS MULTI-ASSET PORTFOLIO GAP

Composes RYO deep_analysis ATR/perp posture + 168h OKX log-return covariance to evaluate portfolio drawdown against user dollar limits and output minimum-variance rebalance weights.

correlation_guard PAIRWISE 168H CLUSTER DETECTOR

Computes the full N×N pairwise hourly return correlation matrix and BTC beta vector, flagging hidden single-factor clusters above the caller's correlation_cap.

Public Response Envelope Inspector

status: "ok" · data_mode: "live"
{
  "schema_version": "1.0",
  "tool": "portfolio_stress_test",
  "status": "ok",
  "data_mode": "live",
  "as_of": "2026-11-12T10:27:36Z",
  "request": {
    "portfolio_usd": 20000.0,
    "positions": [
      {
        "symbol": "SOL",
        "weight": 0.42
      },
      {
        "symbol": "AVAX",
        "weight": 0.28
      },
      {
        "symbol": "BTC",
        "weight": 0.2
      },
      {
        "symbol": "USDC",
        "weight": 0.1
      }
    ],
    "shock_btc_pct": -15.0,
    "scenario_id": "btc_crash_15",
    "max_drawdown_usd": 2000.0,
    "correlation_cap": 0.75,
    "fault_mode": "live"
  },
  "data": {
    "unhedged_drawdown_usd": -3789.31,
    "unhedged_drawdown_pct": -18.95,
    "rebalanced_drawdown_usd": -1854.5,
    "rebalanced_drawdown_pct": -9.27,
    "capital_preserved_usd": 1934.81,
    "breaches_drawdown_cap": true,
    "mandate_within_cap": true,
    "max_pair_correlation_168h": 0.87,
    "max_pair_label": "SOL\u00d7BTC",
    "breach_pairs": [
      {
        "pair": "SOL-BTC",
        "asset_a": "SOL",
        "asset_b": "BTC",
        "rho": 0.87,
        "cap": 0.75,
        "joint_beta": 1.13
      }
    ],
    "initial_weights": {
      "SOL": 0.42,
      "AVAX": 0.28,
      "BTC": 0.2,
      "USDC": 0.1
    },
    "mandate_weights": {
      "SOL": 0.19,
      "AVAX": 0.13,
      "BTC": 0.19,
      "USDC": 0.49
    },
    "perp_funding_rate_bps": 1.42,
    "open_interest_delta_24h": 4.8,
    "ryo_sentiment_regime": "cautious_bullish"
  },
  "summary": "Portfolio breaches $2,000 shock cap ($-3,789.31) with max 168h pair correlation 0.87 (SOL\u00d7BTC); mandate rotation cuts shock drawdown to $-1,854.50 and preserves +$1,934.81.",
  "availability": {
    "ryo_mcp_whoami": "ok",
    "ryo_mcp_deep_analysis": "ok",
    "okx_168h_candles": "ok",
    "perp_funding_lane": "ok"
  },
  "warnings": []
}