{ "pivot_price": 100.2, "distance_to_pivot_pct": -3.9920159680638667, "contractions": [ { "peak_index": 89, "peak_date": "2026-03-31", "peak_price": 100.2, "trough_index": 98, "trough_date": "2026-04-09", "trough_price": 79.84, "depth_pct": 20.3194 }, { "peak_index": 107, "peak_date": "2026-04-18", "peak_price": 98.196, "trough_index": 115, "trough_date": "2026-04-26", "trough_price": 87.824, "depth_pct": 10.5625 }, { "peak_index": 123, "peak_date": "2026-05-04", "peak_price": 97.194, "trough_index": 130, "trough_date": "2026-05-11", "trough_price": 91.816, "depth_pct": 5.5333 } ], "final_contraction_pct": 5.5333, "volume_ratio_5_20": 0.680161943319838, "breakout_volume_ratio_1_20": 0.6572769953051644, "volume_dryup": true, "vcp_score": 100, "vcp_status": "PRE_BREAKOUT", "data_quality_status": "PASS", "notes": "Contractions 20.3% \u2192 10.6% \u2192 5.5%; progressively tighter; pivot 100.20; to pivot -4.0%; 5D/20D vol 0.68x dry-up; day/20D vol 0.66x; above 50/200; trend template pass; RS 88; sector 74" }