[
  {
    "symbol": "F",
    "total_score": 79.17,
    "raw_score": 83.92,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 12.0,
      "volume_acceleration": 5.98,
      "price_momentum": 1.83,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.84,
      "spread_liquidity": 4.77,
      "momentum_consistency": 4.0,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.445,
      "vwap": 14.2809,
      "vwap_slope": 0.0506,
      "rvol": 15.3,
      "volume_acceleration": 1.6,
      "premarket_volume": 7650335.0,
      "momentum_pct": 1.22,
      "consolidation_tightness_pct": 1.57,
      "distance_from_pm_high_pct": 0.21,
      "extension_from_vwap_pct": 1.15,
      "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.475,
    "pm_low": 14.15
  },
  {
    "symbol": "PGEN",
    "total_score": 74.92,
    "raw_score": 79.41,
    "breakdown": {
      "price_quality": 2.13,
      "volume_quality": 12.0,
      "rvol": 4.09,
      "volume_acceleration": 10,
      "price_momentum": 1.17,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 6,
      "spread_liquidity": 4.53,
      "momentum_consistency": 3.49,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.13,
      "vwap": 7.0543,
      "vwap_slope": 0.0144,
      "rvol": 1.53,
      "volume_acceleration": 2.17,
      "premarket_volume": 767359.0,
      "momentum_pct": 0.78,
      "consolidation_tightness_pct": 0.78,
      "distance_from_pm_high_pct": 0.0,
      "extension_from_vwap_pct": 1.07,
      "spread_pct": 0.14
    },
    "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": 7.13,
    "pm_low": 6.975
  },
  {
    "symbol": "UUUU",
    "total_score": 73.62,
    "raw_score": 78.04,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 3.15,
      "volume_acceleration": 10,
      "price_momentum": 0.61,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.8,
      "spread_liquidity": 4.78,
      "momentum_consistency": 4.2,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.825,
      "vwap": 14.7571,
      "vwap_slope": 0.0232,
      "rvol": 1.31,
      "volume_acceleration": 2.87,
      "premarket_volume": 656759.0,
      "momentum_pct": 0.41,
      "consolidation_tightness_pct": 0.49,
      "distance_from_pm_high_pct": 0.27,
      "extension_from_vwap_pct": 0.46,
      "spread_pct": 0.07
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 14.865,
    "pm_low": 14.625
  },
  {
    "symbol": "GO",
    "total_score": 72.41,
    "raw_score": 76.76,
    "breakdown": {
      "price_quality": 3.62,
      "volume_quality": 12.0,
      "rvol": 1.37,
      "volume_acceleration": 10,
      "price_momentum": 0.26,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.93,
      "spread_liquidity": 4.71,
      "momentum_consistency": 2.86,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.375,
      "vwap": 11.3029,
      "vwap_slope": 0.0307,
      "rvol": 0.57,
      "volume_acceleration": 2.14,
      "premarket_volume": 285520.0,
      "momentum_pct": 0.18,
      "consolidation_tightness_pct": 0.4,
      "distance_from_pm_high_pct": 0.09,
      "extension_from_vwap_pct": 0.64,
      "spread_pct": 0.09
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 11.385,
    "pm_low": 11.22
  },
  {
    "symbol": "AGNC",
    "total_score": 71.54,
    "raw_score": 75.83,
    "breakdown": {
      "price_quality": 3.96,
      "volume_quality": 12.0,
      "rvol": 9.67,
      "volume_acceleration": 10,
      "price_momentum": 0.07,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.87,
      "spread_liquidity": 4.7,
      "momentum_consistency": 3.17,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.0402,
      "vwap": 11.0356,
      "vwap_slope": 0.0012,
      "rvol": 3.63,
      "volume_acceleration": 2.34,
      "premarket_volume": 1812541.0,
      "momentum_pct": 0.05,
      "consolidation_tightness_pct": 0.18,
      "distance_from_pm_high_pct": 0.18,
      "extension_from_vwap_pct": 0.04,
      "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.06,
    "pm_low": 11.0
  },
  {
    "symbol": "CRNC",
    "total_score": 70.08,
    "raw_score": 74.29,
    "breakdown": {
      "price_quality": 3.13,
      "volume_quality": 11.09,
      "rvol": 0.44,
      "volume_acceleration": 10,
      "price_momentum": 0.46,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.95,
      "spread_liquidity": 4.59,
      "momentum_consistency": 2.62,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.135,
      "vwap": 8.1194,
      "vwap_slope": 0.0021,
      "rvol": 0.18,
      "volume_acceleration": 2.08,
      "premarket_volume": 92389.0,
      "momentum_pct": 0.31,
      "consolidation_tightness_pct": 0.43,
      "distance_from_pm_high_pct": 0.06,
      "extension_from_vwap_pct": 0.19,
      "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.14,
    "pm_low": 8.1
  },
  {
    "symbol": "RIG",
    "total_score": 69.46,
    "raw_score": 73.63,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 12.0,
      "volume_acceleration": 8.72,
      "price_momentum": 0.13,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.87,
      "spread_liquidity": 4.43,
      "momentum_consistency": 2.58,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.87,
      "vwap": 5.8522,
      "vwap_slope": 0.002,
      "rvol": 4.77,
      "volume_acceleration": 1.87,
      "premarket_volume": 2385540.0,
      "momentum_pct": 0.09,
      "consolidation_tightness_pct": 0.34,
      "distance_from_pm_high_pct": 0.17,
      "extension_from_vwap_pct": 0.3,
      "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.88,
    "pm_low": 5.8301
  },
  {
    "symbol": "SRAD",
    "total_score": 69.42,
    "raw_score": 73.59,
    "breakdown": {
      "price_quality": 2.01,
      "volume_quality": 12.0,
      "rvol": 1.91,
      "volume_acceleration": 7.87,
      "price_momentum": 0.0,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.86,
      "spread_liquidity": 4.74,
      "momentum_consistency": 3.2,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.99,
      "vwap": 12.9825,
      "vwap_slope": 0.0001,
      "rvol": 0.8,
      "volume_acceleration": 1.79,
      "premarket_volume": 397791.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.15,
      "distance_from_pm_high_pct": 0.19,
      "extension_from_vwap_pct": 0.06,
      "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.015,
    "pm_low": 12.905
  },
  {
    "symbol": "STLA",
    "total_score": 68.91,
    "raw_score": 73.04,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 8.89,
      "volume_acceleration": 1.61,
      "price_momentum": 0.42,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.79,
      "spread_liquidity": 4.39,
      "momentum_consistency": 2.44,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.425,
      "vwap": 5.4022,
      "vwap_slope": 0.0061,
      "rvol": 3.33,
      "volume_acceleration": 1.16,
      "premarket_volume": 1667479.0,
      "momentum_pct": 0.28,
      "consolidation_tightness_pct": 0.74,
      "distance_from_pm_high_pct": 0.27,
      "extension_from_vwap_pct": 0.42,
      "spread_pct": 0.18
    },
    "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": 5.4399,
    "pm_low": 5.38
  },
  {
    "symbol": "NXE",
    "total_score": 67.53,
    "raw_score": 71.59,
    "breakdown": {
      "price_quality": 4.52,
      "volume_quality": 12.0,
      "rvol": 4.2,
      "volume_acceleration": 10,
      "price_momentum": 0.43,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.96,
      "spread_liquidity": 4.68,
      "momentum_consistency": 3.39,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.485,
      "vwap": 10.4356,
      "vwap_slope": 0.0395,
      "rvol": 1.58,
      "volume_acceleration": 3.0,
      "premarket_volume": 788407.0,
      "momentum_pct": 0.29,
      "consolidation_tightness_pct": 0.53,
      "distance_from_pm_high_pct": 0.05,
      "extension_from_vwap_pct": 0.47,
      "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.49,
    "pm_low": 10.345
  },
  {
    "symbol": "TRLV",
    "total_score": 67.49,
    "raw_score": 71.54,
    "breakdown": {
      "price_quality": 4.96,
      "volume_quality": 12.0,
      "rvol": 1.93,
      "volume_acceleration": 1.44,
      "price_momentum": 0.98,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.78,
      "spread_liquidity": 4.0,
      "momentum_consistency": 4.46,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.04,
      "vwap": 9.969,
      "vwap_slope": 0.0088,
      "rvol": 0.8,
      "volume_acceleration": 0.41,
      "premarket_volume": 401908.0,
      "momentum_pct": 0.65,
      "consolidation_tightness_pct": 0.9,
      "distance_from_pm_high_pct": 0.3,
      "extension_from_vwap_pct": 0.71,
      "spread_pct": 0.3
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 10.07,
    "pm_low": 9.845
  },
  {
    "symbol": "NMAX",
    "total_score": 66.57,
    "raw_score": 70.56,
    "breakdown": {
      "price_quality": 3.92,
      "volume_quality": 12.0,
      "rvol": 0.86,
      "volume_acceleration": 3.21,
      "price_momentum": 0.55,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 6,
      "spread_liquidity": 4.1,
      "momentum_consistency": 3.93,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.08,
      "vwap": 10.9396,
      "vwap_slope": 0.0406,
      "rvol": 0.36,
      "volume_acceleration": 1.32,
      "premarket_volume": 178783.0,
      "momentum_pct": 0.36,
      "consolidation_tightness_pct": 0.63,
      "distance_from_pm_high_pct": 0.0,
      "extension_from_vwap_pct": 1.28,
      "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": 11.08,
    "pm_low": 10.84
  },
  {
    "symbol": "GOOS",
    "total_score": 66.41,
    "raw_score": 70.4,
    "breakdown": {
      "price_quality": 3.76,
      "volume_quality": 12.0,
      "rvol": 0.96,
      "volume_acceleration": 2.66,
      "price_momentum": 1.04,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 6,
      "spread_liquidity": 4.62,
      "momentum_consistency": 3.37,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.755,
      "vwap": 8.7108,
      "vwap_slope": 0.0017,
      "rvol": 0.4,
      "volume_acceleration": 0.77,
      "premarket_volume": 199010.0,
      "momentum_pct": 0.69,
      "consolidation_tightness_pct": 0.74,
      "distance_from_pm_high_pct": 0.0,
      "extension_from_vwap_pct": 0.51,
      "spread_pct": 0.11
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 8.755,
    "pm_low": 8.615
  },
  {
    "symbol": "TU",
    "total_score": 66.29,
    "raw_score": 70.27,
    "breakdown": {
      "price_quality": 4.98,
      "volume_quality": 12.0,
      "rvol": 4.15,
      "volume_acceleration": 9.51,
      "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.67,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.015,
      "vwap": 10.0089,
      "vwap_slope": 0.0008,
      "rvol": 1.56,
      "volume_acceleration": 1.95,
      "premarket_volume": 778710.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.1,
      "distance_from_pm_high_pct": 0.15,
      "extension_from_vwap_pct": 0.06,
      "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.03,
    "pm_low": 9.975
  },
  {
    "symbol": "ABSI",
    "total_score": 66.29,
    "raw_score": 70.27,
    "breakdown": {
      "price_quality": 4.76,
      "volume_quality": 12.0,
      "rvol": 1.69,
      "volume_acceleration": 2.21,
      "price_momentum": 0.31,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 4.98,
      "spread_liquidity": 4.66,
      "momentum_consistency": 3.66,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.755,
      "vwap": 9.7392,
      "vwap_slope": 0.0008,
      "rvol": 0.71,
      "volume_acceleration": 0.64,
      "premarket_volume": 352715.0,
      "momentum_pct": 0.21,
      "consolidation_tightness_pct": 0.41,
      "distance_from_pm_high_pct": 1.37,
      "extension_from_vwap_pct": 0.16,
      "spread_pct": 0.1
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 9.89,
    "pm_low": 9.68
  },
  {
    "symbol": "DNA",
    "total_score": 65.84,
    "raw_score": 69.79,
    "breakdown": {
      "price_quality": 2.54,
      "volume_quality": 12.0,
      "rvol": 0.7,
      "volume_acceleration": 5.0,
      "price_momentum": 0.2,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.95,
      "spread_liquidity": 4.12,
      "momentum_consistency": 3.29,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.54,
      "vwap": 7.5066,
      "vwap_slope": 0.008,
      "rvol": 0.29,
      "volume_acceleration": 1.5,
      "premarket_volume": 146589.0,
      "momentum_pct": 0.13,
      "consolidation_tightness_pct": 0.27,
      "distance_from_pm_high_pct": 0.07,
      "extension_from_vwap_pct": 0.44,
      "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.545,
    "pm_low": 7.43
  },
  {
    "symbol": "CLF",
    "total_score": 65.74,
    "raw_score": 69.68,
    "breakdown": {
      "price_quality": 3.49,
      "volume_quality": 12.0,
      "rvol": 12.0,
      "volume_acceleration": 2.04,
      "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.71,
      "momentum_consistency": 3.53,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.505,
      "vwap": 11.3358,
      "vwap_slope": 0.0244,
      "rvol": 17.5,
      "volume_acceleration": 0.59,
      "premarket_volume": 8752296.0,
      "momentum_pct": -0.09,
      "consolidation_tightness_pct": 0.91,
      "distance_from_pm_high_pct": 0.65,
      "extension_from_vwap_pct": 1.49,
      "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.58,
    "pm_low": 11.14
  },
  {
    "symbol": "NU",
    "total_score": 65.42,
    "raw_score": 69.35,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 12.0,
      "volume_acceleration": 3.84,
      "price_momentum": 0.15,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.84,
      "spread_liquidity": 4.77,
      "momentum_consistency": 2.85,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.5295,
      "vwap": 14.5165,
      "vwap_slope": 0.0015,
      "rvol": 20.1,
      "volume_acceleration": 1.1,
      "premarket_volume": 10050499.0,
      "momentum_pct": 0.1,
      "consolidation_tightness_pct": 0.14,
      "distance_from_pm_high_pct": 0.21,
      "extension_from_vwap_pct": 0.09,
      "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.56,
    "pm_low": 14.47
  },
  {
    "symbol": "STUB",
    "total_score": 64.82,
    "raw_score": 68.71,
    "breakdown": {
      "price_quality": 1.93,
      "volume_quality": 12.0,
      "rvol": 3.12,
      "volume_acceleration": 3.35,
      "price_momentum": 0.22,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.95,
      "spread_liquidity": 4.52,
      "momentum_consistency": 1.63,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.935,
      "vwap": 6.9228,
      "vwap_slope": 0.0012,
      "rvol": 1.3,
      "volume_acceleration": 1.33,
      "premarket_volume": 650509.0,
      "momentum_pct": 0.14,
      "consolidation_tightness_pct": 0.27,
      "distance_from_pm_high_pct": 0.07,
      "extension_from_vwap_pct": 0.18,
      "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": 6.94,
    "pm_low": 6.9045
  },
  {
    "symbol": "SG",
    "total_score": 64.76,
    "raw_score": 68.65,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 10.77,
      "volume_acceleration": 10,
      "price_momentum": 3.39,
      "price_structure": 12,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 7.44,
      "distance_from_pm_high": 2.77,
      "spread_liquidity": 4.47,
      "momentum_consistency": 2.31,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.33,
      "vwap": 6.3918,
      "vwap_slope": -0.1757,
      "rvol": 4.04,
      "volume_acceleration": 5.11,
      "premarket_volume": 2019047.0,
      "momentum_pct": 2.26,
      "consolidation_tightness_pct": 3.84,
      "distance_from_pm_high_pct": 4.31,
      "extension_from_vwap_pct": -0.97,
      "spread_pct": 0.16
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 6.615,
    "pm_low": 6.09
  },
  {
    "symbol": "VISN",
    "total_score": 64.73,
    "raw_score": 68.62,
    "breakdown": {
      "price_quality": 3.77,
      "volume_quality": 12.0,
      "rvol": 4.61,
      "volume_acceleration": 6.37,
      "price_momentum": 0.33,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.87,
      "spread_liquidity": 4.7,
      "momentum_consistency": 2.17,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.235,
      "vwap": 11.223,
      "vwap_slope": -0.0048,
      "rvol": 1.73,
      "volume_acceleration": 1.64,
      "premarket_volume": 864466.0,
      "momentum_pct": 0.22,
      "consolidation_tightness_pct": 0.27,
      "distance_from_pm_high_pct": 0.18,
      "extension_from_vwap_pct": 0.11,
      "spread_pct": 0.09
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 11.255,
    "pm_low": 11.175
  },
  {
    "symbol": "BFLY",
    "total_score": 64.58,
    "raw_score": 68.46,
    "breakdown": {
      "price_quality": 4.21,
      "volume_quality": 12.0,
      "rvol": 1.21,
      "volume_acceleration": 1.51,
      "price_momentum": 0.33,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.72,
      "spread_liquidity": 4.64,
      "momentum_consistency": 2.85,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.215,
      "vwap": 9.2082,
      "vwap_slope": 0.002,
      "rvol": 0.5,
      "volume_acceleration": 1.15,
      "premarket_volume": 251701.0,
      "momentum_pct": 0.22,
      "consolidation_tightness_pct": 0.38,
      "distance_from_pm_high_pct": 0.38,
      "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": true,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 9.25,
    "pm_low": 9.165
  },
  {
    "symbol": "AES",
    "total_score": 64.51,
    "raw_score": 68.38,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 5.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.97,
      "spread_liquidity": 4.77,
      "momentum_consistency": 2.31,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.715,
      "vwap": 14.7074,
      "vwap_slope": 0.0006,
      "rvol": 2.03,
      "volume_acceleration": 4.81,
      "premarket_volume": 1016792.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.07,
      "distance_from_pm_high_pct": 0.03,
      "extension_from_vwap_pct": 0.05,
      "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.72,
    "pm_low": 14.7
  },
  {
    "symbol": "VALE",
    "total_score": 64.38,
    "raw_score": 68.24,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 12.0,
      "volume_acceleration": 2.98,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.75,
      "spread_liquidity": 4.76,
      "momentum_consistency": 2.85,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.959,
      "vwap": 13.9382,
      "vwap_slope": 0.0054,
      "rvol": 7.03,
      "volume_acceleration": 0.86,
      "premarket_volume": 3516083.0,
      "momentum_pct": -0.04,
      "consolidation_tightness_pct": 0.18,
      "distance_from_pm_high_pct": 0.33,
      "extension_from_vwap_pct": 0.15,
      "spread_pct": 0.07
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 14.005,
    "pm_low": 13.86
  },
  {
    "symbol": "OGN",
    "total_score": 64.1,
    "raw_score": 67.95,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 6.18,
      "volume_acceleration": 10,
      "price_momentum": 0.05,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.97,
      "spread_liquidity": 4.76,
      "momentum_consistency": 1.08,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.715,
      "vwap": 13.7147,
      "vwap_slope": 0.002,
      "rvol": 2.32,
      "volume_acceleration": 16.41,
      "premarket_volume": 1158186.0,
      "momentum_pct": 0.04,
      "consolidation_tightness_pct": 0.07,
      "distance_from_pm_high_pct": 0.04,
      "extension_from_vwap_pct": 0.0,
      "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.72,
    "pm_low": 13.71
  },
  {
    "symbol": "FUBO",
    "total_score": 64.07,
    "raw_score": 67.91,
    "breakdown": {
      "price_quality": 4.61,
      "volume_quality": 10.02,
      "rvol": 0.4,
      "volume_acceleration": 2.64,
      "price_momentum": 0.29,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 6,
      "spread_liquidity": 4.68,
      "momentum_consistency": 3.27,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.395,
      "vwap": 10.3366,
      "vwap_slope": 0.0183,
      "rvol": 0.17,
      "volume_acceleration": 0.76,
      "premarket_volume": 83513.0,
      "momentum_pct": 0.19,
      "consolidation_tightness_pct": 0.19,
      "distance_from_pm_high_pct": 0.0,
      "extension_from_vwap_pct": 0.57,
      "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.395,
    "pm_low": 10.28
  },
  {
    "symbol": "FRMI",
    "total_score": 63.85,
    "raw_score": 67.68,
    "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": 1.2,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 4.91,
      "spread_liquidity": 4.42,
      "momentum_consistency": 3.25,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.705,
      "vwap": 5.7155,
      "vwap_slope": 0.0065,
      "rvol": 5.65,
      "volume_acceleration": 2.92,
      "premarket_volume": 2822917.0,
      "momentum_pct": -0.18,
      "consolidation_tightness_pct": 0.52,
      "distance_from_pm_high_pct": 1.45,
      "extension_from_vwap_pct": -0.18,
      "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": false,
      "vwap_rising": true
    },
    "pm_high": 5.789,
    "pm_low": 5.64
  },
  {
    "symbol": "SOPH",
    "total_score": 63.74,
    "raw_score": 67.56,
    "breakdown": {
      "price_quality": 3.19,
      "volume_quality": 12.0,
      "rvol": 1.59,
      "volume_acceleration": 0.31,
      "price_momentum": 0.37,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 6,
      "spread_liquidity": 4.19,
      "momentum_consistency": 3.92,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.19,
      "vwap": 8.0094,
      "vwap_slope": 0.0077,
      "rvol": 0.66,
      "volume_acceleration": 0.09,
      "premarket_volume": 331456.0,
      "momentum_pct": 0.24,
      "consolidation_tightness_pct": 0.31,
      "distance_from_pm_high_pct": 0.0,
      "extension_from_vwap_pct": 2.26,
      "spread_pct": 0.24
    },
    "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.19,
    "pm_low": 7.96
  },
  {
    "symbol": "KRNY",
    "total_score": 63.63,
    "raw_score": 67.44,
    "breakdown": {
      "price_quality": 4.67,
      "volume_quality": 12.0,
      "rvol": 0.58,
      "volume_acceleration": 10,
      "price_momentum": 0.23,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.96,
      "spread_liquidity": 4.66,
      "momentum_consistency": 2.94,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.67,
      "vwap": 9.6473,
      "vwap_slope": 0.0059,
      "rvol": 0.24,
      "volume_acceleration": 3.39,
      "premarket_volume": 121775.0,
      "momentum_pct": 0.16,
      "consolidation_tightness_pct": 0.21,
      "distance_from_pm_high_pct": 0.05,
      "extension_from_vwap_pct": 0.24,
      "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.675,
    "pm_low": 9.61
  },
  {
    "symbol": "BTG",
    "total_score": 63.42,
    "raw_score": 67.22,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 11.66,
      "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": 5.79,
      "spread_liquidity": 4.37,
      "momentum_consistency": 2.34,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.255,
      "vwap": 5.2357,
      "vwap_slope": 0.0059,
      "rvol": 4.37,
      "volume_acceleration": 0.91,
      "premarket_volume": 2186798.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.1,
      "distance_from_pm_high_pct": 0.28,
      "extension_from_vwap_pct": 0.37,
      "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.27,
    "pm_low": 5.21
  },
  {
    "symbol": "RUN",
    "total_score": 63.06,
    "raw_score": 66.84,
    "breakdown": {
      "price_quality": 4.71,
      "volume_quality": 12.0,
      "rvol": 5.28,
      "volume_acceleration": 5.23,
      "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": 4.66,
      "momentum_consistency": 2.98,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.705,
      "vwap": 9.6955,
      "vwap_slope": 0.0172,
      "rvol": 1.98,
      "volume_acceleration": 1.52,
      "premarket_volume": 990493.0,
      "momentum_pct": -0.15,
      "consolidation_tightness_pct": 0.36,
      "distance_from_pm_high_pct": 0.56,
      "extension_from_vwap_pct": 0.1,
      "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": 9.7594,
    "pm_low": 9.63
  },
  {
    "symbol": "ASST",
    "total_score": 63.05,
    "raw_score": 66.83,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 1.28,
      "volume_acceleration": 1.68,
      "price_momentum": 0.0,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.74,
      "spread_liquidity": 4.77,
      "momentum_consistency": 3.86,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.51,
      "vwap": 14.4369,
      "vwap_slope": 0.0216,
      "rvol": 0.53,
      "volume_acceleration": 1.17,
      "premarket_volume": 266072.0,
      "momentum_pct": -0.07,
      "consolidation_tightness_pct": 0.48,
      "distance_from_pm_high_pct": 0.34,
      "extension_from_vwap_pct": 0.51,
      "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.56,
    "pm_low": 14.2905
  },
  {
    "symbol": "QXO",
    "total_score": 62.72,
    "raw_score": 66.48,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 10.33,
      "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.58,
      "spread_liquidity": 4.76,
      "momentum_consistency": 2.71,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.07,
      "vwap": 14.0907,
      "vwap_slope": 0.0029,
      "rvol": 3.87,
      "volume_acceleration": 2.04,
      "premarket_volume": 1936412.0,
      "momentum_pct": -0.04,
      "consolidation_tightness_pct": 0.32,
      "distance_from_pm_high_pct": 0.57,
      "extension_from_vwap_pct": -0.15,
      "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.15,
    "pm_low": 14.05
  },
  {
    "symbol": "EOLS",
    "total_score": 62.66,
    "raw_score": 66.42,
    "breakdown": {
      "price_quality": 3.55,
      "volume_quality": 12.0,
      "rvol": 0.65,
      "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.39,
      "spread_liquidity": 4.23,
      "momentum_consistency": 4.2,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.55,
      "vwap": 8.4926,
      "vwap_slope": 0.0723,
      "rvol": 0.27,
      "volume_acceleration": 2.29,
      "premarket_volume": 135489.0,
      "momentum_pct": -0.47,
      "consolidation_tightness_pct": 0.82,
      "distance_from_pm_high_pct": 0.81,
      "extension_from_vwap_pct": 0.68,
      "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": 8.6199,
    "pm_low": 8.335
  },
  {
    "symbol": "NVAX",
    "total_score": 62.51,
    "raw_score": 66.27,
    "breakdown": {
      "price_quality": 3.65,
      "volume_quality": 12.0,
      "rvol": 5.26,
      "volume_acceleration": 5.51,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.43,
      "spread_liquidity": 4.62,
      "momentum_consistency": 3.39,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.6541,
      "vwap": 8.6464,
      "vwap_slope": 0.0048,
      "rvol": 1.97,
      "volume_acceleration": 1.55,
      "premarket_volume": 987110.0,
      "momentum_pct": -0.07,
      "consolidation_tightness_pct": 0.35,
      "distance_from_pm_high_pct": 0.76,
      "extension_from_vwap_pct": 0.09,
      "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.72,
    "pm_low": 8.5302
  },
  {
    "symbol": "SVV",
    "total_score": 62.44,
    "raw_score": 66.19,
    "breakdown": {
      "price_quality": 3.8,
      "volume_quality": 12.0,
      "rvol": 0.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.7,
      "spread_liquidity": 4.7,
      "momentum_consistency": 2.67,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.195,
      "vwap": 11.1697,
      "vwap_slope": 0.0192,
      "rvol": 0.38,
      "volume_acceleration": 2.01,
      "premarket_volume": 191051.0,
      "momentum_pct": -0.09,
      "consolidation_tightness_pct": 0.31,
      "distance_from_pm_high_pct": 0.4,
      "extension_from_vwap_pct": 0.23,
      "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.24,
    "pm_low": 11.06
  },
  {
    "symbol": "SNAP",
    "total_score": 62.27,
    "raw_score": 66.01,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 12.0,
      "volume_acceleration": 1.75,
      "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.21,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.255,
      "vwap": 5.2404,
      "vwap_slope": 0.004,
      "rvol": 4.85,
      "volume_acceleration": 1.18,
      "premarket_volume": 2424400.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.29,
      "distance_from_pm_high_pct": 0.28,
      "extension_from_vwap_pct": 0.28,
      "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.27,
    "pm_low": 5.21
  },
  {
    "symbol": "CRMD",
    "total_score": 62.25,
    "raw_score": 65.99,
    "breakdown": {
      "price_quality": 3.34,
      "volume_quality": 12.0,
      "rvol": 0.94,
      "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": 4.6,
      "momentum_consistency": 2.98,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.335,
      "vwap": 8.2767,
      "vwap_slope": 0.0387,
      "rvol": 0.39,
      "volume_acceleration": 2.42,
      "premarket_volume": 196188.0,
      "momentum_pct": -0.06,
      "consolidation_tightness_pct": 0.66,
      "distance_from_pm_high_pct": 0.36,
      "extension_from_vwap_pct": 0.7,
      "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.365,
    "pm_low": 8.205
  },
  {
    "symbol": "FSM",
    "total_score": 62.21,
    "raw_score": 65.94,
    "breakdown": {
      "price_quality": 3.5,
      "volume_quality": 12.0,
      "rvol": 4.76,
      "volume_acceleration": 5.42,
      "price_momentum": 0.13,
      "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": 3.25,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.5001,
      "vwap": 11.4571,
      "vwap_slope": 0.0085,
      "rvol": 1.78,
      "volume_acceleration": 1.54,
      "premarket_volume": 891786.0,
      "momentum_pct": 0.09,
      "consolidation_tightness_pct": 0.22,
      "distance_from_pm_high_pct": 0.3,
      "extension_from_vwap_pct": 0.38,
      "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.535,
    "pm_low": 11.4
  },
  {
    "symbol": "TAC",
    "total_score": 61.92,
    "raw_score": 65.63,
    "breakdown": {
      "price_quality": 2.64,
      "volume_quality": 12.0,
      "rvol": 0.63,
      "volume_acceleration": 10,
      "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.73,
      "momentum_consistency": 2.93,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.36,
      "vwap": 12.329,
      "vwap_slope": 0.0063,
      "rvol": 0.26,
      "volume_acceleration": 3.28,
      "premarket_volume": 131040.0,
      "momentum_pct": 0.24,
      "consolidation_tightness_pct": 0.45,
      "distance_from_pm_high_pct": 0.08,
      "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": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 12.37,
    "pm_low": 12.285
  },
  {
    "symbol": "EQX",
    "total_score": 61.09,
    "raw_score": 64.76,
    "breakdown": {
      "price_quality": 2.55,
      "volume_quality": 12.0,
      "rvol": 6.11,
      "volume_acceleration": 3.44,
      "price_momentum": 0.24,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.76,
      "spread_liquidity": 4.73,
      "momentum_consistency": 3.53,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.445,
      "vwap": 12.3681,
      "vwap_slope": 0.0116,
      "rvol": 2.29,
      "volume_acceleration": 0.99,
      "premarket_volume": 1144794.0,
      "momentum_pct": 0.16,
      "consolidation_tightness_pct": 0.2,
      "distance_from_pm_high_pct": 0.32,
      "extension_from_vwap_pct": 0.62,
      "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.485,
    "pm_low": 12.295
  },
  {
    "symbol": "OI",
    "total_score": 60.94,
    "raw_score": 64.59,
    "breakdown": {
      "price_quality": 1.55,
      "volume_quality": 12.0,
      "rvol": 1.12,
      "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.83,
      "spread_liquidity": 4.49,
      "momentum_consistency": 3.2,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.55,
      "vwap": 6.5203,
      "vwap_slope": 0.0118,
      "rvol": 0.47,
      "volume_acceleration": 2.1,
      "premarket_volume": 234127.0,
      "momentum_pct": -0.08,
      "consolidation_tightness_pct": 0.61,
      "distance_from_pm_high_pct": 0.23,
      "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": 6.565,
    "pm_low": 6.48
  },
  {
    "symbol": "SGHC",
    "total_score": 60.66,
    "raw_score": 64.3,
    "breakdown": {
      "price_quality": 1.86,
      "volume_quality": 12.0,
      "rvol": 0.63,
      "volume_acceleration": 9.47,
      "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": 3.23,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.145,
      "vwap": 13.0694,
      "vwap_slope": 0.0289,
      "rvol": 0.26,
      "volume_acceleration": 1.95,
      "premarket_volume": 130971.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.19,
      "distance_from_pm_high_pct": 0.04,
      "extension_from_vwap_pct": 0.58,
      "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.15,
    "pm_low": 12.99
  },
  {
    "symbol": "ONDS",
    "total_score": 60.3,
    "raw_score": 63.92,
    "breakdown": {
      "price_quality": 3.82,
      "volume_quality": 12.0,
      "rvol": 12.0,
      "volume_acceleration": 3.93,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 4.83,
      "spread_liquidity": 4.62,
      "momentum_consistency": 3.12,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.825,
      "vwap": 8.8687,
      "vwap_slope": 0.0008,
      "rvol": 18.39,
      "volume_acceleration": 1.13,
      "premarket_volume": 9193389.0,
      "momentum_pct": -0.11,
      "consolidation_tightness_pct": 0.34,
      "distance_from_pm_high_pct": 1.56,
      "extension_from_vwap_pct": -0.49,
      "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": false,
      "vwap_rising": true
    },
    "pm_high": 8.965,
    "pm_low": 8.82
  },
  {
    "symbol": "RGNX",
    "total_score": 60.29,
    "raw_score": 63.91,
    "breakdown": {
      "price_quality": 3.14,
      "volume_quality": 6.74,
      "rvol": 0.27,
      "volume_acceleration": 3.58,
      "price_momentum": 0.06,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.91,
      "spread_liquidity": 4.72,
      "momentum_consistency": 3.49,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.86,
      "vwap": 11.7807,
      "vwap_slope": 0.0135,
      "rvol": 0.11,
      "volume_acceleration": 1.03,
      "premarket_volume": 56208.0,
      "momentum_pct": 0.04,
      "consolidation_tightness_pct": 0.46,
      "distance_from_pm_high_pct": 0.13,
      "extension_from_vwap_pct": 0.67,
      "spread_pct": 0.08
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 11.875,
    "pm_low": 11.705
  },
  {
    "symbol": "EXK",
    "total_score": 60.25,
    "raw_score": 63.86,
    "breakdown": {
      "price_quality": 4.21,
      "volume_quality": 12.0,
      "rvol": 2.75,
      "volume_acceleration": 3.59,
      "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": 3.8,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.785,
      "vwap": 10.7013,
      "vwap_slope": 0.0221,
      "rvol": 1.15,
      "volume_acceleration": 1.36,
      "premarket_volume": 572981.0,
      "momentum_pct": 0.28,
      "consolidation_tightness_pct": 0.37,
      "distance_from_pm_high_pct": 0.0,
      "extension_from_vwap_pct": 0.78,
      "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.785,
    "pm_low": 10.605
  },
  {
    "symbol": "STTK",
    "total_score": 60.24,
    "raw_score": 63.85,
    "breakdown": {
      "price_quality": 2.53,
      "volume_quality": 12.0,
      "rvol": 0.74,
      "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.11,
      "momentum_consistency": 2.36,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.53,
      "vwap": 7.5244,
      "vwap_slope": 0.0014,
      "rvol": 0.31,
      "volume_acceleration": 4.29,
      "premarket_volume": 155034.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.27,
      "distance_from_pm_high_pct": 0.4,
      "extension_from_vwap_pct": 0.07,
      "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.56,
    "pm_low": 7.47
  },
  {
    "symbol": "PHR",
    "total_score": 59.59,
    "raw_score": 63.17,
    "breakdown": {
      "price_quality": 2.88,
      "volume_quality": 12.0,
      "rvol": 0.7,
      "volume_acceleration": 7.03,
      "price_momentum": 0.12,
      "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": 3.41,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.125,
      "vwap": 12.0675,
      "vwap_slope": 0.0154,
      "rvol": 0.29,
      "volume_acceleration": 1.7,
      "premarket_volume": 145459.0,
      "momentum_pct": 0.08,
      "consolidation_tightness_pct": 0.37,
      "distance_from_pm_high_pct": 0.12,
      "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": true,
      "vwap_rising": true
    },
    "pm_high": 12.14,
    "pm_low": 12.0
  },
  {
    "symbol": "CRSR",
    "total_score": 59.56,
    "raw_score": 63.13,
    "breakdown": {
      "price_quality": 3.68,
      "volume_quality": 12.0,
      "rvol": 0.83,
      "volume_acceleration": 6.8,
      "price_momentum": 0.07,
      "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.14,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.32,
      "vwap": 11.3093,
      "vwap_slope": 0.0016,
      "rvol": 0.35,
      "volume_acceleration": 1.68,
      "premarket_volume": 173491.0,
      "momentum_pct": 0.04,
      "consolidation_tightness_pct": 0.27,
      "distance_from_pm_high_pct": 0.26,
      "extension_from_vwap_pct": 0.09,
      "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.35,
    "pm_low": 11.2447
  },
  {
    "symbol": "QMLS",
    "total_score": 59.52,
    "raw_score": 63.09,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 9.66,
      "rvol": 0.39,
      "volume_acceleration": 10,
      "price_momentum": 2.65,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.59,
      "spread_liquidity": 1.13,
      "momentum_consistency": 3.37,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.045,
      "vwap": 5.9876,
      "vwap_slope": -0.0377,
      "rvol": 0.16,
      "volume_acceleration": 2.01,
      "premarket_volume": 80494.0,
      "momentum_pct": 1.77,
      "consolidation_tightness_pct": 2.25,
      "distance_from_pm_high_pct": 0.55,
      "extension_from_vwap_pct": 0.96,
      "spread_pct": 1.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": 6.0783,
    "pm_low": 5.91
  },
  {
    "symbol": "SENS",
    "total_score": 59.27,
    "raw_score": 62.83,
    "breakdown": {
      "price_quality": 3.94,
      "volume_quality": 6.19,
      "rvol": 0.25,
      "volume_acceleration": 3.08,
      "price_momentum": 0.71,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.75,
      "spread_liquidity": 3.51,
      "momentum_consistency": 3.4,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.94,
      "vwap": 8.8812,
      "vwap_slope": 0.0203,
      "rvol": 0.1,
      "volume_acceleration": 1.31,
      "premarket_volume": 51596.0,
      "momentum_pct": 0.48,
      "consolidation_tightness_pct": 0.9,
      "distance_from_pm_high_pct": 0.33,
      "extension_from_vwap_pct": 0.66,
      "spread_pct": 0.45
    },
    "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.97,
    "pm_low": 8.83
  },
  {
    "symbol": "TTD",
    "total_score": 59.08,
    "raw_score": 62.63,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 5.76,
      "volume_acceleration": 3.03,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.92,
      "spread_liquidity": 4.76,
      "momentum_consistency": 3.25,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.7,
      "vwap": 13.6576,
      "vwap_slope": 0.0144,
      "rvol": 2.16,
      "volume_acceleration": 1.3,
      "premarket_volume": 1080579.0,
      "momentum_pct": -0.04,
      "consolidation_tightness_pct": 0.26,
      "distance_from_pm_high_pct": 0.11,
      "extension_from_vwap_pct": 0.31,
      "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.715,
    "pm_low": 13.57
  },
  {
    "symbol": "PRGO",
    "total_score": 59.07,
    "raw_score": 62.61,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 1.39,
      "volume_acceleration": 8.35,
      "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.76,
      "momentum_consistency": 2.47,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.754,
      "vwap": 13.754,
      "vwap_slope": 0.0014,
      "rvol": 0.58,
      "volume_acceleration": 1.83,
      "premarket_volume": 288885.0,
      "momentum_pct": -0.12,
      "consolidation_tightness_pct": 0.65,
      "distance_from_pm_high_pct": 0.33,
      "extension_from_vwap_pct": 0.0,
      "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": "RCAT",
    "total_score": 58.99,
    "raw_score": 62.53,
    "breakdown": {
      "price_quality": 4.81,
      "volume_quality": 12.0,
      "rvol": 2.63,
      "volume_acceleration": 3.44,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.47,
      "spread_liquidity": 4.66,
      "momentum_consistency": 3.12,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.8101,
      "vwap": 9.81,
      "vwap_slope": 0.0047,
      "rvol": 1.1,
      "volume_acceleration": 1.34,
      "premarket_volume": 547586.0,
      "momentum_pct": -0.11,
      "consolidation_tightness_pct": 0.46,
      "distance_from_pm_high_pct": 0.71,
      "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": 9.88,
    "pm_low": 9.74
  },
  {
    "symbol": "ANNX",
    "total_score": 58.95,
    "raw_score": 62.48,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 1.04,
      "volume_acceleration": 9.04,
      "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.18,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.435,
      "vwap": 5.3998,
      "vwap_slope": 0.0131,
      "rvol": 0.44,
      "volume_acceleration": 1.9,
      "premarket_volume": 217585.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.18,
      "distance_from_pm_high_pct": 0.09,
      "extension_from_vwap_pct": 0.65,
      "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.44,
    "pm_low": 5.365
  },
  {
    "symbol": "PUMP",
    "total_score": 58.45,
    "raw_score": 61.96,
    "breakdown": {
      "price_quality": 3.09,
      "volume_quality": 12.0,
      "rvol": 0.81,
      "volume_acceleration": 6.61,
      "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": 2.52,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.91,
      "vwap": 11.8848,
      "vwap_slope": 0.012,
      "rvol": 0.34,
      "volume_acceleration": 1.66,
      "premarket_volume": 169593.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.25,
      "distance_from_pm_high_pct": 0.25,
      "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": true,
      "vwap_rising": true
    },
    "pm_high": 11.94,
    "pm_low": 11.78
  },
  {
    "symbol": "VMET",
    "total_score": 58.43,
    "raw_score": 61.94,
    "breakdown": {
      "price_quality": 4.63,
      "volume_quality": 5.35,
      "rvol": 0.21,
      "volume_acceleration": 2.83,
      "price_momentum": 0.22,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 6.0,
      "spread_liquidity": 4.03,
      "momentum_consistency": 2.67,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.3699,
      "vwap": 10.3104,
      "vwap_slope": 0.0115,
      "rvol": 0.09,
      "volume_acceleration": 1.28,
      "premarket_volume": 44611.0,
      "momentum_pct": 0.14,
      "consolidation_tightness_pct": 0.29,
      "distance_from_pm_high_pct": 0.0,
      "extension_from_vwap_pct": 0.58,
      "spread_pct": 0.29
    },
    "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.37,
    "pm_low": 10.19
  },
  {
    "symbol": "ARHS",
    "total_score": 58.04,
    "raw_score": 61.53,
    "breakdown": {
      "price_quality": 4.86,
      "volume_quality": 12.0,
      "rvol": 0.72,
      "volume_acceleration": 4.7,
      "price_momentum": 0.15,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.66,
      "spread_liquidity": 4.66,
      "momentum_consistency": 2.37,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.855,
      "vwap": 9.8522,
      "vwap_slope": 0.0009,
      "rvol": 0.3,
      "volume_acceleration": 1.47,
      "premarket_volume": 151028.0,
      "momentum_pct": 0.1,
      "consolidation_tightness_pct": 0.35,
      "distance_from_pm_high_pct": 0.45,
      "extension_from_vwap_pct": 0.03,
      "spread_pct": 0.1
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 9.9,
    "pm_low": 9.81
  },
  {
    "symbol": "FPI",
    "total_score": 57.84,
    "raw_score": 61.31,
    "breakdown": {
      "price_quality": 4.97,
      "volume_quality": 3.63,
      "rvol": 0.15,
      "volume_acceleration": 10,
      "price_momentum": 0.3,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.96,
      "spread_liquidity": 4.67,
      "momentum_consistency": 2.84,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.03,
      "vwap": 10.0206,
      "vwap_slope": -0.0032,
      "rvol": 0.06,
      "volume_acceleration": 2.61,
      "premarket_volume": 30240.0,
      "momentum_pct": 0.2,
      "consolidation_tightness_pct": 0.25,
      "distance_from_pm_high_pct": 0.05,
      "extension_from_vwap_pct": 0.09,
      "spread_pct": 0.1
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 10.035,
    "pm_low": 10.005
  },
  {
    "symbol": "DX",
    "total_score": 57.77,
    "raw_score": 61.24,
    "breakdown": {
      "price_quality": 1.7,
      "volume_quality": 12.0,
      "rvol": 4.74,
      "volume_acceleration": 10,
      "price_momentum": 0.06,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.8,
      "spread_liquidity": 4.75,
      "momentum_consistency": 2.98,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.295,
      "vwap": 13.2946,
      "vwap_slope": -0.0006,
      "rvol": 1.78,
      "volume_acceleration": 2.78,
      "premarket_volume": 889236.0,
      "momentum_pct": 0.04,
      "consolidation_tightness_pct": 0.15,
      "distance_from_pm_high_pct": 0.26,
      "extension_from_vwap_pct": 0.0,
      "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": 13.3299,
    "pm_low": 13.28
  },
  {
    "symbol": "SBET",
    "total_score": 57.49,
    "raw_score": 60.94,
    "breakdown": {
      "price_quality": 2.0,
      "volume_quality": 12.0,
      "rvol": 4.59,
      "volume_acceleration": 2.11,
      "price_momentum": 0.21,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.72,
      "spread_liquidity": 4.52,
      "momentum_consistency": 3.39,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.995,
      "vwap": 6.9648,
      "vwap_slope": 0.0067,
      "rvol": 1.72,
      "volume_acceleration": 1.21,
      "premarket_volume": 860826.0,
      "momentum_pct": 0.14,
      "consolidation_tightness_pct": 0.34,
      "distance_from_pm_high_pct": 0.37,
      "extension_from_vwap_pct": 0.43,
      "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.0209,
    "pm_low": 6.91
  },
  {
    "symbol": "YSS",
    "total_score": 57.42,
    "raw_score": 60.86,
    "breakdown": {
      "price_quality": 4.98,
      "volume_quality": 12.0,
      "rvol": 1.72,
      "volume_acceleration": 2.69,
      "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.0,
      "momentum_consistency": 3.17,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.015,
      "vwap": 9.9448,
      "vwap_slope": 0.0092,
      "rvol": 0.72,
      "volume_acceleration": 0.77,
      "premarket_volume": 358830.0,
      "momentum_pct": -0.05,
      "consolidation_tightness_pct": 0.51,
      "distance_from_pm_high_pct": 0.15,
      "extension_from_vwap_pct": 0.71,
      "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": 10.03,
    "pm_low": 9.875
  },
  {
    "symbol": "MH",
    "total_score": 57.32,
    "raw_score": 60.76,
    "breakdown": {
      "price_quality": 1.67,
      "volume_quality": 9.44,
      "rvol": 0.38,
      "volume_acceleration": 9.55,
      "price_momentum": 0.11,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.83,
      "spread_liquidity": 4.25,
      "momentum_consistency": 3.12,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.33,
      "vwap": 13.291,
      "vwap_slope": 0.0045,
      "rvol": 0.16,
      "volume_acceleration": 1.96,
      "premarket_volume": 78677.0,
      "momentum_pct": 0.08,
      "consolidation_tightness_pct": 0.3,
      "distance_from_pm_high_pct": 0.22,
      "extension_from_vwap_pct": 0.29,
      "spread_pct": 0.23
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 13.36,
    "pm_low": 13.25
  },
  {
    "symbol": "ATEC",
    "total_score": 57.23,
    "raw_score": 60.66,
    "breakdown": {
      "price_quality": 4.78,
      "volume_quality": 12.0,
      "rvol": 0.65,
      "volume_acceleration": 3.49,
      "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.66,
      "momentum_consistency": 2.39,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.775,
      "vwap": 9.7165,
      "vwap_slope": 0.0059,
      "rvol": 0.27,
      "volume_acceleration": 1.0,
      "premarket_volume": 135434.0,
      "momentum_pct": 0.21,
      "consolidation_tightness_pct": 0.36,
      "distance_from_pm_high_pct": 0.0,
      "extension_from_vwap_pct": 0.6,
      "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.775,
    "pm_low": 9.67
  },
  {
    "symbol": "WLTH",
    "total_score": 57.22,
    "raw_score": 60.65,
    "breakdown": {
      "price_quality": 4.1,
      "volume_quality": 9.4,
      "rvol": 0.38,
      "volume_acceleration": 7.96,
      "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.63,
      "momentum_consistency": 1.83,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.095,
      "vwap": 9.0762,
      "vwap_slope": 0.0029,
      "rvol": 0.16,
      "volume_acceleration": 1.8,
      "premarket_volume": 78303.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.05,
      "distance_from_pm_high_pct": 0.05,
      "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": true,
      "vwap_rising": true
    },
    "pm_high": 9.1,
    "pm_low": 9.06
  },
  {
    "symbol": "ASAN",
    "total_score": 57.15,
    "raw_score": 60.58,
    "breakdown": {
      "price_quality": 4.62,
      "volume_quality": 12.0,
      "rvol": 1.2,
      "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": 5.92,
      "spread_liquidity": 4.65,
      "momentum_consistency": 3.31,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.615,
      "vwap": 9.5833,
      "vwap_slope": 0.0043,
      "rvol": 0.5,
      "volume_acceleration": 0.67,
      "premarket_volume": 250466.0,
      "momentum_pct": 0.1,
      "consolidation_tightness_pct": 0.36,
      "distance_from_pm_high_pct": 0.1,
      "extension_from_vwap_pct": 0.33,
      "spread_pct": 0.1
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 9.625,
    "pm_low": 9.555
  },
  {
    "symbol": "ACHR",
    "total_score": 57.11,
    "raw_score": 60.53,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 12.0,
      "volume_acceleration": 2.54,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.52,
      "spread_liquidity": 4.47,
      "momentum_consistency": 2.9,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.3395,
      "vwap": 6.3406,
      "vwap_slope": 0.002,
      "rvol": 4.84,
      "volume_acceleration": 0.73,
      "premarket_volume": 2419333.0,
      "momentum_pct": -0.09,
      "consolidation_tightness_pct": 0.32,
      "distance_from_pm_high_pct": 0.63,
      "extension_from_vwap_pct": -0.02,
      "spread_pct": 0.16
    },
    "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": 6.38,
    "pm_low": 6.31
  },
  {
    "symbol": "BYND",
    "total_score": 56.94,
    "raw_score": 60.36,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 0.76,
      "volume_acceleration": 3.32,
      "price_momentum": 0.54,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.23,
      "spread_liquidity": 4.28,
      "momentum_consistency": 3.93,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.96,
      "vwap": 13.9374,
      "vwap_slope": -0.0119,
      "rvol": 0.32,
      "volume_acceleration": 0.95,
      "premarket_volume": 158219.0,
      "momentum_pct": 0.36,
      "consolidation_tightness_pct": 0.78,
      "distance_from_pm_high_pct": 1.03,
      "extension_from_vwap_pct": 0.16,
      "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": true,
      "vwap_rising": false
    },
    "pm_high": 14.105,
    "pm_low": 13.825
  },
  {
    "symbol": "CRGY",
    "total_score": 56.77,
    "raw_score": 60.17,
    "breakdown": {
      "price_quality": 1.72,
      "volume_quality": 12.0,
      "rvol": 1.64,
      "volume_acceleration": 4.12,
      "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.75,
      "momentum_consistency": 3.66,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.28,
      "vwap": 13.2594,
      "vwap_slope": 0.0117,
      "rvol": 0.68,
      "volume_acceleration": 1.41,
      "premarket_volume": 341399.0,
      "momentum_pct": -0.08,
      "consolidation_tightness_pct": 0.15,
      "distance_from_pm_high_pct": 0.15,
      "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.3,
    "pm_low": 13.22
  },
  {
    "symbol": "BGC",
    "total_score": 56.74,
    "raw_score": 60.15,
    "breakdown": {
      "price_quality": 4.05,
      "volume_quality": 12.0,
      "rvol": 1.47,
      "volume_acceleration": 3.54,
      "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.7,
      "momentum_consistency": 1.78,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.945,
      "vwap": 10.9239,
      "vwap_slope": 0.0023,
      "rvol": 0.61,
      "volume_acceleration": 1.02,
      "premarket_volume": 305701.0,
      "momentum_pct": 0.14,
      "consolidation_tightness_pct": 0.18,
      "distance_from_pm_high_pct": 0.0,
      "extension_from_vwap_pct": 0.19,
      "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.945,
    "pm_low": 10.89
  },
  {
    "symbol": "BRSL",
    "total_score": 56.73,
    "raw_score": 60.14,
    "breakdown": {
      "price_quality": 3.54,
      "volume_quality": 12.0,
      "rvol": 1.49,
      "volume_acceleration": 3.25,
      "price_momentum": 0.39,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.97,
      "spread_liquidity": 4.71,
      "momentum_consistency": 2.39,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.455,
      "vwap": 11.4224,
      "vwap_slope": 0.0042,
      "rvol": 0.62,
      "volume_acceleration": 0.93,
      "premarket_volume": 309814.0,
      "momentum_pct": 0.26,
      "consolidation_tightness_pct": 0.31,
      "distance_from_pm_high_pct": 0.04,
      "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": true,
      "vwap_rising": true
    },
    "pm_high": 11.46,
    "pm_low": 11.375
  },
  {
    "symbol": "SXC",
    "total_score": 56.67,
    "raw_score": 60.07,
    "breakdown": {
      "price_quality": 4.43,
      "volume_quality": 12.0,
      "rvol": 0.72,
      "volume_acceleration": 2.14,
      "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.86,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.425,
      "vwap": 9.3299,
      "vwap_slope": 0.0267,
      "rvol": 0.3,
      "volume_acceleration": 1.21,
      "premarket_volume": 149511.0,
      "momentum_pct": -0.05,
      "consolidation_tightness_pct": 0.27,
      "distance_from_pm_high_pct": 0.16,
      "extension_from_vwap_pct": 1.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.44,
    "pm_low": 9.21
  },
  {
    "symbol": "SLS",
    "total_score": 56.55,
    "raw_score": 59.94,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 4.15,
      "volume_acceleration": 2.76,
      "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.52,
      "momentum_consistency": 2.9,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.78,
      "vwap": 13.764,
      "vwap_slope": 0.0047,
      "rvol": 1.56,
      "volume_acceleration": 0.79,
      "premarket_volume": 777690.0,
      "momentum_pct": -0.14,
      "consolidation_tightness_pct": 0.51,
      "distance_from_pm_high_pct": 0.36,
      "extension_from_vwap_pct": 0.12,
      "spread_pct": 0.15
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 13.83,
    "pm_low": 13.68
  },
  {
    "symbol": "EYPT",
    "total_score": 56.47,
    "raw_score": 59.86,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 3.02,
      "volume_acceleration": 3.91,
      "price_momentum": 0.38,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.5,
      "spread_liquidity": 4.44,
      "momentum_consistency": 2.71,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.96,
      "vwap": 5.9307,
      "vwap_slope": 0.0008,
      "rvol": 1.26,
      "volume_acceleration": 1.39,
      "premarket_volume": 628491.0,
      "momentum_pct": 0.25,
      "consolidation_tightness_pct": 0.84,
      "distance_from_pm_high_pct": 0.67,
      "extension_from_vwap_pct": 0.49,
      "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.0,
    "pm_low": 5.88
  },
  {
    "symbol": "APPS",
    "total_score": 56.45,
    "raw_score": 59.84,
    "breakdown": {
      "price_quality": 3.73,
      "volume_quality": 12.0,
      "rvol": 1.52,
      "volume_acceleration": 1.98,
      "price_momentum": 0.6,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 6,
      "spread_liquidity": 4.41,
      "momentum_consistency": 3.2,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.27,
      "vwap": 11.1823,
      "vwap_slope": 0.0098,
      "rvol": 0.63,
      "volume_acceleration": 0.57,
      "premarket_volume": 316485.0,
      "momentum_pct": 0.4,
      "consolidation_tightness_pct": 0.44,
      "distance_from_pm_high_pct": 0.0,
      "extension_from_vwap_pct": 0.78,
      "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.27,
    "pm_low": 11.13
  },
  {
    "symbol": "UNIT",
    "total_score": 56.39,
    "raw_score": 59.77,
    "breakdown": {
      "price_quality": 4.69,
      "volume_quality": 12.0,
      "rvol": 0.78,
      "volume_acceleration": 3.55,
      "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.68,
      "momentum_consistency": 2.11,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.31,
      "vwap": 10.302,
      "vwap_slope": 0.0052,
      "rvol": 0.32,
      "volume_acceleration": 1.02,
      "premarket_volume": 161489.0,
      "momentum_pct": -0.15,
      "consolidation_tightness_pct": 0.25,
      "distance_from_pm_high_pct": 0.58,
      "extension_from_vwap_pct": 0.08,
      "spread_pct": 0.1
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 10.37,
    "pm_low": 10.23
  },
  {
    "symbol": "SMPL",
    "total_score": 56.24,
    "raw_score": 59.62,
    "breakdown": {
      "price_quality": 3.41,
      "volume_quality": 12.0,
      "rvol": 1.02,
      "volume_acceleration": 3.02,
      "price_momentum": 0.06,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.9,
      "spread_liquidity": 4.71,
      "momentum_consistency": 3.09,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.585,
      "vwap": 11.5529,
      "vwap_slope": 0.0037,
      "rvol": 0.42,
      "volume_acceleration": 0.87,
      "premarket_volume": 212236.0,
      "momentum_pct": 0.04,
      "consolidation_tightness_pct": 0.35,
      "distance_from_pm_high_pct": 0.13,
      "extension_from_vwap_pct": 0.28,
      "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.6,
    "pm_low": 11.515
  },
  {
    "symbol": "LWLG",
    "total_score": 56.23,
    "raw_score": 59.61,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 1.46,
      "volume_acceleration": 3.26,
      "price_momentum": 0.36,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.55,
      "spread_liquidity": 4.46,
      "momentum_consistency": 2.21,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.18,
      "vwap": 6.1745,
      "vwap_slope": -0.0014,
      "rvol": 0.61,
      "volume_acceleration": 0.94,
      "premarket_volume": 303505.0,
      "momentum_pct": 0.24,
      "consolidation_tightness_pct": 0.57,
      "distance_from_pm_high_pct": 0.6,
      "extension_from_vwap_pct": 0.09,
      "spread_pct": 0.16
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 6.2171,
    "pm_low": 6.135
  },
  {
    "symbol": "HELP",
    "total_score": 56.22,
    "raw_score": 59.6,
    "breakdown": {
      "price_quality": 3.27,
      "volume_quality": 12.0,
      "rvol": 0.55,
      "volume_acceleration": 10,
      "price_momentum": 0.13,
      "price_structure": 12,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 4.56,
      "spread_liquidity": 3.86,
      "momentum_consistency": 3.23,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.73,
      "vwap": 11.822,
      "vwap_slope": -0.0561,
      "rvol": 0.23,
      "volume_acceleration": 3.49,
      "premarket_volume": 113792.0,
      "momentum_pct": 0.09,
      "consolidation_tightness_pct": 0.6,
      "distance_from_pm_high_pct": 1.92,
      "extension_from_vwap_pct": -0.78,
      "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": false,
      "vwap_rising": false
    },
    "pm_high": 11.9599,
    "pm_low": 11.705
  },
  {
    "symbol": "FRSH",
    "total_score": 56.22,
    "raw_score": 59.59,
    "breakdown": {
      "price_quality": 1.91,
      "volume_quality": 12.0,
      "rvol": 2.66,
      "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.83,
      "spread_liquidity": 4.75,
      "momentum_consistency": 3.25,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.09,
      "vwap": 13.0869,
      "vwap_slope": -0.0008,
      "rvol": 1.11,
      "volume_acceleration": 2.71,
      "premarket_volume": 553472.0,
      "momentum_pct": -0.04,
      "consolidation_tightness_pct": 0.11,
      "distance_from_pm_high_pct": 0.23,
      "extension_from_vwap_pct": 0.02,
      "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": 13.12,
    "pm_low": 13.055
  },
  {
    "symbol": "LCID",
    "total_score": 56.14,
    "raw_score": 59.51,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 2.96,
      "volume_acceleration": 2.74,
      "price_momentum": 0.78,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 6,
      "spread_liquidity": 4.42,
      "momentum_consistency": 2.71,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.8,
      "vwap": 5.7745,
      "vwap_slope": 0.0013,
      "rvol": 1.23,
      "volume_acceleration": 0.79,
      "premarket_volume": 616015.0,
      "momentum_pct": 0.52,
      "consolidation_tightness_pct": 0.61,
      "distance_from_pm_high_pct": 0.0,
      "extension_from_vwap_pct": 0.44,
      "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.8,
    "pm_low": 5.75
  },
  {
    "symbol": "LAND",
    "total_score": 56.12,
    "raw_score": 59.49,
    "breakdown": {
      "price_quality": 3.54,
      "volume_quality": 5.79,
      "rvol": 0.23,
      "volume_acceleration": 10,
      "price_momentum": 0.09,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 6,
      "spread_liquidity": 4.61,
      "momentum_consistency": 2.82,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.545,
      "vwap": 8.5205,
      "vwap_slope": 0.0067,
      "rvol": 0.1,
      "volume_acceleration": 2.14,
      "premarket_volume": 48270.0,
      "momentum_pct": 0.06,
      "consolidation_tightness_pct": 0.29,
      "distance_from_pm_high_pct": 0.0,
      "extension_from_vwap_pct": 0.29,
      "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.545,
    "pm_low": 8.5
  },
  {
    "symbol": "PRTA",
    "total_score": 56.03,
    "raw_score": 59.39,
    "breakdown": {
      "price_quality": 4.19,
      "volume_quality": 4.68,
      "rvol": 0.19,
      "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.92,
      "spread_liquidity": 4.27,
      "momentum_consistency": 3.73,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.19,
      "vwap": 9.1599,
      "vwap_slope": 0.019,
      "rvol": 0.08,
      "volume_acceleration": 2.6,
      "premarket_volume": 39037.0,
      "momentum_pct": -0.08,
      "consolidation_tightness_pct": 0.33,
      "distance_from_pm_high_pct": 0.11,
      "extension_from_vwap_pct": 0.33,
      "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.125
  },
  {
    "symbol": "RKT",
    "total_score": 55.9,
    "raw_score": 59.25,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 7.63,
      "volume_acceleration": 3.26,
      "price_momentum": 0.41,
      "price_structure": 12,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.24,
      "spread_liquidity": 4.77,
      "momentum_consistency": 2.44,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.635,
      "vwap": 14.6912,
      "vwap_slope": -0.0257,
      "rvol": 2.86,
      "volume_acceleration": 0.94,
      "premarket_volume": 1430227.0,
      "momentum_pct": 0.27,
      "consolidation_tightness_pct": 0.3,
      "distance_from_pm_high_pct": 1.01,
      "extension_from_vwap_pct": -0.38,
      "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": false,
      "vwap_rising": false
    },
    "pm_high": 14.785,
    "pm_low": 14.591
  },
  {
    "symbol": "TAL",
    "total_score": 55.88,
    "raw_score": 59.24,
    "breakdown": {
      "price_quality": 2.8,
      "volume_quality": 12.0,
      "rvol": 1.03,
      "volume_acceleration": 3.1,
      "price_momentum": 0.06,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 6,
      "spread_liquidity": 4.73,
      "momentum_consistency": 3.11,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.2,
      "vwap": 12.1561,
      "vwap_slope": 0.0112,
      "rvol": 0.43,
      "volume_acceleration": 0.89,
      "premarket_volume": 215136.0,
      "momentum_pct": 0.04,
      "consolidation_tightness_pct": 0.16,
      "distance_from_pm_high_pct": 0.0,
      "extension_from_vwap_pct": 0.36,
      "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.2,
    "pm_low": 12.11
  },
  {
    "symbol": "VSTM",
    "total_score": 55.85,
    "raw_score": 59.2,
    "breakdown": {
      "price_quality": 2.29,
      "volume_quality": 12.0,
      "rvol": 1.9,
      "volume_acceleration": 1.32,
      "price_momentum": 0.93,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.14,
      "spread_liquidity": 4.54,
      "momentum_consistency": 2.29,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.29,
      "vwap": 7.2893,
      "vwap_slope": -0.0026,
      "rvol": 0.79,
      "volume_acceleration": 0.38,
      "premarket_volume": 395662.0,
      "momentum_pct": 0.62,
      "consolidation_tightness_pct": 0.69,
      "distance_from_pm_high_pct": 1.15,
      "extension_from_vwap_pct": 0.01,
      "spread_pct": 0.14
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 7.375,
    "pm_low": 7.2
  },
  {
    "symbol": "FMC",
    "total_score": 55.81,
    "raw_score": 59.16,
    "breakdown": {
      "price_quality": 4.12,
      "volume_quality": 12.0,
      "rvol": 1.1,
      "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.79,
      "spread_liquidity": 4.69,
      "momentum_consistency": 2.58,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.885,
      "vwap": 10.8705,
      "vwap_slope": 0.006,
      "rvol": 0.46,
      "volume_acceleration": 1.25,
      "premarket_volume": 228165.0,
      "momentum_pct": -0.06,
      "consolidation_tightness_pct": 0.18,
      "distance_from_pm_high_pct": 0.27,
      "extension_from_vwap_pct": 0.13,
      "spread_pct": 0.09
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 10.915,
    "pm_low": 10.825
  },
  {
    "symbol": "XRAY",
    "total_score": 55.78,
    "raw_score": 59.13,
    "breakdown": {
      "price_quality": 3.87,
      "volume_quality": 12.0,
      "rvol": 1.8,
      "volume_acceleration": 1.57,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.9,
      "spread_liquidity": 4.7,
      "momentum_consistency": 2.9,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.135,
      "vwap": 11.1208,
      "vwap_slope": 0.0018,
      "rvol": 0.75,
      "volume_acceleration": 1.16,
      "premarket_volume": 375783.0,
      "momentum_pct": -0.04,
      "consolidation_tightness_pct": 0.35,
      "distance_from_pm_high_pct": 0.13,
      "extension_from_vwap_pct": 0.13,
      "spread_pct": 0.09
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 11.15,
    "pm_low": 11.08
  },
  {
    "symbol": "SSYS",
    "total_score": 55.77,
    "raw_score": 59.12,
    "breakdown": {
      "price_quality": 3.75,
      "volume_quality": 12.0,
      "rvol": 1.93,
      "volume_acceleration": 1.95,
      "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.24,
      "momentum_consistency": 3.32,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.7454,
      "vwap": 8.6894,
      "vwap_slope": 0.0069,
      "rvol": 0.81,
      "volume_acceleration": 0.56,
      "premarket_volume": 402763.0,
      "momentum_pct": -0.17,
      "consolidation_tightness_pct": 0.39,
      "distance_from_pm_high_pct": 0.62,
      "extension_from_vwap_pct": 0.64,
      "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": 8.8,
    "pm_low": 8.62
  },
  {
    "symbol": "MBLY",
    "total_score": 55.73,
    "raw_score": 59.07,
    "breakdown": {
      "price_quality": 4.1,
      "volume_quality": 12.0,
      "rvol": 1.26,
      "volume_acceleration": 2.74,
      "price_momentum": 0.17,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.71,
      "spread_liquidity": 4.63,
      "momentum_consistency": 2.07,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.095,
      "vwap": 9.0864,
      "vwap_slope": 0.0009,
      "rvol": 0.53,
      "volume_acceleration": 0.79,
      "premarket_volume": 262739.0,
      "momentum_pct": 0.11,
      "consolidation_tightness_pct": 0.22,
      "distance_from_pm_high_pct": 0.38,
      "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": true
    },
    "pm_high": 9.13,
    "pm_low": 9.06
  },
  {
    "symbol": "VIPS",
    "total_score": 55.53,
    "raw_score": 58.86,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 10.12,
      "rvol": 0.4,
      "volume_acceleration": 7.4,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.92,
      "spread_liquidity": 4.77,
      "momentum_consistency": 2.34,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.485,
      "vwap": 14.4682,
      "vwap_slope": 0.0031,
      "rvol": 0.17,
      "volume_acceleration": 1.74,
      "premarket_volume": 84306.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.1,
      "distance_from_pm_high_pct": 0.1,
      "extension_from_vwap_pct": 0.12,
      "spread_pct": 0.07
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 14.5,
    "pm_low": 14.435
  },
  {
    "symbol": "LYG",
    "total_score": 55.51,
    "raw_score": 58.84,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 5.09,
      "volume_acceleration": 1.29,
      "price_momentum": 0.05,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.9,
      "spread_liquidity": 4.44,
      "momentum_consistency": 2.17,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.952,
      "vwap": 5.948,
      "vwap_slope": 0.0006,
      "rvol": 1.91,
      "volume_acceleration": 0.37,
      "premarket_volume": 954813.0,
      "momentum_pct": 0.03,
      "consolidation_tightness_pct": 0.17,
      "distance_from_pm_high_pct": 0.13,
      "extension_from_vwap_pct": 0.07,
      "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.96,
    "pm_low": 5.935
  },
  {
    "symbol": "IE",
    "total_score": 55.48,
    "raw_score": 58.81,
    "breakdown": {
      "price_quality": 4.48,
      "volume_quality": 10.82,
      "rvol": 0.43,
      "volume_acceleration": 3.3,
      "price_momentum": 0.14,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.43,
      "spread_liquidity": 4.68,
      "momentum_consistency": 3.11,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.52,
      "vwap": 10.484,
      "vwap_slope": 0.0123,
      "rvol": 0.18,
      "volume_acceleration": 0.95,
      "premarket_volume": 90191.0,
      "momentum_pct": 0.1,
      "consolidation_tightness_pct": 0.2,
      "distance_from_pm_high_pct": 0.75,
      "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": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 10.6,
    "pm_low": 10.41
  },
  {
    "symbol": "BKKT",
    "total_score": 55.38,
    "raw_score": 58.7,
    "breakdown": {
      "price_quality": 2.61,
      "volume_quality": 12.0,
      "rvol": 4.72,
      "volume_acceleration": 2.07,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 3.99,
      "spread_liquidity": 3.25,
      "momentum_consistency": 3.66,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.61,
      "vwap": 7.5986,
      "vwap_slope": 0.0116,
      "rvol": 1.77,
      "volume_acceleration": 0.6,
      "premarket_volume": 884677.0,
      "momentum_pct": -0.39,
      "consolidation_tightness_pct": 1.44,
      "distance_from_pm_high_pct": 2.68,
      "extension_from_vwap_pct": 0.15,
      "spread_pct": 0.52
    },
    "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.8197,
    "pm_low": 7.2
  },
  {
    "symbol": "TDOC",
    "total_score": 55.32,
    "raw_score": 58.64,
    "breakdown": {
      "price_quality": 1.6,
      "volume_quality": 12.0,
      "rvol": 1.64,
      "volume_acceleration": 3.59,
      "price_momentum": 0.34,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 6,
      "spread_liquidity": 4.5,
      "momentum_consistency": 2.58,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.6,
      "vwap": 6.5834,
      "vwap_slope": 0.0005,
      "rvol": 0.68,
      "volume_acceleration": 1.03,
      "premarket_volume": 341207.0,
      "momentum_pct": 0.23,
      "consolidation_tightness_pct": 0.23,
      "distance_from_pm_high_pct": 0.0,
      "extension_from_vwap_pct": 0.25,
      "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.6,
    "pm_low": 6.57
  },
  {
    "symbol": "MFA",
    "total_score": 55.23,
    "raw_score": 58.54,
    "breakdown": {
      "price_quality": 4.07,
      "volume_quality": 12.0,
      "rvol": 0.66,
      "volume_acceleration": 1.9,
      "price_momentum": 0.17,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.97,
      "spread_liquidity": 4.63,
      "momentum_consistency": 2.73,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.075,
      "vwap": 9.0669,
      "vwap_slope": 0.0003,
      "rvol": 0.28,
      "volume_acceleration": 0.55,
      "premarket_volume": 138252.0,
      "momentum_pct": 0.11,
      "consolidation_tightness_pct": 0.15,
      "distance_from_pm_high_pct": 0.04,
      "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": true
    },
    "pm_high": 9.079,
    "pm_low": 9.051
  },
  {
    "symbol": "UPB",
    "total_score": 55.09,
    "raw_score": 58.4,
    "breakdown": {
      "price_quality": 2.19,
      "volume_quality": 6.1,
      "rvol": 0.24,
      "volume_acceleration": 10,
      "price_momentum": 0.52,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 6,
      "spread_liquidity": 4.07,
      "momentum_consistency": 2.87,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.19,
      "vwap": 7.1557,
      "vwap_slope": 0.0218,
      "rvol": 0.1,
      "volume_acceleration": 2.76,
      "premarket_volume": 50802.0,
      "momentum_pct": 0.35,
      "consolidation_tightness_pct": 0.42,
      "distance_from_pm_high_pct": 0.0,
      "extension_from_vwap_pct": 0.48,
      "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.19,
    "pm_low": 7.09
  },
  {
    "symbol": "ACVA",
    "total_score": 55.04,
    "raw_score": 58.35,
    "breakdown": {
      "price_quality": 2.5,
      "volume_quality": 12.0,
      "rvol": 1.76,
      "volume_acceleration": 3.03,
      "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.56,
      "momentum_consistency": 2.31,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.495,
      "vwap": 7.4782,
      "vwap_slope": 0.0016,
      "rvol": 0.74,
      "volume_acceleration": 0.87,
      "premarket_volume": 367547.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.33,
      "distance_from_pm_high_pct": 0.27,
      "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.515,
    "pm_low": 7.445
  },
  {
    "symbol": "GENI",
    "total_score": 55.02,
    "raw_score": 58.32,
    "breakdown": {
      "price_quality": 2.75,
      "volume_quality": 12.0,
      "rvol": 0.6,
      "volume_acceleration": 3.42,
      "price_momentum": 0.19,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.96,
      "spread_liquidity": 4.57,
      "momentum_consistency": 2.43,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.745,
      "vwap": 7.732,
      "vwap_slope": 0.0015,
      "rvol": 0.25,
      "volume_acceleration": 1.34,
      "premarket_volume": 125504.0,
      "momentum_pct": 0.13,
      "consolidation_tightness_pct": 0.24,
      "distance_from_pm_high_pct": 0.06,
      "extension_from_vwap_pct": 0.17,
      "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.7495,
    "pm_low": 7.71
  },
  {
    "symbol": "STGW",
    "total_score": 54.98,
    "raw_score": 58.28,
    "breakdown": {
      "price_quality": 3.81,
      "volume_quality": 12.0,
      "rvol": 0.52,
      "volume_acceleration": 3.26,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.87,
      "spread_liquidity": 4.62,
      "momentum_consistency": 1.8,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.815,
      "vwap": 8.8076,
      "vwap_slope": 0.0035,
      "rvol": 0.21,
      "volume_acceleration": 0.94,
      "premarket_volume": 107344.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.23,
      "distance_from_pm_high_pct": 0.17,
      "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": 8.83,
    "pm_low": 8.79
  },
  {
    "symbol": "CRML",
    "total_score": 54.82,
    "raw_score": 58.1,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 2.42,
      "volume_acceleration": 3.33,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.52,
      "spread_liquidity": 4.46,
      "momentum_consistency": 2.48,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.175,
      "vwap": 6.1566,
      "vwap_slope": 0.0029,
      "rvol": 1.01,
      "volume_acceleration": 0.96,
      "premarket_volume": 503162.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.29,
      "distance_from_pm_high_pct": 0.64,
      "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.215,
    "pm_low": 6.11
  },
  {
    "symbol": "SLDB",
    "total_score": 54.81,
    "raw_score": 58.09,
    "breakdown": {
      "price_quality": 4.64,
      "volume_quality": 6.51,
      "rvol": 0.26,
      "volume_acceleration": 5.45,
      "price_momentum": 0.39,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.96,
      "spread_liquidity": 4.65,
      "momentum_consistency": 3.83,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.645,
      "vwap": 9.5727,
      "vwap_slope": 0.014,
      "rvol": 0.11,
      "volume_acceleration": 1.55,
      "premarket_volume": 54216.0,
      "momentum_pct": 0.26,
      "consolidation_tightness_pct": 0.31,
      "distance_from_pm_high_pct": 0.05,
      "extension_from_vwap_pct": 0.76,
      "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.65,
    "pm_low": 9.51
  },
  {
    "symbol": "SMR",
    "total_score": 54.77,
    "raw_score": 58.05,
    "breakdown": {
      "price_quality": 4.15,
      "volume_quality": 12.0,
      "rvol": 12.0,
      "volume_acceleration": 3.86,
      "price_momentum": 0.82,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.07,
      "spread_liquidity": 4.64,
      "momentum_consistency": 3.12,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.15,
      "vwap": 9.1636,
      "vwap_slope": -0.0067,
      "rvol": 8.33,
      "volume_acceleration": 1.11,
      "premarket_volume": 4166606.0,
      "momentum_pct": 0.55,
      "consolidation_tightness_pct": 0.63,
      "distance_from_pm_high_pct": 1.24,
      "extension_from_vwap_pct": -0.15,
      "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": false,
      "vwap_rising": false
    },
    "pm_high": 9.265,
    "pm_low": 9.0923
  },
  {
    "symbol": "NMR",
    "total_score": 54.67,
    "raw_score": 57.95,
    "breakdown": {
      "price_quality": 4.54,
      "volume_quality": 10.8,
      "rvol": 0.43,
      "volume_acceleration": 2.23,
      "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.65,
      "momentum_consistency": 2.84,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.545,
      "vwap": 9.5336,
      "vwap_slope": 0.0044,
      "rvol": 0.18,
      "volume_acceleration": 1.22,
      "premarket_volume": 90025.0,
      "momentum_pct": 0.05,
      "consolidation_tightness_pct": 0.1,
      "distance_from_pm_high_pct": 0.05,
      "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": true,
      "vwap_rising": true
    },
    "pm_high": 9.55,
    "pm_low": 9.51
  },
  {
    "symbol": "CERT",
    "total_score": 54.66,
    "raw_score": 57.94,
    "breakdown": {
      "price_quality": 3.27,
      "volume_quality": 12.0,
      "rvol": 0.62,
      "volume_acceleration": 2.83,
      "price_momentum": 0.09,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.95,
      "spread_liquidity": 4.6,
      "momentum_consistency": 2.18,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.27,
      "vwap": 8.2558,
      "vwap_slope": 0.0048,
      "rvol": 0.26,
      "volume_acceleration": 1.28,
      "premarket_volume": 129096.0,
      "momentum_pct": 0.06,
      "consolidation_tightness_pct": 0.12,
      "distance_from_pm_high_pct": 0.06,
      "extension_from_vwap_pct": 0.17,
      "spread_pct": 0.12
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 8.275,
    "pm_low": 8.22
  },
  {
    "symbol": "AVAH",
    "total_score": 54.59,
    "raw_score": 57.86,
    "breakdown": {
      "price_quality": 2.11,
      "volume_quality": 12.0,
      "rvol": 1.52,
      "volume_acceleration": 2.01,
      "price_momentum": 0.17,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.85,
      "spread_liquidity": 4.74,
      "momentum_consistency": 3.05,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.89,
      "vwap": 12.8222,
      "vwap_slope": 0.0104,
      "rvol": 0.63,
      "volume_acceleration": 0.58,
      "premarket_volume": 315795.0,
      "momentum_pct": 0.12,
      "consolidation_tightness_pct": 0.31,
      "distance_from_pm_high_pct": 0.19,
      "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": true,
      "vwap_rising": true
    },
    "pm_high": 12.915,
    "pm_low": 12.71
  },
  {
    "symbol": "GNL",
    "total_score": 54.58,
    "raw_score": 57.85,
    "breakdown": {
      "price_quality": 3.94,
      "volume_quality": 12.0,
      "rvol": 0.83,
      "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.83,
      "spread_liquidity": 4.63,
      "momentum_consistency": 1.43,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.935,
      "vwap": 8.9349,
      "vwap_slope": -0.0016,
      "rvol": 0.35,
      "volume_acceleration": 2.97,
      "premarket_volume": 172882.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.22,
      "distance_from_pm_high_pct": 0.22,
      "extension_from_vwap_pct": 0.0,
      "spread_pct": 0.11
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 8.955,
    "pm_low": 8.915
  },
  {
    "symbol": "FSK",
    "total_score": 54.56,
    "raw_score": 57.83,
    "breakdown": {
      "price_quality": 2.95,
      "volume_quality": 12.0,
      "rvol": 0.95,
      "volume_acceleration": 2.6,
      "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.72,
      "momentum_consistency": 2.31,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.055,
      "vwap": 12.0402,
      "vwap_slope": 0.0019,
      "rvol": 0.4,
      "volume_acceleration": 0.75,
      "premarket_volume": 198793.0,
      "momentum_pct": -0.04,
      "consolidation_tightness_pct": 0.08,
      "distance_from_pm_high_pct": 0.12,
      "extension_from_vwap_pct": 0.12,
      "spread_pct": 0.08
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 12.07,
    "pm_low": 12.02
  },
  {
    "symbol": "AMPL",
    "total_score": 54.36,
    "raw_score": 57.62,
    "breakdown": {
      "price_quality": 2.24,
      "volume_quality": 11.94,
      "rvol": 0.48,
      "volume_acceleration": 3.04,
      "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.87,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.755,
      "vwap": 12.7285,
      "vwap_slope": 0.0056,
      "rvol": 0.2,
      "volume_acceleration": 0.87,
      "premarket_volume": 99504.0,
      "momentum_pct": -0.04,
      "consolidation_tightness_pct": 0.16,
      "distance_from_pm_high_pct": 0.12,
      "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": true,
      "vwap_rising": true
    },
    "pm_high": 12.77,
    "pm_low": 12.7
  },
  {
    "symbol": "NOMD",
    "total_score": 54.27,
    "raw_score": 57.53,
    "breakdown": {
      "price_quality": 2.92,
      "volume_quality": 12.0,
      "rvol": 0.99,
      "volume_acceleration": 2.19,
      "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.72,
      "momentum_consistency": 2.4,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.08,
      "vwap": 12.069,
      "vwap_slope": 0.0014,
      "rvol": 0.41,
      "volume_acceleration": 0.63,
      "premarket_volume": 205820.0,
      "momentum_pct": -0.04,
      "consolidation_tightness_pct": 0.17,
      "distance_from_pm_high_pct": 0.12,
      "extension_from_vwap_pct": 0.09,
      "spread_pct": 0.08
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 12.095,
    "pm_low": 12.045
  },
  {
    "symbol": "BHC",
    "total_score": 54.27,
    "raw_score": 57.53,
    "breakdown": {
      "price_quality": 1.86,
      "volume_quality": 12.0,
      "rvol": 0.86,
      "volume_acceleration": 3.63,
      "price_momentum": 0.11,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.73,
      "spread_liquidity": 4.52,
      "momentum_consistency": 2.43,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.865,
      "vwap": 6.857,
      "vwap_slope": 0.0008,
      "rvol": 0.36,
      "volume_acceleration": 1.04,
      "premarket_volume": 178414.0,
      "momentum_pct": 0.07,
      "consolidation_tightness_pct": 0.29,
      "distance_from_pm_high_pct": 0.36,
      "extension_from_vwap_pct": 0.12,
      "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.89,
    "pm_low": 6.835
  },
  {
    "symbol": "NEOG",
    "total_score": 54.26,
    "raw_score": 57.52,
    "breakdown": {
      "price_quality": 2.94,
      "volume_quality": 12.0,
      "rvol": 0.67,
      "volume_acceleration": 1.76,
      "price_momentum": 0.69,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.97,
      "spread_liquidity": 4.72,
      "momentum_consistency": 2.38,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.065,
      "vwap": 12.0277,
      "vwap_slope": 0.0,
      "rvol": 0.28,
      "volume_acceleration": 0.5,
      "premarket_volume": 138891.0,
      "momentum_pct": 0.46,
      "consolidation_tightness_pct": 0.5,
      "distance_from_pm_high_pct": 0.04,
      "extension_from_vwap_pct": 0.31,
      "spread_pct": 0.08
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 12.07,
    "pm_low": 11.99
  },
  {
    "symbol": "DCH",
    "total_score": 54.11,
    "raw_score": 57.36,
    "breakdown": {
      "price_quality": 1.62,
      "volume_quality": 12.0,
      "rvol": 0.56,
      "volume_acceleration": 3.79,
      "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.5,
      "momentum_consistency": 2.72,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.625,
      "vwap": 6.623,
      "vwap_slope": 0.0008,
      "rvol": 0.23,
      "volume_acceleration": 1.09,
      "premarket_volume": 116286.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.3,
      "distance_from_pm_high_pct": 0.3,
      "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": true,
      "vwap_rising": true
    },
    "pm_high": 6.645,
    "pm_low": 6.6
  },
  {
    "symbol": "BALY",
    "total_score": 54.07,
    "raw_score": 57.31,
    "breakdown": {
      "price_quality": 3.82,
      "volume_quality": 5.38,
      "rvol": 0.22,
      "volume_acceleration": 8.64,
      "price_momentum": 0.94,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.66,
      "spread_liquidity": 1.98,
      "momentum_consistency": 4.29,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.82,
      "vwap": 8.7864,
      "vwap_slope": 0.0168,
      "rvol": 0.09,
      "volume_acceleration": 1.86,
      "premarket_volume": 44818.0,
      "momentum_pct": 0.63,
      "consolidation_tightness_pct": 1.08,
      "distance_from_pm_high_pct": 0.46,
      "extension_from_vwap_pct": 0.38,
      "spread_pct": 0.91
    },
    "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.8605,
    "pm_low": 8.71
  },
  {
    "symbol": "BHVN",
    "total_score": 53.79,
    "raw_score": 57.02,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 1.17,
      "volume_acceleration": 2.45,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.71,
      "spread_liquidity": 4.53,
      "momentum_consistency": 3.26,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.13,
      "vwap": 14.0512,
      "vwap_slope": 0.0221,
      "rvol": 0.49,
      "volume_acceleration": 0.7,
      "premarket_volume": 243417.0,
      "momentum_pct": -0.25,
      "consolidation_tightness_pct": 0.39,
      "distance_from_pm_high_pct": 0.39,
      "extension_from_vwap_pct": 0.56,
      "spread_pct": 0.14
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 14.185,
    "pm_low": 13.96
  },
  {
    "symbol": "DBI",
    "total_score": 53.72,
    "raw_score": 56.94,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 5.72,
      "rvol": 0.23,
      "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.82,
      "spread_liquidity": 4.46,
      "momentum_consistency": 2.82,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.155,
      "vwap": 6.1487,
      "vwap_slope": 0.0138,
      "rvol": 0.1,
      "volume_acceleration": 2.33,
      "premarket_volume": 47632.0,
      "momentum_pct": -0.06,
      "consolidation_tightness_pct": 0.32,
      "distance_from_pm_high_pct": 0.24,
      "extension_from_vwap_pct": 0.1,
      "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.1
  },
  {
    "symbol": "CPRI",
    "total_score": 53.68,
    "raw_score": 56.9,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 1.5,
      "volume_acceleration": 5.87,
      "price_momentum": 0.11,
      "price_structure": 12,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.74,
      "spread_liquidity": 4.77,
      "momentum_consistency": 3.43,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.225,
      "vwap": 14.2325,
      "vwap_slope": -0.008,
      "rvol": 0.62,
      "volume_acceleration": 1.59,
      "premarket_volume": 311861.0,
      "momentum_pct": 0.07,
      "consolidation_tightness_pct": 0.18,
      "distance_from_pm_high_pct": 0.35,
      "extension_from_vwap_pct": -0.05,
      "spread_pct": 0.07
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 14.275,
    "pm_low": 14.2
  },
  {
    "symbol": "GDYN",
    "total_score": 53.66,
    "raw_score": 56.88,
    "breakdown": {
      "price_quality": 2.97,
      "volume_quality": 12.0,
      "rvol": 0.61,
      "volume_acceleration": 9.11,
      "price_momentum": 0.57,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.91,
      "spread_liquidity": 4.58,
      "momentum_consistency": 1.92,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.975,
      "vwap": 7.9549,
      "vwap_slope": -0.0017,
      "rvol": 0.26,
      "volume_acceleration": 1.91,
      "premarket_volume": 128061.0,
      "momentum_pct": 0.38,
      "consolidation_tightness_pct": 0.63,
      "distance_from_pm_high_pct": 0.13,
      "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": false,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 7.985,
    "pm_low": 7.925
  },
  {
    "symbol": "COUR",
    "total_score": 53.55,
    "raw_score": 56.76,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 1.15,
      "volume_acceleration": 3.04,
      "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.43,
      "momentum_consistency": 2.31,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.855,
      "vwap": 5.8494,
      "vwap_slope": 0.0014,
      "rvol": 0.48,
      "volume_acceleration": 0.87,
      "premarket_volume": 239642.0,
      "momentum_pct": -0.09,
      "consolidation_tightness_pct": 0.17,
      "distance_from_pm_high_pct": 0.09,
      "extension_from_vwap_pct": 0.1,
      "spread_pct": 0.17
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 5.86,
    "pm_low": 5.83
  },
  {
    "symbol": "TSSI",
    "total_score": 53.5,
    "raw_score": 56.71,
    "breakdown": {
      "price_quality": 4.18,
      "volume_quality": 5.58,
      "rvol": 0.22,
      "volume_acceleration": 7.17,
      "price_momentum": 0.16,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.84,
      "spread_liquidity": 3.91,
      "momentum_consistency": 3.24,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.18,
      "vwap": 9.1722,
      "vwap_slope": 0.0018,
      "rvol": 0.09,
      "volume_acceleration": 1.72,
      "premarket_volume": 46514.0,
      "momentum_pct": 0.11,
      "consolidation_tightness_pct": 0.55,
      "distance_from_pm_high_pct": 0.22,
      "extension_from_vwap_pct": 0.09,
      "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.2,
    "pm_low": 9.1201
  },
  {
    "symbol": "SUJA",
    "total_score": 53.31,
    "raw_score": 56.51,
    "breakdown": {
      "price_quality": 2.35,
      "volume_quality": 12.0,
      "rvol": 0.61,
      "volume_acceleration": 2.32,
      "price_momentum": 0.2,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.59,
      "spread_liquidity": 3.19,
      "momentum_consistency": 3.85,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.35,
      "vwap": 7.2939,
      "vwap_slope": 0.0068,
      "rvol": 0.25,
      "volume_acceleration": 0.67,
      "premarket_volume": 126419.0,
      "momentum_pct": 0.14,
      "consolidation_tightness_pct": 0.82,
      "distance_from_pm_high_pct": 0.54,
      "extension_from_vwap_pct": 0.77,
      "spread_pct": 0.54
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 7.39,
    "pm_low": 7.1072
  },
  {
    "symbol": "FWRG",
    "total_score": 53.27,
    "raw_score": 56.47,
    "breakdown": {
      "price_quality": 2.57,
      "volume_quality": 9.4,
      "rvol": 0.38,
      "volume_acceleration": 9.78,
      "price_momentum": 0.48,
      "price_structure": 12,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.02,
      "spread_liquidity": 4.73,
      "momentum_consistency": 2.11,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.43,
      "vwap": 12.5035,
      "vwap_slope": -0.0527,
      "rvol": 0.16,
      "volume_acceleration": 1.98,
      "premarket_volume": 78314.0,
      "momentum_pct": 0.32,
      "consolidation_tightness_pct": 0.81,
      "distance_from_pm_high_pct": 1.31,
      "extension_from_vwap_pct": -0.59,
      "spread_pct": 0.08
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 12.595,
    "pm_low": 12.36
  },
  {
    "symbol": "RSKD",
    "total_score": 53.12,
    "raw_score": 56.3,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 3.17,
      "volume_acceleration": 0.74,
      "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.45,
      "momentum_consistency": 2.29,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.115,
      "vwap": 6.1051,
      "vwap_slope": 0.0014,
      "rvol": 1.32,
      "volume_acceleration": 0.21,
      "premarket_volume": 660712.0,
      "momentum_pct": -0.16,
      "consolidation_tightness_pct": 0.41,
      "distance_from_pm_high_pct": 0.33,
      "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.135,
    "pm_low": 6.025
  },
  {
    "symbol": "NOK",
    "total_score": 53.09,
    "raw_score": 56.28,
    "breakdown": {
      "price_quality": 4.85,
      "volume_quality": 12.0,
      "rvol": 12.0,
      "volume_acceleration": 3.22,
      "price_momentum": 0.07,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.3,
      "spread_liquidity": 4.67,
      "momentum_consistency": 1.76,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.155,
      "vwap": 10.1817,
      "vwap_slope": -0.0071,
      "rvol": 13.77,
      "volume_acceleration": 0.93,
      "premarket_volume": 6882983.0,
      "momentum_pct": 0.05,
      "consolidation_tightness_pct": 0.2,
      "distance_from_pm_high_pct": 0.93,
      "extension_from_vwap_pct": -0.26,
      "spread_pct": 0.1
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 10.25,
    "pm_low": 10.14
  },
  {
    "symbol": "NEXT",
    "total_score": 53.09,
    "raw_score": 56.28,
    "breakdown": {
      "price_quality": 1.78,
      "volume_quality": 12.0,
      "rvol": 1.24,
      "volume_acceleration": 2.22,
      "price_momentum": 0.11,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.94,
      "spread_liquidity": 4.51,
      "momentum_consistency": 2.07,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.785,
      "vwap": 6.7641,
      "vwap_slope": 0.0047,
      "rvol": 0.52,
      "volume_acceleration": 1.22,
      "premarket_volume": 259093.0,
      "momentum_pct": 0.07,
      "consolidation_tightness_pct": 0.15,
      "distance_from_pm_high_pct": 0.07,
      "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": 6.79,
    "pm_low": 6.74
  },
  {
    "symbol": "HLF",
    "total_score": 53.04,
    "raw_score": 56.22,
    "breakdown": {
      "price_quality": 2.32,
      "volume_quality": 7.28,
      "rvol": 0.29,
      "volume_acceleration": 4.14,
      "price_momentum": 0.47,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 6,
      "spread_liquidity": 4.47,
      "momentum_consistency": 2.43,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.6799,
      "vwap": 12.6534,
      "vwap_slope": -0.0007,
      "rvol": 0.12,
      "volume_acceleration": 1.41,
      "premarket_volume": 60690.0,
      "momentum_pct": 0.32,
      "consolidation_tightness_pct": 0.32,
      "distance_from_pm_high_pct": 0.0,
      "extension_from_vwap_pct": 0.21,
      "spread_pct": 0.16
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 12.6799,
    "pm_low": 12.625
  },
  {
    "symbol": "ALOY",
    "total_score": 52.92,
    "raw_score": 56.1,
    "breakdown": {
      "price_quality": 2.45,
      "volume_quality": 12.0,
      "rvol": 0.65,
      "volume_acceleration": 6.7,
      "price_momentum": 0.0,
      "price_structure": 12,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 4.85,
      "spread_liquidity": 4.73,
      "momentum_consistency": 2.71,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.555,
      "vwap": 12.6074,
      "vwap_slope": -0.0167,
      "rvol": 0.27,
      "volume_acceleration": 1.67,
      "premarket_volume": 135399.0,
      "momentum_pct": -0.08,
      "consolidation_tightness_pct": 0.56,
      "distance_from_pm_high_pct": 1.53,
      "extension_from_vwap_pct": -0.42,
      "spread_pct": 0.08
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 12.75,
    "pm_low": 12.53
  },
  {
    "symbol": "SECZ",
    "total_score": 52.84,
    "raw_score": 56.01,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 0.9,
      "volume_acceleration": 2.96,
      "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": 3.92,
      "momentum_consistency": 2.58,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.15,
      "vwap": 6.1097,
      "vwap_slope": 0.0086,
      "rvol": 0.38,
      "volume_acceleration": 0.85,
      "premarket_volume": 187616.0,
      "momentum_pct": -0.16,
      "consolidation_tightness_pct": 0.58,
      "distance_from_pm_high_pct": 0.32,
      "extension_from_vwap_pct": 0.66,
      "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": 6.17,
    "pm_low": 6.05
  },
  {
    "symbol": "SVRA",
    "total_score": 52.82,
    "raw_score": 55.99,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 11.52,
      "rvol": 0.46,
      "volume_acceleration": 3.29,
      "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.4,
      "momentum_consistency": 2.62,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.545,
      "vwap": 5.5354,
      "vwap_slope": 0.0027,
      "rvol": 0.19,
      "volume_acceleration": 0.95,
      "premarket_volume": 96032.0,
      "momentum_pct": -0.09,
      "consolidation_tightness_pct": 0.27,
      "distance_from_pm_high_pct": 0.27,
      "extension_from_vwap_pct": 0.17,
      "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.56,
    "pm_low": 5.515
  },
  {
    "symbol": "HAFN",
    "total_score": 52.81,
    "raw_score": 55.98,
    "breakdown": {
      "price_quality": 2.89,
      "volume_quality": 10.19,
      "rvol": 0.41,
      "volume_acceleration": 3.61,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.86,
      "spread_liquidity": 4.58,
      "momentum_consistency": 2.04,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.895,
      "vwap": 7.8894,
      "vwap_slope": 0.0039,
      "rvol": 0.17,
      "volume_acceleration": 1.04,
      "premarket_volume": 84925.0,
      "momentum_pct": -0.16,
      "consolidation_tightness_pct": 0.19,
      "distance_from_pm_high_pct": 0.19,
      "extension_from_vwap_pct": 0.07,
      "spread_pct": 0.13
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 7.91,
    "pm_low": 7.87
  },
  {
    "symbol": "WVE",
    "total_score": 52.37,
    "raw_score": 55.52,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 0.94,
      "volume_acceleration": 3.13,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.54,
      "spread_liquidity": 4.39,
      "momentum_consistency": 1.63,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.455,
      "vwap": 5.4537,
      "vwap_slope": 0.0005,
      "rvol": 0.39,
      "volume_acceleration": 0.9,
      "premarket_volume": 194954.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.09,
      "distance_from_pm_high_pct": 0.62,
      "extension_from_vwap_pct": 0.02,
      "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.489,
    "pm_low": 5.435
  },
  {
    "symbol": "TGB",
    "total_score": 52.26,
    "raw_score": 55.4,
    "breakdown": {
      "price_quality": 3.43,
      "volume_quality": 12.0,
      "rvol": 1.3,
      "volume_acceleration": 6.78,
      "price_momentum": 0.09,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.25,
      "spread_liquidity": 4.6,
      "momentum_consistency": 2.34,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.43,
      "vwap": 8.4323,
      "vwap_slope": 0.0014,
      "rvol": 0.54,
      "volume_acceleration": 1.68,
      "premarket_volume": 270466.0,
      "momentum_pct": 0.06,
      "consolidation_tightness_pct": 0.18,
      "distance_from_pm_high_pct": 1.0,
      "extension_from_vwap_pct": -0.03,
      "spread_pct": 0.12
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": true
    },
    "pm_high": 8.515,
    "pm_low": 8.38
  },
  {
    "symbol": "BHK",
    "total_score": 52.03,
    "raw_score": 55.15,
    "breakdown": {
      "price_quality": 4.09,
      "volume_quality": 3.66,
      "rvol": 0.15,
      "volume_acceleration": 7.51,
      "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.63,
      "momentum_consistency": 2.75,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.0901,
      "vwap": 9.0784,
      "vwap_slope": 0.0046,
      "rvol": 0.06,
      "volume_acceleration": 1.75,
      "premarket_volume": 30468.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.05,
      "distance_from_pm_high_pct": 0.05,
      "extension_from_vwap_pct": 0.13,
      "spread_pct": 0.11
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 9.095,
    "pm_low": 9.061
  },
  {
    "symbol": "TASK",
    "total_score": 51.95,
    "raw_score": 55.07,
    "breakdown": {
      "price_quality": 3.0,
      "volume_quality": 7.17,
      "rvol": 0.29,
      "volume_acceleration": 1.95,
      "price_momentum": 0.47,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.86,
      "spread_liquidity": 4.58,
      "momentum_consistency": 2.95,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.9999,
      "vwap": 7.9747,
      "vwap_slope": -0.0044,
      "rvol": 0.12,
      "volume_acceleration": 1.2,
      "premarket_volume": 59767.0,
      "momentum_pct": 0.31,
      "consolidation_tightness_pct": 0.5,
      "distance_from_pm_high_pct": 0.19,
      "extension_from_vwap_pct": 0.32,
      "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": 8.015,
    "pm_low": 7.95
  },
  {
    "symbol": "FISN",
    "total_score": 51.94,
    "raw_score": 55.05,
    "breakdown": {
      "price_quality": 2.95,
      "volume_quality": 3.57,
      "rvol": 0.14,
      "volume_acceleration": 2.63,
      "price_momentum": 0.0,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.58,
      "spread_liquidity": 1.25,
      "momentum_consistency": 2.93,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.95,
      "vwap": 7.9165,
      "vwap_slope": 0.0122,
      "rvol": 0.06,
      "volume_acceleration": 0.76,
      "premarket_volume": 29786.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.95,
      "distance_from_pm_high_pct": 0.56,
      "extension_from_vwap_pct": 0.42,
      "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": 7.995,
    "pm_low": 7.805
  },
  {
    "symbol": "GLAS",
    "total_score": 51.89,
    "raw_score": 55.0,
    "breakdown": {
      "price_quality": 4.89,
      "volume_quality": 8.73,
      "rvol": 0.35,
      "volume_acceleration": 1.03,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.18,
      "spread_liquidity": 4.33,
      "momentum_consistency": 4.1,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.89,
      "vwap": 9.8184,
      "vwap_slope": 0.0174,
      "rvol": 0.15,
      "volume_acceleration": 0.3,
      "premarket_volume": 72774.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 1.26,
      "distance_from_pm_high_pct": 1.1,
      "extension_from_vwap_pct": 0.73,
      "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": 9.9999,
    "pm_low": 9.63
  },
  {
    "symbol": "OBDC",
    "total_score": 51.75,
    "raw_score": 54.86,
    "breakdown": {
      "price_quality": 3.62,
      "volume_quality": 12.0,
      "rvol": 1.6,
      "volume_acceleration": 5.22,
      "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.71,
      "momentum_consistency": 2.34,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.38,
      "vwap": 11.3882,
      "vwap_slope": 0.003,
      "rvol": 0.67,
      "volume_acceleration": 1.52,
      "premarket_volume": 332788.0,
      "momentum_pct": -0.13,
      "consolidation_tightness_pct": 0.22,
      "distance_from_pm_high_pct": 0.31,
      "extension_from_vwap_pct": -0.07,
      "spread_pct": 0.09
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": true
    },
    "pm_high": 11.415,
    "pm_low": 11.37
  },
  {
    "symbol": "NMFC",
    "total_score": 51.63,
    "raw_score": 54.72,
    "breakdown": {
      "price_quality": 2.58,
      "volume_quality": 2.56,
      "rvol": 0.1,
      "volume_acceleration": 10,
      "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.56,
      "momentum_consistency": 2.22,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.585,
      "vwap": 7.569,
      "vwap_slope": 0.0131,
      "rvol": 0.04,
      "volume_acceleration": 4.12,
      "premarket_volume": 21303.0,
      "momentum_pct": 0.2,
      "consolidation_tightness_pct": 0.26,
      "distance_from_pm_high_pct": 0.0,
      "extension_from_vwap_pct": 0.21,
      "spread_pct": 0.13
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 7.585,
    "pm_low": 7.555
  },
  {
    "symbol": "MARA",
    "total_score": 51.54,
    "raw_score": 54.64,
    "breakdown": {
      "price_quality": 4.46,
      "volume_quality": 12.0,
      "rvol": 12.0,
      "volume_acceleration": 1.86,
      "price_momentum": 0.14,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 4.41,
      "spread_liquidity": 4.65,
      "momentum_consistency": 2.71,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.465,
      "vwap": 9.5435,
      "vwap_slope": -0.0142,
      "rvol": 18.39,
      "volume_acceleration": 1.19,
      "premarket_volume": 9197323.0,
      "momentum_pct": 0.09,
      "consolidation_tightness_pct": 0.74,
      "distance_from_pm_high_pct": 2.12,
      "extension_from_vwap_pct": -0.82,
      "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": false,
      "vwap_rising": false
    },
    "pm_high": 9.67,
    "pm_low": 9.44
  },
  {
    "symbol": "SOUN",
    "total_score": 51.38,
    "raw_score": 54.47,
    "breakdown": {
      "price_quality": 2.1,
      "volume_quality": 12.0,
      "rvol": 12.0,
      "volume_acceleration": 2.71,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.47,
      "spread_liquidity": 4.53,
      "momentum_consistency": 3.25,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.0999,
      "vwap": 7.116,
      "vwap_slope": -0.0022,
      "rvol": 14.18,
      "volume_acceleration": 0.78,
      "premarket_volume": 7091455.0,
      "momentum_pct": -0.0,
      "consolidation_tightness_pct": 0.35,
      "distance_from_pm_high_pct": 0.7,
      "extension_from_vwap_pct": -0.23,
      "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.15,
    "pm_low": 7.085
  },
  {
    "symbol": "OPFI",
    "total_score": 50.9,
    "raw_score": 53.95,
    "breakdown": {
      "price_quality": 2.2,
      "volume_quality": 9.72,
      "rvol": 0.39,
      "volume_acceleration": 2.35,
      "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.54,
      "momentum_consistency": 2.35,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.2,
      "vwap": 7.1894,
      "vwap_slope": 0.0038,
      "rvol": 0.16,
      "volume_acceleration": 1.24,
      "premarket_volume": 81005.0,
      "momentum_pct": 0.07,
      "consolidation_tightness_pct": 0.42,
      "distance_from_pm_high_pct": 0.14,
      "extension_from_vwap_pct": 0.15,
      "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.21,
    "pm_low": 7.15
  },
  {
    "symbol": "JOBY",
    "total_score": 50.9,
    "raw_score": 53.95,
    "breakdown": {
      "price_quality": 2.67,
      "volume_quality": 12.0,
      "rvol": 12.0,
      "volume_acceleration": 2.32,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.42,
      "spread_liquidity": 4.57,
      "momentum_consistency": 2.58,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.67,
      "vwap": 7.6909,
      "vwap_slope": -0.0051,
      "rvol": 5.62,
      "volume_acceleration": 1.23,
      "premarket_volume": 2810242.0,
      "momentum_pct": -0.07,
      "consolidation_tightness_pct": 0.26,
      "distance_from_pm_high_pct": 0.78,
      "extension_from_vwap_pct": -0.27,
      "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": false
    },
    "pm_high": 7.73,
    "pm_low": 7.66
  },
  {
    "symbol": "WSE",
    "total_score": 50.87,
    "raw_score": 53.92,
    "breakdown": {
      "price_quality": 2.35,
      "volume_quality": 7.8,
      "rvol": 0.31,
      "volume_acceleration": 3.61,
      "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.74,
      "momentum_consistency": 2.76,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.6511,
      "vwap": 12.6248,
      "vwap_slope": 0.0106,
      "rvol": 0.13,
      "volume_acceleration": 1.04,
      "premarket_volume": 65011.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.12,
      "distance_from_pm_high_pct": 0.07,
      "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": true,
      "vwap_rising": true
    },
    "pm_high": 12.66,
    "pm_low": 12.6
  },
  {
    "symbol": "DEI",
    "total_score": 50.86,
    "raw_score": 53.91,
    "breakdown": {
      "price_quality": 3.23,
      "volume_quality": 7.21,
      "rvol": 0.29,
      "volume_acceleration": 3.82,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.87,
      "spread_liquidity": 4.72,
      "momentum_consistency": 2.37,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.765,
      "vwap": 11.7641,
      "vwap_slope": 0.0013,
      "rvol": 0.12,
      "volume_acceleration": 1.1,
      "premarket_volume": 60069.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.13,
      "distance_from_pm_high_pct": 0.17,
      "extension_from_vwap_pct": 0.01,
      "spread_pct": 0.08
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 11.785,
    "pm_low": 11.75
  },
  {
    "symbol": "KODK",
    "total_score": 50.83,
    "raw_score": 53.88,
    "breakdown": {
      "price_quality": 4.71,
      "volume_quality": 9.1,
      "rvol": 0.36,
      "volume_acceleration": 5.61,
      "price_momentum": 0.15,
      "price_structure": 12,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.08,
      "spread_liquidity": 4.31,
      "momentum_consistency": 2.55,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.71,
      "vwap": 9.7127,
      "vwap_slope": -0.0028,
      "rvol": 0.15,
      "volume_acceleration": 1.56,
      "premarket_volume": 75813.0,
      "momentum_pct": 0.1,
      "consolidation_tightness_pct": 0.26,
      "distance_from_pm_high_pct": 1.22,
      "extension_from_vwap_pct": -0.03,
      "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": 9.83,
    "pm_low": 9.67
  },
  {
    "symbol": "WU",
    "total_score": 50.71,
    "raw_score": 53.75,
    "breakdown": {
      "price_quality": 2.19,
      "volume_quality": 12.0,
      "rvol": 4.76,
      "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.54,
      "momentum_consistency": 2.17,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.19,
      "vwap": 7.1981,
      "vwap_slope": -0.0001,
      "rvol": 1.79,
      "volume_acceleration": 2.34,
      "premarket_volume": 893299.0,
      "momentum_pct": -0.07,
      "consolidation_tightness_pct": 0.14,
      "distance_from_pm_high_pct": 0.41,
      "extension_from_vwap_pct": -0.11,
      "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.2199,
    "pm_low": 7.18
  },
  {
    "symbol": "PD",
    "total_score": 50.57,
    "raw_score": 53.6,
    "breakdown": {
      "price_quality": 2.85,
      "volume_quality": 8.14,
      "rvol": 0.33,
      "volume_acceleration": 2.99,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.94,
      "spread_liquidity": 4.45,
      "momentum_consistency": 2.51,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.15,
      "vwap": 12.1321,
      "vwap_slope": 0.0015,
      "rvol": 0.14,
      "volume_acceleration": 1.3,
      "premarket_volume": 67826.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.25,
      "distance_from_pm_high_pct": 0.08,
      "extension_from_vwap_pct": 0.15,
      "spread_pct": 0.16
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 12.16,
    "pm_low": 12.09
  },
  {
    "symbol": "BLMN",
    "total_score": 50.49,
    "raw_score": 53.52,
    "breakdown": {
      "price_quality": 4.36,
      "volume_quality": 12.0,
      "rvol": 0.74,
      "volume_acceleration": 2.11,
      "price_momentum": 0.99,
      "price_structure": 12,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 4.85,
      "spread_liquidity": 4.69,
      "momentum_consistency": 1.78,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.64,
      "vwap": 10.6959,
      "vwap_slope": -0.0488,
      "rvol": 0.31,
      "volume_acceleration": 1.21,
      "premarket_volume": 154000.0,
      "momentum_pct": 0.66,
      "consolidation_tightness_pct": 0.71,
      "distance_from_pm_high_pct": 1.53,
      "extension_from_vwap_pct": -0.52,
      "spread_pct": 0.09
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 10.805,
    "pm_low": 10.57
  },
  {
    "symbol": "RITM",
    "total_score": 50.43,
    "raw_score": 53.46,
    "breakdown": {
      "price_quality": 4.65,
      "volume_quality": 12.0,
      "rvol": 1.98,
      "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.82,
      "spread_liquidity": 4.68,
      "momentum_consistency": 1.93,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.345,
      "vwap": 10.3487,
      "vwap_slope": -0.0002,
      "rvol": 0.82,
      "volume_acceleration": 2.63,
      "premarket_volume": 411473.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.19,
      "distance_from_pm_high_pct": 0.24,
      "extension_from_vwap_pct": -0.04,
      "spread_pct": 0.1
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 10.37,
    "pm_low": 10.33
  },
  {
    "symbol": "CLSK",
    "total_score": 50.38,
    "raw_score": 53.41,
    "breakdown": {
      "price_quality": 3.52,
      "volume_quality": 12.0,
      "rvol": 12.0,
      "volume_acceleration": 2.71,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 3.72,
      "spread_liquidity": 4.71,
      "momentum_consistency": 2.34,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.4751,
      "vwap": 11.6189,
      "vwap_slope": -0.0436,
      "rvol": 4.86,
      "volume_acceleration": 1.27,
      "premarket_volume": 2429522.0,
      "momentum_pct": -0.65,
      "consolidation_tightness_pct": 1.22,
      "distance_from_pm_high_pct": 3.04,
      "extension_from_vwap_pct": -1.24,
      "spread_pct": 0.09
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 11.835,
    "pm_low": 11.44
  },
  {
    "symbol": "ATAI",
    "total_score": 50.08,
    "raw_score": 53.08,
    "breakdown": {
      "price_quality": 2.33,
      "volume_quality": 12.0,
      "rvol": 3.2,
      "volume_acceleration": 3.22,
      "price_momentum": 0.1,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 6,
      "spread_liquidity": 4.54,
      "momentum_consistency": 2.48,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.33,
      "vwap": 7.327,
      "vwap_slope": -0.0001,
      "rvol": 1.33,
      "volume_acceleration": 0.93,
      "premarket_volume": 666958.0,
      "momentum_pct": 0.07,
      "consolidation_tightness_pct": 0.14,
      "distance_from_pm_high_pct": 0.0,
      "extension_from_vwap_pct": 0.04,
      "spread_pct": 0.14
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 7.33,
    "pm_low": 7.32
  },
  {
    "symbol": "BBDC",
    "total_score": 50.07,
    "raw_score": 53.07,
    "breakdown": {
      "price_quality": 4.43,
      "volume_quality": 6.82,
      "rvol": 0.27,
      "volume_acceleration": 2.79,
      "price_momentum": 0.01,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.92,
      "spread_liquidity": 4.65,
      "momentum_consistency": 1.78,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.4299,
      "vwap": 9.4256,
      "vwap_slope": 0.0008,
      "rvol": 0.11,
      "volume_acceleration": 1.28,
      "premarket_volume": 56871.0,
      "momentum_pct": 0.01,
      "consolidation_tightness_pct": 0.05,
      "distance_from_pm_high_pct": 0.11,
      "extension_from_vwap_pct": 0.05,
      "spread_pct": 0.11
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 9.44,
    "pm_low": 9.42
  },
  {
    "symbol": "IBRX",
    "total_score": 50.04,
    "raw_score": 53.04,
    "breakdown": {
      "price_quality": 3.07,
      "volume_quality": 12.0,
      "rvol": 3.28,
      "volume_acceleration": 2.56,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.77,
      "spread_liquidity": 4.59,
      "momentum_consistency": 2.58,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.075,
      "vwap": 8.0744,
      "vwap_slope": -0.0001,
      "rvol": 1.37,
      "volume_acceleration": 1.26,
      "premarket_volume": 682707.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.19,
      "distance_from_pm_high_pct": 0.31,
      "extension_from_vwap_pct": 0.01,
      "spread_pct": 0.12
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 8.1,
    "pm_low": 8.02
  },
  {
    "symbol": "DC",
    "total_score": 49.92,
    "raw_score": 52.91,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 7.68,
      "rvol": 0.31,
      "volume_acceleration": 3.9,
      "price_momentum": 0.24,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.76,
      "spread_liquidity": 4.47,
      "momentum_consistency": 2.67,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.235,
      "vwap": 6.1971,
      "vwap_slope": 0.0075,
      "rvol": 0.13,
      "volume_acceleration": 1.12,
      "premarket_volume": 63963.0,
      "momentum_pct": 0.16,
      "consolidation_tightness_pct": 0.24,
      "distance_from_pm_high_pct": 0.32,
      "extension_from_vwap_pct": 0.61,
      "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.255,
    "pm_low": 6.15
  },
  {
    "symbol": "SB",
    "total_score": 49.78,
    "raw_score": 52.77,
    "breakdown": {
      "price_quality": 3.16,
      "volume_quality": 6.37,
      "rvol": 0.25,
      "volume_acceleration": 3.48,
      "price_momentum": 0.18,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 6,
      "spread_liquidity": 4.59,
      "momentum_consistency": 2.33,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.16,
      "vwap": 8.1434,
      "vwap_slope": 0.0015,
      "rvol": 0.11,
      "volume_acceleration": 1.0,
      "premarket_volume": 53058.0,
      "momentum_pct": 0.12,
      "consolidation_tightness_pct": 0.23,
      "distance_from_pm_high_pct": 0.0,
      "extension_from_vwap_pct": 0.2,
      "spread_pct": 0.12
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 8.16,
    "pm_low": 8.13
  },
  {
    "symbol": "CION",
    "total_score": 49.74,
    "raw_score": 52.72,
    "breakdown": {
      "price_quality": 2.38,
      "volume_quality": 5.09,
      "rvol": 0.2,
      "volume_acceleration": 2.94,
      "price_momentum": 0.2,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.9,
      "spread_liquidity": 4.55,
      "momentum_consistency": 2.67,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.375,
      "vwap": 7.3656,
      "vwap_slope": -0.0003,
      "rvol": 0.08,
      "volume_acceleration": 0.84,
      "premarket_volume": 42435.0,
      "momentum_pct": 0.14,
      "consolidation_tightness_pct": 0.14,
      "distance_from_pm_high_pct": 0.14,
      "extension_from_vwap_pct": 0.13,
      "spread_pct": 0.14
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 7.385,
    "pm_low": 7.35
  },
  {
    "symbol": "OSS",
    "total_score": 49.62,
    "raw_score": 52.6,
    "breakdown": {
      "price_quality": 2.89,
      "volume_quality": 5.73,
      "rvol": 0.23,
      "volume_acceleration": 2.44,
      "price_momentum": 0.19,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.42,
      "spread_liquidity": 3.9,
      "momentum_consistency": 3.0,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.105,
      "vwap": 12.103,
      "vwap_slope": -0.0054,
      "rvol": 0.1,
      "volume_acceleration": 0.7,
      "premarket_volume": 47782.0,
      "momentum_pct": 0.12,
      "consolidation_tightness_pct": 0.25,
      "distance_from_pm_high_pct": 0.78,
      "extension_from_vwap_pct": 0.02,
      "spread_pct": 0.33
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 12.2,
    "pm_low": 12.025
  },
  {
    "symbol": "FRNM",
    "total_score": 49.37,
    "raw_score": 52.33,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 7.2,
      "rvol": 0.29,
      "volume_acceleration": 3.12,
      "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.26,
      "momentum_consistency": 3.81,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.555,
      "vwap": 13.5526,
      "vwap_slope": 0.0019,
      "rvol": 0.12,
      "volume_acceleration": 0.9,
      "premarket_volume": 60014.0,
      "momentum_pct": -0.11,
      "consolidation_tightness_pct": 0.18,
      "distance_from_pm_high_pct": 0.33,
      "extension_from_vwap_pct": 0.02,
      "spread_pct": 0.22
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 13.6,
    "pm_low": 13.5
  },
  {
    "symbol": "VG",
    "total_score": 49.35,
    "raw_score": 52.31,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 4.55,
      "volume_acceleration": 9.12,
      "price_momentum": 0.05,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.3,
      "spread_liquidity": 4.76,
      "momentum_consistency": 2.62,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.785,
      "vwap": 13.8063,
      "vwap_slope": -0.0144,
      "rvol": 1.71,
      "volume_acceleration": 1.91,
      "premarket_volume": 853839.0,
      "momentum_pct": 0.04,
      "consolidation_tightness_pct": 0.18,
      "distance_from_pm_high_pct": 0.93,
      "extension_from_vwap_pct": -0.15,
      "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.915,
    "pm_low": 13.76
  },
  {
    "symbol": "ALHC",
    "total_score": 49.02,
    "raw_score": 51.96,
    "breakdown": {
      "price_quality": 2.26,
      "volume_quality": 12.0,
      "rvol": 3.34,
      "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.78,
      "spread_liquidity": 4.74,
      "momentum_consistency": 2.44,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.745,
      "vwap": 12.8357,
      "vwap_slope": -0.0172,
      "rvol": 1.39,
      "volume_acceleration": 2.04,
      "premarket_volume": 695925.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.35,
      "distance_from_pm_high_pct": 1.62,
      "extension_from_vwap_pct": -0.71,
      "spread_pct": 0.08
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 12.955,
    "pm_low": 12.725
  },
  {
    "symbol": "GSBD",
    "total_score": 48.88,
    "raw_score": 51.81,
    "breakdown": {
      "price_quality": 4.87,
      "volume_quality": 4.25,
      "rvol": 0.17,
      "volume_acceleration": 3.76,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.92,
      "spread_liquidity": 4.66,
      "momentum_consistency": 1.78,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.865,
      "vwap": 9.8544,
      "vwap_slope": 0.008,
      "rvol": 0.07,
      "volume_acceleration": 1.08,
      "premarket_volume": 35448.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.2,
      "distance_from_pm_high_pct": 0.1,
      "extension_from_vwap_pct": 0.11,
      "spread_pct": 0.1
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 9.875,
    "pm_low": 9.84
  },
  {
    "symbol": "NEWT",
    "total_score": 48.81,
    "raw_score": 51.74,
    "breakdown": {
      "price_quality": 2.42,
      "volume_quality": 5.97,
      "rvol": 0.24,
      "volume_acceleration": 2.57,
      "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.47,
      "momentum_consistency": 3.79,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.58,
      "vwap": 12.5771,
      "vwap_slope": 0.011,
      "rvol": 0.1,
      "volume_acceleration": 0.74,
      "premarket_volume": 49772.0,
      "momentum_pct": -0.04,
      "consolidation_tightness_pct": 0.16,
      "distance_from_pm_high_pct": 0.16,
      "extension_from_vwap_pct": 0.02,
      "spread_pct": 0.16
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 12.6,
    "pm_low": 12.55
  },
  {
    "symbol": "WEST",
    "total_score": 48.72,
    "raw_score": 51.64,
    "breakdown": {
      "price_quality": 3.62,
      "volume_quality": 6.59,
      "rvol": 0.26,
      "volume_acceleration": 2.78,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.78,
      "spread_liquidity": 3.07,
      "momentum_consistency": 3.14,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.615,
      "vwap": 8.5655,
      "vwap_slope": 0.0107,
      "rvol": 0.11,
      "volume_acceleration": 0.8,
      "premarket_volume": 54917.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.58,
      "distance_from_pm_high_pct": 0.29,
      "extension_from_vwap_pct": 0.58,
      "spread_pct": 0.58
    },
    "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.64,
    "pm_low": 8.5
  },
  {
    "symbol": "MOB",
    "total_score": 48.68,
    "raw_score": 51.6,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 1.09,
      "volume_acceleration": 1.71,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 2.75,
      "spread_liquidity": 2.31,
      "momentum_consistency": 3.84,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.19,
      "vwap": 6.1114,
      "vwap_slope": 0.0243,
      "rvol": 0.45,
      "volume_acceleration": 0.49,
      "premarket_volume": 226065.0,
      "momentum_pct": -1.59,
      "consolidation_tightness_pct": 2.88,
      "distance_from_pm_high_pct": 4.33,
      "extension_from_vwap_pct": 1.29,
      "spread_pct": 0.81
    },
    "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.47,
    "pm_low": 5.62
  },
  {
    "symbol": "VITL",
    "total_score": 48.61,
    "raw_score": 51.52,
    "breakdown": {
      "price_quality": 4.02,
      "volume_quality": 8.2,
      "rvol": 0.33,
      "volume_acceleration": 3.84,
      "price_momentum": 0.48,
      "price_structure": 12,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.46,
      "spread_liquidity": 4.39,
      "momentum_consistency": 2.8,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.98,
      "vwap": 10.9879,
      "vwap_slope": -0.0153,
      "rvol": 0.14,
      "volume_acceleration": 1.1,
      "premarket_volume": 68359.0,
      "momentum_pct": 0.32,
      "consolidation_tightness_pct": 0.48,
      "distance_from_pm_high_pct": 0.72,
      "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": true,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 11.06,
    "pm_low": 10.9375
  },
  {
    "symbol": "ARVN",
    "total_score": 48.52,
    "raw_score": 51.44,
    "breakdown": {
      "price_quality": 4.66,
      "volume_quality": 4.34,
      "rvol": 0.17,
      "volume_acceleration": 1.89,
      "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.66,
      "momentum_consistency": 3.0,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.66,
      "vwap": 9.593,
      "vwap_slope": 0.01,
      "rvol": 0.07,
      "volume_acceleration": 0.54,
      "premarket_volume": 36200.0,
      "momentum_pct": 0.21,
      "consolidation_tightness_pct": 0.31,
      "distance_from_pm_high_pct": 0.0,
      "extension_from_vwap_pct": 0.7,
      "spread_pct": 0.1
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 9.66,
    "pm_low": 9.565
  },
  {
    "symbol": "XERS",
    "total_score": 48.45,
    "raw_score": 51.35,
    "breakdown": {
      "price_quality": 3.88,
      "volume_quality": 12.0,
      "rvol": 0.75,
      "volume_acceleration": 2.88,
      "price_momentum": 0.17,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.75,
      "spread_liquidity": 4.62,
      "momentum_consistency": 2.11,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.875,
      "vwap": 8.8703,
      "vwap_slope": -0.001,
      "rvol": 0.31,
      "volume_acceleration": 1.29,
      "premarket_volume": 155809.0,
      "momentum_pct": 0.11,
      "consolidation_tightness_pct": 0.17,
      "distance_from_pm_high_pct": 0.34,
      "extension_from_vwap_pct": 0.05,
      "spread_pct": 0.11
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 8.905,
    "pm_low": 8.835
  },
  {
    "symbol": "BRBR",
    "total_score": 48.38,
    "raw_score": 51.29,
    "breakdown": {
      "price_quality": 4.15,
      "volume_quality": 12.0,
      "rvol": 1.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": 4.84,
      "spread_liquidity": 4.69,
      "momentum_consistency": 1.6,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.85,
      "vwap": 10.9524,
      "vwap_slope": -0.0177,
      "rvol": 0.67,
      "volume_acceleration": 3.52,
      "premarket_volume": 333479.0,
      "momentum_pct": -0.18,
      "consolidation_tightness_pct": 0.23,
      "distance_from_pm_high_pct": 1.54,
      "extension_from_vwap_pct": -0.94,
      "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.02,
    "pm_low": 10.845
  },
  {
    "symbol": "GMRS",
    "total_score": 48.3,
    "raw_score": 51.2,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 1.97,
      "volume_acceleration": 3.6,
      "price_momentum": 0.58,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 4.91,
      "spread_liquidity": 4.06,
      "momentum_consistency": 3.38,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.26,
      "vwap": 14.1948,
      "vwap_slope": -0.0009,
      "rvol": 0.82,
      "volume_acceleration": 1.04,
      "premarket_volume": 409380.0,
      "momentum_pct": 0.39,
      "consolidation_tightness_pct": 0.53,
      "distance_from_pm_high_pct": 1.45,
      "extension_from_vwap_pct": 0.46,
      "spread_pct": 0.28
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 14.47,
    "pm_low": 14.0
  },
  {
    "symbol": "CARS",
    "total_score": 48.25,
    "raw_score": 51.14,
    "breakdown": {
      "price_quality": 2.53,
      "volume_quality": 5.18,
      "rvol": 0.21,
      "volume_acceleration": 3.41,
      "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.73,
      "momentum_consistency": 2.44,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.47,
      "vwap": 12.4321,
      "vwap_slope": 0.0061,
      "rvol": 0.09,
      "volume_acceleration": 0.98,
      "premarket_volume": 43168.0,
      "momentum_pct": 0.16,
      "consolidation_tightness_pct": 0.16,
      "distance_from_pm_high_pct": 0.0,
      "extension_from_vwap_pct": 0.3,
      "spread_pct": 0.08
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 12.47,
    "pm_low": 12.41
  },
  {
    "symbol": "LTBR",
    "total_score": 48.22,
    "raw_score": 51.11,
    "breakdown": {
      "price_quality": 3.04,
      "volume_quality": 6.03,
      "rvol": 0.24,
      "volume_acceleration": 1.91,
      "price_momentum": 0.09,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.95,
      "spread_liquidity": 4.59,
      "momentum_consistency": 2.86,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.045,
      "vwap": 7.9892,
      "vwap_slope": 0.0231,
      "rvol": 0.1,
      "volume_acceleration": 1.19,
      "premarket_volume": 50253.0,
      "momentum_pct": 0.06,
      "consolidation_tightness_pct": 0.5,
      "distance_from_pm_high_pct": 0.06,
      "extension_from_vwap_pct": 0.7,
      "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.05,
    "pm_low": 7.94
  },
  {
    "symbol": "VOXR",
    "total_score": 48.15,
    "raw_score": 51.04,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 6.9,
      "rvol": 0.28,
      "volume_acceleration": 2.76,
      "price_momentum": 0.28,
      "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.62,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.37,
      "vwap": 5.3527,
      "vwap_slope": 0.0032,
      "rvol": 0.11,
      "volume_acceleration": 1.28,
      "premarket_volume": 57467.0,
      "momentum_pct": 0.19,
      "consolidation_tightness_pct": 0.28,
      "distance_from_pm_high_pct": 0.09,
      "extension_from_vwap_pct": 0.32,
      "spread_pct": 0.19
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 5.375,
    "pm_low": 5.34
  },
  {
    "symbol": "SSL",
    "total_score": 48.08,
    "raw_score": 50.97,
    "breakdown": {
      "price_quality": 2.82,
      "volume_quality": 5.82,
      "rvol": 0.23,
      "volume_acceleration": 2.29,
      "price_momentum": 0.01,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 6,
      "spread_liquidity": 4.73,
      "momentum_consistency": 2.67,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.18,
      "vwap": 12.1582,
      "vwap_slope": 0.0039,
      "rvol": 0.1,
      "volume_acceleration": 0.66,
      "premarket_volume": 48472.0,
      "momentum_pct": 0.01,
      "consolidation_tightness_pct": 0.04,
      "distance_from_pm_high_pct": 0.0,
      "extension_from_vwap_pct": 0.18,
      "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.18,
    "pm_low": 12.14
  },
  {
    "symbol": "IMTX",
    "total_score": 48.02,
    "raw_score": 50.9,
    "breakdown": {
      "price_quality": 4.1,
      "volume_quality": 3.46,
      "rvol": 0.14,
      "volume_acceleration": 3.12,
      "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.27,
      "momentum_consistency": 3.12,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.1,
      "vwap": 9.061,
      "vwap_slope": 0.0066,
      "rvol": 0.06,
      "volume_acceleration": 0.9,
      "premarket_volume": 28861.0,
      "momentum_pct": 0.22,
      "consolidation_tightness_pct": 0.29,
      "distance_from_pm_high_pct": 0.05,
      "extension_from_vwap_pct": 0.43,
      "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.105,
    "pm_low": 9.02
  },
  {
    "symbol": "LZ",
    "total_score": 47.91,
    "raw_score": 50.79,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 0.89,
      "volume_acceleration": 3.0,
      "price_momentum": 0.25,
      "price_structure": 12,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.24,
      "spread_liquidity": 4.44,
      "momentum_consistency": 1.45,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.895,
      "vwap": 5.9078,
      "vwap_slope": -0.0083,
      "rvol": 0.37,
      "volume_acceleration": 1.3,
      "premarket_volume": 186174.0,
      "momentum_pct": 0.17,
      "consolidation_tightness_pct": 0.25,
      "distance_from_pm_high_pct": 1.01,
      "extension_from_vwap_pct": -0.22,
      "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": false,
      "vwap_rising": false
    },
    "pm_high": 5.955,
    "pm_low": 5.885
  },
  {
    "symbol": "NWL",
    "total_score": 47.89,
    "raw_score": 50.77,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 2.75,
      "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.04,
      "spread_liquidity": 4.46,
      "momentum_consistency": 2.62,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.14,
      "vwap": 6.1768,
      "vwap_slope": -0.0229,
      "rvol": 1.15,
      "volume_acceleration": 2.59,
      "premarket_volume": 573707.0,
      "momentum_pct": -0.08,
      "consolidation_tightness_pct": 0.24,
      "distance_from_pm_high_pct": 1.29,
      "extension_from_vwap_pct": -0.59,
      "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.22,
    "pm_low": 6.13
  },
  {
    "symbol": "OWL",
    "total_score": 47.86,
    "raw_score": 50.73,
    "breakdown": {
      "price_quality": 3.24,
      "volume_quality": 12.0,
      "rvol": 8.49,
      "volume_acceleration": 2.41,
      "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.72,
      "momentum_consistency": 2.07,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.755,
      "vwap": 11.7857,
      "vwap_slope": -0.0082,
      "rvol": 3.18,
      "volume_acceleration": 1.24,
      "premarket_volume": 1591302.0,
      "momentum_pct": -0.08,
      "consolidation_tightness_pct": 0.21,
      "distance_from_pm_high_pct": 0.8,
      "extension_from_vwap_pct": -0.26,
      "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.85,
    "pm_low": 11.745
  },
  {
    "symbol": "ADT",
    "total_score": 47.86,
    "raw_score": 50.74,
    "breakdown": {
      "price_quality": 2.42,
      "volume_quality": 12.0,
      "rvol": 2.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": 5.55,
      "spread_liquidity": 4.55,
      "momentum_consistency": 1.36,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.425,
      "vwap": 7.4464,
      "vwap_slope": -0.0069,
      "rvol": 1.02,
      "volume_acceleration": 2.37,
      "premarket_volume": 511681.0,
      "momentum_pct": -0.07,
      "consolidation_tightness_pct": 0.2,
      "distance_from_pm_high_pct": 0.6,
      "extension_from_vwap_pct": -0.29,
      "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.47,
    "pm_low": 7.42
  },
  {
    "symbol": "IMMX",
    "total_score": 47.85,
    "raw_score": 50.72,
    "breakdown": {
      "price_quality": 2.12,
      "volume_quality": 12.0,
      "rvol": 1.22,
      "volume_acceleration": 10,
      "price_momentum": 0.06,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.39,
      "spread_liquidity": 4.48,
      "momentum_consistency": 3.05,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.885,
      "vwap": 12.888,
      "vwap_slope": -0.0002,
      "rvol": 0.51,
      "volume_acceleration": 3.28,
      "premarket_volume": 253281.0,
      "momentum_pct": 0.04,
      "consolidation_tightness_pct": 0.39,
      "distance_from_pm_high_pct": 0.81,
      "extension_from_vwap_pct": -0.02,
      "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": 12.99,
    "pm_low": 12.78
  },
  {
    "symbol": "SPIR",
    "total_score": 47.69,
    "raw_score": 50.56,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 3.49,
      "rvol": 0.14,
      "volume_acceleration": 3.56,
      "price_momentum": 0.16,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.58,
      "spread_liquidity": 4.03,
      "momentum_consistency": 3.29,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.765,
      "vwap": 13.7603,
      "vwap_slope": -0.0038,
      "rvol": 0.06,
      "volume_acceleration": 1.02,
      "premarket_volume": 29084.0,
      "momentum_pct": 0.11,
      "consolidation_tightness_pct": 0.25,
      "distance_from_pm_high_pct": 0.56,
      "extension_from_vwap_pct": 0.03,
      "spread_pct": 0.29
    },
    "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.8429,
    "pm_low": 13.71
  },
  {
    "symbol": "TK",
    "total_score": 47.58,
    "raw_score": 50.44,
    "breakdown": {
      "price_quality": 1.98,
      "volume_quality": 2.94,
      "rvol": 0.12,
      "volume_acceleration": 5.89,
      "price_momentum": 0.23,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.91,
      "spread_liquidity": 4.49,
      "momentum_consistency": 2.48,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.02,
      "vwap": 13.0022,
      "vwap_slope": 0.0022,
      "rvol": 0.05,
      "volume_acceleration": 1.59,
      "premarket_volume": 24477.0,
      "momentum_pct": 0.15,
      "consolidation_tightness_pct": 0.38,
      "distance_from_pm_high_pct": 0.12,
      "extension_from_vwap_pct": 0.14,
      "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.035,
    "pm_low": 12.97
  },
  {
    "symbol": "XGN",
    "total_score": 47.57,
    "raw_score": 50.42,
    "breakdown": {
      "price_quality": 2.03,
      "volume_quality": 4.91,
      "rvol": 0.2,
      "volume_acceleration": 1.38,
      "price_momentum": 0.21,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.63,
      "spread_liquidity": 4.53,
      "momentum_consistency": 2.74,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.03,
      "vwap": 7.0273,
      "vwap_slope": -0.0003,
      "rvol": 0.08,
      "volume_acceleration": 0.4,
      "premarket_volume": 40883.0,
      "momentum_pct": 0.14,
      "consolidation_tightness_pct": 0.25,
      "distance_from_pm_high_pct": 0.5,
      "extension_from_vwap_pct": 0.04,
      "spread_pct": 0.14
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 7.065,
    "pm_low": 6.97
  },
  {
    "symbol": "CAL",
    "total_score": 47.52,
    "raw_score": 50.37,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 3.63,
      "rvol": 0.15,
      "volume_acceleration": 4.14,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.64,
      "spread_liquidity": 4.27,
      "momentum_consistency": 4.65,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.6434,
      "vwap": 13.639,
      "vwap_slope": 0.0263,
      "rvol": 0.06,
      "volume_acceleration": 1.41,
      "premarket_volume": 30282.0,
      "momentum_pct": -0.07,
      "consolidation_tightness_pct": 0.24,
      "distance_from_pm_high_pct": 0.49,
      "extension_from_vwap_pct": 0.03,
      "spread_pct": 0.22
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 13.71,
    "pm_low": 13.55
  },
  {
    "symbol": "FOSL",
    "total_score": 47.41,
    "raw_score": 50.25,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 4.34,
      "rvol": 0.17,
      "volume_acceleration": 10,
      "price_momentum": 0.03,
      "price_structure": 12,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.63,
      "spread_liquidity": 4.42,
      "momentum_consistency": 2.16,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.7362,
      "vwap": 5.7474,
      "vwap_slope": -0.004,
      "rvol": 0.07,
      "volume_acceleration": 2.39,
      "premarket_volume": 36182.0,
      "momentum_pct": 0.02,
      "consolidation_tightness_pct": 0.11,
      "distance_from_pm_high_pct": 0.5,
      "extension_from_vwap_pct": -0.2,
      "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": false,
      "vwap_rising": false
    },
    "pm_high": 5.765,
    "pm_low": 5.73
  },
  {
    "symbol": "BIOA",
    "total_score": 47.38,
    "raw_score": 50.22,
    "breakdown": {
      "price_quality": 4.53,
      "volume_quality": 2.94,
      "rvol": 0.12,
      "volume_acceleration": 3.24,
      "price_momentum": 0.14,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.89,
      "spread_liquidity": 4.04,
      "momentum_consistency": 2.91,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.47,
      "vwap": 10.4385,
      "vwap_slope": 0.007,
      "rvol": 0.05,
      "volume_acceleration": 0.93,
      "premarket_volume": 24474.0,
      "momentum_pct": 0.1,
      "consolidation_tightness_pct": 0.33,
      "distance_from_pm_high_pct": 0.14,
      "extension_from_vwap_pct": 0.3,
      "spread_pct": 0.29
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 10.485,
    "pm_low": 10.4
  },
  {
    "symbol": "RES",
    "total_score": 47.32,
    "raw_score": 50.16,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 1.01,
      "volume_acceleration": 3.57,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.65,
      "spread_liquidity": 4.47,
      "momentum_consistency": 2.35,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.335,
      "vwap": 6.3355,
      "vwap_slope": 0.0013,
      "rvol": 0.42,
      "volume_acceleration": 1.03,
      "premarket_volume": 210456.0,
      "momentum_pct": -0.16,
      "consolidation_tightness_pct": 0.24,
      "distance_from_pm_high_pct": 0.47,
      "extension_from_vwap_pct": -0.01,
      "spread_pct": 0.16
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": true
    },
    "pm_high": 6.365,
    "pm_low": 6.32
  },
  {
    "symbol": "SGRY",
    "total_score": 47.26,
    "raw_score": 50.1,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 1.24,
      "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.08,
      "spread_liquidity": 4.51,
      "momentum_consistency": 3.37,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.69,
      "vwap": 13.7476,
      "vwap_slope": -0.014,
      "rvol": 0.52,
      "volume_acceleration": 3.31,
      "premarket_volume": 257650.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.22,
      "distance_from_pm_high_pct": 1.23,
      "extension_from_vwap_pct": -0.42,
      "spread_pct": 0.15
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 13.86,
    "pm_low": 13.67
  },
  {
    "symbol": "NAVI",
    "total_score": 47.25,
    "raw_score": 50.09,
    "breakdown": {
      "price_quality": 4.16,
      "volume_quality": 11.61,
      "rvol": 0.46,
      "volume_acceleration": 8.43,
      "price_momentum": 0.08,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.63,
      "spread_liquidity": 4.64,
      "momentum_consistency": 2.67,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.16,
      "vwap": 9.1683,
      "vwap_slope": -0.0156,
      "rvol": 0.19,
      "volume_acceleration": 1.84,
      "premarket_volume": 96779.0,
      "momentum_pct": 0.05,
      "consolidation_tightness_pct": 0.11,
      "distance_from_pm_high_pct": 0.49,
      "extension_from_vwap_pct": -0.09,
      "spread_pct": 0.11
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 9.205,
    "pm_low": 9.135
  },
  {
    "symbol": "ODD",
    "total_score": 47.02,
    "raw_score": 49.84,
    "breakdown": {
      "price_quality": 1.96,
      "volume_quality": 6.56,
      "rvol": 0.26,
      "volume_acceleration": 1.88,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.54,
      "spread_liquidity": 3.72,
      "momentum_consistency": 3.51,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.04,
      "vwap": 13.0143,
      "vwap_slope": 0.0179,
      "rvol": 0.11,
      "volume_acceleration": 0.54,
      "premarket_volume": 54656.0,
      "momentum_pct": -0.42,
      "consolidation_tightness_pct": 0.42,
      "distance_from_pm_high_pct": 0.61,
      "extension_from_vwap_pct": 0.2,
      "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": 13.12,
    "pm_low": 12.95
  },
  {
    "symbol": "BVS",
    "total_score": 46.94,
    "raw_score": 49.76,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 3.42,
      "rvol": 0.14,
      "volume_acceleration": 3.39,
      "price_momentum": 0.21,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.74,
      "spread_liquidity": 4.54,
      "momentum_consistency": 4.41,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.58,
      "vwap": 14.5649,
      "vwap_slope": 0.0061,
      "rvol": 0.06,
      "volume_acceleration": 0.98,
      "premarket_volume": 28523.0,
      "momentum_pct": 0.14,
      "consolidation_tightness_pct": 0.25,
      "distance_from_pm_high_pct": 0.34,
      "extension_from_vwap_pct": 0.1,
      "spread_pct": 0.14
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 14.63,
    "pm_low": 14.51
  },
  {
    "symbol": "MAX",
    "total_score": 46.89,
    "raw_score": 49.71,
    "breakdown": {
      "price_quality": 1.52,
      "volume_quality": 5.32,
      "rvol": 0.21,
      "volume_acceleration": 2.96,
      "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.26,
      "momentum_consistency": 3.2,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.48,
      "vwap": 13.4713,
      "vwap_slope": 0.0119,
      "rvol": 0.09,
      "volume_acceleration": 0.85,
      "premarket_volume": 44360.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.22,
      "distance_from_pm_high_pct": 0.22,
      "extension_from_vwap_pct": 0.06,
      "spread_pct": 0.22
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 13.51,
    "pm_low": 13.43
  },
  {
    "symbol": "RDW",
    "total_score": 46.77,
    "raw_score": 49.57,
    "breakdown": {
      "price_quality": 2.69,
      "volume_quality": 12.0,
      "rvol": 6.37,
      "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": 4.89,
      "spread_liquidity": 4.73,
      "momentum_consistency": 2.9,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.315,
      "vwap": 12.3455,
      "vwap_slope": -0.0065,
      "rvol": 2.39,
      "volume_acceleration": 1.04,
      "premarket_volume": 1194120.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.24,
      "distance_from_pm_high_pct": 1.48,
      "extension_from_vwap_pct": -0.25,
      "spread_pct": 0.08
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 12.5,
    "pm_low": 12.27
  },
  {
    "symbol": "RPD",
    "total_score": 46.75,
    "raw_score": 49.56,
    "breakdown": {
      "price_quality": 2.96,
      "volume_quality": 9.41,
      "rvol": 0.38,
      "volume_acceleration": 4.0,
      "price_momentum": 0.25,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 6,
      "spread_liquidity": 4.17,
      "momentum_consistency": 3.2,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.04,
      "vwap": 12.0042,
      "vwap_slope": -0.0001,
      "rvol": 0.16,
      "volume_acceleration": 1.15,
      "premarket_volume": 78388.0,
      "momentum_pct": 0.17,
      "consolidation_tightness_pct": 0.33,
      "distance_from_pm_high_pct": 0.0,
      "extension_from_vwap_pct": 0.3,
      "spread_pct": 0.25
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 12.04,
    "pm_low": 11.93
  },
  {
    "symbol": "DUOT",
    "total_score": 46.69,
    "raw_score": 49.49,
    "breakdown": {
      "price_quality": 4.43,
      "volume_quality": 12.0,
      "rvol": 1.0,
      "volume_acceleration": 7.13,
      "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.37,
      "momentum_consistency": 3.14,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.57,
      "vwap": 10.5826,
      "vwap_slope": -0.0016,
      "rvol": 0.42,
      "volume_acceleration": 1.71,
      "premarket_volume": 208413.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.47,
      "distance_from_pm_high_pct": 1.31,
      "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": false,
      "vwap_rising": false
    },
    "pm_high": 10.71,
    "pm_low": 10.48
  },
  {
    "symbol": "MGTX",
    "total_score": 46.61,
    "raw_score": 49.41,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 0.54,
      "volume_acceleration": 2.61,
      "price_momentum": 0.05,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.8,
      "spread_liquidity": 4.09,
      "momentum_consistency": 3.62,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.65,
      "vwap": 14.5984,
      "vwap_slope": -0.0067,
      "rvol": 0.22,
      "volume_acceleration": 0.75,
      "premarket_volume": 112332.0,
      "momentum_pct": 0.03,
      "consolidation_tightness_pct": 0.41,
      "distance_from_pm_high_pct": 0.27,
      "extension_from_vwap_pct": 0.35,
      "spread_pct": 0.27
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 14.69,
    "pm_low": 14.46
  },
  {
    "symbol": "PAYS",
    "total_score": 46.59,
    "raw_score": 49.39,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 9.92,
      "rvol": 0.4,
      "volume_acceleration": 2.26,
      "price_momentum": 0.42,
      "price_structure": 12,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.31,
      "spread_liquidity": 4.52,
      "momentum_consistency": 3.06,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.83,
      "vwap": 13.8792,
      "vwap_slope": -0.0299,
      "rvol": 0.17,
      "volume_acceleration": 0.65,
      "premarket_volume": 82681.0,
      "momentum_pct": 0.28,
      "consolidation_tightness_pct": 0.43,
      "distance_from_pm_high_pct": 0.92,
      "extension_from_vwap_pct": -0.35,
      "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": false,
      "vwap_rising": false
    },
    "pm_high": 13.958,
    "pm_low": 13.77
  },
  {
    "symbol": "MTRX",
    "total_score": 46.58,
    "raw_score": 49.38,
    "breakdown": {
      "price_quality": 3.61,
      "volume_quality": 3.8,
      "rvol": 0.15,
      "volume_acceleration": 3.41,
      "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.12,
      "momentum_consistency": 2.21,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.39,
      "vwap": 11.3861,
      "vwap_slope": 0.0123,
      "rvol": 0.06,
      "volume_acceleration": 0.98,
      "premarket_volume": 31705.0,
      "momentum_pct": -0.22,
      "consolidation_tightness_pct": 0.33,
      "distance_from_pm_high_pct": 0.44,
      "extension_from_vwap_pct": 0.03,
      "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.44,
    "pm_low": 11.35
  },
  {
    "symbol": "WEN",
    "total_score": 46.58,
    "raw_score": 49.38,
    "breakdown": {
      "price_quality": 3.86,
      "volume_quality": 12.0,
      "rvol": 5.69,
      "volume_acceleration": 3.37,
      "price_momentum": 0.08,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 4.92,
      "spread_liquidity": 4.62,
      "momentum_consistency": 2.44,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.86,
      "vwap": 8.933,
      "vwap_slope": -0.0196,
      "rvol": 2.13,
      "volume_acceleration": 1.34,
      "premarket_volume": 1066085.0,
      "momentum_pct": 0.06,
      "consolidation_tightness_pct": 0.56,
      "distance_from_pm_high_pct": 1.45,
      "extension_from_vwap_pct": -0.82,
      "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": false,
      "vwap_rising": false
    },
    "pm_high": 8.99,
    "pm_low": 8.835
  },
  {
    "symbol": "BTGO",
    "total_score": 46.33,
    "raw_score": 49.11,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 0.77,
      "volume_acceleration": 3.05,
      "price_momentum": 0.47,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.1,
      "spread_liquidity": 4.47,
      "momentum_consistency": 2.56,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.2699,
      "vwap": 6.2559,
      "vwap_slope": -0.001,
      "rvol": 0.32,
      "volume_acceleration": 0.88,
      "premarket_volume": 159991.0,
      "momentum_pct": 0.31,
      "consolidation_tightness_pct": 0.32,
      "distance_from_pm_high_pct": 1.2,
      "extension_from_vwap_pct": 0.22,
      "spread_pct": 0.16
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 6.3463,
    "pm_low": 6.22
  },
  {
    "symbol": "KBDC",
    "total_score": 46.2,
    "raw_score": 48.97,
    "breakdown": {
      "price_quality": 1.71,
      "volume_quality": 4.81,
      "rvol": 0.19,
      "volume_acceleration": 3.08,
      "price_momentum": 0.28,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.97,
      "spread_liquidity": 4.75,
      "momentum_consistency": 1.76,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.285,
      "vwap": 13.2618,
      "vwap_slope": 0.0031,
      "rvol": 0.08,
      "volume_acceleration": 0.89,
      "premarket_volume": 40097.0,
      "momentum_pct": 0.19,
      "consolidation_tightness_pct": 0.23,
      "distance_from_pm_high_pct": 0.04,
      "extension_from_vwap_pct": 0.17,
      "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.29,
    "pm_low": 13.25
  },
  {
    "symbol": "FIGS",
    "total_score": 45.94,
    "raw_score": 48.69,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 0.52,
      "volume_acceleration": 1.62,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.74,
      "spread_liquidity": 4.77,
      "momentum_consistency": 2.95,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.28,
      "vwap": 14.2937,
      "vwap_slope": 0.0008,
      "rvol": 0.22,
      "volume_acceleration": 1.16,
      "premarket_volume": 107765.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.35,
      "distance_from_pm_high_pct": 0.35,
      "extension_from_vwap_pct": -0.1,
      "spread_pct": 0.07
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": true
    },
    "pm_high": 14.33,
    "pm_low": 14.24
  },
  {
    "symbol": "HSLV",
    "total_score": 45.91,
    "raw_score": 48.67,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 5.47,
      "rvol": 0.22,
      "volume_acceleration": 2.94,
      "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.37,
      "momentum_consistency": 2.26,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.32,
      "vwap": 5.3187,
      "vwap_slope": 0.0025,
      "rvol": 0.09,
      "volume_acceleration": 0.84,
      "premarket_volume": 45592.0,
      "momentum_pct": -0.19,
      "consolidation_tightness_pct": 0.47,
      "distance_from_pm_high_pct": 0.65,
      "extension_from_vwap_pct": 0.02,
      "spread_pct": 0.19
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 5.355,
    "pm_low": 5.29
  },
  {
    "symbol": "APXT",
    "total_score": 45.86,
    "raw_score": 48.61,
    "breakdown": {
      "price_quality": 4.88,
      "volume_quality": 9.63,
      "rvol": 0.39,
      "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.96,
      "spread_liquidity": 4.67,
      "momentum_consistency": 0.0,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.12,
      "vwap": 10.1211,
      "vwap_slope": 0.0011,
      "rvol": 0.16,
      "volume_acceleration": 1.0,
      "premarket_volume": 80269.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.05,
      "distance_from_pm_high_pct": 0.05,
      "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": 10.125,
    "pm_low": 10.12
  },
  {
    "symbol": "EGY",
    "total_score": 45.62,
    "raw_score": 48.36,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 11.81,
      "rvol": 0.47,
      "volume_acceleration": 2.52,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.68,
      "spread_liquidity": 4.44,
      "momentum_consistency": 2.33,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.915,
      "vwap": 5.9229,
      "vwap_slope": 0.0005,
      "rvol": 0.2,
      "volume_acceleration": 1.25,
      "premarket_volume": 98435.0,
      "momentum_pct": -0.17,
      "consolidation_tightness_pct": 0.34,
      "distance_from_pm_high_pct": 0.42,
      "extension_from_vwap_pct": -0.13,
      "spread_pct": 0.17
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": true
    },
    "pm_high": 5.94,
    "pm_low": 5.91
  },
  {
    "symbol": "PSKY",
    "total_score": 45.55,
    "raw_score": 48.29,
    "breakdown": {
      "price_quality": 4.45,
      "volume_quality": 12.0,
      "rvol": 3.57,
      "volume_acceleration": 3.75,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.54,
      "spread_liquidity": 4.68,
      "momentum_consistency": 1.9,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.555,
      "vwap": 10.5633,
      "vwap_slope": -0.0017,
      "rvol": 1.49,
      "volume_acceleration": 1.08,
      "premarket_volume": 744630.0,
      "momentum_pct": -0.09,
      "consolidation_tightness_pct": 0.19,
      "distance_from_pm_high_pct": 0.61,
      "extension_from_vwap_pct": -0.08,
      "spread_pct": 0.09
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 10.62,
    "pm_low": 10.53
  },
  {
    "symbol": "HLIT",
    "total_score": 45.53,
    "raw_score": 48.27,
    "breakdown": {
      "price_quality": 2.35,
      "volume_quality": 12.0,
      "rvol": 0.48,
      "volume_acceleration": 8.46,
      "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.47,
      "momentum_consistency": 2.55,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.65,
      "vwap": 12.6807,
      "vwap_slope": -0.0059,
      "rvol": 0.2,
      "volume_acceleration": 1.85,
      "premarket_volume": 100548.0,
      "momentum_pct": -0.08,
      "consolidation_tightness_pct": 0.36,
      "distance_from_pm_high_pct": 0.59,
      "extension_from_vwap_pct": -0.24,
      "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.725,
    "pm_low": 12.635
  },
  {
    "symbol": "VELO",
    "total_score": 45.49,
    "raw_score": 48.21,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 11.05,
      "rvol": 0.44,
      "volume_acceleration": 2.41,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.51,
      "spread_liquidity": 4.27,
      "momentum_consistency": 3.43,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.7,
      "vwap": 13.7083,
      "vwap_slope": 0.0043,
      "rvol": 0.18,
      "volume_acceleration": 1.24,
      "premarket_volume": 92094.0,
      "momentum_pct": -0.15,
      "consolidation_tightness_pct": 0.55,
      "distance_from_pm_high_pct": 0.65,
      "extension_from_vwap_pct": -0.06,
      "spread_pct": 0.22
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": true
    },
    "pm_high": 13.79,
    "pm_low": 13.63
  },
  {
    "symbol": "HLMN",
    "total_score": 45.45,
    "raw_score": 48.18,
    "breakdown": {
      "price_quality": 3.53,
      "volume_quality": 12.0,
      "rvol": 0.66,
      "volume_acceleration": 8.25,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.35,
      "spread_liquidity": 4.61,
      "momentum_consistency": 1.38,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.53,
      "vwap": 8.5733,
      "vwap_slope": -0.0079,
      "rvol": 0.28,
      "volume_acceleration": 1.82,
      "premarket_volume": 138161.0,
      "momentum_pct": -0.41,
      "consolidation_tightness_pct": 0.53,
      "distance_from_pm_high_pct": 0.87,
      "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": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 8.605,
    "pm_low": 8.525
  },
  {
    "symbol": "TROX",
    "total_score": 45.44,
    "raw_score": 48.17,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 0.73,
      "volume_acceleration": 3.15,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.35,
      "spread_liquidity": 4.42,
      "momentum_consistency": 1.43,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.705,
      "vwap": 5.7112,
      "vwap_slope": 0.0014,
      "rvol": 0.3,
      "volume_acceleration": 0.91,
      "premarket_volume": 151765.0,
      "momentum_pct": -0.17,
      "consolidation_tightness_pct": 0.26,
      "distance_from_pm_high_pct": 0.87,
      "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": false,
      "vwap_rising": true
    },
    "pm_high": 5.755,
    "pm_low": 5.675
  },
  {
    "symbol": "CLBT",
    "total_score": 45.4,
    "raw_score": 48.13,
    "breakdown": {
      "price_quality": 3.9,
      "volume_quality": 12.0,
      "rvol": 2.37,
      "volume_acceleration": 4.3,
      "price_momentum": 0.27,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.33,
      "spread_liquidity": 4.7,
      "momentum_consistency": 2.86,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.1,
      "vwap": 11.1121,
      "vwap_slope": -0.0124,
      "rvol": 0.99,
      "volume_acceleration": 1.43,
      "premarket_volume": 493499.0,
      "momentum_pct": 0.18,
      "consolidation_tightness_pct": 0.32,
      "distance_from_pm_high_pct": 0.89,
      "extension_from_vwap_pct": -0.11,
      "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.2,
    "pm_low": 11.02
  },
  {
    "symbol": "LADR",
    "total_score": 45.38,
    "raw_score": 48.1,
    "breakdown": {
      "price_quality": 4.88,
      "volume_quality": 7.44,
      "rvol": 0.3,
      "volume_acceleration": 10,
      "price_momentum": 0.15,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.78,
      "spread_liquidity": 4.67,
      "momentum_consistency": 2.49,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.115,
      "vwap": 10.1217,
      "vwap_slope": -0.0029,
      "rvol": 0.12,
      "volume_acceleration": 2.71,
      "premarket_volume": 61967.0,
      "momentum_pct": 0.1,
      "consolidation_tightness_pct": 0.15,
      "distance_from_pm_high_pct": 0.3,
      "extension_from_vwap_pct": -0.07,
      "spread_pct": 0.1
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 10.145,
    "pm_low": 10.1
  },
  {
    "symbol": "JBLU",
    "total_score": 45.27,
    "raw_score": 47.98,
    "breakdown": {
      "price_quality": 0.0,
      "volume_quality": 12.0,
      "rvol": 8.21,
      "volume_acceleration": 3.09,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.25,
      "spread_liquidity": 4.33,
      "momentum_consistency": 2.71,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 4.96,
      "vwap": 4.9874,
      "vwap_slope": -0.0037,
      "rvol": 3.08,
      "volume_acceleration": 0.89,
      "premarket_volume": 1538464.0,
      "momentum_pct": -0.1,
      "consolidation_tightness_pct": 0.2,
      "distance_from_pm_high_pct": 1.0,
      "extension_from_vwap_pct": -0.55,
      "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.01,
    "pm_low": 4.96
  },
  {
    "symbol": "UAA",
    "total_score": 45.21,
    "raw_score": 47.92,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 7.11,
      "volume_acceleration": 3.07,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.71,
      "spread_liquidity": 4.36,
      "momentum_consistency": 1.76,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.215,
      "vwap": 5.2171,
      "vwap_slope": -0.0002,
      "rvol": 2.67,
      "volume_acceleration": 1.31,
      "premarket_volume": 1333685.0,
      "momentum_pct": -0.1,
      "consolidation_tightness_pct": 0.58,
      "distance_from_pm_high_pct": 0.38,
      "extension_from_vwap_pct": -0.04,
      "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": false,
      "vwap_rising": false
    },
    "pm_high": 5.235,
    "pm_low": 5.19
  },
  {
    "symbol": "VSTS",
    "total_score": 45.21,
    "raw_score": 47.93,
    "breakdown": {
      "price_quality": 1.9,
      "volume_quality": 10.4,
      "rvol": 0.42,
      "volume_acceleration": 2.61,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.55,
      "spread_liquidity": 4.49,
      "momentum_consistency": 2.95,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.1,
      "vwap": 13.13,
      "vwap_slope": 0.0034,
      "rvol": 0.17,
      "volume_acceleration": 0.75,
      "premarket_volume": 86694.0,
      "momentum_pct": -0.23,
      "consolidation_tightness_pct": 0.46,
      "distance_from_pm_high_pct": 0.59,
      "extension_from_vwap_pct": -0.23,
      "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.1784,
    "pm_low": 13.1
  },
  {
    "symbol": "PDYN",
    "total_score": 45.15,
    "raw_score": 47.85,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 4.06,
      "rvol": 0.16,
      "volume_acceleration": 3.05,
      "price_momentum": 0.03,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.64,
      "spread_liquidity": 4.46,
      "momentum_consistency": 2.55,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.205,
      "vwap": 6.2032,
      "vwap_slope": 0.0012,
      "rvol": 0.07,
      "volume_acceleration": 1.31,
      "premarket_volume": 33862.0,
      "momentum_pct": 0.02,
      "consolidation_tightness_pct": 0.24,
      "distance_from_pm_high_pct": 0.48,
      "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": true,
      "vwap_rising": true
    },
    "pm_high": 6.235,
    "pm_low": 6.18
  },
  {
    "symbol": "QS",
    "total_score": 45.05,
    "raw_score": 47.75,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 5.84,
      "volume_acceleration": 3.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.35,
      "spread_liquidity": 4.42,
      "momentum_consistency": 2.62,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.75,
      "vwap": 5.7611,
      "vwap_slope": -0.0026,
      "rvol": 2.19,
      "volume_acceleration": 1.04,
      "premarket_volume": 1095437.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.35,
      "distance_from_pm_high_pct": 0.86,
      "extension_from_vwap_pct": -0.19,
      "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.7999,
    "pm_low": 5.74
  },
  {
    "symbol": "DRVN",
    "total_score": 44.68,
    "raw_score": 47.36,
    "breakdown": {
      "price_quality": 1.84,
      "volume_quality": 10.0,
      "rvol": 0.4,
      "volume_acceleration": 3.12,
      "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.75,
      "momentum_consistency": 1.81,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.165,
      "vwap": 13.1733,
      "vwap_slope": 0.0003,
      "rvol": 0.17,
      "volume_acceleration": 1.31,
      "premarket_volume": 83312.0,
      "momentum_pct": -0.08,
      "consolidation_tightness_pct": 0.15,
      "distance_from_pm_high_pct": 0.19,
      "extension_from_vwap_pct": -0.06,
      "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.19,
    "pm_low": 13.145
  },
  {
    "symbol": "AHCO",
    "total_score": 44.53,
    "raw_score": 47.2,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 0.96,
      "volume_acceleration": 9.35,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 4.77,
      "spread_liquidity": 4.41,
      "momentum_consistency": 1.81,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.675,
      "vwap": 5.7348,
      "vwap_slope": -0.019,
      "rvol": 0.4,
      "volume_acceleration": 1.93,
      "premarket_volume": 200696.0,
      "momentum_pct": -0.18,
      "consolidation_tightness_pct": 0.79,
      "distance_from_pm_high_pct": 1.65,
      "extension_from_vwap_pct": -1.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": false,
      "vwap_rising": false
    },
    "pm_high": 5.77,
    "pm_low": 5.675
  },
  {
    "symbol": "EH",
    "total_score": 44.47,
    "raw_score": 47.14,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 5.83,
      "rvol": 0.23,
      "volume_acceleration": 1.35,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.74,
      "spread_liquidity": 3.27,
      "momentum_consistency": 2.81,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.78,
      "vwap": 5.761,
      "vwap_slope": 0.0013,
      "rvol": 0.1,
      "volume_acceleration": 0.39,
      "premarket_volume": 48605.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.35,
      "distance_from_pm_high_pct": 0.34,
      "extension_from_vwap_pct": 0.33,
      "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.8,
    "pm_low": 5.735
  },
  {
    "symbol": "FLNC",
    "total_score": 44.45,
    "raw_score": 47.11,
    "breakdown": {
      "price_quality": 3.11,
      "volume_quality": 12.0,
      "rvol": 1.9,
      "volume_acceleration": 3.99,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.28,
      "spread_liquidity": 4.72,
      "momentum_consistency": 3.72,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.895,
      "vwap": 11.9195,
      "vwap_slope": -0.0027,
      "rvol": 0.79,
      "volume_acceleration": 1.4,
      "premarket_volume": 394860.0,
      "momentum_pct": -0.21,
      "consolidation_tightness_pct": 0.42,
      "distance_from_pm_high_pct": 0.96,
      "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": 12.01,
    "pm_low": 11.87
  },
  {
    "symbol": "RWAY",
    "total_score": 44.4,
    "raw_score": 47.06,
    "breakdown": {
      "price_quality": 1.68,
      "volume_quality": 4.14,
      "rvol": 0.17,
      "volume_acceleration": 9.34,
      "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.5,
      "momentum_consistency": 1.86,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.68,
      "vwap": 6.6815,
      "vwap_slope": 0.005,
      "rvol": 0.07,
      "volume_acceleration": 1.93,
      "premarket_volume": 34460.0,
      "momentum_pct": -0.15,
      "consolidation_tightness_pct": 0.22,
      "distance_from_pm_high_pct": 0.3,
      "extension_from_vwap_pct": -0.02,
      "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.7,
    "pm_low": 6.67
  },
  {
    "symbol": "ANTX",
    "total_score": 44.33,
    "raw_score": 46.99,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 5.01,
      "rvol": 0.2,
      "volume_acceleration": 1.58,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.62,
      "spread_liquidity": 3.88,
      "momentum_consistency": 2.8,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.95,
      "vwap": 5.9461,
      "vwap_slope": 0.0062,
      "rvol": 0.08,
      "volume_acceleration": 0.45,
      "premarket_volume": 41713.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.59,
      "distance_from_pm_high_pct": 0.5,
      "extension_from_vwap_pct": 0.07,
      "spread_pct": 0.34
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 5.98,
    "pm_low": 5.91
  },
  {
    "symbol": "BSM",
    "total_score": 44.26,
    "raw_score": 46.92,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 2.54,
      "rvol": 0.1,
      "volume_acceleration": 10,
      "price_momentum": 0.1,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.93,
      "spread_liquidity": 4.54,
      "momentum_consistency": 3.0,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.58,
      "vwap": 14.5722,
      "vwap_slope": -0.0087,
      "rvol": 0.04,
      "volume_acceleration": 2.22,
      "premarket_volume": 21163.0,
      "momentum_pct": 0.07,
      "consolidation_tightness_pct": 0.13,
      "distance_from_pm_high_pct": 0.1,
      "extension_from_vwap_pct": 0.05,
      "spread_pct": 0.14
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 14.5939,
    "pm_low": 14.555
  },
  {
    "symbol": "UFI",
    "total_score": 43.96,
    "raw_score": 46.6,
    "breakdown": {
      "price_quality": 3.16,
      "volume_quality": 4.11,
      "rvol": 0.16,
      "volume_acceleration": 10,
      "price_momentum": 0.18,
      "price_structure": 12,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 3.26,
      "spread_liquidity": 1.73,
      "momentum_consistency": 2.0,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.16,
      "vwap": 8.2326,
      "vwap_slope": -0.1385,
      "rvol": 0.07,
      "volume_acceleration": 6.28,
      "premarket_volume": 34210.0,
      "momentum_pct": 0.12,
      "consolidation_tightness_pct": 2.33,
      "distance_from_pm_high_pct": 3.66,
      "extension_from_vwap_pct": -0.88,
      "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": false,
      "vwap_rising": false
    },
    "pm_high": 8.47,
    "pm_low": 8.08
  },
  {
    "symbol": "EMBC",
    "total_score": 43.79,
    "raw_score": 46.42,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 0.59,
      "volume_acceleration": 8.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.58,
      "spread_liquidity": 4.38,
      "momentum_consistency": 1.74,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.365,
      "vwap": 5.3732,
      "vwap_slope": -0.0027,
      "rvol": 0.24,
      "volume_acceleration": 1.82,
      "premarket_volume": 122119.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.28,
      "distance_from_pm_high_pct": 0.56,
      "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": false,
      "vwap_rising": false
    },
    "pm_high": 5.395,
    "pm_low": 5.355
  },
  {
    "symbol": "NRDS",
    "total_score": 43.79,
    "raw_score": 46.42,
    "breakdown": {
      "price_quality": 4.88,
      "volume_quality": 4.12,
      "rvol": 0.16,
      "volume_acceleration": 2.6,
      "price_momentum": 0.15,
      "price_structure": 12,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.67,
      "spread_liquidity": 4.67,
      "momentum_consistency": 2.16,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.115,
      "vwap": 10.1325,
      "vwap_slope": -0.0073,
      "rvol": 0.07,
      "volume_acceleration": 0.75,
      "premarket_volume": 34328.0,
      "momentum_pct": 0.1,
      "consolidation_tightness_pct": 0.1,
      "distance_from_pm_high_pct": 0.44,
      "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": true,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 10.16,
    "pm_low": 10.105
  },
  {
    "symbol": "TRIP",
    "total_score": 43.78,
    "raw_score": 46.41,
    "breakdown": {
      "price_quality": 4.59,
      "volume_quality": 12.0,
      "rvol": 1.31,
      "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.71,
      "spread_liquidity": 4.68,
      "momentum_consistency": 2.48,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.41,
      "vwap": 10.4259,
      "vwap_slope": -0.0043,
      "rvol": 0.55,
      "volume_acceleration": 0.93,
      "premarket_volume": 272976.0,
      "momentum_pct": -0.1,
      "consolidation_tightness_pct": 0.14,
      "distance_from_pm_high_pct": 0.38,
      "extension_from_vwap_pct": -0.15,
      "spread_pct": 0.1
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 10.45,
    "pm_low": 10.395
  },
  {
    "symbol": "KD",
    "total_score": 43.74,
    "raw_score": 46.36,
    "breakdown": {
      "price_quality": 2.44,
      "volume_quality": 12.0,
      "rvol": 2.13,
      "volume_acceleration": 4.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.41,
      "spread_liquidity": 4.73,
      "momentum_consistency": 2.62,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.565,
      "vwap": 12.6191,
      "vwap_slope": -0.0073,
      "rvol": 0.89,
      "volume_acceleration": 1.46,
      "premarket_volume": 444582.0,
      "momentum_pct": -0.08,
      "consolidation_tightness_pct": 0.24,
      "distance_from_pm_high_pct": 0.79,
      "extension_from_vwap_pct": -0.43,
      "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.665,
    "pm_low": 12.555
  },
  {
    "symbol": "TDAY",
    "total_score": 43.7,
    "raw_score": 46.33,
    "breakdown": {
      "price_quality": 1.78,
      "volume_quality": 12.0,
      "rvol": 0.66,
      "volume_acceleration": 7.41,
      "price_momentum": 0.11,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.13,
      "spread_liquidity": 4.51,
      "momentum_consistency": 2.33,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.78,
      "vwap": 6.8146,
      "vwap_slope": -0.0141,
      "rvol": 0.27,
      "volume_acceleration": 1.74,
      "premarket_volume": 136945.0,
      "momentum_pct": 0.07,
      "consolidation_tightness_pct": 0.22,
      "distance_from_pm_high_pct": 1.17,
      "extension_from_vwap_pct": -0.51,
      "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.86,
    "pm_low": 6.7601
  },
  {
    "symbol": "LEG",
    "total_score": 43.68,
    "raw_score": 46.3,
    "breakdown": {
      "price_quality": 4.61,
      "volume_quality": 12.0,
      "rvol": 2.8,
      "volume_acceleration": 1.84,
      "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.65,
      "momentum_consistency": 2.31,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.61,
      "vwap": 9.6241,
      "vwap_slope": -0.0002,
      "rvol": 1.17,
      "volume_acceleration": 0.53,
      "premarket_volume": 582997.0,
      "momentum_pct": -0.16,
      "consolidation_tightness_pct": 0.36,
      "distance_from_pm_high_pct": 0.41,
      "extension_from_vwap_pct": -0.15,
      "spread_pct": 0.1
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 9.65,
    "pm_low": 9.59
  },
  {
    "symbol": "DXC",
    "total_score": 43.66,
    "raw_score": 46.28,
    "breakdown": {
      "price_quality": 4.03,
      "volume_quality": 12.0,
      "rvol": 0.98,
      "volume_acceleration": 3.57,
      "price_momentum": 0.07,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.63,
      "spread_liquidity": 4.7,
      "momentum_consistency": 2.91,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.975,
      "vwap": 10.9893,
      "vwap_slope": -0.0089,
      "rvol": 0.41,
      "volume_acceleration": 1.03,
      "premarket_volume": 204932.0,
      "momentum_pct": 0.05,
      "consolidation_tightness_pct": 0.23,
      "distance_from_pm_high_pct": 0.49,
      "extension_from_vwap_pct": -0.13,
      "spread_pct": 0.09
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 11.029,
    "pm_low": 10.95
  },
  {
    "symbol": "FNKO",
    "total_score": 43.64,
    "raw_score": 46.26,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 7.98,
      "rvol": 0.32,
      "volume_acceleration": 4.32,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.5,
      "spread_liquidity": 4.44,
      "momentum_consistency": 2.6,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.985,
      "vwap": 5.9915,
      "vwap_slope": 0.0052,
      "rvol": 0.13,
      "volume_acceleration": 1.43,
      "premarket_volume": 66461.0,
      "momentum_pct": -0.25,
      "consolidation_tightness_pct": 0.25,
      "distance_from_pm_high_pct": 0.66,
      "extension_from_vwap_pct": -0.11,
      "spread_pct": 0.17
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": true
    },
    "pm_high": 6.025,
    "pm_low": 5.96
  },
  {
    "symbol": "GPK",
    "total_score": 43.61,
    "raw_score": 46.23,
    "breakdown": {
      "price_quality": 3.57,
      "volume_quality": 12.0,
      "rvol": 1.75,
      "volume_acceleration": 2.89,
      "price_momentum": 0.2,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.67,
      "spread_liquidity": 4.71,
      "momentum_consistency": 3.03,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.425,
      "vwap": 11.4363,
      "vwap_slope": -0.0098,
      "rvol": 0.73,
      "volume_acceleration": 0.83,
      "premarket_volume": 364095.0,
      "momentum_pct": 0.13,
      "consolidation_tightness_pct": 0.44,
      "distance_from_pm_high_pct": 0.44,
      "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": 11.475,
    "pm_low": 11.375
  },
  {
    "symbol": "HUN",
    "total_score": 43.59,
    "raw_score": 46.21,
    "breakdown": {
      "price_quality": 4.78,
      "volume_quality": 12.0,
      "rvol": 0.94,
      "volume_acceleration": 3.5,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.35,
      "spread_liquidity": 4.67,
      "momentum_consistency": 2.58,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.225,
      "vwap": 10.2438,
      "vwap_slope": -0.0027,
      "rvol": 0.39,
      "volume_acceleration": 1.01,
      "premarket_volume": 195932.0,
      "momentum_pct": -0.1,
      "consolidation_tightness_pct": 0.15,
      "distance_from_pm_high_pct": 0.87,
      "extension_from_vwap_pct": -0.18,
      "spread_pct": 0.1
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 10.315,
    "pm_low": 10.22
  },
  {
    "symbol": "BB",
    "total_score": 43.54,
    "raw_score": 46.16,
    "breakdown": {
      "price_quality": 3.38,
      "volume_quality": 12.0,
      "rvol": 2.59,
      "volume_acceleration": 2.87,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.55,
      "spread_liquidity": 4.6,
      "momentum_consistency": 2.76,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.375,
      "vwap": 8.3904,
      "vwap_slope": -0.0025,
      "rvol": 1.08,
      "volume_acceleration": 0.83,
      "premarket_volume": 539996.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.3,
      "distance_from_pm_high_pct": 0.59,
      "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": false,
      "vwap_rising": false
    },
    "pm_high": 8.425,
    "pm_low": 8.36
  },
  {
    "symbol": "REAL",
    "total_score": 43.41,
    "raw_score": 46.02,
    "breakdown": {
      "price_quality": 3.29,
      "volume_quality": 12.0,
      "rvol": 1.02,
      "volume_acceleration": 4.03,
      "price_momentum": 0.06,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.27,
      "spread_liquidity": 4.72,
      "momentum_consistency": 3.23,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.705,
      "vwap": 11.7586,
      "vwap_slope": -0.0123,
      "rvol": 0.43,
      "volume_acceleration": 1.4,
      "premarket_volume": 212513.0,
      "momentum_pct": 0.04,
      "consolidation_tightness_pct": 0.21,
      "distance_from_pm_high_pct": 0.97,
      "extension_from_vwap_pct": -0.46,
      "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.82,
    "pm_low": 11.685
  },
  {
    "symbol": "JBS",
    "total_score": 43.39,
    "raw_score": 45.99,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 3.38,
      "volume_acceleration": 3.62,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.49,
      "spread_liquidity": 4.76,
      "momentum_consistency": 2.85,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.795,
      "vwap": 13.8433,
      "vwap_slope": -0.0023,
      "rvol": 1.41,
      "volume_acceleration": 1.36,
      "premarket_volume": 703143.0,
      "momentum_pct": -0.14,
      "consolidation_tightness_pct": 0.25,
      "distance_from_pm_high_pct": 0.68,
      "extension_from_vwap_pct": -0.35,
      "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.89,
    "pm_low": 13.78
  },
  {
    "symbol": "HAYW",
    "total_score": 43.35,
    "raw_score": 45.95,
    "breakdown": {
      "price_quality": 0.0,
      "volume_quality": 12.0,
      "rvol": 1.79,
      "volume_acceleration": 7.0,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.36,
      "spread_liquidity": 4.78,
      "momentum_consistency": 2.62,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 15.045,
      "vwap": 15.1073,
      "vwap_slope": -0.0146,
      "rvol": 0.75,
      "volume_acceleration": 1.7,
      "premarket_volume": 373230.0,
      "momentum_pct": -0.13,
      "consolidation_tightness_pct": 0.3,
      "distance_from_pm_high_pct": 0.86,
      "extension_from_vwap_pct": -0.41,
      "spread_pct": 0.07
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 15.175,
    "pm_low": 15.03
  },
  {
    "symbol": "QUAD",
    "total_score": 43.2,
    "raw_score": 45.79,
    "breakdown": {
      "price_quality": 4.74,
      "volume_quality": 6.33,
      "rvol": 0.25,
      "volume_acceleration": 3.74,
      "price_momentum": 0.07,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.89,
      "spread_liquidity": 4.02,
      "momentum_consistency": 1.53,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.255,
      "vwap": 10.2522,
      "vwap_slope": -0.0008,
      "rvol": 0.11,
      "volume_acceleration": 1.08,
      "premarket_volume": 52756.0,
      "momentum_pct": 0.05,
      "consolidation_tightness_pct": 0.29,
      "distance_from_pm_high_pct": 0.15,
      "extension_from_vwap_pct": 0.03,
      "spread_pct": 0.29
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 10.27,
    "pm_low": 10.23
  },
  {
    "symbol": "ULCC",
    "total_score": 43.11,
    "raw_score": 45.69,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 0.93,
      "volume_acceleration": 5.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.57,
      "spread_liquidity": 4.45,
      "momentum_consistency": 2.96,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.04,
      "vwap": 6.0479,
      "vwap_slope": -0.0094,
      "rvol": 0.39,
      "volume_acceleration": 1.59,
      "premarket_volume": 193723.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.25,
      "distance_from_pm_high_pct": 0.58,
      "extension_from_vwap_pct": -0.13,
      "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.075,
    "pm_low": 6.02
  },
  {
    "symbol": "COMP",
    "total_score": 43.06,
    "raw_score": 45.65,
    "breakdown": {
      "price_quality": 2.36,
      "volume_quality": 12.0,
      "rvol": 3.22,
      "volume_acceleration": 3.21,
      "price_momentum": 0.06,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.35,
      "spread_liquidity": 4.74,
      "momentum_consistency": 2.31,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.64,
      "vwap": 12.7031,
      "vwap_slope": -0.0135,
      "rvol": 1.34,
      "volume_acceleration": 1.32,
      "premarket_volume": 671285.0,
      "momentum_pct": 0.04,
      "consolidation_tightness_pct": 0.16,
      "distance_from_pm_high_pct": 0.86,
      "extension_from_vwap_pct": -0.5,
      "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.75,
    "pm_low": 12.63
  },
  {
    "symbol": "AI",
    "total_score": 42.98,
    "raw_score": 45.56,
    "breakdown": {
      "price_quality": 4.84,
      "volume_quality": 12.0,
      "rvol": 1.26,
      "volume_acceleration": 2.18,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.63,
      "spread_liquidity": 4.67,
      "momentum_consistency": 2.58,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.16,
      "vwap": 10.1756,
      "vwap_slope": -0.0037,
      "rvol": 0.52,
      "volume_acceleration": 1.22,
      "premarket_volume": 261766.0,
      "momentum_pct": -0.05,
      "consolidation_tightness_pct": 0.25,
      "distance_from_pm_high_pct": 0.49,
      "extension_from_vwap_pct": -0.15,
      "spread_pct": 0.1
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 10.21,
    "pm_low": 10.14
  },
  {
    "symbol": "LFST",
    "total_score": 42.94,
    "raw_score": 45.52,
    "breakdown": {
      "price_quality": 2.31,
      "volume_quality": 12.0,
      "rvol": 1.21,
      "volume_acceleration": 3.93,
      "price_momentum": 0.18,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.76,
      "spread_liquidity": 4.74,
      "momentum_consistency": 2.98,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.69,
      "vwap": 12.6963,
      "vwap_slope": -0.0041,
      "rvol": 0.51,
      "volume_acceleration": 1.13,
      "premarket_volume": 252749.0,
      "momentum_pct": 0.12,
      "consolidation_tightness_pct": 0.16,
      "distance_from_pm_high_pct": 0.31,
      "extension_from_vwap_pct": -0.05,
      "spread_pct": 0.08
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 12.73,
    "pm_low": 12.665
  },
  {
    "symbol": "MBC",
    "total_score": 42.63,
    "raw_score": 45.19,
    "breakdown": {
      "price_quality": 4.4,
      "volume_quality": 12.0,
      "rvol": 1.74,
      "volume_acceleration": 2.02,
      "price_momentum": 0.16,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 4.9,
      "spread_liquidity": 4.65,
      "momentum_consistency": 2.92,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.4,
      "vwap": 9.4834,
      "vwap_slope": -0.009,
      "rvol": 0.73,
      "volume_acceleration": 0.58,
      "premarket_volume": 363460.0,
      "momentum_pct": 0.11,
      "consolidation_tightness_pct": 0.43,
      "distance_from_pm_high_pct": 1.47,
      "extension_from_vwap_pct": -0.88,
      "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.54,
    "pm_low": 9.39
  },
  {
    "symbol": "NUVB",
    "total_score": 42.55,
    "raw_score": 45.1,
    "breakdown": {
      "price_quality": 2.25,
      "volume_quality": 12.0,
      "rvol": 2.55,
      "volume_acceleration": 2.98,
      "price_momentum": 0.1,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.23,
      "spread_liquidity": 4.54,
      "momentum_consistency": 3.03,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.255,
      "vwap": 7.2779,
      "vwap_slope": -0.0064,
      "rvol": 1.06,
      "volume_acceleration": 0.86,
      "premarket_volume": 532117.0,
      "momentum_pct": 0.07,
      "consolidation_tightness_pct": 0.34,
      "distance_from_pm_high_pct": 1.02,
      "extension_from_vwap_pct": -0.32,
      "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.33,
    "pm_low": 7.23
  },
  {
    "symbol": "CTOS",
    "total_score": 42.41,
    "raw_score": 44.96,
    "breakdown": {
      "price_quality": 4.85,
      "volume_quality": 7.17,
      "rvol": 0.29,
      "volume_acceleration": 7.99,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.66,
      "spread_liquidity": 4.32,
      "momentum_consistency": 2.29,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.845,
      "vwap": 9.8568,
      "vwap_slope": -0.0017,
      "rvol": 0.12,
      "volume_acceleration": 1.8,
      "premarket_volume": 59731.0,
      "momentum_pct": -0.2,
      "consolidation_tightness_pct": 0.3,
      "distance_from_pm_high_pct": 0.46,
      "extension_from_vwap_pct": -0.12,
      "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": 9.89,
    "pm_low": 9.83
  },
  {
    "symbol": "INFQ",
    "total_score": 42.32,
    "raw_score": 44.86,
    "breakdown": {
      "price_quality": 2.54,
      "volume_quality": 12.0,
      "rvol": 2.07,
      "volume_acceleration": 3.26,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 4.96,
      "spread_liquidity": 4.73,
      "momentum_consistency": 2.9,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.455,
      "vwap": 12.5,
      "vwap_slope": -0.0045,
      "rvol": 0.86,
      "volume_acceleration": 0.94,
      "premarket_volume": 430534.0,
      "momentum_pct": -0.12,
      "consolidation_tightness_pct": 0.32,
      "distance_from_pm_high_pct": 1.39,
      "extension_from_vwap_pct": -0.36,
      "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.63,
    "pm_low": 12.415
  },
  {
    "symbol": "PAYO",
    "total_score": 42.32,
    "raw_score": 44.86,
    "breakdown": {
      "price_quality": 2.11,
      "volume_quality": 12.0,
      "rvol": 1.58,
      "volume_acceleration": 4.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.89,
      "spread_liquidity": 4.53,
      "momentum_consistency": 2.14,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.11,
      "vwap": 7.1119,
      "vwap_slope": -0.0004,
      "rvol": 0.66,
      "volume_acceleration": 1.42,
      "premarket_volume": 328236.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.14,
      "distance_from_pm_high_pct": 0.14,
      "extension_from_vwap_pct": -0.03,
      "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.11
  },
  {
    "symbol": "QUBT",
    "total_score": 42.28,
    "raw_score": 44.82,
    "breakdown": {
      "price_quality": 3.27,
      "volume_quality": 12.0,
      "rvol": 1.78,
      "volume_acceleration": 3.43,
      "price_momentum": 0.06,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 4.83,
      "spread_liquidity": 4.6,
      "momentum_consistency": 2.44,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.2739,
      "vwap": 8.3176,
      "vwap_slope": -0.0087,
      "rvol": 0.74,
      "volume_acceleration": 1.34,
      "premarket_volume": 371173.0,
      "momentum_pct": 0.04,
      "consolidation_tightness_pct": 0.36,
      "distance_from_pm_high_pct": 1.56,
      "extension_from_vwap_pct": -0.53,
      "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.405,
    "pm_low": 8.27
  },
  {
    "symbol": "ECVT",
    "total_score": 42.16,
    "raw_score": 44.69,
    "breakdown": {
      "price_quality": 4.47,
      "volume_quality": 12.0,
      "rvol": 0.56,
      "volume_acceleration": 2.24,
      "price_momentum": 0.5,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.33,
      "spread_liquidity": 4.37,
      "momentum_consistency": 2.82,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.53,
      "vwap": 10.5599,
      "vwap_slope": -0.0093,
      "rvol": 0.23,
      "volume_acceleration": 1.22,
      "premarket_volume": 116867.0,
      "momentum_pct": 0.33,
      "consolidation_tightness_pct": 0.38,
      "distance_from_pm_high_pct": 0.89,
      "extension_from_vwap_pct": -0.28,
      "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.625,
    "pm_low": 10.49
  },
  {
    "symbol": "SHLS",
    "total_score": 42.13,
    "raw_score": 44.66,
    "breakdown": {
      "price_quality": 2.79,
      "volume_quality": 12.0,
      "rvol": 0.97,
      "volume_acceleration": 3.91,
      "price_momentum": 0.19,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.29,
      "spread_liquidity": 4.57,
      "momentum_consistency": 2.53,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.795,
      "vwap": 7.7993,
      "vwap_slope": -0.0035,
      "rvol": 0.4,
      "volume_acceleration": 1.13,
      "premarket_volume": 202453.0,
      "momentum_pct": 0.13,
      "consolidation_tightness_pct": 0.51,
      "distance_from_pm_high_pct": 0.95,
      "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": false,
      "vwap_rising": false
    },
    "pm_high": 7.87,
    "pm_low": 7.76
  },
  {
    "symbol": "ADTN",
    "total_score": 42.12,
    "raw_score": 44.64,
    "breakdown": {
      "price_quality": 2.88,
      "volume_quality": 12.0,
      "rvol": 0.5,
      "volume_acceleration": 4.78,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.39,
      "spread_liquidity": 4.58,
      "momentum_consistency": 2.11,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.885,
      "vwap": 7.9055,
      "vwap_slope": -0.0041,
      "rvol": 0.21,
      "volume_acceleration": 1.48,
      "premarket_volume": 103164.0,
      "momentum_pct": -0.17,
      "consolidation_tightness_pct": 0.32,
      "distance_from_pm_high_pct": 0.82,
      "extension_from_vwap_pct": -0.26,
      "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.95,
    "pm_low": 7.875
  },
  {
    "symbol": "ADMA",
    "total_score": 42.08,
    "raw_score": 44.6,
    "breakdown": {
      "price_quality": 4.98,
      "volume_quality": 12.0,
      "rvol": 0.65,
      "volume_acceleration": 1.76,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.81,
      "spread_liquidity": 4.67,
      "momentum_consistency": 2.33,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.02,
      "vwap": 10.0211,
      "vwap_slope": -0.0011,
      "rvol": 0.27,
      "volume_acceleration": 1.18,
      "premarket_volume": 135726.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.1,
      "distance_from_pm_high_pct": 0.25,
      "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": false
    },
    "pm_high": 10.045,
    "pm_low": 10.0
  },
  {
    "symbol": "CMRE",
    "total_score": 41.93,
    "raw_score": 44.45,
    "breakdown": {
      "price_quality": 0.0,
      "volume_quality": 2.82,
      "rvol": 0.11,
      "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.85,
      "spread_liquidity": 4.56,
      "momentum_consistency": 1.5,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 15.1,
      "vwap": 15.1145,
      "vwap_slope": 0.0071,
      "rvol": 0.05,
      "volume_acceleration": 2.1,
      "premarket_volume": 23521.0,
      "momentum_pct": -0.12,
      "consolidation_tightness_pct": 0.13,
      "distance_from_pm_high_pct": 0.2,
      "extension_from_vwap_pct": -0.1,
      "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": 15.13,
    "pm_low": 15.09
  },
  {
    "symbol": "MAT",
    "total_score": 41.9,
    "raw_score": 44.41,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 1.19,
      "volume_acceleration": 4.64,
      "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.77,
      "momentum_consistency": 2.14,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.705,
      "vwap": 14.7218,
      "vwap_slope": -0.0053,
      "rvol": 0.49,
      "volume_acceleration": 1.46,
      "premarket_volume": 246985.0,
      "momentum_pct": -0.1,
      "consolidation_tightness_pct": 0.2,
      "distance_from_pm_high_pct": 0.31,
      "extension_from_vwap_pct": -0.11,
      "spread_pct": 0.07
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 14.75,
    "pm_low": 14.69
  },
  {
    "symbol": "GNW",
    "total_score": 41.78,
    "raw_score": 44.29,
    "breakdown": {
      "price_quality": 4.99,
      "volume_quality": 12.0,
      "rvol": 0.78,
      "volume_acceleration": 2.43,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.74,
      "spread_liquidity": 4.67,
      "momentum_consistency": 1.28,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.005,
      "vwap": 10.0181,
      "vwap_slope": -0.0022,
      "rvol": 0.32,
      "volume_acceleration": 1.24,
      "premarket_volume": 162498.0,
      "momentum_pct": -0.05,
      "consolidation_tightness_pct": 0.1,
      "distance_from_pm_high_pct": 0.35,
      "extension_from_vwap_pct": -0.13,
      "spread_pct": 0.1
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 10.04,
    "pm_low": 10.0
  },
  {
    "symbol": "RXST",
    "total_score": 41.77,
    "raw_score": 44.27,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 6.99,
      "rvol": 0.28,
      "volume_acceleration": 3.65,
      "price_momentum": 0.49,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.58,
      "spread_liquidity": 4.46,
      "momentum_consistency": 2.13,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.195,
      "vwap": 6.1825,
      "vwap_slope": -0.0007,
      "rvol": 0.12,
      "volume_acceleration": 1.05,
      "premarket_volume": 58240.0,
      "momentum_pct": 0.32,
      "consolidation_tightness_pct": 0.4,
      "distance_from_pm_high_pct": 0.56,
      "extension_from_vwap_pct": 0.2,
      "spread_pct": 0.16
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 6.23,
    "pm_low": 6.16
  },
  {
    "symbol": "UPWK",
    "total_score": 41.74,
    "raw_score": 44.25,
    "breakdown": {
      "price_quality": 3.77,
      "volume_quality": 12.0,
      "rvol": 1.58,
      "volume_acceleration": 1.75,
      "price_momentum": 0.34,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.53,
      "spread_liquidity": 4.62,
      "momentum_consistency": 2.25,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.77,
      "vwap": 8.7902,
      "vwap_slope": -0.0049,
      "rvol": 0.66,
      "volume_acceleration": 0.5,
      "premarket_volume": 329597.0,
      "momentum_pct": 0.23,
      "consolidation_tightness_pct": 0.34,
      "distance_from_pm_high_pct": 0.62,
      "extension_from_vwap_pct": -0.23,
      "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.825,
    "pm_low": 8.745
  },
  {
    "symbol": "FLO",
    "total_score": 41.65,
    "raw_score": 44.15,
    "breakdown": {
      "price_quality": 2.45,
      "volume_quality": 12.0,
      "rvol": 2.31,
      "volume_acceleration": 3.39,
      "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.55,
      "momentum_consistency": 1.49,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.445,
      "vwap": 7.4544,
      "vwap_slope": -0.0036,
      "rvol": 0.96,
      "volume_acceleration": 1.34,
      "premarket_volume": 481167.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.2,
      "distance_from_pm_high_pct": 0.59,
      "extension_from_vwap_pct": -0.13,
      "spread_pct": 0.13
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 7.4891,
    "pm_low": 7.4
  },
  {
    "symbol": "INMD",
    "total_score": 41.59,
    "raw_score": 44.09,
    "breakdown": {
      "price_quality": 0.0,
      "volume_quality": 6.36,
      "rvol": 0.25,
      "volume_acceleration": 5.19,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.9,
      "spread_liquidity": 4.78,
      "momentum_consistency": 2.4,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 15.015,
      "vwap": 15.0148,
      "vwap_slope": -0.0037,
      "rvol": 0.11,
      "volume_acceleration": 1.52,
      "premarket_volume": 53035.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.15,
      "distance_from_pm_high_pct": 0.13,
      "extension_from_vwap_pct": 0.0,
      "spread_pct": 0.07
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 15.035,
    "pm_low": 14.995
  },
  {
    "symbol": "AEG",
    "total_score": 41.57,
    "raw_score": 44.07,
    "breakdown": {
      "price_quality": 4.32,
      "volume_quality": 12.0,
      "rvol": 1.09,
      "volume_acceleration": 1.98,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.86,
      "spread_liquidity": 4.64,
      "momentum_consistency": 1.78,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.32,
      "vwap": 9.327,
      "vwap_slope": -0.0008,
      "rvol": 0.45,
      "volume_acceleration": 1.2,
      "premarket_volume": 226179.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.05,
      "distance_from_pm_high_pct": 0.19,
      "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": false,
      "vwap_rising": false
    },
    "pm_high": 9.338,
    "pm_low": 9.32
  },
  {
    "symbol": "ZURA",
    "total_score": 41.48,
    "raw_score": 43.96,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 5.75,
      "rvol": 0.23,
      "volume_acceleration": 3.92,
      "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.42,
      "momentum_consistency": 2.73,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.795,
      "vwap": 5.7955,
      "vwap_slope": 0.0007,
      "rvol": 0.1,
      "volume_acceleration": 1.13,
      "premarket_volume": 47947.0,
      "momentum_pct": -0.09,
      "consolidation_tightness_pct": 0.17,
      "distance_from_pm_high_pct": 0.26,
      "extension_from_vwap_pct": -0.01,
      "spread_pct": 0.17
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": true
    },
    "pm_high": 5.81,
    "pm_low": 5.78
  },
  {
    "symbol": "VERX",
    "total_score": 41.48,
    "raw_score": 43.97,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 0.56,
      "volume_acceleration": 3.99,
      "price_momentum": 0.17,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.78,
      "spread_liquidity": 4.75,
      "momentum_consistency": 2.82,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.56,
      "vwap": 13.5678,
      "vwap_slope": -0.0058,
      "rvol": 0.23,
      "volume_acceleration": 1.15,
      "premarket_volume": 115875.0,
      "momentum_pct": 0.11,
      "consolidation_tightness_pct": 0.15,
      "distance_from_pm_high_pct": 0.29,
      "extension_from_vwap_pct": -0.06,
      "spread_pct": 0.07
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 13.6,
    "pm_low": 13.54
  },
  {
    "symbol": "VFC",
    "total_score": 41.26,
    "raw_score": 43.74,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 1.44,
      "volume_acceleration": 3.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.51,
      "spread_liquidity": 4.77,
      "momentum_consistency": 2.58,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.445,
      "vwap": 14.4968,
      "vwap_slope": -0.0174,
      "rvol": 0.6,
      "volume_acceleration": 1.35,
      "premarket_volume": 300991.0,
      "momentum_pct": -0.07,
      "consolidation_tightness_pct": 0.1,
      "distance_from_pm_high_pct": 0.65,
      "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": 14.54,
    "pm_low": 14.445
  },
  {
    "symbol": "MNRO",
    "total_score": 41.23,
    "raw_score": 43.71,
    "breakdown": {
      "price_quality": 2.7,
      "volume_quality": 11.69,
      "rvol": 0.47,
      "volume_acceleration": 3.13,
      "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": 3.29,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.305,
      "vwap": 12.3545,
      "vwap_slope": -0.009,
      "rvol": 0.19,
      "volume_acceleration": 0.9,
      "premarket_volume": 97428.0,
      "momentum_pct": -0.2,
      "consolidation_tightness_pct": 0.24,
      "distance_from_pm_high_pct": 0.93,
      "extension_from_vwap_pct": -0.4,
      "spread_pct": 0.08
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 12.42,
    "pm_low": 12.26
  },
  {
    "symbol": "VYX",
    "total_score": 41.22,
    "raw_score": 43.7,
    "breakdown": {
      "price_quality": 2.66,
      "volume_quality": 12.0,
      "rvol": 1.13,
      "volume_acceleration": 3.74,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.66,
      "spread_liquidity": 4.56,
      "momentum_consistency": 1.54,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.655,
      "vwap": 7.6686,
      "vwap_slope": -0.0027,
      "rvol": 0.47,
      "volume_acceleration": 1.08,
      "premarket_volume": 236252.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.2,
      "distance_from_pm_high_pct": 0.46,
      "extension_from_vwap_pct": -0.18,
      "spread_pct": 0.13
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 7.69,
    "pm_low": 7.64
  },
  {
    "symbol": "AVTR",
    "total_score": 41.21,
    "raw_score": 43.68,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 2.25,
      "volume_acceleration": 3.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.63,
      "spread_liquidity": 4.76,
      "momentum_consistency": 1.9,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.955,
      "vwap": 13.9909,
      "vwap_slope": -0.0052,
      "rvol": 0.94,
      "volume_acceleration": 0.93,
      "premarket_volume": 469772.0,
      "momentum_pct": -0.14,
      "consolidation_tightness_pct": 0.29,
      "distance_from_pm_high_pct": 0.5,
      "extension_from_vwap_pct": -0.26,
      "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.025,
    "pm_low": 13.95
  },
  {
    "symbol": "XMAX",
    "total_score": 41.12,
    "raw_score": 43.59,
    "breakdown": {
      "price_quality": 3.89,
      "volume_quality": 12.0,
      "rvol": 1.39,
      "volume_acceleration": 1.77,
      "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.62,
      "momentum_consistency": 2.18,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.89,
      "vwap": 8.918,
      "vwap_slope": -0.0014,
      "rvol": 0.58,
      "volume_acceleration": 0.51,
      "premarket_volume": 288806.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.11,
      "distance_from_pm_high_pct": 0.89,
      "extension_from_vwap_pct": -0.31,
      "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.97,
    "pm_low": 8.87
  },
  {
    "symbol": "ALTG",
    "total_score": 40.92,
    "raw_score": 43.38,
    "breakdown": {
      "price_quality": 1.56,
      "volume_quality": 2.63,
      "rvol": 0.11,
      "volume_acceleration": 10,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 4.87,
      "spread_liquidity": 1.94,
      "momentum_consistency": 2.67,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.56,
      "vwap": 6.6255,
      "vwap_slope": 0.0155,
      "rvol": 0.04,
      "volume_acceleration": 4.11,
      "premarket_volume": 21937.0,
      "momentum_pct": -1.13,
      "consolidation_tightness_pct": 1.66,
      "distance_from_pm_high_pct": 1.5,
      "extension_from_vwap_pct": -0.99,
      "spread_pct": 0.92
    },
    "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.66,
    "pm_low": 6.55
  },
  {
    "symbol": "GPGI",
    "total_score": 40.81,
    "raw_score": 43.26,
    "breakdown": {
      "price_quality": 2.11,
      "volume_quality": 12.0,
      "rvol": 0.88,
      "volume_acceleration": 3.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.51,
      "spread_liquidity": 4.48,
      "momentum_consistency": 2.07,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.89,
      "vwap": 12.9183,
      "vwap_slope": -0.0086,
      "rvol": 0.37,
      "volume_acceleration": 1.09,
      "premarket_volume": 184259.0,
      "momentum_pct": -0.08,
      "consolidation_tightness_pct": 0.31,
      "distance_from_pm_high_pct": 0.66,
      "extension_from_vwap_pct": -0.22,
      "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.975,
    "pm_low": 12.865
  },
  {
    "symbol": "GDOT",
    "total_score": 40.74,
    "raw_score": 43.19,
    "breakdown": {
      "price_quality": 1.51,
      "volume_quality": 6.51,
      "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.64,
      "spread_liquidity": 4.75,
      "momentum_consistency": 2.12,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.495,
      "vwap": 13.5219,
      "vwap_slope": -0.0134,
      "rvol": 0.11,
      "volume_acceleration": 2.08,
      "premarket_volume": 54241.0,
      "momentum_pct": -0.04,
      "consolidation_tightness_pct": 0.11,
      "distance_from_pm_high_pct": 0.48,
      "extension_from_vwap_pct": -0.2,
      "spread_pct": 0.07
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 13.56,
    "pm_low": 13.49
  },
  {
    "symbol": "ICL",
    "total_score": 40.67,
    "raw_score": 43.11,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 5.39,
      "rvol": 0.22,
      "volume_acceleration": 4.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.39,
      "momentum_consistency": 1.71,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.495,
      "vwap": 5.499,
      "vwap_slope": 0.0008,
      "rvol": 0.09,
      "volume_acceleration": 1.45,
      "premarket_volume": 44938.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.09,
      "distance_from_pm_high_pct": 0.26,
      "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": true
    },
    "pm_high": 5.5092,
    "pm_low": 5.49
  },
  {
    "symbol": "RUM",
    "total_score": 40.46,
    "raw_score": 42.89,
    "breakdown": {
      "price_quality": 3.29,
      "volume_quality": 12.0,
      "rvol": 1.01,
      "volume_acceleration": 2.72,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 4.45,
      "spread_liquidity": 4.6,
      "momentum_consistency": 2.43,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.285,
      "vwap": 8.3644,
      "vwap_slope": -0.0159,
      "rvol": 0.42,
      "volume_acceleration": 1.27,
      "premarket_volume": 210186.0,
      "momentum_pct": -0.36,
      "consolidation_tightness_pct": 0.48,
      "distance_from_pm_high_pct": 2.07,
      "extension_from_vwap_pct": -0.95,
      "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.46,
    "pm_low": 8.28
  },
  {
    "symbol": "MASS",
    "total_score": 40.19,
    "raw_score": 42.6,
    "breakdown": {
      "price_quality": 4.83,
      "volume_quality": 8.63,
      "rvol": 0.35,
      "volume_acceleration": 3.9,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.49,
      "spread_liquidity": 4.34,
      "momentum_consistency": 2.67,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.17,
      "vwap": 10.1854,
      "vwap_slope": -0.0052,
      "rvol": 0.14,
      "volume_acceleration": 1.12,
      "premarket_volume": 71955.0,
      "momentum_pct": -0.15,
      "consolidation_tightness_pct": 0.29,
      "distance_from_pm_high_pct": 0.68,
      "extension_from_vwap_pct": -0.15,
      "spread_pct": 0.2
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 10.24,
    "pm_low": 10.16
  },
  {
    "symbol": "SHMD",
    "total_score": 40.06,
    "raw_score": 42.47,
    "breakdown": {
      "price_quality": 0.0,
      "volume_quality": 7.58,
      "rvol": 0.3,
      "volume_acceleration": 1.35,
      "price_momentum": 0.0,
      "price_structure": 12,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.22,
      "spread_liquidity": 3.62,
      "momentum_consistency": 2.4,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 4.8393,
      "vwap": 4.8578,
      "vwap_slope": -0.0057,
      "rvol": 0.13,
      "volume_acceleration": 0.39,
      "premarket_volume": 63151.0,
      "momentum_pct": -0.22,
      "consolidation_tightness_pct": 0.41,
      "distance_from_pm_high_pct": 1.04,
      "extension_from_vwap_pct": -0.38,
      "spread_pct": 0.41
    },
    "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": 4.89,
    "pm_low": 4.83
  },
  {
    "symbol": "LION",
    "total_score": 40.06,
    "raw_score": 42.46,
    "breakdown": {
      "price_quality": 3.46,
      "volume_quality": 12.0,
      "rvol": 0.69,
      "volume_acceleration": 2.18,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.07,
      "spread_liquidity": 4.71,
      "momentum_consistency": 1.96,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.545,
      "vwap": 11.6115,
      "vwap_slope": -0.0201,
      "rvol": 0.29,
      "volume_acceleration": 1.22,
      "premarket_volume": 144164.0,
      "momentum_pct": -0.04,
      "consolidation_tightness_pct": 0.17,
      "distance_from_pm_high_pct": 1.24,
      "extension_from_vwap_pct": -0.57,
      "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.69,
    "pm_low": 11.5219
  },
  {
    "symbol": "CRK",
    "total_score": 39.97,
    "raw_score": 42.37,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 0.83,
      "volume_acceleration": 3.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.13,
      "spread_liquidity": 4.75,
      "momentum_consistency": 1.93,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.5799,
      "vwap": 13.6451,
      "vwap_slope": -0.0143,
      "rvol": 0.34,
      "volume_acceleration": 1.1,
      "premarket_volume": 172481.0,
      "momentum_pct": -0.07,
      "consolidation_tightness_pct": 0.15,
      "distance_from_pm_high_pct": 1.17,
      "extension_from_vwap_pct": -0.48,
      "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.74,
    "pm_low": 13.57
  },
  {
    "symbol": "HTLD",
    "total_score": 39.96,
    "raw_score": 42.36,
    "breakdown": {
      "price_quality": 2.28,
      "volume_quality": 11.91,
      "rvol": 0.48,
      "volume_acceleration": 2.7,
      "price_momentum": 0.12,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.21,
      "spread_liquidity": 4.48,
      "momentum_consistency": 2.78,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.72,
      "vwap": 12.784,
      "vwap_slope": -0.0125,
      "rvol": 0.2,
      "volume_acceleration": 1.27,
      "premarket_volume": 99271.0,
      "momentum_pct": 0.08,
      "consolidation_tightness_pct": 0.28,
      "distance_from_pm_high_pct": 1.05,
      "extension_from_vwap_pct": -0.5,
      "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.855,
    "pm_low": 12.69
  },
  {
    "symbol": "ARCO",
    "total_score": 39.8,
    "raw_score": 42.19,
    "breakdown": {
      "price_quality": 2.74,
      "volume_quality": 12.0,
      "rvol": 0.66,
      "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.7,
      "spread_liquidity": 4.57,
      "momentum_consistency": 2.24,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.739,
      "vwap": 7.7567,
      "vwap_slope": -0.0034,
      "rvol": 0.28,
      "volume_acceleration": 0.54,
      "premarket_volume": 138224.0,
      "momentum_pct": -0.08,
      "consolidation_tightness_pct": 0.32,
      "distance_from_pm_high_pct": 0.4,
      "extension_from_vwap_pct": -0.23,
      "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.77,
    "pm_low": 7.72
  },
  {
    "symbol": "AGEN",
    "total_score": 39.69,
    "raw_score": 42.08,
    "breakdown": {
      "price_quality": 3.42,
      "volume_quality": 12.0,
      "rvol": 0.62,
      "volume_acceleration": 1.98,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 4.77,
      "spread_liquidity": 3.81,
      "momentum_consistency": 3.06,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.42,
      "vwap": 8.4997,
      "vwap_slope": -0.0204,
      "rvol": 0.26,
      "volume_acceleration": 1.2,
      "premarket_volume": 129934.0,
      "momentum_pct": -0.24,
      "consolidation_tightness_pct": 0.83,
      "distance_from_pm_high_pct": 1.64,
      "extension_from_vwap_pct": -0.94,
      "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": 8.56,
    "pm_low": 8.42
  },
  {
    "symbol": "SPT",
    "total_score": 39.64,
    "raw_score": 42.01,
    "breakdown": {
      "price_quality": 4.93,
      "volume_quality": 9.56,
      "rvol": 0.38,
      "volume_acceleration": 1.55,
      "price_momentum": 0.15,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.59,
      "spread_liquidity": 4.67,
      "momentum_consistency": 2.78,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.07,
      "vwap": 10.0981,
      "vwap_slope": -0.0048,
      "rvol": 0.16,
      "volume_acceleration": 0.45,
      "premarket_volume": 79679.0,
      "momentum_pct": 0.1,
      "consolidation_tightness_pct": 0.2,
      "distance_from_pm_high_pct": 0.54,
      "extension_from_vwap_pct": -0.28,
      "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.125,
    "pm_low": 10.06
  },
  {
    "symbol": "SSTK",
    "total_score": 39.55,
    "raw_score": 41.92,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 5.33,
      "rvol": 0.21,
      "volume_acceleration": 2.76,
      "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": 4.4,
      "momentum_consistency": 2.59,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.515,
      "vwap": 5.524,
      "vwap_slope": 0.0009,
      "rvol": 0.09,
      "volume_acceleration": 0.79,
      "premarket_volume": 44394.0,
      "momentum_pct": -0.18,
      "consolidation_tightness_pct": 0.27,
      "distance_from_pm_high_pct": 0.63,
      "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.55,
    "pm_low": 5.51
  },
  {
    "symbol": "KOPN",
    "total_score": 39.5,
    "raw_score": 41.87,
    "breakdown": {
      "price_quality": 0.0,
      "volume_quality": 12.0,
      "rvol": 2.14,
      "volume_acceleration": 2.46,
      "price_momentum": 0.17,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.39,
      "spread_liquidity": 4.32,
      "momentum_consistency": 2.98,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 4.89,
      "vwap": 4.8921,
      "vwap_slope": -0.0014,
      "rvol": 0.89,
      "volume_acceleration": 0.71,
      "premarket_volume": 446595.0,
      "momentum_pct": 0.11,
      "consolidation_tightness_pct": 0.31,
      "distance_from_pm_high_pct": 0.81,
      "extension_from_vwap_pct": -0.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": false,
      "vwap_rising": false
    },
    "pm_high": 4.93,
    "pm_low": 4.87
  },
  {
    "symbol": "SWBI",
    "total_score": 39.49,
    "raw_score": 41.86,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 3.62,
      "rvol": 0.14,
      "volume_acceleration": 3.81,
      "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.76,
      "momentum_consistency": 2.67,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.075,
      "vwap": 14.0875,
      "vwap_slope": 0.003,
      "rvol": 0.06,
      "volume_acceleration": 1.09,
      "premarket_volume": 30172.0,
      "momentum_pct": -0.07,
      "consolidation_tightness_pct": 0.25,
      "distance_from_pm_high_pct": 0.32,
      "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": true
    },
    "pm_high": 14.12,
    "pm_low": 14.06
  },
  {
    "symbol": "SATL",
    "total_score": 39.36,
    "raw_score": 41.72,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 1.63,
      "volume_acceleration": 2.52,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 4.93,
      "spread_liquidity": 4.4,
      "momentum_consistency": 2.34,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.525,
      "vwap": 5.5452,
      "vwap_slope": -0.0038,
      "rvol": 0.68,
      "volume_acceleration": 0.72,
      "premarket_volume": 338700.0,
      "momentum_pct": -0.18,
      "consolidation_tightness_pct": 0.36,
      "distance_from_pm_high_pct": 1.43,
      "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": 5.605,
    "pm_low": 5.515
  },
  {
    "symbol": "KVHI",
    "total_score": 39.35,
    "raw_score": 41.71,
    "breakdown": {
      "price_quality": 2.92,
      "volume_quality": 4.49,
      "rvol": 0.18,
      "volume_acceleration": 10,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.16,
      "spread_liquidity": 4.16,
      "momentum_consistency": 2.4,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.925,
      "vwap": 7.9716,
      "vwap_slope": -0.0095,
      "rvol": 0.07,
      "volume_acceleration": 4.04,
      "premarket_volume": 37383.0,
      "momentum_pct": -0.19,
      "consolidation_tightness_pct": 1.01,
      "distance_from_pm_high_pct": 1.12,
      "extension_from_vwap_pct": -0.58,
      "spread_pct": 0.25
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 8.015,
    "pm_low": 7.92
  },
  {
    "symbol": "SFL",
    "total_score": 39.12,
    "raw_score": 41.47,
    "breakdown": {
      "price_quality": 2.46,
      "volume_quality": 8.07,
      "rvol": 0.32,
      "volume_acceleration": 4.59,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.73,
      "spread_liquidity": 4.73,
      "momentum_consistency": 3.16,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.545,
      "vwap": 12.5673,
      "vwap_slope": -0.0063,
      "rvol": 0.13,
      "volume_acceleration": 1.46,
      "premarket_volume": 67282.0,
      "momentum_pct": -0.08,
      "consolidation_tightness_pct": 0.24,
      "distance_from_pm_high_pct": 0.36,
      "extension_from_vwap_pct": -0.18,
      "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.59,
    "pm_low": 12.535
  },
  {
    "symbol": "KPLT",
    "total_score": 39.0,
    "raw_score": 41.34,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 2.53,
      "rvol": 0.1,
      "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.11,
      "spread_liquidity": 0.43,
      "momentum_consistency": 2.07,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.81,
      "vwap": 5.8537,
      "vwap_slope": 0.0006,
      "rvol": 0.04,
      "volume_acceleration": 3.68,
      "premarket_volume": 21067.0,
      "momentum_pct": -0.51,
      "consolidation_tightness_pct": 1.37,
      "distance_from_pm_high_pct": 1.19,
      "extension_from_vwap_pct": -0.75,
      "spread_pct": 1.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": true
    },
    "pm_high": 5.88,
    "pm_low": 5.8
  },
  {
    "symbol": "CXM",
    "total_score": 38.97,
    "raw_score": 41.31,
    "breakdown": {
      "price_quality": 2.12,
      "volume_quality": 12.0,
      "rvol": 0.63,
      "volume_acceleration": 1.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.63,
      "spread_liquidity": 4.53,
      "momentum_consistency": 2.04,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.125,
      "vwap": 7.1395,
      "vwap_slope": -0.0054,
      "rvol": 0.26,
      "volume_acceleration": 1.2,
      "premarket_volume": 131690.0,
      "momentum_pct": -0.07,
      "consolidation_tightness_pct": 0.21,
      "distance_from_pm_high_pct": 0.49,
      "extension_from_vwap_pct": -0.2,
      "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.1599,
    "pm_low": 7.12
  },
  {
    "symbol": "CNNE",
    "total_score": 38.89,
    "raw_score": 41.22,
    "breakdown": {
      "price_quality": 0.0,
      "volume_quality": 2.94,
      "rvol": 0.12,
      "volume_acceleration": 3.43,
      "price_momentum": 0.15,
      "price_structure": 12,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.73,
      "spread_liquidity": 4.56,
      "momentum_consistency": 2.29,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 15.165,
      "vwap": 15.1782,
      "vwap_slope": -0.0168,
      "rvol": 0.05,
      "volume_acceleration": 0.99,
      "premarket_volume": 24534.0,
      "momentum_pct": 0.1,
      "consolidation_tightness_pct": 0.26,
      "distance_from_pm_high_pct": 0.36,
      "extension_from_vwap_pct": -0.09,
      "spread_pct": 0.13
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 15.22,
    "pm_low": 15.13
  },
  {
    "symbol": "GSIT",
    "total_score": 38.78,
    "raw_score": 41.11,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 5.15,
      "rvol": 0.21,
      "volume_acceleration": 1.43,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.57,
      "spread_liquidity": 4.45,
      "momentum_consistency": 3.2,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.045,
      "vwap": 6.049,
      "vwap_slope": 0.004,
      "rvol": 0.09,
      "volume_acceleration": 0.41,
      "premarket_volume": 42951.0,
      "momentum_pct": -0.41,
      "consolidation_tightness_pct": 0.58,
      "distance_from_pm_high_pct": 0.58,
      "extension_from_vwap_pct": -0.07,
      "spread_pct": 0.17
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": true
    },
    "pm_high": 6.08,
    "pm_low": 6.03
  },
  {
    "symbol": "BETR",
    "total_score": 38.76,
    "raw_score": 41.09,
    "breakdown": {
      "price_quality": 1.68,
      "volume_quality": 3.93,
      "rvol": 0.16,
      "volume_acceleration": 1.87,
      "price_momentum": 0.0,
      "price_structure": 12,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 4.46,
      "spread_liquidity": 4.0,
      "momentum_consistency": 3.0,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.32,
      "vwap": 13.4196,
      "vwap_slope": -0.046,
      "rvol": 0.07,
      "volume_acceleration": 1.19,
      "premarket_volume": 32773.0,
      "momentum_pct": -0.3,
      "consolidation_tightness_pct": 0.49,
      "distance_from_pm_high_pct": 2.06,
      "extension_from_vwap_pct": -0.74,
      "spread_pct": 0.3
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 13.6,
    "pm_low": 13.3
  },
  {
    "symbol": "CWH",
    "total_score": 38.75,
    "raw_score": 41.07,
    "breakdown": {
      "price_quality": 1.72,
      "volume_quality": 12.0,
      "rvol": 1.16,
      "volume_acceleration": 2.21,
      "price_momentum": 0.22,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 4.52,
      "spread_liquidity": 4.5,
      "momentum_consistency": 2.33,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.725,
      "vwap": 6.7858,
      "vwap_slope": -0.0142,
      "rvol": 0.48,
      "volume_acceleration": 0.63,
      "premarket_volume": 241630.0,
      "momentum_pct": 0.15,
      "consolidation_tightness_pct": 0.3,
      "distance_from_pm_high_pct": 1.97,
      "extension_from_vwap_pct": -0.9,
      "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.86,
    "pm_low": 6.71
  },
  {
    "symbol": "CARL",
    "total_score": 38.64,
    "raw_score": 40.95,
    "breakdown": {
      "price_quality": 0.0,
      "volume_quality": 2.97,
      "rvol": 0.12,
      "volume_acceleration": 1.5,
      "price_momentum": 0.3,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.78,
      "spread_liquidity": 0.63,
      "momentum_consistency": 3.26,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 15.26,
      "vwap": 14.9012,
      "vwap_slope": 0.0673,
      "rvol": 0.05,
      "volume_acceleration": 0.43,
      "premarket_volume": 24753.0,
      "momentum_pct": 0.2,
      "consolidation_tightness_pct": 2.21,
      "distance_from_pm_high_pct": 0.29,
      "extension_from_vwap_pct": 2.41,
      "spread_pct": 1.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": 15.305,
    "pm_low": 14.66
  },
  {
    "symbol": "TIC",
    "total_score": 38.59,
    "raw_score": 40.9,
    "breakdown": {
      "price_quality": 4.19,
      "volume_quality": 10.13,
      "rvol": 0.41,
      "volume_acceleration": 2.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.15,
      "spread_liquidity": 4.64,
      "momentum_consistency": 1.14,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.185,
      "vwap": 9.2421,
      "vwap_slope": -0.0179,
      "rvol": 0.17,
      "volume_acceleration": 1.28,
      "premarket_volume": 84424.0,
      "momentum_pct": -0.22,
      "consolidation_tightness_pct": 0.33,
      "distance_from_pm_high_pct": 1.13,
      "extension_from_vwap_pct": -0.62,
      "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.29,
    "pm_low": 9.185
  },
  {
    "symbol": "ASLE",
    "total_score": 38.39,
    "raw_score": 40.7,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 4.47,
      "rvol": 0.18,
      "volume_acceleration": 3.36,
      "price_momentum": 0.26,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.74,
      "spread_liquidity": 3.84,
      "momentum_consistency": 2.15,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.75,
      "vwap": 5.7496,
      "vwap_slope": -0.0085,
      "rvol": 0.07,
      "volume_acceleration": 1.34,
      "premarket_volume": 37215.0,
      "momentum_pct": 0.18,
      "consolidation_tightness_pct": 0.26,
      "distance_from_pm_high_pct": 0.35,
      "extension_from_vwap_pct": 0.01,
      "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.77,
    "pm_low": 5.73
  },
  {
    "symbol": "MRTN",
    "total_score": 37.91,
    "raw_score": 40.19,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 3.58,
      "rvol": 0.14,
      "volume_acceleration": 10,
      "price_momentum": 0.3,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.65,
      "spread_liquidity": 4.78,
      "momentum_consistency": 1.83,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.83,
      "vwap": 14.8638,
      "vwap_slope": -0.0148,
      "rvol": 0.06,
      "volume_acceleration": 2.27,
      "premarket_volume": 29847.0,
      "momentum_pct": 0.2,
      "consolidation_tightness_pct": 0.24,
      "distance_from_pm_high_pct": 0.47,
      "extension_from_vwap_pct": -0.23,
      "spread_pct": 0.07
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 14.9,
    "pm_low": 14.8
  },
  {
    "symbol": "CWK",
    "total_score": 37.79,
    "raw_score": 40.06,
    "breakdown": {
      "price_quality": 0.0,
      "volume_quality": 12.0,
      "rvol": 0.84,
      "volume_acceleration": 2.87,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.27,
      "spread_liquidity": 4.56,
      "momentum_consistency": 2.11,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 15.22,
      "vwap": 15.3059,
      "vwap_slope": -0.0124,
      "rvol": 0.35,
      "volume_acceleration": 0.83,
      "premarket_volume": 174640.0,
      "momentum_pct": -0.07,
      "consolidation_tightness_pct": 0.13,
      "distance_from_pm_high_pct": 0.98,
      "extension_from_vwap_pct": -0.56,
      "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": 15.37,
    "pm_low": 15.21
  },
  {
    "symbol": "SAFE",
    "total_score": 37.78,
    "raw_score": 40.04,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 2.49,
      "rvol": 0.1,
      "volume_acceleration": 3.93,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.82,
      "spread_liquidity": 4.78,
      "momentum_consistency": 1.82,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.945,
      "vwap": 14.9573,
      "vwap_slope": 0.0084,
      "rvol": 0.04,
      "volume_acceleration": 1.39,
      "premarket_volume": 20747.0,
      "momentum_pct": -0.17,
      "consolidation_tightness_pct": 0.2,
      "distance_from_pm_high_pct": 0.23,
      "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": true
    },
    "pm_high": 14.98,
    "pm_low": 14.94
  },
  {
    "symbol": "IMRX",
    "total_score": 37.45,
    "raw_score": 39.69,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 7.35,
      "rvol": 0.29,
      "volume_acceleration": 6.21,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.37,
      "spread_liquidity": 4.37,
      "momentum_consistency": 2.21,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.27,
      "vwap": 5.2783,
      "vwap_slope": -0.0027,
      "rvol": 0.12,
      "volume_acceleration": 1.62,
      "premarket_volume": 61221.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.19,
      "distance_from_pm_high_pct": 0.85,
      "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": 5.315,
    "pm_low": 5.255
  },
  {
    "symbol": "LSPD",
    "total_score": 37.4,
    "raw_score": 39.65,
    "breakdown": {
      "price_quality": 4.53,
      "volume_quality": 6.67,
      "rvol": 0.27,
      "volume_acceleration": 3.76,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.79,
      "spread_liquidity": 4.68,
      "momentum_consistency": 1.57,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.475,
      "vwap": 10.4832,
      "vwap_slope": -0.0028,
      "rvol": 0.11,
      "volume_acceleration": 1.08,
      "premarket_volume": 55545.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.0,
      "distance_from_pm_high_pct": 0.29,
      "extension_from_vwap_pct": -0.08,
      "spread_pct": 0.1
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 10.505,
    "pm_low": 10.475
  },
  {
    "symbol": "CGNT",
    "total_score": 37.37,
    "raw_score": 39.62,
    "breakdown": {
      "price_quality": 3.88,
      "volume_quality": 9.08,
      "rvol": 0.36,
      "volume_acceleration": 1.81,
      "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.62,
      "momentum_consistency": 1.76,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.885,
      "vwap": 8.8934,
      "vwap_slope": -0.0052,
      "rvol": 0.15,
      "volume_acceleration": 0.52,
      "premarket_volume": 75627.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.06,
      "distance_from_pm_high_pct": 0.39,
      "extension_from_vwap_pct": -0.09,
      "spread_pct": 0.11
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 8.92,
    "pm_low": 8.87
  },
  {
    "symbol": "QDEL",
    "total_score": 37.24,
    "raw_score": 39.47,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 9.32,
      "rvol": 0.37,
      "volume_acceleration": 3.44,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.26,
      "spread_liquidity": 4.52,
      "momentum_consistency": 2.67,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.98,
      "vwap": 14.0379,
      "vwap_slope": -0.0106,
      "rvol": 0.16,
      "volume_acceleration": 0.99,
      "premarket_volume": 77666.0,
      "momentum_pct": -0.14,
      "consolidation_tightness_pct": 0.14,
      "distance_from_pm_high_pct": 0.99,
      "extension_from_vwap_pct": -0.41,
      "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.12,
    "pm_low": 13.97
  },
  {
    "symbol": "SD",
    "total_score": 36.92,
    "raw_score": 39.13,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 3.23,
      "rvol": 0.13,
      "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.34,
      "spread_liquidity": 4.53,
      "momentum_consistency": 2.0,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.16,
      "vwap": 14.1933,
      "vwap_slope": -0.0275,
      "rvol": 0.05,
      "volume_acceleration": 2.1,
      "premarket_volume": 26931.0,
      "momentum_pct": -0.14,
      "consolidation_tightness_pct": 0.21,
      "distance_from_pm_high_pct": 0.88,
      "extension_from_vwap_pct": -0.23,
      "spread_pct": 0.14
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 14.285,
    "pm_low": 14.1569
  },
  {
    "symbol": "BV",
    "total_score": 36.65,
    "raw_score": 38.85,
    "breakdown": {
      "price_quality": 3.38,
      "volume_quality": 8.58,
      "rvol": 0.34,
      "volume_acceleration": 1.9,
      "price_momentum": 0.13,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.26,
      "spread_liquidity": 4.71,
      "momentum_consistency": 2.13,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.615,
      "vwap": 11.6683,
      "vwap_slope": -0.0189,
      "rvol": 0.14,
      "volume_acceleration": 1.19,
      "premarket_volume": 71537.0,
      "momentum_pct": 0.09,
      "consolidation_tightness_pct": 0.13,
      "distance_from_pm_high_pct": 0.98,
      "extension_from_vwap_pct": -0.46,
      "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.73,
    "pm_low": 11.59
  },
  {
    "symbol": "AURA",
    "total_score": 35.93,
    "raw_score": 38.09,
    "breakdown": {
      "price_quality": 2.77,
      "volume_quality": 8.8,
      "rvol": 0.35,
      "volume_acceleration": 2.12,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.14,
      "spread_liquidity": 4.14,
      "momentum_consistency": 2.36,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.77,
      "vwap": 7.8062,
      "vwap_slope": -0.0079,
      "rvol": 0.15,
      "volume_acceleration": 0.61,
      "premarket_volume": 73312.0,
      "momentum_pct": -0.13,
      "consolidation_tightness_pct": 0.39,
      "distance_from_pm_high_pct": 1.15,
      "extension_from_vwap_pct": -0.46,
      "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": false,
      "vwap_rising": false
    },
    "pm_high": 7.86,
    "pm_low": 7.76
  },
  {
    "symbol": "HPK",
    "total_score": 35.84,
    "raw_score": 37.99,
    "breakdown": {
      "price_quality": 3.17,
      "volume_quality": 4.58,
      "rvol": 0.18,
      "volume_acceleration": 5.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.5,
      "spread_liquidity": 3.78,
      "momentum_consistency": 2.59,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.17,
      "vwap": 8.1866,
      "vwap_slope": -0.0016,
      "rvol": 0.08,
      "volume_acceleration": 1.58,
      "premarket_volume": 38182.0,
      "momentum_pct": -0.24,
      "consolidation_tightness_pct": 0.49,
      "distance_from_pm_high_pct": 0.67,
      "extension_from_vwap_pct": -0.2,
      "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.225,
    "pm_low": 8.16
  },
  {
    "symbol": "CRCT",
    "total_score": 35.8,
    "raw_score": 37.94,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 8.68,
      "rvol": 0.35,
      "volume_acceleration": 3.51,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.32,
      "spread_liquidity": 4.39,
      "momentum_consistency": 1.8,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.47,
      "vwap": 5.4929,
      "vwap_slope": -0.0031,
      "rvol": 0.14,
      "volume_acceleration": 1.01,
      "premarket_volume": 72294.0,
      "momentum_pct": -0.09,
      "consolidation_tightness_pct": 0.18,
      "distance_from_pm_high_pct": 0.91,
      "extension_from_vwap_pct": -0.42,
      "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.52,
    "pm_low": 5.47
  },
  {
    "symbol": "RMAX",
    "total_score": 35.72,
    "raw_score": 37.87,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 2.7,
      "rvol": 0.11,
      "volume_acceleration": 10,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.32,
      "spread_liquidity": 2.64,
      "momentum_consistency": 3.2,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.13,
      "vwap": 14.1307,
      "vwap_slope": -0.0721,
      "rvol": 0.05,
      "volume_acceleration": 3.59,
      "premarket_volume": 22524.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.64,
      "distance_from_pm_high_pct": 0.91,
      "extension_from_vwap_pct": -0.0,
      "spread_pct": 0.71
    },
    "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.26,
    "pm_low": 14.04
  },
  {
    "symbol": "AVPT",
    "total_score": 35.66,
    "raw_score": 37.8,
    "breakdown": {
      "price_quality": 1.7,
      "volume_quality": 6.34,
      "rvol": 0.25,
      "volume_acceleration": 3.81,
      "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.75,
      "momentum_consistency": 2.77,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.295,
      "vwap": 13.3116,
      "vwap_slope": -0.0043,
      "rvol": 0.11,
      "volume_acceleration": 1.09,
      "premarket_volume": 52824.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.08,
      "distance_from_pm_high_pct": 0.3,
      "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": false,
      "vwap_rising": false
    },
    "pm_high": 13.335,
    "pm_low": 13.295
  },
  {
    "symbol": "ORN",
    "total_score": 35.61,
    "raw_score": 37.75,
    "breakdown": {
      "price_quality": 4.48,
      "volume_quality": 7.31,
      "rvol": 0.29,
      "volume_acceleration": 1.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.02,
      "spread_liquidity": 4.65,
      "momentum_consistency": 2.35,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.485,
      "vwap": 9.5663,
      "vwap_slope": -0.0171,
      "rvol": 0.12,
      "volume_acceleration": 0.36,
      "premarket_volume": 60880.0,
      "momentum_pct": -0.33,
      "consolidation_tightness_pct": 0.42,
      "distance_from_pm_high_pct": 1.3,
      "extension_from_vwap_pct": -0.85,
      "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.61,
    "pm_low": 9.48
  },
  {
    "symbol": "AMCX",
    "total_score": 35.54,
    "raw_score": 37.67,
    "breakdown": {
      "price_quality": 2.98,
      "volume_quality": 7.59,
      "rvol": 0.3,
      "volume_acceleration": 1.67,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.69,
      "spread_liquidity": 4.72,
      "momentum_consistency": 2.32,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.02,
      "vwap": 12.0243,
      "vwap_slope": -0.0043,
      "rvol": 0.13,
      "volume_acceleration": 0.48,
      "premarket_volume": 63226.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.25,
      "distance_from_pm_high_pct": 0.41,
      "extension_from_vwap_pct": -0.04,
      "spread_pct": 0.08
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 12.07,
    "pm_low": 11.985
  },
  {
    "symbol": "HOPE",
    "total_score": 35.26,
    "raw_score": 37.38,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 7.7,
      "rvol": 0.31,
      "volume_acceleration": 3.05,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.79,
      "spread_liquidity": 4.76,
      "momentum_consistency": 1.87,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.985,
      "vwap": 14.0049,
      "vwap_slope": -0.0035,
      "rvol": 0.13,
      "volume_acceleration": 0.88,
      "premarket_volume": 64192.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.04,
      "distance_from_pm_high_pct": 0.29,
      "extension_from_vwap_pct": -0.14,
      "spread_pct": 0.07
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 14.025,
    "pm_low": 13.985
  },
  {
    "symbol": "DOLE",
    "total_score": 34.53,
    "raw_score": 36.6,
    "breakdown": {
      "price_quality": 1.65,
      "volume_quality": 7.45,
      "rvol": 0.3,
      "volume_acceleration": 2.22,
      "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.75,
      "momentum_consistency": 2.17,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.35,
      "vwap": 13.3731,
      "vwap_slope": -0.0026,
      "rvol": 0.12,
      "volume_acceleration": 0.64,
      "premarket_volume": 62113.0,
      "momentum_pct": -0.15,
      "consolidation_tightness_pct": 0.15,
      "distance_from_pm_high_pct": 0.45,
      "extension_from_vwap_pct": -0.17,
      "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.41,
    "pm_low": 13.35
  },
  {
    "symbol": "ASPN",
    "total_score": 34.47,
    "raw_score": 36.53,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 7.55,
      "rvol": 0.3,
      "volume_acceleration": 2.6,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 4.86,
      "spread_liquidity": 4.4,
      "momentum_consistency": 2.93,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.515,
      "vwap": 5.5413,
      "vwap_slope": -0.0063,
      "rvol": 0.13,
      "volume_acceleration": 1.26,
      "premarket_volume": 62888.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.18,
      "distance_from_pm_high_pct": 1.52,
      "extension_from_vwap_pct": -0.47,
      "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.6,
    "pm_low": 5.51
  },
  {
    "symbol": "AMRN",
    "total_score": 34.27,
    "raw_score": 36.32,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 2.65,
      "rvol": 0.11,
      "volume_acceleration": 3.05,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.27,
      "spread_liquidity": 0.81,
      "momentum_consistency": 3.33,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.27,
      "vwap": 14.322,
      "vwap_slope": 0.0053,
      "rvol": 0.04,
      "volume_acceleration": 0.88,
      "premarket_volume": 22094.0,
      "momentum_pct": -0.76,
      "consolidation_tightness_pct": 1.19,
      "distance_from_pm_high_pct": 0.97,
      "extension_from_vwap_pct": -0.36,
      "spread_pct": 1.26
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": true
    },
    "pm_high": 14.41,
    "pm_low": 14.23
  },
  {
    "symbol": "LXU",
    "total_score": 34.24,
    "raw_score": 36.3,
    "breakdown": {
      "price_quality": 4.56,
      "volume_quality": 5.03,
      "rvol": 0.2,
      "volume_acceleration": 2.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.42,
      "spread_liquidity": 4.36,
      "momentum_consistency": 1.87,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.44,
      "vwap": 10.4724,
      "vwap_slope": -0.0028,
      "rvol": 0.08,
      "volume_acceleration": 0.71,
      "premarket_volume": 41908.0,
      "momentum_pct": -0.1,
      "consolidation_tightness_pct": 0.19,
      "distance_from_pm_high_pct": 0.78,
      "extension_from_vwap_pct": -0.31,
      "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.5216,
    "pm_low": 10.44
  },
  {
    "symbol": "MNTN",
    "total_score": 34.13,
    "raw_score": 36.18,
    "breakdown": {
      "price_quality": 2.17,
      "volume_quality": 3.39,
      "rvol": 0.14,
      "volume_acceleration": 5.12,
      "price_momentum": 0.13,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.59,
      "spread_liquidity": 4.48,
      "momentum_consistency": 2.75,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.83,
      "vwap": 12.847,
      "vwap_slope": -0.0211,
      "rvol": 0.06,
      "volume_acceleration": 1.51,
      "premarket_volume": 28277.0,
      "momentum_pct": 0.09,
      "consolidation_tightness_pct": 0.31,
      "distance_from_pm_high_pct": 0.54,
      "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": 12.9,
    "pm_low": 12.79
  },
  {
    "symbol": "WNC",
    "total_score": 34.09,
    "raw_score": 36.13,
    "breakdown": {
      "price_quality": 2.77,
      "volume_quality": 3.91,
      "rvol": 0.16,
      "volume_acceleration": 4.07,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.48,
      "spread_liquidity": 3.91,
      "momentum_consistency": 3.43,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.23,
      "vwap": 12.2607,
      "vwap_slope": -0.0151,
      "rvol": 0.07,
      "volume_acceleration": 1.41,
      "premarket_volume": 32580.0,
      "momentum_pct": -0.08,
      "consolidation_tightness_pct": 0.41,
      "distance_from_pm_high_pct": 0.69,
      "extension_from_vwap_pct": -0.25,
      "spread_pct": 0.33
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 12.315,
    "pm_low": 12.22
  },
  {
    "symbol": "BRCB",
    "total_score": 33.78,
    "raw_score": 35.81,
    "breakdown": {
      "price_quality": 3.54,
      "volume_quality": 3.11,
      "rvol": 0.12,
      "volume_acceleration": 3.58,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.56,
      "spread_liquidity": 3.83,
      "momentum_consistency": 3.67,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.54,
      "vwap": 8.5495,
      "vwap_slope": -0.011,
      "rvol": 0.05,
      "volume_acceleration": 1.03,
      "premarket_volume": 25899.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.23,
      "distance_from_pm_high_pct": 0.58,
      "extension_from_vwap_pct": -0.11,
      "spread_pct": 0.35
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 8.59,
    "pm_low": 8.52
  },
  {
    "symbol": "YEXT",
    "total_score": 33.67,
    "raw_score": 35.69,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 6.89,
      "rvol": 0.28,
      "volume_acceleration": 2.31,
      "price_momentum": 0.12,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.64,
      "spread_liquidity": 4.47,
      "momentum_consistency": 2.07,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.3,
      "vwap": 6.3117,
      "vwap_slope": -0.0023,
      "rvol": 0.11,
      "volume_acceleration": 0.66,
      "premarket_volume": 57438.0,
      "momentum_pct": 0.08,
      "consolidation_tightness_pct": 0.16,
      "distance_from_pm_high_pct": 0.47,
      "extension_from_vwap_pct": -0.19,
      "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.33,
    "pm_low": 6.29
  },
  {
    "symbol": "SWIM",
    "total_score": 33.5,
    "raw_score": 35.51,
    "breakdown": {
      "price_quality": 2.16,
      "volume_quality": 4.93,
      "rvol": 0.2,
      "volume_acceleration": 2.73,
      "price_momentum": 0.21,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.69,
      "spread_liquidity": 4.53,
      "momentum_consistency": 2.67,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.155,
      "vwap": 7.1641,
      "vwap_slope": -0.0033,
      "rvol": 0.08,
      "volume_acceleration": 0.78,
      "premarket_volume": 41087.0,
      "momentum_pct": 0.14,
      "consolidation_tightness_pct": 0.14,
      "distance_from_pm_high_pct": 0.42,
      "extension_from_vwap_pct": -0.13,
      "spread_pct": 0.14
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 7.185,
    "pm_low": 7.145
  },
  {
    "symbol": "SMWB",
    "total_score": 33.47,
    "raw_score": 35.48,
    "breakdown": {
      "price_quality": 3.36,
      "volume_quality": 6.0,
      "rvol": 0.24,
      "volume_acceleration": 2.65,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 4.98,
      "spread_liquidity": 4.6,
      "momentum_consistency": 1.24,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.36,
      "vwap": 8.4153,
      "vwap_slope": -0.0123,
      "rvol": 0.1,
      "volume_acceleration": 0.76,
      "premarket_volume": 49982.0,
      "momentum_pct": -0.18,
      "consolidation_tightness_pct": 0.24,
      "distance_from_pm_high_pct": 1.36,
      "extension_from_vwap_pct": -0.66,
      "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.475,
    "pm_low": 8.36
  },
  {
    "symbol": "UTZ",
    "total_score": 33.22,
    "raw_score": 35.21,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 6.28,
      "rvol": 0.25,
      "volume_acceleration": 2.07,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.95,
      "spread_liquidity": 4.77,
      "momentum_consistency": 2.0,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.18,
      "vwap": 14.1842,
      "vwap_slope": -0.0,
      "rvol": 0.1,
      "volume_acceleration": 0.59,
      "premarket_volume": 52326.0,
      "momentum_pct": 0.0,
      "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": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 14.19,
    "pm_low": 14.18
  },
  {
    "symbol": "SGHT",
    "total_score": 32.71,
    "raw_score": 34.68,
    "breakdown": {
      "price_quality": 3.6,
      "volume_quality": 3.38,
      "rvol": 0.14,
      "volume_acceleration": 3.26,
      "price_momentum": 0.35,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.14,
      "spread_liquidity": 3.45,
      "momentum_consistency": 2.96,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.6,
      "vwap": 8.6387,
      "vwap_slope": -0.0167,
      "rvol": 0.06,
      "volume_acceleration": 0.94,
      "premarket_volume": 28165.0,
      "momentum_pct": 0.23,
      "consolidation_tightness_pct": 0.35,
      "distance_from_pm_high_pct": 1.15,
      "extension_from_vwap_pct": -0.45,
      "spread_pct": 0.47
    },
    "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.7,
    "pm_low": 8.58
  },
  {
    "symbol": "IMMR",
    "total_score": 32.53,
    "raw_score": 34.48,
    "breakdown": {
      "price_quality": 2.5,
      "volume_quality": 4.22,
      "rvol": 0.17,
      "volume_acceleration": 3.87,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.5,
      "spread_liquidity": 4.56,
      "momentum_consistency": 1.28,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.495,
      "vwap": 7.5037,
      "vwap_slope": -0.0018,
      "rvol": 0.07,
      "volume_acceleration": 1.11,
      "premarket_volume": 35131.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.07,
      "distance_from_pm_high_pct": 0.66,
      "extension_from_vwap_pct": -0.12,
      "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.545,
    "pm_low": 7.48
  },
  {
    "symbol": "GCMG",
    "total_score": 32.08,
    "raw_score": 34.0,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 3.48,
      "rvol": 0.14,
      "volume_acceleration": 3.59,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.92,
      "spread_liquidity": 4.52,
      "momentum_consistency": 2.46,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.78,
      "vwap": 13.7821,
      "vwap_slope": -0.0007,
      "rvol": 0.06,
      "volume_acceleration": 1.36,
      "premarket_volume": 28987.0,
      "momentum_pct": -0.07,
      "consolidation_tightness_pct": 0.14,
      "distance_from_pm_high_pct": 0.11,
      "extension_from_vwap_pct": -0.02,
      "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.795,
    "pm_low": 13.77
  },
  {
    "symbol": "PACK",
    "total_score": 32.07,
    "raw_score": 34.0,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 4.65,
      "rvol": 0.19,
      "volume_acceleration": 3.07,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.35,
      "spread_liquidity": 4.35,
      "momentum_consistency": 2.5,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.135,
      "vwap": 5.161,
      "vwap_slope": -0.0031,
      "rvol": 0.08,
      "volume_acceleration": 0.88,
      "premarket_volume": 38721.0,
      "momentum_pct": -0.1,
      "consolidation_tightness_pct": 0.33,
      "distance_from_pm_high_pct": 0.87,
      "extension_from_vwap_pct": -0.5,
      "spread_pct": 0.19
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 5.18,
    "pm_low": 5.1331
  },
  {
    "symbol": "LTRX",
    "total_score": 31.95,
    "raw_score": 33.86,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 4.43,
      "rvol": 0.18,
      "volume_acceleration": 3.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.39,
      "spread_liquidity": 4.45,
      "momentum_consistency": 2.16,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.1,
      "vwap": 6.1103,
      "vwap_slope": -0.0052,
      "rvol": 0.07,
      "volume_acceleration": 1.33,
      "premarket_volume": 36936.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.29,
      "distance_from_pm_high_pct": 0.81,
      "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": false,
      "vwap_rising": false
    },
    "pm_high": 6.15,
    "pm_low": 6.0821
  },
  {
    "symbol": "OEC",
    "total_score": 31.36,
    "raw_score": 33.24,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 4.61,
      "rvol": 0.18,
      "volume_acceleration": 2.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.51,
      "spread_liquidity": 4.45,
      "momentum_consistency": 2.29,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.11,
      "vwap": 6.113,
      "vwap_slope": -0.0011,
      "rvol": 0.08,
      "volume_acceleration": 1.23,
      "premarket_volume": 38398.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.33,
      "distance_from_pm_high_pct": 0.65,
      "extension_from_vwap_pct": -0.05,
      "spread_pct": 0.16
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 6.15,
    "pm_low": 6.085
  },
  {
    "symbol": "ALIT",
    "total_score": 31.25,
    "raw_score": 33.13,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 3.46,
      "rvol": 0.14,
      "volume_acceleration": 2.58,
      "price_momentum": 0.32,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.42,
      "spread_liquidity": 4.05,
      "momentum_consistency": 3.25,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.09,
      "vwap": 14.1054,
      "vwap_slope": -0.0206,
      "rvol": 0.06,
      "volume_acceleration": 0.74,
      "premarket_volume": 28875.0,
      "momentum_pct": 0.21,
      "consolidation_tightness_pct": 0.43,
      "distance_from_pm_high_pct": 0.77,
      "extension_from_vwap_pct": -0.11,
      "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": 14.2,
    "pm_low": 14.04
  },
  {
    "symbol": "PSFE",
    "total_score": 31.25,
    "raw_score": 33.13,
    "breakdown": {
      "price_quality": 1.66,
      "volume_quality": 3.97,
      "rvol": 0.16,
      "volume_acceleration": 3.16,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.28,
      "spread_liquidity": 3.5,
      "momentum_consistency": 3.0,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.665,
      "vwap": 6.6878,
      "vwap_slope": -0.0023,
      "rvol": 0.07,
      "volume_acceleration": 0.91,
      "premarket_volume": 33114.0,
      "momentum_pct": -0.37,
      "consolidation_tightness_pct": 0.6,
      "distance_from_pm_high_pct": 0.97,
      "extension_from_vwap_pct": -0.34,
      "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": false,
      "vwap_rising": false
    },
    "pm_high": 6.73,
    "pm_low": 6.65
  },
  {
    "symbol": "RFIL",
    "total_score": 31.14,
    "raw_score": 33.01,
    "breakdown": {
      "price_quality": 3.41,
      "volume_quality": 3.66,
      "rvol": 0.15,
      "volume_acceleration": 3.81,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 4.6,
      "spread_liquidity": 2.7,
      "momentum_consistency": 2.29,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.59,
      "vwap": 11.6679,
      "vwap_slope": -0.0337,
      "rvol": 0.06,
      "volume_acceleration": 1.09,
      "premarket_volume": 30499.0,
      "momentum_pct": -0.34,
      "consolidation_tightness_pct": 0.6,
      "distance_from_pm_high_pct": 1.86,
      "extension_from_vwap_pct": -0.67,
      "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": false,
      "vwap_rising": false
    },
    "pm_high": 11.81,
    "pm_low": 11.5463
  },
  {
    "symbol": "MAGN",
    "total_score": 30.85,
    "raw_score": 32.7,
    "breakdown": {
      "price_quality": 2.95,
      "volume_quality": 3.4,
      "rvol": 0.14,
      "volume_acceleration": 1.55,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.32,
      "spread_liquidity": 4.17,
      "momentum_consistency": 2.78,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.05,
      "vwap": 12.1003,
      "vwap_slope": -0.0101,
      "rvol": 0.06,
      "volume_acceleration": 0.44,
      "premarket_volume": 28301.0,
      "momentum_pct": -0.25,
      "consolidation_tightness_pct": 0.41,
      "distance_from_pm_high_pct": 0.9,
      "extension_from_vwap_pct": -0.42,
      "spread_pct": 0.25
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 12.16,
    "pm_low": 12.04
  },
  {
    "symbol": "SBGI",
    "total_score": 30.67,
    "raw_score": 32.51,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 3.52,
      "rvol": 0.14,
      "volume_acceleration": 2.78,
      "price_momentum": 0.06,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.39,
      "spread_liquidity": 4.32,
      "momentum_consistency": 2.4,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.65,
      "vwap": 14.6877,
      "vwap_slope": -0.0305,
      "rvol": 0.06,
      "volume_acceleration": 0.8,
      "premarket_volume": 29316.0,
      "momentum_pct": 0.04,
      "consolidation_tightness_pct": 0.2,
      "distance_from_pm_high_pct": 0.81,
      "extension_from_vwap_pct": -0.26,
      "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.77,
    "pm_low": 14.64
  },
  {
    "symbol": "AEBI",
    "total_score": 30.02,
    "raw_score": 31.82,
    "breakdown": {
      "price_quality": 2.43,
      "volume_quality": 3.77,
      "rvol": 0.15,
      "volume_acceleration": 1.71,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 4.94,
      "spread_liquidity": 4.2,
      "momentum_consistency": 2.21,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.57,
      "vwap": 12.6919,
      "vwap_slope": -0.0361,
      "rvol": 0.06,
      "volume_acceleration": 0.49,
      "premarket_volume": 31420.0,
      "momentum_pct": -0.04,
      "consolidation_tightness_pct": 0.24,
      "distance_from_pm_high_pct": 1.41,
      "extension_from_vwap_pct": -0.96,
      "spread_pct": 0.24
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 12.75,
    "pm_low": 12.55
  },
  {
    "symbol": "RILY",
    "total_score": 29.98,
    "raw_score": 31.77,
    "breakdown": {
      "price_quality": 2.23,
      "volume_quality": 3.22,
      "rvol": 0.13,
      "volume_acceleration": 3.0,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.38,
      "spread_liquidity": 4.08,
      "momentum_consistency": 1.33,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.23,
      "vwap": 7.2461,
      "vwap_slope": -0.0066,
      "rvol": 0.05,
      "volume_acceleration": 0.86,
      "premarket_volume": 26824.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.14,
      "distance_from_pm_high_pct": 0.82,
      "extension_from_vwap_pct": -0.22,
      "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.29,
    "pm_low": 7.22
  },
  {
    "symbol": "XPER",
    "total_score": 29.87,
    "raw_score": 31.67,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 5.19,
      "rvol": 0.21,
      "volume_acceleration": 1.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.3,
      "spread_liquidity": 3.95,
      "momentum_consistency": 1.88,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.36,
      "vwap": 6.3709,
      "vwap_slope": -0.0171,
      "rvol": 0.09,
      "volume_acceleration": 0.36,
      "premarket_volume": 43233.0,
      "momentum_pct": -0.08,
      "consolidation_tightness_pct": 0.16,
      "distance_from_pm_high_pct": 0.93,
      "extension_from_vwap_pct": -0.17,
      "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.42,
    "pm_low": 6.35
  },
  {
    "symbol": "SVCO",
    "total_score": 29.84,
    "raw_score": 31.63,
    "breakdown": {
      "price_quality": 1.68,
      "volume_quality": 4.22,
      "rvol": 0.17,
      "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.22,
      "spread_liquidity": 4.0,
      "momentum_consistency": 2.0,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.68,
      "vwap": 6.716,
      "vwap_slope": -0.0098,
      "rvol": 0.07,
      "volume_acceleration": 0.56,
      "premarket_volume": 35145.0,
      "momentum_pct": -0.15,
      "consolidation_tightness_pct": 0.3,
      "distance_from_pm_high_pct": 1.04,
      "extension_from_vwap_pct": -0.54,
      "spread_pct": 0.3
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 6.75,
    "pm_low": 6.68
  },
  {
    "symbol": "DFH",
    "total_score": 29.23,
    "raw_score": 30.98,
    "breakdown": {
      "price_quality": 0.0,
      "volume_quality": 4.91,
      "rvol": 0.2,
      "volume_acceleration": 2.78,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 4.44,
      "spread_liquidity": 3.89,
      "momentum_consistency": 2.35,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 15.1,
      "vwap": 15.2639,
      "vwap_slope": -0.0631,
      "rvol": 0.08,
      "volume_acceleration": 0.8,
      "premarket_volume": 40951.0,
      "momentum_pct": -0.17,
      "consolidation_tightness_pct": 0.64,
      "distance_from_pm_high_pct": 2.07,
      "extension_from_vwap_pct": -1.07,
      "spread_pct": 0.33
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 15.4199,
    "pm_low": 15.09
  },
  {
    "symbol": "NAKA",
    "total_score": 29.12,
    "raw_score": 30.87,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 8.45,
      "rvol": 0.34,
      "volume_acceleration": 1.22,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 2.69,
      "spread_liquidity": 0.94,
      "momentum_consistency": 3.33,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.7338,
      "vwap": 5.747,
      "vwap_slope": -0.0019,
      "rvol": 0.14,
      "volume_acceleration": 0.35,
      "premarket_volume": 70395.0,
      "momentum_pct": -0.45,
      "consolidation_tightness_pct": 1.91,
      "distance_from_pm_high_pct": 4.41,
      "extension_from_vwap_pct": -0.23,
      "spread_pct": 1.22
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 5.9984,
    "pm_low": 5.66
  },
  {
    "symbol": "RMNI",
    "total_score": 29.0,
    "raw_score": 30.74,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 2.63,
      "rvol": 0.11,
      "volume_acceleration": 2.44,
      "price_momentum": 0.15,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.71,
      "spread_liquidity": 4.34,
      "momentum_consistency": 1.47,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.07,
      "vwap": 5.0787,
      "vwap_slope": -0.0031,
      "rvol": 0.04,
      "volume_acceleration": 1.24,
      "premarket_volume": 21904.0,
      "momentum_pct": 0.1,
      "consolidation_tightness_pct": 0.2,
      "distance_from_pm_high_pct": 0.39,
      "extension_from_vwap_pct": -0.17,
      "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.09,
    "pm_low": 5.06
  },
  {
    "symbol": "XPOF",
    "total_score": 28.85,
    "raw_score": 30.58,
    "breakdown": {
      "price_quality": 0.0,
      "volume_quality": 4.81,
      "rvol": 0.19,
      "volume_acceleration": 1.81,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.55,
      "spread_liquidity": 3.66,
      "momentum_consistency": 2.16,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 4.97,
      "vwap": 4.9758,
      "vwap_slope": -0.0012,
      "rvol": 0.08,
      "volume_acceleration": 0.52,
      "premarket_volume": 40066.0,
      "momentum_pct": -0.1,
      "consolidation_tightness_pct": 0.2,
      "distance_from_pm_high_pct": 0.6,
      "extension_from_vwap_pct": -0.12,
      "spread_pct": 0.4
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 5.0,
    "pm_low": 4.94
  },
  {
    "symbol": "OBIO",
    "total_score": 28.8,
    "raw_score": 30.53,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 3.53,
      "rvol": 0.14,
      "volume_acceleration": 3.93,
      "price_momentum": 0.13,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 4.87,
      "spread_liquidity": 2.02,
      "momentum_consistency": 2.0,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.57,
      "vwap": 5.6005,
      "vwap_slope": -0.0143,
      "rvol": 0.06,
      "volume_acceleration": 1.13,
      "premarket_volume": 29454.0,
      "momentum_pct": 0.09,
      "consolidation_tightness_pct": 0.63,
      "distance_from_pm_high_pct": 1.5,
      "extension_from_vwap_pct": -0.54,
      "spread_pct": 0.9
    },
    "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.655,
    "pm_low": 5.55
  },
  {
    "symbol": "DSP",
    "total_score": 28.34,
    "raw_score": 30.04,
    "breakdown": {
      "price_quality": 2.11,
      "volume_quality": 3.82,
      "rvol": 0.15,
      "volume_acceleration": 1.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.34,
      "spread_liquidity": 3.45,
      "momentum_consistency": 1.6,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.89,
      "vwap": 12.942,
      "vwap_slope": -0.0156,
      "rvol": 0.06,
      "volume_acceleration": 0.34,
      "premarket_volume": 31828.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.43,
      "distance_from_pm_high_pct": 0.88,
      "extension_from_vwap_pct": -0.4,
      "spread_pct": 0.47
    },
    "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.005,
    "pm_low": 12.875
  },
  {
    "symbol": "INTT",
    "total_score": 28.19,
    "raw_score": 29.88,
    "breakdown": {
      "price_quality": 2.2,
      "volume_quality": 2.43,
      "rvol": 0.1,
      "volume_acceleration": 2.46,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 4.96,
      "spread_liquidity": 2.13,
      "momentum_consistency": 3.2,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.8,
      "vwap": 12.8389,
      "vwap_slope": -0.0271,
      "rvol": 0.04,
      "volume_acceleration": 1.25,
      "premarket_volume": 20213.0,
      "momentum_pct": -0.47,
      "consolidation_tightness_pct": 0.55,
      "distance_from_pm_high_pct": 1.39,
      "extension_from_vwap_pct": -0.3,
      "spread_pct": 0.86
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 12.98,
    "pm_low": 12.79
  },
  {
    "symbol": "AGPU",
    "total_score": 27.48,
    "raw_score": 29.13,
    "breakdown": {
      "price_quality": 4.38,
      "volume_quality": 3.42,
      "rvol": 0.14,
      "volume_acceleration": 1.13,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 4.11,
      "spread_liquidity": 0.29,
      "momentum_consistency": 3.26,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.625,
      "vwap": 10.7734,
      "vwap_slope": -0.0319,
      "rvol": 0.06,
      "volume_acceleration": 0.33,
      "premarket_volume": 28534.0,
      "momentum_pct": -0.33,
      "consolidation_tightness_pct": 1.03,
      "distance_from_pm_high_pct": 2.52,
      "extension_from_vwap_pct": -1.38,
      "spread_pct": 1.41
    },
    "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.9,
    "pm_low": 10.6
  },
  {
    "symbol": "USAU",
    "total_score": 26.83,
    "raw_score": 28.44,
    "breakdown": {
      "price_quality": 0.0,
      "volume_quality": 2.94,
      "rvol": 0.12,
      "volume_acceleration": 2.05,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 4.93,
      "spread_liquidity": 2.43,
      "momentum_consistency": 3.58,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 15.5,
      "vwap": 15.5802,
      "vwap_slope": -0.0138,
      "rvol": 0.05,
      "volume_acceleration": 0.59,
      "premarket_volume": 24468.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.9,
      "distance_from_pm_high_pct": 1.43,
      "extension_from_vwap_pct": -0.51,
      "spread_pct": 0.77
    },
    "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.725,
    "pm_low": 15.46
  },
  {
    "symbol": "SDHC",
    "total_score": 24.81,
    "raw_score": 26.3,
    "breakdown": {
      "price_quality": 1.54,
      "volume_quality": 2.69,
      "rvol": 0.11,
      "volume_acceleration": 0.61,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 3.73,
      "spread_liquidity": 2.28,
      "momentum_consistency": 2.95,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.46,
      "vwap": 13.6216,
      "vwap_slope": -0.0233,
      "rvol": 0.04,
      "volume_acceleration": 0.17,
      "premarket_volume": 22401.0,
      "momentum_pct": -1.14,
      "consolidation_tightness_pct": 1.55,
      "distance_from_pm_high_pct": 3.03,
      "extension_from_vwap_pct": -1.19,
      "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": false,
      "vwap_rising": false
    },
    "pm_high": 13.88,
    "pm_low": 13.43
  }
]