[
  {
    "symbol": "SMR",
    "total_score": 78.34,
    "raw_score": 83.04,
    "breakdown": {
      "price_quality": 3.99,
      "volume_quality": 12.0,
      "rvol": 12.0,
      "volume_acceleration": 3.84,
      "price_momentum": 0.67,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.92,
      "spread_liquidity": 4.63,
      "momentum_consistency": 4.0,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.99,
      "vwap": 8.8957,
      "vwap_slope": 0.0138,
      "rvol": 7.82,
      "volume_acceleration": 1.1,
      "premarket_volume": 3911056.0,
      "momentum_pct": 0.45,
      "consolidation_tightness_pct": 0.89,
      "distance_from_pm_high_pct": 0.11,
      "extension_from_vwap_pct": 1.06,
      "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": 9.0,
    "pm_low": 8.81
  },
  {
    "symbol": "AI",
    "total_score": 74.92,
    "raw_score": 79.41,
    "breakdown": {
      "price_quality": 4.64,
      "volume_quality": 12.0,
      "rvol": 1.57,
      "volume_acceleration": 10,
      "price_momentum": 0.73,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 6,
      "spread_liquidity": 4.68,
      "momentum_consistency": 3.8,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.355,
      "vwap": 10.26,
      "vwap_slope": 0.0236,
      "rvol": 0.65,
      "volume_acceleration": 2.23,
      "premarket_volume": 326268.0,
      "momentum_pct": 0.49,
      "consolidation_tightness_pct": 0.58,
      "distance_from_pm_high_pct": 0.0,
      "extension_from_vwap_pct": 0.93,
      "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.355,
    "pm_low": 10.185
  },
  {
    "symbol": "RKT",
    "total_score": 73.86,
    "raw_score": 78.3,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 12.0,
      "volume_acceleration": 2.11,
      "price_momentum": 0.7,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.84,
      "spread_liquidity": 4.76,
      "momentum_consistency": 3.39,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.055,
      "vwap": 13.9884,
      "vwap_slope": 0.0036,
      "rvol": 6.66,
      "volume_acceleration": 1.21,
      "premarket_volume": 3330093.0,
      "momentum_pct": 0.46,
      "consolidation_tightness_pct": 0.57,
      "distance_from_pm_high_pct": 0.21,
      "extension_from_vwap_pct": 0.48,
      "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.085,
    "pm_low": 13.91
  },
  {
    "symbol": "HUN",
    "total_score": 72.88,
    "raw_score": 77.26,
    "breakdown": {
      "price_quality": 4.87,
      "volume_quality": 12.0,
      "rvol": 1.29,
      "volume_acceleration": 10,
      "price_momentum": 0.3,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.96,
      "spread_liquidity": 4.67,
      "momentum_consistency": 2.17,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.135,
      "vwap": 10.1011,
      "vwap_slope": 0.0158,
      "rvol": 0.54,
      "volume_acceleration": 2.72,
      "premarket_volume": 269109.0,
      "momentum_pct": 0.2,
      "consolidation_tightness_pct": 0.4,
      "distance_from_pm_high_pct": 0.05,
      "extension_from_vwap_pct": 0.34,
      "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.14,
    "pm_low": 10.07
  },
  {
    "symbol": "BLMN",
    "total_score": 72.18,
    "raw_score": 76.51,
    "breakdown": {
      "price_quality": 4.53,
      "volume_quality": 12.0,
      "rvol": 0.52,
      "volume_acceleration": 8.42,
      "price_momentum": 0.58,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 6,
      "spread_liquidity": 4.68,
      "momentum_consistency": 3.77,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.47,
      "vwap": 10.39,
      "vwap_slope": 0.0231,
      "rvol": 0.22,
      "volume_acceleration": 1.84,
      "premarket_volume": 109331.0,
      "momentum_pct": 0.38,
      "consolidation_tightness_pct": 0.38,
      "distance_from_pm_high_pct": 0.0,
      "extension_from_vwap_pct": 0.77,
      "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.47,
    "pm_low": 10.325
  },
  {
    "symbol": "TTD",
    "total_score": 71.96,
    "raw_score": 76.27,
    "breakdown": {
      "price_quality": 1.74,
      "volume_quality": 12.0,
      "rvol": 7.01,
      "volume_acceleration": 6.0,
      "price_momentum": 0.23,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.97,
      "spread_liquidity": 4.75,
      "momentum_consistency": 2.58,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.255,
      "vwap": 13.2257,
      "vwap_slope": 0.0058,
      "rvol": 2.63,
      "volume_acceleration": 1.6,
      "premarket_volume": 1313915.0,
      "momentum_pct": 0.15,
      "consolidation_tightness_pct": 0.26,
      "distance_from_pm_high_pct": 0.04,
      "extension_from_vwap_pct": 0.22,
      "spread_pct": 0.08
    },
    "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": 13.26,
    "pm_low": 13.18
  },
  {
    "symbol": "CLSK",
    "total_score": 71.23,
    "raw_score": 75.5,
    "breakdown": {
      "price_quality": 2.61,
      "volume_quality": 12.0,
      "rvol": 11.76,
      "volume_acceleration": 7.13,
      "price_momentum": 0.79,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.88,
      "spread_liquidity": 4.73,
      "momentum_consistency": 4.2,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.39,
      "vwap": 12.2599,
      "vwap_slope": 0.0447,
      "rvol": 4.41,
      "volume_acceleration": 1.71,
      "premarket_volume": 2205657.0,
      "momentum_pct": 0.53,
      "consolidation_tightness_pct": 0.89,
      "distance_from_pm_high_pct": 0.16,
      "extension_from_vwap_pct": 1.06,
      "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": true,
      "vwap_rising": true
    },
    "pm_high": 12.41,
    "pm_low": 12.095
  },
  {
    "symbol": "RIG",
    "total_score": 70.77,
    "raw_score": 75.02,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 12.0,
      "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.69,
      "spread_liquidity": 4.44,
      "momentum_consistency": 2.98,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.015,
      "vwap": 5.9938,
      "vwap_slope": 0.0112,
      "rvol": 8.27,
      "volume_acceleration": 2.21,
      "premarket_volume": 4134607.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.5,
      "distance_from_pm_high_pct": 0.41,
      "extension_from_vwap_pct": 0.35,
      "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": 6.04,
    "pm_low": 5.96
  },
  {
    "symbol": "CWH",
    "total_score": 70.71,
    "raw_score": 74.95,
    "breakdown": {
      "price_quality": 1.51,
      "volume_quality": 12.0,
      "rvol": 1.02,
      "volume_acceleration": 10,
      "price_momentum": 0.58,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.89,
      "spread_liquidity": 4.49,
      "momentum_consistency": 3.47,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.515,
      "vwap": 6.4383,
      "vwap_slope": 0.0314,
      "rvol": 0.42,
      "volume_acceleration": 2.07,
      "premarket_volume": 212032.0,
      "momentum_pct": 0.39,
      "consolidation_tightness_pct": 0.77,
      "distance_from_pm_high_pct": 0.15,
      "extension_from_vwap_pct": 1.19,
      "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.525,
    "pm_low": 6.36
  },
  {
    "symbol": "FRMI",
    "total_score": 70.68,
    "raw_score": 74.92,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 12.0,
      "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.19,
      "spread_liquidity": 4.44,
      "momentum_consistency": 3.39,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.895,
      "vwap": 5.8444,
      "vwap_slope": 0.0776,
      "rvol": 7.99,
      "volume_acceleration": 3.14,
      "premarket_volume": 3995499.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 2.46,
      "distance_from_pm_high_pct": 1.07,
      "extension_from_vwap_pct": 0.87,
      "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.959,
    "pm_low": 5.715
  },
  {
    "symbol": "NTSK",
    "total_score": 70.03,
    "raw_score": 74.23,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 1.37,
      "volume_acceleration": 9.1,
      "price_momentum": 0.26,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.84,
      "spread_liquidity": 4.77,
      "momentum_consistency": 3.39,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.305,
      "vwap": 14.265,
      "vwap_slope": 0.0212,
      "rvol": 0.57,
      "volume_acceleration": 1.91,
      "premarket_volume": 284877.0,
      "momentum_pct": 0.17,
      "consolidation_tightness_pct": 0.53,
      "distance_from_pm_high_pct": 0.21,
      "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": true,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 14.335,
    "pm_low": 14.165
  },
  {
    "symbol": "MARA",
    "total_score": 68.14,
    "raw_score": 72.23,
    "breakdown": {
      "price_quality": 4.04,
      "volume_quality": 12.0,
      "rvol": 12.0,
      "volume_acceleration": 3.15,
      "price_momentum": 0.14,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.73,
      "spread_liquidity": 4.7,
      "momentum_consistency": 4.07,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.955,
      "vwap": 10.8524,
      "vwap_slope": 0.0198,
      "rvol": 16.13,
      "volume_acceleration": 0.91,
      "premarket_volume": 8062877.0,
      "momentum_pct": 0.09,
      "consolidation_tightness_pct": 0.69,
      "distance_from_pm_high_pct": 0.36,
      "extension_from_vwap_pct": 0.95,
      "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": true,
      "vwap_rising": true
    },
    "pm_high": 10.995,
    "pm_low": 10.71
  },
  {
    "symbol": "AES",
    "total_score": 68.08,
    "raw_score": 72.17,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 8.97,
      "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.95,
      "spread_liquidity": 4.77,
      "momentum_consistency": 2.58,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.765,
      "vwap": 14.7602,
      "vwap_slope": 0.0002,
      "rvol": 3.36,
      "volume_acceleration": 5.99,
      "premarket_volume": 1681100.0,
      "momentum_pct": -0.03,
      "consolidation_tightness_pct": 0.07,
      "distance_from_pm_high_pct": 0.07,
      "extension_from_vwap_pct": 0.03,
      "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.775,
    "pm_low": 14.75
  },
  {
    "symbol": "CLF",
    "total_score": 68.06,
    "raw_score": 72.14,
    "breakdown": {
      "price_quality": 4.35,
      "volume_quality": 12.0,
      "rvol": 12.0,
      "volume_acceleration": 3.71,
      "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.69,
      "momentum_consistency": 3.45,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.655,
      "vwap": 10.6105,
      "vwap_slope": 0.0292,
      "rvol": 5.15,
      "volume_acceleration": 1.37,
      "premarket_volume": 2575353.0,
      "momentum_pct": -0.56,
      "consolidation_tightness_pct": 0.61,
      "distance_from_pm_high_pct": 0.61,
      "extension_from_vwap_pct": 0.42,
      "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": true,
      "vwap_rising": true
    },
    "pm_high": 10.72,
    "pm_low": 10.52
  },
  {
    "symbol": "MAT",
    "total_score": 67.91,
    "raw_score": 71.99,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 1.64,
      "volume_acceleration": 6.75,
      "price_momentum": 0.61,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 6,
      "spread_liquidity": 4.77,
      "momentum_consistency": 2.71,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.725,
      "vwap": 14.6311,
      "vwap_slope": 0.0212,
      "rvol": 0.68,
      "volume_acceleration": 1.67,
      "premarket_volume": 342220.0,
      "momentum_pct": 0.41,
      "consolidation_tightness_pct": 0.44,
      "distance_from_pm_high_pct": 0.0,
      "extension_from_vwap_pct": 0.64,
      "spread_pct": 0.07
    },
    "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.725,
    "pm_low": 14.57
  },
  {
    "symbol": "MNRO",
    "total_score": 67.85,
    "raw_score": 71.92,
    "breakdown": {
      "price_quality": 3.12,
      "volume_quality": 12.0,
      "rvol": 0.67,
      "volume_acceleration": 6.07,
      "price_momentum": 0.7,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.91,
      "spread_liquidity": 4.44,
      "momentum_consistency": 3.02,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.875,
      "vwap": 11.7641,
      "vwap_slope": 0.0238,
      "rvol": 0.28,
      "volume_acceleration": 1.61,
      "premarket_volume": 138723.0,
      "momentum_pct": 0.47,
      "consolidation_tightness_pct": 0.71,
      "distance_from_pm_high_pct": 0.12,
      "extension_from_vwap_pct": 0.94,
      "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": 11.8888,
    "pm_low": 11.655
  },
  {
    "symbol": "TIC",
    "total_score": 67.82,
    "raw_score": 71.89,
    "breakdown": {
      "price_quality": 3.94,
      "volume_quality": 12.0,
      "rvol": 0.76,
      "volume_acceleration": 5.15,
      "price_momentum": 0.17,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.92,
      "spread_liquidity": 4.25,
      "momentum_consistency": 3.69,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.94,
      "vwap": 8.8695,
      "vwap_slope": 0.035,
      "rvol": 0.32,
      "volume_acceleration": 1.52,
      "premarket_volume": 159145.0,
      "momentum_pct": 0.11,
      "consolidation_tightness_pct": 0.34,
      "distance_from_pm_high_pct": 0.11,
      "extension_from_vwap_pct": 0.79,
      "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": true,
      "vwap_rising": true
    },
    "pm_high": 8.95,
    "pm_low": 8.805
  },
  {
    "symbol": "VERX",
    "total_score": 67.79,
    "raw_score": 71.86,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 0.59,
      "volume_acceleration": 8.19,
      "price_momentum": 0.0,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.94,
      "spread_liquidity": 4.75,
      "momentum_consistency": 2.88,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.5598,
      "vwap": 13.4966,
      "vwap_slope": 0.0319,
      "rvol": 0.25,
      "volume_acceleration": 1.82,
      "premarket_volume": 122636.0,
      "momentum_pct": -0.0,
      "consolidation_tightness_pct": 0.22,
      "distance_from_pm_high_pct": 0.08,
      "extension_from_vwap_pct": 0.47,
      "spread_pct": 0.07
    },
    "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.57,
    "pm_low": 13.42
  },
  {
    "symbol": "ONDS",
    "total_score": 67.48,
    "raw_score": 71.53,
    "breakdown": {
      "price_quality": 3.35,
      "volume_quality": 12.0,
      "rvol": 12.0,
      "volume_acceleration": 3.74,
      "price_momentum": 0.27,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.91,
      "spread_liquidity": 4.6,
      "momentum_consistency": 3.25,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.35,
      "vwap": 8.2757,
      "vwap_slope": 0.0176,
      "rvol": 16.62,
      "volume_acceleration": 1.08,
      "premarket_volume": 8309120.0,
      "momentum_pct": 0.18,
      "consolidation_tightness_pct": 0.6,
      "distance_from_pm_high_pct": 0.12,
      "extension_from_vwap_pct": 0.9,
      "spread_pct": 0.12
    },
    "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": 8.36,
    "pm_low": 8.22
  },
  {
    "symbol": "QUBT",
    "total_score": 67.47,
    "raw_score": 71.52,
    "breakdown": {
      "price_quality": 3.15,
      "volume_quality": 12.0,
      "rvol": 2.58,
      "volume_acceleration": 3.84,
      "price_momentum": 0.28,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.91,
      "spread_liquidity": 4.59,
      "momentum_consistency": 3.17,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.15,
      "vwap": 8.0998,
      "vwap_slope": 0.0085,
      "rvol": 1.08,
      "volume_acceleration": 1.1,
      "premarket_volume": 538533.0,
      "momentum_pct": 0.18,
      "consolidation_tightness_pct": 0.37,
      "distance_from_pm_high_pct": 0.12,
      "extension_from_vwap_pct": 0.62,
      "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.16,
    "pm_low": 8.065
  },
  {
    "symbol": "NOK",
    "total_score": 66.93,
    "raw_score": 70.94,
    "breakdown": {
      "price_quality": 4.83,
      "volume_quality": 12.0,
      "rvol": 12.0,
      "volume_acceleration": 2.28,
      "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.67,
      "momentum_consistency": 2.98,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.17,
      "vwap": 10.1626,
      "vwap_slope": 0.0071,
      "rvol": 8.65,
      "volume_acceleration": 1.23,
      "premarket_volume": 4324823.0,
      "momentum_pct": -0.2,
      "consolidation_tightness_pct": 0.29,
      "distance_from_pm_high_pct": 0.29,
      "extension_from_vwap_pct": 0.07,
      "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.2,
    "pm_low": 10.13
  },
  {
    "symbol": "IE",
    "total_score": 66.9,
    "raw_score": 70.91,
    "breakdown": {
      "price_quality": 4.73,
      "volume_quality": 12.0,
      "rvol": 1.26,
      "volume_acceleration": 10,
      "price_momentum": 0.59,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.56,
      "spread_liquidity": 4.68,
      "momentum_consistency": 3.29,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.265,
      "vwap": 10.2519,
      "vwap_slope": -0.0335,
      "rvol": 0.52,
      "volume_acceleration": 6.36,
      "premarket_volume": 262183.0,
      "momentum_pct": 0.39,
      "consolidation_tightness_pct": 0.44,
      "distance_from_pm_high_pct": 0.58,
      "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": true,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 10.325,
    "pm_low": 10.215
  },
  {
    "symbol": "MBLY",
    "total_score": 66.66,
    "raw_score": 70.66,
    "breakdown": {
      "price_quality": 3.94,
      "volume_quality": 12.0,
      "rvol": 2.16,
      "volume_acceleration": 2.37,
      "price_momentum": 0.76,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.96,
      "spread_liquidity": 4.63,
      "momentum_consistency": 2.85,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.935,
      "vwap": 8.8678,
      "vwap_slope": 0.0073,
      "rvol": 0.9,
      "volume_acceleration": 0.68,
      "premarket_volume": 449965.0,
      "momentum_pct": 0.51,
      "consolidation_tightness_pct": 0.62,
      "distance_from_pm_high_pct": 0.06,
      "extension_from_vwap_pct": 0.76,
      "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": 8.94,
    "pm_low": 8.82
  },
  {
    "symbol": "VALE",
    "total_score": 66.46,
    "raw_score": 70.45,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 12.0,
      "volume_acceleration": 4.85,
      "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.77,
      "momentum_consistency": 2.98,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.245,
      "vwap": 14.2134,
      "vwap_slope": 0.004,
      "rvol": 6.72,
      "volume_acceleration": 1.48,
      "premarket_volume": 3360285.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.07,
      "distance_from_pm_high_pct": 0.07,
      "extension_from_vwap_pct": 0.22,
      "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.255,
    "pm_low": 14.17
  },
  {
    "symbol": "STUB",
    "total_score": 66.2,
    "raw_score": 70.17,
    "breakdown": {
      "price_quality": 1.84,
      "volume_quality": 12.0,
      "rvol": 6.54,
      "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.84,
      "spread_liquidity": 4.51,
      "momentum_consistency": 3.03,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.845,
      "vwap": 6.7906,
      "vwap_slope": 0.0194,
      "rvol": 2.45,
      "volume_acceleration": 2.41,
      "premarket_volume": 1226847.0,
      "momentum_pct": -0.15,
      "consolidation_tightness_pct": 0.29,
      "distance_from_pm_high_pct": 0.22,
      "extension_from_vwap_pct": 0.8,
      "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.86,
    "pm_low": 6.71
  },
  {
    "symbol": "AGEN",
    "total_score": 65.96,
    "raw_score": 69.92,
    "breakdown": {
      "price_quality": 2.55,
      "volume_quality": 12.0,
      "rvol": 1.39,
      "volume_acceleration": 3.6,
      "price_momentum": 0.9,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 6,
      "spread_liquidity": 4.12,
      "momentum_consistency": 3.37,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.55,
      "vwap": 7.3852,
      "vwap_slope": 0.0103,
      "rvol": 0.58,
      "volume_acceleration": 1.36,
      "premarket_volume": 288739.0,
      "momentum_pct": 0.6,
      "consolidation_tightness_pct": 0.73,
      "distance_from_pm_high_pct": 0.0,
      "extension_from_vwap_pct": 2.23,
      "spread_pct": 0.27
    },
    "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.55,
    "pm_low": 7.31
  },
  {
    "symbol": "ALHC",
    "total_score": 65.9,
    "raw_score": 69.85,
    "breakdown": {
      "price_quality": 2.1,
      "volume_quality": 12.0,
      "rvol": 1.76,
      "volume_acceleration": 3.94,
      "price_momentum": 0.47,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 6,
      "spread_liquidity": 4.74,
      "momentum_consistency": 2.85,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.905,
      "vwap": 12.818,
      "vwap_slope": 0.0104,
      "rvol": 0.73,
      "volume_acceleration": 1.13,
      "premarket_volume": 367348.0,
      "momentum_pct": 0.31,
      "consolidation_tightness_pct": 0.35,
      "distance_from_pm_high_pct": 0.0,
      "extension_from_vwap_pct": 0.68,
      "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.905,
    "pm_low": 12.77
  },
  {
    "symbol": "NU",
    "total_score": 65.48,
    "raw_score": 69.41,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 12.0,
      "volume_acceleration": 3.69,
      "price_momentum": 0.21,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.87,
      "spread_liquidity": 4.77,
      "momentum_consistency": 2.98,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.235,
      "vwap": 14.2116,
      "vwap_slope": 0.0012,
      "rvol": 21.13,
      "volume_acceleration": 1.37,
      "premarket_volume": 10564032.0,
      "momentum_pct": 0.14,
      "consolidation_tightness_pct": 0.21,
      "distance_from_pm_high_pct": 0.18,
      "extension_from_vwap_pct": 0.16,
      "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.26,
    "pm_low": 14.18
  },
  {
    "symbol": "UPWK",
    "total_score": 65.4,
    "raw_score": 69.32,
    "breakdown": {
      "price_quality": 3.68,
      "volume_quality": 12.0,
      "rvol": 0.85,
      "volume_acceleration": 2.76,
      "price_momentum": 0.69,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.96,
      "spread_liquidity": 4.62,
      "momentum_consistency": 2.76,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.675,
      "vwap": 8.6314,
      "vwap_slope": 0.0055,
      "rvol": 0.36,
      "volume_acceleration": 0.79,
      "premarket_volume": 177752.0,
      "momentum_pct": 0.46,
      "consolidation_tightness_pct": 0.52,
      "distance_from_pm_high_pct": 0.06,
      "extension_from_vwap_pct": 0.51,
      "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.68,
    "pm_low": 8.6
  },
  {
    "symbol": "DX",
    "total_score": 65.39,
    "raw_score": 69.31,
    "breakdown": {
      "price_quality": 1.72,
      "volume_quality": 12.0,
      "rvol": 3.26,
      "volume_acceleration": 2.9,
      "price_momentum": 0.11,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.94,
      "spread_liquidity": 4.75,
      "momentum_consistency": 2.62,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.28,
      "vwap": 13.2495,
      "vwap_slope": 0.0053,
      "rvol": 1.36,
      "volume_acceleration": 0.83,
      "premarket_volume": 679613.0,
      "momentum_pct": 0.08,
      "consolidation_tightness_pct": 0.19,
      "distance_from_pm_high_pct": 0.08,
      "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": 13.29,
    "pm_low": 13.2
  },
  {
    "symbol": "SOUN",
    "total_score": 65.25,
    "raw_score": 69.16,
    "breakdown": {
      "price_quality": 1.92,
      "volume_quality": 12.0,
      "rvol": 12.0,
      "volume_acceleration": 3.63,
      "price_momentum": 0.2,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.79,
      "spread_liquidity": 4.52,
      "momentum_consistency": 2.71,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.9205,
      "vwap": 6.9054,
      "vwap_slope": 0.0027,
      "rvol": 5.81,
      "volume_acceleration": 1.04,
      "premarket_volume": 2905937.0,
      "momentum_pct": 0.13,
      "consolidation_tightness_pct": 0.29,
      "distance_from_pm_high_pct": 0.28,
      "extension_from_vwap_pct": 0.22,
      "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": 6.94,
    "pm_low": 6.88
  },
  {
    "symbol": "BTG",
    "total_score": 65.02,
    "raw_score": 68.92,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 11.7,
      "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.93,
      "spread_liquidity": 4.38,
      "momentum_consistency": 2.34,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.355,
      "vwap": 5.3396,
      "vwap_slope": 0.0046,
      "rvol": 4.39,
      "volume_acceleration": 1.47,
      "premarket_volume": 2192872.0,
      "momentum_pct": -0.0,
      "consolidation_tightness_pct": 0.19,
      "distance_from_pm_high_pct": 0.09,
      "extension_from_vwap_pct": 0.29,
      "spread_pct": 0.19
    },
    "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.36,
    "pm_low": 5.32
  },
  {
    "symbol": "SNAP",
    "total_score": 64.85,
    "raw_score": 68.74,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 12.0,
      "volume_acceleration": 2.87,
      "price_momentum": 0.29,
      "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": 3.39,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.215,
      "vwap": 5.1692,
      "vwap_slope": 0.0069,
      "rvol": 9.69,
      "volume_acceleration": 0.82,
      "premarket_volume": 4844856.0,
      "momentum_pct": 0.19,
      "consolidation_tightness_pct": 0.58,
      "distance_from_pm_high_pct": 0.1,
      "extension_from_vwap_pct": 0.89,
      "spread_pct": 0.19
    },
    "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.22,
    "pm_low": 5.1211
  },
  {
    "symbol": "FRSH",
    "total_score": 64.8,
    "raw_score": 68.69,
    "breakdown": {
      "price_quality": 1.96,
      "volume_quality": 12.0,
      "rvol": 1.58,
      "volume_acceleration": 3.09,
      "price_momentum": 0.23,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.97,
      "spread_liquidity": 4.74,
      "momentum_consistency": 3.12,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.045,
      "vwap": 13.0129,
      "vwap_slope": 0.0061,
      "rvol": 0.66,
      "volume_acceleration": 0.89,
      "premarket_volume": 329167.0,
      "momentum_pct": 0.15,
      "consolidation_tightness_pct": 0.23,
      "distance_from_pm_high_pct": 0.04,
      "extension_from_vwap_pct": 0.25,
      "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": 13.05,
    "pm_low": 12.95
  },
  {
    "symbol": "CRML",
    "total_score": 64.48,
    "raw_score": 68.35,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 1.59,
      "volume_acceleration": 2.13,
      "price_momentum": 1.17,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 6,
      "spread_liquidity": 4.43,
      "momentum_consistency": 3.53,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.805,
      "vwap": 5.7433,
      "vwap_slope": 0.0053,
      "rvol": 0.66,
      "volume_acceleration": 1.21,
      "premarket_volume": 330528.0,
      "momentum_pct": 0.78,
      "consolidation_tightness_pct": 1.13,
      "distance_from_pm_high_pct": 0.0,
      "extension_from_vwap_pct": 1.07,
      "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.805,
    "pm_low": 5.71
  },
  {
    "symbol": "ADT",
    "total_score": 64.41,
    "raw_score": 68.28,
    "breakdown": {
      "price_quality": 2.39,
      "volume_quality": 12.0,
      "rvol": 4.92,
      "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.95,
      "spread_liquidity": 4.55,
      "momentum_consistency": 2.07,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.395,
      "vwap": 7.3777,
      "vwap_slope": 0.0069,
      "rvol": 1.84,
      "volume_acceleration": 4.34,
      "premarket_volume": 921854.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.2,
      "distance_from_pm_high_pct": 0.07,
      "extension_from_vwap_pct": 0.24,
      "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.36
  },
  {
    "symbol": "JOBY",
    "total_score": 64.41,
    "raw_score": 68.28,
    "breakdown": {
      "price_quality": 2.5,
      "volume_quality": 12.0,
      "rvol": 12.0,
      "volume_acceleration": 2.4,
      "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.56,
      "momentum_consistency": 2.17,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.5,
      "vwap": 7.4671,
      "vwap_slope": 0.0042,
      "rvol": 5.12,
      "volume_acceleration": 0.69,
      "premarket_volume": 2562024.0,
      "momentum_pct": 0.2,
      "consolidation_tightness_pct": 0.33,
      "distance_from_pm_high_pct": 0.07,
      "extension_from_vwap_pct": 0.44,
      "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.5051,
    "pm_low": 7.44
  },
  {
    "symbol": "EQX",
    "total_score": 64.11,
    "raw_score": 67.96,
    "breakdown": {
      "price_quality": 2.23,
      "volume_quality": 12.0,
      "rvol": 8.76,
      "volume_acceleration": 4.78,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.79,
      "spread_liquidity": 4.74,
      "momentum_consistency": 3.25,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.765,
      "vwap": 12.7395,
      "vwap_slope": 0.0113,
      "rvol": 3.29,
      "volume_acceleration": 1.48,
      "premarket_volume": 1642596.0,
      "momentum_pct": -0.08,
      "consolidation_tightness_pct": 0.31,
      "distance_from_pm_high_pct": 0.27,
      "extension_from_vwap_pct": 0.2,
      "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": true,
      "vwap_rising": true
    },
    "pm_high": 12.8,
    "pm_low": 12.66
  },
  {
    "symbol": "GDYN",
    "total_score": 64.1,
    "raw_score": 67.95,
    "breakdown": {
      "price_quality": 2.96,
      "volume_quality": 12.0,
      "rvol": 0.56,
      "volume_acceleration": 2.9,
      "price_momentum": 0.38,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.95,
      "spread_liquidity": 4.58,
      "momentum_consistency": 2.62,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.955,
      "vwap": 7.9349,
      "vwap_slope": 0.0021,
      "rvol": 0.23,
      "volume_acceleration": 1.29,
      "premarket_volume": 116556.0,
      "momentum_pct": 0.25,
      "consolidation_tightness_pct": 0.31,
      "distance_from_pm_high_pct": 0.06,
      "extension_from_vwap_pct": 0.25,
      "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": true,
      "vwap_rising": true
    },
    "pm_high": 7.96,
    "pm_low": 7.885
  },
  {
    "symbol": "ASAN",
    "total_score": 64.06,
    "raw_score": 67.9,
    "breakdown": {
      "price_quality": 4.58,
      "volume_quality": 12.0,
      "rvol": 1.89,
      "volume_acceleration": 10,
      "price_momentum": 0.24,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.8,
      "spread_liquidity": 4.65,
      "momentum_consistency": 2.34,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.58,
      "vwap": 9.5616,
      "vwap_slope": 0.0039,
      "rvol": 0.79,
      "volume_acceleration": 2.07,
      "premarket_volume": 392848.0,
      "momentum_pct": 0.16,
      "consolidation_tightness_pct": 0.37,
      "distance_from_pm_high_pct": 0.26,
      "extension_from_vwap_pct": 0.19,
      "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.605,
    "pm_low": 9.5
  },
  {
    "symbol": "TSSI",
    "total_score": 64.04,
    "raw_score": 67.88,
    "breakdown": {
      "price_quality": 3.74,
      "volume_quality": 12.0,
      "rvol": 0.63,
      "volume_acceleration": 1.91,
      "price_momentum": 0.17,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.66,
      "spread_liquidity": 3.86,
      "momentum_consistency": 3.91,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.74,
      "vwap": 8.7147,
      "vwap_slope": 0.0073,
      "rvol": 0.26,
      "volume_acceleration": 0.55,
      "premarket_volume": 131813.0,
      "momentum_pct": 0.11,
      "consolidation_tightness_pct": 0.34,
      "distance_from_pm_high_pct": 0.46,
      "extension_from_vwap_pct": 0.29,
      "spread_pct": 0.34
    },
    "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.78,
    "pm_low": 8.665
  },
  {
    "symbol": "RDW",
    "total_score": 64.03,
    "raw_score": 67.87,
    "breakdown": {
      "price_quality": 3.35,
      "volume_quality": 12.0,
      "rvol": 7.15,
      "volume_acceleration": 3.66,
      "price_momentum": 0.32,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.94,
      "spread_liquidity": 4.71,
      "momentum_consistency": 4.34,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.65,
      "vwap": 11.5492,
      "vwap_slope": 0.0188,
      "rvol": 2.68,
      "volume_acceleration": 1.05,
      "premarket_volume": 1340973.0,
      "momentum_pct": 0.22,
      "consolidation_tightness_pct": 0.43,
      "distance_from_pm_high_pct": 0.09,
      "extension_from_vwap_pct": 0.87,
      "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": true,
      "vwap_rising": true
    },
    "pm_high": 11.66,
    "pm_low": 11.4901
  },
  {
    "symbol": "DUOT",
    "total_score": 63.65,
    "raw_score": 67.47,
    "breakdown": {
      "price_quality": 4.61,
      "volume_quality": 12.0,
      "rvol": 0.59,
      "volume_acceleration": 10,
      "price_momentum": 0.29,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.86,
      "spread_liquidity": 4.36,
      "momentum_consistency": 3.36,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.39,
      "vwap": 10.3129,
      "vwap_slope": 0.0228,
      "rvol": 0.25,
      "volume_acceleration": 2.46,
      "premarket_volume": 123744.0,
      "momentum_pct": 0.19,
      "consolidation_tightness_pct": 0.29,
      "distance_from_pm_high_pct": 0.19,
      "extension_from_vwap_pct": 0.75,
      "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": 10.41,
    "pm_low": 10.24
  },
  {
    "symbol": "RCAT",
    "total_score": 63.63,
    "raw_score": 67.44,
    "breakdown": {
      "price_quality": 4.41,
      "volume_quality": 12.0,
      "rvol": 5.06,
      "volume_acceleration": 5.15,
      "price_momentum": 0.56,
      "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": 3.25,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.41,
      "vwap": 9.2946,
      "vwap_slope": 0.0314,
      "rvol": 1.9,
      "volume_acceleration": 1.52,
      "premarket_volume": 949345.0,
      "momentum_pct": 0.37,
      "consolidation_tightness_pct": 0.69,
      "distance_from_pm_high_pct": 0.05,
      "extension_from_vwap_pct": 1.24,
      "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.415,
    "pm_low": 9.23
  },
  {
    "symbol": "FUBO",
    "total_score": 63.6,
    "raw_score": 67.41,
    "breakdown": {
      "price_quality": 4.23,
      "volume_quality": 12.0,
      "rvol": 1.33,
      "volume_acceleration": 10,
      "price_momentum": 0.12,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.43,
      "spread_liquidity": 4.38,
      "momentum_consistency": 3.52,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.7681,
      "vwap": 10.6415,
      "vwap_slope": 0.0767,
      "rvol": 0.55,
      "volume_acceleration": 2.23,
      "premarket_volume": 276141.0,
      "momentum_pct": 0.08,
      "consolidation_tightness_pct": 0.74,
      "distance_from_pm_high_pct": 0.75,
      "extension_from_vwap_pct": 1.19,
      "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": 10.85,
    "pm_low": 10.35
  },
  {
    "symbol": "QS",
    "total_score": 63.47,
    "raw_score": 67.27,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 12.0,
      "volume_acceleration": 2.05,
      "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.12,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.615,
      "vwap": 5.5954,
      "vwap_slope": 0.0038,
      "rvol": 5.24,
      "volume_acceleration": 0.59,
      "premarket_volume": 2618837.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.53,
      "distance_from_pm_high_pct": 0.27,
      "extension_from_vwap_pct": 0.35,
      "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.63,
    "pm_low": 5.56
  },
  {
    "symbol": "ACHR",
    "total_score": 63.46,
    "raw_score": 67.27,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 12.0,
      "volume_acceleration": 1.69,
      "price_momentum": 0.38,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.88,
      "spread_liquidity": 4.45,
      "momentum_consistency": 2.98,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.0401,
      "vwap": 6.0174,
      "vwap_slope": 0.0059,
      "rvol": 6.55,
      "volume_acceleration": 1.17,
      "premarket_volume": 3276116.0,
      "momentum_pct": 0.25,
      "consolidation_tightness_pct": 0.5,
      "distance_from_pm_high_pct": 0.16,
      "extension_from_vwap_pct": 0.38,
      "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": 6.05,
    "pm_low": 5.995
  },
  {
    "symbol": "NVAX",
    "total_score": 63.17,
    "raw_score": 66.96,
    "breakdown": {
      "price_quality": 3.45,
      "volume_quality": 12.0,
      "rvol": 3.18,
      "volume_acceleration": 8.77,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.51,
      "spread_liquidity": 4.61,
      "momentum_consistency": 3.03,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.445,
      "vwap": 8.4161,
      "vwap_slope": 0.0145,
      "rvol": 1.33,
      "volume_acceleration": 1.88,
      "premarket_volume": 662632.0,
      "momentum_pct": -0.24,
      "consolidation_tightness_pct": 0.65,
      "distance_from_pm_high_pct": 0.65,
      "extension_from_vwap_pct": 0.34,
      "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.5,
    "pm_low": 8.285
  },
  {
    "symbol": "FSM",
    "total_score": 63.1,
    "raw_score": 66.88,
    "breakdown": {
      "price_quality": 3.12,
      "volume_quality": 12.0,
      "rvol": 5.35,
      "volume_acceleration": 5.9,
      "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.72,
      "momentum_consistency": 3.59,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.88,
      "vwap": 11.8662,
      "vwap_slope": 0.0062,
      "rvol": 2.01,
      "volume_acceleration": 1.59,
      "premarket_volume": 1002803.0,
      "momentum_pct": -0.04,
      "consolidation_tightness_pct": 0.29,
      "distance_from_pm_high_pct": 0.25,
      "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": true,
      "vwap_rising": true
    },
    "pm_high": 11.91,
    "pm_low": 11.82
  },
  {
    "symbol": "SLDB",
    "total_score": 62.82,
    "raw_score": 66.59,
    "breakdown": {
      "price_quality": 4.13,
      "volume_quality": 12.0,
      "rvol": 0.6,
      "volume_acceleration": 8.25,
      "price_momentum": 0.33,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.96,
      "spread_liquidity": 4.63,
      "momentum_consistency": 4.3,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.13,
      "vwap": 9.0299,
      "vwap_slope": 0.0659,
      "rvol": 0.25,
      "volume_acceleration": 1.82,
      "premarket_volume": 124316.0,
      "momentum_pct": 0.22,
      "consolidation_tightness_pct": 0.49,
      "distance_from_pm_high_pct": 0.05,
      "extension_from_vwap_pct": 1.11,
      "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.135,
    "pm_low": 8.86
  },
  {
    "symbol": "SUJA",
    "total_score": 62.79,
    "raw_score": 66.56,
    "breakdown": {
      "price_quality": 2.58,
      "volume_quality": 11.4,
      "rvol": 0.46,
      "volume_acceleration": 3.23,
      "price_momentum": 0.86,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.54,
      "spread_liquidity": 3.68,
      "momentum_consistency": 2.81,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.5831,
      "vwap": 7.5544,
      "vwap_slope": 0.0212,
      "rvol": 0.19,
      "volume_acceleration": 1.32,
      "premarket_volume": 95008.0,
      "momentum_pct": 0.57,
      "consolidation_tightness_pct": 1.36,
      "distance_from_pm_high_pct": 0.61,
      "extension_from_vwap_pct": 0.38,
      "spread_pct": 0.39
    },
    "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.63,
    "pm_low": 7.5
  },
  {
    "symbol": "GENI",
    "total_score": 62.71,
    "raw_score": 66.47,
    "breakdown": {
      "price_quality": 2.92,
      "volume_quality": 12.0,
      "rvol": 2.42,
      "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.53,
      "spread_liquidity": 4.58,
      "momentum_consistency": 2.62,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.925,
      "vwap": 7.8945,
      "vwap_slope": 0.0386,
      "rvol": 1.01,
      "volume_acceleration": 5.09,
      "premarket_volume": 504038.0,
      "momentum_pct": -0.0,
      "consolidation_tightness_pct": 0.95,
      "distance_from_pm_high_pct": 0.63,
      "extension_from_vwap_pct": 0.39,
      "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.975,
    "pm_low": 7.805
  },
  {
    "symbol": "MFA",
    "total_score": 62.46,
    "raw_score": 66.2,
    "breakdown": {
      "price_quality": 3.97,
      "volume_quality": 12.0,
      "rvol": 0.66,
      "volume_acceleration": 10,
      "price_momentum": 0.08,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.96,
      "spread_liquidity": 4.63,
      "momentum_consistency": 2.5,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.97,
      "vwap": 8.9339,
      "vwap_slope": 0.0095,
      "rvol": 0.28,
      "volume_acceleration": 2.1,
      "premarket_volume": 138159.0,
      "momentum_pct": 0.06,
      "consolidation_tightness_pct": 0.2,
      "distance_from_pm_high_pct": 0.06,
      "extension_from_vwap_pct": 0.4,
      "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.975,
    "pm_low": 8.9
  },
  {
    "symbol": "STGW",
    "total_score": 62.45,
    "raw_score": 66.2,
    "breakdown": {
      "price_quality": 3.53,
      "volume_quality": 9.14,
      "rvol": 0.37,
      "volume_acceleration": 3.69,
      "price_momentum": 0.35,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.91,
      "spread_liquidity": 4.61,
      "momentum_consistency": 2.6,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.525,
      "vwap": 8.5181,
      "vwap_slope": 0.001,
      "rvol": 0.15,
      "volume_acceleration": 1.37,
      "premarket_volume": 76161.0,
      "momentum_pct": 0.24,
      "consolidation_tightness_pct": 0.34,
      "distance_from_pm_high_pct": 0.12,
      "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": true,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 8.535,
    "pm_low": 8.5
  },
  {
    "symbol": "EYPT",
    "total_score": 62.44,
    "raw_score": 66.18,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 2.54,
      "volume_acceleration": 8.87,
      "price_momentum": 0.95,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.93,
      "spread_liquidity": 4.4,
      "momentum_consistency": 3.59,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.56,
      "vwap": 5.4729,
      "vwap_slope": 0.0239,
      "rvol": 1.06,
      "volume_acceleration": 1.89,
      "premarket_volume": 529577.0,
      "momentum_pct": 0.63,
      "consolidation_tightness_pct": 0.99,
      "distance_from_pm_high_pct": 0.09,
      "extension_from_vwap_pct": 1.59,
      "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.565,
    "pm_low": 5.395
  },
  {
    "symbol": "PGEN",
    "total_score": 62.39,
    "raw_score": 66.13,
    "breakdown": {
      "price_quality": 2.38,
      "volume_quality": 12.0,
      "rvol": 9.01,
      "volume_acceleration": 2.63,
      "price_momentum": 0.61,
      "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": 2.85,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.385,
      "vwap": 7.352,
      "vwap_slope": 0.0028,
      "rvol": 3.38,
      "volume_acceleration": 0.76,
      "premarket_volume": 1689855.0,
      "momentum_pct": 0.41,
      "consolidation_tightness_pct": 0.96,
      "distance_from_pm_high_pct": 0.4,
      "extension_from_vwap_pct": 0.45,
      "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.415,
    "pm_low": 7.27
  },
  {
    "symbol": "COMP",
    "total_score": 62.33,
    "raw_score": 66.07,
    "breakdown": {
      "price_quality": 3.04,
      "volume_quality": 12.0,
      "rvol": 10.69,
      "volume_acceleration": 7.49,
      "price_momentum": 0.13,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.56,
      "spread_liquidity": 4.72,
      "momentum_consistency": 3.25,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.965,
      "vwap": 11.9636,
      "vwap_slope": -0.0027,
      "rvol": 4.01,
      "volume_acceleration": 1.75,
      "premarket_volume": 2003479.0,
      "momentum_pct": 0.08,
      "consolidation_tightness_pct": 0.33,
      "distance_from_pm_high_pct": 0.58,
      "extension_from_vwap_pct": 0.01,
      "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": true,
      "vwap_rising": false
    },
    "pm_high": 12.035,
    "pm_low": 11.895
  },
  {
    "symbol": "AGNC",
    "total_score": 62.14,
    "raw_score": 65.87,
    "breakdown": {
      "price_quality": 4.05,
      "volume_quality": 12.0,
      "rvol": 5.26,
      "volume_acceleration": 3.87,
      "price_momentum": 0.07,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 6,
      "spread_liquidity": 4.7,
      "momentum_consistency": 3.53,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.95,
      "vwap": 10.9313,
      "vwap_slope": 0.004,
      "rvol": 1.97,
      "volume_acceleration": 1.11,
      "premarket_volume": 985825.0,
      "momentum_pct": 0.05,
      "consolidation_tightness_pct": 0.09,
      "distance_from_pm_high_pct": 0.0,
      "extension_from_vwap_pct": 0.17,
      "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": true,
      "vwap_rising": true
    },
    "pm_high": 10.95,
    "pm_low": 10.91
  },
  {
    "symbol": "AGPU",
    "total_score": 62.12,
    "raw_score": 65.85,
    "breakdown": {
      "price_quality": 4.33,
      "volume_quality": 12.0,
      "rvol": 0.56,
      "volume_acceleration": 0.84,
      "price_momentum": 0.28,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.44,
      "spread_liquidity": 2.49,
      "momentum_consistency": 3.91,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.67,
      "vwap": 10.2262,
      "vwap_slope": 0.0452,
      "rvol": 0.23,
      "volume_acceleration": 0.24,
      "premarket_volume": 116356.0,
      "momentum_pct": 0.19,
      "consolidation_tightness_pct": 1.13,
      "distance_from_pm_high_pct": 0.74,
      "extension_from_vwap_pct": 4.34,
      "spread_pct": 0.75
    },
    "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.75,
    "pm_low": 10.0
  },
  {
    "symbol": "STLA",
    "total_score": 62.0,
    "raw_score": 65.72,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 10.04,
      "volume_acceleration": 2.72,
      "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.37,
      "momentum_consistency": 2.76,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.285,
      "vwap": 5.2808,
      "vwap_slope": 0.0005,
      "rvol": 3.76,
      "volume_acceleration": 0.78,
      "premarket_volume": 1882203.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.19,
      "distance_from_pm_high_pct": 0.09,
      "extension_from_vwap_pct": 0.08,
      "spread_pct": 0.19
    },
    "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.29,
    "pm_low": 5.27
  },
  {
    "symbol": "BRBR",
    "total_score": 61.77,
    "raw_score": 65.47,
    "breakdown": {
      "price_quality": 4.51,
      "volume_quality": 12.0,
      "rvol": 0.92,
      "volume_acceleration": 5.57,
      "price_momentum": 0.43,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.89,
      "spread_liquidity": 4.68,
      "momentum_consistency": 2.67,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.49,
      "vwap": 10.4713,
      "vwap_slope": -0.0024,
      "rvol": 0.38,
      "volume_acceleration": 1.56,
      "premarket_volume": 191777.0,
      "momentum_pct": 0.29,
      "consolidation_tightness_pct": 0.38,
      "distance_from_pm_high_pct": 0.14,
      "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": true,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 10.505,
    "pm_low": 10.44
  },
  {
    "symbol": "FLNC",
    "total_score": 61.1,
    "raw_score": 64.76,
    "breakdown": {
      "price_quality": 3.73,
      "volume_quality": 12.0,
      "rvol": 3.07,
      "volume_acceleration": 5.35,
      "price_momentum": 0.33,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.92,
      "spread_liquidity": 4.7,
      "momentum_consistency": 3.25,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.265,
      "vwap": 11.2102,
      "vwap_slope": 0.0077,
      "rvol": 1.28,
      "volume_acceleration": 1.54,
      "premarket_volume": 638933.0,
      "momentum_pct": 0.22,
      "consolidation_tightness_pct": 0.55,
      "distance_from_pm_high_pct": 0.11,
      "extension_from_vwap_pct": 0.49,
      "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.2773,
    "pm_low": 11.14
  },
  {
    "symbol": "LSPD",
    "total_score": 61.02,
    "raw_score": 64.68,
    "breakdown": {
      "price_quality": 4.61,
      "volume_quality": 6.03,
      "rvol": 0.24,
      "volume_acceleration": 2.95,
      "price_momentum": 0.22,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.96,
      "spread_liquidity": 4.68,
      "momentum_consistency": 4.0,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.395,
      "vwap": 10.3594,
      "vwap_slope": 0.0058,
      "rvol": 0.1,
      "volume_acceleration": 0.85,
      "premarket_volume": 50254.0,
      "momentum_pct": 0.14,
      "consolidation_tightness_pct": 0.39,
      "distance_from_pm_high_pct": 0.05,
      "extension_from_vwap_pct": 0.34,
      "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.4,
    "pm_low": 10.325
  },
  {
    "symbol": "SG",
    "total_score": 60.9,
    "raw_score": 64.56,
    "breakdown": {
      "price_quality": 1.57,
      "volume_quality": 12.0,
      "rvol": 2.75,
      "volume_acceleration": 7.06,
      "price_momentum": 1.03,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 6,
      "spread_liquidity": 4.49,
      "momentum_consistency": 3.25,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.57,
      "vwap": 6.5183,
      "vwap_slope": 0.0032,
      "rvol": 1.15,
      "volume_acceleration": 1.71,
      "premarket_volume": 572552.0,
      "momentum_pct": 0.69,
      "consolidation_tightness_pct": 0.69,
      "distance_from_pm_high_pct": 0.0,
      "extension_from_vwap_pct": 0.79,
      "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.57,
    "pm_low": 6.48
  },
  {
    "symbol": "TAL",
    "total_score": 60.67,
    "raw_score": 64.31,
    "breakdown": {
      "price_quality": 3.5,
      "volume_quality": 12.0,
      "rvol": 2.09,
      "volume_acceleration": 6.92,
      "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.71,
      "momentum_consistency": 2.91,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.5,
      "vwap": 11.4921,
      "vwap_slope": 0.0126,
      "rvol": 0.87,
      "volume_acceleration": 1.69,
      "premarket_volume": 436255.0,
      "momentum_pct": -0.22,
      "consolidation_tightness_pct": 0.43,
      "distance_from_pm_high_pct": 0.3,
      "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": true,
      "vwap_rising": true
    },
    "pm_high": 11.535,
    "pm_low": 11.45
  },
  {
    "symbol": "LZ",
    "total_score": 60.57,
    "raw_score": 64.21,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 2.15,
      "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.69,
      "spread_liquidity": 4.44,
      "momentum_consistency": 2.03,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.955,
      "vwap": 5.938,
      "vwap_slope": 0.0059,
      "rvol": 0.9,
      "volume_acceleration": 2.17,
      "premarket_volume": 447557.0,
      "momentum_pct": -0.17,
      "consolidation_tightness_pct": 0.34,
      "distance_from_pm_high_pct": 0.42,
      "extension_from_vwap_pct": 0.29,
      "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.98,
    "pm_low": 5.895
  },
  {
    "symbol": "BFLY",
    "total_score": 60.5,
    "raw_score": 64.13,
    "breakdown": {
      "price_quality": 4.13,
      "volume_quality": 12.0,
      "rvol": 5.81,
      "volume_acceleration": 2.8,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 4.83,
      "spread_liquidity": 4.63,
      "momentum_consistency": 3.53,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.13,
      "vwap": 9.0967,
      "vwap_slope": 0.0195,
      "rvol": 2.18,
      "volume_acceleration": 0.81,
      "premarket_volume": 1088835.0,
      "momentum_pct": -1.03,
      "consolidation_tightness_pct": 1.64,
      "distance_from_pm_high_pct": 1.56,
      "extension_from_vwap_pct": 0.37,
      "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.275,
    "pm_low": 9.015
  },
  {
    "symbol": "TDAY",
    "total_score": 60.33,
    "raw_score": 63.95,
    "breakdown": {
      "price_quality": 1.56,
      "volume_quality": 12.0,
      "rvol": 1.25,
      "volume_acceleration": 9.84,
      "price_momentum": 0.11,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.77,
      "spread_liquidity": 4.49,
      "momentum_consistency": 2.53,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.56,
      "vwap": 6.5421,
      "vwap_slope": 0.0029,
      "rvol": 0.52,
      "volume_acceleration": 1.98,
      "premarket_volume": 260393.0,
      "momentum_pct": 0.08,
      "consolidation_tightness_pct": 0.08,
      "distance_from_pm_high_pct": 0.3,
      "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": true,
      "vwap_rising": true
    },
    "pm_high": 6.58,
    "pm_low": 6.495
  },
  {
    "symbol": "NXE",
    "total_score": 60.23,
    "raw_score": 63.84,
    "breakdown": {
      "price_quality": 4.78,
      "volume_quality": 12.0,
      "rvol": 1.35,
      "volume_acceleration": 4.49,
      "price_momentum": 0.37,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 6,
      "spread_liquidity": 4.67,
      "momentum_consistency": 3.79,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.225,
      "vwap": 10.1585,
      "vwap_slope": 0.0142,
      "rvol": 0.56,
      "volume_acceleration": 1.45,
      "premarket_volume": 280450.0,
      "momentum_pct": 0.25,
      "consolidation_tightness_pct": 0.49,
      "distance_from_pm_high_pct": 0.0,
      "extension_from_vwap_pct": 0.65,
      "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.225,
    "pm_low": 10.11
  },
  {
    "symbol": "IMTX",
    "total_score": 60.04,
    "raw_score": 63.64,
    "breakdown": {
      "price_quality": 3.63,
      "volume_quality": 3.13,
      "rvol": 0.13,
      "volume_acceleration": 6.8,
      "price_momentum": 0.35,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 6,
      "spread_liquidity": 3.84,
      "momentum_consistency": 3.76,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.63,
      "vwap": 8.5748,
      "vwap_slope": 0.0126,
      "rvol": 0.05,
      "volume_acceleration": 1.68,
      "premarket_volume": 26123.0,
      "momentum_pct": 0.23,
      "consolidation_tightness_pct": 0.46,
      "distance_from_pm_high_pct": 0.0,
      "extension_from_vwap_pct": 0.64,
      "spread_pct": 0.35
    },
    "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.63,
    "pm_low": 8.52
  },
  {
    "symbol": "RSKD",
    "total_score": 60.02,
    "raw_score": 63.62,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 1.02,
      "volume_acceleration": 10,
      "price_momentum": 0.63,
      "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": 1.69,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.985,
      "vwap": 5.9686,
      "vwap_slope": 0.0061,
      "rvol": 0.42,
      "volume_acceleration": 3.03,
      "premarket_volume": 211484.0,
      "momentum_pct": 0.42,
      "consolidation_tightness_pct": 0.5,
      "distance_from_pm_high_pct": 0.08,
      "extension_from_vwap_pct": 0.28,
      "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.99,
    "pm_low": 5.95
  },
  {
    "symbol": "UUUU",
    "total_score": 59.81,
    "raw_score": 63.39,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 5.62,
      "volume_acceleration": 3.18,
      "price_momentum": 0.38,
      "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": 3.66,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.78,
      "vwap": 13.7039,
      "vwap_slope": 0.0115,
      "rvol": 2.11,
      "volume_acceleration": 0.92,
      "premarket_volume": 1053309.0,
      "momentum_pct": 0.25,
      "consolidation_tightness_pct": 0.55,
      "distance_from_pm_high_pct": 0.14,
      "extension_from_vwap_pct": 0.56,
      "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.8,
    "pm_low": 13.61
  },
  {
    "symbol": "UAA",
    "total_score": 59.8,
    "raw_score": 63.38,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 4.92,
      "volume_acceleration": 5.63,
      "price_momentum": 0.09,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.64,
      "spread_liquidity": 4.36,
      "momentum_consistency": 2.85,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.235,
      "vwap": 5.2303,
      "vwap_slope": 0.0063,
      "rvol": 1.84,
      "volume_acceleration": 1.56,
      "premarket_volume": 921867.0,
      "momentum_pct": 0.06,
      "consolidation_tightness_pct": 0.57,
      "distance_from_pm_high_pct": 0.48,
      "extension_from_vwap_pct": 0.09,
      "spread_pct": 0.19
    },
    "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.26,
    "pm_low": 5.21
  },
  {
    "symbol": "TASK",
    "total_score": 59.33,
    "raw_score": 62.89,
    "breakdown": {
      "price_quality": 2.78,
      "volume_quality": 9.19,
      "rvol": 0.37,
      "volume_acceleration": 10,
      "price_momentum": 0.87,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.95,
      "spread_liquidity": 4.57,
      "momentum_consistency": 2.75,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.78,
      "vwap": 7.7581,
      "vwap_slope": 0.0111,
      "rvol": 0.15,
      "volume_acceleration": 3.4,
      "premarket_volume": 76615.0,
      "momentum_pct": 0.58,
      "consolidation_tightness_pct": 0.65,
      "distance_from_pm_high_pct": 0.06,
      "extension_from_vwap_pct": 0.28,
      "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.785,
    "pm_low": 7.715
  },
  {
    "symbol": "EXK",
    "total_score": 59.28,
    "raw_score": 62.84,
    "breakdown": {
      "price_quality": 4.02,
      "volume_quality": 12.0,
      "rvol": 3.02,
      "volume_acceleration": 3.52,
      "price_momentum": 0.07,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.86,
      "spread_liquidity": 4.7,
      "momentum_consistency": 3.25,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.98,
      "vwap": 10.9409,
      "vwap_slope": 0.0076,
      "rvol": 1.26,
      "volume_acceleration": 1.35,
      "premarket_volume": 628574.0,
      "momentum_pct": 0.05,
      "consolidation_tightness_pct": 0.23,
      "distance_from_pm_high_pct": 0.18,
      "extension_from_vwap_pct": 0.36,
      "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.0,
    "pm_low": 10.8601
  },
  {
    "symbol": "TU",
    "total_score": 59.27,
    "raw_score": 62.82,
    "breakdown": {
      "price_quality": 5.0,
      "volume_quality": 12.0,
      "rvol": 2.7,
      "volume_acceleration": 3.79,
      "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.67,
      "momentum_consistency": 1.96,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.0,
      "vwap": 9.979,
      "vwap_slope": 0.0015,
      "rvol": 1.13,
      "volume_acceleration": 1.38,
      "premarket_volume": 563228.0,
      "momentum_pct": 0.2,
      "consolidation_tightness_pct": 0.2,
      "distance_from_pm_high_pct": 0.0,
      "extension_from_vwap_pct": 0.21,
      "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.0,
    "pm_low": 9.96
  },
  {
    "symbol": "RXST",
    "total_score": 59.22,
    "raw_score": 62.77,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 8.94,
      "rvol": 0.36,
      "volume_acceleration": 2.29,
      "price_momentum": 0.12,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 6,
      "spread_liquidity": 4.46,
      "momentum_consistency": 3.1,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.14,
      "vwap": 6.0906,
      "vwap_slope": 0.009,
      "rvol": 0.15,
      "volume_acceleration": 0.66,
      "premarket_volume": 74468.0,
      "momentum_pct": 0.08,
      "consolidation_tightness_pct": 0.24,
      "distance_from_pm_high_pct": 0.0,
      "extension_from_vwap_pct": 0.81,
      "spread_pct": 0.16
    },
    "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.14,
    "pm_low": 6.025
  },
  {
    "symbol": "NUVB",
    "total_score": 59.13,
    "raw_score": 62.67,
    "breakdown": {
      "price_quality": 1.86,
      "volume_quality": 12.0,
      "rvol": 2.45,
      "volume_acceleration": 6.71,
      "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": 2.95,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.865,
      "vwap": 6.8287,
      "vwap_slope": 0.0104,
      "rvol": 1.02,
      "volume_acceleration": 1.67,
      "premarket_volume": 511210.0,
      "momentum_pct": -0.15,
      "consolidation_tightness_pct": 0.36,
      "distance_from_pm_high_pct": 0.29,
      "extension_from_vwap_pct": 0.53,
      "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.885,
    "pm_low": 6.76
  },
  {
    "symbol": "TRLV",
    "total_score": 59.07,
    "raw_score": 62.61,
    "breakdown": {
      "price_quality": 4.76,
      "volume_quality": 12.0,
      "rvol": 0.82,
      "volume_acceleration": 2.43,
      "price_momentum": 0.29,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.64,
      "spread_liquidity": 4.35,
      "momentum_consistency": 3.53,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.24,
      "vwap": 10.233,
      "vwap_slope": -0.0,
      "rvol": 0.34,
      "volume_acceleration": 0.7,
      "premarket_volume": 171767.0,
      "momentum_pct": 0.2,
      "consolidation_tightness_pct": 0.59,
      "distance_from_pm_high_pct": 0.49,
      "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": true,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 10.29,
    "pm_low": 10.16
  },
  {
    "symbol": "ICL",
    "total_score": 59.04,
    "raw_score": 62.58,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 0.56,
      "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.39,
      "momentum_consistency": 1.83,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.5022,
      "vwap": 5.4963,
      "vwap_slope": 0.0035,
      "rvol": 0.23,
      "volume_acceleration": 2.1,
      "premarket_volume": 116810.0,
      "momentum_pct": -0.05,
      "consolidation_tightness_pct": 0.27,
      "distance_from_pm_high_pct": 0.14,
      "extension_from_vwap_pct": 0.11,
      "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.51,
    "pm_low": 5.4809
  },
  {
    "symbol": "SGRY",
    "total_score": 59.02,
    "raw_score": 62.56,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 6.52,
      "volume_acceleration": 3.01,
      "price_momentum": 0.16,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.63,
      "spread_liquidity": 4.29,
      "momentum_consistency": 3.05,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.05,
      "vwap": 13.8813,
      "vwap_slope": 0.0466,
      "rvol": 2.44,
      "volume_acceleration": 0.86,
      "premarket_volume": 1222494.0,
      "momentum_pct": 0.11,
      "consolidation_tightness_pct": 0.85,
      "distance_from_pm_high_pct": 0.5,
      "extension_from_vwap_pct": 1.22,
      "spread_pct": 0.21
    },
    "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.12,
    "pm_low": 13.79
  },
  {
    "symbol": "RPD",
    "total_score": 59.0,
    "raw_score": 62.54,
    "breakdown": {
      "price_quality": 3.06,
      "volume_quality": 12.0,
      "rvol": 0.84,
      "volume_acceleration": 6.6,
      "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": 4.44,
      "momentum_consistency": 2.98,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.94,
      "vwap": 11.8662,
      "vwap_slope": 0.0116,
      "rvol": 0.35,
      "volume_acceleration": 1.66,
      "premarket_volume": 174203.0,
      "momentum_pct": 0.17,
      "consolidation_tightness_pct": 0.38,
      "distance_from_pm_high_pct": 0.04,
      "extension_from_vwap_pct": 0.62,
      "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.945,
    "pm_low": 11.8
  },
  {
    "symbol": "ATEC",
    "total_score": 58.94,
    "raw_score": 62.48,
    "breakdown": {
      "price_quality": 4.28,
      "volume_quality": 12.0,
      "rvol": 0.85,
      "volume_acceleration": 3.75,
      "price_momentum": 0.41,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.72,
      "spread_liquidity": 4.64,
      "momentum_consistency": 2.03,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.28,
      "vwap": 9.2746,
      "vwap_slope": -0.0048,
      "rvol": 0.35,
      "volume_acceleration": 1.38,
      "premarket_volume": 177197.0,
      "momentum_pct": 0.27,
      "consolidation_tightness_pct": 0.32,
      "distance_from_pm_high_pct": 0.38,
      "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": true,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 9.315,
    "pm_low": 9.24
  },
  {
    "symbol": "IMMX",
    "total_score": 58.88,
    "raw_score": 62.41,
    "breakdown": {
      "price_quality": 1.86,
      "volume_quality": 12.0,
      "rvol": 1.23,
      "volume_acceleration": 8.25,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.63,
      "spread_liquidity": 3.98,
      "momentum_consistency": 3.05,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.135,
      "vwap": 13.0838,
      "vwap_slope": 0.0454,
      "rvol": 0.51,
      "volume_acceleration": 1.83,
      "premarket_volume": 255475.0,
      "momentum_pct": -0.19,
      "consolidation_tightness_pct": 0.38,
      "distance_from_pm_high_pct": 0.49,
      "extension_from_vwap_pct": 0.39,
      "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": 13.2,
    "pm_low": 12.95
  },
  {
    "symbol": "PACK",
    "total_score": 58.67,
    "raw_score": 62.19,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 11.29,
      "rvol": 0.45,
      "volume_acceleration": 9.05,
      "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.33,
      "momentum_consistency": 3.46,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.005,
      "vwap": 4.9535,
      "vwap_slope": 0.0191,
      "rvol": 0.19,
      "volume_acceleration": 1.91,
      "premarket_volume": 94045.0,
      "momentum_pct": -0.2,
      "consolidation_tightness_pct": 0.4,
      "distance_from_pm_high_pct": 0.4,
      "extension_from_vwap_pct": 1.04,
      "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.025,
    "pm_low": 4.885
  },
  {
    "symbol": "SBET",
    "total_score": 58.67,
    "raw_score": 62.19,
    "breakdown": {
      "price_quality": 2.53,
      "volume_quality": 12.0,
      "rvol": 5.27,
      "volume_acceleration": 2.41,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.51,
      "spread_liquidity": 4.56,
      "momentum_consistency": 3.53,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.53,
      "vwap": 7.5132,
      "vwap_slope": 0.0032,
      "rvol": 1.98,
      "volume_acceleration": 0.69,
      "premarket_volume": 987544.0,
      "momentum_pct": -0.07,
      "consolidation_tightness_pct": 0.33,
      "distance_from_pm_high_pct": 0.66,
      "extension_from_vwap_pct": 0.22,
      "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.58,
    "pm_low": 7.475
  },
  {
    "symbol": "UPB",
    "total_score": 58.66,
    "raw_score": 62.18,
    "breakdown": {
      "price_quality": 1.81,
      "volume_quality": 10.98,
      "rvol": 0.44,
      "volume_acceleration": 10,
      "price_momentum": 1.11,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 6,
      "spread_liquidity": 3.04,
      "momentum_consistency": 2.4,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.81,
      "vwap": 6.777,
      "vwap_slope": 0.0116,
      "rvol": 0.18,
      "volume_acceleration": 3.24,
      "premarket_volume": 91493.0,
      "momentum_pct": 0.74,
      "consolidation_tightness_pct": 0.74,
      "distance_from_pm_high_pct": 0.0,
      "extension_from_vwap_pct": 0.49,
      "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": true,
      "vwap_rising": true
    },
    "pm_high": 6.81,
    "pm_low": 6.745
  },
  {
    "symbol": "OI",
    "total_score": 58.56,
    "raw_score": 62.08,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 2.4,
      "volume_acceleration": 6.78,
      "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.48,
      "momentum_consistency": 2.76,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.34,
      "vwap": 6.311,
      "vwap_slope": 0.005,
      "rvol": 1.0,
      "volume_acceleration": 1.68,
      "premarket_volume": 499049.0,
      "momentum_pct": -0.16,
      "consolidation_tightness_pct": 0.32,
      "distance_from_pm_high_pct": 0.31,
      "extension_from_vwap_pct": 0.46,
      "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.36,
    "pm_low": 6.29
  },
  {
    "symbol": "F",
    "total_score": 58.54,
    "raw_score": 62.05,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 12.0,
      "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.81,
      "spread_liquidity": 4.76,
      "momentum_consistency": 2.9,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.015,
      "vwap": 14.0158,
      "vwap_slope": 0.0029,
      "rvol": 7.34,
      "volume_acceleration": 1.35,
      "premarket_volume": 3671348.0,
      "momentum_pct": -0.14,
      "consolidation_tightness_pct": 0.32,
      "distance_from_pm_high_pct": 0.25,
      "extension_from_vwap_pct": -0.01,
      "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": false,
      "vwap_rising": true
    },
    "pm_high": 14.05,
    "pm_low": 13.98
  },
  {
    "symbol": "INFQ",
    "total_score": 58.44,
    "raw_score": 61.95,
    "breakdown": {
      "price_quality": 2.73,
      "volume_quality": 12.0,
      "rvol": 5.13,
      "volume_acceleration": 2.28,
      "price_momentum": 0.12,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.7,
      "spread_liquidity": 4.73,
      "momentum_consistency": 2.85,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.265,
      "vwap": 12.2189,
      "vwap_slope": 0.0042,
      "rvol": 1.93,
      "volume_acceleration": 0.66,
      "premarket_volume": 962577.0,
      "momentum_pct": 0.08,
      "consolidation_tightness_pct": 0.33,
      "distance_from_pm_high_pct": 0.41,
      "extension_from_vwap_pct": 0.38,
      "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": true,
      "vwap_rising": true
    },
    "pm_high": 12.315,
    "pm_low": 12.07
  },
  {
    "symbol": "FLO",
    "total_score": 58.21,
    "raw_score": 61.7,
    "breakdown": {
      "price_quality": 2.32,
      "volume_quality": 12.0,
      "rvol": 5.36,
      "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": 5.44,
      "spread_liquidity": 4.54,
      "momentum_consistency": 2.44,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.315,
      "vwap": 7.3343,
      "vwap_slope": 0.0008,
      "rvol": 2.01,
      "volume_acceleration": 2.17,
      "premarket_volume": 1004845.0,
      "momentum_pct": -0.14,
      "consolidation_tightness_pct": 0.61,
      "distance_from_pm_high_pct": 0.75,
      "extension_from_vwap_pct": -0.26,
      "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": false,
      "vwap_rising": true
    },
    "pm_high": 7.37,
    "pm_low": 7.3
  },
  {
    "symbol": "RITM",
    "total_score": 58.14,
    "raw_score": 61.63,
    "breakdown": {
      "price_quality": 4.8,
      "volume_quality": 12.0,
      "rvol": 1.57,
      "volume_acceleration": 3.64,
      "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.67,
      "momentum_consistency": 2.58,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.195,
      "vwap": 10.1792,
      "vwap_slope": 0.0069,
      "rvol": 0.65,
      "volume_acceleration": 1.36,
      "premarket_volume": 326559.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.2,
      "distance_from_pm_high_pct": 0.05,
      "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": true,
      "vwap_rising": true
    },
    "pm_high": 10.2,
    "pm_low": 10.16
  },
  {
    "symbol": "TAC",
    "total_score": 57.94,
    "raw_score": 61.42,
    "breakdown": {
      "price_quality": 2.46,
      "volume_quality": 12.0,
      "rvol": 0.52,
      "volume_acceleration": 6.55,
      "price_momentum": 0.18,
      "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.67,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.545,
      "vwap": 12.5282,
      "vwap_slope": 0.0064,
      "rvol": 0.22,
      "volume_acceleration": 1.65,
      "premarket_volume": 108273.0,
      "momentum_pct": 0.12,
      "consolidation_tightness_pct": 0.2,
      "distance_from_pm_high_pct": 0.12,
      "extension_from_vwap_pct": 0.13,
      "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.56,
    "pm_low": 12.46
  },
  {
    "symbol": "VYX",
    "total_score": 57.84,
    "raw_score": 61.31,
    "breakdown": {
      "price_quality": 2.64,
      "volume_quality": 12.0,
      "rvol": 1.46,
      "volume_acceleration": 3.77,
      "price_momentum": 0.49,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.95,
      "spread_liquidity": 4.56,
      "momentum_consistency": 1.63,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.645,
      "vwap": 7.6216,
      "vwap_slope": -0.0007,
      "rvol": 0.61,
      "volume_acceleration": 1.38,
      "premarket_volume": 305023.0,
      "momentum_pct": 0.33,
      "consolidation_tightness_pct": 0.59,
      "distance_from_pm_high_pct": 0.07,
      "extension_from_vwap_pct": 0.31,
      "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": true,
      "vwap_rising": false
    },
    "pm_high": 7.65,
    "pm_low": 7.59
  },
  {
    "symbol": "ATAI",
    "total_score": 57.83,
    "raw_score": 61.3,
    "breakdown": {
      "price_quality": 2.45,
      "volume_quality": 12.0,
      "rvol": 4.7,
      "volume_acceleration": 3.49,
      "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.55,
      "momentum_consistency": 1.76,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.445,
      "vwap": 7.4436,
      "vwap_slope": 0.0008,
      "rvol": 1.76,
      "volume_acceleration": 1.0,
      "premarket_volume": 880675.0,
      "momentum_pct": -0.07,
      "consolidation_tightness_pct": 0.13,
      "distance_from_pm_high_pct": 0.07,
      "extension_from_vwap_pct": 0.02,
      "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.45,
    "pm_low": 7.43
  },
  {
    "symbol": "IBRX",
    "total_score": 57.72,
    "raw_score": 61.18,
    "breakdown": {
      "price_quality": 2.93,
      "volume_quality": 12.0,
      "rvol": 4.5,
      "volume_acceleration": 9.47,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.39,
      "spread_liquidity": 4.58,
      "momentum_consistency": 2.71,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.935,
      "vwap": 7.9462,
      "vwap_slope": 0.0017,
      "rvol": 1.69,
      "volume_acceleration": 1.95,
      "premarket_volume": 842976.0,
      "momentum_pct": -0.25,
      "consolidation_tightness_pct": 0.44,
      "distance_from_pm_high_pct": 0.81,
      "extension_from_vwap_pct": -0.14,
      "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": false,
      "vwap_rising": true
    },
    "pm_high": 8.0,
    "pm_low": 7.88
  },
  {
    "symbol": "CRGY",
    "total_score": 57.68,
    "raw_score": 61.14,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 2.11,
      "volume_acceleration": 5.47,
      "price_momentum": 0.05,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.95,
      "spread_liquidity": 4.76,
      "momentum_consistency": 2.9,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.66,
      "vwap": 13.619,
      "vwap_slope": 0.0162,
      "rvol": 0.88,
      "volume_acceleration": 1.55,
      "premarket_volume": 440310.0,
      "momentum_pct": 0.04,
      "consolidation_tightness_pct": 0.18,
      "distance_from_pm_high_pct": 0.07,
      "extension_from_vwap_pct": 0.3,
      "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.67,
    "pm_low": 13.5312
  },
  {
    "symbol": "PSKY",
    "total_score": 57.66,
    "raw_score": 61.12,
    "breakdown": {
      "price_quality": 4.74,
      "volume_quality": 12.0,
      "rvol": 5.33,
      "volume_acceleration": 6.36,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.56,
      "spread_liquidity": 4.67,
      "momentum_consistency": 2.85,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.255,
      "vwap": 10.2593,
      "vwap_slope": 0.0014,
      "rvol": 2.0,
      "volume_acceleration": 1.64,
      "premarket_volume": 999749.0,
      "momentum_pct": -0.1,
      "consolidation_tightness_pct": 0.24,
      "distance_from_pm_high_pct": 0.58,
      "extension_from_vwap_pct": -0.04,
      "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": true
    },
    "pm_high": 10.315,
    "pm_low": 10.23
  },
  {
    "symbol": "RES",
    "total_score": 57.59,
    "raw_score": 61.05,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 0.54,
      "volume_acceleration": 7.59,
      "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.73,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.295,
      "vwap": 6.2764,
      "vwap_slope": 0.0063,
      "rvol": 0.23,
      "volume_acceleration": 1.76,
      "premarket_volume": 112504.0,
      "momentum_pct": -0.16,
      "consolidation_tightness_pct": 0.16,
      "distance_from_pm_high_pct": 0.24,
      "extension_from_vwap_pct": 0.3,
      "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.31,
    "pm_low": 6.255
  },
  {
    "symbol": "TGB",
    "total_score": 57.52,
    "raw_score": 60.97,
    "breakdown": {
      "price_quality": 3.69,
      "volume_quality": 12.0,
      "rvol": 1.91,
      "volume_acceleration": 2.66,
      "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.62,
      "momentum_consistency": 3.8,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.689,
      "vwap": 8.6404,
      "vwap_slope": 0.0155,
      "rvol": 0.79,
      "volume_acceleration": 1.27,
      "premarket_volume": 396964.0,
      "momentum_pct": -0.07,
      "consolidation_tightness_pct": 0.29,
      "distance_from_pm_high_pct": 0.13,
      "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": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 8.7,
    "pm_low": 8.55
  },
  {
    "symbol": "ALOY",
    "total_score": 57.47,
    "raw_score": 60.92,
    "breakdown": {
      "price_quality": 3.88,
      "volume_quality": 12.0,
      "rvol": 1.56,
      "volume_acceleration": 3.1,
      "price_momentum": 0.14,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.91,
      "spread_liquidity": 4.7,
      "momentum_consistency": 3.23,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.12,
      "vwap": 11.0135,
      "vwap_slope": 0.0097,
      "rvol": 0.65,
      "volume_acceleration": 0.89,
      "premarket_volume": 325936.0,
      "momentum_pct": 0.09,
      "consolidation_tightness_pct": 0.7,
      "distance_from_pm_high_pct": 0.12,
      "extension_from_vwap_pct": 0.97,
      "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.1333,
    "pm_low": 10.945
  },
  {
    "symbol": "LCID",
    "total_score": 57.39,
    "raw_score": 60.83,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 5.19,
      "volume_acceleration": 3.31,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 4.89,
      "spread_liquidity": 4.41,
      "momentum_consistency": 3.12,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.675,
      "vwap": 5.6614,
      "vwap_slope": 0.0036,
      "rvol": 1.95,
      "volume_acceleration": 1.33,
      "premarket_volume": 973400.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.7,
      "distance_from_pm_high_pct": 1.47,
      "extension_from_vwap_pct": 0.24,
      "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.7599,
    "pm_low": 5.62
  },
  {
    "symbol": "VFC",
    "total_score": 57.37,
    "raw_score": 60.81,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 2.52,
      "volume_acceleration": 4.41,
      "price_momentum": 0.38,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 6,
      "spread_liquidity": 4.76,
      "momentum_consistency": 2.85,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.94,
      "vwap": 13.9096,
      "vwap_slope": 0.0011,
      "rvol": 1.05,
      "volume_acceleration": 1.44,
      "premarket_volume": 524392.0,
      "momentum_pct": 0.25,
      "consolidation_tightness_pct": 0.32,
      "distance_from_pm_high_pct": 0.0,
      "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.94,
    "pm_low": 13.89
  },
  {
    "symbol": "VOXR",
    "total_score": 57.34,
    "raw_score": 60.78,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 7.81,
      "rvol": 0.31,
      "volume_acceleration": 1.85,
      "price_momentum": 0.41,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.73,
      "spread_liquidity": 4.4,
      "momentum_consistency": 2.78,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.54,
      "vwap": 5.5312,
      "vwap_slope": 0.0,
      "rvol": 0.13,
      "volume_acceleration": 1.19,
      "premarket_volume": 65045.0,
      "momentum_pct": 0.27,
      "consolidation_tightness_pct": 0.36,
      "distance_from_pm_high_pct": 0.36,
      "extension_from_vwap_pct": 0.16,
      "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": 5.56,
    "pm_low": 5.5
  },
  {
    "symbol": "LAND",
    "total_score": 57.34,
    "raw_score": 60.78,
    "breakdown": {
      "price_quality": 3.66,
      "volume_quality": 7.87,
      "rvol": 0.31,
      "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.96,
      "spread_liquidity": 4.62,
      "momentum_consistency": 1.96,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.665,
      "vwap": 8.6452,
      "vwap_slope": 0.0091,
      "rvol": 0.13,
      "volume_acceleration": 4.28,
      "premarket_volume": 65583.0,
      "momentum_pct": -0.05,
      "consolidation_tightness_pct": 0.1,
      "distance_from_pm_high_pct": 0.06,
      "extension_from_vwap_pct": 0.23,
      "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.67,
    "pm_low": 8.615
  },
  {
    "symbol": "WEN",
    "total_score": 57.32,
    "raw_score": 60.76,
    "breakdown": {
      "price_quality": 3.79,
      "volume_quality": 12.0,
      "rvol": 2.92,
      "volume_acceleration": 1.84,
      "price_momentum": 0.26,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.96,
      "spread_liquidity": 4.62,
      "momentum_consistency": 2.98,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.785,
      "vwap": 8.7357,
      "vwap_slope": 0.0112,
      "rvol": 1.22,
      "volume_acceleration": 1.18,
      "premarket_volume": 608629.0,
      "momentum_pct": 0.17,
      "consolidation_tightness_pct": 0.28,
      "distance_from_pm_high_pct": 0.06,
      "extension_from_vwap_pct": 0.56,
      "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.79,
    "pm_low": 8.685
  },
  {
    "symbol": "SSYS",
    "total_score": 57.23,
    "raw_score": 60.66,
    "breakdown": {
      "price_quality": 2.83,
      "volume_quality": 12.0,
      "rvol": 2.91,
      "volume_acceleration": 10,
      "price_momentum": 0.87,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.52,
      "spread_liquidity": 4.57,
      "momentum_consistency": 2.76,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.83,
      "vwap": 7.8135,
      "vwap_slope": -0.0095,
      "rvol": 1.21,
      "volume_acceleration": 3.72,
      "premarket_volume": 605227.0,
      "momentum_pct": 0.58,
      "consolidation_tightness_pct": 0.91,
      "distance_from_pm_high_pct": 0.63,
      "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": false
    },
    "pm_high": 7.88,
    "pm_low": 7.755
  },
  {
    "symbol": "COUR",
    "total_score": 57.21,
    "raw_score": 60.65,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 1.68,
      "volume_acceleration": 5.88,
      "price_momentum": 0.51,
      "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.31,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.865,
      "vwap": 5.83,
      "vwap_slope": 0.0074,
      "rvol": 0.7,
      "volume_acceleration": 1.59,
      "premarket_volume": 350182.0,
      "momentum_pct": 0.34,
      "consolidation_tightness_pct": 0.43,
      "distance_from_pm_high_pct": 0.09,
      "extension_from_vwap_pct": 0.6,
      "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.87,
    "pm_low": 5.791
  },
  {
    "symbol": "SPOK",
    "total_score": 57.17,
    "raw_score": 60.6,
    "breakdown": {
      "price_quality": 4.46,
      "volume_quality": 6.31,
      "rvol": 0.25,
      "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.86,
      "spread_liquidity": 3.73,
      "momentum_consistency": 3.59,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.54,
      "vwap": 10.5112,
      "vwap_slope": 0.0064,
      "rvol": 0.11,
      "volume_acceleration": 4.29,
      "premarket_volume": 52601.0,
      "momentum_pct": -0.05,
      "consolidation_tightness_pct": 0.28,
      "distance_from_pm_high_pct": 0.19,
      "extension_from_vwap_pct": 0.27,
      "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": 10.56,
    "pm_low": 10.46
  },
  {
    "symbol": "GSIT",
    "total_score": 57.06,
    "raw_score": 60.48,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 3.58,
      "rvol": 0.14,
      "volume_acceleration": 4.59,
      "price_momentum": 1.03,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 6,
      "spread_liquidity": 3.86,
      "momentum_consistency": 3.76,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.87,
      "vwap": 5.818,
      "vwap_slope": 0.0202,
      "rvol": 0.06,
      "volume_acceleration": 1.46,
      "premarket_volume": 29870.0,
      "momentum_pct": 0.69,
      "consolidation_tightness_pct": 0.68,
      "distance_from_pm_high_pct": 0.0,
      "extension_from_vwap_pct": 0.89,
      "spread_pct": 0.34
    },
    "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.87,
    "pm_low": 5.755
  },
  {
    "symbol": "SLS",
    "total_score": 57.01,
    "raw_score": 60.43,
    "breakdown": {
      "price_quality": 1.55,
      "volume_quality": 12.0,
      "rvol": 2.09,
      "volume_acceleration": 3.02,
      "price_momentum": 0.34,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.78,
      "spread_liquidity": 4.5,
      "momentum_consistency": 4.75,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.45,
      "vwap": 13.2756,
      "vwap_slope": 0.0425,
      "rvol": 0.87,
      "volume_acceleration": 0.87,
      "premarket_volume": 435792.0,
      "momentum_pct": 0.22,
      "consolidation_tightness_pct": 0.82,
      "distance_from_pm_high_pct": 0.3,
      "extension_from_vwap_pct": 1.31,
      "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.49,
    "pm_low": 13.0902
  },
  {
    "symbol": "ARHS",
    "total_score": 56.98,
    "raw_score": 60.4,
    "breakdown": {
      "price_quality": 4.59,
      "volume_quality": 12.0,
      "rvol": 0.79,
      "volume_acceleration": 2.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.65,
      "momentum_consistency": 3.17,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.59,
      "vwap": 9.5803,
      "vwap_slope": 0.002,
      "rvol": 0.33,
      "volume_acceleration": 1.29,
      "premarket_volume": 163993.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.26,
      "distance_from_pm_high_pct": 0.16,
      "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": true,
      "vwap_rising": true
    },
    "pm_high": 9.605,
    "pm_low": 9.555
  },
  {
    "symbol": "BB",
    "total_score": 56.9,
    "raw_score": 60.31,
    "breakdown": {
      "price_quality": 3.19,
      "volume_quality": 12.0,
      "rvol": 2.94,
      "volume_acceleration": 2.48,
      "price_momentum": 0.18,
      "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.58,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.185,
      "vwap": 8.1472,
      "vwap_slope": 0.0065,
      "rvol": 1.23,
      "volume_acceleration": 0.71,
      "premarket_volume": 613058.0,
      "momentum_pct": 0.12,
      "consolidation_tightness_pct": 0.24,
      "distance_from_pm_high_pct": 0.06,
      "extension_from_vwap_pct": 0.46,
      "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.19,
    "pm_low": 8.1109
  },
  {
    "symbol": "LADR",
    "total_score": 56.87,
    "raw_score": 60.28,
    "breakdown": {
      "price_quality": 4.97,
      "volume_quality": 12.0,
      "rvol": 0.53,
      "volume_acceleration": 3.25,
      "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.67,
      "momentum_consistency": 2.57,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.025,
      "vwap": 10.0249,
      "vwap_slope": 0.0005,
      "rvol": 0.22,
      "volume_acceleration": 1.33,
      "premarket_volume": 110239.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.15,
      "distance_from_pm_high_pct": 0.15,
      "extension_from_vwap_pct": 0.0,
      "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.04,
    "pm_low": 10.005
  },
  {
    "symbol": "MBC",
    "total_score": 56.73,
    "raw_score": 60.13,
    "breakdown": {
      "price_quality": 4.2,
      "volume_quality": 12.0,
      "rvol": 0.57,
      "volume_acceleration": 3.49,
      "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.64,
      "momentum_consistency": 2.72,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.195,
      "vwap": 9.1771,
      "vwap_slope": 0.0035,
      "rvol": 0.24,
      "volume_acceleration": 1.0,
      "premarket_volume": 118725.0,
      "momentum_pct": 0.11,
      "consolidation_tightness_pct": 0.27,
      "distance_from_pm_high_pct": 0.05,
      "extension_from_vwap_pct": 0.19,
      "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.155
  },
  {
    "symbol": "RGNX",
    "total_score": 56.67,
    "raw_score": 60.07,
    "breakdown": {
      "price_quality": 3.77,
      "volume_quality": 11.47,
      "rvol": 0.46,
      "volume_acceleration": 4.77,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.67,
      "spread_liquidity": 4.41,
      "momentum_consistency": 3.14,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.23,
      "vwap": 11.2295,
      "vwap_slope": 0.0114,
      "rvol": 0.19,
      "volume_acceleration": 1.48,
      "premarket_volume": 95553.0,
      "momentum_pct": -0.4,
      "consolidation_tightness_pct": 0.44,
      "distance_from_pm_high_pct": 0.44,
      "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": 11.28,
    "pm_low": 11.17
  },
  {
    "symbol": "RUM",
    "total_score": 56.56,
    "raw_score": 59.96,
    "breakdown": {
      "price_quality": 3.33,
      "volume_quality": 12.0,
      "rvol": 0.95,
      "volume_acceleration": 2.76,
      "price_momentum": 0.18,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.96,
      "spread_liquidity": 4.6,
      "momentum_consistency": 3.78,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.33,
      "vwap": 8.2889,
      "vwap_slope": 0.0093,
      "rvol": 0.39,
      "volume_acceleration": 1.28,
      "premarket_volume": 197155.0,
      "momentum_pct": 0.12,
      "consolidation_tightness_pct": 0.3,
      "distance_from_pm_high_pct": 0.06,
      "extension_from_vwap_pct": 0.5,
      "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.335,
    "pm_low": 8.215
  },
  {
    "symbol": "APPS",
    "total_score": 56.52,
    "raw_score": 59.91,
    "breakdown": {
      "price_quality": 4.21,
      "volume_quality": 12.0,
      "rvol": 0.76,
      "volume_acceleration": 3.24,
      "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.69,
      "momentum_consistency": 2.72,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.795,
      "vwap": 10.7466,
      "vwap_slope": 0.0111,
      "rvol": 0.32,
      "volume_acceleration": 1.32,
      "premarket_volume": 157556.0,
      "momentum_pct": -0.05,
      "consolidation_tightness_pct": 0.19,
      "distance_from_pm_high_pct": 0.14,
      "extension_from_vwap_pct": 0.45,
      "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.81,
    "pm_low": 10.68
  },
  {
    "symbol": "WU",
    "total_score": 56.5,
    "raw_score": 59.89,
    "breakdown": {
      "price_quality": 2.29,
      "volume_quality": 12.0,
      "rvol": 3.37,
      "volume_acceleration": 2.82,
      "price_momentum": 0.21,
      "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": 2.31,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.295,
      "vwap": 7.2691,
      "vwap_slope": 0.0078,
      "rvol": 1.4,
      "volume_acceleration": 1.28,
      "premarket_volume": 701882.0,
      "momentum_pct": 0.14,
      "consolidation_tightness_pct": 0.27,
      "distance_from_pm_high_pct": 0.07,
      "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": 7.3,
    "pm_low": 7.24
  },
  {
    "symbol": "BKKT",
    "total_score": 56.48,
    "raw_score": 59.87,
    "breakdown": {
      "price_quality": 2.36,
      "volume_quality": 12.0,
      "rvol": 1.76,
      "volume_acceleration": 3.8,
      "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.31,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.36,
      "vwap": 7.3329,
      "vwap_slope": 0.0076,
      "rvol": 0.73,
      "volume_acceleration": 1.09,
      "premarket_volume": 366534.0,
      "momentum_pct": -0.2,
      "consolidation_tightness_pct": 0.41,
      "distance_from_pm_high_pct": 0.4,
      "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": true,
      "vwap_rising": true
    },
    "pm_high": 7.3899,
    "pm_low": 7.275
  },
  {
    "symbol": "NPCE",
    "total_score": 56.34,
    "raw_score": 59.72,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 3.57,
      "rvol": 0.14,
      "volume_acceleration": 2.69,
      "price_momentum": 0.48,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 6,
      "spread_liquidity": 4.52,
      "momentum_consistency": 4.8,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.97,
      "vwap": 13.7779,
      "vwap_slope": 0.085,
      "rvol": 0.06,
      "volume_acceleration": 0.77,
      "premarket_volume": 29772.0,
      "momentum_pct": 0.32,
      "consolidation_tightness_pct": 0.39,
      "distance_from_pm_high_pct": 0.0,
      "extension_from_vwap_pct": 1.39,
      "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": 13.97,
    "pm_low": 13.56
  },
  {
    "symbol": "CRSR",
    "total_score": 56.33,
    "raw_score": 59.71,
    "breakdown": {
      "price_quality": 4.11,
      "volume_quality": 12.0,
      "rvol": 0.77,
      "volume_acceleration": 3.15,
      "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.39,
      "momentum_consistency": 3.17,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.895,
      "vwap": 10.8774,
      "vwap_slope": 0.0043,
      "rvol": 0.32,
      "volume_acceleration": 0.91,
      "premarket_volume": 159656.0,
      "momentum_pct": -0.05,
      "consolidation_tightness_pct": 0.23,
      "distance_from_pm_high_pct": 0.37,
      "extension_from_vwap_pct": 0.16,
      "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.935,
    "pm_low": 10.81
  },
  {
    "symbol": "GOOS",
    "total_score": 56.27,
    "raw_score": 59.65,
    "breakdown": {
      "price_quality": 3.51,
      "volume_quality": 9.76,
      "rvol": 0.39,
      "volume_acceleration": 6.27,
      "price_momentum": 0.09,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.96,
      "spread_liquidity": 4.61,
      "momentum_consistency": 2.67,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.505,
      "vwap": 8.4893,
      "vwap_slope": 0.0046,
      "rvol": 0.16,
      "volume_acceleration": 1.63,
      "premarket_volume": 81345.0,
      "momentum_pct": 0.06,
      "consolidation_tightness_pct": 0.18,
      "distance_from_pm_high_pct": 0.06,
      "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.51,
    "pm_low": 8.455
  },
  {
    "symbol": "YSS",
    "total_score": 56.25,
    "raw_score": 59.63,
    "breakdown": {
      "price_quality": 4.15,
      "volume_quality": 12.0,
      "rvol": 2.37,
      "volume_acceleration": 1.92,
      "price_momentum": 0.08,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.59,
      "spread_liquidity": 4.27,
      "momentum_consistency": 2.85,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.15,
      "vwap": 9.1088,
      "vwap_slope": 0.004,
      "rvol": 0.99,
      "volume_acceleration": 1.19,
      "premarket_volume": 493108.0,
      "momentum_pct": 0.05,
      "consolidation_tightness_pct": 0.66,
      "distance_from_pm_high_pct": 0.54,
      "extension_from_vwap_pct": 0.45,
      "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.2,
    "pm_low": 9.04
  },
  {
    "symbol": "SFL",
    "total_score": 56.17,
    "raw_score": 59.54,
    "breakdown": {
      "price_quality": 2.39,
      "volume_quality": 12.0,
      "rvol": 0.54,
      "volume_acceleration": 5.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.74,
      "momentum_consistency": 2.31,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.605,
      "vwap": 12.586,
      "vwap_slope": 0.0088,
      "rvol": 0.22,
      "volume_acceleration": 1.53,
      "premarket_volume": 111536.0,
      "momentum_pct": -0.04,
      "consolidation_tightness_pct": 0.16,
      "distance_from_pm_high_pct": 0.12,
      "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.62,
    "pm_low": 12.54
  },
  {
    "symbol": "SHOE",
    "total_score": 56.16,
    "raw_score": 59.53,
    "breakdown": {
      "price_quality": 0.0,
      "volume_quality": 6.5,
      "rvol": 0.26,
      "volume_acceleration": 2.77,
      "price_momentum": 0.39,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 6,
      "spread_liquidity": 4.35,
      "momentum_consistency": 3.27,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 15.375,
      "vwap": 15.2614,
      "vwap_slope": 0.0199,
      "rvol": 0.11,
      "volume_acceleration": 1.28,
      "premarket_volume": 54164.0,
      "momentum_pct": 0.26,
      "consolidation_tightness_pct": 0.29,
      "distance_from_pm_high_pct": 0.0,
      "extension_from_vwap_pct": 0.74,
      "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": 15.375,
    "pm_low": 15.17
  },
  {
    "symbol": "FMC",
    "total_score": 56.15,
    "raw_score": 59.52,
    "breakdown": {
      "price_quality": 4.14,
      "volume_quality": 12.0,
      "rvol": 1.29,
      "volume_acceleration": 2.35,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.79,
      "spread_liquidity": 4.69,
      "momentum_consistency": 2.85,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.86,
      "vwap": 10.8029,
      "vwap_slope": 0.023,
      "rvol": 0.54,
      "volume_acceleration": 1.24,
      "premarket_volume": 269201.0,
      "momentum_pct": -0.14,
      "consolidation_tightness_pct": 0.37,
      "distance_from_pm_high_pct": 0.28,
      "extension_from_vwap_pct": 0.53,
      "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.89,
    "pm_low": 10.72
  },
  {
    "symbol": "STDN",
    "total_score": 56.08,
    "raw_score": 59.44,
    "breakdown": {
      "price_quality": 2.12,
      "volume_quality": 2.62,
      "rvol": 0.1,
      "volume_acceleration": 4.55,
      "price_momentum": 1.23,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.94,
      "spread_liquidity": 3.19,
      "momentum_consistency": 3.69,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.8799,
      "vwap": 12.7711,
      "vwap_slope": 0.0516,
      "rvol": 0.04,
      "volume_acceleration": 1.45,
      "premarket_volume": 21798.0,
      "momentum_pct": 0.82,
      "consolidation_tightness_pct": 1.01,
      "distance_from_pm_high_pct": 0.08,
      "extension_from_vwap_pct": 0.85,
      "spread_pct": 0.54
    },
    "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.89,
    "pm_low": 12.62
  },
  {
    "symbol": "GPGI",
    "total_score": 56.08,
    "raw_score": 59.45,
    "breakdown": {
      "price_quality": 2.04,
      "volume_quality": 12.0,
      "rvol": 0.74,
      "volume_acceleration": 3.14,
      "price_momentum": 0.0,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.43,
      "spread_liquidity": 4.48,
      "momentum_consistency": 2.81,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.96,
      "vwap": 12.9265,
      "vwap_slope": -0.0041,
      "rvol": 0.31,
      "volume_acceleration": 1.31,
      "premarket_volume": 155078.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.93,
      "distance_from_pm_high_pct": 0.77,
      "extension_from_vwap_pct": 0.26,
      "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": false
    },
    "pm_high": 13.06,
    "pm_low": 12.81
  },
  {
    "symbol": "CPRI",
    "total_score": 56.01,
    "raw_score": 59.37,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 2.9,
      "volume_acceleration": 2.51,
      "price_momentum": 0.44,
      "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": 2.9,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.795,
      "vwap": 13.7437,
      "vwap_slope": 0.0075,
      "rvol": 1.21,
      "volume_acceleration": 1.25,
      "premarket_volume": 605031.0,
      "momentum_pct": 0.29,
      "consolidation_tightness_pct": 0.33,
      "distance_from_pm_high_pct": 0.04,
      "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.8,
    "pm_low": 13.705
  },
  {
    "symbol": "RFIL",
    "total_score": 55.96,
    "raw_score": 59.32,
    "breakdown": {
      "price_quality": 3.68,
      "volume_quality": 4.18,
      "rvol": 0.17,
      "volume_acceleration": 10,
      "price_momentum": 1.47,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.87,
      "spread_liquidity": 4.12,
      "momentum_consistency": 3.43,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.32,
      "vwap": 11.2169,
      "vwap_slope": 0.0592,
      "rvol": 0.07,
      "volume_acceleration": 2.4,
      "premarket_volume": 34873.0,
      "momentum_pct": 0.98,
      "consolidation_tightness_pct": 1.34,
      "distance_from_pm_high_pct": 0.18,
      "extension_from_vwap_pct": 0.92,
      "spread_pct": 0.26
    },
    "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.3399,
    "pm_low": 11.09
  },
  {
    "symbol": "STTK",
    "total_score": 55.93,
    "raw_score": 59.29,
    "breakdown": {
      "price_quality": 2.35,
      "volume_quality": 7.45,
      "rvol": 0.3,
      "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.7,
      "spread_liquidity": 4.09,
      "momentum_consistency": 3.0,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.35,
      "vwap": 7.3281,
      "vwap_slope": 0.0037,
      "rvol": 0.12,
      "volume_acceleration": 3.45,
      "premarket_volume": 62116.0,
      "momentum_pct": -0.27,
      "consolidation_tightness_pct": 0.41,
      "distance_from_pm_high_pct": 0.41,
      "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.38,
    "pm_low": 7.26
  },
  {
    "symbol": "FIGS",
    "total_score": 55.93,
    "raw_score": 59.28,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 0.87,
      "volume_acceleration": 4.94,
      "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.77,
      "momentum_consistency": 2.98,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.48,
      "vwap": 14.4571,
      "vwap_slope": 0.0105,
      "rvol": 0.36,
      "volume_acceleration": 1.49,
      "premarket_volume": 180659.0,
      "momentum_pct": -0.07,
      "consolidation_tightness_pct": 0.24,
      "distance_from_pm_high_pct": 0.24,
      "extension_from_vwap_pct": 0.16,
      "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.515,
    "pm_low": 14.4
  },
  {
    "symbol": "DXC",
    "total_score": 55.87,
    "raw_score": 59.22,
    "breakdown": {
      "price_quality": 4.24,
      "volume_quality": 12.0,
      "rvol": 0.75,
      "volume_acceleration": 1.8,
      "price_momentum": 0.42,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 6,
      "spread_liquidity": 4.69,
      "momentum_consistency": 2.92,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.755,
      "vwap": 10.7121,
      "vwap_slope": 0.0057,
      "rvol": 0.31,
      "volume_acceleration": 1.18,
      "premarket_volume": 155775.0,
      "momentum_pct": 0.28,
      "consolidation_tightness_pct": 0.28,
      "distance_from_pm_high_pct": 0.0,
      "extension_from_vwap_pct": 0.4,
      "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.755,
    "pm_low": 10.665
  },
  {
    "symbol": "HAFN",
    "total_score": 55.86,
    "raw_score": 59.21,
    "breakdown": {
      "price_quality": 2.9,
      "volume_quality": 12.0,
      "rvol": 1.08,
      "volume_acceleration": 3.68,
      "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": 2.67,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.9,
      "vwap": 7.8825,
      "vwap_slope": 0.0038,
      "rvol": 0.45,
      "volume_acceleration": 1.37,
      "premarket_volume": 224606.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.13,
      "distance_from_pm_high_pct": 0.13,
      "extension_from_vwap_pct": 0.22,
      "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.85
  },
  {
    "symbol": "SRAD",
    "total_score": 55.77,
    "raw_score": 59.12,
    "breakdown": {
      "price_quality": 2.24,
      "volume_quality": 12.0,
      "rvol": 0.67,
      "volume_acceleration": 4.59,
      "price_momentum": 0.06,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.79,
      "spread_liquidity": 4.74,
      "momentum_consistency": 2.62,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.755,
      "vwap": 12.7202,
      "vwap_slope": 0.0132,
      "rvol": 0.28,
      "volume_acceleration": 1.46,
      "premarket_volume": 140564.0,
      "momentum_pct": 0.04,
      "consolidation_tightness_pct": 0.31,
      "distance_from_pm_high_pct": 0.27,
      "extension_from_vwap_pct": 0.27,
      "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.79,
    "pm_low": 12.66
  },
  {
    "symbol": "WLTH",
    "total_score": 55.72,
    "raw_score": 59.06,
    "breakdown": {
      "price_quality": 4.12,
      "volume_quality": 12.0,
      "rvol": 0.89,
      "volume_acceleration": 10,
      "price_momentum": 0.16,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.67,
      "spread_liquidity": 4.63,
      "momentum_consistency": 2.38,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.115,
      "vwap": 9.1066,
      "vwap_slope": -0.0262,
      "rvol": 0.37,
      "volume_acceleration": 4.57,
      "premarket_volume": 185378.0,
      "momentum_pct": 0.11,
      "consolidation_tightness_pct": 0.11,
      "distance_from_pm_high_pct": 0.44,
      "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": true,
      "vwap_rising": false
    },
    "pm_high": 9.155,
    "pm_low": 9.08
  },
  {
    "symbol": "KD",
    "total_score": 55.62,
    "raw_score": 58.96,
    "breakdown": {
      "price_quality": 2.59,
      "volume_quality": 12.0,
      "rvol": 1.77,
      "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.79,
      "spread_liquidity": 4.73,
      "momentum_consistency": 3.12,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.415,
      "vwap": 12.3992,
      "vwap_slope": 0.0076,
      "rvol": 0.74,
      "volume_acceleration": 1.26,
      "premarket_volume": 369512.0,
      "momentum_pct": -0.12,
      "consolidation_tightness_pct": 0.2,
      "distance_from_pm_high_pct": 0.28,
      "extension_from_vwap_pct": 0.13,
      "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.45,
    "pm_low": 12.34
  },
  {
    "symbol": "LWLG",
    "total_score": 55.57,
    "raw_score": 58.9,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 0.91,
      "volume_acceleration": 3.94,
      "price_momentum": 0.25,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 6,
      "spread_liquidity": 4.45,
      "momentum_consistency": 3.45,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.085,
      "vwap": 6.0559,
      "vwap_slope": 0.0054,
      "rvol": 0.38,
      "volume_acceleration": 1.13,
      "premarket_volume": 189891.0,
      "momentum_pct": 0.16,
      "consolidation_tightness_pct": 0.33,
      "distance_from_pm_high_pct": 0.0,
      "extension_from_vwap_pct": 0.48,
      "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.085,
    "pm_low": 6.025
  },
  {
    "symbol": "FSK",
    "total_score": 55.57,
    "raw_score": 58.91,
    "breakdown": {
      "price_quality": 3.11,
      "volume_quality": 12.0,
      "rvol": 0.86,
      "volume_acceleration": 10,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.97,
      "spread_liquidity": 4.72,
      "momentum_consistency": 3.05,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.895,
      "vwap": 11.8822,
      "vwap_slope": -0.0,
      "rvol": 0.36,
      "volume_acceleration": 2.68,
      "premarket_volume": 179370.0,
      "momentum_pct": -0.04,
      "consolidation_tightness_pct": 0.21,
      "distance_from_pm_high_pct": 0.04,
      "extension_from_vwap_pct": 0.11,
      "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": 11.9,
    "pm_low": 11.865
  },
  {
    "symbol": "BRSL",
    "total_score": 55.42,
    "raw_score": 58.74,
    "breakdown": {
      "price_quality": 3.37,
      "volume_quality": 12.0,
      "rvol": 0.68,
      "volume_acceleration": 2.17,
      "price_momentum": 0.03,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 6,
      "spread_liquidity": 4.71,
      "momentum_consistency": 3.38,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.63,
      "vwap": 11.5653,
      "vwap_slope": 0.0217,
      "rvol": 0.28,
      "volume_acceleration": 1.22,
      "premarket_volume": 142046.0,
      "momentum_pct": 0.02,
      "consolidation_tightness_pct": 0.43,
      "distance_from_pm_high_pct": 0.0,
      "extension_from_vwap_pct": 0.56,
      "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.63,
    "pm_low": 11.515
  },
  {
    "symbol": "BIOA",
    "total_score": 55.38,
    "raw_score": 58.7,
    "breakdown": {
      "price_quality": 4.78,
      "volume_quality": 12.0,
      "rvol": 0.55,
      "volume_acceleration": 2.53,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.47,
      "spread_liquidity": 3.98,
      "momentum_consistency": 3.0,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.78,
      "vwap": 9.7724,
      "vwap_slope": 0.0095,
      "rvol": 0.23,
      "volume_acceleration": 0.73,
      "premarket_volume": 114019.0,
      "momentum_pct": -0.41,
      "consolidation_tightness_pct": 0.82,
      "distance_from_pm_high_pct": 0.71,
      "extension_from_vwap_pct": 0.08,
      "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.85,
    "pm_low": 9.66
  },
  {
    "symbol": "SENS",
    "total_score": 55.3,
    "raw_score": 58.62,
    "breakdown": {
      "price_quality": 3.97,
      "volume_quality": 4.66,
      "rvol": 0.19,
      "volume_acceleration": 10,
      "price_momentum": 0.17,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.75,
      "spread_liquidity": 3.89,
      "momentum_consistency": 3.6,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.97,
      "vwap": 8.946,
      "vwap_slope": 0.0161,
      "rvol": 0.08,
      "volume_acceleration": 2.31,
      "premarket_volume": 38802.0,
      "momentum_pct": 0.11,
      "consolidation_tightness_pct": 0.78,
      "distance_from_pm_high_pct": 0.33,
      "extension_from_vwap_pct": 0.27,
      "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": true
    },
    "pm_high": 9.0,
    "pm_low": 8.9
  },
  {
    "symbol": "SLRC",
    "total_score": 55.24,
    "raw_score": 58.56,
    "breakdown": {
      "price_quality": 2.37,
      "volume_quality": 12.0,
      "rvol": 0.86,
      "volume_acceleration": 3.64,
      "price_momentum": 0.06,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.88,
      "spread_liquidity": 4.74,
      "momentum_consistency": 2.61,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.635,
      "vwap": 12.6289,
      "vwap_slope": 0.0029,
      "rvol": 0.36,
      "volume_acceleration": 1.05,
      "premarket_volume": 179309.0,
      "momentum_pct": 0.04,
      "consolidation_tightness_pct": 0.2,
      "distance_from_pm_high_pct": 0.16,
      "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": true,
      "vwap_rising": true
    },
    "pm_high": 12.655,
    "pm_low": 12.605
  },
  {
    "symbol": "AMPL",
    "total_score": 55.23,
    "raw_score": 58.55,
    "breakdown": {
      "price_quality": 2.05,
      "volume_quality": 12.0,
      "rvol": 1.15,
      "volume_acceleration": 3.11,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.6,
      "spread_liquidity": 4.74,
      "momentum_consistency": 3.49,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.945,
      "vwap": 12.9208,
      "vwap_slope": 0.0157,
      "rvol": 0.48,
      "volume_acceleration": 0.9,
      "premarket_volume": 239210.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.16,
      "distance_from_pm_high_pct": 0.54,
      "extension_from_vwap_pct": 0.19,
      "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.015,
    "pm_low": 12.76
  },
  {
    "symbol": "OWL",
    "total_score": 55.19,
    "raw_score": 58.5,
    "breakdown": {
      "price_quality": 3.57,
      "volume_quality": 12.0,
      "rvol": 10.55,
      "volume_acceleration": 7.04,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.38,
      "spread_liquidity": 4.71,
      "momentum_consistency": 2.85,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.425,
      "vwap": 11.4732,
      "vwap_slope": -0.0213,
      "rvol": 3.95,
      "volume_acceleration": 1.7,
      "premarket_volume": 1977297.0,
      "momentum_pct": -0.13,
      "consolidation_tightness_pct": 0.57,
      "distance_from_pm_high_pct": 0.82,
      "extension_from_vwap_pct": -0.42,
      "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.52,
    "pm_low": 11.4
  },
  {
    "symbol": "BYND",
    "total_score": 55.18,
    "raw_score": 58.49,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 0.92,
      "volume_acceleration": 3.78,
      "price_momentum": 0.1,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.6,
      "spread_liquidity": 4.56,
      "momentum_consistency": 3.64,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 15.0,
      "vwap": 14.91,
      "vwap_slope": 0.0115,
      "rvol": 0.38,
      "volume_acceleration": 1.09,
      "premarket_volume": 191069.0,
      "momentum_pct": 0.07,
      "consolidation_tightness_pct": 0.33,
      "distance_from_pm_high_pct": 0.53,
      "extension_from_vwap_pct": 0.6,
      "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": 15.08,
    "pm_low": 14.615
  },
  {
    "symbol": "MASS",
    "total_score": 55.11,
    "raw_score": 58.42,
    "breakdown": {
      "price_quality": 4.78,
      "volume_quality": 4.21,
      "rvol": 0.17,
      "volume_acceleration": 9.05,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.71,
      "spread_liquidity": 4.35,
      "momentum_consistency": 3.75,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.22,
      "vwap": 10.2129,
      "vwap_slope": 0.009,
      "rvol": 0.07,
      "volume_acceleration": 1.91,
      "premarket_volume": 35086.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.24,
      "distance_from_pm_high_pct": 0.39,
      "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": true,
      "vwap_rising": true
    },
    "pm_high": 10.26,
    "pm_low": 10.12
  },
  {
    "symbol": "VELO",
    "total_score": 54.84,
    "raw_score": 58.13,
    "breakdown": {
      "price_quality": 1.77,
      "volume_quality": 12.0,
      "rvol": 0.54,
      "volume_acceleration": 3.41,
      "price_momentum": 0.23,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.94,
      "spread_liquidity": 3.99,
      "momentum_consistency": 3.85,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.23,
      "vwap": 13.1121,
      "vwap_slope": 0.0297,
      "rvol": 0.22,
      "volume_acceleration": 1.34,
      "premarket_volume": 112167.0,
      "momentum_pct": 0.15,
      "consolidation_tightness_pct": 0.49,
      "distance_from_pm_high_pct": 0.08,
      "extension_from_vwap_pct": 0.9,
      "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": true,
      "vwap_rising": true
    },
    "pm_high": 13.24,
    "pm_low": 13.005
  },
  {
    "symbol": "SGHC",
    "total_score": 54.73,
    "raw_score": 58.02,
    "breakdown": {
      "price_quality": 1.78,
      "volume_quality": 12.0,
      "rvol": 1.74,
      "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": 5.8,
      "spread_liquidity": 4.75,
      "momentum_consistency": 2.35,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.225,
      "vwap": 13.2263,
      "vwap_slope": 0.0066,
      "rvol": 0.73,
      "volume_acceleration": 4.85,
      "premarket_volume": 362659.0,
      "momentum_pct": -0.15,
      "consolidation_tightness_pct": 0.19,
      "distance_from_pm_high_pct": 0.26,
      "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": false,
      "vwap_rising": true
    },
    "pm_high": 13.26,
    "pm_low": 13.16
  },
  {
    "symbol": "SVRA",
    "total_score": 54.57,
    "raw_score": 57.84,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 1.49,
      "volume_acceleration": 2.49,
      "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.39,
      "momentum_consistency": 3.77,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.475,
      "vwap": 5.4071,
      "vwap_slope": 0.0283,
      "rvol": 0.62,
      "volume_acceleration": 0.72,
      "premarket_volume": 310555.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.37,
      "distance_from_pm_high_pct": 0.27,
      "extension_from_vwap_pct": 1.26,
      "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.49,
    "pm_low": 5.345
  },
  {
    "symbol": "KLAR",
    "total_score": 54.52,
    "raw_score": 57.8,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 8.57,
      "volume_acceleration": 3.11,
      "price_momentum": 0.49,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.73,
      "spread_liquidity": 4.76,
      "momentum_consistency": 2.44,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.925,
      "vwap": 13.9006,
      "vwap_slope": -0.0043,
      "rvol": 3.21,
      "volume_acceleration": 0.89,
      "premarket_volume": 1606394.0,
      "momentum_pct": 0.32,
      "consolidation_tightness_pct": 0.5,
      "distance_from_pm_high_pct": 0.36,
      "extension_from_vwap_pct": 0.18,
      "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": false
    },
    "pm_high": 13.975,
    "pm_low": 13.86
  },
  {
    "symbol": "WVE",
    "total_score": 54.38,
    "raw_score": 57.64,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 1.08,
      "volume_acceleration": 4.17,
      "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.36,
      "momentum_consistency": 2.21,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.225,
      "vwap": 5.2065,
      "vwap_slope": 0.0073,
      "rvol": 0.45,
      "volume_acceleration": 1.42,
      "premarket_volume": 224783.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.38,
      "distance_from_pm_high_pct": 0.1,
      "extension_from_vwap_pct": 0.35,
      "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.18
  },
  {
    "symbol": "CTOS",
    "total_score": 54.34,
    "raw_score": 57.6,
    "breakdown": {
      "price_quality": 4.73,
      "volume_quality": 6.05,
      "rvol": 0.24,
      "volume_acceleration": 7.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.66,
      "momentum_consistency": 2.0,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.735,
      "vwap": 9.7187,
      "vwap_slope": 0.0195,
      "rvol": 0.1,
      "volume_acceleration": 1.77,
      "premarket_volume": 50420.0,
      "momentum_pct": -0.15,
      "consolidation_tightness_pct": 0.31,
      "distance_from_pm_high_pct": 0.26,
      "extension_from_vwap_pct": 0.17,
      "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.76,
    "pm_low": 9.685
  },
  {
    "symbol": "NAVI",
    "total_score": 54.1,
    "raw_score": 57.34,
    "breakdown": {
      "price_quality": 4.19,
      "volume_quality": 10.67,
      "rvol": 0.43,
      "volume_acceleration": 3.53,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.67,
      "spread_liquidity": 4.64,
      "momentum_consistency": 1.82,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.19,
      "vwap": 9.1881,
      "vwap_slope": 0.0009,
      "rvol": 0.18,
      "volume_acceleration": 1.01,
      "premarket_volume": 88886.0,
      "momentum_pct": -0.16,
      "consolidation_tightness_pct": 0.38,
      "distance_from_pm_high_pct": 0.43,
      "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": true,
      "vwap_rising": true
    },
    "pm_high": 9.23,
    "pm_low": 9.155
  },
  {
    "symbol": "PD",
    "total_score": 54.09,
    "raw_score": 57.34,
    "breakdown": {
      "price_quality": 2.88,
      "volume_quality": 10.64,
      "rvol": 0.43,
      "volume_acceleration": 3.23,
      "price_momentum": 0.31,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 6,
      "spread_liquidity": 4.45,
      "momentum_consistency": 3.0,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.115,
      "vwap": 12.0763,
      "vwap_slope": 0.0072,
      "rvol": 0.18,
      "volume_acceleration": 0.93,
      "premarket_volume": 88644.0,
      "momentum_pct": 0.21,
      "consolidation_tightness_pct": 0.21,
      "distance_from_pm_high_pct": 0.0,
      "extension_from_vwap_pct": 0.32,
      "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.115,
    "pm_low": 12.03
  },
  {
    "symbol": "HLF",
    "total_score": 54.02,
    "raw_score": 57.26,
    "breakdown": {
      "price_quality": 2.95,
      "volume_quality": 11.44,
      "rvol": 0.46,
      "volume_acceleration": 2.44,
      "price_momentum": 0.06,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.81,
      "spread_liquidity": 4.72,
      "momentum_consistency": 2.98,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.05,
      "vwap": 12.0311,
      "vwap_slope": 0.0009,
      "rvol": 0.19,
      "volume_acceleration": 1.24,
      "premarket_volume": 95315.0,
      "momentum_pct": 0.04,
      "consolidation_tightness_pct": 0.08,
      "distance_from_pm_high_pct": 0.25,
      "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": true,
      "vwap_rising": true
    },
    "pm_high": 12.08,
    "pm_low": 11.995
  },
  {
    "symbol": "LTRX",
    "total_score": 53.97,
    "raw_score": 57.21,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 0.5,
      "volume_acceleration": 3.02,
      "price_momentum": 0.49,
      "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": 2.89,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.165,
      "vwap": 6.135,
      "vwap_slope": 0.0054,
      "rvol": 0.21,
      "volume_acceleration": 0.87,
      "premarket_volume": 105167.0,
      "momentum_pct": 0.33,
      "consolidation_tightness_pct": 0.34,
      "distance_from_pm_high_pct": 0.08,
      "extension_from_vwap_pct": 0.49,
      "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.17,
    "pm_low": 6.08
  },
  {
    "symbol": "AEYE",
    "total_score": 53.78,
    "raw_score": 57.0,
    "breakdown": {
      "price_quality": 2.16,
      "volume_quality": 4.32,
      "rvol": 0.17,
      "volume_acceleration": 1.96,
      "price_momentum": 1.06,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.43,
      "spread_liquidity": 1.74,
      "momentum_consistency": 4.17,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.155,
      "vwap": 7.0856,
      "vwap_slope": 0.006,
      "rvol": 0.07,
      "volume_acceleration": 0.56,
      "premarket_volume": 35985.0,
      "momentum_pct": 0.7,
      "consolidation_tightness_pct": 1.53,
      "distance_from_pm_high_pct": 0.76,
      "extension_from_vwap_pct": 0.98,
      "spread_pct": 0.98
    },
    "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.2097,
    "pm_low": 7.04
  },
  {
    "symbol": "OPHC",
    "total_score": 53.69,
    "raw_score": 56.91,
    "breakdown": {
      "price_quality": 4.7,
      "volume_quality": 3.51,
      "rvol": 0.14,
      "volume_acceleration": 9.81,
      "price_momentum": 0.31,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.62,
      "spread_liquidity": 2.25,
      "momentum_consistency": 4.17,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.7,
      "vwap": 9.4873,
      "vwap_slope": 0.3568,
      "rvol": 0.06,
      "volume_acceleration": 1.98,
      "premarket_volume": 29272.0,
      "momentum_pct": 0.21,
      "consolidation_tightness_pct": 1.45,
      "distance_from_pm_high_pct": 0.51,
      "extension_from_vwap_pct": 2.24,
      "spread_pct": 0.82
    },
    "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.75,
    "pm_low": 9.08
  },
  {
    "symbol": "JBS",
    "total_score": 53.58,
    "raw_score": 56.79,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 4.85,
      "volume_acceleration": 4.92,
      "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.75,
      "momentum_consistency": 3.53,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.595,
      "vwap": 13.6164,
      "vwap_slope": 0.0016,
      "rvol": 1.82,
      "volume_acceleration": 1.49,
      "premarket_volume": 909043.0,
      "momentum_pct": -0.37,
      "consolidation_tightness_pct": 0.51,
      "distance_from_pm_high_pct": 0.48,
      "extension_from_vwap_pct": -0.16,
      "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": false,
      "vwap_rising": true
    },
    "pm_high": 13.66,
    "pm_low": 13.56
  },
  {
    "symbol": "NOMD",
    "total_score": 53.44,
    "raw_score": 56.65,
    "breakdown": {
      "price_quality": 3.35,
      "volume_quality": 12.0,
      "rvol": 0.66,
      "volume_acceleration": 1.19,
      "price_momentum": 0.1,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.81,
      "spread_liquidity": 4.43,
      "momentum_consistency": 2.72,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.655,
      "vwap": 11.6491,
      "vwap_slope": 0.0002,
      "rvol": 0.28,
      "volume_acceleration": 0.34,
      "premarket_volume": 138026.0,
      "momentum_pct": 0.07,
      "consolidation_tightness_pct": 0.07,
      "distance_from_pm_high_pct": 0.26,
      "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": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 11.685,
    "pm_low": 11.62
  },
  {
    "symbol": "FNKO",
    "total_score": 53.38,
    "raw_score": 56.58,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 0.53,
      "volume_acceleration": 2.49,
      "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.46,
      "momentum_consistency": 3.32,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.2,
      "vwap": 6.1611,
      "vwap_slope": 0.0129,
      "rvol": 0.22,
      "volume_acceleration": 0.72,
      "premarket_volume": 111019.0,
      "momentum_pct": -0.16,
      "consolidation_tightness_pct": 0.24,
      "distance_from_pm_high_pct": 0.16,
      "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": true,
      "vwap_rising": true
    },
    "pm_high": 6.21,
    "pm_low": 6.12
  },
  {
    "symbol": "HLIT",
    "total_score": 53.34,
    "raw_score": 56.54,
    "breakdown": {
      "price_quality": 2.62,
      "volume_quality": 12.0,
      "rvol": 0.58,
      "volume_acceleration": 1.93,
      "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.73,
      "momentum_consistency": 2.46,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.38,
      "vwap": 12.3756,
      "vwap_slope": 0.0034,
      "rvol": 0.24,
      "volume_acceleration": 0.55,
      "premarket_volume": 120632.0,
      "momentum_pct": -0.08,
      "consolidation_tightness_pct": 0.16,
      "distance_from_pm_high_pct": 0.24,
      "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": true,
      "vwap_rising": true
    },
    "pm_high": 12.41,
    "pm_low": 12.34
  },
  {
    "symbol": "ODD",
    "total_score": 53.34,
    "raw_score": 56.54,
    "breakdown": {
      "price_quality": 2.36,
      "volume_quality": 7.84,
      "rvol": 0.31,
      "volume_acceleration": 3.59,
      "price_momentum": 0.24,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.82,
      "spread_liquidity": 4.47,
      "momentum_consistency": 3.1,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.64,
      "vwap": 12.6322,
      "vwap_slope": -0.003,
      "rvol": 0.13,
      "volume_acceleration": 1.03,
      "premarket_volume": 65332.0,
      "momentum_pct": 0.16,
      "consolidation_tightness_pct": 0.24,
      "distance_from_pm_high_pct": 0.24,
      "extension_from_vwap_pct": 0.06,
      "spread_pct": 0.16
    },
    "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": 12.67,
    "pm_low": 12.59
  },
  {
    "symbol": "SECZ",
    "total_score": 53.17,
    "raw_score": 56.36,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 0.78,
      "volume_acceleration": 2.05,
      "price_momentum": 0.1,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.79,
      "spread_liquidity": 4.48,
      "momentum_consistency": 3.26,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.3792,
      "vwap": 6.294,
      "vwap_slope": 0.0188,
      "rvol": 0.32,
      "volume_acceleration": 0.59,
      "premarket_volume": 161562.0,
      "momentum_pct": 0.07,
      "consolidation_tightness_pct": 0.31,
      "distance_from_pm_high_pct": 0.27,
      "extension_from_vwap_pct": 1.35,
      "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.3967,
    "pm_low": 6.22
  },
  {
    "symbol": "BTGO",
    "total_score": 53.12,
    "raw_score": 56.31,
    "breakdown": {
      "price_quality": 1.54,
      "volume_quality": 12.0,
      "rvol": 1.0,
      "volume_acceleration": 2.21,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.83,
      "spread_liquidity": 3.98,
      "momentum_consistency": 3.35,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.54,
      "vwap": 6.51,
      "vwap_slope": 0.0103,
      "rvol": 0.42,
      "volume_acceleration": 0.64,
      "premarket_volume": 209134.0,
      "momentum_pct": -0.08,
      "consolidation_tightness_pct": 0.23,
      "distance_from_pm_high_pct": 0.23,
      "extension_from_vwap_pct": 0.46,
      "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": 6.555,
    "pm_low": 6.47
  },
  {
    "symbol": "SATL",
    "total_score": 53.11,
    "raw_score": 56.3,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 1.68,
      "volume_acceleration": 1.94,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.79,
      "spread_liquidity": 4.37,
      "momentum_consistency": 2.62,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.26,
      "vwap": 5.2441,
      "vwap_slope": 0.0027,
      "rvol": 0.7,
      "volume_acceleration": 0.56,
      "premarket_volume": 349320.0,
      "momentum_pct": -0.28,
      "consolidation_tightness_pct": 0.28,
      "distance_from_pm_high_pct": 0.28,
      "extension_from_vwap_pct": 0.3,
      "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.275,
    "pm_low": 5.22
  },
  {
    "symbol": "LXU",
    "total_score": 53.05,
    "raw_score": 56.23,
    "breakdown": {
      "price_quality": 4.29,
      "volume_quality": 9.18,
      "rvol": 0.37,
      "volume_acceleration": 2.62,
      "price_momentum": 0.28,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.69,
      "spread_liquidity": 4.69,
      "momentum_consistency": 2.72,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.715,
      "vwap": 10.6929,
      "vwap_slope": 0.0111,
      "rvol": 0.15,
      "volume_acceleration": 1.26,
      "premarket_volume": 76480.0,
      "momentum_pct": 0.19,
      "consolidation_tightness_pct": 0.56,
      "distance_from_pm_high_pct": 0.42,
      "extension_from_vwap_pct": 0.21,
      "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.76,
    "pm_low": 10.63
  },
  {
    "symbol": "ANTX",
    "total_score": 53.03,
    "raw_score": 56.21,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 4.78,
      "rvol": 0.19,
      "volume_acceleration": 10,
      "price_momentum": 0.13,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.94,
      "spread_liquidity": 3.28,
      "momentum_consistency": 4.0,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.82,
      "vwap": 5.8051,
      "vwap_slope": 0.0193,
      "rvol": 0.08,
      "volume_acceleration": 2.59,
      "premarket_volume": 39798.0,
      "momentum_pct": 0.09,
      "consolidation_tightness_pct": 0.43,
      "distance_from_pm_high_pct": 0.09,
      "extension_from_vwap_pct": 0.26,
      "spread_pct": 0.52
    },
    "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.825,
    "pm_low": 5.77
  },
  {
    "symbol": "FWRG",
    "total_score": 52.98,
    "raw_score": 56.16,
    "breakdown": {
      "price_quality": 2.38,
      "volume_quality": 10.1,
      "rvol": 0.4,
      "volume_acceleration": 3.15,
      "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": 3.43,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.62,
      "vwap": 12.5908,
      "vwap_slope": 0.0152,
      "rvol": 0.17,
      "volume_acceleration": 1.32,
      "premarket_volume": 84203.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.32,
      "distance_from_pm_high_pct": 0.24,
      "extension_from_vwap_pct": 0.23,
      "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.65,
    "pm_low": 12.53
  },
  {
    "symbol": "ANNX",
    "total_score": 52.81,
    "raw_score": 55.98,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 0.8,
      "volume_acceleration": 3.05,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.57,
      "spread_liquidity": 4.36,
      "momentum_consistency": 2.31,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.19,
      "vwap": 5.1866,
      "vwap_slope": 0.0027,
      "rvol": 0.33,
      "volume_acceleration": 0.88,
      "premarket_volume": 166103.0,
      "momentum_pct": -0.1,
      "consolidation_tightness_pct": 0.29,
      "distance_from_pm_high_pct": 0.57,
      "extension_from_vwap_pct": 0.07,
      "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.22,
    "pm_low": 5.15
  },
  {
    "symbol": "XRAY",
    "total_score": 52.71,
    "raw_score": 55.88,
    "breakdown": {
      "price_quality": 4.2,
      "volume_quality": 12.0,
      "rvol": 2.21,
      "volume_acceleration": 5.5,
      "price_momentum": 0.42,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.9,
      "spread_liquidity": 4.69,
      "momentum_consistency": 1.76,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.805,
      "vwap": 10.7948,
      "vwap_slope": -0.0063,
      "rvol": 0.92,
      "volume_acceleration": 1.55,
      "premarket_volume": 460380.0,
      "momentum_pct": 0.28,
      "consolidation_tightness_pct": 0.37,
      "distance_from_pm_high_pct": 0.14,
      "extension_from_vwap_pct": 0.09,
      "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": 10.82,
    "pm_low": 10.755
  },
  {
    "symbol": "GFR",
    "total_score": 52.59,
    "raw_score": 55.75,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 0.92,
      "volume_acceleration": 2.13,
      "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.48,
      "momentum_consistency": 2.67,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.38,
      "vwap": 6.3696,
      "vwap_slope": 0.0064,
      "rvol": 0.39,
      "volume_acceleration": 0.61,
      "premarket_volume": 192592.0,
      "momentum_pct": -0.23,
      "consolidation_tightness_pct": 0.63,
      "distance_from_pm_high_pct": 0.47,
      "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": true,
      "vwap_rising": true
    },
    "pm_high": 6.41,
    "pm_low": 6.34
  },
  {
    "symbol": "OSS",
    "total_score": 52.38,
    "raw_score": 55.52,
    "breakdown": {
      "price_quality": 3.51,
      "volume_quality": 7.33,
      "rvol": 0.29,
      "volume_acceleration": 3.21,
      "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.42,
      "momentum_consistency": 4.09,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.49,
      "vwap": 11.4178,
      "vwap_slope": 0.0216,
      "rvol": 0.12,
      "volume_acceleration": 0.92,
      "premarket_volume": 61122.0,
      "momentum_pct": 0.17,
      "consolidation_tightness_pct": 0.26,
      "distance_from_pm_high_pct": 0.0,
      "extension_from_vwap_pct": 0.63,
      "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.49,
    "pm_low": 11.322
  },
  {
    "symbol": "ORN",
    "total_score": 52.37,
    "raw_score": 55.52,
    "breakdown": {
      "price_quality": 4.12,
      "volume_quality": 3.24,
      "rvol": 0.13,
      "volume_acceleration": 8.99,
      "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.27,
      "momentum_consistency": 2.67,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.12,
      "vwap": 9.1157,
      "vwap_slope": 0.0135,
      "rvol": 0.05,
      "volume_acceleration": 1.9,
      "premarket_volume": 26977.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.51,
      "distance_from_pm_high_pct": 0.4,
      "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": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 9.1562,
    "pm_low": 9.08
  },
  {
    "symbol": "CRNC",
    "total_score": 52.25,
    "raw_score": 55.39,
    "breakdown": {
      "price_quality": 2.91,
      "volume_quality": 9.1,
      "rvol": 0.36,
      "volume_acceleration": 8.11,
      "price_momentum": 0.67,
      "price_structure": 12,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.53,
      "spread_liquidity": 4.58,
      "momentum_consistency": 2.14,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.905,
      "vwap": 7.9064,
      "vwap_slope": -0.0091,
      "rvol": 0.15,
      "volume_acceleration": 1.81,
      "premarket_volume": 75804.0,
      "momentum_pct": 0.44,
      "consolidation_tightness_pct": 0.44,
      "distance_from_pm_high_pct": 0.63,
      "extension_from_vwap_pct": -0.02,
      "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.955,
    "pm_low": 7.87
  },
  {
    "symbol": "BETR",
    "total_score": 52.04,
    "raw_score": 55.17,
    "breakdown": {
      "price_quality": 3.43,
      "volume_quality": 9.71,
      "rvol": 0.39,
      "volume_acceleration": 2.44,
      "price_momentum": 0.39,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.61,
      "spread_liquidity": 3.27,
      "momentum_consistency": 3.53,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.57,
      "vwap": 11.5292,
      "vwap_slope": 0.012,
      "rvol": 0.16,
      "volume_acceleration": 1.24,
      "premarket_volume": 80915.0,
      "momentum_pct": 0.26,
      "consolidation_tightness_pct": 0.56,
      "distance_from_pm_high_pct": 0.52,
      "extension_from_vwap_pct": 0.35,
      "spread_pct": 0.52
    },
    "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.63,
    "pm_low": 11.4307
  },
  {
    "symbol": "HLMN",
    "total_score": 51.86,
    "raw_score": 54.97,
    "breakdown": {
      "price_quality": 3.34,
      "volume_quality": 7.16,
      "rvol": 0.29,
      "volume_acceleration": 5.07,
      "price_momentum": 0.27,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.96,
      "spread_liquidity": 4.6,
      "momentum_consistency": 1.89,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.34,
      "vwap": 8.3167,
      "vwap_slope": 0.0062,
      "rvol": 0.12,
      "volume_acceleration": 1.51,
      "premarket_volume": 59638.0,
      "momentum_pct": 0.18,
      "consolidation_tightness_pct": 0.3,
      "distance_from_pm_high_pct": 0.06,
      "extension_from_vwap_pct": 0.28,
      "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.345,
    "pm_low": 8.3
  },
  {
    "symbol": "EH",
    "total_score": 51.77,
    "raw_score": 54.88,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 3.75,
      "rvol": 0.15,
      "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.73,
      "spread_liquidity": 3.79,
      "momentum_consistency": 3.56,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.54,
      "vwap": 5.5341,
      "vwap_slope": 0.0075,
      "rvol": 0.06,
      "volume_acceleration": 2.78,
      "premarket_volume": 31235.0,
      "momentum_pct": -0.18,
      "consolidation_tightness_pct": 0.54,
      "distance_from_pm_high_pct": 0.36,
      "extension_from_vwap_pct": 0.11,
      "spread_pct": 0.36
    },
    "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.56,
    "pm_low": 5.5121
  },
  {
    "symbol": "SOPH",
    "total_score": 51.69,
    "raw_score": 54.8,
    "breakdown": {
      "price_quality": 3.39,
      "volume_quality": 6.53,
      "rvol": 0.26,
      "volume_acceleration": 4.93,
      "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.21,
      "momentum_consistency": 3.16,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.39,
      "vwap": 8.3685,
      "vwap_slope": 0.0107,
      "rvol": 0.11,
      "volume_acceleration": 1.49,
      "premarket_volume": 54452.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.24,
      "distance_from_pm_high_pct": 0.12,
      "extension_from_vwap_pct": 0.26,
      "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": true,
      "vwap_rising": true
    },
    "pm_high": 8.4,
    "pm_low": 8.33
  },
  {
    "symbol": "YEXT",
    "total_score": 51.66,
    "raw_score": 54.75,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 0.65,
      "volume_acceleration": 1.02,
      "price_momentum": 0.36,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.94,
      "spread_liquidity": 4.47,
      "momentum_consistency": 2.42,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.305,
      "vwap": 6.2675,
      "vwap_slope": 0.004,
      "rvol": 0.27,
      "volume_acceleration": 0.29,
      "premarket_volume": 136435.0,
      "momentum_pct": 0.24,
      "consolidation_tightness_pct": 0.24,
      "distance_from_pm_high_pct": 0.08,
      "extension_from_vwap_pct": 0.6,
      "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.31,
    "pm_low": 6.23
  },
  {
    "symbol": "REPL",
    "total_score": 51.64,
    "raw_score": 54.73,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 2.28,
      "volume_acceleration": 3.41,
      "price_momentum": 0.16,
      "price_structure": 12,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 4.82,
      "spread_liquidity": 4.77,
      "momentum_consistency": 3.8,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.37,
      "vwap": 14.3932,
      "vwap_slope": -0.009,
      "rvol": 0.95,
      "volume_acceleration": 0.98,
      "premarket_volume": 475825.0,
      "momentum_pct": 0.1,
      "consolidation_tightness_pct": 0.31,
      "distance_from_pm_high_pct": 1.58,
      "extension_from_vwap_pct": -0.16,
      "spread_pct": 0.07
    },
    "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.6,
    "pm_low": 14.245
  },
  {
    "symbol": "OCC",
    "total_score": 51.42,
    "raw_score": 54.5,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 2.9,
      "rvol": 0.12,
      "volume_acceleration": 1.96,
      "price_momentum": 0.96,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 6,
      "spread_liquidity": 1.23,
      "momentum_consistency": 3.84,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.13,
      "vwap": 13.9849,
      "vwap_slope": 0.0269,
      "rvol": 0.05,
      "volume_acceleration": 0.56,
      "premarket_volume": 24163.0,
      "momentum_pct": 0.64,
      "consolidation_tightness_pct": 1.0,
      "distance_from_pm_high_pct": 0.0,
      "extension_from_vwap_pct": 1.04,
      "spread_pct": 1.13
    },
    "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.13,
    "pm_low": 13.865
  },
  {
    "symbol": "SPT",
    "total_score": 51.39,
    "raw_score": 54.47,
    "breakdown": {
      "price_quality": 4.93,
      "volume_quality": 12.0,
      "rvol": 0.55,
      "volume_acceleration": 2.01,
      "price_momentum": 0.15,
      "price_structure": 12,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.74,
      "spread_liquidity": 4.67,
      "momentum_consistency": 2.43,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.07,
      "vwap": 10.0712,
      "vwap_slope": -0.0058,
      "rvol": 0.23,
      "volume_acceleration": 1.2,
      "premarket_volume": 114202.0,
      "momentum_pct": 0.1,
      "consolidation_tightness_pct": 0.25,
      "distance_from_pm_high_pct": 0.35,
      "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": false,
      "vwap_rising": false
    },
    "pm_high": 10.105,
    "pm_low": 10.045
  },
  {
    "symbol": "AURA",
    "total_score": 51.22,
    "raw_score": 54.29,
    "breakdown": {
      "price_quality": 2.68,
      "volume_quality": 8.92,
      "rvol": 0.36,
      "volume_acceleration": 2.8,
      "price_momentum": 0.1,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.9,
      "spread_liquidity": 4.13,
      "momentum_consistency": 3.0,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.68,
      "vwap": 7.6349,
      "vwap_slope": 0.0262,
      "rvol": 0.15,
      "volume_acceleration": 1.28,
      "premarket_volume": 74343.0,
      "momentum_pct": 0.07,
      "consolidation_tightness_pct": 0.52,
      "distance_from_pm_high_pct": 0.13,
      "extension_from_vwap_pct": 0.59,
      "spread_pct": 0.26
    },
    "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.57
  },
  {
    "symbol": "SMPL",
    "total_score": 51.19,
    "raw_score": 54.27,
    "breakdown": {
      "price_quality": 3.97,
      "volume_quality": 12.0,
      "rvol": 0.91,
      "volume_acceleration": 4.66,
      "price_momentum": 0.68,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.73,
      "spread_liquidity": 4.4,
      "momentum_consistency": 2.71,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.03,
      "vwap": 10.9738,
      "vwap_slope": -0.0013,
      "rvol": 0.38,
      "volume_acceleration": 1.47,
      "premarket_volume": 189569.0,
      "momentum_pct": 0.46,
      "consolidation_tightness_pct": 0.64,
      "distance_from_pm_high_pct": 0.36,
      "extension_from_vwap_pct": 0.51,
      "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": 11.07,
    "pm_low": 10.91
  },
  {
    "symbol": "SB",
    "total_score": 51.02,
    "raw_score": 54.08,
    "breakdown": {
      "price_quality": 3.31,
      "volume_quality": 9.69,
      "rvol": 0.39,
      "volume_acceleration": 2.21,
      "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.6,
      "momentum_consistency": 1.76,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.315,
      "vwap": 8.3082,
      "vwap_slope": 0.0037,
      "rvol": 0.16,
      "volume_acceleration": 1.22,
      "premarket_volume": 80724.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.12,
      "distance_from_pm_high_pct": 0.36,
      "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": true,
      "vwap_rising": true
    },
    "pm_high": 8.345,
    "pm_low": 8.27
  },
  {
    "symbol": "SHLS",
    "total_score": 50.99,
    "raw_score": 54.05,
    "breakdown": {
      "price_quality": 2.25,
      "volume_quality": 12.0,
      "rvol": 5.3,
      "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.13,
      "spread_liquidity": 4.54,
      "momentum_consistency": 2.43,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.255,
      "vwap": 7.2801,
      "vwap_slope": -0.0018,
      "rvol": 1.99,
      "volume_acceleration": 2.02,
      "premarket_volume": 993031.0,
      "momentum_pct": -0.07,
      "consolidation_tightness_pct": 0.14,
      "distance_from_pm_high_pct": 1.16,
      "extension_from_vwap_pct": -0.34,
      "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": false,
      "vwap_rising": false
    },
    "pm_high": 7.34,
    "pm_low": 7.205
  },
  {
    "symbol": "XPER",
    "total_score": 50.98,
    "raw_score": 54.04,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 3.36,
      "rvol": 0.13,
      "volume_acceleration": 9.95,
      "price_momentum": 0.24,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 6,
      "spread_liquidity": 4.46,
      "momentum_consistency": 2.0,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.18,
      "vwap": 6.1697,
      "vwap_slope": 0.0113,
      "rvol": 0.06,
      "volume_acceleration": 1.99,
      "premarket_volume": 27963.0,
      "momentum_pct": 0.16,
      "consolidation_tightness_pct": 0.16,
      "distance_from_pm_high_pct": 0.0,
      "extension_from_vwap_pct": 0.17,
      "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.18,
    "pm_low": 6.15
  },
  {
    "symbol": "SPIR",
    "total_score": 50.9,
    "raw_score": 53.95,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 3.83,
      "rvol": 0.15,
      "volume_acceleration": 8.68,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.45,
      "spread_liquidity": 4.51,
      "momentum_consistency": 3.43,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.62,
      "vwap": 13.6053,
      "vwap_slope": 0.0562,
      "rvol": 0.06,
      "volume_acceleration": 1.87,
      "premarket_volume": 31887.0,
      "momentum_pct": -0.15,
      "consolidation_tightness_pct": 0.29,
      "distance_from_pm_high_pct": 0.73,
      "extension_from_vwap_pct": 0.11,
      "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.72,
    "pm_low": 13.49
  },
  {
    "symbol": "QXO",
    "total_score": 50.9,
    "raw_score": 53.95,
    "breakdown": {
      "price_quality": 1.66,
      "volume_quality": 12.0,
      "rvol": 11.09,
      "volume_acceleration": 3.62,
      "price_momentum": 0.06,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.52,
      "spread_liquidity": 4.75,
      "momentum_consistency": 2.85,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.335,
      "vwap": 13.3547,
      "vwap_slope": -0.0061,
      "rvol": 4.16,
      "volume_acceleration": 1.04,
      "premarket_volume": 2079739.0,
      "momentum_pct": 0.04,
      "consolidation_tightness_pct": 0.3,
      "distance_from_pm_high_pct": 0.63,
      "extension_from_vwap_pct": -0.15,
      "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.42,
    "pm_low": 13.31
  },
  {
    "symbol": "LFST",
    "total_score": 50.84,
    "raw_score": 53.89,
    "breakdown": {
      "price_quality": 2.3,
      "volume_quality": 12.0,
      "rvol": 1.44,
      "volume_acceleration": 5.46,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.76,
      "spread_liquidity": 4.74,
      "momentum_consistency": 2.58,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.695,
      "vwap": 12.7049,
      "vwap_slope": 0.0006,
      "rvol": 0.6,
      "volume_acceleration": 1.55,
      "premarket_volume": 300090.0,
      "momentum_pct": -0.16,
      "consolidation_tightness_pct": 0.28,
      "distance_from_pm_high_pct": 0.31,
      "extension_from_vwap_pct": -0.08,
      "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.735,
    "pm_low": 12.68
  },
  {
    "symbol": "GPK",
    "total_score": 50.79,
    "raw_score": 53.84,
    "breakdown": {
      "price_quality": 3.46,
      "volume_quality": 12.0,
      "rvol": 2.07,
      "volume_acceleration": 3.18,
      "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.71,
      "momentum_consistency": 3.17,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.535,
      "vwap": 11.5543,
      "vwap_slope": 0.0015,
      "rvol": 0.86,
      "volume_acceleration": 0.91,
      "premarket_volume": 430330.0,
      "momentum_pct": -0.17,
      "consolidation_tightness_pct": 0.35,
      "distance_from_pm_high_pct": 0.47,
      "extension_from_vwap_pct": -0.17,
      "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": true
    },
    "pm_high": 11.59,
    "pm_low": 11.51
  },
  {
    "symbol": "HELP",
    "total_score": 50.72,
    "raw_score": 53.76,
    "breakdown": {
      "price_quality": 2.49,
      "volume_quality": 12.0,
      "rvol": 1.8,
      "volume_acceleration": 3.85,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 4.79,
      "spread_liquidity": 4.73,
      "momentum_consistency": 4.49,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.51,
      "vwap": 12.5702,
      "vwap_slope": 0.0105,
      "rvol": 0.75,
      "volume_acceleration": 1.39,
      "premarket_volume": 375925.0,
      "momentum_pct": -0.79,
      "consolidation_tightness_pct": 0.86,
      "distance_from_pm_high_pct": 1.61,
      "extension_from_vwap_pct": -0.48,
      "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.715,
    "pm_low": 12.375
  },
  {
    "symbol": "GDOT",
    "total_score": 50.7,
    "raw_score": 53.74,
    "breakdown": {
      "price_quality": 1.64,
      "volume_quality": 3.35,
      "rvol": 0.13,
      "volume_acceleration": 9.93,
      "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": 1.56,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.355,
      "vwap": 13.35,
      "vwap_slope": 0.0004,
      "rvol": 0.06,
      "volume_acceleration": 1.99,
      "premarket_volume": 27885.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.04,
      "distance_from_pm_high_pct": 0.04,
      "extension_from_vwap_pct": 0.04,
      "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.36,
    "pm_low": 13.34
  },
  {
    "symbol": "DRVN",
    "total_score": 50.62,
    "raw_score": 53.66,
    "breakdown": {
      "price_quality": 2.04,
      "volume_quality": 9.15,
      "rvol": 0.37,
      "volume_acceleration": 2.92,
      "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.49,
      "momentum_consistency": 2.35,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.96,
      "vwap": 12.9023,
      "vwap_slope": 0.0134,
      "rvol": 0.15,
      "volume_acceleration": 0.84,
      "premarket_volume": 76285.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.08,
      "distance_from_pm_high_pct": 0.08,
      "extension_from_vwap_pct": 0.45,
      "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": 12.97,
    "pm_low": 12.85
  },
  {
    "symbol": "BVS",
    "total_score": 50.62,
    "raw_score": 53.66,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 9.16,
      "rvol": 0.37,
      "volume_acceleration": 2.56,
      "price_momentum": 0.05,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.92,
      "spread_liquidity": 4.77,
      "momentum_consistency": 2.93,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.335,
      "vwap": 14.2798,
      "vwap_slope": 0.0149,
      "rvol": 0.15,
      "volume_acceleration": 0.74,
      "premarket_volume": 76353.0,
      "momentum_pct": 0.03,
      "consolidation_tightness_pct": 0.1,
      "distance_from_pm_high_pct": 0.1,
      "extension_from_vwap_pct": 0.39,
      "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.35,
    "pm_low": 14.2
  },
  {
    "symbol": "TXO",
    "total_score": 50.6,
    "raw_score": 53.63,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 3.26,
      "rvol": 0.13,
      "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.05,
      "momentum_consistency": 2.4,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.07,
      "vwap": 14.0678,
      "vwap_slope": 0.0032,
      "rvol": 0.05,
      "volume_acceleration": 3.18,
      "premarket_volume": 27159.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.21,
      "distance_from_pm_high_pct": 0.14,
      "extension_from_vwap_pct": 0.02,
      "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": true
    },
    "pm_high": 14.09,
    "pm_low": 14.05
  },
  {
    "symbol": "VSTS",
    "total_score": 50.57,
    "raw_score": 53.6,
    "breakdown": {
      "price_quality": 2.0,
      "volume_quality": 6.98,
      "rvol": 0.28,
      "volume_acceleration": 5.0,
      "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.74,
      "momentum_consistency": 2.26,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.0,
      "vwap": 12.9794,
      "vwap_slope": 0.0128,
      "rvol": 0.12,
      "volume_acceleration": 1.5,
      "premarket_volume": 58201.0,
      "momentum_pct": -0.08,
      "consolidation_tightness_pct": 0.12,
      "distance_from_pm_high_pct": 0.08,
      "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": true,
      "vwap_rising": true
    },
    "pm_high": 13.01,
    "pm_low": 12.935
  },
  {
    "symbol": "FWDI",
    "total_score": 50.46,
    "raw_score": 53.49,
    "breakdown": {
      "price_quality": 0.0,
      "volume_quality": 10.38,
      "rvol": 0.42,
      "volume_acceleration": 3.48,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.48,
      "spread_liquidity": 4.33,
      "momentum_consistency": 3.0,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 4.995,
      "vwap": 4.9907,
      "vwap_slope": 0.0048,
      "rvol": 0.17,
      "volume_acceleration": 1.0,
      "premarket_volume": 86533.0,
      "momentum_pct": -0.2,
      "consolidation_tightness_pct": 0.5,
      "distance_from_pm_high_pct": 0.7,
      "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": true,
      "vwap_rising": true
    },
    "pm_high": 5.03,
    "pm_low": 4.95
  },
  {
    "symbol": "ALIT",
    "total_score": 50.35,
    "raw_score": 53.37,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 5.65,
      "rvol": 0.23,
      "volume_acceleration": 3.75,
      "price_momentum": 0.28,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.81,
      "spread_liquidity": 4.27,
      "momentum_consistency": 3.1,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.625,
      "vwap": 13.6061,
      "vwap_slope": -0.0046,
      "rvol": 0.09,
      "volume_acceleration": 1.08,
      "premarket_volume": 47103.0,
      "momentum_pct": 0.18,
      "consolidation_tightness_pct": 0.33,
      "distance_from_pm_high_pct": 0.26,
      "extension_from_vwap_pct": 0.14,
      "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": true,
      "vwap_rising": false
    },
    "pm_high": 13.66,
    "pm_low": 13.555
  },
  {
    "symbol": "VG",
    "total_score": 50.34,
    "raw_score": 53.36,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 8.48,
      "volume_acceleration": 5.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.45,
      "spread_liquidity": 4.77,
      "momentum_consistency": 3.39,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.255,
      "vwap": 14.3146,
      "vwap_slope": -0.0092,
      "rvol": 3.18,
      "volume_acceleration": 1.54,
      "premarket_volume": 1590024.0,
      "momentum_pct": -0.14,
      "consolidation_tightness_pct": 0.28,
      "distance_from_pm_high_pct": 0.73,
      "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": false,
      "vwap_rising": false
    },
    "pm_high": 14.36,
    "pm_low": 14.255
  },
  {
    "symbol": "OGN",
    "total_score": 50.13,
    "raw_score": 53.13,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 5.12,
      "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.97,
      "spread_liquidity": 4.76,
      "momentum_consistency": 1.38,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.735,
      "vwap": 13.7378,
      "vwap_slope": -0.0001,
      "rvol": 1.92,
      "volume_acceleration": 18.28,
      "premarket_volume": 960603.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.07,
      "distance_from_pm_high_pct": 0.04,
      "extension_from_vwap_pct": -0.02,
      "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": false,
      "vwap_rising": false
    },
    "pm_high": 13.74,
    "pm_low": 13.73
  },
  {
    "symbol": "SMWB",
    "total_score": 50.07,
    "raw_score": 53.07,
    "breakdown": {
      "price_quality": 3.12,
      "volume_quality": 8.28,
      "rvol": 0.33,
      "volume_acceleration": 1.11,
      "price_momentum": 0.18,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.72,
      "spread_liquidity": 4.59,
      "momentum_consistency": 3.33,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.12,
      "vwap": 8.0613,
      "vwap_slope": 0.008,
      "rvol": 0.14,
      "volume_acceleration": 0.32,
      "premarket_volume": 69025.0,
      "momentum_pct": 0.12,
      "consolidation_tightness_pct": 0.31,
      "distance_from_pm_high_pct": 0.37,
      "extension_from_vwap_pct": 0.73,
      "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.15,
    "pm_low": 8.01
  },
  {
    "symbol": "TK",
    "total_score": 49.95,
    "raw_score": 52.95,
    "breakdown": {
      "price_quality": 1.76,
      "volume_quality": 8.24,
      "rvol": 0.33,
      "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.83,
      "spread_liquidity": 4.5,
      "momentum_consistency": 3.43,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.24,
      "vwap": 13.1992,
      "vwap_slope": 0.0203,
      "rvol": 0.14,
      "volume_acceleration": 0.71,
      "premarket_volume": 68627.0,
      "momentum_pct": -0.08,
      "consolidation_tightness_pct": 0.23,
      "distance_from_pm_high_pct": 0.23,
      "extension_from_vwap_pct": 0.31,
      "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.2699,
    "pm_low": 13.14
  },
  {
    "symbol": "GO",
    "total_score": 49.92,
    "raw_score": 52.91,
    "breakdown": {
      "price_quality": 3.93,
      "volume_quality": 12.0,
      "rvol": 1.04,
      "volume_acceleration": 4.05,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.66,
      "spread_liquidity": 4.7,
      "momentum_consistency": 1.93,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.07,
      "vwap": 11.0783,
      "vwap_slope": 0.0017,
      "rvol": 0.43,
      "volume_acceleration": 1.4,
      "premarket_volume": 217191.0,
      "momentum_pct": -0.05,
      "consolidation_tightness_pct": 0.23,
      "distance_from_pm_high_pct": 0.45,
      "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": true
    },
    "pm_high": 11.12,
    "pm_low": 11.035
  },
  {
    "symbol": "OPFI",
    "total_score": 49.83,
    "raw_score": 52.82,
    "breakdown": {
      "price_quality": 2.17,
      "volume_quality": 6.32,
      "rvol": 0.25,
      "volume_acceleration": 3.95,
      "price_momentum": 0.31,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 6,
      "spread_liquidity": 4.54,
      "momentum_consistency": 2.87,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.175,
      "vwap": 7.1562,
      "vwap_slope": 0.0028,
      "rvol": 0.11,
      "volume_acceleration": 1.14,
      "premarket_volume": 52700.0,
      "momentum_pct": 0.21,
      "consolidation_tightness_pct": 0.28,
      "distance_from_pm_high_pct": 0.0,
      "extension_from_vwap_pct": 0.26,
      "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.175,
    "pm_low": 7.125
  },
  {
    "symbol": "GSBD",
    "total_score": 49.8,
    "raw_score": 52.79,
    "breakdown": {
      "price_quality": 4.96,
      "volume_quality": 12.0,
      "rvol": 0.67,
      "volume_acceleration": 2.59,
      "price_momentum": 0.11,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.88,
      "spread_liquidity": 4.67,
      "momentum_consistency": 2.31,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.9636,
      "vwap": 9.9646,
      "vwap_slope": 0.0001,
      "rvol": 0.28,
      "volume_acceleration": 0.74,
      "premarket_volume": 140095.0,
      "momentum_pct": 0.07,
      "consolidation_tightness_pct": 0.15,
      "distance_from_pm_high_pct": 0.16,
      "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": false,
      "vwap_rising": true
    },
    "pm_high": 9.98,
    "pm_low": 9.95
  },
  {
    "symbol": "WEST",
    "total_score": 49.53,
    "raw_score": 52.51,
    "breakdown": {
      "price_quality": 3.31,
      "volume_quality": 7.63,
      "rvol": 0.31,
      "volume_acceleration": 1.59,
      "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.6,
      "momentum_consistency": 3.12,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.31,
      "vwap": 8.2953,
      "vwap_slope": 0.0047,
      "rvol": 0.13,
      "volume_acceleration": 0.46,
      "premarket_volume": 63608.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.24,
      "distance_from_pm_high_pct": 0.6,
      "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.36,
    "pm_low": 8.245
  },
  {
    "symbol": "ASPN",
    "total_score": 49.28,
    "raw_score": 52.24,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 9.52,
      "rvol": 0.38,
      "volume_acceleration": 2.12,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.71,
      "spread_liquidity": 4.35,
      "momentum_consistency": 2.26,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.125,
      "vwap": 5.1173,
      "vwap_slope": 0.0037,
      "rvol": 0.16,
      "volume_acceleration": 0.61,
      "premarket_volume": 79355.0,
      "momentum_pct": -0.19,
      "consolidation_tightness_pct": 0.19,
      "distance_from_pm_high_pct": 0.39,
      "extension_from_vwap_pct": 0.15,
      "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.145,
    "pm_low": 5.085
  },
  {
    "symbol": "ECVT",
    "total_score": 49.24,
    "raw_score": 52.2,
    "breakdown": {
      "price_quality": 4.62,
      "volume_quality": 12.0,
      "rvol": 0.55,
      "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.71,
      "spread_liquidity": 4.68,
      "momentum_consistency": 2.24,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.38,
      "vwap": 10.3941,
      "vwap_slope": -0.0056,
      "rvol": 0.23,
      "volume_acceleration": 2.75,
      "premarket_volume": 114133.0,
      "momentum_pct": -0.29,
      "consolidation_tightness_pct": 0.53,
      "distance_from_pm_high_pct": 0.38,
      "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": false,
      "vwap_rising": false
    },
    "pm_high": 10.42,
    "pm_low": 10.365
  },
  {
    "symbol": "ABSI",
    "total_score": 49.21,
    "raw_score": 52.16,
    "breakdown": {
      "price_quality": 4.4,
      "volume_quality": 12.0,
      "rvol": 1.0,
      "volume_acceleration": 3.0,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.49,
      "spread_liquidity": 4.65,
      "momentum_consistency": 2.03,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.405,
      "vwap": 9.4194,
      "vwap_slope": 0.0052,
      "rvol": 0.41,
      "volume_acceleration": 1.3,
      "premarket_volume": 207358.0,
      "momentum_pct": -0.32,
      "consolidation_tightness_pct": 0.53,
      "distance_from_pm_high_pct": 0.69,
      "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": true
    },
    "pm_high": 9.47,
    "pm_low": 9.36
  },
  {
    "symbol": "KRNY",
    "total_score": 49.11,
    "raw_score": 52.06,
    "breakdown": {
      "price_quality": 4.68,
      "volume_quality": 12.0,
      "rvol": 0.64,
      "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.69,
      "spread_liquidity": 4.66,
      "momentum_consistency": 2.0,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.675,
      "vwap": 9.6931,
      "vwap_slope": -0.0071,
      "rvol": 0.27,
      "volume_acceleration": 12.95,
      "premarket_volume": 133089.0,
      "momentum_pct": -0.1,
      "consolidation_tightness_pct": 0.15,
      "distance_from_pm_high_pct": 0.41,
      "extension_from_vwap_pct": -0.19,
      "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.715,
    "pm_low": 9.67
  },
  {
    "symbol": "XERS",
    "total_score": 49.03,
    "raw_score": 51.97,
    "breakdown": {
      "price_quality": 3.69,
      "volume_quality": 12.0,
      "rvol": 0.58,
      "volume_acceleration": 3.72,
      "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.62,
      "momentum_consistency": 1.9,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.685,
      "vwap": 8.6886,
      "vwap_slope": 0.0007,
      "rvol": 0.24,
      "volume_acceleration": 1.07,
      "premarket_volume": 121472.0,
      "momentum_pct": -0.12,
      "consolidation_tightness_pct": 0.12,
      "distance_from_pm_high_pct": 0.17,
      "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": true
    },
    "pm_high": 8.7,
    "pm_low": 8.675
  },
  {
    "symbol": "IMRX",
    "total_score": 48.97,
    "raw_score": 51.91,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 3.65,
      "rvol": 0.15,
      "volume_acceleration": 7.05,
      "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.37,
      "momentum_consistency": 2.87,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.285,
      "vwap": 5.2604,
      "vwap_slope": 0.0111,
      "rvol": 0.06,
      "volume_acceleration": 1.71,
      "premarket_volume": 30384.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.09,
      "distance_from_pm_high_pct": 0.09,
      "extension_from_vwap_pct": 0.47,
      "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.29,
    "pm_low": 5.23
  },
  {
    "symbol": "ACVA",
    "total_score": 48.95,
    "raw_score": 51.89,
    "breakdown": {
      "price_quality": 2.57,
      "volume_quality": 12.0,
      "rvol": 1.35,
      "volume_acceleration": 3.67,
      "price_momentum": 0.4,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.7,
      "spread_liquidity": 4.56,
      "momentum_consistency": 2.44,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.565,
      "vwap": 7.5613,
      "vwap_slope": -0.0025,
      "rvol": 0.56,
      "volume_acceleration": 1.05,
      "premarket_volume": 281636.0,
      "momentum_pct": 0.27,
      "consolidation_tightness_pct": 0.26,
      "distance_from_pm_high_pct": 0.39,
      "extension_from_vwap_pct": 0.05,
      "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": false
    },
    "pm_high": 7.595,
    "pm_low": 7.51
  },
  {
    "symbol": "VSTM",
    "total_score": 48.91,
    "raw_score": 51.85,
    "breakdown": {
      "price_quality": 1.7,
      "volume_quality": 12.0,
      "rvol": 0.62,
      "volume_acceleration": 5.45,
      "price_momentum": 0.11,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.72,
      "spread_liquidity": 4.5,
      "momentum_consistency": 2.55,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.695,
      "vwap": 6.6947,
      "vwap_slope": -0.0014,
      "rvol": 0.26,
      "volume_acceleration": 1.54,
      "premarket_volume": 128799.0,
      "momentum_pct": 0.07,
      "consolidation_tightness_pct": 0.37,
      "distance_from_pm_high_pct": 0.37,
      "extension_from_vwap_pct": 0.01,
      "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": 6.72,
    "pm_low": 6.67
  },
  {
    "symbol": "LION",
    "total_score": 48.72,
    "raw_score": 51.64,
    "breakdown": {
      "price_quality": 3.47,
      "volume_quality": 12.0,
      "rvol": 0.94,
      "volume_acceleration": 2.48,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.58,
      "spread_liquidity": 4.71,
      "momentum_consistency": 2.86,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.525,
      "vwap": 11.5528,
      "vwap_slope": 0.0007,
      "rvol": 0.39,
      "volume_acceleration": 1.25,
      "premarket_volume": 195671.0,
      "momentum_pct": -0.3,
      "consolidation_tightness_pct": 0.3,
      "distance_from_pm_high_pct": 0.56,
      "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": false,
      "vwap_rising": true
    },
    "pm_high": 11.59,
    "pm_low": 11.525
  },
  {
    "symbol": "BBDC",
    "total_score": 48.69,
    "raw_score": 51.61,
    "breakdown": {
      "price_quality": 4.41,
      "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.76,
      "spread_liquidity": 4.65,
      "momentum_consistency": 1.82,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.415,
      "vwap": 9.4307,
      "vwap_slope": -0.0012,
      "rvol": 0.24,
      "volume_acceleration": 3.64,
      "premarket_volume": 119120.0,
      "momentum_pct": -0.05,
      "consolidation_tightness_pct": 0.11,
      "distance_from_pm_high_pct": 0.32,
      "extension_from_vwap_pct": -0.17,
      "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.445,
    "pm_low": 9.41
  },
  {
    "symbol": "ADMA",
    "total_score": 48.69,
    "raw_score": 51.62,
    "breakdown": {
      "price_quality": 4.72,
      "volume_quality": 12.0,
      "rvol": 1.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.27,
      "spread_liquidity": 4.66,
      "momentum_consistency": 1.38,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.725,
      "vwap": 9.7791,
      "vwap_slope": -0.0077,
      "rvol": 0.49,
      "volume_acceleration": 2.08,
      "premarket_volume": 244842.0,
      "momentum_pct": -0.05,
      "consolidation_tightness_pct": 0.1,
      "distance_from_pm_high_pct": 0.97,
      "extension_from_vwap_pct": -0.55,
      "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.82,
    "pm_low": 9.72
  },
  {
    "symbol": "NMR",
    "total_score": 48.68,
    "raw_score": 51.6,
    "breakdown": {
      "price_quality": 4.46,
      "volume_quality": 12.0,
      "rvol": 0.75,
      "volume_acceleration": 10,
      "price_momentum": 0.08,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.84,
      "spread_liquidity": 4.65,
      "momentum_consistency": 1.41,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.465,
      "vwap": 9.4716,
      "vwap_slope": -0.0027,
      "rvol": 0.31,
      "volume_acceleration": 2.23,
      "premarket_volume": 156831.0,
      "momentum_pct": 0.05,
      "consolidation_tightness_pct": 0.11,
      "distance_from_pm_high_pct": 0.21,
      "extension_from_vwap_pct": -0.07,
      "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.485,
    "pm_low": 9.46
  },
  {
    "symbol": "SSTK",
    "total_score": 48.65,
    "raw_score": 51.57,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 6.17,
      "rvol": 0.25,
      "volume_acceleration": 3.94,
      "price_momentum": 0.28,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 6,
      "spread_liquidity": 3.76,
      "momentum_consistency": 3.27,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.365,
      "vwap": 5.3224,
      "vwap_slope": 0.0169,
      "rvol": 0.1,
      "volume_acceleration": 1.13,
      "premarket_volume": 51385.0,
      "momentum_pct": 0.19,
      "consolidation_tightness_pct": 0.37,
      "distance_from_pm_high_pct": 0.0,
      "extension_from_vwap_pct": 0.8,
      "spread_pct": 0.37
    },
    "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.365,
    "pm_low": 5.27
  },
  {
    "symbol": "UTZ",
    "total_score": 48.57,
    "raw_score": 51.49,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 3.01,
      "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.92,
      "spread_liquidity": 4.76,
      "momentum_consistency": 1.89,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.125,
      "vwap": 14.1299,
      "vwap_slope": -0.0029,
      "rvol": 1.26,
      "volume_acceleration": 2.41,
      "premarket_volume": 627728.0,
      "momentum_pct": -0.04,
      "consolidation_tightness_pct": 0.11,
      "distance_from_pm_high_pct": 0.11,
      "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.14,
    "pm_low": 14.12
  },
  {
    "symbol": "CGNT",
    "total_score": 48.57,
    "raw_score": 51.48,
    "breakdown": {
      "price_quality": 3.67,
      "volume_quality": 12.0,
      "rvol": 0.73,
      "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.66,
      "spread_liquidity": 4.62,
      "momentum_consistency": 2.42,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.67,
      "vwap": 8.6775,
      "vwap_slope": -0.0099,
      "rvol": 0.3,
      "volume_acceleration": 3.94,
      "premarket_volume": 151856.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.29,
      "distance_from_pm_high_pct": 0.46,
      "extension_from_vwap_pct": -0.09,
      "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.71,
    "pm_low": 8.65
  },
  {
    "symbol": "NEXT",
    "total_score": 48.53,
    "raw_score": 51.44,
    "breakdown": {
      "price_quality": 1.99,
      "volume_quality": 12.0,
      "rvol": 0.95,
      "volume_acceleration": 3.6,
      "price_momentum": 0.54,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.57,
      "spread_liquidity": 4.52,
      "momentum_consistency": 3.08,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.985,
      "vwap": 6.9778,
      "vwap_slope": -0.003,
      "rvol": 0.4,
      "volume_acceleration": 1.03,
      "premarket_volume": 198124.0,
      "momentum_pct": 0.36,
      "consolidation_tightness_pct": 0.36,
      "distance_from_pm_high_pct": 0.57,
      "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": false
    },
    "pm_high": 7.025,
    "pm_low": 6.955
  },
  {
    "symbol": "EVMN",
    "total_score": 48.47,
    "raw_score": 51.38,
    "breakdown": {
      "price_quality": 1.52,
      "volume_quality": 7.01,
      "rvol": 0.28,
      "volume_acceleration": 2.4,
      "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.51,
      "momentum_consistency": 3.53,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.48,
      "vwap": 13.4095,
      "vwap_slope": 0.0288,
      "rvol": 0.12,
      "volume_acceleration": 1.24,
      "premarket_volume": 58441.0,
      "momentum_pct": -0.11,
      "consolidation_tightness_pct": 0.15,
      "distance_from_pm_high_pct": 0.37,
      "extension_from_vwap_pct": 0.53,
      "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.53,
    "pm_low": 13.29
  },
  {
    "symbol": "XGN",
    "total_score": 48.44,
    "raw_score": 51.35,
    "breakdown": {
      "price_quality": 2.58,
      "volume_quality": 12.0,
      "rvol": 0.55,
      "volume_acceleration": 1.55,
      "price_momentum": 0.4,
      "price_structure": 12,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 4.64,
      "spread_liquidity": 4.12,
      "momentum_consistency": 3.51,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.585,
      "vwap": 7.595,
      "vwap_slope": -0.0043,
      "rvol": 0.23,
      "volume_acceleration": 0.44,
      "premarket_volume": 113956.0,
      "momentum_pct": 0.26,
      "consolidation_tightness_pct": 0.61,
      "distance_from_pm_high_pct": 1.81,
      "extension_from_vwap_pct": -0.13,
      "spread_pct": 0.26
    },
    "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.725,
    "pm_low": 7.5
  },
  {
    "symbol": "BHK",
    "total_score": 48.1,
    "raw_score": 50.99,
    "breakdown": {
      "price_quality": 4.01,
      "volume_quality": 2.78,
      "rvol": 0.11,
      "volume_acceleration": 3.73,
      "price_momentum": 0.17,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.96,
      "spread_liquidity": 4.63,
      "momentum_consistency": 3.2,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.005,
      "vwap": 8.998,
      "vwap_slope": 0.008,
      "rvol": 0.05,
      "volume_acceleration": 1.37,
      "premarket_volume": 23197.0,
      "momentum_pct": 0.11,
      "consolidation_tightness_pct": 0.17,
      "distance_from_pm_high_pct": 0.06,
      "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": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 9.01,
    "pm_low": 8.9809
  },
  {
    "symbol": "SWIM",
    "total_score": 48.06,
    "raw_score": 50.95,
    "breakdown": {
      "price_quality": 2.04,
      "volume_quality": 5.52,
      "rvol": 0.22,
      "volume_acceleration": 3.57,
      "price_momentum": 0.43,
      "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.23,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.045,
      "vwap": 7.0107,
      "vwap_slope": 0.0061,
      "rvol": 0.09,
      "volume_acceleration": 1.36,
      "premarket_volume": 45999.0,
      "momentum_pct": 0.28,
      "consolidation_tightness_pct": 0.5,
      "distance_from_pm_high_pct": 0.0,
      "extension_from_vwap_pct": 0.49,
      "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.045,
    "pm_low": 6.99
  },
  {
    "symbol": "CAL",
    "total_score": 48.05,
    "raw_score": 50.93,
    "breakdown": {
      "price_quality": 2.13,
      "volume_quality": 6.06,
      "rvol": 0.24,
      "volume_acceleration": 2.27,
      "price_momentum": 0.35,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.94,
      "spread_liquidity": 4.22,
      "momentum_consistency": 3.32,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.87,
      "vwap": 12.8087,
      "vwap_slope": 0.0174,
      "rvol": 0.1,
      "volume_acceleration": 1.23,
      "premarket_volume": 50467.0,
      "momentum_pct": 0.23,
      "consolidation_tightness_pct": 0.39,
      "distance_from_pm_high_pct": 0.08,
      "extension_from_vwap_pct": 0.48,
      "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": 12.88,
    "pm_low": 12.715
  },
  {
    "symbol": "LTBR",
    "total_score": 47.99,
    "raw_score": 50.87,
    "breakdown": {
      "price_quality": 2.67,
      "volume_quality": 5.67,
      "rvol": 0.23,
      "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": 5.76,
      "spread_liquidity": 4.57,
      "momentum_consistency": 2.38,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.675,
      "vwap": 7.6769,
      "vwap_slope": 0.0002,
      "rvol": 0.09,
      "volume_acceleration": 3.07,
      "premarket_volume": 47214.0,
      "momentum_pct": -0.2,
      "consolidation_tightness_pct": 0.52,
      "distance_from_pm_high_pct": 0.32,
      "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.7,
    "pm_low": 7.65
  },
  {
    "symbol": "VMET",
    "total_score": 47.6,
    "raw_score": 50.45,
    "breakdown": {
      "price_quality": 4.54,
      "volume_quality": 2.76,
      "rvol": 0.11,
      "volume_acceleration": 3.59,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.79,
      "spread_liquidity": 4.36,
      "momentum_consistency": 2.91,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.46,
      "vwap": 10.4505,
      "vwap_slope": 0.0077,
      "rvol": 0.05,
      "volume_acceleration": 1.36,
      "premarket_volume": 22970.0,
      "momentum_pct": -0.1,
      "consolidation_tightness_pct": 0.1,
      "distance_from_pm_high_pct": 0.29,
      "extension_from_vwap_pct": 0.09,
      "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": 10.49,
    "pm_low": 10.41
  },
  {
    "symbol": "SSL",
    "total_score": 47.56,
    "raw_score": 50.41,
    "breakdown": {
      "price_quality": 2.73,
      "volume_quality": 5.05,
      "rvol": 0.2,
      "volume_acceleration": 3.3,
      "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.1,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.27,
      "vwap": 12.2664,
      "vwap_slope": 0.0026,
      "rvol": 0.08,
      "volume_acceleration": 0.95,
      "premarket_volume": 42094.0,
      "momentum_pct": -0.06,
      "consolidation_tightness_pct": 0.12,
      "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": true,
      "vwap_rising": true
    },
    "pm_high": 12.285,
    "pm_low": 12.255
  },
  {
    "symbol": "BOC",
    "total_score": 47.51,
    "raw_score": 50.36,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 5.56,
      "rvol": 0.22,
      "volume_acceleration": 1.73,
      "price_momentum": 0.05,
      "price_structure": 12,
      "vwap_structure": 1.2,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.62,
      "spread_liquidity": 3.8,
      "momentum_consistency": 2.67,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.855,
      "vwap": 13.8667,
      "vwap_slope": 0.0088,
      "rvol": 0.09,
      "volume_acceleration": 0.5,
      "premarket_volume": 46335.0,
      "momentum_pct": 0.04,
      "consolidation_tightness_pct": 0.36,
      "distance_from_pm_high_pct": 0.5,
      "extension_from_vwap_pct": -0.08,
      "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": false,
      "vwap_rising": true
    },
    "pm_high": 13.925,
    "pm_low": 13.82
  },
  {
    "symbol": "OPTX",
    "total_score": 47.43,
    "raw_score": 50.28,
    "breakdown": {
      "price_quality": 3.56,
      "volume_quality": 6.32,
      "rvol": 0.25,
      "volume_acceleration": 0.5,
      "price_momentum": 1.06,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.83,
      "spread_liquidity": 2.66,
      "momentum_consistency": 3.69,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.56,
      "vwap": 8.4154,
      "vwap_slope": 0.011,
      "rvol": 0.11,
      "volume_acceleration": 0.15,
      "premarket_volume": 52698.0,
      "momentum_pct": 0.71,
      "consolidation_tightness_pct": 1.05,
      "distance_from_pm_high_pct": 0.23,
      "extension_from_vwap_pct": 1.72,
      "spread_pct": 0.7
    },
    "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.58,
    "pm_low": 8.33
  },
  {
    "symbol": "ALLT",
    "total_score": 47.37,
    "raw_score": 50.22,
    "breakdown": {
      "price_quality": 2.5,
      "volume_quality": 3.28,
      "rvol": 0.13,
      "volume_acceleration": 4.62,
      "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.11,
      "momentum_consistency": 3.43,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.495,
      "vwap": 7.4893,
      "vwap_slope": 0.0072,
      "rvol": 0.05,
      "volume_acceleration": 1.46,
      "premarket_volume": 27316.0,
      "momentum_pct": -0.07,
      "consolidation_tightness_pct": 0.2,
      "distance_from_pm_high_pct": 0.33,
      "extension_from_vwap_pct": 0.08,
      "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.52,
    "pm_low": 7.47
  },
  {
    "symbol": "TROX",
    "total_score": 47.35,
    "raw_score": 50.19,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 0.8,
      "volume_acceleration": 4.2,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.6,
      "spread_liquidity": 4.41,
      "momentum_consistency": 2.48,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.615,
      "vwap": 5.6129,
      "vwap_slope": -0.0004,
      "rvol": 0.33,
      "volume_acceleration": 1.42,
      "premarket_volume": 166948.0,
      "momentum_pct": -0.09,
      "consolidation_tightness_pct": 0.27,
      "distance_from_pm_high_pct": 0.53,
      "extension_from_vwap_pct": 0.04,
      "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.645,
    "pm_low": 5.595
  },
  {
    "symbol": "PRTA",
    "total_score": 47.34,
    "raw_score": 50.18,
    "breakdown": {
      "price_quality": 3.98,
      "volume_quality": 2.78,
      "rvol": 0.11,
      "volume_acceleration": 2.73,
      "price_momentum": 0.33,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.92,
      "spread_liquidity": 4.63,
      "momentum_consistency": 3.29,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.98,
      "vwap": 8.9311,
      "vwap_slope": 0.0183,
      "rvol": 0.05,
      "volume_acceleration": 0.78,
      "premarket_volume": 23163.0,
      "momentum_pct": 0.22,
      "consolidation_tightness_pct": 0.32,
      "distance_from_pm_high_pct": 0.1,
      "extension_from_vwap_pct": 0.55,
      "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.989,
    "pm_low": 8.8899
  },
  {
    "symbol": "ARCO",
    "total_score": 47.22,
    "raw_score": 50.06,
    "breakdown": {
      "price_quality": 2.79,
      "volume_quality": 12.0,
      "rvol": 0.64,
      "volume_acceleration": 3.0,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.86,
      "spread_liquidity": 4.57,
      "momentum_consistency": 1.6,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.795,
      "vwap": 7.7958,
      "vwap_slope": 0.0001,
      "rvol": 0.27,
      "volume_acceleration": 0.86,
      "premarket_volume": 132898.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.06,
      "distance_from_pm_high_pct": 0.19,
      "extension_from_vwap_pct": -0.01,
      "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.81,
    "pm_low": 7.78
  },
  {
    "symbol": "QDEL",
    "total_score": 47.15,
    "raw_score": 49.98,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 2.38,
      "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": 4.4,
      "spread_liquidity": 4.54,
      "momentum_consistency": 2.76,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.495,
      "vwap": 14.6279,
      "vwap_slope": -0.0179,
      "rvol": 0.99,
      "volume_acceleration": 2.88,
      "premarket_volume": 495686.0,
      "momentum_pct": -0.31,
      "consolidation_tightness_pct": 0.79,
      "distance_from_pm_high_pct": 2.13,
      "extension_from_vwap_pct": -0.91,
      "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": 14.81,
    "pm_low": 14.495
  },
  {
    "symbol": "BHC",
    "total_score": 47.13,
    "raw_score": 49.96,
    "breakdown": {
      "price_quality": 1.86,
      "volume_quality": 12.0,
      "rvol": 0.96,
      "volume_acceleration": 3.65,
      "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.52,
      "momentum_consistency": 1.6,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.855,
      "vwap": 6.8571,
      "vwap_slope": 0.0002,
      "rvol": 0.4,
      "volume_acceleration": 1.05,
      "premarket_volume": 199754.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.15,
      "distance_from_pm_high_pct": 0.29,
      "extension_from_vwap_pct": -0.03,
      "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.875,
    "pm_low": 6.835
  },
  {
    "symbol": "EOLS",
    "total_score": 47.09,
    "raw_score": 49.92,
    "breakdown": {
      "price_quality": 3.37,
      "volume_quality": 5.04,
      "rvol": 0.2,
      "volume_acceleration": 10,
      "price_momentum": 0.36,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 6,
      "spread_liquidity": 3.8,
      "momentum_consistency": 1.95,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.37,
      "vwap": 8.3548,
      "vwap_slope": -0.0011,
      "rvol": 0.08,
      "volume_acceleration": 3.55,
      "premarket_volume": 41963.0,
      "momentum_pct": 0.24,
      "consolidation_tightness_pct": 0.24,
      "distance_from_pm_high_pct": 0.0,
      "extension_from_vwap_pct": 0.18,
      "spread_pct": 0.36
    },
    "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.37,
    "pm_low": 8.34
  },
  {
    "symbol": "OEC",
    "total_score": 47.07,
    "raw_score": 49.9,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 5.87,
      "rvol": 0.23,
      "volume_acceleration": 2.65,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.63,
      "spread_liquidity": 4.45,
      "momentum_consistency": 3.16,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.12,
      "vwap": 6.0881,
      "vwap_slope": 0.0082,
      "rvol": 0.1,
      "volume_acceleration": 1.27,
      "premarket_volume": 48885.0,
      "momentum_pct": -0.33,
      "consolidation_tightness_pct": 0.57,
      "distance_from_pm_high_pct": 0.49,
      "extension_from_vwap_pct": 0.52,
      "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.15,
    "pm_low": 6.055
  },
  {
    "symbol": "ASYS",
    "total_score": 47.0,
    "raw_score": 49.82,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 4.6,
      "rvol": 0.18,
      "volume_acceleration": 3.83,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.44,
      "spread_liquidity": 4.08,
      "momentum_consistency": 3.79,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.56,
      "vwap": 14.4636,
      "vwap_slope": 0.0465,
      "rvol": 0.08,
      "volume_acceleration": 1.1,
      "premarket_volume": 38370.0,
      "momentum_pct": -0.31,
      "consolidation_tightness_pct": 0.96,
      "distance_from_pm_high_pct": 0.75,
      "extension_from_vwap_pct": 0.67,
      "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": 14.67,
    "pm_low": 14.32
  },
  {
    "symbol": "EMBC",
    "total_score": 46.85,
    "raw_score": 49.67,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 0.85,
      "volume_acceleration": 1.48,
      "price_momentum": 0.54,
      "price_structure": 12,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.13,
      "spread_liquidity": 4.4,
      "momentum_consistency": 1.76,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.545,
      "vwap": 5.5723,
      "vwap_slope": -0.0057,
      "rvol": 0.35,
      "volume_acceleration": 0.43,
      "premarket_volume": 177445.0,
      "momentum_pct": 0.36,
      "consolidation_tightness_pct": 0.45,
      "distance_from_pm_high_pct": 1.16,
      "extension_from_vwap_pct": -0.49,
      "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": false,
      "vwap_rising": false
    },
    "pm_high": 5.61,
    "pm_low": 5.52
  },
  {
    "symbol": "PHR",
    "total_score": 46.82,
    "raw_score": 49.63,
    "breakdown": {
      "price_quality": 2.95,
      "volume_quality": 10.37,
      "rvol": 0.41,
      "volume_acceleration": 2.83,
      "price_momentum": 0.44,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.94,
      "spread_liquidity": 4.45,
      "momentum_consistency": 3.04,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.05,
      "vwap": 12.0287,
      "vwap_slope": -0.0037,
      "rvol": 0.17,
      "volume_acceleration": 1.28,
      "premarket_volume": 86411.0,
      "momentum_pct": 0.29,
      "consolidation_tightness_pct": 0.46,
      "distance_from_pm_high_pct": 0.08,
      "extension_from_vwap_pct": 0.18,
      "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": 12.06,
    "pm_low": 11.99
  },
  {
    "symbol": "PDYN",
    "total_score": 46.81,
    "raw_score": 49.62,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 6.07,
      "rvol": 0.24,
      "volume_acceleration": 1.68,
      "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.45,
      "momentum_consistency": 3.4,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.03,
      "vwap": 6.0202,
      "vwap_slope": 0.0046,
      "rvol": 0.1,
      "volume_acceleration": 1.17,
      "premarket_volume": 50585.0,
      "momentum_pct": -0.08,
      "consolidation_tightness_pct": 0.33,
      "distance_from_pm_high_pct": 0.17,
      "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": 6.04,
    "pm_low": 5.9911
  },
  {
    "symbol": "NWL",
    "total_score": 46.68,
    "raw_score": 49.48,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 4.7,
      "volume_acceleration": 6.45,
      "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.44,
      "momentum_consistency": 2.44,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.905,
      "vwap": 5.9241,
      "vwap_slope": -0.0041,
      "rvol": 1.76,
      "volume_acceleration": 1.64,
      "premarket_volume": 881229.0,
      "momentum_pct": -0.17,
      "consolidation_tightness_pct": 0.66,
      "distance_from_pm_high_pct": 0.59,
      "extension_from_vwap_pct": -0.32,
      "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": false,
      "vwap_rising": false
    },
    "pm_high": 5.94,
    "pm_low": 5.89
  },
  {
    "symbol": "PAYO",
    "total_score": 46.67,
    "raw_score": 49.47,
    "breakdown": {
      "price_quality": 2.1,
      "volume_quality": 12.0,
      "rvol": 1.09,
      "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.53,
      "momentum_consistency": 1.56,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.1,
      "vwap": 7.1083,
      "vwap_slope": -0.0011,
      "rvol": 0.45,
      "volume_acceleration": 10.9,
      "premarket_volume": 227102.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.07,
      "distance_from_pm_high_pct": 0.28,
      "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": false
    },
    "pm_high": 7.12,
    "pm_low": 7.1
  },
  {
    "symbol": "ZURA",
    "total_score": 46.64,
    "raw_score": 49.43,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 1.33,
      "volume_acceleration": 3.73,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.61,
      "spread_liquidity": 3.84,
      "momentum_consistency": 2.23,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.73,
      "vwap": 5.7104,
      "vwap_slope": -0.0056,
      "rvol": 0.55,
      "volume_acceleration": 1.37,
      "premarket_volume": 277079.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.17,
      "distance_from_pm_high_pct": 0.52,
      "extension_from_vwap_pct": 0.34,
      "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": true,
      "vwap_rising": false
    },
    "pm_high": 5.76,
    "pm_low": 5.675
  },
  {
    "symbol": "VISN",
    "total_score": 46.63,
    "raw_score": 49.43,
    "breakdown": {
      "price_quality": 3.71,
      "volume_quality": 12.0,
      "rvol": 6.71,
      "volume_acceleration": 2.0,
      "price_momentum": 0.07,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.64,
      "spread_liquidity": 4.7,
      "momentum_consistency": 2.21,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.285,
      "vwap": 11.3015,
      "vwap_slope": -0.0052,
      "rvol": 2.52,
      "volume_acceleration": 0.57,
      "premarket_volume": 1257565.0,
      "momentum_pct": 0.04,
      "consolidation_tightness_pct": 0.13,
      "distance_from_pm_high_pct": 0.49,
      "extension_from_vwap_pct": -0.15,
      "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.34,
    "pm_low": 11.275
  },
  {
    "symbol": "CLBT",
    "total_score": 46.59,
    "raw_score": 49.38,
    "breakdown": {
      "price_quality": 3.62,
      "volume_quality": 12.0,
      "rvol": 1.1,
      "volume_acceleration": 6.87,
      "price_momentum": 0.13,
      "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.71,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.375,
      "vwap": 11.3757,
      "vwap_slope": -0.0004,
      "rvol": 0.46,
      "volume_acceleration": 1.69,
      "premarket_volume": 229183.0,
      "momentum_pct": 0.09,
      "consolidation_tightness_pct": 0.18,
      "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": false,
      "vwap_rising": false
    },
    "pm_high": 11.4,
    "pm_low": 11.34
  },
  {
    "symbol": "EROC",
    "total_score": 46.53,
    "raw_score": 49.32,
    "breakdown": {
      "price_quality": 2.13,
      "volume_quality": 12.0,
      "rvol": 2.62,
      "volume_acceleration": 7.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.19,
      "spread_liquidity": 4.22,
      "momentum_consistency": 2.9,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.87,
      "vwap": 12.9089,
      "vwap_slope": -0.002,
      "rvol": 1.09,
      "volume_acceleration": 1.79,
      "premarket_volume": 545493.0,
      "momentum_pct": -0.23,
      "consolidation_tightness_pct": 1.09,
      "distance_from_pm_high_pct": 1.08,
      "extension_from_vwap_pct": -0.3,
      "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": 13.01,
    "pm_low": 12.84
  },
  {
    "symbol": "PERI",
    "total_score": 46.52,
    "raw_score": 49.31,
    "breakdown": {
      "price_quality": 4.57,
      "volume_quality": 2.44,
      "rvol": 0.1,
      "volume_acceleration": 2.32,
      "price_momentum": 0.16,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 6,
      "spread_liquidity": 4.65,
      "momentum_consistency": 2.67,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.575,
      "vwap": 9.5474,
      "vwap_slope": 0.0104,
      "rvol": 0.04,
      "volume_acceleration": 0.67,
      "premarket_volume": 20370.0,
      "momentum_pct": 0.1,
      "consolidation_tightness_pct": 0.1,
      "distance_from_pm_high_pct": 0.0,
      "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": true,
      "vwap_rising": true
    },
    "pm_high": 9.575,
    "pm_low": 9.53
  },
  {
    "symbol": "DEI",
    "total_score": 46.47,
    "raw_score": 49.26,
    "breakdown": {
      "price_quality": 3.11,
      "volume_quality": 10.67,
      "rvol": 0.43,
      "volume_acceleration": 9.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.69,
      "spread_liquidity": 4.72,
      "momentum_consistency": 2.33,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.895,
      "vwap": 11.9197,
      "vwap_slope": -0.0075,
      "rvol": 0.18,
      "volume_acceleration": 1.99,
      "premarket_volume": 88919.0,
      "momentum_pct": -0.04,
      "consolidation_tightness_pct": 0.17,
      "distance_from_pm_high_pct": 0.42,
      "extension_from_vwap_pct": -0.21,
      "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": 11.945,
    "pm_low": 11.885
  },
  {
    "symbol": "MNTN",
    "total_score": 46.31,
    "raw_score": 49.09,
    "breakdown": {
      "price_quality": 2.23,
      "volume_quality": 12.0,
      "rvol": 0.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.33,
      "spread_liquidity": 4.22,
      "momentum_consistency": 2.32,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.77,
      "vwap": 12.8198,
      "vwap_slope": -0.0322,
      "rvol": 0.25,
      "volume_acceleration": 2.21,
      "premarket_volume": 124692.0,
      "momentum_pct": -0.31,
      "consolidation_tightness_pct": 0.66,
      "distance_from_pm_high_pct": 0.89,
      "extension_from_vwap_pct": -0.39,
      "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": 12.885,
    "pm_low": 12.74
  },
  {
    "symbol": "CION",
    "total_score": 46.21,
    "raw_score": 48.98,
    "breakdown": {
      "price_quality": 2.3,
      "volume_quality": 3.55,
      "rvol": 0.14,
      "volume_acceleration": 3.16,
      "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.54,
      "momentum_consistency": 2.88,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.305,
      "vwap": 7.286,
      "vwap_slope": 0.0072,
      "rvol": 0.06,
      "volume_acceleration": 0.91,
      "premarket_volume": 29616.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.07,
      "distance_from_pm_high_pct": 0.0,
      "extension_from_vwap_pct": 0.26,
      "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.305,
    "pm_low": 7.2711
  },
  {
    "symbol": "CXM",
    "total_score": 46.16,
    "raw_score": 48.93,
    "breakdown": {
      "price_quality": 2.26,
      "volume_quality": 12.0,
      "rvol": 1.03,
      "volume_acceleration": 2.24,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.79,
      "spread_liquidity": 4.54,
      "momentum_consistency": 1.86,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.265,
      "vwap": 7.2634,
      "vwap_slope": -0.0004,
      "rvol": 0.43,
      "volume_acceleration": 1.22,
      "premarket_volume": 215096.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.21,
      "distance_from_pm_high_pct": 0.27,
      "extension_from_vwap_pct": 0.02,
      "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.285,
    "pm_low": 7.23
  },
  {
    "symbol": "BRCB",
    "total_score": 46.05,
    "raw_score": 48.82,
    "breakdown": {
      "price_quality": 3.78,
      "volume_quality": 3.23,
      "rvol": 0.13,
      "volume_acceleration": 2.57,
      "price_momentum": 0.26,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 6,
      "spread_liquidity": 3.86,
      "momentum_consistency": 2.59,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.78,
      "vwap": 8.7446,
      "vwap_slope": 0.0094,
      "rvol": 0.05,
      "volume_acceleration": 0.74,
      "premarket_volume": 26883.0,
      "momentum_pct": 0.17,
      "consolidation_tightness_pct": 0.23,
      "distance_from_pm_high_pct": 0.0,
      "extension_from_vwap_pct": 0.4,
      "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": 8.78,
    "pm_low": 8.68
  },
  {
    "symbol": "HPK",
    "total_score": 46.03,
    "raw_score": 48.79,
    "breakdown": {
      "price_quality": 3.33,
      "volume_quality": 3.34,
      "rvol": 0.13,
      "volume_acceleration": 10,
      "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.2,
      "momentum_consistency": 2.77,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.33,
      "vwap": 8.3298,
      "vwap_slope": -0.0024,
      "rvol": 0.06,
      "volume_acceleration": 2.11,
      "premarket_volume": 27793.0,
      "momentum_pct": -0.12,
      "consolidation_tightness_pct": 0.24,
      "distance_from_pm_high_pct": 0.24,
      "extension_from_vwap_pct": 0.0,
      "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": true,
      "vwap_rising": false
    },
    "pm_high": 8.35,
    "pm_low": 8.31
  },
  {
    "symbol": "RUN",
    "total_score": 45.87,
    "raw_score": 48.62,
    "breakdown": {
      "price_quality": 4.29,
      "volume_quality": 12.0,
      "rvol": 2.62,
      "volume_acceleration": 3.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.64,
      "spread_liquidity": 4.64,
      "momentum_consistency": 3.31,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.285,
      "vwap": 9.2979,
      "vwap_slope": -0.0019,
      "rvol": 1.09,
      "volume_acceleration": 1.07,
      "premarket_volume": 544894.0,
      "momentum_pct": -0.05,
      "consolidation_tightness_pct": 0.27,
      "distance_from_pm_high_pct": 0.48,
      "extension_from_vwap_pct": -0.14,
      "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.33,
    "pm_low": 9.275
  },
  {
    "symbol": "SVCO",
    "total_score": 45.82,
    "raw_score": 48.57,
    "breakdown": {
      "price_quality": 1.58,
      "volume_quality": 4.56,
      "rvol": 0.18,
      "volume_acceleration": 3.45,
      "price_momentum": 0.11,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.72,
      "spread_liquidity": 3.49,
      "momentum_consistency": 3.08,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.585,
      "vwap": 6.5502,
      "vwap_slope": 0.0312,
      "rvol": 0.08,
      "volume_acceleration": 1.34,
      "premarket_volume": 38023.0,
      "momentum_pct": 0.08,
      "consolidation_tightness_pct": 0.91,
      "distance_from_pm_high_pct": 0.38,
      "extension_from_vwap_pct": 0.53,
      "spread_pct": 0.45
    },
    "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.61,
    "pm_low": 6.48
  },
  {
    "symbol": "ULCC",
    "total_score": 45.75,
    "raw_score": 48.49,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 1.9,
      "volume_acceleration": 2.64,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.61,
      "spread_liquidity": 4.42,
      "momentum_consistency": 1.22,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.745,
      "vwap": 5.738,
      "vwap_slope": -0.0013,
      "rvol": 0.79,
      "volume_acceleration": 0.76,
      "premarket_volume": 395610.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.44,
      "distance_from_pm_high_pct": 0.52,
      "extension_from_vwap_pct": 0.12,
      "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.775,
    "pm_low": 5.71
  },
  {
    "symbol": "AEBI",
    "total_score": 45.74,
    "raw_score": 48.48,
    "breakdown": {
      "price_quality": 3.09,
      "volume_quality": 3.75,
      "rvol": 0.15,
      "volume_acceleration": 1.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": 3.88,
      "momentum_consistency": 3.67,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.91,
      "vwap": 11.8478,
      "vwap_slope": 0.0113,
      "rvol": 0.06,
      "volume_acceleration": 0.48,
      "premarket_volume": 31210.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.42,
      "distance_from_pm_high_pct": 0.17,
      "extension_from_vwap_pct": 0.53,
      "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": 11.93,
    "pm_low": 11.8
  },
  {
    "symbol": "IMMR",
    "total_score": 45.7,
    "raw_score": 48.44,
    "breakdown": {
      "price_quality": 2.75,
      "volume_quality": 10.11,
      "rvol": 0.4,
      "volume_acceleration": 10,
      "price_momentum": 0.26,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.57,
      "spread_liquidity": 4.57,
      "momentum_consistency": 2.39,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.75,
      "vwap": 7.7618,
      "vwap_slope": -0.0079,
      "rvol": 0.17,
      "volume_acceleration": 2.74,
      "premarket_volume": 84232.0,
      "momentum_pct": 0.17,
      "consolidation_tightness_pct": 0.26,
      "distance_from_pm_high_pct": 0.58,
      "extension_from_vwap_pct": -0.15,
      "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.795,
    "pm_low": 7.735
  },
  {
    "symbol": "BGC",
    "total_score": 45.56,
    "raw_score": 48.29,
    "breakdown": {
      "price_quality": 4.06,
      "volume_quality": 12.0,
      "rvol": 1.09,
      "volume_acceleration": 6.69,
      "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.7,
      "momentum_consistency": 1.63,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.94,
      "vwap": 10.9511,
      "vwap_slope": -0.0016,
      "rvol": 0.45,
      "volume_acceleration": 1.67,
      "premarket_volume": 227320.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.09,
      "distance_from_pm_high_pct": 0.36,
      "extension_from_vwap_pct": -0.1,
      "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.98,
    "pm_low": 10.935
  },
  {
    "symbol": "AMCX",
    "total_score": 45.38,
    "raw_score": 48.1,
    "breakdown": {
      "price_quality": 2.85,
      "volume_quality": 11.03,
      "rvol": 0.44,
      "volume_acceleration": 8.72,
      "price_momentum": 0.12,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.45,
      "spread_liquidity": 4.73,
      "momentum_consistency": 2.36,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.15,
      "vwap": 12.1681,
      "vwap_slope": -0.0134,
      "rvol": 0.18,
      "volume_acceleration": 1.87,
      "premarket_volume": 91955.0,
      "momentum_pct": 0.08,
      "consolidation_tightness_pct": 0.16,
      "distance_from_pm_high_pct": 0.74,
      "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": false,
      "vwap_rising": false
    },
    "pm_high": 12.24,
    "pm_low": 12.125
  },
  {
    "symbol": "TNON",
    "total_score": 45.38,
    "raw_score": 48.1,
    "breakdown": {
      "price_quality": 1.99,
      "volume_quality": 7.02,
      "rvol": 0.28,
      "volume_acceleration": 1.65,
      "price_momentum": 0.51,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.77,
      "spread_liquidity": 0.69,
      "momentum_consistency": 3.79,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.9885,
      "vwap": 6.9428,
      "vwap_slope": 0.002,
      "rvol": 0.12,
      "volume_acceleration": 0.47,
      "premarket_volume": 58541.0,
      "momentum_pct": 0.34,
      "consolidation_tightness_pct": 1.27,
      "distance_from_pm_high_pct": 0.31,
      "extension_from_vwap_pct": 0.66,
      "spread_pct": 1.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": 7.01,
    "pm_low": 6.86
  },
  {
    "symbol": "TRIP",
    "total_score": 45.37,
    "raw_score": 48.1,
    "breakdown": {
      "price_quality": 4.98,
      "volume_quality": 12.0,
      "rvol": 1.89,
      "volume_acceleration": 4.85,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.51,
      "spread_liquidity": 4.67,
      "momentum_consistency": 1.79,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.985,
      "vwap": 10.0075,
      "vwap_slope": -0.0072,
      "rvol": 0.79,
      "volume_acceleration": 1.48,
      "premarket_volume": 393052.0,
      "momentum_pct": -0.2,
      "consolidation_tightness_pct": 0.55,
      "distance_from_pm_high_pct": 0.65,
      "extension_from_vwap_pct": -0.23,
      "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.05,
    "pm_low": 9.965
  },
  {
    "symbol": "AEG",
    "total_score": 45.28,
    "raw_score": 48.0,
    "breakdown": {
      "price_quality": 4.04,
      "volume_quality": 12.0,
      "rvol": 1.21,
      "volume_acceleration": 6.03,
      "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.63,
      "momentum_consistency": 1.81,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.045,
      "vwap": 9.0501,
      "vwap_slope": -0.0006,
      "rvol": 0.5,
      "volume_acceleration": 1.6,
      "premarket_volume": 252248.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.06,
      "distance_from_pm_high_pct": 0.17,
      "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": false
    },
    "pm_high": 9.06,
    "pm_low": 9.04
  },
  {
    "symbol": "CRCT",
    "total_score": 45.23,
    "raw_score": 47.95,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 5.02,
      "rvol": 0.2,
      "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": 5.73,
      "spread_liquidity": 4.39,
      "momentum_consistency": 1.51,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.455,
      "vwap": 5.4638,
      "vwap_slope": 0.0012,
      "rvol": 0.08,
      "volume_acceleration": 2.76,
      "premarket_volume": 41801.0,
      "momentum_pct": -0.37,
      "consolidation_tightness_pct": 0.37,
      "distance_from_pm_high_pct": 0.37,
      "extension_from_vwap_pct": -0.16,
      "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": true
    },
    "pm_high": 5.475,
    "pm_low": 5.45
  },
  {
    "symbol": "MED",
    "total_score": 45.2,
    "raw_score": 47.91,
    "breakdown": {
      "price_quality": 3.46,
      "volume_quality": 3.19,
      "rvol": 0.13,
      "volume_acceleration": 10,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.61,
      "spread_liquidity": 3.84,
      "momentum_consistency": 2.48,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.54,
      "vwap": 11.5164,
      "vwap_slope": -0.0218,
      "rvol": 0.05,
      "volume_acceleration": 4.56,
      "premarket_volume": 26560.0,
      "momentum_pct": -0.13,
      "consolidation_tightness_pct": 0.22,
      "distance_from_pm_high_pct": 0.52,
      "extension_from_vwap_pct": 0.21,
      "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": true,
      "vwap_rising": false
    },
    "pm_high": 11.6,
    "pm_low": 11.46
  },
  {
    "symbol": "TKNO",
    "total_score": 45.17,
    "raw_score": 47.88,
    "breakdown": {
      "price_quality": 2.1,
      "volume_quality": 2.94,
      "rvol": 0.12,
      "volume_acceleration": 3.55,
      "price_momentum": 0.21,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 6,
      "spread_liquidity": 4.06,
      "momentum_consistency": 2.5,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.1,
      "vwap": 7.0585,
      "vwap_slope": 0.0117,
      "rvol": 0.05,
      "volume_acceleration": 1.02,
      "premarket_volume": 24509.0,
      "momentum_pct": 0.14,
      "consolidation_tightness_pct": 0.14,
      "distance_from_pm_high_pct": 0.0,
      "extension_from_vwap_pct": 0.59,
      "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": true
    },
    "pm_high": 7.1,
    "pm_low": 7.0025
  },
  {
    "symbol": "SVV",
    "total_score": 44.87,
    "raw_score": 47.56,
    "breakdown": {
      "price_quality": 4.36,
      "volume_quality": 12.0,
      "rvol": 0.78,
      "volume_acceleration": 5.08,
      "price_momentum": 0.14,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.41,
      "spread_liquidity": 4.69,
      "momentum_consistency": 2.71,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.645,
      "vwap": 10.6756,
      "vwap_slope": -0.0102,
      "rvol": 0.32,
      "volume_acceleration": 1.51,
      "premarket_volume": 161826.0,
      "momentum_pct": 0.09,
      "consolidation_tightness_pct": 0.42,
      "distance_from_pm_high_pct": 0.79,
      "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": 10.73,
    "pm_low": 10.62
  },
  {
    "symbol": "SXC",
    "total_score": 44.84,
    "raw_score": 47.53,
    "breakdown": {
      "price_quality": 4.39,
      "volume_quality": 8.41,
      "rvol": 0.34,
      "volume_acceleration": 9.83,
      "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.65,
      "momentum_consistency": 1.96,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.39,
      "vwap": 9.4175,
      "vwap_slope": -0.0153,
      "rvol": 0.14,
      "volume_acceleration": 1.98,
      "premarket_volume": 70119.0,
      "momentum_pct": -0.05,
      "consolidation_tightness_pct": 0.32,
      "distance_from_pm_high_pct": 0.58,
      "extension_from_vwap_pct": -0.29,
      "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.445,
    "pm_low": 9.375
  },
  {
    "symbol": "SOC",
    "total_score": 44.8,
    "raw_score": 47.49,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 5.71,
      "volume_acceleration": 3.13,
      "price_momentum": 0.3,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.26,
      "spread_liquidity": 4.34,
      "momentum_consistency": 2.85,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.01,
      "vwap": 5.0208,
      "vwap_slope": -0.002,
      "rvol": 2.14,
      "volume_acceleration": 0.9,
      "premarket_volume": 1071271.0,
      "momentum_pct": 0.2,
      "consolidation_tightness_pct": 0.6,
      "distance_from_pm_high_pct": 0.99,
      "extension_from_vwap_pct": -0.21,
      "spread_pct": 0.2
    },
    "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": 5.06,
    "pm_low": 4.965
  },
  {
    "symbol": "OWLT",
    "total_score": 44.79,
    "raw_score": 47.47,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 2.45,
      "rvol": 0.1,
      "volume_acceleration": 3.08,
      "price_momentum": 0.27,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.74,
      "spread_liquidity": 3.82,
      "momentum_consistency": 4.12,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.66,
      "vwap": 5.6347,
      "vwap_slope": 0.0125,
      "rvol": 0.04,
      "volume_acceleration": 0.89,
      "premarket_volume": 20446.0,
      "momentum_pct": 0.18,
      "consolidation_tightness_pct": 0.71,
      "distance_from_pm_high_pct": 0.35,
      "extension_from_vwap_pct": 0.45,
      "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": true,
      "vwap_rising": true
    },
    "pm_high": 5.68,
    "pm_low": 5.585
  },
  {
    "symbol": "RWAY",
    "total_score": 44.72,
    "raw_score": 47.41,
    "breakdown": {
      "price_quality": 1.62,
      "volume_quality": 12.0,
      "rvol": 0.48,
      "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.33,
      "spread_liquidity": 4.5,
      "momentum_consistency": 1.09,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.615,
      "vwap": 6.6521,
      "vwap_slope": -0.0128,
      "rvol": 0.2,
      "volume_acceleration": 5.1,
      "premarket_volume": 100111.0,
      "momentum_pct": -0.15,
      "consolidation_tightness_pct": 0.53,
      "distance_from_pm_high_pct": 0.9,
      "extension_from_vwap_pct": -0.56,
      "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.675,
    "pm_low": 6.615
  },
  {
    "symbol": "HTLD",
    "total_score": 44.46,
    "raw_score": 47.13,
    "breakdown": {
      "price_quality": 2.65,
      "volume_quality": 9.64,
      "rvol": 0.39,
      "volume_acceleration": 9.26,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.31,
      "spread_liquidity": 4.73,
      "momentum_consistency": 2.74,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.345,
      "vwap": 12.4023,
      "vwap_slope": -0.0199,
      "rvol": 0.16,
      "volume_acceleration": 1.93,
      "premarket_volume": 80369.0,
      "momentum_pct": -0.12,
      "consolidation_tightness_pct": 0.73,
      "distance_from_pm_high_pct": 0.92,
      "extension_from_vwap_pct": -0.46,
      "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.46,
    "pm_low": 12.32
  },
  {
    "symbol": "SD",
    "total_score": 44.39,
    "raw_score": 47.05,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 3.04,
      "rvol": 0.12,
      "volume_acceleration": 3.11,
      "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.77,
      "momentum_consistency": 2.21,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.3,
      "vwap": 14.2781,
      "vwap_slope": 0.0107,
      "rvol": 0.05,
      "volume_acceleration": 0.9,
      "premarket_volume": 25367.0,
      "momentum_pct": -0.07,
      "consolidation_tightness_pct": 0.14,
      "distance_from_pm_high_pct": 0.14,
      "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": 14.32,
    "pm_low": 14.235
  },
  {
    "symbol": "AHCO",
    "total_score": 44.39,
    "raw_score": 47.06,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 1.33,
      "volume_acceleration": 7.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.38,
      "spread_liquidity": 4.38,
      "momentum_consistency": 2.39,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.415,
      "vwap": 5.4282,
      "vwap_slope": -0.0032,
      "rvol": 0.55,
      "volume_acceleration": 1.77,
      "premarket_volume": 276284.0,
      "momentum_pct": -0.18,
      "consolidation_tightness_pct": 0.28,
      "distance_from_pm_high_pct": 0.82,
      "extension_from_vwap_pct": -0.24,
      "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": 5.46,
    "pm_low": 5.405
  },
  {
    "symbol": "LEG",
    "total_score": 44.25,
    "raw_score": 46.91,
    "breakdown": {
      "price_quality": 4.41,
      "volume_quality": 12.0,
      "rvol": 0.87,
      "volume_acceleration": 3.95,
      "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.65,
      "momentum_consistency": 2.95,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.415,
      "vwap": 9.433,
      "vwap_slope": -0.0031,
      "rvol": 0.36,
      "volume_acceleration": 1.14,
      "premarket_volume": 181059.0,
      "momentum_pct": -0.05,
      "consolidation_tightness_pct": 0.16,
      "distance_from_pm_high_pct": 0.42,
      "extension_from_vwap_pct": -0.19,
      "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.455,
    "pm_low": 9.405
  },
  {
    "symbol": "SPCB",
    "total_score": 44.25,
    "raw_score": 46.9,
    "breakdown": {
      "price_quality": 3.4,
      "volume_quality": 2.42,
      "rvol": 0.1,
      "volume_acceleration": 2.38,
      "price_momentum": 0.71,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 6,
      "spread_liquidity": 2.69,
      "momentum_consistency": 2.8,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.6,
      "vwap": 11.4696,
      "vwap_slope": 0.0543,
      "rvol": 0.04,
      "volume_acceleration": 0.68,
      "premarket_volume": 20179.0,
      "momentum_pct": 0.48,
      "consolidation_tightness_pct": 0.87,
      "distance_from_pm_high_pct": 0.0,
      "extension_from_vwap_pct": 1.14,
      "spread_pct": 0.69
    },
    "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.6,
    "pm_low": 11.335
  },
  {
    "symbol": "PFSA",
    "total_score": 44.23,
    "raw_score": 46.88,
    "breakdown": {
      "price_quality": 2.52,
      "volume_quality": 4.28,
      "rvol": 0.17,
      "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": 3.4,
      "spread_liquidity": 3.67,
      "momentum_consistency": 3.24,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.52,
      "vwap": 7.5824,
      "vwap_slope": 0.016,
      "rvol": 0.07,
      "volume_acceleration": 2.08,
      "premarket_volume": 35665.0,
      "momentum_pct": -0.53,
      "consolidation_tightness_pct": 2.32,
      "distance_from_pm_high_pct": 3.46,
      "extension_from_vwap_pct": -0.82,
      "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": true
    },
    "pm_high": 7.7899,
    "pm_low": 7.3129
  },
  {
    "symbol": "DOLE",
    "total_score": 44.2,
    "raw_score": 46.85,
    "breakdown": {
      "price_quality": 1.66,
      "volume_quality": 8.21,
      "rvol": 0.33,
      "volume_acceleration": 3.96,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.83,
      "spread_liquidity": 4.75,
      "momentum_consistency": 2.51,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.34,
      "vwap": 13.3423,
      "vwap_slope": 0.0014,
      "rvol": 0.14,
      "volume_acceleration": 1.14,
      "premarket_volume": 68429.0,
      "momentum_pct": -0.04,
      "consolidation_tightness_pct": 0.11,
      "distance_from_pm_high_pct": 0.22,
      "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": false,
      "vwap_rising": true
    },
    "pm_high": 13.37,
    "pm_low": 13.325
  },
  {
    "symbol": "LYG",
    "total_score": 44.19,
    "raw_score": 46.84,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 5.83,
      "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.78,
      "spread_liquidity": 4.44,
      "momentum_consistency": 2.48,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.91,
      "vwap": 5.9156,
      "vwap_slope": -0.0002,
      "rvol": 2.19,
      "volume_acceleration": 0.69,
      "premarket_volume": 1093420.0,
      "momentum_pct": -0.08,
      "consolidation_tightness_pct": 0.17,
      "distance_from_pm_high_pct": 0.3,
      "extension_from_vwap_pct": -0.1,
      "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": false,
      "vwap_rising": false
    },
    "pm_high": 5.9277,
    "pm_low": 5.91
  },
  {
    "symbol": "AUNA",
    "total_score": 44.14,
    "raw_score": 46.79,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 3.83,
      "rvol": 0.15,
      "volume_acceleration": 1.47,
      "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": 3.73,
      "momentum_consistency": 3.84,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.27,
      "vwap": 5.2193,
      "vwap_slope": 0.0113,
      "rvol": 0.06,
      "volume_acceleration": 0.42,
      "premarket_volume": 31931.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.19,
      "distance_from_pm_high_pct": 0.19,
      "extension_from_vwap_pct": 0.97,
      "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.28,
    "pm_low": 5.19
  },
  {
    "symbol": "NRXS",
    "total_score": 44.04,
    "raw_score": 46.68,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 8.1,
      "rvol": 0.32,
      "volume_acceleration": 0.15,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 6,
      "spread_liquidity": 1.25,
      "momentum_consistency": 2.96,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.25,
      "vwap": 6.0754,
      "vwap_slope": 0.005,
      "rvol": 0.14,
      "volume_acceleration": 0.04,
      "premarket_volume": 67541.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 1.44,
      "distance_from_pm_high_pct": 0.0,
      "extension_from_vwap_pct": 2.87,
      "spread_pct": 1.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": 6.25,
    "pm_low": 5.99
  },
  {
    "symbol": "PUMP",
    "total_score": 43.9,
    "raw_score": 46.53,
    "breakdown": {
      "price_quality": 3.71,
      "volume_quality": 12.0,
      "rvol": 1.69,
      "volume_acceleration": 4.35,
      "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.41,
      "momentum_consistency": 2.62,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.29,
      "vwap": 11.3309,
      "vwap_slope": -0.0013,
      "rvol": 0.71,
      "volume_acceleration": 1.44,
      "premarket_volume": 353034.0,
      "momentum_pct": -0.48,
      "consolidation_tightness_pct": 0.62,
      "distance_from_pm_high_pct": 0.88,
      "extension_from_vwap_pct": -0.36,
      "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.39,
    "pm_low": 11.29
  },
  {
    "symbol": "FOSL",
    "total_score": 43.78,
    "raw_score": 46.41,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 11.6,
      "rvol": 0.46,
      "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": 4.8,
      "spread_liquidity": 3.8,
      "momentum_consistency": 1.85,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.54,
      "vwap": 5.5826,
      "vwap_slope": -0.0157,
      "rvol": 0.19,
      "volume_acceleration": 3.81,
      "premarket_volume": 96670.0,
      "momentum_pct": -0.36,
      "consolidation_tightness_pct": 0.36,
      "distance_from_pm_high_pct": 1.6,
      "extension_from_vwap_pct": -0.76,
      "spread_pct": 0.36
    },
    "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.63,
    "pm_low": 5.54
  },
  {
    "symbol": "CERT",
    "total_score": 43.71,
    "raw_score": 46.34,
    "breakdown": {
      "price_quality": 3.73,
      "volume_quality": 12.0,
      "rvol": 2.03,
      "volume_acceleration": 3.8,
      "price_momentum": 0.09,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.45,
      "spread_liquidity": 4.62,
      "momentum_consistency": 2.21,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.735,
      "vwap": 8.7581,
      "vwap_slope": -0.008,
      "rvol": 0.85,
      "volume_acceleration": 1.09,
      "premarket_volume": 423882.0,
      "momentum_pct": 0.06,
      "consolidation_tightness_pct": 0.4,
      "distance_from_pm_high_pct": 0.73,
      "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": 8.7991,
    "pm_low": 8.71
  },
  {
    "symbol": "BSM",
    "total_score": 43.65,
    "raw_score": 46.27,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 2.91,
      "rvol": 0.12,
      "volume_acceleration": 2.03,
      "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.32,
      "momentum_consistency": 2.93,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.78,
      "vwap": 14.7569,
      "vwap_slope": 0.0089,
      "rvol": 0.05,
      "volume_acceleration": 0.58,
      "premarket_volume": 24284.0,
      "momentum_pct": 0.07,
      "consolidation_tightness_pct": 0.14,
      "distance_from_pm_high_pct": 0.07,
      "extension_from_vwap_pct": 0.16,
      "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": 14.79,
    "pm_low": 14.7145
  },
  {
    "symbol": "AVTR",
    "total_score": 43.53,
    "raw_score": 46.14,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 3.03,
      "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.76,
      "spread_liquidity": 4.77,
      "momentum_consistency": 3.45,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.31,
      "vwap": 14.3228,
      "vwap_slope": -0.0084,
      "rvol": 1.26,
      "volume_acceleration": 1.32,
      "premarket_volume": 630666.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.21,
      "distance_from_pm_high_pct": 0.31,
      "extension_from_vwap_pct": -0.09,
      "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.355,
    "pm_low": 14.271
  },
  {
    "symbol": "ELA",
    "total_score": 43.53,
    "raw_score": 46.14,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 4.2,
      "rvol": 0.17,
      "volume_acceleration": 1.91,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.58,
      "spread_liquidity": 3.82,
      "momentum_consistency": 2.56,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.14,
      "vwap": 14.1356,
      "vwap_slope": 0.0084,
      "rvol": 0.07,
      "volume_acceleration": 0.55,
      "premarket_volume": 34979.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.0,
      "distance_from_pm_high_pct": 0.56,
      "extension_from_vwap_pct": 0.03,
      "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": true,
      "vwap_rising": true
    },
    "pm_high": 14.22,
    "pm_low": 14.06
  },
  {
    "symbol": "ADTN",
    "total_score": 43.39,
    "raw_score": 45.99,
    "breakdown": {
      "price_quality": 2.83,
      "volume_quality": 12.0,
      "rvol": 0.59,
      "volume_acceleration": 6.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.52,
      "spread_liquidity": 4.57,
      "momentum_consistency": 1.89,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.835,
      "vwap": 7.8514,
      "vwap_slope": -0.0034,
      "rvol": 0.24,
      "volume_acceleration": 1.62,
      "premarket_volume": 121907.0,
      "momentum_pct": -0.25,
      "consolidation_tightness_pct": 0.31,
      "distance_from_pm_high_pct": 0.63,
      "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": false,
      "vwap_rising": false
    },
    "pm_high": 7.885,
    "pm_low": 7.83
  },
  {
    "symbol": "GNW",
    "total_score": 43.23,
    "raw_score": 45.82,
    "breakdown": {
      "price_quality": 4.88,
      "volume_quality": 12.0,
      "rvol": 0.79,
      "volume_acceleration": 3.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.62,
      "spread_liquidity": 4.66,
      "momentum_consistency": 2.0,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.875,
      "vwap": 9.8961,
      "vwap_slope": -0.009,
      "rvol": 0.33,
      "volume_acceleration": 1.35,
      "premarket_volume": 163556.0,
      "momentum_pct": -0.05,
      "consolidation_tightness_pct": 0.15,
      "distance_from_pm_high_pct": 0.5,
      "extension_from_vwap_pct": -0.21,
      "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.925,
    "pm_low": 9.87
  },
  {
    "symbol": "WSE",
    "total_score": 43.22,
    "raw_score": 45.81,
    "breakdown": {
      "price_quality": 2.46,
      "volume_quality": 7.93,
      "rvol": 0.32,
      "volume_acceleration": 2.99,
      "price_momentum": 0.12,
      "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.12,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.535,
      "vwap": 12.5338,
      "vwap_slope": -0.0012,
      "rvol": 0.13,
      "volume_acceleration": 0.86,
      "premarket_volume": 66065.0,
      "momentum_pct": 0.08,
      "consolidation_tightness_pct": 0.08,
      "distance_from_pm_high_pct": 0.08,
      "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": false
    },
    "pm_high": 12.545,
    "pm_low": 12.52
  },
  {
    "symbol": "GNL",
    "total_score": 43.18,
    "raw_score": 45.77,
    "breakdown": {
      "price_quality": 4.09,
      "volume_quality": 12.0,
      "rvol": 0.99,
      "volume_acceleration": 3.79,
      "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.63,
      "momentum_consistency": 2.15,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.085,
      "vwap": 9.1041,
      "vwap_slope": -0.0011,
      "rvol": 0.41,
      "volume_acceleration": 1.09,
      "premarket_volume": 206980.0,
      "momentum_pct": -0.16,
      "consolidation_tightness_pct": 0.22,
      "distance_from_pm_high_pct": 0.38,
      "extension_from_vwap_pct": -0.21,
      "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.12,
    "pm_low": 9.085
  },
  {
    "symbol": "NMFC",
    "total_score": 42.99,
    "raw_score": 45.57,
    "breakdown": {
      "price_quality": 2.57,
      "volume_quality": 2.54,
      "rvol": 0.1,
      "volume_acceleration": 1.04,
      "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.56,
      "momentum_consistency": 2.46,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.565,
      "vwap": 7.5644,
      "vwap_slope": 0.0002,
      "rvol": 0.04,
      "volume_acceleration": 0.3,
      "premarket_volume": 21191.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.13,
      "distance_from_pm_high_pct": 0.13,
      "extension_from_vwap_pct": 0.01,
      "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.575,
    "pm_low": 7.545
  },
  {
    "symbol": "UNIT",
    "total_score": 42.94,
    "raw_score": 45.52,
    "breakdown": {
      "price_quality": 4.88,
      "volume_quality": 12.0,
      "rvol": 0.58,
      "volume_acceleration": 3.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.67,
      "spread_liquidity": 4.67,
      "momentum_consistency": 1.79,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.125,
      "vwap": 10.1304,
      "vwap_slope": -0.0031,
      "rvol": 0.24,
      "volume_acceleration": 1.01,
      "premarket_volume": 120785.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.15,
      "distance_from_pm_high_pct": 0.44,
      "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": false
    },
    "pm_high": 10.17,
    "pm_low": 10.11
  },
  {
    "symbol": "NMAX",
    "total_score": 42.92,
    "raw_score": 45.49,
    "breakdown": {
      "price_quality": 4.08,
      "volume_quality": 10.16,
      "rvol": 0.41,
      "volume_acceleration": 5.5,
      "price_momentum": 0.19,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.45,
      "spread_liquidity": 4.7,
      "momentum_consistency": 2.62,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.9237,
      "vwap": 10.9284,
      "vwap_slope": -0.0249,
      "rvol": 0.17,
      "volume_acceleration": 1.55,
      "premarket_volume": 84702.0,
      "momentum_pct": 0.13,
      "consolidation_tightness_pct": 0.37,
      "distance_from_pm_high_pct": 0.74,
      "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.005,
    "pm_low": 10.84
  },
  {
    "symbol": "DBI",
    "total_score": 42.88,
    "raw_score": 45.45,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 6.6,
      "rvol": 0.26,
      "volume_acceleration": 5.8,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.61,
      "spread_liquidity": 3.83,
      "momentum_consistency": 2.26,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.67,
      "vwap": 5.6745,
      "vwap_slope": 0.0006,
      "rvol": 0.11,
      "volume_acceleration": 1.58,
      "premarket_volume": 54960.0,
      "momentum_pct": -0.53,
      "consolidation_tightness_pct": 0.53,
      "distance_from_pm_high_pct": 0.53,
      "extension_from_vwap_pct": -0.08,
      "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": true
    },
    "pm_high": 5.7,
    "pm_low": 5.65
  },
  {
    "symbol": "TDOC",
    "total_score": 42.8,
    "raw_score": 45.37,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 2.85,
      "volume_acceleration": 4.84,
      "price_momentum": 0.12,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.26,
      "spread_liquidity": 4.49,
      "momentum_consistency": 1.93,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.49,
      "vwap": 6.5133,
      "vwap_slope": -0.0047,
      "rvol": 1.19,
      "volume_acceleration": 1.48,
      "premarket_volume": 592709.0,
      "momentum_pct": 0.08,
      "consolidation_tightness_pct": 0.46,
      "distance_from_pm_high_pct": 0.99,
      "extension_from_vwap_pct": -0.36,
      "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.555,
    "pm_low": 6.47
  },
  {
    "symbol": "CRMD",
    "total_score": 42.77,
    "raw_score": 45.34,
    "breakdown": {
      "price_quality": 3.25,
      "volume_quality": 9.6,
      "rvol": 0.38,
      "volume_acceleration": 8.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.02,
      "spread_liquidity": 4.19,
      "momentum_consistency": 2.18,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.246,
      "vwap": 8.3107,
      "vwap_slope": -0.0222,
      "rvol": 0.16,
      "volume_acceleration": 1.83,
      "premarket_volume": 80023.0,
      "momentum_pct": -0.77,
      "consolidation_tightness_pct": 0.9,
      "distance_from_pm_high_pct": 1.3,
      "extension_from_vwap_pct": -0.78,
      "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.355,
    "pm_low": 8.24
  },
  {
    "symbol": "VITL",
    "total_score": 42.56,
    "raw_score": 45.11,
    "breakdown": {
      "price_quality": 4.31,
      "volume_quality": 12.0,
      "rvol": 0.52,
      "volume_acceleration": 3.67,
      "price_momentum": 0.07,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.37,
      "spread_liquidity": 4.38,
      "momentum_consistency": 2.39,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.69,
      "vwap": 10.7074,
      "vwap_slope": -0.0046,
      "rvol": 0.22,
      "volume_acceleration": 1.06,
      "premarket_volume": 108674.0,
      "momentum_pct": 0.05,
      "consolidation_tightness_pct": 0.19,
      "distance_from_pm_high_pct": 0.83,
      "extension_from_vwap_pct": -0.16,
      "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": 10.78,
    "pm_low": 10.6702
  },
  {
    "symbol": "DC",
    "total_score": 42.52,
    "raw_score": 45.07,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 0.65,
      "volume_acceleration": 6.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.69,
      "spread_liquidity": 4.45,
      "momentum_consistency": 2.07,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.115,
      "vwap": 6.1167,
      "vwap_slope": -0.0038,
      "rvol": 0.27,
      "volume_acceleration": 1.63,
      "premarket_volume": 134710.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.41,
      "distance_from_pm_high_pct": 0.41,
      "extension_from_vwap_pct": -0.03,
      "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.14,
    "pm_low": 6.095
  },
  {
    "symbol": "REAL",
    "total_score": 42.43,
    "raw_score": 44.97,
    "breakdown": {
      "price_quality": 3.39,
      "volume_quality": 12.0,
      "rvol": 0.91,
      "volume_acceleration": 2.95,
      "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.71,
      "momentum_consistency": 2.9,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.61,
      "vwap": 11.6124,
      "vwap_slope": -0.0037,
      "rvol": 0.38,
      "volume_acceleration": 1.29,
      "premarket_volume": 190299.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.43,
      "distance_from_pm_high_pct": 0.39,
      "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": false,
      "vwap_rising": false
    },
    "pm_high": 11.655,
    "pm_low": 11.57
  },
  {
    "symbol": "GMRS",
    "total_score": 42.26,
    "raw_score": 44.79,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 0.62,
      "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": 3.22,
      "spread_liquidity": 3.1,
      "momentum_consistency": 1.95,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.915,
      "vwap": 14.2529,
      "vwap_slope": -0.1222,
      "rvol": 0.26,
      "volume_acceleration": 2.47,
      "premarket_volume": 128559.0,
      "momentum_pct": -1.52,
      "consolidation_tightness_pct": 1.71,
      "distance_from_pm_high_pct": 3.7,
      "extension_from_vwap_pct": -2.37,
      "spread_pct": 0.57
    },
    "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.45,
    "pm_low": 13.91
  },
  {
    "symbol": "WNC",
    "total_score": 42.26,
    "raw_score": 44.8,
    "breakdown": {
      "price_quality": 3.42,
      "volume_quality": 11.75,
      "rvol": 0.47,
      "volume_acceleration": 4.59,
      "price_momentum": 0.59,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.36,
      "spread_liquidity": 3.56,
      "momentum_consistency": 2.67,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.58,
      "vwap": 11.5945,
      "vwap_slope": -0.0246,
      "rvol": 0.2,
      "volume_acceleration": 1.46,
      "premarket_volume": 97914.0,
      "momentum_pct": 0.39,
      "consolidation_tightness_pct": 1.12,
      "distance_from_pm_high_pct": 0.86,
      "extension_from_vwap_pct": -0.13,
      "spread_pct": 0.43
    },
    "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.5
  },
  {
    "symbol": "PRGO",
    "total_score": 42.08,
    "raw_score": 44.6,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 1.1,
      "volume_acceleration": 4.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.65,
      "spread_liquidity": 4.76,
      "momentum_consistency": 3.09,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.87,
      "vwap": 13.8928,
      "vwap_slope": -0.0064,
      "rvol": 0.46,
      "volume_acceleration": 1.41,
      "premarket_volume": 229352.0,
      "momentum_pct": -0.29,
      "consolidation_tightness_pct": 0.47,
      "distance_from_pm_high_pct": 0.47,
      "extension_from_vwap_pct": -0.16,
      "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.935,
    "pm_low": 13.84
  },
  {
    "symbol": "AVAH",
    "total_score": 42.01,
    "raw_score": 44.53,
    "breakdown": {
      "price_quality": 2.04,
      "volume_quality": 12.0,
      "rvol": 1.75,
      "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": 5.26,
      "spread_liquidity": 4.74,
      "momentum_consistency": 2.71,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.96,
      "vwap": 13.0295,
      "vwap_slope": -0.0196,
      "rvol": 0.73,
      "volume_acceleration": 1.36,
      "premarket_volume": 364283.0,
      "momentum_pct": -0.42,
      "consolidation_tightness_pct": 0.69,
      "distance_from_pm_high_pct": 0.99,
      "extension_from_vwap_pct": -0.53,
      "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.09,
    "pm_low": 12.931
  },
  {
    "symbol": "EGY",
    "total_score": 42.0,
    "raw_score": 44.52,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 0.52,
      "volume_acceleration": 6.1,
      "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.44,
      "momentum_consistency": 2.0,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.965,
      "vwap": 5.979,
      "vwap_slope": -0.0054,
      "rvol": 0.22,
      "volume_acceleration": 1.61,
      "premarket_volume": 108638.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.17,
      "distance_from_pm_high_pct": 0.58,
      "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": false,
      "vwap_rising": false
    },
    "pm_high": 6.0,
    "pm_low": 5.96
  },
  {
    "symbol": "AVPT",
    "total_score": 41.86,
    "raw_score": 44.37,
    "breakdown": {
      "price_quality": 1.91,
      "volume_quality": 12.0,
      "rvol": 0.83,
      "volume_acceleration": 4.54,
      "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.75,
      "momentum_consistency": 2.14,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.085,
      "vwap": 13.0978,
      "vwap_slope": -0.0024,
      "rvol": 0.34,
      "volume_acceleration": 1.45,
      "premarket_volume": 171929.0,
      "momentum_pct": -0.04,
      "consolidation_tightness_pct": 0.19,
      "distance_from_pm_high_pct": 0.27,
      "extension_from_vwap_pct": -0.1,
      "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.12,
    "pm_low": 13.075
  },
  {
    "symbol": "DERM",
    "total_score": 41.83,
    "raw_score": 44.34,
    "breakdown": {
      "price_quality": 2.68,
      "volume_quality": 5.12,
      "rvol": 0.2,
      "volume_acceleration": 4.01,
      "price_momentum": 0.49,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.56,
      "spread_liquidity": 2.83,
      "momentum_consistency": 3.84,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.685,
      "vwap": 7.7014,
      "vwap_slope": 0.0003,
      "rvol": 0.09,
      "volume_acceleration": 1.4,
      "premarket_volume": 42678.0,
      "momentum_pct": 0.33,
      "consolidation_tightness_pct": 0.59,
      "distance_from_pm_high_pct": 0.58,
      "extension_from_vwap_pct": -0.21,
      "spread_pct": 0.65
    },
    "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.73,
    "pm_low": 7.65
  },
  {
    "symbol": "OBDC",
    "total_score": 41.72,
    "raw_score": 44.22,
    "breakdown": {
      "price_quality": 3.71,
      "volume_quality": 12.0,
      "rvol": 1.26,
      "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.71,
      "momentum_consistency": 2.07,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.285,
      "vwap": 11.2947,
      "vwap_slope": -0.0053,
      "rvol": 0.53,
      "volume_acceleration": 1.23,
      "premarket_volume": 263108.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.04,
      "distance_from_pm_high_pct": 0.3,
      "extension_from_vwap_pct": -0.09,
      "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.3195,
    "pm_low": 11.271
  },
  {
    "symbol": "RMAX",
    "total_score": 41.64,
    "raw_score": 44.14,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 5.95,
      "rvol": 0.24,
      "volume_acceleration": 1.93,
      "price_momentum": 0.05,
      "price_structure": 12,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.43,
      "spread_liquidity": 4.31,
      "momentum_consistency": 2.73,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.42,
      "vwap": 14.437,
      "vwap_slope": -0.0089,
      "rvol": 0.1,
      "volume_acceleration": 0.56,
      "premarket_volume": 49618.0,
      "momentum_pct": 0.03,
      "consolidation_tightness_pct": 0.49,
      "distance_from_pm_high_pct": 0.76,
      "extension_from_vwap_pct": -0.12,
      "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.53,
    "pm_low": 14.347
  },
  {
    "symbol": "NEOG",
    "total_score": 41.62,
    "raw_score": 44.12,
    "breakdown": {
      "price_quality": 3.19,
      "volume_quality": 11.44,
      "rvol": 0.46,
      "volume_acceleration": 4.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.59,
      "spread_liquidity": 4.72,
      "momentum_consistency": 1.57,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.815,
      "vwap": 11.8436,
      "vwap_slope": -0.0064,
      "rvol": 0.19,
      "volume_acceleration": 1.48,
      "premarket_volume": 95368.0,
      "momentum_pct": -0.04,
      "consolidation_tightness_pct": 0.3,
      "distance_from_pm_high_pct": 0.55,
      "extension_from_vwap_pct": -0.24,
      "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": 11.88,
    "pm_low": 11.815
  },
  {
    "symbol": "NRDS",
    "total_score": 41.58,
    "raw_score": 44.08,
    "breakdown": {
      "price_quality": 4.98,
      "volume_quality": 8.39,
      "rvol": 0.34,
      "volume_acceleration": 3.96,
      "price_momentum": 0.08,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.81,
      "spread_liquidity": 4.67,
      "momentum_consistency": 3.46,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.985,
      "vwap": 9.9854,
      "vwap_slope": -0.0019,
      "rvol": 0.14,
      "volume_acceleration": 1.14,
      "premarket_volume": 69876.0,
      "momentum_pct": 0.05,
      "consolidation_tightness_pct": 0.15,
      "distance_from_pm_high_pct": 0.25,
      "extension_from_vwap_pct": -0.0,
      "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.01,
    "pm_low": 9.97
  },
  {
    "symbol": "HCKT",
    "total_score": 41.45,
    "raw_score": 43.94,
    "breakdown": {
      "price_quality": 4.18,
      "volume_quality": 4.72,
      "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.59,
      "spread_liquidity": 4.38,
      "momentum_consistency": 2.48,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.8201,
      "vwap": 10.8268,
      "vwap_slope": -0.0203,
      "rvol": 0.08,
      "volume_acceleration": 5.17,
      "premarket_volume": 39326.0,
      "momentum_pct": -0.14,
      "consolidation_tightness_pct": 0.27,
      "distance_from_pm_high_pct": 0.55,
      "extension_from_vwap_pct": -0.06,
      "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": 10.88,
    "pm_low": 10.78
  },
  {
    "symbol": "AIRO",
    "total_score": 41.42,
    "raw_score": 43.91,
    "breakdown": {
      "price_quality": 3.22,
      "volume_quality": 3.44,
      "rvol": 0.14,
      "volume_acceleration": 5.25,
      "price_momentum": 0.18,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.85,
      "spread_liquidity": 3.78,
      "momentum_consistency": 2.84,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.22,
      "vwap": 8.21,
      "vwap_slope": -0.0025,
      "rvol": 0.06,
      "volume_acceleration": 1.53,
      "premarket_volume": 28655.0,
      "momentum_pct": 0.12,
      "consolidation_tightness_pct": 0.34,
      "distance_from_pm_high_pct": 0.19,
      "extension_from_vwap_pct": 0.12,
      "spread_pct": 0.37
    },
    "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.236,
    "pm_low": 8.1919
  },
  {
    "symbol": "MAX",
    "total_score": 41.36,
    "raw_score": 43.84,
    "breakdown": {
      "price_quality": 1.9,
      "volume_quality": 12.0,
      "rvol": 0.74,
      "volume_acceleration": 3.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.71,
      "spread_liquidity": 4.49,
      "momentum_consistency": 3.17,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.1,
      "vwap": 13.108,
      "vwap_slope": -0.0033,
      "rvol": 0.31,
      "volume_acceleration": 1.34,
      "premarket_volume": 155042.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.15,
      "distance_from_pm_high_pct": 0.38,
      "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": false,
      "vwap_rising": false
    },
    "pm_high": 13.15,
    "pm_low": 13.06
  },
  {
    "symbol": "CRK",
    "total_score": 41.33,
    "raw_score": 43.81,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 1.08,
      "volume_acceleration": 3.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.65,
      "spread_liquidity": 4.76,
      "momentum_consistency": 3.23,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.765,
      "vwap": 13.7663,
      "vwap_slope": -0.0002,
      "rvol": 0.45,
      "volume_acceleration": 0.92,
      "premarket_volume": 224303.0,
      "momentum_pct": -0.18,
      "consolidation_tightness_pct": 0.22,
      "distance_from_pm_high_pct": 0.47,
      "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.83,
    "pm_low": 13.725
  },
  {
    "symbol": "KODK",
    "total_score": 41.2,
    "raw_score": 43.67,
    "breakdown": {
      "price_quality": 4.69,
      "volume_quality": 10.83,
      "rvol": 0.43,
      "volume_acceleration": 3.1,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 4.71,
      "spread_liquidity": 4.66,
      "momentum_consistency": 2.86,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.69,
      "vwap": 9.7926,
      "vwap_slope": -0.0348,
      "rvol": 0.18,
      "volume_acceleration": 0.89,
      "premarket_volume": 90260.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.31,
      "distance_from_pm_high_pct": 1.72,
      "extension_from_vwap_pct": -1.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": false
    },
    "pm_high": 9.86,
    "pm_low": 9.68
  },
  {
    "symbol": "RILY",
    "total_score": 40.92,
    "raw_score": 43.37,
    "breakdown": {
      "price_quality": 1.98,
      "volume_quality": 6.56,
      "rvol": 0.26,
      "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.15,
      "spread_liquidity": 4.04,
      "momentum_consistency": 2.98,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.98,
      "vwap": 7.0226,
      "vwap_slope": -0.0101,
      "rvol": 0.11,
      "volume_acceleration": 2.1,
      "premarket_volume": 54641.0,
      "momentum_pct": -0.68,
      "consolidation_tightness_pct": 0.69,
      "distance_from_pm_high_pct": 1.13,
      "extension_from_vwap_pct": -0.61,
      "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": 7.06,
    "pm_low": 6.98
  },
  {
    "symbol": "HSLV",
    "total_score": 40.83,
    "raw_score": 43.28,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 6.16,
      "rvol": 0.25,
      "volume_acceleration": 3.22,
      "price_momentum": 0.14,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.79,
      "spread_liquidity": 4.37,
      "momentum_consistency": 2.67,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.28,
      "vwap": 5.2738,
      "vwap_slope": -0.0001,
      "rvol": 0.1,
      "volume_acceleration": 0.92,
      "premarket_volume": 51317.0,
      "momentum_pct": 0.09,
      "consolidation_tightness_pct": 0.28,
      "distance_from_pm_high_pct": 0.28,
      "extension_from_vwap_pct": 0.12,
      "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": false
    },
    "pm_high": 5.295,
    "pm_low": 5.26
  },
  {
    "symbol": "DNA",
    "total_score": 40.59,
    "raw_score": 43.02,
    "breakdown": {
      "price_quality": 2.09,
      "volume_quality": 12.0,
      "rvol": 0.63,
      "volume_acceleration": 4.01,
      "price_momentum": 0.11,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 4.8,
      "spread_liquidity": 4.06,
      "momentum_consistency": 2.92,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.09,
      "vwap": 7.1185,
      "vwap_slope": -0.0152,
      "rvol": 0.26,
      "volume_acceleration": 1.4,
      "premarket_volume": 131713.0,
      "momentum_pct": 0.07,
      "consolidation_tightness_pct": 0.35,
      "distance_from_pm_high_pct": 1.6,
      "extension_from_vwap_pct": -0.4,
      "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": false,
      "vwap_rising": false
    },
    "pm_high": 7.205,
    "pm_low": 7.07
  },
  {
    "symbol": "LYNX",
    "total_score": 40.3,
    "raw_score": 42.72,
    "breakdown": {
      "price_quality": 0.0,
      "volume_quality": 12.0,
      "rvol": 1.75,
      "volume_acceleration": 3.86,
      "price_momentum": 0.05,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.49,
      "spread_liquidity": 3.92,
      "momentum_consistency": 3.25,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 15.395,
      "vwap": 15.4407,
      "vwap_slope": -0.0105,
      "rvol": 0.73,
      "volume_acceleration": 1.11,
      "premarket_volume": 364815.0,
      "momentum_pct": 0.03,
      "consolidation_tightness_pct": 0.39,
      "distance_from_pm_high_pct": 0.68,
      "extension_from_vwap_pct": -0.3,
      "spread_pct": 0.32
    },
    "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.5,
    "pm_low": 15.34
  },
  {
    "symbol": "QUAD",
    "total_score": 40.19,
    "raw_score": 42.6,
    "breakdown": {
      "price_quality": 4.78,
      "volume_quality": 2.78,
      "rvol": 0.11,
      "volume_acceleration": 3.01,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.63,
      "spread_liquidity": 4.02,
      "momentum_consistency": 2.67,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.22,
      "vwap": 10.2307,
      "vwap_slope": 0.0171,
      "rvol": 0.05,
      "volume_acceleration": 1.3,
      "premarket_volume": 23183.0,
      "momentum_pct": -0.29,
      "consolidation_tightness_pct": 0.49,
      "distance_from_pm_high_pct": 0.49,
      "extension_from_vwap_pct": -0.11,
      "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": true
    },
    "pm_high": 10.27,
    "pm_low": 10.18
  },
  {
    "symbol": "NEWT",
    "total_score": 40.02,
    "raw_score": 42.42,
    "breakdown": {
      "price_quality": 2.56,
      "volume_quality": 2.46,
      "rvol": 0.1,
      "volume_acceleration": 5.39,
      "price_momentum": 0.48,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.76,
      "spread_liquidity": 4.46,
      "momentum_consistency": 2.0,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.44,
      "vwap": 12.4263,
      "vwap_slope": -0.0202,
      "rvol": 0.04,
      "volume_acceleration": 1.54,
      "premarket_volume": 20539.0,
      "momentum_pct": 0.32,
      "consolidation_tightness_pct": 0.52,
      "distance_from_pm_high_pct": 0.32,
      "extension_from_vwap_pct": 0.11,
      "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": 12.48,
    "pm_low": 12.36
  },
  {
    "symbol": "BV",
    "total_score": 40.01,
    "raw_score": 42.41,
    "breakdown": {
      "price_quality": 3.81,
      "volume_quality": 8.44,
      "rvol": 0.34,
      "volume_acceleration": 4.94,
      "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.4,
      "momentum_consistency": 2.34,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.19,
      "vwap": 11.1983,
      "vwap_slope": -0.001,
      "rvol": 0.14,
      "volume_acceleration": 1.49,
      "premarket_volume": 70347.0,
      "momentum_pct": -0.04,
      "consolidation_tightness_pct": 0.13,
      "distance_from_pm_high_pct": 0.36,
      "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": false,
      "vwap_rising": false
    },
    "pm_high": 11.23,
    "pm_low": 11.175
  },
  {
    "symbol": "DCH",
    "total_score": 39.58,
    "raw_score": 41.95,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 0.81,
      "volume_acceleration": 3.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.65,
      "spread_liquidity": 4.48,
      "momentum_consistency": 1.6,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.355,
      "vwap": 6.3636,
      "vwap_slope": -0.0038,
      "rvol": 0.34,
      "volume_acceleration": 1.01,
      "premarket_volume": 168038.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.24,
      "distance_from_pm_high_pct": 0.47,
      "extension_from_vwap_pct": -0.13,
      "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.385,
    "pm_low": 6.34
  },
  {
    "symbol": "BHVN",
    "total_score": 39.45,
    "raw_score": 41.82,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 1.05,
      "volume_acceleration": 2.38,
      "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.51,
      "momentum_consistency": 2.48,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.73,
      "vwap": 13.7716,
      "vwap_slope": -0.0009,
      "rvol": 0.44,
      "volume_acceleration": 0.68,
      "premarket_volume": 219592.0,
      "momentum_pct": -0.15,
      "consolidation_tightness_pct": 0.44,
      "distance_from_pm_high_pct": 0.69,
      "extension_from_vwap_pct": -0.3,
      "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.825,
    "pm_low": 13.69
  },
  {
    "symbol": "SWBI",
    "total_score": 39.06,
    "raw_score": 41.41,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 10.95,
      "rvol": 0.44,
      "volume_acceleration": 3.19,
      "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.76,
      "momentum_consistency": 2.43,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.96,
      "vwap": 13.9788,
      "vwap_slope": -0.0011,
      "rvol": 0.18,
      "volume_acceleration": 0.92,
      "premarket_volume": 91235.0,
      "momentum_pct": -0.25,
      "consolidation_tightness_pct": 0.32,
      "distance_from_pm_high_pct": 0.36,
      "extension_from_vwap_pct": -0.13,
      "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.01,
    "pm_low": 13.95
  },
  {
    "symbol": "VIPS",
    "total_score": 38.89,
    "raw_score": 41.22,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 1.26,
      "volume_acceleration": 1.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.69,
      "spread_liquidity": 4.77,
      "momentum_consistency": 1.63,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.365,
      "vwap": 14.3798,
      "vwap_slope": -0.0004,
      "rvol": 0.53,
      "volume_acceleration": 0.57,
      "premarket_volume": 263187.0,
      "momentum_pct": -0.14,
      "consolidation_tightness_pct": 0.17,
      "distance_from_pm_high_pct": 0.42,
      "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.425,
    "pm_low": 14.345
  },
  {
    "symbol": "HNST",
    "total_score": 38.77,
    "raw_score": 41.1,
    "breakdown": {
      "price_quality": 0.0,
      "volume_quality": 12.0,
      "rvol": 1.08,
      "volume_acceleration": 4.26,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.4,
      "spread_liquidity": 4.33,
      "momentum_consistency": 1.63,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 4.975,
      "vwap": 4.9784,
      "vwap_slope": -0.0017,
      "rvol": 0.45,
      "volume_acceleration": 1.43,
      "premarket_volume": 224741.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.3,
      "distance_from_pm_high_pct": 0.8,
      "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.015,
    "pm_low": 4.96
  },
  {
    "symbol": "ARVN",
    "total_score": 38.63,
    "raw_score": 40.94,
    "breakdown": {
      "price_quality": 4.03,
      "volume_quality": 5.77,
      "rvol": 0.23,
      "volume_acceleration": 6.24,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.1,
      "spread_liquidity": 4.63,
      "momentum_consistency": 2.54,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.03,
      "vwap": 9.055,
      "vwap_slope": -0.0096,
      "rvol": 0.1,
      "volume_acceleration": 1.62,
      "premarket_volume": 48120.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.17,
      "distance_from_pm_high_pct": 1.2,
      "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": false,
      "vwap_rising": false
    },
    "pm_high": 9.14,
    "pm_low": 9.02
  },
  {
    "symbol": "ASLE",
    "total_score": 38.54,
    "raw_score": 40.86,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 0.58,
      "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": 4.42,
      "spread_liquidity": 4.4,
      "momentum_consistency": 1.69,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.56,
      "vwap": 5.6365,
      "vwap_slope": -0.0245,
      "rvol": 0.24,
      "volume_acceleration": 1.39,
      "premarket_volume": 119942.0,
      "momentum_pct": -0.36,
      "consolidation_tightness_pct": 0.72,
      "distance_from_pm_high_pct": 2.11,
      "extension_from_vwap_pct": -1.36,
      "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": 5.68,
    "pm_low": 5.56
  },
  {
    "symbol": "GTN",
    "total_score": 38.37,
    "raw_score": 40.67,
    "breakdown": {
      "price_quality": 0.0,
      "volume_quality": 12.0,
      "rvol": 0.5,
      "volume_acceleration": 3.1,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.31,
      "spread_liquidity": 4.31,
      "momentum_consistency": 3.05,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 4.855,
      "vwap": 4.8729,
      "vwap_slope": -0.0013,
      "rvol": 0.21,
      "volume_acceleration": 0.89,
      "premarket_volume": 104493.0,
      "momentum_pct": -0.31,
      "consolidation_tightness_pct": 0.41,
      "distance_from_pm_high_pct": 0.92,
      "extension_from_vwap_pct": -0.37,
      "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": false,
      "vwap_rising": false
    },
    "pm_high": 4.9,
    "pm_low": 4.845
  },
  {
    "symbol": "AVO",
    "total_score": 38.3,
    "raw_score": 40.6,
    "breakdown": {
      "price_quality": 1.79,
      "volume_quality": 2.65,
      "rvol": 0.11,
      "volume_acceleration": 3.62,
      "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.5,
      "momentum_consistency": 2.56,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.21,
      "vwap": 13.2229,
      "vwap_slope": 0.0056,
      "rvol": 0.04,
      "volume_acceleration": 1.04,
      "premarket_volume": 22113.0,
      "momentum_pct": -0.15,
      "consolidation_tightness_pct": 0.23,
      "distance_from_pm_high_pct": 0.3,
      "extension_from_vwap_pct": -0.1,
      "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.25,
    "pm_low": 13.2
  },
  {
    "symbol": "KMDA",
    "total_score": 38.27,
    "raw_score": 40.56,
    "breakdown": {
      "price_quality": 3.01,
      "volume_quality": 3.87,
      "rvol": 0.15,
      "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.53,
      "spread_liquidity": 3.75,
      "momentum_consistency": 1.85,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.01,
      "vwap": 8.0173,
      "vwap_slope": -0.0385,
      "rvol": 0.06,
      "volume_acceleration": 5.47,
      "premarket_volume": 32211.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.5,
      "distance_from_pm_high_pct": 0.62,
      "extension_from_vwap_pct": -0.09,
      "spread_pct": 0.37
    },
    "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.06,
    "pm_low": 7.99
  },
  {
    "symbol": "FRNM",
    "total_score": 38.14,
    "raw_score": 40.43,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 9.97,
      "rvol": 0.4,
      "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.0,
      "spread_liquidity": 4.51,
      "momentum_consistency": 2.72,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.685,
      "vwap": 13.734,
      "vwap_slope": -0.0014,
      "rvol": 0.17,
      "volume_acceleration": 1.13,
      "premarket_volume": 83051.0,
      "momentum_pct": -0.15,
      "consolidation_tightness_pct": 0.37,
      "distance_from_pm_high_pct": 1.33,
      "extension_from_vwap_pct": -0.36,
      "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.87,
    "pm_low": 13.67
  },
  {
    "symbol": "CXDO",
    "total_score": 38.12,
    "raw_score": 40.4,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 2.82,
      "rvol": 0.11,
      "volume_acceleration": 3.75,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.53,
      "spread_liquidity": 3.95,
      "momentum_consistency": 3.14,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.32,
      "vwap": 6.3319,
      "vwap_slope": 0.0008,
      "rvol": 0.05,
      "volume_acceleration": 1.08,
      "premarket_volume": 23489.0,
      "momentum_pct": -0.47,
      "consolidation_tightness_pct": 0.47,
      "distance_from_pm_high_pct": 0.63,
      "extension_from_vwap_pct": -0.19,
      "spread_pct": 0.32
    },
    "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.36,
    "pm_low": 6.31
  },
  {
    "symbol": "FISN",
    "total_score": 37.49,
    "raw_score": 39.74,
    "breakdown": {
      "price_quality": 2.77,
      "volume_quality": 2.64,
      "rvol": 0.11,
      "volume_acceleration": 2.03,
      "price_momentum": 0.58,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 6,
      "spread_liquidity": 2.42,
      "momentum_consistency": 4.0,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.77,
      "vwap": 7.7162,
      "vwap_slope": -0.0188,
      "rvol": 0.04,
      "volume_acceleration": 0.58,
      "premarket_volume": 21994.0,
      "momentum_pct": 0.39,
      "consolidation_tightness_pct": 0.58,
      "distance_from_pm_high_pct": 0.0,
      "extension_from_vwap_pct": 0.7,
      "spread_pct": 0.78
    },
    "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.77,
    "pm_low": 7.68
  },
  {
    "symbol": "QMLS",
    "total_score": 36.51,
    "raw_score": 38.7,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 6.53,
      "rvol": 0.26,
      "volume_acceleration": 1.27,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 3.99,
      "spread_liquidity": 2.55,
      "momentum_consistency": 3.0,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.44,
      "vwap": 5.4769,
      "vwap_slope": 0.003,
      "rvol": 0.11,
      "volume_acceleration": 0.36,
      "premarket_volume": 54445.0,
      "momentum_pct": -1.09,
      "consolidation_tightness_pct": 1.28,
      "distance_from_pm_high_pct": 2.68,
      "extension_from_vwap_pct": -0.67,
      "spread_pct": 0.73
    },
    "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.59,
    "pm_low": 5.4
  },
  {
    "symbol": "MH",
    "total_score": 35.64,
    "raw_score": 37.77,
    "breakdown": {
      "price_quality": 2.17,
      "volume_quality": 7.31,
      "rvol": 0.29,
      "volume_acceleration": 3.32,
      "price_momentum": 0.12,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.54,
      "spread_liquidity": 4.74,
      "momentum_consistency": 1.88,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.83,
      "vwap": 12.8544,
      "vwap_slope": -0.0115,
      "rvol": 0.12,
      "volume_acceleration": 0.96,
      "premarket_volume": 60941.0,
      "momentum_pct": 0.08,
      "consolidation_tightness_pct": 0.27,
      "distance_from_pm_high_pct": 0.62,
      "extension_from_vwap_pct": -0.19,
      "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.91,
    "pm_low": 12.79
  },
  {
    "symbol": "HOPE",
    "total_score": 35.34,
    "raw_score": 37.46,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 7.74,
      "rvol": 0.31,
      "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.73,
      "spread_liquidity": 4.76,
      "momentum_consistency": 1.33,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.965,
      "vwap": 13.969,
      "vwap_slope": -0.0029,
      "rvol": 0.13,
      "volume_acceleration": 1.37,
      "premarket_volume": 64508.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.14,
      "distance_from_pm_high_pct": 0.36,
      "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.015,
    "pm_low": 13.95
  },
  {
    "symbol": "RMNI",
    "total_score": 34.82,
    "raw_score": 36.91,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 9.84,
      "rvol": 0.39,
      "volume_acceleration": 0.8,
      "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.34,
      "momentum_consistency": 2.29,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.085,
      "vwap": 5.1006,
      "vwap_slope": -0.002,
      "rvol": 0.16,
      "volume_acceleration": 0.23,
      "premarket_volume": 81972.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.1,
      "distance_from_pm_high_pct": 0.88,
      "extension_from_vwap_pct": -0.31,
      "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.13,
    "pm_low": 5.08
  },
  {
    "symbol": "XMAX",
    "total_score": 34.77,
    "raw_score": 36.86,
    "breakdown": {
      "price_quality": 3.63,
      "volume_quality": 7.14,
      "rvol": 0.29,
      "volume_acceleration": 1.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.61,
      "spread_liquidity": 4.23,
      "momentum_consistency": 1.67,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.635,
      "vwap": 8.654,
      "vwap_slope": -0.0021,
      "rvol": 0.12,
      "volume_acceleration": 0.54,
      "premarket_volume": 59525.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.17,
      "distance_from_pm_high_pct": 0.52,
      "extension_from_vwap_pct": -0.22,
      "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.68,
    "pm_low": 8.63
  },
  {
    "symbol": "PAYS",
    "total_score": 34.69,
    "raw_score": 36.77,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 6.77,
      "rvol": 0.27,
      "volume_acceleration": 3.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.73,
      "spread_liquidity": 4.03,
      "momentum_consistency": 2.48,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.72,
      "vwap": 13.7206,
      "vwap_slope": -0.0007,
      "rvol": 0.11,
      "volume_acceleration": 1.03,
      "premarket_volume": 56395.0,
      "momentum_pct": -0.22,
      "consolidation_tightness_pct": 0.47,
      "distance_from_pm_high_pct": 0.36,
      "extension_from_vwap_pct": -0.0,
      "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": 13.77,
    "pm_low": 13.67
  },
  {
    "symbol": "KBDC",
    "total_score": 34.61,
    "raw_score": 36.69,
    "breakdown": {
      "price_quality": 1.64,
      "volume_quality": 7.71,
      "rvol": 0.31,
      "volume_acceleration": 2.54,
      "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": 4.75,
      "momentum_consistency": 1.9,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.36,
      "vwap": 13.4159,
      "vwap_slope": -0.0137,
      "rvol": 0.13,
      "volume_acceleration": 0.73,
      "premarket_volume": 64223.0,
      "momentum_pct": -0.07,
      "consolidation_tightness_pct": 0.15,
      "distance_from_pm_high_pct": 0.74,
      "extension_from_vwap_pct": -0.42,
      "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.46,
    "pm_low": 13.36
  },
  {
    "symbol": "TBCH",
    "total_score": 34.58,
    "raw_score": 36.66,
    "breakdown": {
      "price_quality": 2.89,
      "volume_quality": 4.29,
      "rvol": 0.17,
      "volume_acceleration": 4.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.63,
      "spread_liquidity": 4.45,
      "momentum_consistency": 2.22,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.11,
      "vwap": 12.1195,
      "vwap_slope": -0.0013,
      "rvol": 0.07,
      "volume_acceleration": 1.46,
      "premarket_volume": 35745.0,
      "momentum_pct": -0.21,
      "consolidation_tightness_pct": 0.24,
      "distance_from_pm_high_pct": 0.49,
      "extension_from_vwap_pct": -0.08,
      "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.17,
    "pm_low": 12.06
  },
  {
    "symbol": "FPI",
    "total_score": 34.54,
    "raw_score": 36.62,
    "breakdown": {
      "price_quality": 4.84,
      "volume_quality": 4.06,
      "rvol": 0.16,
      "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.82,
      "spread_liquidity": 4.67,
      "momentum_consistency": 2.51,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.165,
      "vwap": 10.1775,
      "vwap_slope": -0.0033,
      "rvol": 0.07,
      "volume_acceleration": 1.22,
      "premarket_volume": 33874.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.1,
      "distance_from_pm_high_pct": 0.25,
      "extension_from_vwap_pct": -0.12,
      "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.19,
    "pm_low": 10.165
  },
  {
    "symbol": "CARS",
    "total_score": 34.1,
    "raw_score": 36.14,
    "breakdown": {
      "price_quality": 2.71,
      "volume_quality": 5.31,
      "rvol": 0.21,
      "volume_acceleration": 2.89,
      "price_momentum": 0.37,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.85,
      "spread_liquidity": 4.46,
      "momentum_consistency": 1.95,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.29,
      "vwap": 12.2936,
      "vwap_slope": -0.0051,
      "rvol": 0.09,
      "volume_acceleration": 1.29,
      "premarket_volume": 44274.0,
      "momentum_pct": 0.24,
      "consolidation_tightness_pct": 0.24,
      "distance_from_pm_high_pct": 0.2,
      "extension_from_vwap_pct": -0.03,
      "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.315,
    "pm_low": 12.26
  },
  {
    "symbol": "DFH",
    "total_score": 32.07,
    "raw_score": 33.99,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 6.33,
      "rvol": 0.25,
      "volume_acceleration": 1.94,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.14,
      "spread_liquidity": 4.32,
      "momentum_consistency": 2.11,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.72,
      "vwap": 14.8119,
      "vwap_slope": -0.0213,
      "rvol": 0.11,
      "volume_acceleration": 0.56,
      "premarket_volume": 52731.0,
      "momentum_pct": -0.27,
      "consolidation_tightness_pct": 0.27,
      "distance_from_pm_high_pct": 1.14,
      "extension_from_vwap_pct": -0.62,
      "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": 14.89,
    "pm_low": 14.72
  },
  {
    "symbol": "IHS",
    "total_score": 31.75,
    "raw_score": 33.66,
    "breakdown": {
      "price_quality": 3.35,
      "volume_quality": 2.72,
      "rvol": 0.11,
      "volume_acceleration": 3.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.96,
      "spread_liquidity": 4.6,
      "momentum_consistency": 1.33,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.345,
      "vwap": 8.3463,
      "vwap_slope": -0.0003,
      "rvol": 0.05,
      "volume_acceleration": 0.92,
      "premarket_volume": 22633.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.06,
      "distance_from_pm_high_pct": 0.06,
      "extension_from_vwap_pct": -0.02,
      "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.35,
    "pm_low": 8.34
  },
  {
    "symbol": "MRTN",
    "total_score": 31.16,
    "raw_score": 33.03,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 3.82,
      "rvol": 0.15,
      "volume_acceleration": 2.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.85,
      "spread_liquidity": 4.77,
      "momentum_consistency": 1.56,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.745,
      "vwap": 14.7566,
      "vwap_slope": -0.0015,
      "rvol": 0.06,
      "volume_acceleration": 0.85,
      "premarket_volume": 31834.0,
      "momentum_pct": -0.07,
      "consolidation_tightness_pct": 0.1,
      "distance_from_pm_high_pct": 0.2,
      "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": false,
      "vwap_rising": false
    },
    "pm_high": 14.775,
    "pm_low": 14.745
  },
  {
    "symbol": "GCMG",
    "total_score": 30.11,
    "raw_score": 31.91,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 2.93,
      "rvol": 0.12,
      "volume_acceleration": 2.38,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.5,
      "spread_liquidity": 4.75,
      "momentum_consistency": 2.33,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.51,
      "vwap": 13.5583,
      "vwap_slope": -0.0148,
      "rvol": 0.05,
      "volume_acceleration": 1.24,
      "premarket_volume": 24378.0,
      "momentum_pct": -0.15,
      "consolidation_tightness_pct": 0.37,
      "distance_from_pm_high_pct": 0.66,
      "extension_from_vwap_pct": -0.36,
      "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.6,
    "pm_low": 13.51
  },
  {
    "symbol": "PSFE",
    "total_score": 29.97,
    "raw_score": 31.77,
    "breakdown": {
      "price_quality": 1.52,
      "volume_quality": 2.78,
      "rvol": 0.11,
      "volume_acceleration": 2.96,
      "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": 3.98,
      "momentum_consistency": 2.37,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.52,
      "vwap": 6.5363,
      "vwap_slope": -0.0055,
      "rvol": 0.05,
      "volume_acceleration": 0.85,
      "premarket_volume": 23127.0,
      "momentum_pct": -0.15,
      "consolidation_tightness_pct": 0.15,
      "distance_from_pm_high_pct": 0.46,
      "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": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 6.55,
    "pm_low": 6.51
  }
]