[
  {
    "symbol": "ASAN",
    "total_score": 77.9,
    "raw_score": 82.57,
    "breakdown": {
      "price_quality": 3.71,
      "volume_quality": 12.0,
      "rvol": 9.85,
      "volume_acceleration": 7.69,
      "price_momentum": 0.95,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.96,
      "spread_liquidity": 4.62,
      "momentum_consistency": 1.79,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.71,
      "vwap": 8.6649,
      "vwap_slope": 0.0026,
      "rvol": 3.69,
      "volume_acceleration": 1.77,
      "premarket_volume": 1846263.0,
      "momentum_pct": 0.64,
      "consolidation_tightness_pct": 0.75,
      "distance_from_pm_high_pct": 0.06,
      "extension_from_vwap_pct": 0.52,
      "spread_pct": 0.11
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 8.715,
    "pm_low": 8.645
  },
  {
    "symbol": "KLAR",
    "total_score": 73.84,
    "raw_score": 78.27,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 4.48,
      "volume_acceleration": 10,
      "price_momentum": 0.63,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 6,
      "spread_liquidity": 4.77,
      "momentum_consistency": 2.9,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.415,
      "vwap": 14.3639,
      "vwap_slope": 0.0343,
      "rvol": 1.68,
      "volume_acceleration": 2.99,
      "premarket_volume": 840231.0,
      "momentum_pct": 0.42,
      "consolidation_tightness_pct": 0.49,
      "distance_from_pm_high_pct": 0.0,
      "extension_from_vwap_pct": 0.36,
      "spread_pct": 0.07
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 14.415,
    "pm_low": 14.3
  },
  {
    "symbol": "COMP",
    "total_score": 72.66,
    "raw_score": 77.01,
    "breakdown": {
      "price_quality": 3.86,
      "volume_quality": 12.0,
      "rvol": 9.58,
      "volume_acceleration": 2.84,
      "price_momentum": 0.07,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.93,
      "spread_liquidity": 4.7,
      "momentum_consistency": 2.03,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.1401,
      "vwap": 11.107,
      "vwap_slope": 0.0053,
      "rvol": 3.59,
      "volume_acceleration": 1.28,
      "premarket_volume": 1796166.0,
      "momentum_pct": 0.05,
      "consolidation_tightness_pct": 0.18,
      "distance_from_pm_high_pct": 0.09,
      "extension_from_vwap_pct": 0.3,
      "spread_pct": 0.09
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 11.15,
    "pm_low": 11.07
  },
  {
    "symbol": "ONDS",
    "total_score": 71.82,
    "raw_score": 76.13,
    "breakdown": {
      "price_quality": 2.62,
      "volume_quality": 12.0,
      "rvol": 12.0,
      "volume_acceleration": 9.95,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.75,
      "spread_liquidity": 4.56,
      "momentum_consistency": 2.85,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.615,
      "vwap": 7.5918,
      "vwap_slope": 0.0118,
      "rvol": 11.86,
      "volume_acceleration": 2.0,
      "premarket_volume": 5928243.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.26,
      "distance_from_pm_high_pct": 0.33,
      "extension_from_vwap_pct": 0.31,
      "spread_pct": 0.13
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 7.64,
    "pm_low": 7.56
  },
  {
    "symbol": "GPGI",
    "total_score": 71.33,
    "raw_score": 75.61,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 1.51,
      "volume_acceleration": 9.98,
      "price_momentum": 1.77,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.89,
      "spread_liquidity": 3.79,
      "momentum_consistency": 3.17,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.75,
      "vwap": 13.4973,
      "vwap_slope": 0.0567,
      "rvol": 0.63,
      "volume_acceleration": 2.0,
      "premarket_volume": 315484.0,
      "momentum_pct": 1.18,
      "consolidation_tightness_pct": 1.54,
      "distance_from_pm_high_pct": 0.15,
      "extension_from_vwap_pct": 1.87,
      "spread_pct": 0.36
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 13.77,
    "pm_low": 13.335
  },
  {
    "symbol": "F",
    "total_score": 71.32,
    "raw_score": 75.6,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 12.0,
      "volume_acceleration": 10,
      "price_momentum": 0.09,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.86,
      "spread_liquidity": 4.77,
      "momentum_consistency": 2.98,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.5833,
      "vwap": 14.5712,
      "vwap_slope": 0.0151,
      "rvol": 8.03,
      "volume_acceleration": 2.13,
      "premarket_volume": 4014409.0,
      "momentum_pct": 0.06,
      "consolidation_tightness_pct": 0.27,
      "distance_from_pm_high_pct": 0.18,
      "extension_from_vwap_pct": 0.08,
      "spread_pct": 0.07
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 14.61,
    "pm_low": 14.51
  },
  {
    "symbol": "CHPT",
    "total_score": 69.93,
    "raw_score": 74.13,
    "breakdown": {
      "price_quality": 4.9,
      "volume_quality": 12.0,
      "rvol": 3.03,
      "volume_acceleration": 2.37,
      "price_momentum": 1.38,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.77,
      "spread_liquidity": 3.99,
      "momentum_consistency": 4.69,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.9,
      "vwap": 9.7457,
      "vwap_slope": 0.031,
      "rvol": 1.26,
      "volume_acceleration": 0.68,
      "premarket_volume": 631190.0,
      "momentum_pct": 0.92,
      "consolidation_tightness_pct": 1.62,
      "distance_from_pm_high_pct": 0.3,
      "extension_from_vwap_pct": 1.58,
      "spread_pct": 0.3
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 9.93,
    "pm_low": 9.57
  },
  {
    "symbol": "MARA",
    "total_score": 69.43,
    "raw_score": 73.6,
    "breakdown": {
      "price_quality": 3.64,
      "volume_quality": 12.0,
      "rvol": 12.0,
      "volume_acceleration": 3.06,
      "price_momentum": 0.46,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.8,
      "spread_liquidity": 4.71,
      "momentum_consistency": 3.12,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.36,
      "vwap": 11.3477,
      "vwap_slope": -0.0036,
      "rvol": 10.21,
      "volume_acceleration": 0.88,
      "premarket_volume": 5107371.0,
      "momentum_pct": 0.31,
      "consolidation_tightness_pct": 0.53,
      "distance_from_pm_high_pct": 0.26,
      "extension_from_vwap_pct": 0.11,
      "spread_pct": 0.09
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 11.39,
    "pm_low": 11.27
  },
  {
    "symbol": "BTGO",
    "total_score": 69.24,
    "raw_score": 73.4,
    "breakdown": {
      "price_quality": 2.25,
      "volume_quality": 10.05,
      "rvol": 0.4,
      "volume_acceleration": 10,
      "price_momentum": 0.42,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 6,
      "spread_liquidity": 4.54,
      "momentum_consistency": 3.74,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.245,
      "vwap": 7.2117,
      "vwap_slope": 0.0033,
      "rvol": 0.17,
      "volume_acceleration": 2.8,
      "premarket_volume": 83750.0,
      "momentum_pct": 0.28,
      "consolidation_tightness_pct": 0.48,
      "distance_from_pm_high_pct": 0.0,
      "extension_from_vwap_pct": 0.46,
      "spread_pct": 0.14
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 7.245,
    "pm_low": 7.18
  },
  {
    "symbol": "JOBY",
    "total_score": 69.04,
    "raw_score": 73.18,
    "breakdown": {
      "price_quality": 1.8,
      "volume_quality": 12.0,
      "rvol": 12.0,
      "volume_acceleration": 7.65,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.78,
      "spread_liquidity": 4.51,
      "momentum_consistency": 3.03,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.8,
      "vwap": 6.7917,
      "vwap_slope": 0.0027,
      "rvol": 6.94,
      "volume_acceleration": 1.77,
      "premarket_volume": 3468476.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.44,
      "distance_from_pm_high_pct": 0.29,
      "extension_from_vwap_pct": 0.12,
      "spread_pct": 0.15
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 6.82,
    "pm_low": 6.76
  },
  {
    "symbol": "GSIT",
    "total_score": 69.03,
    "raw_score": 73.17,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 0.5,
      "volume_acceleration": 10,
      "price_momentum": 0.8,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.97,
      "spread_liquidity": 3.73,
      "momentum_consistency": 2.67,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.258,
      "vwap": 5.2137,
      "vwap_slope": 0.0055,
      "rvol": 0.21,
      "volume_acceleration": 4.1,
      "premarket_volume": 103729.0,
      "momentum_pct": 0.54,
      "consolidation_tightness_pct": 0.76,
      "distance_from_pm_high_pct": 0.04,
      "extension_from_vwap_pct": 0.85,
      "spread_pct": 0.38
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 5.26,
    "pm_low": 5.165
  },
  {
    "symbol": "RDW",
    "total_score": 68.98,
    "raw_score": 73.11,
    "breakdown": {
      "price_quality": 4.45,
      "volume_quality": 12.0,
      "rvol": 2.85,
      "volume_acceleration": 3.84,
      "price_momentum": 0.21,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.96,
      "spread_liquidity": 4.68,
      "momentum_consistency": 3.12,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.555,
      "vwap": 10.5235,
      "vwap_slope": 0.0038,
      "rvol": 1.19,
      "volume_acceleration": 1.1,
      "premarket_volume": 592973.0,
      "momentum_pct": 0.14,
      "consolidation_tightness_pct": 0.28,
      "distance_from_pm_high_pct": 0.05,
      "extension_from_vwap_pct": 0.3,
      "spread_pct": 0.09
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 10.56,
    "pm_low": 10.49
  },
  {
    "symbol": "PSKY",
    "total_score": 68.07,
    "raw_score": 72.15,
    "breakdown": {
      "price_quality": 4.15,
      "volume_quality": 12.0,
      "rvol": 4.43,
      "volume_acceleration": 2.18,
      "price_momentum": 0.35,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 6,
      "spread_liquidity": 4.69,
      "momentum_consistency": 2.34,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.85,
      "vwap": 10.7963,
      "vwap_slope": 0.0075,
      "rvol": 1.66,
      "volume_acceleration": 1.22,
      "premarket_volume": 830896.0,
      "momentum_pct": 0.23,
      "consolidation_tightness_pct": 0.37,
      "distance_from_pm_high_pct": 0.0,
      "extension_from_vwap_pct": 0.5,
      "spread_pct": 0.09
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 10.85,
    "pm_low": 10.76
  },
  {
    "symbol": "RKT",
    "total_score": 65.79,
    "raw_score": 69.74,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 12.0,
      "volume_acceleration": 3.44,
      "price_momentum": 0.36,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.88,
      "spread_liquidity": 4.76,
      "momentum_consistency": 3.39,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.0182,
      "vwap": 13.9289,
      "vwap_slope": 0.0153,
      "rvol": 6.48,
      "volume_acceleration": 0.99,
      "premarket_volume": 3238551.0,
      "momentum_pct": 0.24,
      "consolidation_tightness_pct": 0.5,
      "distance_from_pm_high_pct": 0.16,
      "extension_from_vwap_pct": 0.64,
      "spread_pct": 0.07
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 14.04,
    "pm_low": 13.82
  },
  {
    "symbol": "ALOY",
    "total_score": 65.64,
    "raw_score": 69.58,
    "breakdown": {
      "price_quality": 4.91,
      "volume_quality": 10.53,
      "rvol": 0.42,
      "volume_acceleration": 4.17,
      "price_momentum": 0.44,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.99,
      "spread_liquidity": 4.01,
      "momentum_consistency": 3.11,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.0892,
      "vwap": 10.0621,
      "vwap_slope": 0.0021,
      "rvol": 0.18,
      "volume_acceleration": 1.42,
      "premarket_volume": 87760.0,
      "momentum_pct": 0.29,
      "consolidation_tightness_pct": 0.49,
      "distance_from_pm_high_pct": 0.01,
      "extension_from_vwap_pct": 0.27,
      "spread_pct": 0.3
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 10.09,
    "pm_low": 10.0408
  },
  {
    "symbol": "SOUN",
    "total_score": 65.58,
    "raw_score": 69.51,
    "breakdown": {
      "price_quality": 1.68,
      "volume_quality": 12.0,
      "rvol": 12.0,
      "volume_acceleration": 3.29,
      "price_momentum": 0.22,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.89,
      "spread_liquidity": 4.5,
      "momentum_consistency": 3.53,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.6801,
      "vwap": 6.6666,
      "vwap_slope": 0.0028,
      "rvol": 5.24,
      "volume_acceleration": 0.95,
      "premarket_volume": 2619166.0,
      "momentum_pct": 0.15,
      "consolidation_tightness_pct": 0.3,
      "distance_from_pm_high_pct": 0.15,
      "extension_from_vwap_pct": 0.2,
      "spread_pct": 0.15
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 6.69,
    "pm_low": 6.63
  },
  {
    "symbol": "SBET",
    "total_score": 65.47,
    "raw_score": 69.4,
    "breakdown": {
      "price_quality": 3.61,
      "volume_quality": 12.0,
      "rvol": 1.99,
      "volume_acceleration": 8.64,
      "price_momentum": 0.52,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 6,
      "spread_liquidity": 4.61,
      "momentum_consistency": 3.23,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.61,
      "vwap": 8.5837,
      "vwap_slope": -0.0065,
      "rvol": 0.83,
      "volume_acceleration": 1.86,
      "premarket_volume": 414414.0,
      "momentum_pct": 0.35,
      "consolidation_tightness_pct": 0.47,
      "distance_from_pm_high_pct": 0.0,
      "extension_from_vwap_pct": 0.31,
      "spread_pct": 0.12
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 8.61,
    "pm_low": 8.565
  },
  {
    "symbol": "ATEC",
    "total_score": 65.31,
    "raw_score": 69.23,
    "breakdown": {
      "price_quality": 4.45,
      "volume_quality": 12.0,
      "rvol": 0.7,
      "volume_acceleration": 2.21,
      "price_momentum": 0.32,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 6,
      "spread_liquidity": 4.65,
      "momentum_consistency": 2.91,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.445,
      "vwap": 9.3685,
      "vwap_slope": 0.0096,
      "rvol": 0.29,
      "volume_acceleration": 0.63,
      "premarket_volume": 146713.0,
      "momentum_pct": 0.21,
      "consolidation_tightness_pct": 0.27,
      "distance_from_pm_high_pct": 0.0,
      "extension_from_vwap_pct": 0.82,
      "spread_pct": 0.11
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 9.445,
    "pm_low": 9.275
  },
  {
    "symbol": "RIG",
    "total_score": 64.37,
    "raw_score": 68.23,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 12.0,
      "volume_acceleration": 3.04,
      "price_momentum": 0.11,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.86,
      "spread_liquidity": 4.43,
      "momentum_consistency": 2.9,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.8391,
      "vwap": 5.8326,
      "vwap_slope": 0.0003,
      "rvol": 6.64,
      "volume_acceleration": 0.87,
      "premarket_volume": 3320429.0,
      "momentum_pct": 0.07,
      "consolidation_tightness_pct": 0.17,
      "distance_from_pm_high_pct": 0.19,
      "extension_from_vwap_pct": 0.11,
      "spread_pct": 0.17
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 5.85,
    "pm_low": 5.81
  },
  {
    "symbol": "VSTM",
    "total_score": 64.36,
    "raw_score": 68.22,
    "breakdown": {
      "price_quality": 3.06,
      "volume_quality": 12.0,
      "rvol": 0.66,
      "volume_acceleration": 2.44,
      "price_momentum": 0.84,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.91,
      "spread_liquidity": 4.59,
      "momentum_consistency": 2.72,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.06,
      "vwap": 8.0148,
      "vwap_slope": 0.0023,
      "rvol": 0.28,
      "volume_acceleration": 0.7,
      "premarket_volume": 138086.0,
      "momentum_pct": 0.56,
      "consolidation_tightness_pct": 0.69,
      "distance_from_pm_high_pct": 0.12,
      "extension_from_vwap_pct": 0.56,
      "spread_pct": 0.12
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 8.07,
    "pm_low": 7.97
  },
  {
    "symbol": "SPT",
    "total_score": 64.19,
    "raw_score": 68.04,
    "breakdown": {
      "price_quality": 3.66,
      "volume_quality": 12.0,
      "rvol": 0.55,
      "volume_acceleration": 1.89,
      "price_momentum": 0.2,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.97,
      "spread_liquidity": 4.71,
      "momentum_consistency": 3.05,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.335,
      "vwap": 11.3098,
      "vwap_slope": 0.0049,
      "rvol": 0.23,
      "volume_acceleration": 1.19,
      "premarket_volume": 114963.0,
      "momentum_pct": 0.13,
      "consolidation_tightness_pct": 0.18,
      "distance_from_pm_high_pct": 0.04,
      "extension_from_vwap_pct": 0.22,
      "spread_pct": 0.09
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 11.34,
    "pm_low": 11.25
  },
  {
    "symbol": "SNAP",
    "total_score": 64.0,
    "raw_score": 67.84,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 12.0,
      "volume_acceleration": 2.58,
      "price_momentum": 0.04,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.81,
      "spread_liquidity": 4.39,
      "momentum_consistency": 3.12,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.4864,
      "vwap": 5.4776,
      "vwap_slope": 0.0005,
      "rvol": 4.63,
      "volume_acceleration": 0.74,
      "premarket_volume": 2314066.0,
      "momentum_pct": 0.03,
      "consolidation_tightness_pct": 0.18,
      "distance_from_pm_high_pct": 0.25,
      "extension_from_vwap_pct": 0.16,
      "spread_pct": 0.18
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 5.5,
    "pm_low": 5.46
  },
  {
    "symbol": "TRLV",
    "total_score": 63.77,
    "raw_score": 67.6,
    "breakdown": {
      "price_quality": 2.87,
      "volume_quality": 12.0,
      "rvol": 0.68,
      "volume_acceleration": 2.39,
      "price_momentum": 0.31,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.88,
      "spread_liquidity": 3.9,
      "momentum_consistency": 3.57,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.13,
      "vwap": 12.0786,
      "vwap_slope": 0.0162,
      "rvol": 0.29,
      "volume_acceleration": 1.24,
      "premarket_volume": 142632.0,
      "momentum_pct": 0.21,
      "consolidation_tightness_pct": 0.41,
      "distance_from_pm_high_pct": 0.16,
      "extension_from_vwap_pct": 0.43,
      "spread_pct": 0.33
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 12.15,
    "pm_low": 12.01
  },
  {
    "symbol": "LAND",
    "total_score": 63.72,
    "raw_score": 67.54,
    "breakdown": {
      "price_quality": 4.84,
      "volume_quality": 9.39,
      "rvol": 0.38,
      "volume_acceleration": 3.5,
      "price_momentum": 0.21,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 6,
      "spread_liquidity": 4.66,
      "momentum_consistency": 2.56,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.835,
      "vwap": 9.7799,
      "vwap_slope": 0.0138,
      "rvol": 0.16,
      "volume_acceleration": 1.01,
      "premarket_volume": 78276.0,
      "momentum_pct": 0.14,
      "consolidation_tightness_pct": 0.2,
      "distance_from_pm_high_pct": 0.0,
      "extension_from_vwap_pct": 0.56,
      "spread_pct": 0.1
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 9.835,
    "pm_low": 9.735
  },
  {
    "symbol": "PCG",
    "total_score": 63.26,
    "raw_score": 67.06,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 12.0,
      "volume_acceleration": 2.18,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.87,
      "spread_liquidity": 4.76,
      "momentum_consistency": 2.34,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.98,
      "vwap": 13.9651,
      "vwap_slope": 0.0045,
      "rvol": 6.37,
      "volume_acceleration": 0.63,
      "premarket_volume": 3187353.0,
      "momentum_pct": -0.04,
      "consolidation_tightness_pct": 0.18,
      "distance_from_pm_high_pct": 0.18,
      "extension_from_vwap_pct": 0.11,
      "spread_pct": 0.07
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 14.005,
    "pm_low": 13.91
  },
  {
    "symbol": "NOK",
    "total_score": 63.06,
    "raw_score": 66.85,
    "breakdown": {
      "price_quality": 4.98,
      "volume_quality": 12.0,
      "rvol": 8.83,
      "volume_acceleration": 2.17,
      "price_momentum": 0.07,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.96,
      "spread_liquidity": 4.67,
      "momentum_consistency": 1.76,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.015,
      "vwap": 10.0058,
      "vwap_slope": 0.0016,
      "rvol": 3.31,
      "volume_acceleration": 1.22,
      "premarket_volume": 1655777.0,
      "momentum_pct": 0.05,
      "consolidation_tightness_pct": 0.1,
      "distance_from_pm_high_pct": 0.05,
      "extension_from_vwap_pct": 0.09,
      "spread_pct": 0.1
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 10.02,
    "pm_low": 9.98
  },
  {
    "symbol": "PUMP",
    "total_score": 62.57,
    "raw_score": 66.33,
    "breakdown": {
      "price_quality": 3.62,
      "volume_quality": 12.0,
      "rvol": 0.9,
      "volume_acceleration": 10,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.87,
      "spread_liquidity": 4.41,
      "momentum_consistency": 3.12,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.38,
      "vwap": 11.3464,
      "vwap_slope": 0.0168,
      "rvol": 0.38,
      "volume_acceleration": 2.07,
      "premarket_volume": 188481.0,
      "momentum_pct": -0.04,
      "consolidation_tightness_pct": 0.18,
      "distance_from_pm_high_pct": 0.18,
      "extension_from_vwap_pct": 0.3,
      "spread_pct": 0.18
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 11.4,
    "pm_low": 11.25
  },
  {
    "symbol": "TAC",
    "total_score": 62.26,
    "raw_score": 65.99,
    "breakdown": {
      "price_quality": 3.05,
      "volume_quality": 9.61,
      "rvol": 0.38,
      "volume_acceleration": 2.12,
      "price_momentum": 0.31,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.97,
      "spread_liquidity": 4.72,
      "momentum_consistency": 3.83,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.945,
      "vwap": 11.8997,
      "vwap_slope": 0.0104,
      "rvol": 0.16,
      "volume_acceleration": 1.21,
      "premarket_volume": 80050.0,
      "momentum_pct": 0.21,
      "consolidation_tightness_pct": 0.25,
      "distance_from_pm_high_pct": 0.04,
      "extension_from_vwap_pct": 0.38,
      "spread_pct": 0.08
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 11.95,
    "pm_low": 11.87
  },
  {
    "symbol": "LZ",
    "total_score": 62.16,
    "raw_score": 65.89,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 3.14,
      "volume_acceleration": 10,
      "price_momentum": 0.48,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.82,
      "spread_liquidity": 4.47,
      "momentum_consistency": 2.08,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.285,
      "vwap": 6.2824,
      "vwap_slope": 0.0169,
      "rvol": 1.31,
      "volume_acceleration": 6.39,
      "premarket_volume": 654900.0,
      "momentum_pct": 0.32,
      "consolidation_tightness_pct": 0.56,
      "distance_from_pm_high_pct": 0.24,
      "extension_from_vwap_pct": 0.04,
      "spread_pct": 0.16
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 6.3,
    "pm_low": 6.195
  },
  {
    "symbol": "BETR",
    "total_score": 62.02,
    "raw_score": 65.74,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 0.66,
      "volume_acceleration": 3.92,
      "price_momentum": 0.41,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.44,
      "spread_liquidity": 1.57,
      "momentum_consistency": 4.24,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.56,
      "vwap": 14.4496,
      "vwap_slope": 0.0275,
      "rvol": 0.27,
      "volume_acceleration": 1.13,
      "premarket_volume": 136593.0,
      "momentum_pct": 0.28,
      "consolidation_tightness_pct": 1.1,
      "distance_from_pm_high_pct": 0.75,
      "extension_from_vwap_pct": 0.76,
      "spread_pct": 1.03
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 14.67,
    "pm_low": 14.0607
  },
  {
    "symbol": "FUBO",
    "total_score": 61.65,
    "raw_score": 65.34,
    "breakdown": {
      "price_quality": 3.65,
      "volume_quality": 9.22,
      "rvol": 0.37,
      "volume_acceleration": 2.15,
      "price_momentum": 0.14,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.41,
      "spread_liquidity": 4.41,
      "momentum_consistency": 4.0,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.3503,
      "vwap": 11.3292,
      "vwap_slope": 0.0023,
      "rvol": 0.15,
      "volume_acceleration": 0.62,
      "premarket_volume": 76824.0,
      "momentum_pct": 0.09,
      "consolidation_tightness_pct": 0.16,
      "distance_from_pm_high_pct": 0.78,
      "extension_from_vwap_pct": 0.19,
      "spread_pct": 0.18
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 11.44,
    "pm_low": 11.26
  },
  {
    "symbol": "RES",
    "total_score": 61.55,
    "raw_score": 65.24,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 0.59,
      "volume_acceleration": 2.02,
      "price_momentum": 0.23,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 6,
      "spread_liquidity": 4.48,
      "momentum_consistency": 2.42,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.455,
      "vwap": 6.4328,
      "vwap_slope": 0.004,
      "rvol": 0.24,
      "volume_acceleration": 0.58,
      "premarket_volume": 122047.0,
      "momentum_pct": 0.16,
      "consolidation_tightness_pct": 0.22,
      "distance_from_pm_high_pct": 0.0,
      "extension_from_vwap_pct": 0.35,
      "spread_pct": 0.15
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 6.455,
    "pm_low": 6.415
  },
  {
    "symbol": "FSK",
    "total_score": 61.46,
    "raw_score": 65.14,
    "breakdown": {
      "price_quality": 2.53,
      "volume_quality": 9.27,
      "rvol": 0.37,
      "volume_acceleration": 10,
      "price_momentum": 0.0,
      "price_structure": 12,
      "vwap_structure": 1.2,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.97,
      "spread_liquidity": 4.73,
      "momentum_consistency": 3.08,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.475,
      "vwap": 12.4753,
      "vwap_slope": 0.0002,
      "rvol": 0.15,
      "volume_acceleration": 2.28,
      "premarket_volume": 77234.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.07,
      "distance_from_pm_high_pct": 0.04,
      "extension_from_vwap_pct": -0.0,
      "spread_pct": 0.08
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": false,
      "vwap_rising": true
    },
    "pm_high": 12.48,
    "pm_low": 12.4601
  },
  {
    "symbol": "BTG",
    "total_score": 61.25,
    "raw_score": 64.93,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 10.66,
      "volume_acceleration": 1.08,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.8,
      "spread_liquidity": 4.41,
      "momentum_consistency": 3.09,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.605,
      "vwap": 5.6032,
      "vwap_slope": 0.0001,
      "rvol": 4.0,
      "volume_acceleration": 0.31,
      "premarket_volume": 1998066.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.18,
      "distance_from_pm_high_pct": 0.27,
      "extension_from_vwap_pct": 0.03,
      "spread_pct": 0.18
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 5.62,
    "pm_low": 5.59
  },
  {
    "symbol": "ACHR",
    "total_score": 60.98,
    "raw_score": 64.64,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 8.42,
      "volume_acceleration": 2.79,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.8,
      "spread_liquidity": 4.42,
      "momentum_consistency": 3.31,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.705,
      "vwap": 5.6932,
      "vwap_slope": 0.0036,
      "rvol": 3.16,
      "volume_acceleration": 0.8,
      "premarket_volume": 1579059.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.18,
      "distance_from_pm_high_pct": 0.26,
      "extension_from_vwap_pct": 0.21,
      "spread_pct": 0.18
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 5.72,
    "pm_low": 5.66
  },
  {
    "symbol": "SMR",
    "total_score": 60.83,
    "raw_score": 64.48,
    "breakdown": {
      "price_quality": 4.48,
      "volume_quality": 12.0,
      "rvol": 6.33,
      "volume_acceleration": 1.88,
      "price_momentum": 0.16,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.96,
      "spread_liquidity": 4.65,
      "momentum_consistency": 2.62,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.485,
      "vwap": 9.469,
      "vwap_slope": 0.0012,
      "rvol": 2.37,
      "volume_acceleration": 1.19,
      "premarket_volume": 1187365.0,
      "momentum_pct": 0.11,
      "consolidation_tightness_pct": 0.32,
      "distance_from_pm_high_pct": 0.05,
      "extension_from_vwap_pct": 0.17,
      "spread_pct": 0.11
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 9.49,
    "pm_low": 9.445
  },
  {
    "symbol": "ATAI",
    "total_score": 60.79,
    "raw_score": 64.44,
    "breakdown": {
      "price_quality": 2.39,
      "volume_quality": 12.0,
      "rvol": 8.09,
      "volume_acceleration": 1.96,
      "price_momentum": 0.1,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.95,
      "spread_liquidity": 4.55,
      "momentum_consistency": 2.98,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.395,
      "vwap": 7.3586,
      "vwap_slope": 0.0043,
      "rvol": 3.04,
      "volume_acceleration": 1.2,
      "premarket_volume": 1517690.0,
      "momentum_pct": 0.07,
      "consolidation_tightness_pct": 0.27,
      "distance_from_pm_high_pct": 0.07,
      "extension_from_vwap_pct": 0.49,
      "spread_pct": 0.14
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 7.4,
    "pm_low": 7.33
  },
  {
    "symbol": "SWIM",
    "total_score": 60.57,
    "raw_score": 64.2,
    "breakdown": {
      "price_quality": 2.07,
      "volume_quality": 12.0,
      "rvol": 0.62,
      "volume_acceleration": 10,
      "price_momentum": 0.21,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.89,
      "spread_liquidity": 4.53,
      "momentum_consistency": 2.48,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.07,
      "vwap": 7.0513,
      "vwap_slope": 0.001,
      "rvol": 0.26,
      "volume_acceleration": 2.45,
      "premarket_volume": 129674.0,
      "momentum_pct": 0.14,
      "consolidation_tightness_pct": 0.5,
      "distance_from_pm_high_pct": 0.14,
      "extension_from_vwap_pct": 0.27,
      "spread_pct": 0.14
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 7.08,
    "pm_low": 7.03
  },
  {
    "symbol": "QXO",
    "total_score": 60.54,
    "raw_score": 64.18,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 6.96,
      "volume_acceleration": 2.9,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.72,
      "spread_liquidity": 4.75,
      "momentum_consistency": 3.93,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.575,
      "vwap": 13.5189,
      "vwap_slope": 0.0215,
      "rvol": 2.61,
      "volume_acceleration": 1.29,
      "premarket_volume": 1305556.0,
      "momentum_pct": -0.22,
      "consolidation_tightness_pct": 0.51,
      "distance_from_pm_high_pct": 0.37,
      "extension_from_vwap_pct": 0.42,
      "spread_pct": 0.07
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 13.625,
    "pm_low": 13.44
  },
  {
    "symbol": "SVV",
    "total_score": 60.47,
    "raw_score": 64.1,
    "breakdown": {
      "price_quality": 4.51,
      "volume_quality": 6.8,
      "rvol": 0.27,
      "volume_acceleration": 2.18,
      "price_momentum": 0.29,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 6,
      "spread_liquidity": 4.68,
      "momentum_consistency": 3.37,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.495,
      "vwap": 10.4723,
      "vwap_slope": 0.0012,
      "rvol": 0.11,
      "volume_acceleration": 0.63,
      "premarket_volume": 56664.0,
      "momentum_pct": 0.19,
      "consolidation_tightness_pct": 0.19,
      "distance_from_pm_high_pct": 0.0,
      "extension_from_vwap_pct": 0.22,
      "spread_pct": 0.1
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 10.495,
    "pm_low": 10.45
  },
  {
    "symbol": "RGC",
    "total_score": 60.3,
    "raw_score": 63.92,
    "breakdown": {
      "price_quality": 2.42,
      "volume_quality": 12.0,
      "rvol": 0.55,
      "volume_acceleration": 2.2,
      "price_momentum": 1.69,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 7.84,
      "distance_from_pm_high": 5.23,
      "spread_liquidity": 0.07,
      "momentum_consistency": 3.91,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.4228,
      "vwap": 7.3186,
      "vwap_slope": 0.0075,
      "rvol": 0.23,
      "volume_acceleration": 0.63,
      "premarket_volume": 115353.0,
      "momentum_pct": 1.13,
      "consolidation_tightness_pct": 3.24,
      "distance_from_pm_high_pct": 1.03,
      "extension_from_vwap_pct": 1.42,
      "spread_pct": 1.48
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 7.5,
    "pm_low": 7.1
  },
  {
    "symbol": "WSE",
    "total_score": 60.22,
    "raw_score": 63.83,
    "breakdown": {
      "price_quality": 2.22,
      "volume_quality": 8.8,
      "rvol": 0.35,
      "volume_acceleration": 2.2,
      "price_momentum": 0.24,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 6,
      "spread_liquidity": 4.74,
      "momentum_consistency": 3.28,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.775,
      "vwap": 12.7452,
      "vwap_slope": 0.004,
      "rvol": 0.15,
      "volume_acceleration": 0.63,
      "premarket_volume": 73300.0,
      "momentum_pct": 0.16,
      "consolidation_tightness_pct": 0.2,
      "distance_from_pm_high_pct": 0.0,
      "extension_from_vwap_pct": 0.23,
      "spread_pct": 0.08
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 12.775,
    "pm_low": 12.72
  },
  {
    "symbol": "XRAY",
    "total_score": 60.05,
    "raw_score": 63.65,
    "breakdown": {
      "price_quality": 3.62,
      "volume_quality": 12.0,
      "rvol": 1.43,
      "volume_acceleration": 8.28,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.84,
      "spread_liquidity": 4.71,
      "momentum_consistency": 1.38,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.385,
      "vwap": 11.3835,
      "vwap_slope": 0.0001,
      "rvol": 0.6,
      "volume_acceleration": 1.83,
      "premarket_volume": 298599.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.13,
      "distance_from_pm_high_pct": 0.22,
      "extension_from_vwap_pct": 0.01,
      "spread_pct": 0.09
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 11.41,
    "pm_low": 11.35
  },
  {
    "symbol": "NEOG",
    "total_score": 60.0,
    "raw_score": 63.61,
    "breakdown": {
      "price_quality": 3.19,
      "volume_quality": 9.38,
      "rvol": 0.38,
      "volume_acceleration": 9.77,
      "price_momentum": 0.38,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.97,
      "spread_liquidity": 4.72,
      "momentum_consistency": 3.43,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.815,
      "vwap": 11.7685,
      "vwap_slope": 0.0224,
      "rvol": 0.16,
      "volume_acceleration": 1.98,
      "premarket_volume": 78152.0,
      "momentum_pct": 0.25,
      "consolidation_tightness_pct": 0.47,
      "distance_from_pm_high_pct": 0.04,
      "extension_from_vwap_pct": 0.4,
      "spread_pct": 0.08
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 11.82,
    "pm_low": 11.731
  },
  {
    "symbol": "HELP",
    "total_score": 59.84,
    "raw_score": 63.43,
    "breakdown": {
      "price_quality": 2.95,
      "volume_quality": 10.98,
      "rvol": 0.44,
      "volume_acceleration": 10,
      "price_momentum": 0.44,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.82,
      "spread_liquidity": 4.17,
      "momentum_consistency": 2.24,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.05,
      "vwap": 12.0138,
      "vwap_slope": 0.0037,
      "rvol": 0.18,
      "volume_acceleration": 2.56,
      "premarket_volume": 91485.0,
      "momentum_pct": 0.29,
      "consolidation_tightness_pct": 0.42,
      "distance_from_pm_high_pct": 0.24,
      "extension_from_vwap_pct": 0.3,
      "spread_pct": 0.25
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 12.079,
    "pm_low": 11.95
  },
  {
    "symbol": "STLA",
    "total_score": 59.78,
    "raw_score": 63.37,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 5.82,
      "volume_acceleration": 4.67,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.87,
      "spread_liquidity": 4.4,
      "momentum_consistency": 2.71,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.56,
      "vwap": 5.5506,
      "vwap_slope": 0.0066,
      "rvol": 2.18,
      "volume_acceleration": 1.47,
      "premarket_volume": 1091928.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.18,
      "distance_from_pm_high_pct": 0.18,
      "extension_from_vwap_pct": 0.17,
      "spread_pct": 0.18
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 5.57,
    "pm_low": 5.53
  },
  {
    "symbol": "NMAX",
    "total_score": 59.63,
    "raw_score": 63.21,
    "breakdown": {
      "price_quality": 4.22,
      "volume_quality": 4.73,
      "rvol": 0.19,
      "volume_acceleration": 3.69,
      "price_momentum": 0.28,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.97,
      "spread_liquidity": 4.38,
      "momentum_consistency": 3.76,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.78,
      "vwap": 10.7396,
      "vwap_slope": 0.0075,
      "rvol": 0.08,
      "volume_acceleration": 1.37,
      "premarket_volume": 39380.0,
      "momentum_pct": 0.19,
      "consolidation_tightness_pct": 0.42,
      "distance_from_pm_high_pct": 0.05,
      "extension_from_vwap_pct": 0.38,
      "spread_pct": 0.19
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 10.785,
    "pm_low": 10.72
  },
  {
    "symbol": "BHC",
    "total_score": 59.62,
    "raw_score": 63.2,
    "breakdown": {
      "price_quality": 1.57,
      "volume_quality": 12.0,
      "rvol": 0.49,
      "volume_acceleration": 10,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.89,
      "spread_liquidity": 4.49,
      "momentum_consistency": 2.36,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.57,
      "vwap": 6.5666,
      "vwap_slope": 0.0006,
      "rvol": 0.2,
      "volume_acceleration": 2.21,
      "premarket_volume": 101070.0,
      "momentum_pct": -0.08,
      "consolidation_tightness_pct": 0.14,
      "distance_from_pm_high_pct": 0.15,
      "extension_from_vwap_pct": 0.05,
      "spread_pct": 0.15
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 6.5799,
    "pm_low": 6.555
  },
  {
    "symbol": "FPI",
    "total_score": 59.19,
    "raw_score": 62.74,
    "breakdown": {
      "price_quality": 4.31,
      "volume_quality": 8.44,
      "rvol": 0.34,
      "volume_acceleration": 10,
      "price_momentum": 0.42,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.89,
      "spread_liquidity": 4.69,
      "momentum_consistency": 2.24,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.685,
      "vwap": 10.6715,
      "vwap_slope": 0.016,
      "rvol": 0.14,
      "volume_acceleration": 2.73,
      "premarket_volume": 70346.0,
      "momentum_pct": 0.28,
      "consolidation_tightness_pct": 0.42,
      "distance_from_pm_high_pct": 0.14,
      "extension_from_vwap_pct": 0.13,
      "spread_pct": 0.09
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 10.7,
    "pm_low": 10.645
  },
  {
    "symbol": "GLAS",
    "total_score": 59.01,
    "raw_score": 62.56,
    "breakdown": {
      "price_quality": 4.04,
      "volume_quality": 11.47,
      "rvol": 0.46,
      "volume_acceleration": 5.86,
      "price_momentum": 0.67,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 6,
      "spread_liquidity": 4.26,
      "momentum_consistency": 3.4,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.04,
      "vwap": 8.9416,
      "vwap_slope": 0.0308,
      "rvol": 0.19,
      "volume_acceleration": 1.59,
      "premarket_volume": 95584.0,
      "momentum_pct": 0.44,
      "consolidation_tightness_pct": 0.44,
      "distance_from_pm_high_pct": 0.0,
      "extension_from_vwap_pct": 1.1,
      "spread_pct": 0.22
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 9.04,
    "pm_low": 8.8419
  },
  {
    "symbol": "HNST",
    "total_score": 58.85,
    "raw_score": 62.38,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 1.07,
      "volume_acceleration": 8.74,
      "price_momentum": 0.15,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.82,
      "spread_liquidity": 4.44,
      "momentum_consistency": 2.25,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.961,
      "vwap": 5.9528,
      "vwap_slope": 0.0007,
      "rvol": 0.45,
      "volume_acceleration": 1.87,
      "premarket_volume": 222841.0,
      "momentum_pct": 0.1,
      "consolidation_tightness_pct": 0.34,
      "distance_from_pm_high_pct": 0.23,
      "extension_from_vwap_pct": 0.14,
      "spread_pct": 0.17
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 5.975,
    "pm_low": 5.93
  },
  {
    "symbol": "OWL",
    "total_score": 58.77,
    "raw_score": 62.3,
    "breakdown": {
      "price_quality": 3.28,
      "volume_quality": 12.0,
      "rvol": 12.0,
      "volume_acceleration": 10,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.55,
      "spread_liquidity": 4.72,
      "momentum_consistency": 2.34,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.72,
      "vwap": 11.7482,
      "vwap_slope": -0.0026,
      "rvol": 7.41,
      "volume_acceleration": 2.7,
      "premarket_volume": 3705198.0,
      "momentum_pct": -0.04,
      "consolidation_tightness_pct": 0.17,
      "distance_from_pm_high_pct": 0.59,
      "extension_from_vwap_pct": -0.24,
      "spread_pct": 0.09
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 11.79,
    "pm_low": 11.71
  },
  {
    "symbol": "SECZ",
    "total_score": 58.7,
    "raw_score": 62.22,
    "breakdown": {
      "price_quality": 2.46,
      "volume_quality": 12.0,
      "rvol": 0.72,
      "volume_acceleration": 8.1,
      "price_momentum": 0.1,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.85,
      "spread_liquidity": 4.11,
      "momentum_consistency": 2.48,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.465,
      "vwap": 7.4423,
      "vwap_slope": 0.0005,
      "rvol": 0.3,
      "volume_acceleration": 1.81,
      "premarket_volume": 150099.0,
      "momentum_pct": 0.07,
      "consolidation_tightness_pct": 0.4,
      "distance_from_pm_high_pct": 0.2,
      "extension_from_vwap_pct": 0.3,
      "spread_pct": 0.27
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 7.48,
    "pm_low": 7.4
  },
  {
    "symbol": "GTN",
    "total_score": 58.65,
    "raw_score": 62.17,
    "breakdown": {
      "price_quality": 0.0,
      "volume_quality": 8.73,
      "rvol": 0.35,
      "volume_acceleration": 3.83,
      "price_momentum": 0.15,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 6,
      "spread_liquidity": 4.32,
      "momentum_consistency": 2.79,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 4.93,
      "vwap": 4.9158,
      "vwap_slope": 0.0015,
      "rvol": 0.15,
      "volume_acceleration": 1.1,
      "premarket_volume": 72772.0,
      "momentum_pct": 0.1,
      "consolidation_tightness_pct": 0.2,
      "distance_from_pm_high_pct": 0.0,
      "extension_from_vwap_pct": 0.29,
      "spread_pct": 0.2
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 4.93,
    "pm_low": 4.905
  },
  {
    "symbol": "GPK",
    "total_score": 58.46,
    "raw_score": 61.97,
    "breakdown": {
      "price_quality": 4.44,
      "volume_quality": 12.0,
      "rvol": 2.14,
      "volume_acceleration": 3.99,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.89,
      "spread_liquidity": 4.68,
      "momentum_consistency": 2.43,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.565,
      "vwap": 10.5442,
      "vwap_slope": 0.0105,
      "rvol": 0.89,
      "volume_acceleration": 1.15,
      "premarket_volume": 446644.0,
      "momentum_pct": -0.09,
      "consolidation_tightness_pct": 0.14,
      "distance_from_pm_high_pct": 0.14,
      "extension_from_vwap_pct": 0.2,
      "spread_pct": 0.09
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 10.58,
    "pm_low": 10.455
  },
  {
    "symbol": "RUN",
    "total_score": 58.21,
    "raw_score": 61.71,
    "breakdown": {
      "price_quality": 3.82,
      "volume_quality": 12.0,
      "rvol": 1.57,
      "volume_acceleration": 4.32,
      "price_momentum": 0.34,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.79,
      "spread_liquidity": 4.62,
      "momentum_consistency": 2.85,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.825,
      "vwap": 8.8206,
      "vwap_slope": 0.0001,
      "rvol": 0.65,
      "volume_acceleration": 1.43,
      "premarket_volume": 326902.0,
      "momentum_pct": 0.23,
      "consolidation_tightness_pct": 0.57,
      "distance_from_pm_high_pct": 0.28,
      "extension_from_vwap_pct": 0.05,
      "spread_pct": 0.11
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 8.85,
    "pm_low": 8.8
  },
  {
    "symbol": "SHLS",
    "total_score": 58.15,
    "raw_score": 61.63,
    "breakdown": {
      "price_quality": 2.14,
      "volume_quality": 12.0,
      "rvol": 1.87,
      "volume_acceleration": 5.58,
      "price_momentum": 0.32,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.95,
      "spread_liquidity": 4.53,
      "momentum_consistency": 2.85,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.14,
      "vwap": 7.1128,
      "vwap_slope": 0.0017,
      "rvol": 0.78,
      "volume_acceleration": 1.56,
      "premarket_volume": 389216.0,
      "momentum_pct": 0.21,
      "consolidation_tightness_pct": 0.49,
      "distance_from_pm_high_pct": 0.07,
      "extension_from_vwap_pct": 0.38,
      "spread_pct": 0.14
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 7.145,
    "pm_low": 7.075
  },
  {
    "symbol": "USDE",
    "total_score": 57.89,
    "raw_score": 61.36,
    "breakdown": {
      "price_quality": 2.79,
      "volume_quality": 12.0,
      "rvol": 0.76,
      "volume_acceleration": 9.6,
      "price_momentum": 1.26,
      "price_structure": 12,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.05,
      "spread_liquidity": 4.57,
      "momentum_consistency": 3.32,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.79,
      "vwap": 7.8005,
      "vwap_slope": -0.0072,
      "rvol": 0.32,
      "volume_acceleration": 1.96,
      "premarket_volume": 158271.0,
      "momentum_pct": 0.84,
      "consolidation_tightness_pct": 0.9,
      "distance_from_pm_high_pct": 1.27,
      "extension_from_vwap_pct": -0.14,
      "spread_pct": 0.13
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 7.89,
    "pm_low": 7.72
  },
  {
    "symbol": "WEN",
    "total_score": 57.77,
    "raw_score": 61.23,
    "breakdown": {
      "price_quality": 3.12,
      "volume_quality": 12.0,
      "rvol": 2.61,
      "volume_acceleration": 3.15,
      "price_momentum": 0.28,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 6,
      "spread_liquidity": 4.59,
      "momentum_consistency": 3.09,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.12,
      "vwap": 8.0949,
      "vwap_slope": 0.0039,
      "rvol": 1.09,
      "volume_acceleration": 0.91,
      "premarket_volume": 544369.0,
      "momentum_pct": 0.18,
      "consolidation_tightness_pct": 0.22,
      "distance_from_pm_high_pct": 0.0,
      "extension_from_vwap_pct": 0.31,
      "spread_pct": 0.12
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 8.12,
    "pm_low": 8.08
  },
  {
    "symbol": "RCAT",
    "total_score": 57.15,
    "raw_score": 60.58,
    "breakdown": {
      "price_quality": 3.4,
      "volume_quality": 12.0,
      "rvol": 1.51,
      "volume_acceleration": 4.07,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.78,
      "spread_liquidity": 4.6,
      "momentum_consistency": 2.81,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.405,
      "vwap": 8.3998,
      "vwap_slope": 0.005,
      "rvol": 0.63,
      "volume_acceleration": 1.41,
      "premarket_volume": 314881.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.3,
      "distance_from_pm_high_pct": 0.3,
      "extension_from_vwap_pct": 0.06,
      "spread_pct": 0.12
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 8.43,
    "pm_low": 8.375
  },
  {
    "symbol": "NAVI",
    "total_score": 56.95,
    "raw_score": 60.37,
    "breakdown": {
      "price_quality": 4.82,
      "volume_quality": 12.0,
      "rvol": 0.99,
      "volume_acceleration": 3.17,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.81,
      "spread_liquidity": 4.66,
      "momentum_consistency": 2.51,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.825,
      "vwap": 9.8039,
      "vwap_slope": 0.0059,
      "rvol": 0.41,
      "volume_acceleration": 0.91,
      "premarket_volume": 206682.0,
      "momentum_pct": -0.05,
      "consolidation_tightness_pct": 0.1,
      "distance_from_pm_high_pct": 0.25,
      "extension_from_vwap_pct": 0.22,
      "spread_pct": 0.1
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 9.85,
    "pm_low": 9.71
  },
  {
    "symbol": "PSQL",
    "total_score": 56.93,
    "raw_score": 60.34,
    "breakdown": {
      "price_quality": 3.26,
      "volume_quality": 6.18,
      "rvol": 0.25,
      "volume_acceleration": 3.03,
      "price_momentum": 0.64,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 4.88,
      "spread_liquidity": 3.38,
      "momentum_consistency": 2.72,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.255,
      "vwap": 8.1898,
      "vwap_slope": 0.0119,
      "rvol": 0.1,
      "volume_acceleration": 0.87,
      "premarket_volume": 51516.0,
      "momentum_pct": 0.43,
      "consolidation_tightness_pct": 0.61,
      "distance_from_pm_high_pct": 1.49,
      "extension_from_vwap_pct": 0.8,
      "spread_pct": 0.48
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 8.3796,
    "pm_low": 8.1
  },
  {
    "symbol": "STUB",
    "total_score": 56.87,
    "raw_score": 60.28,
    "breakdown": {
      "price_quality": 1.59,
      "volume_quality": 12.0,
      "rvol": 3.05,
      "volume_acceleration": 4.89,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.55,
      "spread_liquidity": 4.49,
      "momentum_consistency": 2.31,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.595,
      "vwap": 6.5668,
      "vwap_slope": 0.0042,
      "rvol": 1.27,
      "volume_acceleration": 1.49,
      "premarket_volume": 635414.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.15,
      "distance_from_pm_high_pct": 0.6,
      "extension_from_vwap_pct": 0.43,
      "spread_pct": 0.15
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 6.635,
    "pm_low": 6.51
  },
  {
    "symbol": "SGHC",
    "total_score": 56.82,
    "raw_score": 60.23,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 0.63,
      "volume_acceleration": 6.27,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.89,
      "spread_liquidity": 4.76,
      "momentum_consistency": 2.78,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.975,
      "vwap": 13.9428,
      "vwap_slope": 0.0123,
      "rvol": 0.26,
      "volume_acceleration": 1.63,
      "premarket_volume": 130533.0,
      "momentum_pct": -0.04,
      "consolidation_tightness_pct": 0.29,
      "distance_from_pm_high_pct": 0.14,
      "extension_from_vwap_pct": 0.23,
      "spread_pct": 0.07
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 13.995,
    "pm_low": 13.9
  },
  {
    "symbol": "YSS",
    "total_score": 56.42,
    "raw_score": 59.81,
    "breakdown": {
      "price_quality": 3.8,
      "volume_quality": 12.0,
      "rvol": 0.78,
      "volume_acceleration": 3.79,
      "price_momentum": 0.26,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.91,
      "spread_liquidity": 4.62,
      "momentum_consistency": 2.25,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.8,
      "vwap": 8.7755,
      "vwap_slope": 0.0027,
      "rvol": 0.33,
      "volume_acceleration": 1.09,
      "premarket_volume": 162648.0,
      "momentum_pct": 0.17,
      "consolidation_tightness_pct": 0.28,
      "distance_from_pm_high_pct": 0.11,
      "extension_from_vwap_pct": 0.28,
      "spread_pct": 0.11
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 8.81,
    "pm_low": 8.745
  },
  {
    "symbol": "CRMD",
    "total_score": 56.11,
    "raw_score": 59.47,
    "breakdown": {
      "price_quality": 3.56,
      "volume_quality": 12.0,
      "rvol": 0.75,
      "volume_acceleration": 3.44,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.65,
      "spread_liquidity": 4.61,
      "momentum_consistency": 3.05,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.565,
      "vwap": 8.5492,
      "vwap_slope": 0.0056,
      "rvol": 0.31,
      "volume_acceleration": 0.99,
      "premarket_volume": 156733.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.12,
      "distance_from_pm_high_pct": 0.46,
      "extension_from_vwap_pct": 0.18,
      "spread_pct": 0.12
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 8.605,
    "pm_low": 8.47
  },
  {
    "symbol": "BRBR",
    "total_score": 56.04,
    "raw_score": 59.4,
    "breakdown": {
      "price_quality": 4.56,
      "volume_quality": 12.0,
      "rvol": 1.13,
      "volume_acceleration": 1.86,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.75,
      "spread_liquidity": 4.68,
      "momentum_consistency": 3.02,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.435,
      "vwap": 10.42,
      "vwap_slope": 0.0018,
      "rvol": 0.47,
      "volume_acceleration": 0.53,
      "premarket_volume": 235335.0,
      "momentum_pct": -0.1,
      "consolidation_tightness_pct": 0.24,
      "distance_from_pm_high_pct": 0.33,
      "extension_from_vwap_pct": 0.14,
      "spread_pct": 0.1
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 10.47,
    "pm_low": 10.375
  },
  {
    "symbol": "HAFN",
    "total_score": 55.73,
    "raw_score": 59.07,
    "breakdown": {
      "price_quality": 4.2,
      "volume_quality": 12.0,
      "rvol": 1.36,
      "volume_acceleration": 1.85,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.96,
      "spread_liquidity": 4.64,
      "momentum_consistency": 2.67,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.195,
      "vwap": 9.1716,
      "vwap_slope": 0.0039,
      "rvol": 0.57,
      "volume_acceleration": 0.53,
      "premarket_volume": 284352.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.19,
      "distance_from_pm_high_pct": 0.05,
      "extension_from_vwap_pct": 0.26,
      "spread_pct": 0.11
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 9.2,
    "pm_low": 9.15
  },
  {
    "symbol": "COUR",
    "total_score": 55.63,
    "raw_score": 58.97,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 2.42,
      "volume_acceleration": 3.73,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.87,
      "spread_liquidity": 4.43,
      "momentum_consistency": 2.62,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.84,
      "vwap": 5.8338,
      "vwap_slope": 0.0009,
      "rvol": 1.01,
      "volume_acceleration": 1.37,
      "premarket_volume": 503712.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.24,
      "distance_from_pm_high_pct": 0.17,
      "extension_from_vwap_pct": 0.11,
      "spread_pct": 0.17
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 5.85,
    "pm_low": 5.815
  },
  {
    "symbol": "FRSH",
    "total_score": 55.42,
    "raw_score": 58.75,
    "breakdown": {
      "price_quality": 2.25,
      "volume_quality": 12.0,
      "rvol": 1.51,
      "volume_acceleration": 2.9,
      "price_momentum": 0.06,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.91,
      "spread_liquidity": 4.74,
      "momentum_consistency": 2.98,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.75,
      "vwap": 12.7412,
      "vwap_slope": 0.0017,
      "rvol": 0.63,
      "volume_acceleration": 0.83,
      "premarket_volume": 314615.0,
      "momentum_pct": 0.04,
      "consolidation_tightness_pct": 0.12,
      "distance_from_pm_high_pct": 0.12,
      "extension_from_vwap_pct": 0.07,
      "spread_pct": 0.08
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 12.765,
    "pm_low": 12.72
  },
  {
    "symbol": "NTSK",
    "total_score": 55.31,
    "raw_score": 58.62,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 2.07,
      "volume_acceleration": 2.91,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.87,
      "spread_liquidity": 4.76,
      "momentum_consistency": 3.12,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.895,
      "vwap": 13.8441,
      "vwap_slope": 0.0137,
      "rvol": 0.86,
      "volume_acceleration": 0.84,
      "premarket_volume": 431503.0,
      "momentum_pct": -0.07,
      "consolidation_tightness_pct": 0.19,
      "distance_from_pm_high_pct": 0.18,
      "extension_from_vwap_pct": 0.37,
      "spread_pct": 0.07
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 13.92,
    "pm_low": 13.77
  },
  {
    "symbol": "PRGO",
    "total_score": 55.16,
    "raw_score": 58.47,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 1.66,
      "volume_acceleration": 3.37,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.7,
      "spread_liquidity": 4.55,
      "momentum_consistency": 3.29,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.87,
      "vwap": 14.8384,
      "vwap_slope": 0.0092,
      "rvol": 0.69,
      "volume_acceleration": 0.97,
      "premarket_volume": 346502.0,
      "momentum_pct": -0.03,
      "consolidation_tightness_pct": 0.17,
      "distance_from_pm_high_pct": 0.4,
      "extension_from_vwap_pct": 0.21,
      "spread_pct": 0.13
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 14.93,
    "pm_low": 14.7
  },
  {
    "symbol": "VFC",
    "total_score": 55.15,
    "raw_score": 58.46,
    "breakdown": {
      "price_quality": 1.54,
      "volume_quality": 12.0,
      "rvol": 1.66,
      "volume_acceleration": 3.89,
      "price_momentum": 0.11,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.94,
      "spread_liquidity": 4.75,
      "momentum_consistency": 2.17,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.46,
      "vwap": 13.4274,
      "vwap_slope": 0.0077,
      "rvol": 0.69,
      "volume_acceleration": 1.12,
      "premarket_volume": 344887.0,
      "momentum_pct": 0.07,
      "consolidation_tightness_pct": 0.19,
      "distance_from_pm_high_pct": 0.07,
      "extension_from_vwap_pct": 0.24,
      "spread_pct": 0.07
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 13.47,
    "pm_low": 13.4
  },
  {
    "symbol": "TDOC",
    "total_score": 55.09,
    "raw_score": 58.4,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 1.45,
      "volume_acceleration": 3.98,
      "price_momentum": 0.12,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 6,
      "spread_liquidity": 4.47,
      "momentum_consistency": 2.47,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.305,
      "vwap": 6.2876,
      "vwap_slope": 0.0029,
      "rvol": 0.61,
      "volume_acceleration": 1.14,
      "premarket_volume": 302588.0,
      "momentum_pct": 0.08,
      "consolidation_tightness_pct": 0.08,
      "distance_from_pm_high_pct": 0.0,
      "extension_from_vwap_pct": 0.28,
      "spread_pct": 0.16
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 6.305,
    "pm_low": 6.27
  },
  {
    "symbol": "BFLY",
    "total_score": 55.08,
    "raw_score": 58.39,
    "breakdown": {
      "price_quality": 2.41,
      "volume_quality": 12.0,
      "rvol": 1.88,
      "volume_acceleration": 1.65,
      "price_momentum": 0.3,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.95,
      "spread_liquidity": 4.55,
      "momentum_consistency": 3.26,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.405,
      "vwap": 7.3808,
      "vwap_slope": 0.003,
      "rvol": 0.78,
      "volume_acceleration": 0.47,
      "premarket_volume": 390914.0,
      "momentum_pct": 0.2,
      "consolidation_tightness_pct": 0.27,
      "distance_from_pm_high_pct": 0.07,
      "extension_from_vwap_pct": 0.33,
      "spread_pct": 0.14
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 7.41,
    "pm_low": 7.335
  },
  {
    "symbol": "WLTH",
    "total_score": 55.0,
    "raw_score": 58.3,
    "breakdown": {
      "price_quality": 4.48,
      "volume_quality": 12.0,
      "rvol": 0.72,
      "volume_acceleration": 2.56,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.92,
      "spread_liquidity": 4.3,
      "momentum_consistency": 1.93,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.48,
      "vwap": 9.4481,
      "vwap_slope": 0.015,
      "rvol": 0.3,
      "volume_acceleration": 1.26,
      "premarket_volume": 149891.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.17,
      "distance_from_pm_high_pct": 0.11,
      "extension_from_vwap_pct": 0.34,
      "spread_pct": 0.21
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 9.49,
    "pm_low": 9.395
  },
  {
    "symbol": "AMPL",
    "total_score": 54.97,
    "raw_score": 58.27,
    "breakdown": {
      "price_quality": 1.94,
      "volume_quality": 12.0,
      "rvol": 0.65,
      "volume_acceleration": 4.08,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.89,
      "spread_liquidity": 4.74,
      "momentum_consistency": 2.57,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.065,
      "vwap": 13.0635,
      "vwap_slope": 0.0009,
      "rvol": 0.27,
      "volume_acceleration": 1.41,
      "premarket_volume": 135074.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.15,
      "distance_from_pm_high_pct": 0.15,
      "extension_from_vwap_pct": 0.01,
      "spread_pct": 0.08
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 13.085,
    "pm_low": 13.045
  },
  {
    "symbol": "LION",
    "total_score": 54.97,
    "raw_score": 58.27,
    "breakdown": {
      "price_quality": 3.88,
      "volume_quality": 12.0,
      "rvol": 0.59,
      "volume_acceleration": 2.77,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.97,
      "spread_liquidity": 4.7,
      "momentum_consistency": 1.96,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.115,
      "vwap": 11.1081,
      "vwap_slope": 0.0021,
      "rvol": 0.24,
      "volume_acceleration": 0.8,
      "premarket_volume": 122464.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.14,
      "distance_from_pm_high_pct": 0.04,
      "extension_from_vwap_pct": 0.06,
      "spread_pct": 0.09
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 11.12,
    "pm_low": 11.095
  },
  {
    "symbol": "AGNC",
    "total_score": 54.85,
    "raw_score": 58.14,
    "breakdown": {
      "price_quality": 4.31,
      "volume_quality": 12.0,
      "rvol": 5.92,
      "volume_acceleration": 2.83,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.89,
      "spread_liquidity": 4.69,
      "momentum_consistency": 2.9,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.685,
      "vwap": 10.6858,
      "vwap_slope": 0.0015,
      "rvol": 2.22,
      "volume_acceleration": 0.81,
      "premarket_volume": 1109332.0,
      "momentum_pct": -0.14,
      "consolidation_tightness_pct": 0.14,
      "distance_from_pm_high_pct": 0.14,
      "extension_from_vwap_pct": -0.01,
      "spread_pct": 0.09
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": true
    },
    "pm_high": 10.7,
    "pm_low": 10.67
  },
  {
    "symbol": "CXM",
    "total_score": 54.73,
    "raw_score": 58.02,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 2.73,
      "volume_acceleration": 10,
      "price_momentum": 0.25,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.69,
      "spread_liquidity": 4.44,
      "momentum_consistency": 2.21,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.945,
      "vwap": 5.9314,
      "vwap_slope": -0.0043,
      "rvol": 1.14,
      "volume_acceleration": 2.78,
      "premarket_volume": 569626.0,
      "momentum_pct": 0.17,
      "consolidation_tightness_pct": 0.17,
      "distance_from_pm_high_pct": 0.42,
      "extension_from_vwap_pct": 0.23,
      "spread_pct": 0.17
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 5.97,
    "pm_low": 5.9
  },
  {
    "symbol": "VISN",
    "total_score": 54.7,
    "raw_score": 57.99,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 2.12,
      "volume_acceleration": 2.83,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.94,
      "spread_liquidity": 4.48,
      "momentum_consistency": 2.71,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.395,
      "vwap": 6.3784,
      "vwap_slope": 0.0043,
      "rvol": 0.88,
      "volume_acceleration": 0.81,
      "premarket_volume": 441391.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.16,
      "distance_from_pm_high_pct": 0.08,
      "extension_from_vwap_pct": 0.26,
      "spread_pct": 0.16
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 6.4,
    "pm_low": 6.355
  },
  {
    "symbol": "ASLE",
    "total_score": 54.67,
    "raw_score": 57.95,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 2.96,
      "rvol": 0.12,
      "volume_acceleration": 4.07,
      "price_momentum": 0.39,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 6,
      "spread_liquidity": 4.42,
      "momentum_consistency": 2.48,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.745,
      "vwap": 5.7311,
      "vwap_slope": 0.0083,
      "rvol": 0.05,
      "volume_acceleration": 1.41,
      "premarket_volume": 24658.0,
      "momentum_pct": 0.26,
      "consolidation_tightness_pct": 0.26,
      "distance_from_pm_high_pct": 0.0,
      "extension_from_vwap_pct": 0.24,
      "spread_pct": 0.17
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 5.745,
    "pm_low": 5.705
  },
  {
    "symbol": "DXC",
    "total_score": 54.43,
    "raw_score": 57.7,
    "breakdown": {
      "price_quality": 3.25,
      "volume_quality": 12.0,
      "rvol": 0.48,
      "volume_acceleration": 3.18,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.84,
      "spread_liquidity": 4.72,
      "momentum_consistency": 1.83,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.75,
      "vwap": 11.7495,
      "vwap_slope": 0.0016,
      "rvol": 0.2,
      "volume_acceleration": 0.91,
      "premarket_volume": 100110.0,
      "momentum_pct": -0.04,
      "consolidation_tightness_pct": 0.21,
      "distance_from_pm_high_pct": 0.21,
      "extension_from_vwap_pct": 0.0,
      "spread_pct": 0.09
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 11.775,
    "pm_low": 11.71
  },
  {
    "symbol": "BV",
    "total_score": 54.41,
    "raw_score": 57.67,
    "breakdown": {
      "price_quality": 3.66,
      "volume_quality": 7.46,
      "rvol": 0.3,
      "volume_acceleration": 5.88,
      "price_momentum": 0.13,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.93,
      "spread_liquidity": 4.71,
      "momentum_consistency": 3.2,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.34,
      "vwap": 11.3246,
      "vwap_slope": 0.004,
      "rvol": 0.12,
      "volume_acceleration": 1.59,
      "premarket_volume": 62149.0,
      "momentum_pct": 0.09,
      "consolidation_tightness_pct": 0.18,
      "distance_from_pm_high_pct": 0.09,
      "extension_from_vwap_pct": 0.14,
      "spread_pct": 0.09
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 11.35,
    "pm_low": 11.3
  },
  {
    "symbol": "SLS",
    "total_score": 54.41,
    "raw_score": 57.67,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 1.43,
      "volume_acceleration": 2.71,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.81,
      "spread_liquidity": 4.52,
      "momentum_consistency": 3.31,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.91,
      "vwap": 13.8719,
      "vwap_slope": 0.0094,
      "rvol": 0.59,
      "volume_acceleration": 0.78,
      "premarket_volume": 297135.0,
      "momentum_pct": -0.11,
      "consolidation_tightness_pct": 0.32,
      "distance_from_pm_high_pct": 0.25,
      "extension_from_vwap_pct": 0.27,
      "spread_pct": 0.14
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 13.945,
    "pm_low": 13.825
  },
  {
    "symbol": "VERX",
    "total_score": 54.35,
    "raw_score": 57.61,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 0.56,
      "volume_acceleration": 3.42,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.84,
      "spread_liquidity": 4.76,
      "momentum_consistency": 3.14,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.805,
      "vwap": 13.7844,
      "vwap_slope": 0.0037,
      "rvol": 0.23,
      "volume_acceleration": 0.98,
      "premarket_volume": 117011.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.11,
      "distance_from_pm_high_pct": 0.22,
      "extension_from_vwap_pct": 0.15,
      "spread_pct": 0.07
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 13.835,
    "pm_low": 13.735
  },
  {
    "symbol": "RPD",
    "total_score": 54.3,
    "raw_score": 57.56,
    "breakdown": {
      "price_quality": 3.89,
      "volume_quality": 10.41,
      "rvol": 0.42,
      "volume_acceleration": 2.98,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.93,
      "spread_liquidity": 4.7,
      "momentum_consistency": 2.83,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.11,
      "vwap": 11.0729,
      "vwap_slope": 0.0042,
      "rvol": 0.17,
      "volume_acceleration": 0.86,
      "premarket_volume": 86751.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.09,
      "distance_from_pm_high_pct": 0.09,
      "extension_from_vwap_pct": 0.33,
      "spread_pct": 0.09
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 11.12,
    "pm_low": 11.02
  },
  {
    "symbol": "JKS",
    "total_score": 54.24,
    "raw_score": 57.49,
    "breakdown": {
      "price_quality": 2.95,
      "volume_quality": 12.0,
      "rvol": 0.54,
      "volume_acceleration": 2.59,
      "price_momentum": 0.19,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 6,
      "spread_liquidity": 4.45,
      "momentum_consistency": 2.38,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.05,
      "vwap": 12.0242,
      "vwap_slope": 0.0016,
      "rvol": 0.22,
      "volume_acceleration": 0.74,
      "premarket_volume": 111471.0,
      "momentum_pct": 0.12,
      "consolidation_tightness_pct": 0.12,
      "distance_from_pm_high_pct": 0.0,
      "extension_from_vwap_pct": 0.21,
      "spread_pct": 0.17
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 12.05,
    "pm_low": 12.0
  },
  {
    "symbol": "CRCT",
    "total_score": 54.02,
    "raw_score": 57.27,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 8.6,
      "rvol": 0.34,
      "volume_acceleration": 7.23,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.73,
      "spread_liquidity": 4.41,
      "momentum_consistency": 3.05,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.6,
      "vwap": 5.577,
      "vwap_slope": 0.0094,
      "rvol": 0.14,
      "volume_acceleration": 1.72,
      "premarket_volume": 71671.0,
      "momentum_pct": -0.09,
      "consolidation_tightness_pct": 0.36,
      "distance_from_pm_high_pct": 0.36,
      "extension_from_vwap_pct": 0.41,
      "spread_pct": 0.18
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 5.62,
    "pm_low": 5.54
  },
  {
    "symbol": "BRCB",
    "total_score": 54.0,
    "raw_score": 57.24,
    "breakdown": {
      "price_quality": 4.64,
      "volume_quality": 2.45,
      "rvol": 0.1,
      "volume_acceleration": 10,
      "price_momentum": 0.23,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.88,
      "spread_liquidity": 4.65,
      "momentum_consistency": 2.88,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.645,
      "vwap": 9.6372,
      "vwap_slope": 0.0002,
      "rvol": 0.04,
      "volume_acceleration": 3.95,
      "premarket_volume": 20399.0,
      "momentum_pct": 0.16,
      "consolidation_tightness_pct": 0.26,
      "distance_from_pm_high_pct": 0.16,
      "extension_from_vwap_pct": 0.08,
      "spread_pct": 0.1
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 9.66,
    "pm_low": 9.61
  },
  {
    "symbol": "VIPS",
    "total_score": 53.94,
    "raw_score": 57.18,
    "breakdown": {
      "price_quality": 1.75,
      "volume_quality": 12.0,
      "rvol": 1.36,
      "volume_acceleration": 2.45,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.97,
      "spread_liquidity": 4.75,
      "momentum_consistency": 2.51,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.25,
      "vwap": 13.2298,
      "vwap_slope": 0.0032,
      "rvol": 0.57,
      "volume_acceleration": 0.7,
      "premarket_volume": 282548.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.04,
      "distance_from_pm_high_pct": 0.04,
      "extension_from_vwap_pct": 0.15,
      "spread_pct": 0.08
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 13.255,
    "pm_low": 13.185
  },
  {
    "symbol": "CWK",
    "total_score": 53.92,
    "raw_score": 57.16,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 0.49,
      "volume_acceleration": 3.04,
      "price_momentum": 0.17,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 6,
      "spread_liquidity": 4.75,
      "momentum_consistency": 2.81,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.595,
      "vwap": 13.5665,
      "vwap_slope": 0.0025,
      "rvol": 0.2,
      "volume_acceleration": 0.87,
      "premarket_volume": 102358.0,
      "momentum_pct": 0.11,
      "consolidation_tightness_pct": 0.18,
      "distance_from_pm_high_pct": 0.0,
      "extension_from_vwap_pct": 0.21,
      "spread_pct": 0.07
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 13.595,
    "pm_low": 13.53
  },
  {
    "symbol": "CTOS",
    "total_score": 53.92,
    "raw_score": 57.16,
    "breakdown": {
      "price_quality": 4.04,
      "volume_quality": 10.92,
      "rvol": 0.44,
      "volume_acceleration": 1.92,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.88,
      "spread_liquidity": 4.63,
      "momentum_consistency": 2.93,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.04,
      "vwap": 9.0156,
      "vwap_slope": 0.0051,
      "rvol": 0.18,
      "volume_acceleration": 0.55,
      "premarket_volume": 91021.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.22,
      "distance_from_pm_high_pct": 0.17,
      "extension_from_vwap_pct": 0.27,
      "spread_pct": 0.11
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 9.055,
    "pm_low": 8.97
  },
  {
    "symbol": "DCH",
    "total_score": 53.89,
    "raw_score": 57.12,
    "breakdown": {
      "price_quality": 1.88,
      "volume_quality": 12.0,
      "rvol": 1.2,
      "volume_acceleration": 2.62,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.78,
      "spread_liquidity": 4.52,
      "momentum_consistency": 2.71,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.88,
      "vwap": 6.874,
      "vwap_slope": 0.0034,
      "rvol": 0.5,
      "volume_acceleration": 0.75,
      "premarket_volume": 250617.0,
      "momentum_pct": -0.22,
      "consolidation_tightness_pct": 0.29,
      "distance_from_pm_high_pct": 0.29,
      "extension_from_vwap_pct": 0.09,
      "spread_pct": 0.15
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 6.9,
    "pm_low": 6.825
  },
  {
    "symbol": "EOLS",
    "total_score": 53.74,
    "raw_score": 56.97,
    "breakdown": {
      "price_quality": 4.24,
      "volume_quality": 9.4,
      "rvol": 0.38,
      "volume_acceleration": 2.91,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.97,
      "spread_liquidity": 4.64,
      "momentum_consistency": 3.03,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.245,
      "vwap": 9.2065,
      "vwap_slope": 0.0079,
      "rvol": 0.16,
      "volume_acceleration": 0.84,
      "premarket_volume": 78341.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.1,
      "distance_from_pm_high_pct": 0.04,
      "extension_from_vwap_pct": 0.42,
      "spread_pct": 0.11
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 9.2491,
    "pm_low": 9.18
  },
  {
    "symbol": "HLF",
    "total_score": 53.67,
    "raw_score": 56.89,
    "breakdown": {
      "price_quality": 2.64,
      "volume_quality": 9.8,
      "rvol": 0.39,
      "volume_acceleration": 2.99,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.94,
      "spread_liquidity": 4.73,
      "momentum_consistency": 4.0,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.36,
      "vwap": 12.2917,
      "vwap_slope": 0.0268,
      "rvol": 0.16,
      "volume_acceleration": 1.3,
      "premarket_volume": 81674.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.16,
      "distance_from_pm_high_pct": 0.08,
      "extension_from_vwap_pct": 0.56,
      "spread_pct": 0.08
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 12.37,
    "pm_low": 12.235
  },
  {
    "symbol": "LWLG",
    "total_score": 53.53,
    "raw_score": 56.74,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 2.26,
      "volume_acceleration": 10,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 4.83,
      "spread_liquidity": 4.38,
      "momentum_consistency": 2.18,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.335,
      "vwap": 5.3356,
      "vwap_slope": 0.0425,
      "rvol": 0.94,
      "volume_acceleration": 3.83,
      "premarket_volume": 470593.0,
      "momentum_pct": -0.28,
      "consolidation_tightness_pct": 2.43,
      "distance_from_pm_high_pct": 1.57,
      "extension_from_vwap_pct": -0.01,
      "spread_pct": 0.19
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": true
    },
    "pm_high": 5.4199,
    "pm_low": 5.275
  },
  {
    "symbol": "GDYN",
    "total_score": 53.51,
    "raw_score": 56.72,
    "breakdown": {
      "price_quality": 3.06,
      "volume_quality": 9.84,
      "rvol": 0.39,
      "volume_acceleration": 3.62,
      "price_momentum": 0.09,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.95,
      "spread_liquidity": 4.59,
      "momentum_consistency": 2.77,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.065,
      "vwap": 8.0594,
      "vwap_slope": 0.0009,
      "rvol": 0.16,
      "volume_acceleration": 1.04,
      "premarket_volume": 82033.0,
      "momentum_pct": 0.06,
      "consolidation_tightness_pct": 0.12,
      "distance_from_pm_high_pct": 0.06,
      "extension_from_vwap_pct": 0.07,
      "spread_pct": 0.12
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 8.07,
    "pm_low": 8.04
  },
  {
    "symbol": "GENI",
    "total_score": 53.42,
    "raw_score": 56.62,
    "breakdown": {
      "price_quality": 2.45,
      "volume_quality": 12.0,
      "rvol": 0.75,
      "volume_acceleration": 2.25,
      "price_momentum": 0.3,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 6,
      "spread_liquidity": 4.55,
      "momentum_consistency": 1.93,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.445,
      "vwap": 7.4228,
      "vwap_slope": 0.0028,
      "rvol": 0.31,
      "volume_acceleration": 0.65,
      "premarket_volume": 155455.0,
      "momentum_pct": 0.2,
      "consolidation_tightness_pct": 0.2,
      "distance_from_pm_high_pct": 0.0,
      "extension_from_vwap_pct": 0.3,
      "spread_pct": 0.13
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 7.445,
    "pm_low": 7.39
  },
  {
    "symbol": "AVAH",
    "total_score": 53.28,
    "raw_score": 56.48,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 0.81,
      "volume_acceleration": 2.7,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.89,
      "spread_liquidity": 4.76,
      "momentum_consistency": 2.42,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.655,
      "vwap": 13.6247,
      "vwap_slope": 0.0092,
      "rvol": 0.34,
      "volume_acceleration": 0.78,
      "premarket_volume": 169051.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.11,
      "distance_from_pm_high_pct": 0.15,
      "extension_from_vwap_pct": 0.22,
      "spread_pct": 0.07
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 13.675,
    "pm_low": 13.575
  },
  {
    "symbol": "QDEL",
    "total_score": 53.13,
    "raw_score": 56.32,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 0.92,
      "volume_acceleration": 0.97,
      "price_momentum": 1.06,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 6,
      "spread_liquidity": 4.3,
      "momentum_consistency": 3.17,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.3,
      "vwap": 14.1104,
      "vwap_slope": 0.0161,
      "rvol": 0.38,
      "volume_acceleration": 0.28,
      "premarket_volume": 192039.0,
      "momentum_pct": 0.7,
      "consolidation_tightness_pct": 0.7,
      "distance_from_pm_high_pct": 0.0,
      "extension_from_vwap_pct": 1.34,
      "spread_pct": 0.21
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 14.3,
    "pm_low": 14.04
  },
  {
    "symbol": "PD",
    "total_score": 53.02,
    "raw_score": 56.21,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 0.81,
      "volume_acceleration": 10,
      "price_momentum": 0.11,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.51,
      "spread_liquidity": 4.52,
      "momentum_consistency": 2.56,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.77,
      "vwap": 13.7618,
      "vwap_slope": -0.0013,
      "rvol": 0.34,
      "volume_acceleration": 2.18,
      "premarket_volume": 168388.0,
      "momentum_pct": 0.07,
      "consolidation_tightness_pct": 0.15,
      "distance_from_pm_high_pct": 0.65,
      "extension_from_vwap_pct": 0.06,
      "spread_pct": 0.15
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 13.86,
    "pm_low": 13.685
  },
  {
    "symbol": "ULCC",
    "total_score": 52.95,
    "raw_score": 56.13,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 0.56,
      "volume_acceleration": 1.89,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.94,
      "spread_liquidity": 4.44,
      "momentum_consistency": 3.4,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.955,
      "vwap": 5.9371,
      "vwap_slope": 0.0031,
      "rvol": 0.23,
      "volume_acceleration": 0.54,
      "premarket_volume": 116568.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.17,
      "distance_from_pm_high_pct": 0.08,
      "extension_from_vwap_pct": 0.3,
      "spread_pct": 0.17
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 5.96,
    "pm_low": 5.895
  },
  {
    "symbol": "HLIT",
    "total_score": 52.94,
    "raw_score": 56.12,
    "breakdown": {
      "price_quality": 3.23,
      "volume_quality": 9.95,
      "rvol": 0.4,
      "volume_acceleration": 3.45,
      "price_momentum": 0.06,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.94,
      "spread_liquidity": 4.43,
      "momentum_consistency": 2.26,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.77,
      "vwap": 11.7515,
      "vwap_slope": 0.0058,
      "rvol": 0.17,
      "volume_acceleration": 0.99,
      "premarket_volume": 82885.0,
      "momentum_pct": 0.04,
      "consolidation_tightness_pct": 0.17,
      "distance_from_pm_high_pct": 0.08,
      "extension_from_vwap_pct": 0.16,
      "spread_pct": 0.17
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 11.78,
    "pm_low": 11.72
  },
  {
    "symbol": "HAYW",
    "total_score": 52.79,
    "raw_score": 55.96,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 10.14,
      "rvol": 0.41,
      "volume_acceleration": 3.4,
      "price_momentum": 0.05,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.97,
      "spread_liquidity": 4.76,
      "momentum_consistency": 3.33,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.96,
      "vwap": 13.9395,
      "vwap_slope": 0.0025,
      "rvol": 0.17,
      "volume_acceleration": 0.98,
      "premarket_volume": 84486.0,
      "momentum_pct": 0.04,
      "consolidation_tightness_pct": 0.07,
      "distance_from_pm_high_pct": 0.04,
      "extension_from_vwap_pct": 0.15,
      "spread_pct": 0.07
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 13.965,
    "pm_low": 13.905
  },
  {
    "symbol": "IMTX",
    "total_score": 52.74,
    "raw_score": 55.91,
    "breakdown": {
      "price_quality": 4.42,
      "volume_quality": 7.83,
      "rvol": 0.31,
      "volume_acceleration": 5.06,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.76,
      "spread_liquidity": 4.65,
      "momentum_consistency": 1.47,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.42,
      "vwap": 9.4159,
      "vwap_slope": 0.0023,
      "rvol": 0.13,
      "volume_acceleration": 1.51,
      "premarket_volume": 65224.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.07,
      "distance_from_pm_high_pct": 0.32,
      "extension_from_vwap_pct": 0.04,
      "spread_pct": 0.11
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 9.45,
    "pm_low": 9.37
  },
  {
    "symbol": "DRVN",
    "total_score": 52.69,
    "raw_score": 55.85,
    "breakdown": {
      "price_quality": 1.53,
      "volume_quality": 10.83,
      "rvol": 0.43,
      "volume_acceleration": 3.69,
      "price_momentum": 0.28,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.97,
      "spread_liquidity": 4.75,
      "momentum_consistency": 1.96,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.475,
      "vwap": 13.4475,
      "vwap_slope": 0.0074,
      "rvol": 0.18,
      "volume_acceleration": 1.06,
      "premarket_volume": 90275.0,
      "momentum_pct": 0.19,
      "consolidation_tightness_pct": 0.3,
      "distance_from_pm_high_pct": 0.04,
      "extension_from_vwap_pct": 0.2,
      "spread_pct": 0.07
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 13.48,
    "pm_low": 13.42
  },
  {
    "symbol": "SHOE",
    "total_score": 52.64,
    "raw_score": 55.79,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 10.44,
      "rvol": 0.42,
      "volume_acceleration": 3.47,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.89,
      "spread_liquidity": 4.76,
      "momentum_consistency": 2.92,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.85,
      "vwap": 13.8066,
      "vwap_slope": 0.0196,
      "rvol": 0.17,
      "volume_acceleration": 1.35,
      "premarket_volume": 86966.0,
      "momentum_pct": -0.07,
      "consolidation_tightness_pct": 0.22,
      "distance_from_pm_high_pct": 0.14,
      "extension_from_vwap_pct": 0.31,
      "spread_pct": 0.07
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 13.87,
    "pm_low": 13.75
  },
  {
    "symbol": "APPS",
    "total_score": 52.42,
    "raw_score": 55.56,
    "breakdown": {
      "price_quality": 4.45,
      "volume_quality": 12.0,
      "rvol": 0.92,
      "volume_acceleration": 3.22,
      "price_momentum": 0.25,
      "price_structure": 12,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 4.85,
      "spread_liquidity": 4.68,
      "momentum_consistency": 3.2,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.555,
      "vwap": 10.5741,
      "vwap_slope": -0.0027,
      "rvol": 0.38,
      "volume_acceleration": 0.93,
      "premarket_volume": 191067.0,
      "momentum_pct": 0.17,
      "consolidation_tightness_pct": 0.28,
      "distance_from_pm_high_pct": 1.54,
      "extension_from_vwap_pct": -0.18,
      "spread_pct": 0.09
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 10.72,
    "pm_low": 10.515
  },
  {
    "symbol": "STGW",
    "total_score": 52.35,
    "raw_score": 55.49,
    "breakdown": {
      "price_quality": 3.71,
      "volume_quality": 12.0,
      "rvol": 0.48,
      "volume_acceleration": 5.53,
      "price_momentum": 0.17,
      "price_structure": 12,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.74,
      "spread_liquidity": 4.62,
      "momentum_consistency": 1.23,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.715,
      "vwap": 8.7221,
      "vwap_slope": -0.0057,
      "rvol": 0.2,
      "volume_acceleration": 1.55,
      "premarket_volume": 100728.0,
      "momentum_pct": 0.11,
      "consolidation_tightness_pct": 0.22,
      "distance_from_pm_high_pct": 0.34,
      "extension_from_vwap_pct": -0.08,
      "spread_pct": 0.11
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 8.745,
    "pm_low": 8.695
  },
  {
    "symbol": "SSYS",
    "total_score": 52.23,
    "raw_score": 55.37,
    "breakdown": {
      "price_quality": 3.06,
      "volume_quality": 7.74,
      "rvol": 0.31,
      "volume_acceleration": 3.44,
      "price_momentum": 0.28,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 6,
      "spread_liquidity": 4.59,
      "momentum_consistency": 3.56,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.06,
      "vwap": 8.0393,
      "vwap_slope": 0.0022,
      "rvol": 0.13,
      "volume_acceleration": 0.99,
      "premarket_volume": 64466.0,
      "momentum_pct": 0.19,
      "consolidation_tightness_pct": 0.19,
      "distance_from_pm_high_pct": 0.0,
      "extension_from_vwap_pct": 0.26,
      "spread_pct": 0.12
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 8.06,
    "pm_low": 8.0
  },
  {
    "symbol": "CARS",
    "total_score": 52.16,
    "raw_score": 55.29,
    "breakdown": {
      "price_quality": 3.16,
      "volume_quality": 6.87,
      "rvol": 0.27,
      "volume_acceleration": 3.16,
      "price_momentum": 0.25,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.87,
      "spread_liquidity": 4.44,
      "momentum_consistency": 2.45,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.835,
      "vwap": 11.8286,
      "vwap_slope": -0.0019,
      "rvol": 0.11,
      "volume_acceleration": 0.91,
      "premarket_volume": 57251.0,
      "momentum_pct": 0.17,
      "consolidation_tightness_pct": 0.21,
      "distance_from_pm_high_pct": 0.17,
      "extension_from_vwap_pct": 0.05,
      "spread_pct": 0.17
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 11.855,
    "pm_low": 11.81
  },
  {
    "symbol": "CXDO",
    "total_score": 51.86,
    "raw_score": 54.97,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 5.15,
      "rvol": 0.21,
      "volume_acceleration": 10,
      "price_momentum": 0.25,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.5,
      "spread_liquidity": 3.88,
      "momentum_consistency": 2.09,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.94,
      "vwap": 5.9249,
      "vwap_slope": 0.01,
      "rvol": 0.09,
      "volume_acceleration": 2.69,
      "premarket_volume": 42942.0,
      "momentum_pct": 0.17,
      "consolidation_tightness_pct": 0.84,
      "distance_from_pm_high_pct": 0.67,
      "extension_from_vwap_pct": 0.26,
      "spread_pct": 0.34
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 5.98,
    "pm_low": 5.9
  },
  {
    "symbol": "XERS",
    "total_score": 51.82,
    "raw_score": 54.93,
    "breakdown": {
      "price_quality": 3.51,
      "volume_quality": 8.59,
      "rvol": 0.34,
      "volume_acceleration": 2.91,
      "price_momentum": 0.09,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.74,
      "spread_liquidity": 4.61,
      "momentum_consistency": 2.74,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.51,
      "vwap": 8.4931,
      "vwap_slope": 0.0033,
      "rvol": 0.14,
      "volume_acceleration": 0.84,
      "premarket_volume": 71572.0,
      "momentum_pct": 0.06,
      "consolidation_tightness_pct": 0.06,
      "distance_from_pm_high_pct": 0.35,
      "extension_from_vwap_pct": 0.2,
      "spread_pct": 0.12
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 8.54,
    "pm_low": 8.43
  },
  {
    "symbol": "DOLE",
    "total_score": 51.68,
    "raw_score": 54.78,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 6.75,
      "rvol": 0.27,
      "volume_acceleration": 6.51,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.92,
      "spread_liquidity": 4.76,
      "momentum_consistency": 2.67,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.985,
      "vwap": 13.9739,
      "vwap_slope": 0.0022,
      "rvol": 0.11,
      "volume_acceleration": 1.65,
      "premarket_volume": 56263.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.07,
      "distance_from_pm_high_pct": 0.11,
      "extension_from_vwap_pct": 0.08,
      "spread_pct": 0.07
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 14.0,
    "pm_low": 13.95
  },
  {
    "symbol": "UTZ",
    "total_score": 51.61,
    "raw_score": 54.71,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 1.3,
      "volume_acceleration": 1.28,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.97,
      "spread_liquidity": 4.77,
      "momentum_consistency": 1.48,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.205,
      "vwap": 14.2042,
      "vwap_slope": 0.0,
      "rvol": 0.54,
      "volume_acceleration": 0.37,
      "premarket_volume": 271529.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.06,
      "distance_from_pm_high_pct": 0.04,
      "extension_from_vwap_pct": 0.01,
      "spread_pct": 0.07
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 14.21,
    "pm_low": 14.2
  },
  {
    "symbol": "LENZ",
    "total_score": 51.46,
    "raw_score": 54.55,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 4.17,
      "rvol": 0.17,
      "volume_acceleration": 10,
      "price_momentum": 0.77,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.74,
      "spread_liquidity": 3.86,
      "momentum_consistency": 1.94,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.84,
      "vwap": 5.8085,
      "vwap_slope": 0.0039,
      "rvol": 0.07,
      "volume_acceleration": 2.06,
      "premarket_volume": 34744.0,
      "momentum_pct": 0.52,
      "consolidation_tightness_pct": 0.86,
      "distance_from_pm_high_pct": 0.34,
      "extension_from_vwap_pct": 0.54,
      "spread_pct": 0.34
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 5.86,
    "pm_low": 5.78
  },
  {
    "symbol": "QUBT",
    "total_score": 51.43,
    "raw_score": 54.52,
    "breakdown": {
      "price_quality": 2.97,
      "volume_quality": 12.0,
      "rvol": 1.61,
      "volume_acceleration": 4.82,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.67,
      "spread_liquidity": 4.58,
      "momentum_consistency": 3.25,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.975,
      "vwap": 7.9856,
      "vwap_slope": 0.0035,
      "rvol": 0.67,
      "volume_acceleration": 1.48,
      "premarket_volume": 336102.0,
      "momentum_pct": -0.07,
      "consolidation_tightness_pct": 0.44,
      "distance_from_pm_high_pct": 0.44,
      "extension_from_vwap_pct": -0.13,
      "spread_pct": 0.13
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": true
    },
    "pm_high": 8.01,
    "pm_low": 7.95
  },
  {
    "symbol": "REAL",
    "total_score": 51.34,
    "raw_score": 54.42,
    "breakdown": {
      "price_quality": 4.74,
      "volume_quality": 12.0,
      "rvol": 1.8,
      "volume_acceleration": 3.1,
      "price_momentum": 0.27,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.69,
      "spread_liquidity": 4.66,
      "momentum_consistency": 2.96,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.74,
      "vwap": 9.7387,
      "vwap_slope": -0.0045,
      "rvol": 0.75,
      "volume_acceleration": 0.89,
      "premarket_volume": 374297.0,
      "momentum_pct": 0.18,
      "consolidation_tightness_pct": 0.21,
      "distance_from_pm_high_pct": 0.41,
      "extension_from_vwap_pct": 0.01,
      "spread_pct": 0.1
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 9.78,
    "pm_low": 9.7
  },
  {
    "symbol": "BYND",
    "total_score": 51.32,
    "raw_score": 54.4,
    "breakdown": {
      "price_quality": 3.76,
      "volume_quality": 8.14,
      "rvol": 0.33,
      "volume_acceleration": 2.08,
      "price_momentum": 0.31,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.93,
      "spread_liquidity": 4.11,
      "momentum_consistency": 3.35,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.24,
      "vwap": 11.1991,
      "vwap_slope": 0.0057,
      "rvol": 0.14,
      "volume_acceleration": 0.6,
      "premarket_volume": 67792.0,
      "momentum_pct": 0.21,
      "consolidation_tightness_pct": 0.45,
      "distance_from_pm_high_pct": 0.09,
      "extension_from_vwap_pct": 0.37,
      "spread_pct": 0.27
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 11.25,
    "pm_low": 11.125
  },
  {
    "symbol": "VRM",
    "total_score": 51.26,
    "raw_score": 54.34,
    "breakdown": {
      "price_quality": 4.15,
      "volume_quality": 12.0,
      "rvol": 0.5,
      "volume_acceleration": 1.91,
      "price_momentum": 0.69,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 3.01,
      "spread_liquidity": 0.08,
      "momentum_consistency": 5.6,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.85,
      "vwap": 10.8221,
      "vwap_slope": 0.0102,
      "rvol": 0.21,
      "volume_acceleration": 0.55,
      "premarket_volume": 103242.0,
      "momentum_pct": 0.46,
      "consolidation_tightness_pct": 2.45,
      "distance_from_pm_high_pct": 3.98,
      "extension_from_vwap_pct": 0.26,
      "spread_pct": 1.48
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 11.3,
    "pm_low": 10.61
  },
  {
    "symbol": "CRK",
    "total_score": 51.25,
    "raw_score": 54.32,
    "breakdown": {
      "price_quality": 0.0,
      "volume_quality": 12.0,
      "rvol": 1.52,
      "volume_acceleration": 0.83,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.7,
      "spread_liquidity": 4.78,
      "momentum_consistency": 3.09,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 15.155,
      "vwap": 15.1526,
      "vwap_slope": 0.0007,
      "rvol": 0.63,
      "volume_acceleration": 0.24,
      "premarket_volume": 317471.0,
      "momentum_pct": -0.03,
      "consolidation_tightness_pct": 0.1,
      "distance_from_pm_high_pct": 0.39,
      "extension_from_vwap_pct": 0.02,
      "spread_pct": 0.07
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 15.215,
    "pm_low": 15.085
  },
  {
    "symbol": "ODD",
    "total_score": 51.1,
    "raw_score": 54.17,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 8.09,
      "rvol": 0.32,
      "volume_acceleration": 3.39,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.9,
      "spread_liquidity": 4.28,
      "momentum_consistency": 4.29,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.795,
      "vwap": 13.6193,
      "vwap_slope": 0.0344,
      "rvol": 0.13,
      "volume_acceleration": 0.97,
      "premarket_volume": 67432.0,
      "momentum_pct": -0.04,
      "consolidation_tightness_pct": 0.24,
      "distance_from_pm_high_pct": 0.13,
      "extension_from_vwap_pct": 1.29,
      "spread_pct": 0.22
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 13.8136,
    "pm_low": 13.43
  },
  {
    "symbol": "RITM",
    "total_score": 51.09,
    "raw_score": 54.16,
    "breakdown": {
      "price_quality": 4.91,
      "volume_quality": 12.0,
      "rvol": 1.02,
      "volume_acceleration": 3.8,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.89,
      "spread_liquidity": 4.67,
      "momentum_consistency": 2.26,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.085,
      "vwap": 10.0891,
      "vwap_slope": 0.0011,
      "rvol": 0.42,
      "volume_acceleration": 1.09,
      "premarket_volume": 212126.0,
      "momentum_pct": -0.05,
      "consolidation_tightness_pct": 0.2,
      "distance_from_pm_high_pct": 0.15,
      "extension_from_vwap_pct": -0.04,
      "spread_pct": 0.1
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": true
    },
    "pm_high": 10.1,
    "pm_low": 10.075
  },
  {
    "symbol": "MH",
    "total_score": 51.08,
    "raw_score": 54.14,
    "breakdown": {
      "price_quality": 1.69,
      "volume_quality": 4.91,
      "rvol": 0.2,
      "volume_acceleration": 8.09,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.8,
      "spread_liquidity": 4.25,
      "momentum_consistency": 2.81,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.315,
      "vwap": 13.3036,
      "vwap_slope": 0.0054,
      "rvol": 0.08,
      "volume_acceleration": 1.81,
      "premarket_volume": 40942.0,
      "momentum_pct": -0.04,
      "consolidation_tightness_pct": 0.15,
      "distance_from_pm_high_pct": 0.26,
      "extension_from_vwap_pct": 0.09,
      "spread_pct": 0.23
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 13.35,
    "pm_low": 13.23
  },
  {
    "symbol": "SBGI",
    "total_score": 50.9,
    "raw_score": 53.95,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 3.27,
      "rvol": 0.13,
      "volume_acceleration": 10,
      "price_momentum": 0.13,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 6,
      "spread_liquidity": 4.52,
      "momentum_consistency": 2.0,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.86,
      "vwap": 13.8297,
      "vwap_slope": 0.002,
      "rvol": 0.05,
      "volume_acceleration": 4.04,
      "premarket_volume": 27276.0,
      "momentum_pct": 0.09,
      "consolidation_tightness_pct": 0.28,
      "distance_from_pm_high_pct": 0.0,
      "extension_from_vwap_pct": 0.22,
      "spread_pct": 0.14
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 13.86,
    "pm_low": 13.79
  },
  {
    "symbol": "PAYO",
    "total_score": 50.83,
    "raw_score": 53.88,
    "breakdown": {
      "price_quality": 2.17,
      "volume_quality": 10.97,
      "rvol": 0.44,
      "volume_acceleration": 1.57,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.95,
      "spread_liquidity": 4.54,
      "momentum_consistency": 1.85,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.175,
      "vwap": 7.174,
      "vwap_slope": 0.0001,
      "rvol": 0.18,
      "volume_acceleration": 0.45,
      "premarket_volume": 91443.0,
      "momentum_pct": -0.07,
      "consolidation_tightness_pct": 0.14,
      "distance_from_pm_high_pct": 0.07,
      "extension_from_vwap_pct": 0.01,
      "spread_pct": 0.14
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 7.18,
    "pm_low": 7.17
  },
  {
    "symbol": "NOMD",
    "total_score": 50.76,
    "raw_score": 53.81,
    "breakdown": {
      "price_quality": 3.31,
      "volume_quality": 7.77,
      "rvol": 0.31,
      "volume_acceleration": 3.37,
      "price_momentum": 0.26,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 6,
      "spread_liquidity": 4.71,
      "momentum_consistency": 1.67,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.69,
      "vwap": 11.6624,
      "vwap_slope": 0.0035,
      "rvol": 0.13,
      "volume_acceleration": 0.97,
      "premarket_volume": 64731.0,
      "momentum_pct": 0.17,
      "consolidation_tightness_pct": 0.17,
      "distance_from_pm_high_pct": 0.0,
      "extension_from_vwap_pct": 0.24,
      "spread_pct": 0.09
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 11.69,
    "pm_low": 11.6309
  },
  {
    "symbol": "MRTN",
    "total_score": 50.66,
    "raw_score": 53.7,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 2.89,
      "rvol": 0.12,
      "volume_acceleration": 10,
      "price_momentum": 0.11,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 6,
      "spread_liquidity": 4.53,
      "momentum_consistency": 2.15,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.27,
      "vwap": 14.2555,
      "vwap_slope": 0.0065,
      "rvol": 0.05,
      "volume_acceleration": 2.08,
      "premarket_volume": 24090.0,
      "momentum_pct": 0.07,
      "consolidation_tightness_pct": 0.14,
      "distance_from_pm_high_pct": 0.0,
      "extension_from_vwap_pct": 0.1,
      "spread_pct": 0.14
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 14.27,
    "pm_low": 14.235
  },
  {
    "symbol": "GNW",
    "total_score": 50.44,
    "raw_score": 53.47,
    "breakdown": {
      "price_quality": 4.62,
      "volume_quality": 12.0,
      "rvol": 1.2,
      "volume_acceleration": 2.63,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.78,
      "spread_liquidity": 4.68,
      "momentum_consistency": 2.96,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.38,
      "vwap": 10.3829,
      "vwap_slope": 0.0047,
      "rvol": 0.5,
      "volume_acceleration": 0.76,
      "premarket_volume": 249739.0,
      "momentum_pct": -0.05,
      "consolidation_tightness_pct": 0.1,
      "distance_from_pm_high_pct": 0.29,
      "extension_from_vwap_pct": -0.03,
      "spread_pct": 0.1
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": true
    },
    "pm_high": 10.41,
    "pm_low": 10.35
  },
  {
    "symbol": "IHS",
    "total_score": 50.33,
    "raw_score": 53.35,
    "breakdown": {
      "price_quality": 3.49,
      "volume_quality": 9.41,
      "rvol": 0.38,
      "volume_acceleration": 1.38,
      "price_momentum": 0.09,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 6,
      "spread_liquidity": 4.61,
      "momentum_consistency": 1.6,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.49,
      "vwap": 8.4875,
      "vwap_slope": 0.0003,
      "rvol": 0.16,
      "volume_acceleration": 0.4,
      "premarket_volume": 78392.0,
      "momentum_pct": 0.06,
      "consolidation_tightness_pct": 0.06,
      "distance_from_pm_high_pct": 0.0,
      "extension_from_vwap_pct": 0.03,
      "spread_pct": 0.12
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 8.49,
    "pm_low": 8.48
  },
  {
    "symbol": "SLDB",
    "total_score": 50.22,
    "raw_score": 53.23,
    "breakdown": {
      "price_quality": 4.66,
      "volume_quality": 5.31,
      "rvol": 0.21,
      "volume_acceleration": 1.43,
      "price_momentum": 0.19,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.55,
      "spread_liquidity": 4.68,
      "momentum_consistency": 2.4,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.338,
      "vwap": 10.3369,
      "vwap_slope": -0.0014,
      "rvol": 0.09,
      "volume_acceleration": 0.41,
      "premarket_volume": 44247.0,
      "momentum_pct": 0.13,
      "consolidation_tightness_pct": 0.17,
      "distance_from_pm_high_pct": 0.6,
      "extension_from_vwap_pct": 0.01,
      "spread_pct": 0.1
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 10.4,
    "pm_low": 10.305
  },
  {
    "symbol": "PRTS",
    "total_score": 50.07,
    "raw_score": 53.07,
    "breakdown": {
      "price_quality": 4.25,
      "volume_quality": 3.39,
      "rvol": 0.14,
      "volume_acceleration": 1.85,
      "price_momentum": 4.54,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 7.65,
      "distance_from_pm_high": 5.6,
      "spread_liquidity": 2.12,
      "momentum_consistency": 5.14,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.25,
      "vwap": 9.1659,
      "vwap_slope": 0.019,
      "rvol": 0.06,
      "volume_acceleration": 0.53,
      "premarket_volume": 28232.0,
      "momentum_pct": 3.03,
      "consolidation_tightness_pct": 3.52,
      "distance_from_pm_high_pct": 0.54,
      "extension_from_vwap_pct": 0.92,
      "spread_pct": 0.86
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 9.3,
    "pm_low": 8.978
  },
  {
    "symbol": "ABSI",
    "total_score": 49.82,
    "raw_score": 52.81,
    "breakdown": {
      "price_quality": 3.84,
      "volume_quality": 12.0,
      "rvol": 0.55,
      "volume_acceleration": 3.89,
      "price_momentum": 0.17,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.66,
      "spread_liquidity": 4.62,
      "momentum_consistency": 2.88,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.835,
      "vwap": 8.8347,
      "vwap_slope": -0.001,
      "rvol": 0.23,
      "volume_acceleration": 1.12,
      "premarket_volume": 114159.0,
      "momentum_pct": 0.11,
      "consolidation_tightness_pct": 0.23,
      "distance_from_pm_high_pct": 0.45,
      "extension_from_vwap_pct": 0.0,
      "spread_pct": 0.11
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 8.875,
    "pm_low": 8.81
  },
  {
    "symbol": "PRTA",
    "total_score": 49.74,
    "raw_score": 52.73,
    "breakdown": {
      "price_quality": 4.82,
      "volume_quality": 5.51,
      "rvol": 0.22,
      "volume_acceleration": 2.82,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.72,
      "spread_liquidity": 3.98,
      "momentum_consistency": 3.26,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.8228,
      "vwap": 9.8133,
      "vwap_slope": 0.0176,
      "rvol": 0.09,
      "volume_acceleration": 0.81,
      "premarket_volume": 45894.0,
      "momentum_pct": -0.28,
      "consolidation_tightness_pct": 0.38,
      "distance_from_pm_high_pct": 0.38,
      "extension_from_vwap_pct": 0.1,
      "spread_pct": 0.31
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 9.86,
    "pm_low": 9.77
  },
  {
    "symbol": "INFQ",
    "total_score": 49.72,
    "raw_score": 52.7,
    "breakdown": {
      "price_quality": 2.2,
      "volume_quality": 12.0,
      "rvol": 1.85,
      "volume_acceleration": 3.44,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.62,
      "spread_liquidity": 4.74,
      "momentum_consistency": 3.25,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.8,
      "vwap": 12.8041,
      "vwap_slope": 0.0086,
      "rvol": 0.77,
      "volume_acceleration": 1.34,
      "premarket_volume": 385142.0,
      "momentum_pct": -0.23,
      "consolidation_tightness_pct": 0.31,
      "distance_from_pm_high_pct": 0.51,
      "extension_from_vwap_pct": -0.03,
      "spread_pct": 0.08
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": true
    },
    "pm_high": 12.865,
    "pm_low": 12.755
  },
  {
    "symbol": "LYNX",
    "total_score": 49.7,
    "raw_score": 52.68,
    "breakdown": {
      "price_quality": 2.22,
      "volume_quality": 9.02,
      "rvol": 0.36,
      "volume_acceleration": 1.85,
      "price_momentum": 0.06,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.8,
      "spread_liquidity": 4.74,
      "momentum_consistency": 2.23,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.775,
      "vwap": 12.7231,
      "vwap_slope": 0.0243,
      "rvol": 0.15,
      "volume_acceleration": 1.18,
      "premarket_volume": 75172.0,
      "momentum_pct": 0.04,
      "consolidation_tightness_pct": 0.39,
      "distance_from_pm_high_pct": 0.27,
      "extension_from_vwap_pct": 0.41,
      "spread_pct": 0.08
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 12.81,
    "pm_low": 12.65
  },
  {
    "symbol": "UAA",
    "total_score": 49.6,
    "raw_score": 52.57,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 3.47,
      "volume_acceleration": 4.22,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.79,
      "spread_liquidity": 4.36,
      "momentum_consistency": 1.63,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.235,
      "vwap": 5.2359,
      "vwap_slope": 0.0026,
      "rvol": 1.45,
      "volume_acceleration": 1.42,
      "premarket_volume": 723755.0,
      "momentum_pct": -0.19,
      "consolidation_tightness_pct": 0.38,
      "distance_from_pm_high_pct": 0.29,
      "extension_from_vwap_pct": -0.02,
      "spread_pct": 0.19
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": true
    },
    "pm_high": 5.25,
    "pm_low": 5.215
  },
  {
    "symbol": "SGRY",
    "total_score": 49.53,
    "raw_score": 52.5,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 7.39,
      "rvol": 0.3,
      "volume_acceleration": 3.82,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.77,
      "spread_liquidity": 4.54,
      "momentum_consistency": 2.79,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.36,
      "vwap": 14.3272,
      "vwap_slope": 0.0214,
      "rvol": 0.12,
      "volume_acceleration": 1.1,
      "premarket_volume": 61593.0,
      "momentum_pct": -0.28,
      "consolidation_tightness_pct": 0.28,
      "distance_from_pm_high_pct": 0.31,
      "extension_from_vwap_pct": 0.23,
      "spread_pct": 0.14
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 14.405,
    "pm_low": 14.27
  },
  {
    "symbol": "CLSK",
    "total_score": 49.37,
    "raw_score": 52.34,
    "breakdown": {
      "price_quality": 2.46,
      "volume_quality": 12.0,
      "rvol": 5.91,
      "volume_acceleration": 5.99,
      "price_momentum": 0.36,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.32,
      "spread_liquidity": 4.73,
      "momentum_consistency": 3.17,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.545,
      "vwap": 12.5993,
      "vwap_slope": -0.0249,
      "rvol": 2.21,
      "volume_acceleration": 1.6,
      "premarket_volume": 1107259.0,
      "momentum_pct": 0.24,
      "consolidation_tightness_pct": 0.44,
      "distance_from_pm_high_pct": 0.91,
      "extension_from_vwap_pct": -0.43,
      "spread_pct": 0.08
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 12.66,
    "pm_low": 12.5
  },
  {
    "symbol": "FLNC",
    "total_score": 49.21,
    "raw_score": 52.16,
    "breakdown": {
      "price_quality": 4.77,
      "volume_quality": 12.0,
      "rvol": 1.13,
      "volume_acceleration": 8.3,
      "price_momentum": 0.22,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.67,
      "spread_liquidity": 4.67,
      "momentum_consistency": 3.0,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.235,
      "vwap": 10.2422,
      "vwap_slope": -0.0103,
      "rvol": 0.47,
      "volume_acceleration": 1.83,
      "premarket_volume": 235241.0,
      "momentum_pct": 0.15,
      "consolidation_tightness_pct": 0.29,
      "distance_from_pm_high_pct": 0.44,
      "extension_from_vwap_pct": -0.07,
      "spread_pct": 0.1
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 10.28,
    "pm_low": 10.21
  },
  {
    "symbol": "ARHS",
    "total_score": 49.16,
    "raw_score": 52.11,
    "breakdown": {
      "price_quality": 3.71,
      "volume_quality": 5.59,
      "rvol": 0.22,
      "volume_acceleration": 2.89,
      "price_momentum": 0.17,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.91,
      "spread_liquidity": 4.62,
      "momentum_consistency": 2.59,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.705,
      "vwap": 8.6936,
      "vwap_slope": 0.0057,
      "rvol": 0.09,
      "volume_acceleration": 1.29,
      "premarket_volume": 46624.0,
      "momentum_pct": 0.12,
      "consolidation_tightness_pct": 0.23,
      "distance_from_pm_high_pct": 0.11,
      "extension_from_vwap_pct": 0.13,
      "spread_pct": 0.12
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 8.715,
    "pm_low": 8.68
  },
  {
    "symbol": "FWDI",
    "total_score": 49.13,
    "raw_score": 52.08,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 7.51,
      "rvol": 0.3,
      "volume_acceleration": 3.47,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.82,
      "spread_liquidity": 4.47,
      "momentum_consistency": 2.61,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.335,
      "vwap": 6.3256,
      "vwap_slope": 0.0048,
      "rvol": 0.13,
      "volume_acceleration": 1.0,
      "premarket_volume": 62542.0,
      "momentum_pct": -0.08,
      "consolidation_tightness_pct": 0.24,
      "distance_from_pm_high_pct": 0.24,
      "extension_from_vwap_pct": 0.15,
      "spread_pct": 0.16
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 6.35,
    "pm_low": 6.3
  },
  {
    "symbol": "NVAX",
    "total_score": 48.96,
    "raw_score": 51.9,
    "breakdown": {
      "price_quality": 4.88,
      "volume_quality": 12.0,
      "rvol": 1.39,
      "volume_acceleration": 9.07,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.45,
      "spread_liquidity": 4.67,
      "momentum_consistency": 2.03,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.125,
      "vwap": 10.1628,
      "vwap_slope": -0.0027,
      "rvol": 0.58,
      "volume_acceleration": 1.91,
      "premarket_volume": 290423.0,
      "momentum_pct": -0.25,
      "consolidation_tightness_pct": 0.64,
      "distance_from_pm_high_pct": 0.74,
      "extension_from_vwap_pct": -0.37,
      "spread_pct": 0.1
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 10.2,
    "pm_low": 10.115
  },
  {
    "symbol": "CERT",
    "total_score": 48.79,
    "raw_score": 51.71,
    "breakdown": {
      "price_quality": 2.98,
      "volume_quality": 8.2,
      "rvol": 0.33,
      "volume_acceleration": 1.87,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.91,
      "spread_liquidity": 4.58,
      "momentum_consistency": 1.45,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.98,
      "vwap": 7.9736,
      "vwap_slope": 0.0027,
      "rvol": 0.14,
      "volume_acceleration": 1.19,
      "premarket_volume": 68301.0,
      "momentum_pct": -0.06,
      "consolidation_tightness_pct": 0.13,
      "distance_from_pm_high_pct": 0.13,
      "extension_from_vwap_pct": 0.08,
      "spread_pct": 0.13
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 7.99,
    "pm_low": 7.955
  },
  {
    "symbol": "ADT",
    "total_score": 48.77,
    "raw_score": 51.69,
    "breakdown": {
      "price_quality": 2.46,
      "volume_quality": 12.0,
      "rvol": 1.88,
      "volume_acceleration": 3.64,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.9,
      "spread_liquidity": 4.55,
      "momentum_consistency": 1.66,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.46,
      "vwap": 7.4624,
      "vwap_slope": 0.0004,
      "rvol": 0.78,
      "volume_acceleration": 1.36,
      "premarket_volume": 391739.0,
      "momentum_pct": -0.07,
      "consolidation_tightness_pct": 0.13,
      "distance_from_pm_high_pct": 0.13,
      "extension_from_vwap_pct": -0.03,
      "spread_pct": 0.13
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": true
    },
    "pm_high": 7.47,
    "pm_low": 7.45
  },
  {
    "symbol": "BGC",
    "total_score": 48.64,
    "raw_score": 51.55,
    "breakdown": {
      "price_quality": 2.85,
      "volume_quality": 10.95,
      "rvol": 0.44,
      "volume_acceleration": 4.53,
      "price_momentum": 0.31,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.94,
      "spread_liquidity": 4.73,
      "momentum_consistency": 2.61,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.15,
      "vwap": 12.1395,
      "vwap_slope": -0.0017,
      "rvol": 0.18,
      "volume_acceleration": 1.45,
      "premarket_volume": 91290.0,
      "momentum_pct": 0.21,
      "consolidation_tightness_pct": 0.25,
      "distance_from_pm_high_pct": 0.08,
      "extension_from_vwap_pct": 0.09,
      "spread_pct": 0.08
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 12.16,
    "pm_low": 12.12
  },
  {
    "symbol": "SRAD",
    "total_score": 48.54,
    "raw_score": 51.45,
    "breakdown": {
      "price_quality": 1.98,
      "volume_quality": 5.89,
      "rvol": 0.24,
      "volume_acceleration": 3.83,
      "price_momentum": 0.12,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 6,
      "spread_liquidity": 4.74,
      "momentum_consistency": 2.26,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.02,
      "vwap": 13.0047,
      "vwap_slope": 0.0012,
      "rvol": 0.1,
      "volume_acceleration": 1.1,
      "premarket_volume": 49043.0,
      "momentum_pct": 0.08,
      "consolidation_tightness_pct": 0.08,
      "distance_from_pm_high_pct": 0.0,
      "extension_from_vwap_pct": 0.12,
      "spread_pct": 0.08
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 13.02,
    "pm_low": 12.985
  },
  {
    "symbol": "MFA",
    "total_score": 48.53,
    "raw_score": 51.44,
    "breakdown": {
      "price_quality": 3.96,
      "volume_quality": 12.0,
      "rvol": 0.64,
      "volume_acceleration": 2.19,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.87,
      "spread_liquidity": 4.63,
      "momentum_consistency": 2.55,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.96,
      "vwap": 8.9605,
      "vwap_slope": 0.0001,
      "rvol": 0.27,
      "volume_acceleration": 0.63,
      "premarket_volume": 133858.0,
      "momentum_pct": -0.06,
      "consolidation_tightness_pct": 0.16,
      "distance_from_pm_high_pct": 0.17,
      "extension_from_vwap_pct": -0.01,
      "spread_pct": 0.11
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": true
    },
    "pm_high": 8.975,
    "pm_low": 8.94
  },
  {
    "symbol": "ADMA",
    "total_score": 48.42,
    "raw_score": 51.33,
    "breakdown": {
      "price_quality": 4.56,
      "volume_quality": 10.6,
      "rvol": 0.42,
      "volume_acceleration": 4.22,
      "price_momentum": 0.08,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.92,
      "spread_liquidity": 4.65,
      "momentum_consistency": 1.67,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.56,
      "vwap": 9.5571,
      "vwap_slope": -0.0006,
      "rvol": 0.18,
      "volume_acceleration": 1.42,
      "premarket_volume": 88333.0,
      "momentum_pct": 0.05,
      "consolidation_tightness_pct": 0.1,
      "distance_from_pm_high_pct": 0.1,
      "extension_from_vwap_pct": 0.03,
      "spread_pct": 0.1
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 9.57,
    "pm_low": 9.5409
  },
  {
    "symbol": "SFL",
    "total_score": 48.37,
    "raw_score": 51.27,
    "breakdown": {
      "price_quality": 2.27,
      "volume_quality": 12.0,
      "rvol": 0.48,
      "volume_acceleration": 3.55,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.77,
      "spread_liquidity": 4.74,
      "momentum_consistency": 2.87,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.735,
      "vwap": 12.7439,
      "vwap_slope": 0.0,
      "rvol": 0.2,
      "volume_acceleration": 1.02,
      "premarket_volume": 100940.0,
      "momentum_pct": -0.12,
      "consolidation_tightness_pct": 0.2,
      "distance_from_pm_high_pct": 0.31,
      "extension_from_vwap_pct": -0.07,
      "spread_pct": 0.08
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": true
    },
    "pm_high": 12.775,
    "pm_low": 12.7
  },
  {
    "symbol": "CWH",
    "total_score": 48.32,
    "raw_score": 51.21,
    "breakdown": {
      "price_quality": 1.93,
      "volume_quality": 12.0,
      "rvol": 0.84,
      "volume_acceleration": 4.05,
      "price_momentum": 0.43,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.62,
      "spread_liquidity": 4.52,
      "momentum_consistency": 2.62,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.93,
      "vwap": 6.9296,
      "vwap_slope": -0.0051,
      "rvol": 0.35,
      "volume_acceleration": 1.41,
      "premarket_volume": 175339.0,
      "momentum_pct": 0.29,
      "consolidation_tightness_pct": 0.51,
      "distance_from_pm_high_pct": 0.5,
      "extension_from_vwap_pct": 0.01,
      "spread_pct": 0.14
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 6.965,
    "pm_low": 6.89
  },
  {
    "symbol": "CRGY",
    "total_score": 48.15,
    "raw_score": 51.03,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 1.64,
      "volume_acceleration": 3.11,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.81,
      "spread_liquidity": 4.76,
      "momentum_consistency": 2.62,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.775,
      "vwap": 13.7838,
      "vwap_slope": 0.0014,
      "rvol": 0.68,
      "volume_acceleration": 0.89,
      "premarket_volume": 341622.0,
      "momentum_pct": -0.11,
      "consolidation_tightness_pct": 0.18,
      "distance_from_pm_high_pct": 0.25,
      "extension_from_vwap_pct": -0.06,
      "spread_pct": 0.07
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": true
    },
    "pm_high": 13.81,
    "pm_low": 13.755
  },
  {
    "symbol": "TK",
    "total_score": 48.07,
    "raw_score": 50.95,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 7.4,
      "rvol": 0.3,
      "volume_acceleration": 1.57,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.97,
      "spread_liquidity": 4.51,
      "momentum_consistency": 3.3,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.58,
      "vwap": 13.5304,
      "vwap_slope": 0.0055,
      "rvol": 0.12,
      "volume_acceleration": 0.45,
      "premarket_volume": 61640.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.11,
      "distance_from_pm_high_pct": 0.04,
      "extension_from_vwap_pct": 0.37,
      "spread_pct": 0.15
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 13.585,
    "pm_low": 13.49
  },
  {
    "symbol": "NUVB",
    "total_score": 48.05,
    "raw_score": 50.93,
    "breakdown": {
      "price_quality": 1.84,
      "volume_quality": 12.0,
      "rvol": 1.7,
      "volume_acceleration": 3.48,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.73,
      "spread_liquidity": 4.51,
      "momentum_consistency": 2.07,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.845,
      "vwap": 6.8478,
      "vwap_slope": 0.0001,
      "rvol": 0.71,
      "volume_acceleration": 1.0,
      "premarket_volume": 354179.0,
      "momentum_pct": -0.15,
      "consolidation_tightness_pct": 0.22,
      "distance_from_pm_high_pct": 0.36,
      "extension_from_vwap_pct": -0.04,
      "spread_pct": 0.15
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": true
    },
    "pm_high": 6.87,
    "pm_low": 6.82
  },
  {
    "symbol": "CLYM",
    "total_score": 47.94,
    "raw_score": 50.82,
    "breakdown": {
      "price_quality": 0.0,
      "volume_quality": 11.49,
      "rvol": 0.46,
      "volume_acceleration": 4.76,
      "price_momentum": 0.29,
      "price_structure": 12,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 4.26,
      "spread_liquidity": 4.57,
      "momentum_consistency": 3.0,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 15.4,
      "vwap": 15.4106,
      "vwap_slope": -0.0636,
      "rvol": 0.19,
      "volume_acceleration": 1.48,
      "premarket_volume": 95730.0,
      "momentum_pct": 0.2,
      "consolidation_tightness_pct": 0.78,
      "distance_from_pm_high_pct": 2.32,
      "extension_from_vwap_pct": -0.07,
      "spread_pct": 0.13
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 15.7662,
    "pm_low": 15.28
  },
  {
    "symbol": "JBS",
    "total_score": 47.84,
    "raw_score": 50.71,
    "breakdown": {
      "price_quality": 2.03,
      "volume_quality": 12.0,
      "rvol": 8.05,
      "volume_acceleration": 3.73,
      "price_momentum": 0.06,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 4.95,
      "spread_liquidity": 4.74,
      "momentum_consistency": 2.76,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.975,
      "vwap": 12.9911,
      "vwap_slope": -0.0003,
      "rvol": 3.02,
      "volume_acceleration": 1.07,
      "premarket_volume": 1509715.0,
      "momentum_pct": 0.04,
      "consolidation_tightness_pct": 0.27,
      "distance_from_pm_high_pct": 1.41,
      "extension_from_vwap_pct": -0.12,
      "spread_pct": 0.08
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 13.16,
    "pm_low": 12.865
  },
  {
    "symbol": "PAYS",
    "total_score": 47.8,
    "raw_score": 50.67,
    "breakdown": {
      "price_quality": 2.04,
      "volume_quality": 12.0,
      "rvol": 0.55,
      "volume_acceleration": 2.04,
      "price_momentum": 1.17,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.94,
      "spread_liquidity": 4.49,
      "momentum_consistency": 3.24,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.96,
      "vwap": 12.9063,
      "vwap_slope": -0.0007,
      "rvol": 0.23,
      "volume_acceleration": 0.59,
      "premarket_volume": 114879.0,
      "momentum_pct": 0.78,
      "consolidation_tightness_pct": 1.01,
      "distance_from_pm_high_pct": 0.08,
      "extension_from_vwap_pct": 0.42,
      "spread_pct": 0.15
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 12.97,
    "pm_low": 12.83
  },
  {
    "symbol": "DBI",
    "total_score": 47.75,
    "raw_score": 50.61,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 8.43,
      "rvol": 0.34,
      "volume_acceleration": 2.74,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.78,
      "spread_liquidity": 3.72,
      "momentum_consistency": 1.7,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.2,
      "vwap": 5.1964,
      "vwap_slope": 0.0006,
      "rvol": 0.14,
      "volume_acceleration": 0.79,
      "premarket_volume": 70236.0,
      "momentum_pct": -0.19,
      "consolidation_tightness_pct": 0.48,
      "distance_from_pm_high_pct": 0.29,
      "extension_from_vwap_pct": 0.07,
      "spread_pct": 0.38
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 5.215,
    "pm_low": 5.18
  },
  {
    "symbol": "OI",
    "total_score": 47.58,
    "raw_score": 50.43,
    "breakdown": {
      "price_quality": 2.12,
      "volume_quality": 12.0,
      "rvol": 0.57,
      "volume_acceleration": 10,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.58,
      "spread_liquidity": 4.53,
      "momentum_consistency": 3.23,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.12,
      "vwap": 7.1354,
      "vwap_slope": -0.0016,
      "rvol": 0.24,
      "volume_acceleration": 2.08,
      "premarket_volume": 118805.0,
      "momentum_pct": -0.14,
      "consolidation_tightness_pct": 0.27,
      "distance_from_pm_high_pct": 0.56,
      "extension_from_vwap_pct": -0.22,
      "spread_pct": 0.14
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 7.16,
    "pm_low": 7.1
  },
  {
    "symbol": "MBC",
    "total_score": 47.44,
    "raw_score": 50.29,
    "breakdown": {
      "price_quality": 3.51,
      "volume_quality": 12.0,
      "rvol": 0.82,
      "volume_acceleration": 9.11,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.56,
      "spread_liquidity": 4.61,
      "momentum_consistency": 2.29,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.505,
      "vwap": 8.5193,
      "vwap_slope": -0.0056,
      "rvol": 0.34,
      "volume_acceleration": 1.91,
      "premarket_volume": 169917.0,
      "momentum_pct": -0.12,
      "consolidation_tightness_pct": 0.18,
      "distance_from_pm_high_pct": 0.58,
      "extension_from_vwap_pct": -0.17,
      "spread_pct": 0.12
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 8.555,
    "pm_low": 8.48
  },
  {
    "symbol": "ALIT",
    "total_score": 47.31,
    "raw_score": 50.15,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 4.19,
      "rvol": 0.17,
      "volume_acceleration": 4.13,
      "price_momentum": 0.25,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.97,
      "spread_liquidity": 2.99,
      "momentum_consistency": 4.55,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.935,
      "vwap": 14.7851,
      "vwap_slope": 0.069,
      "rvol": 0.07,
      "volume_acceleration": 1.41,
      "premarket_volume": 34917.0,
      "momentum_pct": 0.17,
      "consolidation_tightness_pct": 0.43,
      "distance_from_pm_high_pct": 0.03,
      "extension_from_vwap_pct": 1.01,
      "spread_pct": 0.6
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 14.94,
    "pm_low": 14.65
  },
  {
    "symbol": "NEXT",
    "total_score": 47.27,
    "raw_score": 50.1,
    "breakdown": {
      "price_quality": 2.35,
      "volume_quality": 12.0,
      "rvol": 0.79,
      "volume_acceleration": 2.31,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.7,
      "spread_liquidity": 4.55,
      "momentum_consistency": 2.81,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.35,
      "vwap": 7.3587,
      "vwap_slope": 0.0014,
      "rvol": 0.33,
      "volume_acceleration": 0.66,
      "premarket_volume": 163580.0,
      "momentum_pct": -0.27,
      "consolidation_tightness_pct": 0.54,
      "distance_from_pm_high_pct": 0.41,
      "extension_from_vwap_pct": -0.12,
      "spread_pct": 0.14
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": true
    },
    "pm_high": 7.38,
    "pm_low": 7.33
  },
  {
    "symbol": "MAT",
    "total_score": 47.24,
    "raw_score": 50.07,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 1.49,
      "volume_acceleration": 2.75,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.8,
      "spread_liquidity": 4.77,
      "momentum_consistency": 2.17,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.645,
      "vwap": 14.6625,
      "vwap_slope": 0.0009,
      "rvol": 0.62,
      "volume_acceleration": 0.79,
      "premarket_volume": 310057.0,
      "momentum_pct": -0.2,
      "consolidation_tightness_pct": 0.24,
      "distance_from_pm_high_pct": 0.27,
      "extension_from_vwap_pct": -0.12,
      "spread_pct": 0.07
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": true
    },
    "pm_high": 14.685,
    "pm_low": 14.635
  },
  {
    "symbol": "AES",
    "total_score": 47.23,
    "raw_score": 50.06,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 2.06,
      "volume_acceleration": 10,
      "price_momentum": 0.03,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.92,
      "spread_liquidity": 4.77,
      "momentum_consistency": 1.38,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.785,
      "vwap": 14.7889,
      "vwap_slope": -0.0008,
      "rvol": 0.86,
      "volume_acceleration": 3.38,
      "premarket_volume": 429200.0,
      "momentum_pct": 0.02,
      "consolidation_tightness_pct": 0.07,
      "distance_from_pm_high_pct": 0.1,
      "extension_from_vwap_pct": -0.03,
      "spread_pct": 0.07
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 14.8,
    "pm_low": 14.78
  },
  {
    "symbol": "DFH",
    "total_score": 47.21,
    "raw_score": 50.05,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 5.49,
      "rvol": 0.22,
      "volume_acceleration": 3.23,
      "price_momentum": 0.32,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 6,
      "spread_liquidity": 4.52,
      "momentum_consistency": 2.36,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.88,
      "vwap": 13.8307,
      "vwap_slope": 0.002,
      "rvol": 0.09,
      "volume_acceleration": 0.93,
      "premarket_volume": 45776.0,
      "momentum_pct": 0.22,
      "consolidation_tightness_pct": 0.22,
      "distance_from_pm_high_pct": 0.0,
      "extension_from_vwap_pct": 0.36,
      "spread_pct": 0.14
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 13.88,
    "pm_low": 13.795
  },
  {
    "symbol": "LFST",
    "total_score": 47.19,
    "raw_score": 50.02,
    "breakdown": {
      "price_quality": 2.3,
      "volume_quality": 12.0,
      "rvol": 0.83,
      "volume_acceleration": 2.3,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.82,
      "spread_liquidity": 4.74,
      "momentum_consistency": 2.44,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.7,
      "vwap": 12.7069,
      "vwap_slope": 0.0015,
      "rvol": 0.34,
      "volume_acceleration": 0.66,
      "premarket_volume": 171992.0,
      "momentum_pct": -0.12,
      "consolidation_tightness_pct": 0.16,
      "distance_from_pm_high_pct": 0.24,
      "extension_from_vwap_pct": -0.05,
      "spread_pct": 0.08
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": true
    },
    "pm_high": 12.73,
    "pm_low": 12.685
  },
  {
    "symbol": "DX",
    "total_score": 47.14,
    "raw_score": 49.97,
    "breakdown": {
      "price_quality": 2.06,
      "volume_quality": 12.0,
      "rvol": 0.95,
      "volume_acceleration": 10,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.91,
      "spread_liquidity": 4.74,
      "momentum_consistency": 1.9,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.935,
      "vwap": 12.9392,
      "vwap_slope": -0.0008,
      "rvol": 0.39,
      "volume_acceleration": 3.09,
      "premarket_volume": 197499.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.08,
      "distance_from_pm_high_pct": 0.12,
      "extension_from_vwap_pct": -0.03,
      "spread_pct": 0.08
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 12.95,
    "pm_low": 12.93
  },
  {
    "symbol": "CAL",
    "total_score": 47.01,
    "raw_score": 49.83,
    "breakdown": {
      "price_quality": 2.7,
      "volume_quality": 4.13,
      "rvol": 0.17,
      "volume_acceleration": 3.02,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.94,
      "spread_liquidity": 4.46,
      "momentum_consistency": 3.03,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.305,
      "vwap": 12.2937,
      "vwap_slope": 0.0085,
      "rvol": 0.07,
      "volume_acceleration": 1.3,
      "premarket_volume": 34382.0,
      "momentum_pct": -0.04,
      "consolidation_tightness_pct": 0.12,
      "distance_from_pm_high_pct": 0.08,
      "extension_from_vwap_pct": 0.09,
      "spread_pct": 0.16
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 12.315,
    "pm_low": 12.26
  },
  {
    "symbol": "QS",
    "total_score": 46.93,
    "raw_score": 49.75,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 1.57,
      "volume_acceleration": 2.87,
      "price_momentum": 0.14,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.86,
      "spread_liquidity": 4.39,
      "momentum_consistency": 2.21,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.48,
      "vwap": 5.4763,
      "vwap_slope": -0.0,
      "rvol": 0.66,
      "volume_acceleration": 0.83,
      "premarket_volume": 327898.0,
      "momentum_pct": 0.09,
      "consolidation_tightness_pct": 0.18,
      "distance_from_pm_high_pct": 0.18,
      "extension_from_vwap_pct": 0.07,
      "spread_pct": 0.18
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 5.49,
    "pm_low": 5.46
  },
  {
    "symbol": "VG",
    "total_score": 46.85,
    "raw_score": 49.66,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 3.49,
      "volume_acceleration": 6.6,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.74,
      "spread_liquidity": 4.77,
      "momentum_consistency": 3.17,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.345,
      "vwap": 14.3593,
      "vwap_slope": -0.0002,
      "rvol": 1.45,
      "volume_acceleration": 1.66,
      "premarket_volume": 726735.0,
      "momentum_pct": -0.1,
      "consolidation_tightness_pct": 0.17,
      "distance_from_pm_high_pct": 0.35,
      "extension_from_vwap_pct": -0.1,
      "spread_pct": 0.07
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 14.395,
    "pm_low": 14.3
  },
  {
    "symbol": "NWL",
    "total_score": 46.64,
    "raw_score": 49.44,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 2.6,
      "volume_acceleration": 10,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.27,
      "spread_liquidity": 4.45,
      "momentum_consistency": 1.22,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.09,
      "vwap": 6.1286,
      "vwap_slope": -0.0067,
      "rvol": 1.08,
      "volume_acceleration": 2.02,
      "premarket_volume": 540968.0,
      "momentum_pct": -0.72,
      "consolidation_tightness_pct": 0.73,
      "distance_from_pm_high_pct": 0.98,
      "extension_from_vwap_pct": -0.63,
      "spread_pct": 0.16
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 6.15,
    "pm_low": 6.09
  },
  {
    "symbol": "SRI",
    "total_score": 46.62,
    "raw_score": 49.42,
    "breakdown": {
      "price_quality": 2.42,
      "volume_quality": 3.71,
      "rvol": 0.15,
      "volume_acceleration": 10,
      "price_momentum": 0.51,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.7,
      "spread_liquidity": 4.1,
      "momentum_consistency": 3.64,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.42,
      "vwap": 7.3955,
      "vwap_slope": -0.0412,
      "rvol": 0.06,
      "volume_acceleration": 7.26,
      "premarket_volume": 30905.0,
      "momentum_pct": 0.34,
      "consolidation_tightness_pct": 1.08,
      "distance_from_pm_high_pct": 0.4,
      "extension_from_vwap_pct": 0.33,
      "spread_pct": 0.27
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 7.45,
    "pm_low": 7.35
  },
  {
    "symbol": "AIRO",
    "total_score": 46.61,
    "raw_score": 49.41,
    "breakdown": {
      "price_quality": 2.45,
      "volume_quality": 3.54,
      "rvol": 0.14,
      "volume_acceleration": 2.98,
      "price_momentum": 0.1,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.85,
      "spread_liquidity": 4.55,
      "momentum_consistency": 3.39,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.445,
      "vwap": 7.4342,
      "vwap_slope": 0.0029,
      "rvol": 0.06,
      "volume_acceleration": 0.86,
      "premarket_volume": 29526.0,
      "momentum_pct": 0.07,
      "consolidation_tightness_pct": 0.13,
      "distance_from_pm_high_pct": 0.2,
      "extension_from_vwap_pct": 0.14,
      "spread_pct": 0.13
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 7.46,
    "pm_low": 7.39
  },
  {
    "symbol": "RXST",
    "total_score": 46.61,
    "raw_score": 49.41,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 4.06,
      "rvol": 0.16,
      "volume_acceleration": 2.4,
      "price_momentum": 0.59,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.82,
      "spread_liquidity": 3.96,
      "momentum_consistency": 2.12,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.39,
      "vwap": 6.374,
      "vwap_slope": -0.0024,
      "rvol": 0.07,
      "volume_acceleration": 0.69,
      "premarket_volume": 33815.0,
      "momentum_pct": 0.39,
      "consolidation_tightness_pct": 0.47,
      "distance_from_pm_high_pct": 0.23,
      "extension_from_vwap_pct": 0.25,
      "spread_pct": 0.31
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 6.405,
    "pm_low": 6.35
  },
  {
    "symbol": "IMMR",
    "total_score": 46.57,
    "raw_score": 49.36,
    "breakdown": {
      "price_quality": 2.69,
      "volume_quality": 4.46,
      "rvol": 0.18,
      "volume_acceleration": 2.33,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 6,
      "spread_liquidity": 4.57,
      "momentum_consistency": 2.74,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.69,
      "vwap": 7.667,
      "vwap_slope": 0.0051,
      "rvol": 0.07,
      "volume_acceleration": 0.67,
      "premarket_volume": 37145.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.13,
      "distance_from_pm_high_pct": 0.0,
      "extension_from_vwap_pct": 0.3,
      "spread_pct": 0.13
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 7.69,
    "pm_low": 7.625
  },
  {
    "symbol": "OGN",
    "total_score": 46.5,
    "raw_score": 49.29,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 0.56,
      "volume_acceleration": 2.32,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.95,
      "spread_liquidity": 4.76,
      "momentum_consistency": 2.61,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.77,
      "vwap": 13.7771,
      "vwap_slope": 0.0002,
      "rvol": 0.23,
      "volume_acceleration": 0.67,
      "premarket_volume": 116274.0,
      "momentum_pct": -0.04,
      "consolidation_tightness_pct": 0.07,
      "distance_from_pm_high_pct": 0.07,
      "extension_from_vwap_pct": -0.05,
      "spread_pct": 0.07
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": true
    },
    "pm_high": 13.78,
    "pm_low": 13.77
  },
  {
    "symbol": "QUAD",
    "total_score": 46.44,
    "raw_score": 49.23,
    "breakdown": {
      "price_quality": 4.2,
      "volume_quality": 10.43,
      "rvol": 0.42,
      "volume_acceleration": 2.64,
      "price_momentum": 0.14,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 6,
      "spread_liquidity": 3.45,
      "momentum_consistency": 2.75,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.8,
      "vwap": 10.7661,
      "vwap_slope": -0.0013,
      "rvol": 0.17,
      "volume_acceleration": 0.76,
      "premarket_volume": 86891.0,
      "momentum_pct": 0.09,
      "consolidation_tightness_pct": 0.19,
      "distance_from_pm_high_pct": 0.0,
      "extension_from_vwap_pct": 0.31,
      "spread_pct": 0.46
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 10.8,
    "pm_low": 10.7
  },
  {
    "symbol": "RSKD",
    "total_score": 46.38,
    "raw_score": 49.17,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 1.12,
      "volume_acceleration": 2.09,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.65,
      "spread_liquidity": 4.48,
      "momentum_consistency": 2.72,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.425,
      "vwap": 6.4349,
      "vwap_slope": 0.0009,
      "rvol": 0.47,
      "volume_acceleration": 0.6,
      "premarket_volume": 232651.0,
      "momentum_pct": -0.23,
      "consolidation_tightness_pct": 0.39,
      "distance_from_pm_high_pct": 0.46,
      "extension_from_vwap_pct": -0.15,
      "spread_pct": 0.16
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": true
    },
    "pm_high": 6.455,
    "pm_low": 6.415
  },
  {
    "symbol": "TJGC",
    "total_score": 46.35,
    "raw_score": 49.13,
    "breakdown": {
      "price_quality": 4.48,
      "volume_quality": 6.33,
      "rvol": 0.25,
      "volume_acceleration": 5.66,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.08,
      "spread_liquidity": 3.73,
      "momentum_consistency": 4.0,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.52,
      "vwap": 10.5615,
      "vwap_slope": 0.0009,
      "rvol": 0.11,
      "volume_acceleration": 1.57,
      "premarket_volume": 52713.0,
      "momentum_pct": -0.19,
      "consolidation_tightness_pct": 0.38,
      "distance_from_pm_high_pct": 1.22,
      "extension_from_vwap_pct": -0.39,
      "spread_pct": 0.38
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": true
    },
    "pm_high": 10.65,
    "pm_low": 10.45
  },
  {
    "symbol": "ARDT",
    "total_score": 46.27,
    "raw_score": 49.05,
    "breakdown": {
      "price_quality": 4.17,
      "volume_quality": 4.24,
      "rvol": 0.17,
      "volume_acceleration": 1.55,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.81,
      "spread_liquidity": 4.38,
      "momentum_consistency": 2.32,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.83,
      "vwap": 10.8296,
      "vwap_slope": 0.004,
      "rvol": 0.07,
      "volume_acceleration": 0.45,
      "premarket_volume": 35363.0,
      "momentum_pct": -0.18,
      "consolidation_tightness_pct": 0.26,
      "distance_from_pm_high_pct": 0.26,
      "extension_from_vwap_pct": 0.0,
      "spread_pct": 0.18
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 10.8582,
    "pm_low": 10.8
  },
  {
    "symbol": "TASK",
    "total_score": 46.23,
    "raw_score": 49.0,
    "breakdown": {
      "price_quality": 2.9,
      "volume_quality": 4.34,
      "rvol": 0.17,
      "volume_acceleration": 3.26,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.91,
      "spread_liquidity": 4.58,
      "momentum_consistency": 1.44,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.9,
      "vwap": 7.8945,
      "vwap_slope": 0.0011,
      "rvol": 0.07,
      "volume_acceleration": 0.94,
      "premarket_volume": 36184.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.13,
      "distance_from_pm_high_pct": 0.13,
      "extension_from_vwap_pct": 0.07,
      "spread_pct": 0.13
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 7.91,
    "pm_low": 7.88
  },
  {
    "symbol": "ACVA",
    "total_score": 46.17,
    "raw_score": 48.94,
    "breakdown": {
      "price_quality": 2.07,
      "volume_quality": 12.0,
      "rvol": 0.72,
      "volume_acceleration": 2.69,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.74,
      "spread_liquidity": 4.53,
      "momentum_consistency": 1.6,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.07,
      "vwap": 7.0737,
      "vwap_slope": 0.0002,
      "rvol": 0.3,
      "volume_acceleration": 0.77,
      "premarket_volume": 150857.0,
      "momentum_pct": -0.07,
      "consolidation_tightness_pct": 0.14,
      "distance_from_pm_high_pct": 0.35,
      "extension_from_vwap_pct": -0.05,
      "spread_pct": 0.14
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": true
    },
    "pm_high": 7.095,
    "pm_low": 7.051
  },
  {
    "symbol": "GMRS",
    "total_score": 46.05,
    "raw_score": 48.81,
    "breakdown": {
      "price_quality": 1.59,
      "volume_quality": 2.68,
      "rvol": 0.11,
      "volume_acceleration": 4.41,
      "price_momentum": 0.11,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.97,
      "spread_liquidity": 4.5,
      "momentum_consistency": 3.03,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.41,
      "vwap": 13.3848,
      "vwap_slope": 0.0106,
      "rvol": 0.04,
      "volume_acceleration": 1.44,
      "premarket_volume": 22347.0,
      "momentum_pct": 0.07,
      "consolidation_tightness_pct": 0.11,
      "distance_from_pm_high_pct": 0.04,
      "extension_from_vwap_pct": 0.19,
      "spread_pct": 0.15
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 13.415,
    "pm_low": 13.36
  },
  {
    "symbol": "STDN",
    "total_score": 46.03,
    "raw_score": 48.79,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 3.04,
      "rvol": 0.12,
      "volume_acceleration": 3.94,
      "price_momentum": 0.63,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.21,
      "spread_liquidity": 2.95,
      "momentum_consistency": 2.6,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.615,
      "vwap": 14.6091,
      "vwap_slope": -0.0173,
      "rvol": 0.05,
      "volume_acceleration": 1.39,
      "premarket_volume": 25320.0,
      "momentum_pct": 0.42,
      "consolidation_tightness_pct": 0.51,
      "distance_from_pm_high_pct": 1.05,
      "extension_from_vwap_pct": 0.04,
      "spread_pct": 0.62
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 14.7699,
    "pm_low": 14.54
  },
  {
    "symbol": "HTLD",
    "total_score": 45.9,
    "raw_score": 48.65,
    "breakdown": {
      "price_quality": 2.64,
      "volume_quality": 4.54,
      "rvol": 0.18,
      "volume_acceleration": 1.52,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.91,
      "spread_liquidity": 4.73,
      "momentum_consistency": 2.72,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.355,
      "vwap": 12.318,
      "vwap_slope": 0.0114,
      "rvol": 0.08,
      "volume_acceleration": 1.15,
      "premarket_volume": 37830.0,
      "momentum_pct": -0.08,
      "consolidation_tightness_pct": 0.12,
      "distance_from_pm_high_pct": 0.12,
      "extension_from_vwap_pct": 0.3,
      "spread_pct": 0.08
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 12.37,
    "pm_low": 12.295
  },
  {
    "symbol": "ASYS",
    "total_score": 45.86,
    "raw_score": 48.61,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 4.39,
      "rvol": 0.18,
      "volume_acceleration": 0.73,
      "price_momentum": 0.3,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.9,
      "spread_liquidity": 3.66,
      "momentum_consistency": 3.15,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.99,
      "vwap": 14.9614,
      "vwap_slope": -0.0017,
      "rvol": 0.07,
      "volume_acceleration": 0.21,
      "premarket_volume": 36587.0,
      "momentum_pct": 0.2,
      "consolidation_tightness_pct": 0.53,
      "distance_from_pm_high_pct": 0.13,
      "extension_from_vwap_pct": 0.19,
      "spread_pct": 0.4
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 15.01,
    "pm_low": 14.85
  },
  {
    "symbol": "PGEN",
    "total_score": 45.79,
    "raw_score": 48.53,
    "breakdown": {
      "price_quality": 2.16,
      "volume_quality": 12.0,
      "rvol": 0.77,
      "volume_acceleration": 2.14,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.84,
      "spread_liquidity": 4.53,
      "momentum_consistency": 1.89,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.155,
      "vwap": 7.1486,
      "vwap_slope": -0.0,
      "rvol": 0.32,
      "volume_acceleration": 1.21,
      "premarket_volume": 159535.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.21,
      "distance_from_pm_high_pct": 0.21,
      "extension_from_vwap_pct": 0.09,
      "spread_pct": 0.14
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 7.17,
    "pm_low": 7.12
  },
  {
    "symbol": "SVRA",
    "total_score": 45.77,
    "raw_score": 48.52,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 5.44,
      "rvol": 0.22,
      "volume_acceleration": 3.08,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.86,
      "spread_liquidity": 4.38,
      "momentum_consistency": 1.64,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.365,
      "vwap": 5.3592,
      "vwap_slope": 0.0012,
      "rvol": 0.09,
      "volume_acceleration": 0.89,
      "premarket_volume": 45328.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.09,
      "distance_from_pm_high_pct": 0.19,
      "extension_from_vwap_pct": 0.11,
      "spread_pct": 0.19
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 5.375,
    "pm_low": 5.34
  },
  {
    "symbol": "PHR",
    "total_score": 45.67,
    "raw_score": 48.41,
    "breakdown": {
      "price_quality": 4.19,
      "volume_quality": 7.23,
      "rvol": 0.29,
      "volume_acceleration": 4.65,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.59,
      "spread_liquidity": 4.38,
      "momentum_consistency": 2.48,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.81,
      "vwap": 10.8382,
      "vwap_slope": 0.0041,
      "rvol": 0.12,
      "volume_acceleration": 1.47,
      "premarket_volume": 60261.0,
      "momentum_pct": -0.37,
      "consolidation_tightness_pct": 0.44,
      "distance_from_pm_high_pct": 0.55,
      "extension_from_vwap_pct": -0.26,
      "spread_pct": 0.19
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": true
    },
    "pm_high": 10.87,
    "pm_low": 10.8
  },
  {
    "symbol": "NRDS",
    "total_score": 45.59,
    "raw_score": 48.33,
    "breakdown": {
      "price_quality": 4.88,
      "volume_quality": 7.02,
      "rvol": 0.28,
      "volume_acceleration": 3.66,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.62,
      "spread_liquidity": 4.66,
      "momentum_consistency": 2.6,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.88,
      "vwap": 9.8983,
      "vwap_slope": 0.0005,
      "rvol": 0.12,
      "volume_acceleration": 1.05,
      "premarket_volume": 58481.0,
      "momentum_pct": -0.4,
      "consolidation_tightness_pct": 0.51,
      "distance_from_pm_high_pct": 0.5,
      "extension_from_vwap_pct": -0.18,
      "spread_pct": 0.1
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": true
    },
    "pm_high": 9.93,
    "pm_low": 9.855
  },
  {
    "symbol": "AVO",
    "total_score": 45.54,
    "raw_score": 48.27,
    "breakdown": {
      "price_quality": 2.32,
      "volume_quality": 3.16,
      "rvol": 0.13,
      "volume_acceleration": 3.53,
      "price_momentum": 0.06,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 6,
      "spread_liquidity": 4.74,
      "momentum_consistency": 1.94,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.68,
      "vwap": 12.661,
      "vwap_slope": 0.0065,
      "rvol": 0.05,
      "volume_acceleration": 1.02,
      "premarket_volume": 26305.0,
      "momentum_pct": 0.04,
      "consolidation_tightness_pct": 0.08,
      "distance_from_pm_high_pct": 0.0,
      "extension_from_vwap_pct": 0.15,
      "spread_pct": 0.08
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 12.68,
    "pm_low": 12.635
  },
  {
    "symbol": "PERI",
    "total_score": 45.42,
    "raw_score": 48.14,
    "breakdown": {
      "price_quality": 4.26,
      "volume_quality": 4.0,
      "rvol": 0.16,
      "volume_acceleration": 8.34,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.88,
      "spread_liquidity": 4.64,
      "momentum_consistency": 1.26,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.26,
      "vwap": 9.2653,
      "vwap_slope": 0.0006,
      "rvol": 0.07,
      "volume_acceleration": 1.83,
      "premarket_volume": 33364.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.05,
      "distance_from_pm_high_pct": 0.16,
      "extension_from_vwap_pct": -0.06,
      "spread_pct": 0.11
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": true
    },
    "pm_high": 9.275,
    "pm_low": 9.25
  },
  {
    "symbol": "ACDC",
    "total_score": 45.41,
    "raw_score": 48.13,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 3.45,
      "rvol": 0.14,
      "volume_acceleration": 2.83,
      "price_momentum": 0.15,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 6,
      "spread_liquidity": 4.35,
      "momentum_consistency": 3.31,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.12,
      "vwap": 5.1008,
      "vwap_slope": 0.0081,
      "rvol": 0.06,
      "volume_acceleration": 0.81,
      "premarket_volume": 28773.0,
      "momentum_pct": 0.1,
      "consolidation_tightness_pct": 0.2,
      "distance_from_pm_high_pct": 0.0,
      "extension_from_vwap_pct": 0.38,
      "spread_pct": 0.2
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 5.12,
    "pm_low": 5.08
  },
  {
    "symbol": "CLPT",
    "total_score": 45.39,
    "raw_score": 48.12,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 5.35,
      "rvol": 0.21,
      "volume_acceleration": 1.54,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.87,
      "spread_liquidity": 4.05,
      "momentum_consistency": 3.2,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.015,
      "vwap": 13.9798,
      "vwap_slope": 0.018,
      "rvol": 0.09,
      "volume_acceleration": 1.15,
      "premarket_volume": 44551.0,
      "momentum_pct": -0.04,
      "consolidation_tightness_pct": 0.35,
      "distance_from_pm_high_pct": 0.17,
      "extension_from_vwap_pct": 0.25,
      "spread_pct": 0.29
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 14.039,
    "pm_low": 13.94
  },
  {
    "symbol": "AEYE",
    "total_score": 45.3,
    "raw_score": 48.01,
    "breakdown": {
      "price_quality": 2.49,
      "volume_quality": 3.09,
      "rvol": 0.12,
      "volume_acceleration": 0.74,
      "price_momentum": 1.21,
      "price_structure": 12,
      "vwap_structure": 1.2,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 4.82,
      "spread_liquidity": 2.34,
      "momentum_consistency": 4.0,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.49,
      "vwap": 7.4926,
      "vwap_slope": 0.0013,
      "rvol": 0.05,
      "volume_acceleration": 0.21,
      "premarket_volume": 25786.0,
      "momentum_pct": 0.81,
      "consolidation_tightness_pct": 0.8,
      "distance_from_pm_high_pct": 1.58,
      "extension_from_vwap_pct": -0.04,
      "spread_pct": 0.8
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": false,
      "vwap_rising": true
    },
    "pm_high": 7.61,
    "pm_low": 7.365
  },
  {
    "symbol": "EMBC",
    "total_score": 45.24,
    "raw_score": 47.95,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 0.53,
      "volume_acceleration": 10,
      "price_momentum": 0.13,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.37,
      "spread_liquidity": 4.43,
      "momentum_consistency": 1.6,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.86,
      "vwap": 5.8661,
      "vwap_slope": -0.0019,
      "rvol": 0.22,
      "volume_acceleration": 2.61,
      "premarket_volume": 109779.0,
      "momentum_pct": 0.09,
      "consolidation_tightness_pct": 0.17,
      "distance_from_pm_high_pct": 0.85,
      "extension_from_vwap_pct": -0.1,
      "spread_pct": 0.17
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 5.91,
    "pm_low": 5.84
  },
  {
    "symbol": "FNKO",
    "total_score": 45.22,
    "raw_score": 47.94,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 4.44,
      "rvol": 0.18,
      "volume_acceleration": 2.47,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.93,
      "spread_liquidity": 4.42,
      "momentum_consistency": 2.6,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.745,
      "vwap": 5.7314,
      "vwap_slope": 0.0035,
      "rvol": 0.07,
      "volume_acceleration": 0.71,
      "premarket_volume": 36998.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.09,
      "distance_from_pm_high_pct": 0.09,
      "extension_from_vwap_pct": 0.24,
      "spread_pct": 0.17
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 5.75,
    "pm_low": 5.715
  },
  {
    "symbol": "PDYN",
    "total_score": 45.11,
    "raw_score": 47.82,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 2.42,
      "rvol": 0.1,
      "volume_acceleration": 10,
      "price_momentum": 0.12,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.93,
      "spread_liquidity": 4.42,
      "momentum_consistency": 4.14,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.7244,
      "vwap": 5.7163,
      "vwap_slope": -0.0048,
      "rvol": 0.04,
      "volume_acceleration": 2.65,
      "premarket_volume": 20205.0,
      "momentum_pct": 0.08,
      "consolidation_tightness_pct": 0.33,
      "distance_from_pm_high_pct": 0.1,
      "extension_from_vwap_pct": 0.14,
      "spread_pct": 0.17
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 5.73,
    "pm_low": 5.7
  },
  {
    "symbol": "OSS",
    "total_score": 45.04,
    "raw_score": 47.74,
    "breakdown": {
      "price_quality": 4.89,
      "volume_quality": 7.74,
      "rvol": 0.31,
      "volume_acceleration": 9.88,
      "price_momentum": 0.4,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.47,
      "spread_liquidity": 3.99,
      "momentum_consistency": 2.67,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.89,
      "vwap": 9.903,
      "vwap_slope": -0.006,
      "rvol": 0.13,
      "volume_acceleration": 1.99,
      "premarket_volume": 64512.0,
      "momentum_pct": 0.26,
      "consolidation_tightness_pct": 0.26,
      "distance_from_pm_high_pct": 0.7,
      "extension_from_vwap_pct": -0.13,
      "spread_pct": 0.3
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 9.96,
    "pm_low": 9.86
  },
  {
    "symbol": "AI",
    "total_score": 44.96,
    "raw_score": 47.66,
    "breakdown": {
      "price_quality": 4.57,
      "volume_quality": 12.0,
      "rvol": 5.0,
      "volume_acceleration": 2.04,
      "price_momentum": 0.07,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 4.28,
      "spread_liquidity": 4.68,
      "momentum_consistency": 2.62,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.43,
      "vwap": 10.5497,
      "vwap_slope": -0.0496,
      "rvol": 1.87,
      "volume_acceleration": 1.2,
      "premarket_volume": 936864.0,
      "momentum_pct": 0.05,
      "consolidation_tightness_pct": 0.58,
      "distance_from_pm_high_pct": 2.3,
      "extension_from_vwap_pct": -1.14,
      "spread_pct": 0.1
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 10.675,
    "pm_low": 10.39
  },
  {
    "symbol": "EROC",
    "total_score": 44.94,
    "raw_score": 47.63,
    "breakdown": {
      "price_quality": 2.92,
      "volume_quality": 8.17,
      "rvol": 0.33,
      "volume_acceleration": 3.77,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.78,
      "spread_liquidity": 4.45,
      "momentum_consistency": 2.62,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.08,
      "vwap": 12.0812,
      "vwap_slope": 0.0,
      "rvol": 0.14,
      "volume_acceleration": 1.38,
      "premarket_volume": 68116.0,
      "momentum_pct": -0.04,
      "consolidation_tightness_pct": 0.08,
      "distance_from_pm_high_pct": 0.3,
      "extension_from_vwap_pct": -0.01,
      "spread_pct": 0.17
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": true
    },
    "pm_high": 12.1158,
    "pm_low": 12.05
  },
  {
    "symbol": "HUN",
    "total_score": 44.9,
    "raw_score": 47.6,
    "breakdown": {
      "price_quality": 4.6,
      "volume_quality": 12.0,
      "rvol": 0.78,
      "volume_acceleration": 5.68,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.23,
      "spread_liquidity": 4.65,
      "momentum_consistency": 2.26,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.595,
      "vwap": 9.627,
      "vwap_slope": -0.0062,
      "rvol": 0.32,
      "volume_acceleration": 1.57,
      "premarket_volume": 162125.0,
      "momentum_pct": -0.1,
      "consolidation_tightness_pct": 0.26,
      "distance_from_pm_high_pct": 1.03,
      "extension_from_vwap_pct": -0.33,
      "spread_pct": 0.1
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 9.695,
    "pm_low": 9.59
  },
  {
    "symbol": "LTRX",
    "total_score": 44.79,
    "raw_score": 47.48,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 4.77,
      "rvol": 0.19,
      "volume_acceleration": 2.41,
      "price_momentum": 0.14,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.93,
      "spread_liquidity": 4.36,
      "momentum_consistency": 1.78,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.225,
      "vwap": 5.2246,
      "vwap_slope": 0.0006,
      "rvol": 0.08,
      "volume_acceleration": 0.69,
      "premarket_volume": 39754.0,
      "momentum_pct": 0.1,
      "consolidation_tightness_pct": 0.1,
      "distance_from_pm_high_pct": 0.1,
      "extension_from_vwap_pct": 0.01,
      "spread_pct": 0.19
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 5.23,
    "pm_low": 5.21
  },
  {
    "symbol": "SUJA",
    "total_score": 44.78,
    "raw_score": 47.47,
    "breakdown": {
      "price_quality": 4.57,
      "volume_quality": 8.89,
      "rvol": 0.36,
      "volume_acceleration": 1.86,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.08,
      "spread_liquidity": 3.72,
      "momentum_consistency": 3.39,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.43,
      "vwap": 10.4489,
      "vwap_slope": 0.0329,
      "rvol": 0.15,
      "volume_acceleration": 0.53,
      "premarket_volume": 74090.0,
      "momentum_pct": -0.48,
      "consolidation_tightness_pct": 1.34,
      "distance_from_pm_high_pct": 1.23,
      "extension_from_vwap_pct": -0.18,
      "spread_pct": 0.38
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": true
    },
    "pm_high": 10.56,
    "pm_low": 10.34
  },
  {
    "symbol": "DEI",
    "total_score": 44.68,
    "raw_score": 47.36,
    "breakdown": {
      "price_quality": 3.57,
      "volume_quality": 7.89,
      "rvol": 0.32,
      "volume_acceleration": 3.52,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.9,
      "spread_liquidity": 4.71,
      "momentum_consistency": 2.26,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.43,
      "vwap": 11.4283,
      "vwap_slope": -0.0009,
      "rvol": 0.13,
      "volume_acceleration": 1.01,
      "premarket_volume": 65727.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.13,
      "distance_from_pm_high_pct": 0.13,
      "extension_from_vwap_pct": 0.02,
      "spread_pct": 0.09
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 11.445,
    "pm_low": 11.41
  },
  {
    "symbol": "GDOT",
    "total_score": 44.61,
    "raw_score": 47.29,
    "breakdown": {
      "price_quality": 1.62,
      "volume_quality": 4.05,
      "rvol": 0.16,
      "volume_acceleration": 1.57,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.95,
      "spread_liquidity": 4.75,
      "momentum_consistency": 2.78,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.3799,
      "vwap": 13.3663,
      "vwap_slope": 0.0024,
      "rvol": 0.07,
      "volume_acceleration": 0.45,
      "premarket_volume": 33769.0,
      "momentum_pct": -0.04,
      "consolidation_tightness_pct": 0.14,
      "distance_from_pm_high_pct": 0.07,
      "extension_from_vwap_pct": 0.1,
      "spread_pct": 0.07
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 13.389,
    "pm_low": 13.34
  },
  {
    "symbol": "RGNX",
    "total_score": 44.41,
    "raw_score": 47.08,
    "breakdown": {
      "price_quality": 3.96,
      "volume_quality": 7.46,
      "rvol": 0.3,
      "volume_acceleration": 3.69,
      "price_momentum": 0.08,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.87,
      "spread_liquidity": 4.63,
      "momentum_consistency": 1.48,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.965,
      "vwap": 8.9677,
      "vwap_slope": 0.0005,
      "rvol": 0.12,
      "volume_acceleration": 1.06,
      "premarket_volume": 62140.0,
      "momentum_pct": 0.06,
      "consolidation_tightness_pct": 0.22,
      "distance_from_pm_high_pct": 0.17,
      "extension_from_vwap_pct": -0.03,
      "spread_pct": 0.11
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": true
    },
    "pm_high": 8.98,
    "pm_low": 8.95
  },
  {
    "symbol": "BB",
    "total_score": 44.33,
    "raw_score": 46.99,
    "breakdown": {
      "price_quality": 2.71,
      "volume_quality": 12.0,
      "rvol": 3.49,
      "volume_acceleration": 4.15,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.47,
      "spread_liquidity": 4.57,
      "momentum_consistency": 2.21,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.705,
      "vwap": 7.7132,
      "vwap_slope": -0.0005,
      "rvol": 1.45,
      "volume_acceleration": 1.42,
      "premarket_volume": 726741.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.26,
      "distance_from_pm_high_pct": 0.71,
      "extension_from_vwap_pct": -0.11,
      "spread_pct": 0.13
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 7.76,
    "pm_low": 7.69
  },
  {
    "symbol": "GCMG",
    "total_score": 44.26,
    "raw_score": 46.91,
    "breakdown": {
      "price_quality": 1.72,
      "volume_quality": 2.61,
      "rvol": 0.1,
      "volume_acceleration": 2.98,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.94,
      "spread_liquidity": 4.5,
      "momentum_consistency": 2.67,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.28,
      "vwap": 13.2711,
      "vwap_slope": 0.005,
      "rvol": 0.04,
      "volume_acceleration": 0.86,
      "premarket_volume": 21724.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.08,
      "distance_from_pm_high_pct": 0.08,
      "extension_from_vwap_pct": 0.07,
      "spread_pct": 0.15
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 13.29,
    "pm_low": 13.24
  },
  {
    "symbol": "MNRO",
    "total_score": 44.05,
    "raw_score": 46.69,
    "breakdown": {
      "price_quality": 1.74,
      "volume_quality": 10.06,
      "rvol": 0.4,
      "volume_acceleration": 2.43,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.47,
      "spread_liquidity": 4.5,
      "momentum_consistency": 2.5,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.26,
      "vwap": 13.2772,
      "vwap_slope": 0.0011,
      "rvol": 0.17,
      "volume_acceleration": 0.7,
      "premarket_volume": 83818.0,
      "momentum_pct": -0.08,
      "consolidation_tightness_pct": 0.15,
      "distance_from_pm_high_pct": 0.71,
      "extension_from_vwap_pct": -0.13,
      "spread_pct": 0.15
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": true
    },
    "pm_high": 13.355,
    "pm_low": 13.22
  },
  {
    "symbol": "XHLD",
    "total_score": 44.02,
    "raw_score": 46.66,
    "breakdown": {
      "price_quality": 4.15,
      "volume_quality": 12.0,
      "rvol": 0.95,
      "volume_acceleration": 5.6,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 4.95,
      "spread_liquidity": 4.27,
      "momentum_consistency": 2.34,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.15,
      "vwap": 9.1825,
      "vwap_slope": -0.0099,
      "rvol": 0.39,
      "volume_acceleration": 1.56,
      "premarket_volume": 197147.0,
      "momentum_pct": -0.22,
      "consolidation_tightness_pct": 0.22,
      "distance_from_pm_high_pct": 1.4,
      "extension_from_vwap_pct": -0.35,
      "spread_pct": 0.22
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 9.28,
    "pm_low": 9.15
  },
  {
    "symbol": "TU",
    "total_score": 43.96,
    "raw_score": 46.6,
    "breakdown": {
      "price_quality": 4.68,
      "volume_quality": 12.0,
      "rvol": 2.3,
      "volume_acceleration": 2.69,
      "price_momentum": 0.16,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.69,
      "spread_liquidity": 4.66,
      "momentum_consistency": 2.03,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.68,
      "vwap": 9.69,
      "vwap_slope": -0.0032,
      "rvol": 0.96,
      "volume_acceleration": 1.27,
      "premarket_volume": 478664.0,
      "momentum_pct": 0.1,
      "consolidation_tightness_pct": 0.16,
      "distance_from_pm_high_pct": 0.41,
      "extension_from_vwap_pct": -0.1,
      "spread_pct": 0.1
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 9.72,
    "pm_low": 9.66
  },
  {
    "symbol": "MAX",
    "total_score": 43.85,
    "raw_score": 46.48,
    "breakdown": {
      "price_quality": 2.93,
      "volume_quality": 3.82,
      "rvol": 0.15,
      "volume_acceleration": 8.12,
      "price_momentum": 0.19,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.91,
      "spread_liquidity": 4.17,
      "momentum_consistency": 2.0,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.075,
      "vwap": 12.0716,
      "vwap_slope": -0.0044,
      "rvol": 0.06,
      "volume_acceleration": 1.81,
      "premarket_volume": 31805.0,
      "momentum_pct": 0.12,
      "consolidation_tightness_pct": 0.17,
      "distance_from_pm_high_pct": 0.12,
      "extension_from_vwap_pct": 0.03,
      "spread_pct": 0.25
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 12.09,
    "pm_low": 12.03
  },
  {
    "symbol": "AVPT",
    "total_score": 43.8,
    "raw_score": 46.43,
    "breakdown": {
      "price_quality": 1.56,
      "volume_quality": 8.66,
      "rvol": 0.35,
      "volume_acceleration": 3.24,
      "price_momentum": 0.06,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.94,
      "spread_liquidity": 4.75,
      "momentum_consistency": 2.67,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.435,
      "vwap": 13.4319,
      "vwap_slope": -0.0001,
      "rvol": 0.14,
      "volume_acceleration": 0.93,
      "premarket_volume": 72162.0,
      "momentum_pct": 0.04,
      "consolidation_tightness_pct": 0.07,
      "distance_from_pm_high_pct": 0.07,
      "extension_from_vwap_pct": 0.02,
      "spread_pct": 0.07
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 13.445,
    "pm_low": 13.42
  },
  {
    "symbol": "EXK",
    "total_score": 43.61,
    "raw_score": 46.23,
    "breakdown": {
      "price_quality": 3.9,
      "volume_quality": 12.0,
      "rvol": 3.08,
      "volume_acceleration": 2.28,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.42,
      "spread_liquidity": 4.7,
      "momentum_consistency": 2.44,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.099,
      "vwap": 11.1406,
      "vwap_slope": -0.0032,
      "rvol": 1.28,
      "volume_acceleration": 0.66,
      "premarket_volume": 641840.0,
      "momentum_pct": -0.26,
      "consolidation_tightness_pct": 0.29,
      "distance_from_pm_high_pct": 0.77,
      "extension_from_vwap_pct": -0.37,
      "spread_pct": 0.09
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 11.185,
    "pm_low": 11.095
  },
  {
    "symbol": "CLF",
    "total_score": 43.6,
    "raw_score": 46.22,
    "breakdown": {
      "price_quality": 2.61,
      "volume_quality": 12.0,
      "rvol": 3.33,
      "volume_acceleration": 3.29,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.55,
      "spread_liquidity": 4.73,
      "momentum_consistency": 2.31,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.39,
      "vwap": 12.429,
      "vwap_slope": -0.0052,
      "rvol": 1.39,
      "volume_acceleration": 0.95,
      "premarket_volume": 693452.0,
      "momentum_pct": -0.12,
      "consolidation_tightness_pct": 0.24,
      "distance_from_pm_high_pct": 0.6,
      "extension_from_vwap_pct": -0.31,
      "spread_pct": 0.08
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 12.465,
    "pm_low": 12.39
  },
  {
    "symbol": "EQX",
    "total_score": 43.41,
    "raw_score": 46.02,
    "breakdown": {
      "price_quality": 2.2,
      "volume_quality": 12.0,
      "rvol": 3.2,
      "volume_acceleration": 2.62,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.83,
      "spread_liquidity": 4.74,
      "momentum_consistency": 3.03,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.8001,
      "vwap": 12.8054,
      "vwap_slope": -0.0,
      "rvol": 1.33,
      "volume_acceleration": 0.75,
      "premarket_volume": 666646.0,
      "momentum_pct": -0.08,
      "consolidation_tightness_pct": 0.15,
      "distance_from_pm_high_pct": 0.23,
      "extension_from_vwap_pct": -0.04,
      "spread_pct": 0.08
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 12.8299,
    "pm_low": 12.785
  },
  {
    "symbol": "OPFI",
    "total_score": 43.21,
    "raw_score": 45.8,
    "breakdown": {
      "price_quality": 2.36,
      "volume_quality": 6.82,
      "rvol": 0.27,
      "volume_acceleration": 4.39,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.7,
      "spread_liquidity": 4.55,
      "momentum_consistency": 2.12,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.355,
      "vwap": 7.3614,
      "vwap_slope": 0.0001,
      "rvol": 0.11,
      "volume_acceleration": 1.44,
      "premarket_volume": 56825.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.08,
      "distance_from_pm_high_pct": 0.41,
      "extension_from_vwap_pct": -0.09,
      "spread_pct": 0.14
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": true
    },
    "pm_high": 7.385,
    "pm_low": 7.335
  },
  {
    "symbol": "GFR",
    "total_score": 42.99,
    "raw_score": 45.57,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 10.83,
      "rvol": 0.43,
      "volume_acceleration": 1.1,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.82,
      "spread_liquidity": 4.46,
      "momentum_consistency": 2.23,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.16,
      "vwap": 6.1588,
      "vwap_slope": -0.0003,
      "rvol": 0.18,
      "volume_acceleration": 0.32,
      "premarket_volume": 90291.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.16,
      "distance_from_pm_high_pct": 0.24,
      "extension_from_vwap_pct": 0.02,
      "spread_pct": 0.16
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 6.175,
    "pm_low": 6.14
  },
  {
    "symbol": "RUM",
    "total_score": 42.87,
    "raw_score": 45.44,
    "breakdown": {
      "price_quality": 3.71,
      "volume_quality": 12.0,
      "rvol": 1.11,
      "volume_acceleration": 3.19,
      "price_momentum": 0.17,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.11,
      "spread_liquidity": 4.62,
      "momentum_consistency": 3.14,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.705,
      "vwap": 8.747,
      "vwap_slope": -0.0108,
      "rvol": 0.46,
      "volume_acceleration": 0.92,
      "premarket_volume": 231473.0,
      "momentum_pct": 0.12,
      "consolidation_tightness_pct": 0.17,
      "distance_from_pm_high_pct": 1.19,
      "extension_from_vwap_pct": -0.48,
      "spread_pct": 0.12
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 8.81,
    "pm_low": 8.69
  },
  {
    "symbol": "IE",
    "total_score": 42.84,
    "raw_score": 45.41,
    "breakdown": {
      "price_quality": 4.98,
      "volume_quality": 12.0,
      "rvol": 0.66,
      "volume_acceleration": 2.2,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.66,
      "spread_liquidity": 4.67,
      "momentum_consistency": 2.86,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.02,
      "vwap": 10.0275,
      "vwap_slope": -0.0001,
      "rvol": 0.27,
      "volume_acceleration": 0.63,
      "premarket_volume": 136478.0,
      "momentum_pct": -0.05,
      "consolidation_tightness_pct": 0.1,
      "distance_from_pm_high_pct": 0.46,
      "extension_from_vwap_pct": -0.08,
      "spread_pct": 0.1
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 10.066,
    "pm_low": 9.99
  },
  {
    "symbol": "KD",
    "total_score": 42.82,
    "raw_score": 45.39,
    "breakdown": {
      "price_quality": 1.8,
      "volume_quality": 12.0,
      "rvol": 2.07,
      "volume_acceleration": 3.75,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.49,
      "spread_liquidity": 4.75,
      "momentum_consistency": 3.12,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.195,
      "vwap": 13.233,
      "vwap_slope": -0.007,
      "rvol": 0.86,
      "volume_acceleration": 1.08,
      "premarket_volume": 432161.0,
      "momentum_pct": -0.04,
      "consolidation_tightness_pct": 0.37,
      "distance_from_pm_high_pct": 0.68,
      "extension_from_vwap_pct": -0.29,
      "spread_pct": 0.08
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 13.285,
    "pm_low": 13.18
  },
  {
    "symbol": "ALMS",
    "total_score": 42.74,
    "raw_score": 45.31,
    "breakdown": {
      "price_quality": 3.87,
      "volume_quality": 12.0,
      "rvol": 1.03,
      "volume_acceleration": 3.89,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.33,
      "spread_liquidity": 4.4,
      "momentum_consistency": 2.39,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.13,
      "vwap": 11.1575,
      "vwap_slope": -0.0028,
      "rvol": 0.43,
      "volume_acceleration": 1.12,
      "premarket_volume": 213592.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.27,
      "distance_from_pm_high_pct": 0.89,
      "extension_from_vwap_pct": -0.25,
      "spread_pct": 0.18
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 11.23,
    "pm_low": 11.1
  },
  {
    "symbol": "OBDC",
    "total_score": 42.54,
    "raw_score": 45.1,
    "breakdown": {
      "price_quality": 3.56,
      "volume_quality": 12.0,
      "rvol": 1.06,
      "volume_acceleration": 3.91,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.83,
      "spread_liquidity": 4.71,
      "momentum_consistency": 1.63,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.44,
      "vwap": 11.4549,
      "vwap_slope": -0.0008,
      "rvol": 0.44,
      "volume_acceleration": 1.12,
      "premarket_volume": 221475.0,
      "momentum_pct": -0.13,
      "consolidation_tightness_pct": 0.13,
      "distance_from_pm_high_pct": 0.23,
      "extension_from_vwap_pct": -0.13,
      "spread_pct": 0.09
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 11.466,
    "pm_low": 11.44
  },
  {
    "symbol": "TGB",
    "total_score": 42.5,
    "raw_score": 45.05,
    "breakdown": {
      "price_quality": 3.44,
      "volume_quality": 12.0,
      "rvol": 1.52,
      "volume_acceleration": 2.78,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.73,
      "spread_liquidity": 4.61,
      "momentum_consistency": 2.58,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.44,
      "vwap": 8.4511,
      "vwap_slope": -0.0003,
      "rvol": 0.63,
      "volume_acceleration": 1.28,
      "premarket_volume": 315818.0,
      "momentum_pct": -0.18,
      "consolidation_tightness_pct": 0.18,
      "distance_from_pm_high_pct": 0.35,
      "extension_from_vwap_pct": -0.13,
      "spread_pct": 0.12
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 8.47,
    "pm_low": 8.43
  },
  {
    "symbol": "SMPL",
    "total_score": 42.35,
    "raw_score": 44.89,
    "breakdown": {
      "price_quality": 3.66,
      "volume_quality": 12.0,
      "rvol": 0.57,
      "volume_acceleration": 3.32,
      "price_momentum": 0.2,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.77,
      "spread_liquidity": 4.71,
      "momentum_consistency": 2.26,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.34,
      "vwap": 11.3446,
      "vwap_slope": -0.0036,
      "rvol": 0.24,
      "volume_acceleration": 0.95,
      "premarket_volume": 119695.0,
      "momentum_pct": 0.13,
      "consolidation_tightness_pct": 0.13,
      "distance_from_pm_high_pct": 0.31,
      "extension_from_vwap_pct": -0.04,
      "spread_pct": 0.09
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 11.375,
    "pm_low": 11.32
  },
  {
    "symbol": "FOSL",
    "total_score": 42.28,
    "raw_score": 44.82,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 8.86,
      "rvol": 0.35,
      "volume_acceleration": 10,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.35,
      "spread_liquidity": 4.35,
      "momentum_consistency": 2.0,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.165,
      "vwap": 5.1788,
      "vwap_slope": -0.0182,
      "rvol": 0.15,
      "volume_acceleration": 6.45,
      "premarket_volume": 73820.0,
      "momentum_pct": -0.86,
      "consolidation_tightness_pct": 1.16,
      "distance_from_pm_high_pct": 0.86,
      "extension_from_vwap_pct": -0.27,
      "spread_pct": 0.19
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 5.21,
    "pm_low": 5.15
  },
  {
    "symbol": "FSM",
    "total_score": 42.27,
    "raw_score": 44.8,
    "breakdown": {
      "price_quality": 2.68,
      "volume_quality": 12.0,
      "rvol": 1.65,
      "volume_acceleration": 3.3,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.61,
      "spread_liquidity": 4.73,
      "momentum_consistency": 2.44,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.32,
      "vwap": 12.3522,
      "vwap_slope": -0.0043,
      "rvol": 0.69,
      "volume_acceleration": 0.95,
      "premarket_volume": 343813.0,
      "momentum_pct": -0.16,
      "consolidation_tightness_pct": 0.16,
      "distance_from_pm_high_pct": 0.52,
      "extension_from_vwap_pct": -0.26,
      "spread_pct": 0.08
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 12.385,
    "pm_low": 12.32
  },
  {
    "symbol": "MTRX",
    "total_score": 42.16,
    "raw_score": 44.69,
    "breakdown": {
      "price_quality": 4.62,
      "volume_quality": 3.75,
      "rvol": 0.15,
      "volume_acceleration": 3.9,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.64,
      "spread_liquidity": 4.36,
      "momentum_consistency": 2.67,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.38,
      "vwap": 10.3988,
      "vwap_slope": 0.0005,
      "rvol": 0.06,
      "volume_acceleration": 1.12,
      "premarket_volume": 31258.0,
      "momentum_pct": -0.43,
      "consolidation_tightness_pct": 0.43,
      "distance_from_pm_high_pct": 0.48,
      "extension_from_vwap_pct": -0.18,
      "spread_pct": 0.19
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": true
    },
    "pm_high": 10.43,
    "pm_low": 10.32
  },
  {
    "symbol": "TSSI",
    "total_score": 42.12,
    "raw_score": 44.64,
    "breakdown": {
      "price_quality": 3.51,
      "volume_quality": 11.52,
      "rvol": 0.46,
      "volume_acceleration": 2.7,
      "price_momentum": 0.09,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.56,
      "spread_liquidity": 4.61,
      "momentum_consistency": 3.79,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.51,
      "vwap": 8.5168,
      "vwap_slope": -0.0019,
      "rvol": 0.19,
      "volume_acceleration": 1.27,
      "premarket_volume": 96014.0,
      "momentum_pct": 0.06,
      "consolidation_tightness_pct": 0.53,
      "distance_from_pm_high_pct": 0.58,
      "extension_from_vwap_pct": -0.08,
      "spread_pct": 0.12
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 8.56,
    "pm_low": 8.48
  },
  {
    "symbol": "XMAX",
    "total_score": 42.05,
    "raw_score": 44.57,
    "breakdown": {
      "price_quality": 3.69,
      "volume_quality": 3.3,
      "rvol": 0.13,
      "volume_acceleration": 2.6,
      "price_momentum": 0.0,
      "price_structure": 12,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.74,
      "spread_liquidity": 4.62,
      "momentum_consistency": 2.5,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.685,
      "vwap": 8.6945,
      "vwap_slope": -0.0095,
      "rvol": 0.05,
      "volume_acceleration": 0.75,
      "premarket_volume": 27494.0,
      "momentum_pct": -0.06,
      "consolidation_tightness_pct": 0.13,
      "distance_from_pm_high_pct": 0.34,
      "extension_from_vwap_pct": -0.11,
      "spread_pct": 0.12
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 8.715,
    "pm_low": 8.68
  },
  {
    "symbol": "RILY",
    "total_score": 42.02,
    "raw_score": 44.54,
    "breakdown": {
      "price_quality": 2.06,
      "volume_quality": 3.02,
      "rvol": 0.12,
      "volume_acceleration": 6.92,
      "price_momentum": 0.11,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.79,
      "spread_liquidity": 4.06,
      "momentum_consistency": 3.27,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.06,
      "vwap": 7.0577,
      "vwap_slope": -0.0059,
      "rvol": 0.05,
      "volume_acceleration": 1.69,
      "premarket_volume": 25157.0,
      "momentum_pct": 0.07,
      "consolidation_tightness_pct": 0.28,
      "distance_from_pm_high_pct": 0.28,
      "extension_from_vwap_pct": 0.03,
      "spread_pct": 0.28
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 7.08,
    "pm_low": 7.04
  },
  {
    "symbol": "DC",
    "total_score": 41.95,
    "raw_score": 44.47,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 8.2,
      "rvol": 0.33,
      "volume_acceleration": 10,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.37,
      "spread_liquidity": 4.44,
      "momentum_consistency": 2.23,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.94,
      "vwap": 5.9587,
      "vwap_slope": -0.0073,
      "rvol": 0.14,
      "volume_acceleration": 2.32,
      "premarket_volume": 68300.0,
      "momentum_pct": -0.42,
      "consolidation_tightness_pct": 0.49,
      "distance_from_pm_high_pct": 0.83,
      "extension_from_vwap_pct": -0.31,
      "spread_pct": 0.17
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 5.99,
    "pm_low": 5.94
  },
  {
    "symbol": "NXE",
    "total_score": 41.94,
    "raw_score": 44.46,
    "breakdown": {
      "price_quality": 4.23,
      "volume_quality": 12.0,
      "rvol": 2.11,
      "volume_acceleration": 1.71,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.55,
      "spread_liquidity": 4.69,
      "momentum_consistency": 1.76,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.765,
      "vwap": 10.7813,
      "vwap_slope": -0.0003,
      "rvol": 0.88,
      "volume_acceleration": 0.49,
      "premarket_volume": 440176.0,
      "momentum_pct": -0.09,
      "consolidation_tightness_pct": 0.14,
      "distance_from_pm_high_pct": 0.6,
      "extension_from_vwap_pct": -0.15,
      "spread_pct": 0.09
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 10.83,
    "pm_low": 10.76
  },
  {
    "symbol": "VITL",
    "total_score": 41.92,
    "raw_score": 44.44,
    "breakdown": {
      "price_quality": 4.85,
      "volume_quality": 10.06,
      "rvol": 0.4,
      "volume_acceleration": 3.87,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.7,
      "spread_liquidity": 4.66,
      "momentum_consistency": 2.5,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.85,
      "vwap": 9.8646,
      "vwap_slope": -0.0058,
      "rvol": 0.17,
      "volume_acceleration": 1.11,
      "premarket_volume": 83855.0,
      "momentum_pct": -0.1,
      "consolidation_tightness_pct": 0.2,
      "distance_from_pm_high_pct": 0.4,
      "extension_from_vwap_pct": -0.15,
      "spread_pct": 0.1
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 9.89,
    "pm_low": 9.83
  },
  {
    "symbol": "FCEL",
    "total_score": 41.9,
    "raw_score": 44.42,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 1.63,
      "volume_acceleration": 3.88,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.34,
      "spread_liquidity": 4.77,
      "momentum_consistency": 2.9,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.605,
      "vwap": 14.6454,
      "vwap_slope": -0.0151,
      "rvol": 0.68,
      "volume_acceleration": 1.39,
      "premarket_volume": 339182.0,
      "momentum_pct": -0.03,
      "consolidation_tightness_pct": 0.27,
      "distance_from_pm_high_pct": 0.88,
      "extension_from_vwap_pct": -0.28,
      "spread_pct": 0.07
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 14.735,
    "pm_low": 14.56
  },
  {
    "symbol": "CPRI",
    "total_score": 41.88,
    "raw_score": 44.39,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 1.68,
      "volume_acceleration": 3.97,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.56,
      "spread_liquidity": 4.75,
      "momentum_consistency": 2.53,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.565,
      "vwap": 13.6014,
      "vwap_slope": -0.0099,
      "rvol": 0.7,
      "volume_acceleration": 1.4,
      "premarket_volume": 349425.0,
      "momentum_pct": -0.04,
      "consolidation_tightness_pct": 0.18,
      "distance_from_pm_high_pct": 0.59,
      "extension_from_vwap_pct": -0.27,
      "spread_pct": 0.07
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 13.645,
    "pm_low": 13.56
  },
  {
    "symbol": "TAL",
    "total_score": 41.86,
    "raw_score": 44.37,
    "breakdown": {
      "price_quality": 2.64,
      "volume_quality": 12.0,
      "rvol": 1.16,
      "volume_acceleration": 3.55,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.85,
      "spread_liquidity": 4.73,
      "momentum_consistency": 2.03,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.355,
      "vwap": 12.3642,
      "vwap_slope": -0.0016,
      "rvol": 0.48,
      "volume_acceleration": 1.02,
      "premarket_volume": 242209.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.12,
      "distance_from_pm_high_pct": 0.2,
      "extension_from_vwap_pct": -0.07,
      "spread_pct": 0.08
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 12.38,
    "pm_low": 12.35
  },
  {
    "symbol": "TBCH",
    "total_score": 41.85,
    "raw_score": 44.36,
    "breakdown": {
      "price_quality": 2.56,
      "volume_quality": 2.43,
      "rvol": 0.1,
      "volume_acceleration": 6.42,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.79,
      "spread_liquidity": 4.46,
      "momentum_consistency": 3.0,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.44,
      "vwap": 12.4498,
      "vwap_slope": 0.0004,
      "rvol": 0.04,
      "volume_acceleration": 1.64,
      "premarket_volume": 20245.0,
      "momentum_pct": -0.16,
      "consolidation_tightness_pct": 0.28,
      "distance_from_pm_high_pct": 0.28,
      "extension_from_vwap_pct": -0.08,
      "spread_pct": 0.16
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": true
    },
    "pm_high": 12.4749,
    "pm_low": 12.43
  },
  {
    "symbol": "FLO",
    "total_score": 41.79,
    "raw_score": 44.29,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 3.56,
      "volume_acceleration": 2.74,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.59,
      "spread_liquidity": 4.47,
      "momentum_consistency": 2.03,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.335,
      "vwap": 6.3397,
      "vwap_slope": -0.0002,
      "rvol": 1.48,
      "volume_acceleration": 0.79,
      "premarket_volume": 741440.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.3,
      "distance_from_pm_high_pct": 0.55,
      "extension_from_vwap_pct": -0.07,
      "spread_pct": 0.16
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 6.37,
    "pm_low": 6.32
  },
  {
    "symbol": "IBRX",
    "total_score": 41.79,
    "raw_score": 44.3,
    "breakdown": {
      "price_quality": 3.06,
      "volume_quality": 12.0,
      "rvol": 1.52,
      "volume_acceleration": 1.88,
      "price_momentum": 0.19,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.81,
      "spread_liquidity": 4.59,
      "momentum_consistency": 2.85,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.06,
      "vwap": 8.0636,
      "vwap_slope": -0.0007,
      "rvol": 0.63,
      "volume_acceleration": 0.54,
      "premarket_volume": 316733.0,
      "momentum_pct": 0.12,
      "consolidation_tightness_pct": 0.12,
      "distance_from_pm_high_pct": 0.25,
      "extension_from_vwap_pct": -0.04,
      "spread_pct": 0.12
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 8.08,
    "pm_low": 8.03
  },
  {
    "symbol": "ARCO",
    "total_score": 41.7,
    "raw_score": 44.2,
    "breakdown": {
      "price_quality": 3.2,
      "volume_quality": 4.54,
      "rvol": 0.18,
      "volume_acceleration": 3.99,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.77,
      "spread_liquidity": 4.59,
      "momentum_consistency": 2.33,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.195,
      "vwap": 8.1957,
      "vwap_slope": 0.0,
      "rvol": 0.08,
      "volume_acceleration": 1.15,
      "premarket_volume": 37808.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.06,
      "distance_from_pm_high_pct": 0.3,
      "extension_from_vwap_pct": -0.01,
      "spread_pct": 0.12
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": true
    },
    "pm_high": 8.22,
    "pm_low": 8.185
  },
  {
    "symbol": "CRML",
    "total_score": 41.68,
    "raw_score": 44.19,
    "breakdown": {
      "price_quality": 2.36,
      "volume_quality": 12.0,
      "rvol": 0.76,
      "volume_acceleration": 3.68,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.47,
      "spread_liquidity": 4.55,
      "momentum_consistency": 2.96,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.36,
      "vwap": 7.3872,
      "vwap_slope": -0.0018,
      "rvol": 0.32,
      "volume_acceleration": 1.06,
      "premarket_volume": 158645.0,
      "momentum_pct": -0.34,
      "consolidation_tightness_pct": 0.41,
      "distance_from_pm_high_pct": 0.7,
      "extension_from_vwap_pct": -0.37,
      "spread_pct": 0.14
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 7.412,
    "pm_low": 7.36
  },
  {
    "symbol": "UPB",
    "total_score": 41.57,
    "raw_score": 44.06,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 5.95,
      "rvol": 0.24,
      "volume_acceleration": 4.5,
      "price_momentum": 0.74,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.8,
      "spread_liquidity": 3.91,
      "momentum_consistency": 2.22,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.11,
      "vwap": 6.0892,
      "vwap_slope": -0.0059,
      "rvol": 0.1,
      "volume_acceleration": 1.45,
      "premarket_volume": 49582.0,
      "momentum_pct": 0.49,
      "consolidation_tightness_pct": 0.49,
      "distance_from_pm_high_pct": 0.26,
      "extension_from_vwap_pct": 0.34,
      "spread_pct": 0.33
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 6.126,
    "pm_low": 6.065
  },
  {
    "symbol": "KRNY",
    "total_score": 41.37,
    "raw_score": 43.86,
    "breakdown": {
      "price_quality": 4.88,
      "volume_quality": 4.03,
      "rvol": 0.16,
      "volume_acceleration": 10,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.79,
      "spread_liquidity": 4.67,
      "momentum_consistency": 1.93,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.12,
      "vwap": 10.133,
      "vwap_slope": -0.0007,
      "rvol": 0.07,
      "volume_acceleration": 4.01,
      "premarket_volume": 33567.0,
      "momentum_pct": -0.05,
      "consolidation_tightness_pct": 0.2,
      "distance_from_pm_high_pct": 0.29,
      "extension_from_vwap_pct": -0.13,
      "spread_pct": 0.1
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 10.149,
    "pm_low": 10.12
  },
  {
    "symbol": "TRIP",
    "total_score": 41.36,
    "raw_score": 43.84,
    "breakdown": {
      "price_quality": 4.47,
      "volume_quality": 12.0,
      "rvol": 1.27,
      "volume_acceleration": 1.37,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.65,
      "spread_liquidity": 4.65,
      "momentum_consistency": 2.03,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.475,
      "vwap": 9.4996,
      "vwap_slope": -0.0029,
      "rvol": 0.53,
      "volume_acceleration": 0.39,
      "premarket_volume": 263816.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.11,
      "distance_from_pm_high_pct": 0.47,
      "extension_from_vwap_pct": -0.26,
      "spread_pct": 0.11
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 9.52,
    "pm_low": 9.47
  },
  {
    "symbol": "TIC",
    "total_score": 41.32,
    "raw_score": 43.8,
    "breakdown": {
      "price_quality": 4.35,
      "volume_quality": 3.89,
      "rvol": 0.16,
      "volume_acceleration": 2.91,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.85,
      "spread_liquidity": 4.64,
      "momentum_consistency": 2.4,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.35,
      "vwap": 9.3581,
      "vwap_slope": 0.0005,
      "rvol": 0.06,
      "volume_acceleration": 0.84,
      "premarket_volume": 32443.0,
      "momentum_pct": -0.16,
      "consolidation_tightness_pct": 0.2,
      "distance_from_pm_high_pct": 0.2,
      "extension_from_vwap_pct": -0.09,
      "spread_pct": 0.11
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": true
    },
    "pm_high": 9.369,
    "pm_low": 9.34
  },
  {
    "symbol": "VYX",
    "total_score": 41.32,
    "raw_score": 43.8,
    "breakdown": {
      "price_quality": 4.16,
      "volume_quality": 12.0,
      "rvol": 1.07,
      "volume_acceleration": 3.23,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.35,
      "spread_liquidity": 4.64,
      "momentum_consistency": 0.95,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.165,
      "vwap": 9.2117,
      "vwap_slope": -0.0049,
      "rvol": 0.45,
      "volume_acceleration": 1.32,
      "premarket_volume": 222631.0,
      "momentum_pct": -0.22,
      "consolidation_tightness_pct": 0.26,
      "distance_from_pm_high_pct": 0.87,
      "extension_from_vwap_pct": -0.51,
      "spread_pct": 0.11
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 9.245,
    "pm_low": 9.165
  },
  {
    "symbol": "AEG",
    "total_score": 41.31,
    "raw_score": 43.78,
    "breakdown": {
      "price_quality": 4.19,
      "volume_quality": 12.0,
      "rvol": 1.34,
      "volume_acceleration": 1.56,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.84,
      "spread_liquidity": 4.64,
      "momentum_consistency": 1.82,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.19,
      "vwap": 9.2019,
      "vwap_slope": -0.0016,
      "rvol": 0.56,
      "volume_acceleration": 0.45,
      "premarket_volume": 278958.0,
      "momentum_pct": -0.02,
      "consolidation_tightness_pct": 0.05,
      "distance_from_pm_high_pct": 0.22,
      "extension_from_vwap_pct": -0.13,
      "spread_pct": 0.11
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 9.21,
    "pm_low": 9.19
  },
  {
    "symbol": "MBLY",
    "total_score": 41.3,
    "raw_score": 43.78,
    "breakdown": {
      "price_quality": 3.51,
      "volume_quality": 12.0,
      "rvol": 1.14,
      "volume_acceleration": 1.97,
      "price_momentum": 0.18,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.82,
      "spread_liquidity": 4.61,
      "momentum_consistency": 2.14,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.51,
      "vwap": 8.5106,
      "vwap_slope": -0.0005,
      "rvol": 0.48,
      "volume_acceleration": 0.57,
      "premarket_volume": 237868.0,
      "momentum_pct": 0.12,
      "consolidation_tightness_pct": 0.24,
      "distance_from_pm_high_pct": 0.23,
      "extension_from_vwap_pct": -0.01,
      "spread_pct": 0.12
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 8.53,
    "pm_low": 8.475
  },
  {
    "symbol": "SENS",
    "total_score": 41.29,
    "raw_score": 43.77,
    "breakdown": {
      "price_quality": 4.7,
      "volume_quality": 4.55,
      "rvol": 0.18,
      "volume_acceleration": 10,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.35,
      "spread_liquidity": 2.59,
      "momentum_consistency": 4.0,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.695,
      "vwap": 9.7302,
      "vwap_slope": -0.0174,
      "rvol": 0.08,
      "volume_acceleration": 3.09,
      "premarket_volume": 37932.0,
      "momentum_pct": -0.56,
      "consolidation_tightness_pct": 0.64,
      "distance_from_pm_high_pct": 0.87,
      "extension_from_vwap_pct": -0.36,
      "spread_pct": 0.72
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 9.78,
    "pm_low": 9.6879
  },
  {
    "symbol": "UPWK",
    "total_score": 41.23,
    "raw_score": 43.7,
    "breakdown": {
      "price_quality": 3.84,
      "volume_quality": 12.0,
      "rvol": 0.62,
      "volume_acceleration": 2.42,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.66,
      "spread_liquidity": 4.62,
      "momentum_consistency": 2.14,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.835,
      "vwap": 8.8562,
      "vwap_slope": -0.0015,
      "rvol": 0.26,
      "volume_acceleration": 1.24,
      "premarket_volume": 129384.0,
      "momentum_pct": -0.23,
      "consolidation_tightness_pct": 0.27,
      "distance_from_pm_high_pct": 0.45,
      "extension_from_vwap_pct": -0.24,
      "spread_pct": 0.11
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 8.875,
    "pm_low": 8.835
  },
  {
    "symbol": "BHK",
    "total_score": 41.19,
    "raw_score": 43.66,
    "breakdown": {
      "price_quality": 3.94,
      "volume_quality": 3.84,
      "rvol": 0.15,
      "volume_acceleration": 2.58,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.92,
      "spread_liquidity": 4.63,
      "momentum_consistency": 3.0,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.935,
      "vwap": 8.9351,
      "vwap_slope": 0.0033,
      "rvol": 0.06,
      "volume_acceleration": 0.74,
      "premarket_volume": 32037.0,
      "momentum_pct": -0.11,
      "consolidation_tightness_pct": 0.11,
      "distance_from_pm_high_pct": 0.11,
      "extension_from_vwap_pct": -0.0,
      "spread_pct": 0.11
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": true
    },
    "pm_high": 8.945,
    "pm_low": 8.93
  },
  {
    "symbol": "GNL",
    "total_score": 41.18,
    "raw_score": 43.65,
    "breakdown": {
      "price_quality": 4.13,
      "volume_quality": 12.0,
      "rvol": 0.58,
      "volume_acceleration": 2.56,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.8,
      "spread_liquidity": 4.64,
      "momentum_consistency": 1.54,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.135,
      "vwap": 9.1491,
      "vwap_slope": -0.0006,
      "rvol": 0.24,
      "volume_acceleration": 0.74,
      "premarket_volume": 121338.0,
      "momentum_pct": -0.22,
      "consolidation_tightness_pct": 0.27,
      "distance_from_pm_high_pct": 0.27,
      "extension_from_vwap_pct": -0.15,
      "spread_pct": 0.11
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 9.16,
    "pm_low": 9.13
  },
  {
    "symbol": "CGNT",
    "total_score": 40.89,
    "raw_score": 43.34,
    "breakdown": {
      "price_quality": 3.45,
      "volume_quality": 4.21,
      "rvol": 0.17,
      "volume_acceleration": 3.05,
      "price_momentum": 0.09,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.91,
      "spread_liquidity": 4.61,
      "momentum_consistency": 2.67,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.45,
      "vwap": 8.4438,
      "vwap_slope": -0.0005,
      "rvol": 0.07,
      "volume_acceleration": 0.88,
      "premarket_volume": 35065.0,
      "momentum_pct": 0.06,
      "consolidation_tightness_pct": 0.12,
      "distance_from_pm_high_pct": 0.12,
      "extension_from_vwap_pct": 0.07,
      "spread_pct": 0.12
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 8.46,
    "pm_low": 8.42
  },
  {
    "symbol": "ARVN",
    "total_score": 40.88,
    "raw_score": 43.33,
    "breakdown": {
      "price_quality": 4.37,
      "volume_quality": 2.56,
      "rvol": 0.1,
      "volume_acceleration": 2.4,
      "price_momentum": 0.16,
      "price_structure": 12,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.64,
      "spread_liquidity": 4.64,
      "momentum_consistency": 1.45,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.37,
      "vwap": 9.3741,
      "vwap_slope": -0.0121,
      "rvol": 0.04,
      "volume_acceleration": 0.69,
      "premarket_volume": 21302.0,
      "momentum_pct": 0.11,
      "consolidation_tightness_pct": 0.16,
      "distance_from_pm_high_pct": 0.48,
      "extension_from_vwap_pct": -0.04,
      "spread_pct": 0.11
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 9.415,
    "pm_low": 9.345
  },
  {
    "symbol": "FMC",
    "total_score": 40.82,
    "raw_score": 43.27,
    "breakdown": {
      "price_quality": 2.06,
      "volume_quality": 12.0,
      "rvol": 1.55,
      "volume_acceleration": 3.58,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.42,
      "spread_liquidity": 4.48,
      "momentum_consistency": 1.76,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.94,
      "vwap": 12.9938,
      "vwap_slope": -0.0049,
      "rvol": 0.65,
      "volume_acceleration": 1.36,
      "premarket_volume": 323599.0,
      "momentum_pct": -0.15,
      "consolidation_tightness_pct": 0.39,
      "distance_from_pm_high_pct": 0.77,
      "extension_from_vwap_pct": -0.41,
      "spread_pct": 0.15
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 13.04,
    "pm_low": 12.935
  },
  {
    "symbol": "MGTX",
    "total_score": 40.79,
    "raw_score": 43.24,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 3.93,
      "rvol": 0.16,
      "volume_acceleration": 3.21,
      "price_momentum": 0.0,
      "price_structure": 12,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.65,
      "spread_liquidity": 4.28,
      "momentum_consistency": 2.51,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.805,
      "vwap": 13.8117,
      "vwap_slope": -0.0015,
      "rvol": 0.07,
      "volume_acceleration": 0.92,
      "premarket_volume": 32788.0,
      "momentum_pct": -0.04,
      "consolidation_tightness_pct": 0.2,
      "distance_from_pm_high_pct": 0.47,
      "extension_from_vwap_pct": -0.05,
      "spread_pct": 0.22
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 13.87,
    "pm_low": 13.77
  },
  {
    "symbol": "NEWT",
    "total_score": 40.78,
    "raw_score": 43.23,
    "breakdown": {
      "price_quality": 2.63,
      "volume_quality": 2.56,
      "rvol": 0.1,
      "volume_acceleration": 5.11,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.82,
      "spread_liquidity": 4.73,
      "momentum_consistency": 2.67,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.37,
      "vwap": 12.3899,
      "vwap_slope": 0.0054,
      "rvol": 0.04,
      "volume_acceleration": 1.51,
      "premarket_volume": 21357.0,
      "momentum_pct": -0.17,
      "consolidation_tightness_pct": 0.24,
      "distance_from_pm_high_pct": 0.24,
      "extension_from_vwap_pct": -0.16,
      "spread_pct": 0.08
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": true
    },
    "pm_high": 12.4,
    "pm_low": 12.37
  },
  {
    "symbol": "ALHC",
    "total_score": 40.7,
    "raw_score": 43.14,
    "breakdown": {
      "price_quality": 1.53,
      "volume_quality": 12.0,
      "rvol": 1.76,
      "volume_acceleration": 2.5,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.53,
      "spread_liquidity": 4.75,
      "momentum_consistency": 2.67,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.475,
      "vwap": 13.4948,
      "vwap_slope": -0.0016,
      "rvol": 0.73,
      "volume_acceleration": 0.72,
      "premarket_volume": 367422.0,
      "momentum_pct": -0.07,
      "consolidation_tightness_pct": 0.3,
      "distance_from_pm_high_pct": 0.63,
      "extension_from_vwap_pct": -0.15,
      "spread_pct": 0.07
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 13.56,
    "pm_low": 13.43
  },
  {
    "symbol": "HLMN",
    "total_score": 40.67,
    "raw_score": 43.11,
    "breakdown": {
      "price_quality": 2.67,
      "volume_quality": 12.0,
      "rvol": 0.54,
      "volume_acceleration": 3.34,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.76,
      "spread_liquidity": 4.57,
      "momentum_consistency": 1.85,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.665,
      "vwap": 7.6751,
      "vwap_slope": -0.0012,
      "rvol": 0.22,
      "volume_acceleration": 0.96,
      "premarket_volume": 112094.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.13,
      "distance_from_pm_high_pct": 0.33,
      "extension_from_vwap_pct": -0.13,
      "spread_pct": 0.13
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 7.69,
    "pm_low": 7.66
  },
  {
    "symbol": "UUUU",
    "total_score": 40.54,
    "raw_score": 42.98,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 1.35,
      "volume_acceleration": 2.67,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.66,
      "spread_liquidity": 4.77,
      "momentum_consistency": 2.62,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.435,
      "vwap": 14.4506,
      "vwap_slope": -0.003,
      "rvol": 0.56,
      "volume_acceleration": 0.77,
      "premarket_volume": 280892.0,
      "momentum_pct": -0.07,
      "consolidation_tightness_pct": 0.17,
      "distance_from_pm_high_pct": 0.45,
      "extension_from_vwap_pct": -0.11,
      "spread_pct": 0.07
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 14.5,
    "pm_low": 14.42
  },
  {
    "symbol": "SB",
    "total_score": 40.53,
    "raw_score": 42.96,
    "breakdown": {
      "price_quality": 4.19,
      "volume_quality": 10.0,
      "rvol": 0.4,
      "volume_acceleration": 3.05,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.88,
      "spread_liquidity": 4.64,
      "momentum_consistency": 2.42,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.185,
      "vwap": 9.1869,
      "vwap_slope": -0.0003,
      "rvol": 0.17,
      "volume_acceleration": 0.88,
      "premarket_volume": 83315.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.11,
      "distance_from_pm_high_pct": 0.16,
      "extension_from_vwap_pct": -0.02,
      "spread_pct": 0.11
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 9.2,
    "pm_low": 9.17
  },
  {
    "symbol": "WU",
    "total_score": 40.45,
    "raw_score": 42.88,
    "breakdown": {
      "price_quality": 2.21,
      "volume_quality": 12.0,
      "rvol": 1.61,
      "volume_acceleration": 2.92,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.84,
      "spread_liquidity": 4.54,
      "momentum_consistency": 1.36,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.205,
      "vwap": 7.2077,
      "vwap_slope": -0.0002,
      "rvol": 0.67,
      "volume_acceleration": 0.84,
      "premarket_volume": 335665.0,
      "momentum_pct": -0.07,
      "consolidation_tightness_pct": 0.14,
      "distance_from_pm_high_pct": 0.21,
      "extension_from_vwap_pct": -0.04,
      "spread_pct": 0.14
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 7.22,
    "pm_low": 7.2
  },
  {
    "symbol": "BLMN",
    "total_score": 40.45,
    "raw_score": 42.87,
    "breakdown": {
      "price_quality": 4.88,
      "volume_quality": 8.53,
      "rvol": 0.34,
      "volume_acceleration": 4.87,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.62,
      "spread_liquidity": 4.66,
      "momentum_consistency": 1.57,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.885,
      "vwap": 9.9134,
      "vwap_slope": -0.0064,
      "rvol": 0.14,
      "volume_acceleration": 1.49,
      "premarket_volume": 71063.0,
      "momentum_pct": -0.15,
      "consolidation_tightness_pct": 0.15,
      "distance_from_pm_high_pct": 0.5,
      "extension_from_vwap_pct": -0.29,
      "spread_pct": 0.1
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 9.935,
    "pm_low": 9.885
  },
  {
    "symbol": "GO",
    "total_score": 40.44,
    "raw_score": 42.86,
    "breakdown": {
      "price_quality": 2.49,
      "volume_quality": 12.0,
      "rvol": 0.76,
      "volume_acceleration": 3.21,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.46,
      "spread_liquidity": 4.73,
      "momentum_consistency": 1.79,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.505,
      "vwap": 12.5424,
      "vwap_slope": -0.0069,
      "rvol": 0.32,
      "volume_acceleration": 0.92,
      "premarket_volume": 158938.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.08,
      "distance_from_pm_high_pct": 0.71,
      "extension_from_vwap_pct": -0.3,
      "spread_pct": 0.08
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 12.595,
    "pm_low": 12.5
  },
  {
    "symbol": "FWRG",
    "total_score": 40.38,
    "raw_score": 42.8,
    "breakdown": {
      "price_quality": 2.82,
      "volume_quality": 11.66,
      "rvol": 0.47,
      "volume_acceleration": 3.3,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.36,
      "spread_liquidity": 4.73,
      "momentum_consistency": 2.07,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.18,
      "vwap": 12.2203,
      "vwap_slope": -0.0095,
      "rvol": 0.19,
      "volume_acceleration": 0.95,
      "premarket_volume": 97174.0,
      "momentum_pct": -0.04,
      "consolidation_tightness_pct": 0.12,
      "distance_from_pm_high_pct": 0.85,
      "extension_from_vwap_pct": -0.33,
      "spread_pct": 0.08
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 12.285,
    "pm_low": 12.16
  },
  {
    "symbol": "BRSL",
    "total_score": 40.28,
    "raw_score": 42.7,
    "breakdown": {
      "price_quality": 3.57,
      "volume_quality": 12.0,
      "rvol": 0.61,
      "volume_acceleration": 2.0,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.84,
      "spread_liquidity": 4.71,
      "momentum_consistency": 1.57,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.425,
      "vwap": 11.4347,
      "vwap_slope": -0.0011,
      "rvol": 0.25,
      "volume_acceleration": 0.57,
      "premarket_volume": 127268.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.18,
      "distance_from_pm_high_pct": 0.22,
      "extension_from_vwap_pct": -0.08,
      "spread_pct": 0.09
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 11.45,
    "pm_low": 11.415
  },
  {
    "symbol": "SSL",
    "total_score": 40.26,
    "raw_score": 42.67,
    "breakdown": {
      "price_quality": 2.78,
      "volume_quality": 12.0,
      "rvol": 0.48,
      "volume_acceleration": 2.14,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.79,
      "spread_liquidity": 4.73,
      "momentum_consistency": 2.35,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.22,
      "vwap": 12.2394,
      "vwap_slope": -0.0008,
      "rvol": 0.2,
      "volume_acceleration": 0.62,
      "premarket_volume": 100723.0,
      "momentum_pct": -0.12,
      "consolidation_tightness_pct": 0.16,
      "distance_from_pm_high_pct": 0.29,
      "extension_from_vwap_pct": -0.16,
      "spread_pct": 0.08
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 12.255,
    "pm_low": 12.215
  },
  {
    "symbol": "DFNS",
    "total_score": 40.26,
    "raw_score": 42.68,
    "breakdown": {
      "price_quality": 4.92,
      "volume_quality": 5.23,
      "rvol": 0.21,
      "volume_acceleration": 1.54,
      "price_momentum": 0.72,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.19,
      "spread_liquidity": 2.02,
      "momentum_consistency": 3.64,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.08,
      "vwap": 10.0559,
      "vwap_slope": -0.0013,
      "rvol": 0.09,
      "volume_acceleration": 0.44,
      "premarket_volume": 43611.0,
      "momentum_pct": 0.48,
      "consolidation_tightness_pct": 0.89,
      "distance_from_pm_high_pct": 1.08,
      "extension_from_vwap_pct": 0.24,
      "spread_pct": 0.89
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 10.19,
    "pm_low": 9.9893
  },
  {
    "symbol": "VSTS",
    "total_score": 40.19,
    "raw_score": 42.6,
    "breakdown": {
      "price_quality": 1.88,
      "volume_quality": 12.0,
      "rvol": 0.51,
      "volume_acceleration": 3.65,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.55,
      "spread_liquidity": 4.49,
      "momentum_consistency": 2.12,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.12,
      "vwap": 13.1562,
      "vwap_slope": -0.0012,
      "rvol": 0.21,
      "volume_acceleration": 1.05,
      "premarket_volume": 106969.0,
      "momentum_pct": -0.3,
      "consolidation_tightness_pct": 0.3,
      "distance_from_pm_high_pct": 0.61,
      "extension_from_vwap_pct": -0.27,
      "spread_pct": 0.15
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 13.2,
    "pm_low": 13.12
  },
  {
    "symbol": "CLBT",
    "total_score": 40.0,
    "raw_score": 42.4,
    "breakdown": {
      "price_quality": 3.35,
      "volume_quality": 9.58,
      "rvol": 0.38,
      "volume_acceleration": 3.31,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.84,
      "spread_liquidity": 4.71,
      "momentum_consistency": 2.82,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.655,
      "vwap": 11.6587,
      "vwap_slope": -0.0005,
      "rvol": 0.16,
      "volume_acceleration": 0.95,
      "premarket_volume": 79853.0,
      "momentum_pct": -0.09,
      "consolidation_tightness_pct": 0.13,
      "distance_from_pm_high_pct": 0.21,
      "extension_from_vwap_pct": -0.03,
      "spread_pct": 0.09
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 11.68,
    "pm_low": 11.64
  },
  {
    "symbol": "WNC",
    "total_score": 39.99,
    "raw_score": 42.38,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 3.31,
      "rvol": 0.13,
      "volume_acceleration": 2.54,
      "price_momentum": 0.11,
      "price_structure": 12,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.74,
      "spread_liquidity": 4.3,
      "momentum_consistency": 2.76,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.22,
      "vwap": 14.2316,
      "vwap_slope": -0.0072,
      "rvol": 0.06,
      "volume_acceleration": 1.25,
      "premarket_volume": 27601.0,
      "momentum_pct": 0.07,
      "consolidation_tightness_pct": 0.35,
      "distance_from_pm_high_pct": 0.35,
      "extension_from_vwap_pct": -0.08,
      "spread_pct": 0.21
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 14.27,
    "pm_low": 14.19
  },
  {
    "symbol": "GSBD",
    "total_score": 39.9,
    "raw_score": 42.3,
    "breakdown": {
      "price_quality": 4.98,
      "volume_quality": 4.96,
      "rvol": 0.2,
      "volume_acceleration": 0.71,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.85,
      "spread_liquidity": 4.67,
      "momentum_consistency": 1.33,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.015,
      "vwap": 10.0197,
      "vwap_slope": 0.0013,
      "rvol": 0.08,
      "volume_acceleration": 0.2,
      "premarket_volume": 41304.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.05,
      "distance_from_pm_high_pct": 0.2,
      "extension_from_vwap_pct": -0.05,
      "spread_pct": 0.1
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": true
    },
    "pm_high": 10.035,
    "pm_low": 10.01
  },
  {
    "symbol": "ADTN",
    "total_score": 39.9,
    "raw_score": 42.3,
    "breakdown": {
      "price_quality": 2.11,
      "volume_quality": 12.0,
      "rvol": 0.95,
      "volume_acceleration": 2.51,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.42,
      "spread_liquidity": 4.53,
      "momentum_consistency": 2.38,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.105,
      "vwap": 7.1164,
      "vwap_slope": -0.0043,
      "rvol": 0.39,
      "volume_acceleration": 1.25,
      "premarket_volume": 196999.0,
      "momentum_pct": -0.07,
      "consolidation_tightness_pct": 0.21,
      "distance_from_pm_high_pct": 0.77,
      "extension_from_vwap_pct": -0.16,
      "spread_pct": 0.14
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 7.16,
    "pm_low": 7.08
  },
  {
    "symbol": "VELO",
    "total_score": 39.74,
    "raw_score": 42.12,
    "breakdown": {
      "price_quality": 3.45,
      "volume_quality": 12.0,
      "rvol": 1.28,
      "volume_acceleration": 0.72,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.04,
      "spread_liquidity": 4.42,
      "momentum_consistency": 2.81,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.55,
      "vwap": 11.6032,
      "vwap_slope": -0.0021,
      "rvol": 0.53,
      "volume_acceleration": 0.21,
      "premarket_volume": 267233.0,
      "momentum_pct": -0.04,
      "consolidation_tightness_pct": 0.19,
      "distance_from_pm_high_pct": 1.28,
      "extension_from_vwap_pct": -0.46,
      "spread_pct": 0.17
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 11.7,
    "pm_low": 11.52
  },
  {
    "symbol": "SMWB",
    "total_score": 39.65,
    "raw_score": 42.03,
    "breakdown": {
      "price_quality": 3.73,
      "volume_quality": 9.17,
      "rvol": 0.37,
      "volume_acceleration": 3.07,
      "price_momentum": 0.34,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.57,
      "spread_liquidity": 4.62,
      "momentum_consistency": 2.76,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.73,
      "vwap": 8.7335,
      "vwap_slope": -0.0028,
      "rvol": 0.15,
      "volume_acceleration": 0.88,
      "premarket_volume": 76376.0,
      "momentum_pct": 0.23,
      "consolidation_tightness_pct": 0.46,
      "distance_from_pm_high_pct": 0.57,
      "extension_from_vwap_pct": -0.04,
      "spread_pct": 0.11
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 8.78,
    "pm_low": 8.7
  },
  {
    "symbol": "SG",
    "total_score": 39.56,
    "raw_score": 41.93,
    "breakdown": {
      "price_quality": 1.91,
      "volume_quality": 12.0,
      "rvol": 1.08,
      "volume_acceleration": 2.61,
      "price_momentum": 0.22,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.51,
      "spread_liquidity": 4.52,
      "momentum_consistency": 1.68,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.905,
      "vwap": 6.9248,
      "vwap_slope": -0.0045,
      "rvol": 0.45,
      "volume_acceleration": 0.75,
      "premarket_volume": 225457.0,
      "momentum_pct": 0.15,
      "consolidation_tightness_pct": 0.22,
      "distance_from_pm_high_pct": 0.65,
      "extension_from_vwap_pct": -0.29,
      "spread_pct": 0.14
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 6.95,
    "pm_low": 6.895
  },
  {
    "symbol": "SWBI",
    "total_score": 39.46,
    "raw_score": 41.83,
    "breakdown": {
      "price_quality": 2.29,
      "volume_quality": 12.0,
      "rvol": 0.48,
      "volume_acceleration": 2.73,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 4.9,
      "spread_liquidity": 4.21,
      "momentum_consistency": 2.82,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.71,
      "vwap": 12.7978,
      "vwap_slope": -0.013,
      "rvol": 0.2,
      "volume_acceleration": 0.78,
      "premarket_volume": 100900.0,
      "momentum_pct": -0.24,
      "consolidation_tightness_pct": 0.39,
      "distance_from_pm_high_pct": 1.47,
      "extension_from_vwap_pct": -0.69,
      "spread_pct": 0.24
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 12.9,
    "pm_low": 12.71
  },
  {
    "symbol": "DUOT",
    "total_score": 39.28,
    "raw_score": 41.64,
    "breakdown": {
      "price_quality": 3.63,
      "volume_quality": 12.0,
      "rvol": 0.51,
      "volume_acceleration": 0.86,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.48,
      "spread_liquidity": 4.23,
      "momentum_consistency": 2.53,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.63,
      "vwap": 8.6402,
      "vwap_slope": -0.0038,
      "rvol": 0.21,
      "volume_acceleration": 0.25,
      "premarket_volume": 106850.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.23,
      "distance_from_pm_high_pct": 0.69,
      "extension_from_vwap_pct": -0.12,
      "spread_pct": 0.23
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 8.69,
    "pm_low": 8.605
  },
  {
    "symbol": "MNTN",
    "total_score": 39.26,
    "raw_score": 41.62,
    "breakdown": {
      "price_quality": 2.01,
      "volume_quality": 4.64,
      "rvol": 0.19,
      "volume_acceleration": 10,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.54,
      "spread_liquidity": 4.49,
      "momentum_consistency": 2.35,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.99,
      "vwap": 13.0171,
      "vwap_slope": -0.0062,
      "rvol": 0.08,
      "volume_acceleration": 3.32,
      "premarket_volume": 38679.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.15,
      "distance_from_pm_high_pct": 0.61,
      "extension_from_vwap_pct": -0.21,
      "spread_pct": 0.15
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 13.07,
    "pm_low": 12.98
  },
  {
    "symbol": "AGEN",
    "total_score": 39.25,
    "raw_score": 41.61,
    "breakdown": {
      "price_quality": 3.2,
      "volume_quality": 12.0,
      "rvol": 0.49,
      "volume_acceleration": 2.76,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 4.39,
      "spread_liquidity": 4.19,
      "momentum_consistency": 2.18,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.2,
      "vwap": 8.2835,
      "vwap_slope": -0.0157,
      "rvol": 0.2,
      "volume_acceleration": 0.79,
      "premarket_volume": 101874.0,
      "momentum_pct": -0.24,
      "consolidation_tightness_pct": 0.3,
      "distance_from_pm_high_pct": 2.15,
      "extension_from_vwap_pct": -1.01,
      "spread_pct": 0.24
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 8.38,
    "pm_low": 8.19
  },
  {
    "symbol": "LYG",
    "total_score": 39.23,
    "raw_score": 41.58,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 0.74,
      "volume_acceleration": 2.73,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.94,
      "spread_liquidity": 4.45,
      "momentum_consistency": 1.82,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.075,
      "vwap": 6.0756,
      "vwap_slope": -0.0002,
      "rvol": 0.31,
      "volume_acceleration": 1.27,
      "premarket_volume": 153693.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.16,
      "distance_from_pm_high_pct": 0.08,
      "extension_from_vwap_pct": -0.01,
      "spread_pct": 0.16
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 6.08,
    "pm_low": 6.07
  },
  {
    "symbol": "AHCO",
    "total_score": 39.22,
    "raw_score": 41.57,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 2.65,
      "volume_acceleration": 1.42,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.08,
      "spread_liquidity": 4.48,
      "momentum_consistency": 2.04,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.44,
      "vwap": 6.4745,
      "vwap_slope": -0.0034,
      "rvol": 1.1,
      "volume_acceleration": 0.41,
      "premarket_volume": 551620.0,
      "momentum_pct": -0.23,
      "consolidation_tightness_pct": 0.39,
      "distance_from_pm_high_pct": 1.23,
      "extension_from_vwap_pct": -0.53,
      "spread_pct": 0.16
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 6.52,
    "pm_low": 6.43
  },
  {
    "symbol": "CRSR",
    "total_score": 38.93,
    "raw_score": 41.27,
    "breakdown": {
      "price_quality": 2.34,
      "volume_quality": 11.44,
      "rvol": 0.46,
      "volume_acceleration": 2.93,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.09,
      "spread_liquidity": 4.74,
      "momentum_consistency": 1.88,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.665,
      "vwap": 12.7558,
      "vwap_slope": -0.0104,
      "rvol": 0.19,
      "volume_acceleration": 0.84,
      "premarket_volume": 95311.0,
      "momentum_pct": -0.28,
      "consolidation_tightness_pct": 0.43,
      "distance_from_pm_high_pct": 1.21,
      "extension_from_vwap_pct": -0.71,
      "spread_pct": 0.08
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 12.82,
    "pm_low": 12.65
  },
  {
    "symbol": "EGY",
    "total_score": 38.91,
    "raw_score": 41.25,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 5.14,
      "rvol": 0.21,
      "volume_acceleration": 2.09,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.75,
      "spread_liquidity": 4.44,
      "momentum_consistency": 2.51,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.97,
      "vwap": 5.9713,
      "vwap_slope": 0.0001,
      "rvol": 0.09,
      "volume_acceleration": 0.6,
      "premarket_volume": 42872.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.08,
      "distance_from_pm_high_pct": 0.33,
      "extension_from_vwap_pct": -0.02,
      "spread_pct": 0.17
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": true
    },
    "pm_high": 5.99,
    "pm_low": 5.96
  },
  {
    "symbol": "UNIT",
    "total_score": 38.6,
    "raw_score": 40.92,
    "breakdown": {
      "price_quality": 4.79,
      "volume_quality": 7.42,
      "rvol": 0.3,
      "volume_acceleration": 2.48,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.82,
      "spread_liquidity": 4.67,
      "momentum_consistency": 3.04,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.205,
      "vwap": 10.2167,
      "vwap_slope": -0.0026,
      "rvol": 0.12,
      "volume_acceleration": 0.71,
      "premarket_volume": 61841.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.1,
      "distance_from_pm_high_pct": 0.24,
      "extension_from_vwap_pct": -0.11,
      "spread_pct": 0.1
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 10.23,
    "pm_low": 10.2
  },
  {
    "symbol": "YEXT",
    "total_score": 38.45,
    "raw_score": 40.76,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 0.66,
      "volume_acceleration": 3.63,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 4.31,
      "spread_liquidity": 4.49,
      "momentum_consistency": 1.78,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.49,
      "vwap": 6.5696,
      "vwap_slope": -0.0232,
      "rvol": 0.28,
      "volume_acceleration": 1.04,
      "premarket_volume": 137873.0,
      "momentum_pct": -0.23,
      "consolidation_tightness_pct": 0.23,
      "distance_from_pm_high_pct": 2.26,
      "extension_from_vwap_pct": -1.21,
      "spread_pct": 0.15
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 6.64,
    "pm_low": 6.49
  },
  {
    "symbol": "IMMX",
    "total_score": 38.42,
    "raw_score": 40.72,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 0.58,
      "volume_acceleration": 1.28,
      "price_momentum": 0.11,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.25,
      "spread_liquidity": 4.76,
      "momentum_consistency": 2.84,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.93,
      "vwap": 13.9647,
      "vwap_slope": -0.0052,
      "rvol": 0.24,
      "volume_acceleration": 0.37,
      "premarket_volume": 120156.0,
      "momentum_pct": 0.07,
      "consolidation_tightness_pct": 0.15,
      "distance_from_pm_high_pct": 1.0,
      "extension_from_vwap_pct": -0.25,
      "spread_pct": 0.07
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 14.07,
    "pm_low": 13.88
  },
  {
    "symbol": "CNXU",
    "total_score": 38.31,
    "raw_score": 40.61,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 2.5,
      "rvol": 0.1,
      "volume_acceleration": 3.18,
      "price_momentum": 0.15,
      "price_structure": 12,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.04,
      "spread_liquidity": 3.0,
      "momentum_consistency": 3.14,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.005,
      "vwap": 5.0318,
      "vwap_slope": -0.0039,
      "rvol": 0.04,
      "volume_acceleration": 0.91,
      "premarket_volume": 20795.0,
      "momentum_pct": 0.1,
      "consolidation_tightness_pct": 0.4,
      "distance_from_pm_high_pct": 1.28,
      "extension_from_vwap_pct": -0.53,
      "spread_pct": 0.6
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 5.07,
    "pm_low": 4.99
  },
  {
    "symbol": "EGAN",
    "total_score": 38.25,
    "raw_score": 40.55,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 9.12,
      "rvol": 0.36,
      "volume_acceleration": 4.95,
      "price_momentum": 0.13,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.05,
      "spread_liquidity": 4.43,
      "momentum_consistency": 2.61,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.82,
      "vwap": 5.822,
      "vwap_slope": -0.0024,
      "rvol": 0.15,
      "volume_acceleration": 1.5,
      "premarket_volume": 75992.0,
      "momentum_pct": 0.09,
      "consolidation_tightness_pct": 0.17,
      "distance_from_pm_high_pct": 1.27,
      "extension_from_vwap_pct": -0.03,
      "spread_pct": 0.17
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 5.895,
    "pm_low": 5.745
  },
  {
    "symbol": "ECVT",
    "total_score": 38.15,
    "raw_score": 40.43,
    "breakdown": {
      "price_quality": 4.83,
      "volume_quality": 7.08,
      "rvol": 0.28,
      "volume_acceleration": 2.15,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.71,
      "spread_liquidity": 4.67,
      "momentum_consistency": 3.31,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.17,
      "vwap": 10.181,
      "vwap_slope": -0.0054,
      "rvol": 0.12,
      "volume_acceleration": 1.21,
      "premarket_volume": 59022.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.1,
      "distance_from_pm_high_pct": 0.39,
      "extension_from_vwap_pct": -0.11,
      "spread_pct": 0.1
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 10.21,
    "pm_low": 10.16
  },
  {
    "symbol": "SPIR",
    "total_score": 38.05,
    "raw_score": 40.33,
    "breakdown": {
      "price_quality": 3.16,
      "volume_quality": 3.59,
      "rvol": 0.14,
      "volume_acceleration": 1.73,
      "price_momentum": 0.35,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.79,
      "spread_liquidity": 3.87,
      "momentum_consistency": 2.48,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.8373,
      "vwap": 11.8203,
      "vwap_slope": -0.0007,
      "rvol": 0.06,
      "volume_acceleration": 1.17,
      "premarket_volume": 29958.0,
      "momentum_pct": 0.23,
      "consolidation_tightness_pct": 0.4,
      "distance_from_pm_high_pct": 0.28,
      "extension_from_vwap_pct": 0.14,
      "spread_pct": 0.34
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 11.87,
    "pm_low": 11.79
  },
  {
    "symbol": "BLZE",
    "total_score": 38.0,
    "raw_score": 40.28,
    "breakdown": {
      "price_quality": 1.62,
      "volume_quality": 10.83,
      "rvol": 0.43,
      "volume_acceleration": 3.12,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.17,
      "spread_liquidity": 4.5,
      "momentum_consistency": 2.21,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.38,
      "vwap": 13.4421,
      "vwap_slope": -0.0137,
      "rvol": 0.18,
      "volume_acceleration": 0.9,
      "premarket_volume": 90261.0,
      "momentum_pct": -0.15,
      "consolidation_tightness_pct": 0.41,
      "distance_from_pm_high_pct": 1.11,
      "extension_from_vwap_pct": -0.46,
      "spread_pct": 0.15
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 13.53,
    "pm_low": 13.37
  },
  {
    "symbol": "LXU",
    "total_score": 37.82,
    "raw_score": 40.09,
    "breakdown": {
      "price_quality": 3.65,
      "volume_quality": 10.24,
      "rvol": 0.41,
      "volume_acceleration": 1.61,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.26,
      "spread_liquidity": 4.71,
      "momentum_consistency": 1.82,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.3522,
      "vwap": 11.385,
      "vwap_slope": -0.0012,
      "rvol": 0.17,
      "volume_acceleration": 0.46,
      "premarket_volume": 85297.0,
      "momentum_pct": -0.11,
      "consolidation_tightness_pct": 0.26,
      "distance_from_pm_high_pct": 0.98,
      "extension_from_vwap_pct": -0.29,
      "spread_pct": 0.09
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 11.465,
    "pm_low": 11.32
  },
  {
    "symbol": "TDAY",
    "total_score": 37.76,
    "raw_score": 40.02,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 1.18,
      "volume_acceleration": 1.9,
      "price_momentum": 0.12,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 4.72,
      "spread_liquidity": 4.48,
      "momentum_consistency": 1.73,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.36,
      "vwap": 6.3873,
      "vwap_slope": -0.0062,
      "rvol": 0.49,
      "volume_acceleration": 0.55,
      "premarket_volume": 245473.0,
      "momentum_pct": 0.08,
      "consolidation_tightness_pct": 0.16,
      "distance_from_pm_high_pct": 1.7,
      "extension_from_vwap_pct": -0.43,
      "spread_pct": 0.16
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 6.47,
    "pm_low": 6.345
  },
  {
    "symbol": "NMR",
    "total_score": 37.7,
    "raw_score": 39.96,
    "breakdown": {
      "price_quality": 4.35,
      "volume_quality": 5.59,
      "rvol": 0.22,
      "volume_acceleration": 4.73,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.86,
      "spread_liquidity": 4.69,
      "momentum_consistency": 2.12,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.65,
      "vwap": 10.6577,
      "vwap_slope": -0.0027,
      "rvol": 0.09,
      "volume_acceleration": 1.47,
      "premarket_volume": 46571.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.05,
      "distance_from_pm_high_pct": 0.19,
      "extension_from_vwap_pct": -0.07,
      "spread_pct": 0.09
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 10.67,
    "pm_low": 10.65
  },
  {
    "symbol": "SSTK",
    "total_score": 37.62,
    "raw_score": 39.88,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 10.98,
      "rvol": 0.44,
      "volume_acceleration": 3.21,
      "price_momentum": 0.26,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.68,
      "spread_liquidity": 3.85,
      "momentum_consistency": 1.57,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.775,
      "vwap": 5.7777,
      "vwap_slope": -0.0034,
      "rvol": 0.18,
      "volume_acceleration": 0.92,
      "premarket_volume": 91519.0,
      "momentum_pct": 0.17,
      "consolidation_tightness_pct": 0.17,
      "distance_from_pm_high_pct": 0.43,
      "extension_from_vwap_pct": -0.05,
      "spread_pct": 0.35
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 5.8,
    "pm_low": 5.75
  },
  {
    "symbol": "ZURA",
    "total_score": 37.62,
    "raw_score": 39.88,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 0.68,
      "volume_acceleration": 1.34,
      "price_momentum": 0.71,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 4.79,
      "spread_liquidity": 4.45,
      "momentum_consistency": 2.0,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.1,
      "vwap": 6.113,
      "vwap_slope": -0.004,
      "rvol": 0.28,
      "volume_acceleration": 0.39,
      "premarket_volume": 141066.0,
      "momentum_pct": 0.48,
      "consolidation_tightness_pct": 0.49,
      "distance_from_pm_high_pct": 1.61,
      "extension_from_vwap_pct": -0.21,
      "spread_pct": 0.16
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 6.2,
    "pm_low": 6.055
  },
  {
    "symbol": "LADR",
    "total_score": 37.55,
    "raw_score": 39.8,
    "breakdown": {
      "price_quality": 4.82,
      "volume_quality": 8.09,
      "rvol": 0.32,
      "volume_acceleration": 2.29,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.77,
      "spread_liquidity": 4.66,
      "momentum_consistency": 1.44,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.825,
      "vwap": 9.8464,
      "vwap_slope": -0.0021,
      "rvol": 0.13,
      "volume_acceleration": 0.66,
      "premarket_volume": 67399.0,
      "momentum_pct": -0.2,
      "consolidation_tightness_pct": 0.2,
      "distance_from_pm_high_pct": 0.3,
      "extension_from_vwap_pct": -0.22,
      "spread_pct": 0.1
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 9.855,
    "pm_low": 9.825
  },
  {
    "symbol": "VOXR",
    "total_score": 37.38,
    "raw_score": 39.63,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 2.69,
      "rvol": 0.11,
      "volume_acceleration": 3.47,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.74,
      "spread_liquidity": 4.42,
      "momentum_consistency": 2.1,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.79,
      "vwap": 5.7938,
      "vwap_slope": 0.0006,
      "rvol": 0.04,
      "volume_acceleration": 1.35,
      "premarket_volume": 22399.0,
      "momentum_pct": -0.09,
      "consolidation_tightness_pct": 0.09,
      "distance_from_pm_high_pct": 0.34,
      "extension_from_vwap_pct": -0.07,
      "spread_pct": 0.17
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": true
    },
    "pm_high": 5.81,
    "pm_low": 5.78
  },
  {
    "symbol": "LTBR",
    "total_score": 36.95,
    "raw_score": 39.16,
    "breakdown": {
      "price_quality": 2.47,
      "volume_quality": 2.62,
      "rvol": 0.1,
      "volume_acceleration": 8.53,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.82,
      "spread_liquidity": 4.55,
      "momentum_consistency": 2.67,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.4719,
      "vwap": 7.4783,
      "vwap_slope": -0.0002,
      "rvol": 0.04,
      "volume_acceleration": 1.85,
      "premarket_volume": 21796.0,
      "momentum_pct": -0.11,
      "consolidation_tightness_pct": 0.13,
      "distance_from_pm_high_pct": 0.24,
      "extension_from_vwap_pct": -0.08,
      "spread_pct": 0.13
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 7.49,
    "pm_low": 7.46
  },
  {
    "symbol": "CION",
    "total_score": 36.87,
    "raw_score": 39.08,
    "breakdown": {
      "price_quality": 2.36,
      "volume_quality": 2.51,
      "rvol": 0.1,
      "volume_acceleration": 10,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.8,
      "spread_liquidity": 4.55,
      "momentum_consistency": 1.37,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.36,
      "vwap": 7.3694,
      "vwap_slope": -0.0036,
      "rvol": 0.04,
      "volume_acceleration": 2.38,
      "premarket_volume": 20899.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.14,
      "distance_from_pm_high_pct": 0.27,
      "extension_from_vwap_pct": -0.13,
      "spread_pct": 0.14
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 7.38,
    "pm_low": 7.355
  },
  {
    "symbol": "EVCM",
    "total_score": 36.56,
    "raw_score": 38.75,
    "breakdown": {
      "price_quality": 2.92,
      "volume_quality": 7.65,
      "rvol": 0.31,
      "volume_acceleration": 0.25,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.2,
      "spread_liquidity": 1.21,
      "momentum_consistency": 2.0,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.925,
      "vwap": 7.9222,
      "vwap_slope": -0.0001,
      "rvol": 0.13,
      "volume_acceleration": 0.07,
      "premarket_volume": 63749.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.0,
      "distance_from_pm_high_pct": 1.06,
      "extension_from_vwap_pct": 0.04,
      "spread_pct": 1.14
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 8.01,
    "pm_low": 7.84
  },
  {
    "symbol": "BKKT",
    "total_score": 36.44,
    "raw_score": 38.63,
    "breakdown": {
      "price_quality": 3.25,
      "volume_quality": 4.52,
      "rvol": 0.18,
      "volume_acceleration": 6.25,
      "price_momentum": 0.09,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.82,
      "spread_liquidity": 4.19,
      "momentum_consistency": 1.93,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.25,
      "vwap": 8.2532,
      "vwap_slope": -0.0025,
      "rvol": 0.08,
      "volume_acceleration": 1.62,
      "premarket_volume": 37652.0,
      "momentum_pct": 0.06,
      "consolidation_tightness_pct": 0.24,
      "distance_from_pm_high_pct": 0.24,
      "extension_from_vwap_pct": -0.04,
      "spread_pct": 0.24
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 8.27,
    "pm_low": 8.2301
  },
  {
    "symbol": "GPRE",
    "total_score": 36.02,
    "raw_score": 38.18,
    "breakdown": {
      "price_quality": 0.0,
      "volume_quality": 10.15,
      "rvol": 0.41,
      "volume_acceleration": 2.29,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.35,
      "spread_liquidity": 4.78,
      "momentum_consistency": 2.81,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 15.345,
      "vwap": 15.4152,
      "vwap_slope": -0.01,
      "rvol": 0.17,
      "volume_acceleration": 1.23,
      "premarket_volume": 84566.0,
      "momentum_pct": -0.23,
      "consolidation_tightness_pct": 0.42,
      "distance_from_pm_high_pct": 0.87,
      "extension_from_vwap_pct": -0.46,
      "spread_pct": 0.07
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 15.48,
    "pm_low": 15.345
  },
  {
    "symbol": "ICL",
    "total_score": 35.97,
    "raw_score": 38.13,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 8.87,
      "rvol": 0.35,
      "volume_acceleration": 3.76,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.68,
      "spread_liquidity": 4.43,
      "momentum_consistency": 1.14,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.845,
      "vwap": 5.8562,
      "vwap_slope": -0.0034,
      "rvol": 0.15,
      "volume_acceleration": 1.08,
      "premarket_volume": 73907.0,
      "momentum_pct": -0.17,
      "consolidation_tightness_pct": 0.26,
      "distance_from_pm_high_pct": 0.43,
      "extension_from_vwap_pct": -0.19,
      "spread_pct": 0.17
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 5.87,
    "pm_low": 5.84
  },
  {
    "symbol": "CRNC",
    "total_score": 35.52,
    "raw_score": 37.65,
    "breakdown": {
      "price_quality": 3.52,
      "volume_quality": 2.88,
      "rvol": 0.12,
      "volume_acceleration": 5.9,
      "price_momentum": 0.13,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.82,
      "spread_liquidity": 4.22,
      "momentum_consistency": 2.67,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.52,
      "vwap": 8.5218,
      "vwap_slope": -0.0041,
      "rvol": 0.05,
      "volume_acceleration": 1.59,
      "premarket_volume": 24012.0,
      "momentum_pct": 0.09,
      "consolidation_tightness_pct": 0.09,
      "distance_from_pm_high_pct": 0.23,
      "extension_from_vwap_pct": -0.02,
      "spread_pct": 0.23
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 8.54,
    "pm_low": 8.51
  },
  {
    "symbol": "OWLT",
    "total_score": 35.16,
    "raw_score": 37.27,
    "breakdown": {
      "price_quality": 0.0,
      "volume_quality": 2.84,
      "rvol": 0.11,
      "volume_acceleration": 10,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.7,
      "spread_liquidity": 3.66,
      "momentum_consistency": 2.55,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 4.98,
      "vwap": 4.9915,
      "vwap_slope": -0.0012,
      "rvol": 0.05,
      "volume_acceleration": 3.94,
      "premarket_volume": 23705.0,
      "momentum_pct": -0.2,
      "consolidation_tightness_pct": 0.5,
      "distance_from_pm_high_pct": 0.4,
      "extension_from_vwap_pct": -0.23,
      "spread_pct": 0.4
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 5.0,
    "pm_low": 4.975
  },
  {
    "symbol": "SXC",
    "total_score": 35.13,
    "raw_score": 37.24,
    "breakdown": {
      "price_quality": 4.69,
      "volume_quality": 3.31,
      "rvol": 0.13,
      "volume_acceleration": 3.67,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.6,
      "spread_liquidity": 4.68,
      "momentum_consistency": 2.76,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.31,
      "vwap": 10.3424,
      "vwap_slope": -0.0077,
      "rvol": 0.06,
      "volume_acceleration": 1.05,
      "premarket_volume": 27596.0,
      "momentum_pct": -0.15,
      "consolidation_tightness_pct": 0.15,
      "distance_from_pm_high_pct": 0.53,
      "extension_from_vwap_pct": -0.31,
      "spread_pct": 0.1
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 10.365,
    "pm_low": 10.31
  },
  {
    "symbol": "STTK",
    "total_score": 34.9,
    "raw_score": 36.99,
    "breakdown": {
      "price_quality": 1.83,
      "volume_quality": 6.8,
      "rvol": 0.27,
      "volume_acceleration": 3.82,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.62,
      "spread_liquidity": 4.51,
      "momentum_consistency": 1.73,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.835,
      "vwap": 6.8437,
      "vwap_slope": -0.0019,
      "rvol": 0.11,
      "volume_acceleration": 1.38,
      "premarket_volume": 56701.0,
      "momentum_pct": -0.07,
      "consolidation_tightness_pct": 0.29,
      "distance_from_pm_high_pct": 0.51,
      "extension_from_vwap_pct": -0.13,
      "spread_pct": 0.15
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 6.87,
    "pm_low": 6.82
  },
  {
    "symbol": "BBCP",
    "total_score": 34.63,
    "raw_score": 36.71,
    "breakdown": {
      "price_quality": 4.77,
      "volume_quality": 6.96,
      "rvol": 0.28,
      "volume_acceleration": 1.55,
      "price_momentum": 0.51,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 4.04,
      "spread_liquidity": 4.02,
      "momentum_consistency": 2.18,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.235,
      "vwap": 10.3229,
      "vwap_slope": -0.0327,
      "rvol": 0.12,
      "volume_acceleration": 0.45,
      "premarket_volume": 57976.0,
      "momentum_pct": 0.34,
      "consolidation_tightness_pct": 0.44,
      "distance_from_pm_high_pct": 2.62,
      "extension_from_vwap_pct": -0.85,
      "spread_pct": 0.29
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 10.51,
    "pm_low": 10.19
  },
  {
    "symbol": "RMNI",
    "total_score": 34.52,
    "raw_score": 36.59,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 6.5,
      "rvol": 0.26,
      "volume_acceleration": 4.42,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.78,
      "spread_liquidity": 4.34,
      "momentum_consistency": 1.39,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.055,
      "vwap": 5.0585,
      "vwap_slope": -0.0052,
      "rvol": 0.11,
      "volume_acceleration": 1.44,
      "premarket_volume": 54169.0,
      "momentum_pct": -0.2,
      "consolidation_tightness_pct": 0.59,
      "distance_from_pm_high_pct": 0.3,
      "extension_from_vwap_pct": -0.07,
      "spread_pct": 0.2
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 5.07,
    "pm_low": 5.035
  },
  {
    "symbol": "MATV",
    "total_score": 33.96,
    "raw_score": 36.0,
    "breakdown": {
      "price_quality": 2.39,
      "volume_quality": 4.97,
      "rvol": 0.2,
      "volume_acceleration": 4.92,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.62,
      "spread_liquidity": 4.21,
      "momentum_consistency": 1.3,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.605,
      "vwap": 12.624,
      "vwap_slope": -0.0132,
      "rvol": 0.08,
      "volume_acceleration": 1.49,
      "premarket_volume": 41411.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.16,
      "distance_from_pm_high_pct": 0.51,
      "extension_from_vwap_pct": -0.15,
      "spread_pct": 0.24
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 12.67,
    "pm_low": 12.59
  },
  {
    "symbol": "HOPE",
    "total_score": 33.62,
    "raw_score": 35.64,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 5.26,
      "rvol": 0.21,
      "volume_acceleration": 4.0,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.79,
      "spread_liquidity": 4.76,
      "momentum_consistency": 1.71,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.095,
      "vwap": 14.1149,
      "vwap_slope": -0.0021,
      "rvol": 0.09,
      "volume_acceleration": 1.15,
      "premarket_volume": 43868.0,
      "momentum_pct": -0.11,
      "consolidation_tightness_pct": 0.17,
      "distance_from_pm_high_pct": 0.28,
      "extension_from_vwap_pct": -0.14,
      "spread_pct": 0.07
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 14.135,
    "pm_low": 14.095
  },
  {
    "symbol": "EIC",
    "total_score": 33.28,
    "raw_score": 35.28,
    "breakdown": {
      "price_quality": 5.0,
      "volume_quality": 4.28,
      "rvol": 0.17,
      "volume_acceleration": 0.65,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.78,
      "spread_liquidity": 4.33,
      "momentum_consistency": 2.67,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.0,
      "vwap": 10.0093,
      "vwap_slope": -0.0008,
      "rvol": 0.07,
      "volume_acceleration": 0.19,
      "premarket_volume": 35681.0,
      "momentum_pct": -0.05,
      "consolidation_tightness_pct": 0.1,
      "distance_from_pm_high_pct": 0.3,
      "extension_from_vwap_pct": -0.09,
      "spread_pct": 0.2
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 10.03,
    "pm_low": 10.0
  },
  {
    "symbol": "BALY",
    "total_score": 33.13,
    "raw_score": 35.12,
    "breakdown": {
      "price_quality": 3.95,
      "volume_quality": 4.44,
      "rvol": 0.18,
      "volume_acceleration": 2.09,
      "price_momentum": 1.27,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 4.76,
      "spread_liquidity": 2.76,
      "momentum_consistency": 3.27,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.945,
      "vwap": 8.9823,
      "vwap_slope": -0.0357,
      "rvol": 0.07,
      "volume_acceleration": 0.6,
      "premarket_volume": 37019.0,
      "momentum_pct": 0.85,
      "consolidation_tightness_pct": 1.57,
      "distance_from_pm_high_pct": 1.65,
      "extension_from_vwap_pct": -0.42,
      "spread_pct": 0.67
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 9.095,
    "pm_low": 8.85
  },
  {
    "symbol": "KBDC",
    "total_score": 33.1,
    "raw_score": 35.08,
    "breakdown": {
      "price_quality": 1.57,
      "volume_quality": 6.31,
      "rvol": 0.25,
      "volume_acceleration": 2.18,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.92,
      "spread_liquidity": 4.75,
      "momentum_consistency": 1.7,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.43,
      "vwap": 13.4316,
      "vwap_slope": -0.005,
      "rvol": 0.11,
      "volume_acceleration": 1.22,
      "premarket_volume": 52617.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.22,
      "distance_from_pm_high_pct": 0.11,
      "extension_from_vwap_pct": -0.01,
      "spread_pct": 0.07
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 13.445,
    "pm_low": 13.41
  },
  {
    "symbol": "BBDC",
    "total_score": 33.04,
    "raw_score": 35.03,
    "breakdown": {
      "price_quality": 4.0,
      "volume_quality": 5.49,
      "rvol": 0.22,
      "volume_acceleration": 0.89,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.67,
      "spread_liquidity": 4.63,
      "momentum_consistency": 1.73,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.0,
      "vwap": 9.0245,
      "vwap_slope": -0.0028,
      "rvol": 0.09,
      "volume_acceleration": 0.26,
      "premarket_volume": 45759.0,
      "momentum_pct": -0.06,
      "consolidation_tightness_pct": 0.17,
      "distance_from_pm_high_pct": 0.44,
      "extension_from_vwap_pct": -0.27,
      "spread_pct": 0.11
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 9.04,
    "pm_low": 9.0
  },
  {
    "symbol": "KODK",
    "total_score": 32.87,
    "raw_score": 34.85,
    "breakdown": {
      "price_quality": 4.23,
      "volume_quality": 3.87,
      "rvol": 0.15,
      "volume_acceleration": 2.3,
      "price_momentum": 0.08,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.76,
      "spread_liquidity": 4.28,
      "momentum_consistency": 1.78,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.235,
      "vwap": 9.2495,
      "vwap_slope": -0.0054,
      "rvol": 0.06,
      "volume_acceleration": 0.66,
      "premarket_volume": 32229.0,
      "momentum_pct": 0.05,
      "consolidation_tightness_pct": 0.16,
      "distance_from_pm_high_pct": 0.32,
      "extension_from_vwap_pct": -0.16,
      "spread_pct": 0.22
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 9.265,
    "pm_low": 9.23
  },
  {
    "symbol": "QTTB",
    "total_score": 32.46,
    "raw_score": 34.41,
    "breakdown": {
      "price_quality": 2.96,
      "volume_quality": 3.6,
      "rvol": 0.14,
      "volume_acceleration": 3.47,
      "price_momentum": 0.16,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.63,
      "spread_liquidity": 4.45,
      "momentum_consistency": 1.6,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.04,
      "vwap": 12.0422,
      "vwap_slope": -0.0074,
      "rvol": 0.06,
      "volume_acceleration": 1.0,
      "premarket_volume": 30025.0,
      "momentum_pct": 0.1,
      "consolidation_tightness_pct": 0.12,
      "distance_from_pm_high_pct": 0.5,
      "extension_from_vwap_pct": -0.02,
      "spread_pct": 0.17
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 12.1,
    "pm_low": 12.025
  },
  {
    "symbol": "BIOA",
    "total_score": 32.27,
    "raw_score": 34.2,
    "breakdown": {
      "price_quality": 4.63,
      "volume_quality": 2.43,
      "rvol": 0.1,
      "volume_acceleration": 2.07,
      "price_momentum": 0.1,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.0,
      "spread_liquidity": 3.96,
      "momentum_consistency": 3.52,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.63,
      "vwap": 9.6862,
      "vwap_slope": -0.0236,
      "rvol": 0.04,
      "volume_acceleration": 0.59,
      "premarket_volume": 20252.0,
      "momentum_pct": 0.06,
      "consolidation_tightness_pct": 0.21,
      "distance_from_pm_high_pct": 1.33,
      "extension_from_vwap_pct": -0.58,
      "spread_pct": 0.31
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 9.76,
    "pm_low": 9.62
  },
  {
    "symbol": "GOOS",
    "total_score": 32.19,
    "raw_score": 34.12,
    "breakdown": {
      "price_quality": 3.21,
      "volume_quality": 3.35,
      "rvol": 0.13,
      "volume_acceleration": 2.98,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.59,
      "spread_liquidity": 4.59,
      "momentum_consistency": 1.87,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.21,
      "vwap": 8.2273,
      "vwap_slope": -0.0084,
      "rvol": 0.06,
      "volume_acceleration": 1.3,
      "premarket_volume": 27881.0,
      "momentum_pct": -0.11,
      "consolidation_tightness_pct": 0.18,
      "distance_from_pm_high_pct": 0.55,
      "extension_from_vwap_pct": -0.21,
      "spread_pct": 0.12
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 8.255,
    "pm_low": 8.21
  },
  {
    "symbol": "DNA",
    "total_score": 32.13,
    "raw_score": 34.06,
    "breakdown": {
      "price_quality": 1.9,
      "volume_quality": 4.63,
      "rvol": 0.19,
      "volume_acceleration": 1.72,
      "price_momentum": 0.02,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.79,
      "spread_liquidity": 4.52,
      "momentum_consistency": 2.89,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.901,
      "vwap": 6.9013,
      "vwap_slope": -0.0005,
      "rvol": 0.08,
      "volume_acceleration": 1.17,
      "premarket_volume": 38607.0,
      "momentum_pct": 0.01,
      "consolidation_tightness_pct": 0.2,
      "distance_from_pm_high_pct": 0.27,
      "extension_from_vwap_pct": -0.0,
      "spread_pct": 0.14
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 6.92,
    "pm_low": 6.885
  },
  {
    "symbol": "AMCX",
    "total_score": 32.09,
    "raw_score": 34.02,
    "breakdown": {
      "price_quality": 2.6,
      "volume_quality": 3.68,
      "rvol": 0.15,
      "volume_acceleration": 2.44,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.7,
      "spread_liquidity": 4.46,
      "momentum_consistency": 2.58,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.4,
      "vwap": 12.4195,
      "vwap_slope": -0.0061,
      "rvol": 0.06,
      "volume_acceleration": 1.24,
      "premarket_volume": 30685.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.25,
      "distance_from_pm_high_pct": 0.39,
      "extension_from_vwap_pct": -0.16,
      "spread_pct": 0.16
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 12.449,
    "pm_low": 12.39
  },
  {
    "symbol": "AURA",
    "total_score": 31.66,
    "raw_score": 33.56,
    "breakdown": {
      "price_quality": 2.46,
      "volume_quality": 5.24,
      "rvol": 0.21,
      "volume_acceleration": 1.59,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.16,
      "spread_liquidity": 4.55,
      "momentum_consistency": 1.95,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.465,
      "vwap": 7.5109,
      "vwap_slope": -0.0084,
      "rvol": 0.09,
      "volume_acceleration": 0.46,
      "premarket_volume": 43655.0,
      "momentum_pct": -0.13,
      "consolidation_tightness_pct": 0.27,
      "distance_from_pm_high_pct": 1.13,
      "extension_from_vwap_pct": -0.61,
      "spread_pct": 0.13
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 7.55,
    "pm_low": 7.46
  },
  {
    "symbol": "IMUX",
    "total_score": 31.58,
    "raw_score": 33.48,
    "breakdown": {
      "price_quality": 2.29,
      "volume_quality": 2.84,
      "rvol": 0.11,
      "volume_acceleration": 3.93,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.44,
      "spread_liquidity": 3.69,
      "momentum_consistency": 2.78,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.715,
      "vwap": 12.7782,
      "vwap_slope": -0.0134,
      "rvol": 0.05,
      "volume_acceleration": 1.13,
      "premarket_volume": 23643.0,
      "momentum_pct": -0.04,
      "consolidation_tightness_pct": 0.59,
      "distance_from_pm_high_pct": 0.74,
      "extension_from_vwap_pct": -0.49,
      "spread_pct": 0.39
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 12.81,
    "pm_low": 12.69
  },
  {
    "symbol": "MAGN",
    "total_score": 31.56,
    "raw_score": 33.46,
    "breakdown": {
      "price_quality": 2.45,
      "volume_quality": 2.48,
      "rvol": 0.1,
      "volume_acceleration": 3.27,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.91,
      "spread_liquidity": 4.47,
      "momentum_consistency": 2.38,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.555,
      "vwap": 12.5561,
      "vwap_slope": -0.0002,
      "rvol": 0.04,
      "volume_acceleration": 0.94,
      "premarket_volume": 20675.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.08,
      "distance_from_pm_high_pct": 0.12,
      "extension_from_vwap_pct": -0.01,
      "spread_pct": 0.16
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 12.57,
    "pm_low": 12.54
  },
  {
    "symbol": "HSLV",
    "total_score": 30.73,
    "raw_score": 32.57,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 3.03,
      "rvol": 0.12,
      "volume_acceleration": 3.87,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.55,
      "spread_liquidity": 4.42,
      "momentum_consistency": 1.68,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.745,
      "vwap": 5.7628,
      "vwap_slope": -0.0016,
      "rvol": 0.05,
      "volume_acceleration": 1.11,
      "premarket_volume": 25214.0,
      "momentum_pct": -0.17,
      "consolidation_tightness_pct": 0.17,
      "distance_from_pm_high_pct": 0.61,
      "extension_from_vwap_pct": -0.31,
      "spread_pct": 0.17
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 5.78,
    "pm_low": 5.745
  },
  {
    "symbol": "OEC",
    "total_score": 29.71,
    "raw_score": 31.5,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 2.99,
      "rvol": 0.12,
      "volume_acceleration": 3.34,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.32,
      "spread_liquidity": 3.89,
      "momentum_consistency": 1.93,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.03,
      "vwap": 6.0646,
      "vwap_slope": -0.0077,
      "rvol": 0.05,
      "volume_acceleration": 0.96,
      "premarket_volume": 24938.0,
      "momentum_pct": -0.5,
      "consolidation_tightness_pct": 0.5,
      "distance_from_pm_high_pct": 0.9,
      "extension_from_vwap_pct": -0.57,
      "spread_pct": 0.33
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 6.085,
    "pm_low": 6.03
  },
  {
    "symbol": "PSFE",
    "total_score": 29.26,
    "raw_score": 31.02,
    "breakdown": {
      "price_quality": 1.68,
      "volume_quality": 2.72,
      "rvol": 0.11,
      "volume_acceleration": 2.23,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.55,
      "spread_liquidity": 4.0,
      "momentum_consistency": 2.32,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.68,
      "vwap": 6.6916,
      "vwap_slope": -0.0048,
      "rvol": 0.05,
      "volume_acceleration": 0.64,
      "premarket_volume": 22698.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.13,
      "distance_from_pm_high_pct": 0.6,
      "extension_from_vwap_pct": -0.17,
      "spread_pct": 0.3
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 6.72,
    "pm_low": 6.67
  },
  {
    "symbol": "TXO",
    "total_score": 28.81,
    "raw_score": 30.54,
    "breakdown": {
      "price_quality": 0.0,
      "volume_quality": 2.64,
      "rvol": 0.11,
      "volume_acceleration": 1.73,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.73,
      "spread_liquidity": 4.33,
      "momentum_consistency": 3.6,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 15.025,
      "vwap": 15.029,
      "vwap_slope": -0.0022,
      "rvol": 0.04,
      "volume_acceleration": 0.5,
      "premarket_volume": 22037.0,
      "momentum_pct": -0.07,
      "consolidation_tightness_pct": 0.17,
      "distance_from_pm_high_pct": 0.36,
      "extension_from_vwap_pct": -0.03,
      "spread_pct": 0.2
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 15.08,
    "pm_low": 15.0
  },
  {
    "symbol": "NVA",
    "total_score": 28.09,
    "raw_score": 29.78,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 2.93,
      "rvol": 0.12,
      "volume_acceleration": 2.29,
      "price_momentum": 0.12,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.51,
      "spread_liquidity": 2.79,
      "momentum_consistency": 2.12,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.03,
      "vwap": 6.0372,
      "vwap_slope": -0.005,
      "rvol": 0.05,
      "volume_acceleration": 0.66,
      "premarket_volume": 24448.0,
      "momentum_pct": 0.08,
      "consolidation_tightness_pct": 0.33,
      "distance_from_pm_high_pct": 0.66,
      "extension_from_vwap_pct": -0.12,
      "spread_pct": 0.66
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 6.07,
    "pm_low": 6.01
  },
  {
    "symbol": "DSP",
    "total_score": 27.63,
    "raw_score": 29.28,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 2.9,
      "rvol": 0.12,
      "volume_acceleration": 1.99,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.73,
      "spread_liquidity": 3.04,
      "momentum_consistency": 1.6,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.63,
      "vwap": 13.6356,
      "vwap_slope": -0.0057,
      "rvol": 0.05,
      "volume_acceleration": 0.57,
      "premarket_volume": 24197.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.81,
      "distance_from_pm_high_pct": 0.37,
      "extension_from_vwap_pct": -0.04,
      "spread_pct": 0.59
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 13.68,
    "pm_low": 13.55
  },
  {
    "symbol": "AMWL",
    "total_score": 27.44,
    "raw_score": 29.09,
    "breakdown": {
      "price_quality": 1.96,
      "volume_quality": 2.73,
      "rvol": 0.11,
      "volume_acceleration": 1.29,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 4.92,
      "spread_liquidity": 3.21,
      "momentum_consistency": 2.46,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.04,
      "vwap": 13.0699,
      "vwap_slope": -0.0941,
      "rvol": 0.05,
      "volume_acceleration": 0.37,
      "premarket_volume": 22743.0,
      "momentum_pct": -0.21,
      "consolidation_tightness_pct": 0.69,
      "distance_from_pm_high_pct": 1.44,
      "extension_from_vwap_pct": -0.23,
      "spread_pct": 0.54
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 13.23,
    "pm_low": 12.99
  },
  {
    "symbol": "KPLT",
    "total_score": 27.32,
    "raw_score": 28.96,
    "breakdown": {
      "price_quality": 2.72,
      "volume_quality": 3.08,
      "rvol": 0.12,
      "volume_acceleration": 2.02,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 3.47,
      "spread_liquidity": 1.15,
      "momentum_consistency": 4.0,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.72,
      "vwap": 7.8587,
      "vwap_slope": -0.0423,
      "rvol": 0.05,
      "volume_acceleration": 1.2,
      "premarket_volume": 25656.0,
      "momentum_pct": -2.27,
      "consolidation_tightness_pct": 2.94,
      "distance_from_pm_high_pct": 3.38,
      "extension_from_vwap_pct": -1.77,
      "spread_pct": 1.16
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 7.9898,
    "pm_low": 7.69
  }
]