[
  {
    "symbol": "NU",
    "total_score": 72.76,
    "raw_score": 77.12,
    "breakdown": {
      "price_quality": 0.0,
      "volume_quality": 12.0,
      "rvol": 12.0,
      "volume_acceleration": 3.08,
      "price_momentum": 0.24,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.71,
      "spread_liquidity": 4.78,
      "momentum_consistency": 3.31,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 15.4,
      "vwap": 15.3952,
      "vwap_slope": 0.0053,
      "rvol": 21.42,
      "volume_acceleration": 0.88,
      "premarket_volume": 10710319.0,
      "momentum_pct": 0.16,
      "consolidation_tightness_pct": 0.39,
      "distance_from_pm_high_pct": 0.39,
      "extension_from_vwap_pct": 0.03,
      "spread_pct": 0.06
    },
    "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": 15.46,
    "pm_low": 15.33
  },
  {
    "symbol": "ATAI",
    "total_score": 69.0,
    "raw_score": 73.14,
    "breakdown": {
      "price_quality": 2.35,
      "volume_quality": 12.0,
      "rvol": 10.33,
      "volume_acceleration": 10,
      "price_momentum": 0.1,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 6,
      "spread_liquidity": 4.55,
      "momentum_consistency": 1.4,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.35,
      "vwap": 7.3416,
      "vwap_slope": 0.0008,
      "rvol": 3.88,
      "volume_acceleration": 2.21,
      "premarket_volume": 1937543.0,
      "momentum_pct": 0.07,
      "consolidation_tightness_pct": 0.2,
      "distance_from_pm_high_pct": 0.0,
      "extension_from_vwap_pct": 0.12,
      "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.35,
    "pm_low": 7.33
  },
  {
    "symbol": "SMR",
    "total_score": 68.01,
    "raw_score": 72.09,
    "breakdown": {
      "price_quality": 4.53,
      "volume_quality": 12.0,
      "rvol": 12.0,
      "volume_acceleration": 2.37,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 6,
      "spread_liquidity": 4.65,
      "momentum_consistency": 4.14,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.53,
      "vwap": 9.4576,
      "vwap_slope": 0.0095,
      "rvol": 10.14,
      "volume_acceleration": 0.68,
      "premarket_volume": 5072384.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.21,
      "distance_from_pm_high_pct": 0.0,
      "extension_from_vwap_pct": 0.77,
      "spread_pct": 0.1
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 9.53,
    "pm_low": 9.305
  },
  {
    "symbol": "SPT",
    "total_score": 68.01,
    "raw_score": 72.09,
    "breakdown": {
      "price_quality": 3.52,
      "volume_quality": 12.0,
      "rvol": 0.75,
      "volume_acceleration": 5.42,
      "price_momentum": 0.33,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.71,
      "spread_liquidity": 4.71,
      "momentum_consistency": 3.66,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.485,
      "vwap": 11.454,
      "vwap_slope": 0.001,
      "rvol": 0.31,
      "volume_acceleration": 1.54,
      "premarket_volume": 156985.0,
      "momentum_pct": 0.22,
      "consolidation_tightness_pct": 0.31,
      "distance_from_pm_high_pct": 0.39,
      "extension_from_vwap_pct": 0.27,
      "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.53,
    "pm_low": 11.39
  },
  {
    "symbol": "AVPT",
    "total_score": 67.83,
    "raw_score": 71.9,
    "breakdown": {
      "price_quality": 1.7,
      "volume_quality": 12.0,
      "rvol": 0.61,
      "volume_acceleration": 6.98,
      "price_momentum": 0.74,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.94,
      "spread_liquidity": 4.75,
      "momentum_consistency": 3.17,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.295,
      "vwap": 13.2408,
      "vwap_slope": 0.0004,
      "rvol": 0.25,
      "volume_acceleration": 1.7,
      "premarket_volume": 126618.0,
      "momentum_pct": 0.49,
      "consolidation_tightness_pct": 0.57,
      "distance_from_pm_high_pct": 0.08,
      "extension_from_vwap_pct": 0.41,
      "spread_pct": 0.08
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 13.305,
    "pm_low": 13.2
  },
  {
    "symbol": "KODK",
    "total_score": 67.63,
    "raw_score": 71.69,
    "breakdown": {
      "price_quality": 4.36,
      "volume_quality": 12.0,
      "rvol": 0.49,
      "volume_acceleration": 3.67,
      "price_momentum": 0.24,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.96,
      "spread_liquidity": 4.64,
      "momentum_consistency": 4.32,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.36,
      "vwap": 9.2965,
      "vwap_slope": 0.0175,
      "rvol": 0.2,
      "volume_acceleration": 1.06,
      "premarket_volume": 102026.0,
      "momentum_pct": 0.16,
      "consolidation_tightness_pct": 0.32,
      "distance_from_pm_high_pct": 0.05,
      "extension_from_vwap_pct": 0.68,
      "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.365,
    "pm_low": 9.24
  },
  {
    "symbol": "RKT",
    "total_score": 67.19,
    "raw_score": 71.22,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 12.0,
      "volume_acceleration": 3.48,
      "price_momentum": 0.19,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.74,
      "spread_liquidity": 4.75,
      "momentum_consistency": 2.76,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.6019,
      "vwap": 13.597,
      "vwap_slope": -0.0027,
      "rvol": 5.78,
      "volume_acceleration": 1.35,
      "premarket_volume": 2890335.0,
      "momentum_pct": 0.12,
      "consolidation_tightness_pct": 0.22,
      "distance_from_pm_high_pct": 0.35,
      "extension_from_vwap_pct": 0.04,
      "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": false
    },
    "pm_high": 13.65,
    "pm_low": 13.55
  },
  {
    "symbol": "NOK",
    "total_score": 66.87,
    "raw_score": 70.89,
    "breakdown": {
      "price_quality": 4.82,
      "volume_quality": 12.0,
      "rvol": 12.0,
      "volume_acceleration": 2.97,
      "price_momentum": 0.07,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.89,
      "spread_liquidity": 4.66,
      "momentum_consistency": 2.07,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.825,
      "vwap": 9.8211,
      "vwap_slope": 0.0022,
      "rvol": 4.69,
      "volume_acceleration": 0.85,
      "premarket_volume": 2343549.0,
      "momentum_pct": 0.05,
      "consolidation_tightness_pct": 0.2,
      "distance_from_pm_high_pct": 0.15,
      "extension_from_vwap_pct": 0.04,
      "spread_pct": 0.1
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 9.84,
    "pm_low": 9.8
  },
  {
    "symbol": "ONDS",
    "total_score": 66.67,
    "raw_score": 70.67,
    "breakdown": {
      "price_quality": 2.55,
      "volume_quality": 12.0,
      "rvol": 12.0,
      "volume_acceleration": 3.18,
      "price_momentum": 0.44,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.95,
      "spread_liquidity": 4.56,
      "momentum_consistency": 3.59,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.555,
      "vwap": 7.535,
      "vwap_slope": 0.0018,
      "rvol": 21.0,
      "volume_acceleration": 0.91,
      "premarket_volume": 10501459.0,
      "momentum_pct": 0.29,
      "consolidation_tightness_pct": 0.53,
      "distance_from_pm_high_pct": 0.07,
      "extension_from_vwap_pct": 0.26,
      "spread_pct": 0.13
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 7.56,
    "pm_low": 7.5
  },
  {
    "symbol": "RGNX",
    "total_score": 66.44,
    "raw_score": 70.43,
    "breakdown": {
      "price_quality": 4.54,
      "volume_quality": 7.71,
      "rvol": 0.31,
      "volume_acceleration": 6.58,
      "price_momentum": 0.79,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.76,
      "spread_liquidity": 4.65,
      "momentum_consistency": 4.09,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.54,
      "vwap": 9.4466,
      "vwap_slope": 0.0418,
      "rvol": 0.13,
      "volume_acceleration": 1.66,
      "premarket_volume": 64222.0,
      "momentum_pct": 0.53,
      "consolidation_tightness_pct": 0.95,
      "distance_from_pm_high_pct": 0.31,
      "extension_from_vwap_pct": 0.99,
      "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.57,
    "pm_low": 9.36
  },
  {
    "symbol": "CPRI",
    "total_score": 66.44,
    "raw_score": 70.43,
    "breakdown": {
      "price_quality": 2.23,
      "volume_quality": 12.0,
      "rvol": 4.5,
      "volume_acceleration": 9.55,
      "price_momentum": 0.18,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.62,
      "spread_liquidity": 4.74,
      "momentum_consistency": 2.81,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.765,
      "vwap": 12.7515,
      "vwap_slope": -0.0134,
      "rvol": 1.69,
      "volume_acceleration": 1.96,
      "premarket_volume": 844257.0,
      "momentum_pct": 0.12,
      "consolidation_tightness_pct": 0.35,
      "distance_from_pm_high_pct": 0.51,
      "extension_from_vwap_pct": 0.11,
      "spread_pct": 0.08
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 12.83,
    "pm_low": 12.705
  },
  {
    "symbol": "RIG",
    "total_score": 66.39,
    "raw_score": 70.38,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 12.0,
      "volume_acceleration": 2.17,
      "price_momentum": 0.38,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.53,
      "spread_liquidity": 4.47,
      "momentum_consistency": 3.53,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.2309,
      "vwap": 6.2299,
      "vwap_slope": -0.0026,
      "rvol": 17.88,
      "volume_acceleration": 0.62,
      "premarket_volume": 8938288.0,
      "momentum_pct": 0.26,
      "consolidation_tightness_pct": 0.64,
      "distance_from_pm_high_pct": 0.62,
      "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": true,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 6.27,
    "pm_low": 6.17
  },
  {
    "symbol": "GENI",
    "total_score": 66.29,
    "raw_score": 70.27,
    "breakdown": {
      "price_quality": 2.53,
      "volume_quality": 12.0,
      "rvol": 6.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.5,
      "spread_liquidity": 4.56,
      "momentum_consistency": 2.34,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.525,
      "vwap": 7.5147,
      "vwap_slope": 0.0163,
      "rvol": 2.6,
      "volume_acceleration": 5.1,
      "premarket_volume": 1300396.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.27,
      "distance_from_pm_high_pct": 0.66,
      "extension_from_vwap_pct": 0.14,
      "spread_pct": 0.13
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 7.575,
    "pm_low": 7.45
  },
  {
    "symbol": "CLSK",
    "total_score": 65.77,
    "raw_score": 69.72,
    "breakdown": {
      "price_quality": 3.64,
      "volume_quality": 12.0,
      "rvol": 10.97,
      "volume_acceleration": 2.08,
      "price_momentum": 0.26,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.8,
      "spread_liquidity": 4.71,
      "momentum_consistency": 3.86,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.36,
      "vwap": 11.2984,
      "vwap_slope": 0.0055,
      "rvol": 4.11,
      "volume_acceleration": 1.21,
      "premarket_volume": 2056197.0,
      "momentum_pct": 0.18,
      "consolidation_tightness_pct": 0.4,
      "distance_from_pm_high_pct": 0.26,
      "extension_from_vwap_pct": 0.55,
      "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.39,
    "pm_low": 11.195
  },
  {
    "symbol": "CLF",
    "total_score": 65.49,
    "raw_score": 69.41,
    "breakdown": {
      "price_quality": 2.68,
      "volume_quality": 12.0,
      "rvol": 12.0,
      "volume_acceleration": 1.46,
      "price_momentum": 0.24,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.97,
      "spread_liquidity": 4.73,
      "momentum_consistency": 3.93,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.325,
      "vwap": 12.296,
      "vwap_slope": 0.0015,
      "rvol": 5.01,
      "volume_acceleration": 0.42,
      "premarket_volume": 2503875.0,
      "momentum_pct": 0.16,
      "consolidation_tightness_pct": 0.28,
      "distance_from_pm_high_pct": 0.04,
      "extension_from_vwap_pct": 0.24,
      "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.33,
    "pm_low": 12.235
  },
  {
    "symbol": "JOBY",
    "total_score": 65.16,
    "raw_score": 69.07,
    "breakdown": {
      "price_quality": 1.86,
      "volume_quality": 12.0,
      "rvol": 12.0,
      "volume_acceleration": 2.52,
      "price_momentum": 0.44,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.95,
      "spread_liquidity": 4.51,
      "momentum_consistency": 3.39,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.865,
      "vwap": 6.8452,
      "vwap_slope": 0.0002,
      "rvol": 4.51,
      "volume_acceleration": 1.25,
      "premarket_volume": 2254085.0,
      "momentum_pct": 0.29,
      "consolidation_tightness_pct": 0.58,
      "distance_from_pm_high_pct": 0.07,
      "extension_from_vwap_pct": 0.29,
      "spread_pct": 0.15
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 6.87,
    "pm_low": 6.81
  },
  {
    "symbol": "OWL",
    "total_score": 65.14,
    "raw_score": 69.05,
    "breakdown": {
      "price_quality": 3.23,
      "volume_quality": 12.0,
      "rvol": 10.07,
      "volume_acceleration": 2.74,
      "price_momentum": 0.19,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.97,
      "spread_liquidity": 4.72,
      "momentum_consistency": 3.72,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.765,
      "vwap": 11.7348,
      "vwap_slope": 0.004,
      "rvol": 3.78,
      "volume_acceleration": 0.79,
      "premarket_volume": 1888978.0,
      "momentum_pct": 0.13,
      "consolidation_tightness_pct": 0.25,
      "distance_from_pm_high_pct": 0.04,
      "extension_from_vwap_pct": 0.26,
      "spread_pct": 0.08
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 11.77,
    "pm_low": 11.71
  },
  {
    "symbol": "WULF",
    "total_score": 64.6,
    "raw_score": 68.47,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 12.0,
      "volume_acceleration": 2.05,
      "price_momentum": 0.2,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.82,
      "spread_liquidity": 4.78,
      "momentum_consistency": 3.72,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.955,
      "vwap": 14.9089,
      "vwap_slope": 0.0036,
      "rvol": 7.96,
      "volume_acceleration": 0.59,
      "premarket_volume": 3981614.0,
      "momentum_pct": 0.13,
      "consolidation_tightness_pct": 0.5,
      "distance_from_pm_high_pct": 0.23,
      "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": 14.99,
    "pm_low": 14.8
  },
  {
    "symbol": "HELP",
    "total_score": 64.48,
    "raw_score": 68.35,
    "breakdown": {
      "price_quality": 3.08,
      "volume_quality": 12.0,
      "rvol": 2.1,
      "volume_acceleration": 10,
      "price_momentum": 1.21,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 6,
      "spread_liquidity": 3.88,
      "momentum_consistency": 3.69,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.92,
      "vwap": 11.8041,
      "vwap_slope": 0.0344,
      "rvol": 0.87,
      "volume_acceleration": 8.8,
      "premarket_volume": 436607.0,
      "momentum_pct": 0.8,
      "consolidation_tightness_pct": 0.93,
      "distance_from_pm_high_pct": 0.0,
      "extension_from_vwap_pct": 0.98,
      "spread_pct": 0.34
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 11.92,
    "pm_low": 11.641
  },
  {
    "symbol": "RDW",
    "total_score": 64.39,
    "raw_score": 68.25,
    "breakdown": {
      "price_quality": 4.68,
      "volume_quality": 12.0,
      "rvol": 6.33,
      "volume_acceleration": 2.27,
      "price_momentum": 0.2,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.77,
      "spread_liquidity": 4.68,
      "momentum_consistency": 3.53,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.3236,
      "vwap": 10.3138,
      "vwap_slope": -0.0006,
      "rvol": 2.37,
      "volume_acceleration": 0.65,
      "premarket_volume": 1186548.0,
      "momentum_pct": 0.13,
      "consolidation_tightness_pct": 0.36,
      "distance_from_pm_high_pct": 0.3,
      "extension_from_vwap_pct": 0.09,
      "spread_pct": 0.1
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 10.355,
    "pm_low": 10.25
  },
  {
    "symbol": "CIFR",
    "total_score": 64.38,
    "raw_score": 68.24,
    "breakdown": {
      "price_quality": 0.0,
      "volume_quality": 12.0,
      "rvol": 12.0,
      "volume_acceleration": 3.05,
      "price_momentum": 0.09,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.92,
      "spread_liquidity": 4.78,
      "momentum_consistency": 4.0,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 15.2038,
      "vwap": 15.1093,
      "vwap_slope": 0.0209,
      "rvol": 6.34,
      "volume_acceleration": 0.88,
      "premarket_volume": 3170476.0,
      "momentum_pct": 0.06,
      "consolidation_tightness_pct": 0.33,
      "distance_from_pm_high_pct": 0.11,
      "extension_from_vwap_pct": 0.63,
      "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": 15.22,
    "pm_low": 14.91
  },
  {
    "symbol": "QXO",
    "total_score": 63.95,
    "raw_score": 67.78,
    "breakdown": {
      "price_quality": 1.76,
      "volume_quality": 12.0,
      "rvol": 10.6,
      "volume_acceleration": 3.53,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.63,
      "spread_liquidity": 4.75,
      "momentum_consistency": 3.12,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.24,
      "vwap": 13.2163,
      "vwap_slope": 0.0027,
      "rvol": 3.97,
      "volume_acceleration": 1.01,
      "premarket_volume": 1987061.0,
      "momentum_pct": -0.08,
      "consolidation_tightness_pct": 0.15,
      "distance_from_pm_high_pct": 0.49,
      "extension_from_vwap_pct": 0.18,
      "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": 13.305,
    "pm_low": 13.16
  },
  {
    "symbol": "SWIM",
    "total_score": 63.57,
    "raw_score": 67.38,
    "breakdown": {
      "price_quality": 1.9,
      "volume_quality": 12.0,
      "rvol": 1.5,
      "volume_acceleration": 0.69,
      "price_momentum": 1.32,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.78,
      "spread_liquidity": 4.52,
      "momentum_consistency": 3.68,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.9,
      "vwap": 6.8451,
      "vwap_slope": 0.0026,
      "rvol": 0.63,
      "volume_acceleration": 0.2,
      "premarket_volume": 312599.0,
      "momentum_pct": 0.88,
      "consolidation_tightness_pct": 1.09,
      "distance_from_pm_high_pct": 0.29,
      "extension_from_vwap_pct": 0.8,
      "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.92,
    "pm_low": 6.81
  },
  {
    "symbol": "FPI",
    "total_score": 63.06,
    "raw_score": 66.84,
    "breakdown": {
      "price_quality": 4.42,
      "volume_quality": 12.0,
      "rvol": 1.0,
      "volume_acceleration": 10,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.86,
      "spread_liquidity": 4.68,
      "momentum_consistency": 2.48,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.58,
      "vwap": 10.5448,
      "vwap_slope": 0.007,
      "rvol": 0.42,
      "volume_acceleration": 3.8,
      "premarket_volume": 208956.0,
      "momentum_pct": -0.14,
      "consolidation_tightness_pct": 0.19,
      "distance_from_pm_high_pct": 0.19,
      "extension_from_vwap_pct": 0.33,
      "spread_pct": 0.09
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 10.6,
    "pm_low": 10.46
  },
  {
    "symbol": "USDE",
    "total_score": 62.96,
    "raw_score": 66.74,
    "breakdown": {
      "price_quality": 2.32,
      "volume_quality": 12.0,
      "rvol": 0.84,
      "volume_acceleration": 2.6,
      "price_momentum": 0.14,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.64,
      "spread_liquidity": 3.64,
      "momentum_consistency": 3.56,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.315,
      "vwap": 7.2672,
      "vwap_slope": 0.0038,
      "rvol": 0.35,
      "volume_acceleration": 0.75,
      "premarket_volume": 176000.0,
      "momentum_pct": 0.09,
      "consolidation_tightness_pct": 0.55,
      "distance_from_pm_high_pct": 0.48,
      "extension_from_vwap_pct": 0.66,
      "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": true,
      "vwap_rising": true
    },
    "pm_high": 7.35,
    "pm_low": 7.145
  },
  {
    "symbol": "SVV",
    "total_score": 62.18,
    "raw_score": 65.92,
    "breakdown": {
      "price_quality": 4.52,
      "volume_quality": 11.62,
      "rvol": 0.46,
      "volume_acceleration": 9.56,
      "price_momentum": 0.22,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 6,
      "spread_liquidity": 4.36,
      "momentum_consistency": 2.77,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.48,
      "vwap": 10.4549,
      "vwap_slope": 0.0045,
      "rvol": 0.19,
      "volume_acceleration": 1.96,
      "premarket_volume": 96870.0,
      "momentum_pct": 0.14,
      "consolidation_tightness_pct": 0.29,
      "distance_from_pm_high_pct": 0.0,
      "extension_from_vwap_pct": 0.24,
      "spread_pct": 0.19
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 10.48,
    "pm_low": 10.435
  },
  {
    "symbol": "TTD",
    "total_score": 62.06,
    "raw_score": 65.79,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 7.85,
      "volume_acceleration": 3.81,
      "price_momentum": 0.36,
      "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": 3.17,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.475,
      "vwap": 14.4144,
      "vwap_slope": 0.0171,
      "rvol": 2.94,
      "volume_acceleration": 1.38,
      "premarket_volume": 1471315.0,
      "momentum_pct": 0.24,
      "consolidation_tightness_pct": 0.28,
      "distance_from_pm_high_pct": 0.1,
      "extension_from_vwap_pct": 0.42,
      "spread_pct": 0.07
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 14.4899,
    "pm_low": 14.35
  },
  {
    "symbol": "CLBT",
    "total_score": 62.06,
    "raw_score": 65.78,
    "breakdown": {
      "price_quality": 3.36,
      "volume_quality": 12.0,
      "rvol": 1.09,
      "volume_acceleration": 9.78,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.84,
      "spread_liquidity": 4.43,
      "momentum_consistency": 2.9,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.645,
      "vwap": 11.638,
      "vwap_slope": 0.0028,
      "rvol": 0.45,
      "volume_acceleration": 1.98,
      "premarket_volume": 226484.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.17,
      "distance_from_pm_high_pct": 0.21,
      "extension_from_vwap_pct": 0.06,
      "spread_pct": 0.17
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 11.67,
    "pm_low": 11.585
  },
  {
    "symbol": "BLMN",
    "total_score": 61.95,
    "raw_score": 65.67,
    "breakdown": {
      "price_quality": 4.99,
      "volume_quality": 12.0,
      "rvol": 0.79,
      "volume_acceleration": 8.97,
      "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": 4.67,
      "momentum_consistency": 2.11,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.01,
      "vwap": 9.9974,
      "vwap_slope": 0.002,
      "rvol": 0.33,
      "volume_acceleration": 1.9,
      "premarket_volume": 165545.0,
      "momentum_pct": -0.15,
      "consolidation_tightness_pct": 0.15,
      "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": true,
      "vwap_rising": true
    },
    "pm_high": 10.045,
    "pm_low": 9.95
  },
  {
    "symbol": "BLZE",
    "total_score": 61.89,
    "raw_score": 65.6,
    "breakdown": {
      "price_quality": 1.85,
      "volume_quality": 10.29,
      "rvol": 0.41,
      "volume_acceleration": 3.19,
      "price_momentum": 0.34,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.89,
      "spread_liquidity": 4.49,
      "momentum_consistency": 3.14,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.15,
      "vwap": 13.1312,
      "vwap_slope": 0.0034,
      "rvol": 0.17,
      "volume_acceleration": 0.92,
      "premarket_volume": 85730.0,
      "momentum_pct": 0.23,
      "consolidation_tightness_pct": 0.23,
      "distance_from_pm_high_pct": 0.15,
      "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": true,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 13.17,
    "pm_low": 13.07
  },
  {
    "symbol": "UNIT",
    "total_score": 61.54,
    "raw_score": 65.23,
    "breakdown": {
      "price_quality": 4.82,
      "volume_quality": 9.87,
      "rvol": 0.39,
      "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.85,
      "spread_liquidity": 4.66,
      "momentum_consistency": 3.24,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.82,
      "vwap": 9.8152,
      "vwap_slope": 0.0036,
      "rvol": 0.16,
      "volume_acceleration": 2.19,
      "premarket_volume": 82259.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.2,
      "distance_from_pm_high_pct": 0.2,
      "extension_from_vwap_pct": 0.05,
      "spread_pct": 0.1
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 9.84,
    "pm_low": 9.785
  },
  {
    "symbol": "MFA",
    "total_score": 61.53,
    "raw_score": 65.22,
    "breakdown": {
      "price_quality": 3.82,
      "volume_quality": 11.51,
      "rvol": 0.46,
      "volume_acceleration": 10,
      "price_momentum": 0.09,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.92,
      "spread_liquidity": 4.62,
      "momentum_consistency": 2.4,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.825,
      "vwap": 8.8173,
      "vwap_slope": 0.0003,
      "rvol": 0.19,
      "volume_acceleration": 2.48,
      "premarket_volume": 95951.0,
      "momentum_pct": 0.06,
      "consolidation_tightness_pct": 0.17,
      "distance_from_pm_high_pct": 0.11,
      "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": 8.835,
    "pm_low": 8.805
  },
  {
    "symbol": "MARA",
    "total_score": 61.42,
    "raw_score": 65.1,
    "breakdown": {
      "price_quality": 4.53,
      "volume_quality": 12.0,
      "rvol": 12.0,
      "volume_acceleration": 3.5,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.61,
      "spread_liquidity": 4.68,
      "momentum_consistency": 3.59,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.475,
      "vwap": 10.4737,
      "vwap_slope": -0.0046,
      "rvol": 12.54,
      "volume_acceleration": 1.01,
      "premarket_volume": 6271902.0,
      "momentum_pct": -0.05,
      "consolidation_tightness_pct": 0.67,
      "distance_from_pm_high_pct": 0.52,
      "extension_from_vwap_pct": 0.01,
      "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": false
    },
    "pm_high": 10.53,
    "pm_low": 10.39
  },
  {
    "symbol": "AGNC",
    "total_score": 61.42,
    "raw_score": 65.11,
    "breakdown": {
      "price_quality": 4.4,
      "volume_quality": 12.0,
      "rvol": 5.21,
      "volume_acceleration": 3.53,
      "price_momentum": 0.06,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.93,
      "spread_liquidity": 4.69,
      "momentum_consistency": 2.9,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.6,
      "vwap": 10.597,
      "vwap_slope": 0.0008,
      "rvol": 1.95,
      "volume_acceleration": 1.02,
      "premarket_volume": 977128.0,
      "momentum_pct": 0.04,
      "consolidation_tightness_pct": 0.19,
      "distance_from_pm_high_pct": 0.09,
      "extension_from_vwap_pct": 0.03,
      "spread_pct": 0.09
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 10.61,
    "pm_low": 10.59
  },
  {
    "symbol": "ALMS",
    "total_score": 61.39,
    "raw_score": 65.07,
    "breakdown": {
      "price_quality": 4.62,
      "volume_quality": 12.0,
      "rvol": 2.16,
      "volume_acceleration": 3.8,
      "price_momentum": 0.14,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.6,
      "spread_liquidity": 4.36,
      "momentum_consistency": 3.59,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.38,
      "vwap": 10.3685,
      "vwap_slope": -0.0069,
      "rvol": 0.9,
      "volume_acceleration": 1.09,
      "premarket_volume": 449150.0,
      "momentum_pct": 0.1,
      "consolidation_tightness_pct": 0.43,
      "distance_from_pm_high_pct": 0.53,
      "extension_from_vwap_pct": 0.11,
      "spread_pct": 0.19
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 10.435,
    "pm_low": 10.3
  },
  {
    "symbol": "AI",
    "total_score": 61.23,
    "raw_score": 64.9,
    "breakdown": {
      "price_quality": 4.36,
      "volume_quality": 12.0,
      "rvol": 6.47,
      "volume_acceleration": 1.58,
      "price_momentum": 0.11,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.72,
      "spread_liquidity": 4.69,
      "momentum_consistency": 3.59,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.645,
      "vwap": 10.5658,
      "vwap_slope": 0.0174,
      "rvol": 2.42,
      "volume_acceleration": 1.16,
      "premarket_volume": 1212436.0,
      "momentum_pct": 0.07,
      "consolidation_tightness_pct": 0.19,
      "distance_from_pm_high_pct": 0.37,
      "extension_from_vwap_pct": 0.75,
      "spread_pct": 0.09
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 10.685,
    "pm_low": 10.42
  },
  {
    "symbol": "SB",
    "total_score": 60.79,
    "raw_score": 64.43,
    "breakdown": {
      "price_quality": 4.03,
      "volume_quality": 12.0,
      "rvol": 0.64,
      "volume_acceleration": 7.88,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.88,
      "spread_liquidity": 4.63,
      "momentum_consistency": 2.98,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.025,
      "vwap": 9.006,
      "vwap_slope": 0.009,
      "rvol": 0.27,
      "volume_acceleration": 1.79,
      "premarket_volume": 133689.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.33,
      "distance_from_pm_high_pct": 0.17,
      "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.04,
    "pm_low": 8.95
  },
  {
    "symbol": "XRAY",
    "total_score": 60.58,
    "raw_score": 64.21,
    "breakdown": {
      "price_quality": 3.5,
      "volume_quality": 12.0,
      "rvol": 2.35,
      "volume_acceleration": 3.6,
      "price_momentum": 0.46,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.8,
      "spread_liquidity": 4.71,
      "momentum_consistency": 2.98,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.5,
      "vwap": 11.4855,
      "vwap_slope": -0.0046,
      "rvol": 0.98,
      "volume_acceleration": 1.04,
      "premarket_volume": 489966.0,
      "momentum_pct": 0.31,
      "consolidation_tightness_pct": 0.3,
      "distance_from_pm_high_pct": 0.26,
      "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": true,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 11.53,
    "pm_low": 11.435
  },
  {
    "symbol": "NUVB",
    "total_score": 60.31,
    "raw_score": 63.93,
    "breakdown": {
      "price_quality": 1.87,
      "volume_quality": 12.0,
      "rvol": 1.34,
      "volume_acceleration": 8.5,
      "price_momentum": 0.2,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.89,
      "spread_liquidity": 4.51,
      "momentum_consistency": 3.23,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.87,
      "vwap": 6.8205,
      "vwap_slope": 0.0212,
      "rvol": 0.56,
      "volume_acceleration": 1.85,
      "premarket_volume": 278592.0,
      "momentum_pct": 0.13,
      "consolidation_tightness_pct": 0.2,
      "distance_from_pm_high_pct": 0.15,
      "extension_from_vwap_pct": 0.73,
      "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.88,
    "pm_low": 6.76
  },
  {
    "symbol": "SBGI",
    "total_score": 60.03,
    "raw_score": 63.63,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 10.07,
      "rvol": 0.4,
      "volume_acceleration": 9.6,
      "price_momentum": 0.33,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.67,
      "spread_liquidity": 4.28,
      "momentum_consistency": 2.98,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.78,
      "vwap": 13.7343,
      "vwap_slope": -0.0094,
      "rvol": 0.17,
      "volume_acceleration": 1.96,
      "premarket_volume": 83909.0,
      "momentum_pct": 0.22,
      "consolidation_tightness_pct": 0.33,
      "distance_from_pm_high_pct": 0.43,
      "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": true,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 13.84,
    "pm_low": 13.66
  },
  {
    "symbol": "SG",
    "total_score": 59.99,
    "raw_score": 63.59,
    "breakdown": {
      "price_quality": 1.78,
      "volume_quality": 12.0,
      "rvol": 2.57,
      "volume_acceleration": 7.76,
      "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.51,
      "momentum_consistency": 2.62,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.78,
      "vwap": 6.7382,
      "vwap_slope": 0.0105,
      "rvol": 1.07,
      "volume_acceleration": 1.78,
      "premarket_volume": 536351.0,
      "momentum_pct": 0.07,
      "consolidation_tightness_pct": 0.66,
      "distance_from_pm_high_pct": 0.22,
      "extension_from_vwap_pct": 0.62,
      "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.795,
    "pm_low": 6.68
  },
  {
    "symbol": "GPRE",
    "total_score": 59.77,
    "raw_score": 63.36,
    "breakdown": {
      "price_quality": 0.0,
      "volume_quality": 12.0,
      "rvol": 1.31,
      "volume_acceleration": 10,
      "price_momentum": 0.15,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.85,
      "spread_liquidity": 4.56,
      "momentum_consistency": 3.09,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 15.165,
      "vwap": 15.0661,
      "vwap_slope": 0.0442,
      "rvol": 0.55,
      "volume_acceleration": 5.48,
      "premarket_volume": 273071.0,
      "momentum_pct": 0.1,
      "consolidation_tightness_pct": 0.33,
      "distance_from_pm_high_pct": 0.2,
      "extension_from_vwap_pct": 0.66,
      "spread_pct": 0.13
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 15.195,
    "pm_low": 14.97
  },
  {
    "symbol": "PHR",
    "total_score": 59.14,
    "raw_score": 62.69,
    "breakdown": {
      "price_quality": 3.04,
      "volume_quality": 7.16,
      "rvol": 0.29,
      "volume_acceleration": 2.67,
      "price_momentum": 0.25,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 6,
      "spread_liquidity": 4.44,
      "momentum_consistency": 2.83,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.96,
      "vwap": 11.9184,
      "vwap_slope": 0.0133,
      "rvol": 0.12,
      "volume_acceleration": 1.27,
      "premarket_volume": 59675.0,
      "momentum_pct": 0.17,
      "consolidation_tightness_pct": 0.17,
      "distance_from_pm_high_pct": 0.0,
      "extension_from_vwap_pct": 0.35,
      "spread_pct": 0.17
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 11.96,
    "pm_low": 11.86
  },
  {
    "symbol": "RUM",
    "total_score": 59.07,
    "raw_score": 62.61,
    "breakdown": {
      "price_quality": 3.88,
      "volume_quality": 12.0,
      "rvol": 1.74,
      "volume_acceleration": 3.72,
      "price_momentum": 0.85,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.96,
      "spread_liquidity": 4.62,
      "momentum_consistency": 3.43,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.885,
      "vwap": 8.7945,
      "vwap_slope": 0.0118,
      "rvol": 0.73,
      "volume_acceleration": 1.07,
      "premarket_volume": 362667.0,
      "momentum_pct": 0.57,
      "consolidation_tightness_pct": 0.79,
      "distance_from_pm_high_pct": 0.06,
      "extension_from_vwap_pct": 1.03,
      "spread_pct": 0.11
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 8.8899,
    "pm_low": 8.71
  },
  {
    "symbol": "REAL",
    "total_score": 59.04,
    "raw_score": 62.58,
    "breakdown": {
      "price_quality": 4.95,
      "volume_quality": 12.0,
      "rvol": 0.7,
      "volume_acceleration": 6.08,
      "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.67,
      "momentum_consistency": 1.89,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.055,
      "vwap": 10.029,
      "vwap_slope": 0.0044,
      "rvol": 0.29,
      "volume_acceleration": 1.61,
      "premarket_volume": 144973.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.1,
      "distance_from_pm_high_pct": 0.14,
      "extension_from_vwap_pct": 0.26,
      "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.069,
    "pm_low": 10.0
  },
  {
    "symbol": "LWLG",
    "total_score": 58.91,
    "raw_score": 62.45,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 0.61,
      "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.85,
      "spread_liquidity": 4.34,
      "momentum_consistency": 1.75,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.075,
      "vwap": 5.0725,
      "vwap_slope": 0.0019,
      "rvol": 0.25,
      "volume_acceleration": 2.08,
      "premarket_volume": 126249.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.3,
      "distance_from_pm_high_pct": 0.2,
      "extension_from_vwap_pct": 0.05,
      "spread_pct": 0.2
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 5.085,
    "pm_low": 5.05
  },
  {
    "symbol": "XERS",
    "total_score": 58.77,
    "raw_score": 62.3,
    "breakdown": {
      "price_quality": 3.54,
      "volume_quality": 12.0,
      "rvol": 0.8,
      "volume_acceleration": 6.36,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.65,
      "spread_liquidity": 4.61,
      "momentum_consistency": 2.95,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.535,
      "vwap": 8.522,
      "vwap_slope": 0.0127,
      "rvol": 0.33,
      "volume_acceleration": 1.64,
      "premarket_volume": 165819.0,
      "momentum_pct": -0.12,
      "consolidation_tightness_pct": 0.23,
      "distance_from_pm_high_pct": 0.47,
      "extension_from_vwap_pct": 0.15,
      "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.575,
    "pm_low": 8.455
  },
  {
    "symbol": "DX",
    "total_score": 58.73,
    "raw_score": 62.25,
    "breakdown": {
      "price_quality": 2.24,
      "volume_quality": 12.0,
      "rvol": 2.29,
      "volume_acceleration": 5.86,
      "price_momentum": 0.06,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.96,
      "spread_liquidity": 4.74,
      "momentum_consistency": 2.71,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.76,
      "vwap": 12.7498,
      "vwap_slope": 0.0016,
      "rvol": 0.95,
      "volume_acceleration": 1.59,
      "premarket_volume": 477356.0,
      "momentum_pct": 0.04,
      "consolidation_tightness_pct": 0.14,
      "distance_from_pm_high_pct": 0.06,
      "extension_from_vwap_pct": 0.08,
      "spread_pct": 0.08
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 12.7675,
    "pm_low": 12.735
  },
  {
    "symbol": "FMC",
    "total_score": 58.69,
    "raw_score": 62.21,
    "breakdown": {
      "price_quality": 1.66,
      "volume_quality": 12.0,
      "rvol": 5.18,
      "volume_acceleration": 2.3,
      "price_momentum": 0.02,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.68,
      "spread_liquidity": 4.5,
      "momentum_consistency": 4.47,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.342,
      "vwap": 13.2509,
      "vwap_slope": 0.0217,
      "rvol": 1.94,
      "volume_acceleration": 0.66,
      "premarket_volume": 970745.0,
      "momentum_pct": 0.01,
      "consolidation_tightness_pct": 0.52,
      "distance_from_pm_high_pct": 0.43,
      "extension_from_vwap_pct": 0.69,
      "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.4,
    "pm_low": 13.055
  },
  {
    "symbol": "HCKT",
    "total_score": 58.63,
    "raw_score": 62.15,
    "breakdown": {
      "price_quality": 4.01,
      "volume_quality": 3.97,
      "rvol": 0.16,
      "volume_acceleration": 3.02,
      "price_momentum": 0.48,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.97,
      "spread_liquidity": 4.39,
      "momentum_consistency": 4.16,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.995,
      "vwap": 10.9622,
      "vwap_slope": 0.0125,
      "rvol": 0.07,
      "volume_acceleration": 0.87,
      "premarket_volume": 33068.0,
      "momentum_pct": 0.32,
      "consolidation_tightness_pct": 0.46,
      "distance_from_pm_high_pct": 0.05,
      "extension_from_vwap_pct": 0.3,
      "spread_pct": 0.18
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 11.0,
    "pm_low": 10.89
  },
  {
    "symbol": "VG",
    "total_score": 58.28,
    "raw_score": 61.78,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 6.29,
      "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.92,
      "spread_liquidity": 4.78,
      "momentum_consistency": 3.31,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.865,
      "vwap": 14.8108,
      "vwap_slope": 0.0069,
      "rvol": 2.36,
      "volume_acceleration": 0.45,
      "premarket_volume": 1179126.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.2,
      "distance_from_pm_high_pct": 0.1,
      "extension_from_vwap_pct": 0.37,
      "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.88,
    "pm_low": 14.74
  },
  {
    "symbol": "VISN",
    "total_score": 58.19,
    "raw_score": 61.68,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 7.57,
      "volume_acceleration": 1.47,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.71,
      "spread_liquidity": 4.49,
      "momentum_consistency": 2.53,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.505,
      "vwap": 6.4863,
      "vwap_slope": 0.0016,
      "rvol": 2.84,
      "volume_acceleration": 0.42,
      "premarket_volume": 1420008.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.15,
      "distance_from_pm_high_pct": 0.38,
      "extension_from_vwap_pct": 0.29,
      "spread_pct": 0.15
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 6.53,
    "pm_low": 6.44
  },
  {
    "symbol": "AGEN",
    "total_score": 58.14,
    "raw_score": 61.63,
    "breakdown": {
      "price_quality": 2.98,
      "volume_quality": 6.5,
      "rvol": 0.26,
      "volume_acceleration": 2.97,
      "price_momentum": 0.28,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.91,
      "spread_liquidity": 3.33,
      "momentum_consistency": 3.39,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.98,
      "vwap": 7.9413,
      "vwap_slope": 0.0059,
      "rvol": 0.11,
      "volume_acceleration": 0.86,
      "premarket_volume": 54187.0,
      "momentum_pct": 0.19,
      "consolidation_tightness_pct": 0.5,
      "distance_from_pm_high_pct": 0.13,
      "extension_from_vwap_pct": 0.49,
      "spread_pct": 0.5
    },
    "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.99,
    "pm_low": 7.88
  },
  {
    "symbol": "PD",
    "total_score": 58.14,
    "raw_score": 61.62,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 0.6,
      "volume_acceleration": 7.28,
      "price_momentum": 0.05,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.89,
      "spread_liquidity": 4.51,
      "momentum_consistency": 3.38,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.66,
      "vwap": 13.5997,
      "vwap_slope": 0.0146,
      "rvol": 0.25,
      "volume_acceleration": 1.73,
      "premarket_volume": 125795.0,
      "momentum_pct": 0.04,
      "consolidation_tightness_pct": 0.37,
      "distance_from_pm_high_pct": 0.15,
      "extension_from_vwap_pct": 0.44,
      "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.68,
    "pm_low": 13.53
  },
  {
    "symbol": "PLBL",
    "total_score": 57.98,
    "raw_score": 61.46,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 3.41,
      "rvol": 0.14,
      "volume_acceleration": 10,
      "price_momentum": 0.79,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.87,
      "spread_liquidity": 1.47,
      "momentum_consistency": 2.29,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.7,
      "vwap": 5.6787,
      "vwap_slope": 0.0023,
      "rvol": 0.06,
      "volume_acceleration": 4.66,
      "premarket_volume": 28390.0,
      "momentum_pct": 0.53,
      "consolidation_tightness_pct": 0.7,
      "distance_from_pm_high_pct": 0.18,
      "extension_from_vwap_pct": 0.37,
      "spread_pct": 1.06
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 5.71,
    "pm_low": 5.62
  },
  {
    "symbol": "ABSI",
    "total_score": 57.72,
    "raw_score": 61.19,
    "breakdown": {
      "price_quality": 3.71,
      "volume_quality": 12.0,
      "rvol": 0.81,
      "volume_acceleration": 3.9,
      "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.62,
      "momentum_consistency": 3.93,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.71,
      "vwap": 8.6505,
      "vwap_slope": 0.0206,
      "rvol": 0.34,
      "volume_acceleration": 1.12,
      "premarket_volume": 168124.0,
      "momentum_pct": -0.17,
      "consolidation_tightness_pct": 0.29,
      "distance_from_pm_high_pct": 0.23,
      "extension_from_vwap_pct": 0.69,
      "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.73,
    "pm_low": 8.571
  },
  {
    "symbol": "XHLD",
    "total_score": 57.71,
    "raw_score": 61.18,
    "breakdown": {
      "price_quality": 4.42,
      "volume_quality": 7.45,
      "rvol": 0.3,
      "volume_acceleration": 10,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.76,
      "spread_liquidity": 3.58,
      "momentum_consistency": 3.26,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.42,
      "vwap": 9.3462,
      "vwap_slope": 0.0783,
      "rvol": 0.12,
      "volume_acceleration": 3.41,
      "premarket_volume": 62117.0,
      "momentum_pct": -0.21,
      "consolidation_tightness_pct": 0.85,
      "distance_from_pm_high_pct": 0.32,
      "extension_from_vwap_pct": 0.79,
      "spread_pct": 0.43
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 9.45,
    "pm_low": 9.22
  },
  {
    "symbol": "LAND",
    "total_score": 57.61,
    "raw_score": 61.07,
    "breakdown": {
      "price_quality": 4.66,
      "volume_quality": 12.0,
      "rvol": 0.57,
      "volume_acceleration": 4.35,
      "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": 2.55,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.66,
      "vwap": 9.6399,
      "vwap_slope": 0.0179,
      "rvol": 0.24,
      "volume_acceleration": 1.44,
      "premarket_volume": 117757.0,
      "momentum_pct": -0.05,
      "consolidation_tightness_pct": 0.1,
      "distance_from_pm_high_pct": 0.16,
      "extension_from_vwap_pct": 0.21,
      "spread_pct": 0.1
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 9.675,
    "pm_low": 9.6
  },
  {
    "symbol": "NXE",
    "total_score": 57.53,
    "raw_score": 60.98,
    "breakdown": {
      "price_quality": 4.84,
      "volume_quality": 12.0,
      "rvol": 1.79,
      "volume_acceleration": 2.56,
      "price_momentum": 0.08,
      "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.76,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.165,
      "vwap": 10.1483,
      "vwap_slope": 0.0021,
      "rvol": 0.74,
      "volume_acceleration": 0.73,
      "premarket_volume": 371993.0,
      "momentum_pct": 0.05,
      "consolidation_tightness_pct": 0.1,
      "distance_from_pm_high_pct": 0.15,
      "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": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 10.18,
    "pm_low": 10.12
  },
  {
    "symbol": "INFQ",
    "total_score": 57.48,
    "raw_score": 60.93,
    "breakdown": {
      "price_quality": 2.55,
      "volume_quality": 12.0,
      "rvol": 2.38,
      "volume_acceleration": 3.31,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.55,
      "spread_liquidity": 4.73,
      "momentum_consistency": 4.0,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.445,
      "vwap": 12.4346,
      "vwap_slope": 0.0041,
      "rvol": 0.99,
      "volume_acceleration": 0.95,
      "premarket_volume": 496109.0,
      "momentum_pct": -0.12,
      "consolidation_tightness_pct": 0.2,
      "distance_from_pm_high_pct": 0.6,
      "extension_from_vwap_pct": 0.08,
      "spread_pct": 0.08
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 12.52,
    "pm_low": 12.3
  },
  {
    "symbol": "TASK",
    "total_score": 57.46,
    "raw_score": 60.91,
    "breakdown": {
      "price_quality": 3.06,
      "volume_quality": 12.0,
      "rvol": 0.5,
      "volume_acceleration": 4.78,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.81,
      "spread_liquidity": 4.59,
      "momentum_consistency": 3.76,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.06,
      "vwap": 8.0419,
      "vwap_slope": 0.0163,
      "rvol": 0.21,
      "volume_acceleration": 1.48,
      "premarket_volume": 105208.0,
      "momentum_pct": -0.06,
      "consolidation_tightness_pct": 0.25,
      "distance_from_pm_high_pct": 0.25,
      "extension_from_vwap_pct": 0.23,
      "spread_pct": 0.12
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 8.08,
    "pm_low": 7.84
  },
  {
    "symbol": "NAVI",
    "total_score": 57.37,
    "raw_score": 60.81,
    "breakdown": {
      "price_quality": 4.6,
      "volume_quality": 12.0,
      "rvol": 0.9,
      "volume_acceleration": 3.26,
      "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.96,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.6,
      "vwap": 9.593,
      "vwap_slope": 0.0024,
      "rvol": 0.38,
      "volume_acceleration": 0.94,
      "premarket_volume": 187683.0,
      "momentum_pct": 0.05,
      "consolidation_tightness_pct": 0.16,
      "distance_from_pm_high_pct": 0.05,
      "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": true,
      "vwap_rising": true
    },
    "pm_high": 9.605,
    "pm_low": 9.57
  },
  {
    "symbol": "CAL",
    "total_score": 57.28,
    "raw_score": 60.72,
    "breakdown": {
      "price_quality": 2.67,
      "volume_quality": 8.81,
      "rvol": 0.35,
      "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.46,
      "momentum_consistency": 2.33,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.33,
      "vwap": 12.3259,
      "vwap_slope": 0.0031,
      "rvol": 0.15,
      "volume_acceleration": 2.61,
      "premarket_volume": 73412.0,
      "momentum_pct": -0.08,
      "consolidation_tightness_pct": 0.24,
      "distance_from_pm_high_pct": 0.4,
      "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": 12.38,
    "pm_low": 12.245
  },
  {
    "symbol": "TBCH",
    "total_score": 57.21,
    "raw_score": 60.64,
    "breakdown": {
      "price_quality": 2.39,
      "volume_quality": 4.51,
      "rvol": 0.18,
      "volume_acceleration": 3.69,
      "price_momentum": 0.36,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.88,
      "spread_liquidity": 3.94,
      "momentum_consistency": 3.69,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.61,
      "vwap": 12.5713,
      "vwap_slope": 0.0144,
      "rvol": 0.08,
      "volume_acceleration": 1.06,
      "premarket_volume": 37561.0,
      "momentum_pct": 0.24,
      "consolidation_tightness_pct": 0.4,
      "distance_from_pm_high_pct": 0.16,
      "extension_from_vwap_pct": 0.31,
      "spread_pct": 0.32
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 12.63,
    "pm_low": 12.495
  },
  {
    "symbol": "BGC",
    "total_score": 57.18,
    "raw_score": 60.61,
    "breakdown": {
      "price_quality": 3.16,
      "volume_quality": 12.0,
      "rvol": 1.49,
      "volume_acceleration": 3.34,
      "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.72,
      "momentum_consistency": 3.49,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.835,
      "vwap": 11.7871,
      "vwap_slope": 0.0099,
      "rvol": 0.62,
      "volume_acceleration": 0.96,
      "premarket_volume": 309638.0,
      "momentum_pct": 0.08,
      "consolidation_tightness_pct": 0.17,
      "distance_from_pm_high_pct": 0.17,
      "extension_from_vwap_pct": 0.41,
      "spread_pct": 0.08
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 11.855,
    "pm_low": 11.685
  },
  {
    "symbol": "LADR",
    "total_score": 57.1,
    "raw_score": 60.53,
    "breakdown": {
      "price_quality": 4.86,
      "volume_quality": 12.0,
      "rvol": 0.82,
      "volume_acceleration": 3.1,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.85,
      "spread_liquidity": 4.66,
      "momentum_consistency": 2.84,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.855,
      "vwap": 9.8496,
      "vwap_slope": 0.0006,
      "rvol": 0.34,
      "volume_acceleration": 0.89,
      "premarket_volume": 170824.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.15,
      "distance_from_pm_high_pct": 0.2,
      "extension_from_vwap_pct": 0.05,
      "spread_pct": 0.1
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 9.875,
    "pm_low": 9.81
  },
  {
    "symbol": "OGN",
    "total_score": 57.01,
    "raw_score": 60.43,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 7.16,
      "volume_acceleration": 0.37,
      "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": 2.21,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.765,
      "vwap": 13.7648,
      "vwap_slope": 0.0,
      "rvol": 2.69,
      "volume_acceleration": 0.11,
      "premarket_volume": 1343218.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.77,
    "pm_low": 13.76
  },
  {
    "symbol": "WU",
    "total_score": 56.92,
    "raw_score": 60.33,
    "breakdown": {
      "price_quality": 2.34,
      "volume_quality": 12.0,
      "rvol": 4.73,
      "volume_acceleration": 2.38,
      "price_momentum": 0.1,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.8,
      "spread_liquidity": 4.55,
      "momentum_consistency": 2.03,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.34,
      "vwap": 7.3376,
      "vwap_slope": 0.0003,
      "rvol": 1.78,
      "volume_acceleration": 0.68,
      "premarket_volume": 887741.0,
      "momentum_pct": 0.07,
      "consolidation_tightness_pct": 0.2,
      "distance_from_pm_high_pct": 0.27,
      "extension_from_vwap_pct": 0.03,
      "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.36,
    "pm_low": 7.3101
  },
  {
    "symbol": "NEXT",
    "total_score": 56.77,
    "raw_score": 60.17,
    "breakdown": {
      "price_quality": 2.54,
      "volume_quality": 12.0,
      "rvol": 0.78,
      "volume_acceleration": 3.92,
      "price_momentum": 0.5,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 6,
      "spread_liquidity": 4.56,
      "momentum_consistency": 3.47,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.545,
      "vwap": 7.4932,
      "vwap_slope": 0.0079,
      "rvol": 0.32,
      "volume_acceleration": 1.13,
      "premarket_volume": 162442.0,
      "momentum_pct": 0.33,
      "consolidation_tightness_pct": 0.47,
      "distance_from_pm_high_pct": 0.0,
      "extension_from_vwap_pct": 0.69,
      "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.545,
    "pm_low": 7.45
  },
  {
    "symbol": "IBRX",
    "total_score": 56.67,
    "raw_score": 60.07,
    "breakdown": {
      "price_quality": 2.87,
      "volume_quality": 12.0,
      "rvol": 2.12,
      "volume_acceleration": 3.73,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.76,
      "spread_liquidity": 4.58,
      "momentum_consistency": 2.62,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.865,
      "vwap": 7.8558,
      "vwap_slope": 0.0065,
      "rvol": 0.89,
      "volume_acceleration": 1.07,
      "premarket_volume": 442619.0,
      "momentum_pct": -0.13,
      "consolidation_tightness_pct": 0.25,
      "distance_from_pm_high_pct": 0.32,
      "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": true,
      "vwap_rising": true
    },
    "pm_high": 7.89,
    "pm_low": 7.81
  },
  {
    "symbol": "ADMA",
    "total_score": 56.65,
    "raw_score": 60.05,
    "breakdown": {
      "price_quality": 4.54,
      "volume_quality": 12.0,
      "rvol": 0.87,
      "volume_acceleration": 3.03,
      "price_momentum": 0.08,
      "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": 2.56,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.535,
      "vwap": 9.5139,
      "vwap_slope": 0.0023,
      "rvol": 0.36,
      "volume_acceleration": 1.3,
      "premarket_volume": 180304.0,
      "momentum_pct": 0.05,
      "consolidation_tightness_pct": 0.16,
      "distance_from_pm_high_pct": 0.1,
      "extension_from_vwap_pct": 0.22,
      "spread_pct": 0.1
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 9.545,
    "pm_low": 9.47
  },
  {
    "symbol": "GLAS",
    "total_score": 56.65,
    "raw_score": 60.05,
    "breakdown": {
      "price_quality": 3.6,
      "volume_quality": 12.0,
      "rvol": 0.49,
      "volume_acceleration": 2.82,
      "price_momentum": 1.41,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 6,
      "spread_liquidity": 1.12,
      "momentum_consistency": 3.81,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.6,
      "vwap": 8.5417,
      "vwap_slope": -0.0013,
      "rvol": 0.2,
      "volume_acceleration": 0.81,
      "premarket_volume": 102070.0,
      "momentum_pct": 0.94,
      "consolidation_tightness_pct": 1.17,
      "distance_from_pm_high_pct": 0.0,
      "extension_from_vwap_pct": 0.68,
      "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": 8.6,
    "pm_low": 8.5
  },
  {
    "symbol": "VSTM",
    "total_score": 56.43,
    "raw_score": 59.82,
    "breakdown": {
      "price_quality": 2.96,
      "volume_quality": 12.0,
      "rvol": 1.12,
      "volume_acceleration": 3.72,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.72,
      "spread_liquidity": 4.58,
      "momentum_consistency": 3.32,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.965,
      "vwap": 7.9644,
      "vwap_slope": 0.0044,
      "rvol": 0.47,
      "volume_acceleration": 1.37,
      "premarket_volume": 232720.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.15,
      "distance_from_pm_high_pct": 0.38,
      "extension_from_vwap_pct": 0.01,
      "spread_pct": 0.13
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 7.995,
    "pm_low": 7.93
  },
  {
    "symbol": "AES",
    "total_score": 56.4,
    "raw_score": 59.78,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 8.91,
      "volume_acceleration": 5.28,
      "price_momentum": 0.05,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 6,
      "spread_liquidity": 4.77,
      "momentum_consistency": 2.07,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.79,
      "vwap": 14.7787,
      "vwap_slope": -0.0004,
      "rvol": 3.34,
      "volume_acceleration": 1.53,
      "premarket_volume": 1669966.0,
      "momentum_pct": 0.03,
      "consolidation_tightness_pct": 0.14,
      "distance_from_pm_high_pct": 0.0,
      "extension_from_vwap_pct": 0.08,
      "spread_pct": 0.07
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 14.79,
    "pm_low": 14.77
  },
  {
    "symbol": "SLS",
    "total_score": 56.23,
    "raw_score": 59.6,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 2.75,
      "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.68,
      "spread_liquidity": 4.52,
      "momentum_consistency": 3.72,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.89,
      "vwap": 13.842,
      "vwap_slope": 0.022,
      "rvol": 1.15,
      "volume_acceleration": 1.3,
      "premarket_volume": 572929.0,
      "momentum_pct": -0.14,
      "consolidation_tightness_pct": 0.38,
      "distance_from_pm_high_pct": 0.43,
      "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": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 13.9499,
    "pm_low": 13.75
  },
  {
    "symbol": "NCT",
    "total_score": 56.15,
    "raw_score": 59.52,
    "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": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 4.65,
      "spread_liquidity": 4.36,
      "momentum_consistency": 2.61,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.175,
      "vwap": 5.1948,
      "vwap_slope": -0.0069,
      "rvol": 6.22,
      "volume_acceleration": 4.52,
      "premarket_volume": 3108210.0,
      "momentum_pct": -0.1,
      "consolidation_tightness_pct": 0.58,
      "distance_from_pm_high_pct": 1.8,
      "extension_from_vwap_pct": -0.38,
      "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.27,
    "pm_low": 5.17
  },
  {
    "symbol": "DEI",
    "total_score": 56.04,
    "raw_score": 59.4,
    "breakdown": {
      "price_quality": 3.51,
      "volume_quality": 12.0,
      "rvol": 0.74,
      "volume_acceleration": 3.63,
      "price_momentum": 0.13,
      "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": 2.39,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.495,
      "vwap": 11.4711,
      "vwap_slope": 0.0042,
      "rvol": 0.31,
      "volume_acceleration": 1.04,
      "premarket_volume": 153939.0,
      "momentum_pct": 0.09,
      "consolidation_tightness_pct": 0.13,
      "distance_from_pm_high_pct": 0.13,
      "extension_from_vwap_pct": 0.21,
      "spread_pct": 0.09
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 11.51,
    "pm_low": 11.43
  },
  {
    "symbol": "PUMP",
    "total_score": 55.92,
    "raw_score": 59.28,
    "breakdown": {
      "price_quality": 3.71,
      "volume_quality": 12.0,
      "rvol": 1.16,
      "volume_acceleration": 2.8,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.83,
      "spread_liquidity": 4.7,
      "momentum_consistency": 2.67,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.295,
      "vwap": 11.2853,
      "vwap_slope": 0.0038,
      "rvol": 0.48,
      "volume_acceleration": 0.81,
      "premarket_volume": 241772.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.13,
      "distance_from_pm_high_pct": 0.22,
      "extension_from_vwap_pct": 0.09,
      "spread_pct": 0.09
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 11.32,
    "pm_low": 11.21
  },
  {
    "symbol": "BALY",
    "total_score": 55.8,
    "raw_score": 59.14,
    "breakdown": {
      "price_quality": 4.92,
      "volume_quality": 3.99,
      "rvol": 0.16,
      "volume_acceleration": 1.36,
      "price_momentum": 0.0,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.85,
      "spread_liquidity": 1.36,
      "momentum_consistency": 5.5,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.08,
      "vwap": 9.9194,
      "vwap_slope": 0.047,
      "rvol": 0.07,
      "volume_acceleration": 0.39,
      "premarket_volume": 33246.0,
      "momentum_pct": -0.2,
      "consolidation_tightness_pct": 1.39,
      "distance_from_pm_high_pct": 0.2,
      "extension_from_vwap_pct": 1.62,
      "spread_pct": 1.09
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 10.1,
    "pm_low": 9.68
  },
  {
    "symbol": "BIOA",
    "total_score": 55.76,
    "raw_score": 59.11,
    "breakdown": {
      "price_quality": 4.71,
      "volume_quality": 4.05,
      "rvol": 0.16,
      "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.31,
      "momentum_consistency": 3.56,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.71,
      "vwap": 9.6532,
      "vwap_slope": 0.0314,
      "rvol": 0.07,
      "volume_acceleration": 2.05,
      "premarket_volume": 33714.0,
      "momentum_pct": -0.06,
      "consolidation_tightness_pct": 0.31,
      "distance_from_pm_high_pct": 0.1,
      "extension_from_vwap_pct": 0.59,
      "spread_pct": 0.21
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 9.72,
    "pm_low": 9.59
  },
  {
    "symbol": "HAFN",
    "total_score": 55.71,
    "raw_score": 59.06,
    "breakdown": {
      "price_quality": 3.8,
      "volume_quality": 12.0,
      "rvol": 0.95,
      "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.87,
      "spread_liquidity": 4.62,
      "momentum_consistency": 2.92,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.805,
      "vwap": 8.8003,
      "vwap_slope": 0.0017,
      "rvol": 0.39,
      "volume_acceleration": 0.72,
      "premarket_volume": 197282.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.11,
      "distance_from_pm_high_pct": 0.17,
      "extension_from_vwap_pct": 0.05,
      "spread_pct": 0.11
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 8.82,
    "pm_low": 8.76
  },
  {
    "symbol": "MRTN",
    "total_score": 55.6,
    "raw_score": 58.93,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 0.77,
      "volume_acceleration": 4.9,
      "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.52,
      "momentum_consistency": 3.08,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.005,
      "vwap": 13.9883,
      "vwap_slope": 0.0142,
      "rvol": 0.32,
      "volume_acceleration": 1.49,
      "premarket_volume": 160524.0,
      "momentum_pct": -0.11,
      "consolidation_tightness_pct": 0.39,
      "distance_from_pm_high_pct": 0.32,
      "extension_from_vwap_pct": 0.12,
      "spread_pct": 0.14
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 14.05,
    "pm_low": 13.925
  },
  {
    "symbol": "RSKD",
    "total_score": 55.58,
    "raw_score": 58.91,
    "breakdown": {
      "price_quality": 1.54,
      "volume_quality": 12.0,
      "rvol": 3.14,
      "volume_acceleration": 2.53,
      "price_momentum": 0.34,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.6,
      "spread_liquidity": 4.49,
      "momentum_consistency": 2.86,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.545,
      "vwap": 6.5133,
      "vwap_slope": 0.0063,
      "rvol": 1.31,
      "volume_acceleration": 0.73,
      "premarket_volume": 655074.0,
      "momentum_pct": 0.23,
      "consolidation_tightness_pct": 0.38,
      "distance_from_pm_high_pct": 0.53,
      "extension_from_vwap_pct": 0.49,
      "spread_pct": 0.15
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 6.58,
    "pm_low": 6.46
  },
  {
    "symbol": "NWL",
    "total_score": 55.55,
    "raw_score": 58.88,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 8.27,
      "volume_acceleration": 5.91,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.15,
      "spread_liquidity": 4.45,
      "momentum_consistency": 2.0,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.08,
      "vwap": 6.109,
      "vwap_slope": 0.0025,
      "rvol": 3.1,
      "volume_acceleration": 1.59,
      "premarket_volume": 1551355.0,
      "momentum_pct": -0.65,
      "consolidation_tightness_pct": 0.9,
      "distance_from_pm_high_pct": 1.14,
      "extension_from_vwap_pct": -0.48,
      "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.15,
    "pm_low": 6.07
  },
  {
    "symbol": "YSS",
    "total_score": 55.53,
    "raw_score": 58.87,
    "breakdown": {
      "price_quality": 3.65,
      "volume_quality": 12.0,
      "rvol": 1.27,
      "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.61,
      "spread_liquidity": 4.61,
      "momentum_consistency": 2.71,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.655,
      "vwap": 8.6419,
      "vwap_slope": 0.0026,
      "rvol": 0.53,
      "volume_acceleration": 0.75,
      "premarket_volume": 264852.0,
      "momentum_pct": -0.06,
      "consolidation_tightness_pct": 0.35,
      "distance_from_pm_high_pct": 0.52,
      "extension_from_vwap_pct": 0.15,
      "spread_pct": 0.12
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 8.7,
    "pm_low": 8.595
  },
  {
    "symbol": "SENS",
    "total_score": 55.52,
    "raw_score": 58.85,
    "breakdown": {
      "price_quality": 4.89,
      "volume_quality": 7.11,
      "rvol": 0.28,
      "volume_acceleration": 7.45,
      "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": 3.65,
      "momentum_consistency": 3.37,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.89,
      "vwap": 9.8737,
      "vwap_slope": 0.0076,
      "rvol": 0.12,
      "volume_acceleration": 1.74,
      "premarket_volume": 59274.0,
      "momentum_pct": -0.1,
      "consolidation_tightness_pct": 0.3,
      "distance_from_pm_high_pct": 0.4,
      "extension_from_vwap_pct": 0.16,
      "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": true,
      "vwap_rising": true
    },
    "pm_high": 9.93,
    "pm_low": 9.81
  },
  {
    "symbol": "BRSL",
    "total_score": 55.49,
    "raw_score": 58.82,
    "breakdown": {
      "price_quality": 3.72,
      "volume_quality": 12.0,
      "rvol": 0.59,
      "volume_acceleration": 3.21,
      "price_momentum": 0.07,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.77,
      "spread_liquidity": 4.7,
      "momentum_consistency": 2.35,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.28,
      "vwap": 11.258,
      "vwap_slope": 0.011,
      "rvol": 0.25,
      "volume_acceleration": 1.32,
      "premarket_volume": 123197.0,
      "momentum_pct": 0.04,
      "consolidation_tightness_pct": 0.18,
      "distance_from_pm_high_pct": 0.31,
      "extension_from_vwap_pct": 0.2,
      "spread_pct": 0.09
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 11.315,
    "pm_low": 11.225
  },
  {
    "symbol": "ALOY",
    "total_score": 55.48,
    "raw_score": 58.8,
    "breakdown": {
      "price_quality": 4.92,
      "volume_quality": 12.0,
      "rvol": 0.92,
      "volume_acceleration": 1.25,
      "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.66,
      "momentum_consistency": 2.95,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.92,
      "vwap": 9.9104,
      "vwap_slope": 0.002,
      "rvol": 0.39,
      "volume_acceleration": 0.36,
      "premarket_volume": 192706.0,
      "momentum_pct": -0.1,
      "consolidation_tightness_pct": 0.2,
      "distance_from_pm_high_pct": 0.4,
      "extension_from_vwap_pct": 0.1,
      "spread_pct": 0.1
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 9.96,
    "pm_low": 9.82
  },
  {
    "symbol": "NMR",
    "total_score": 55.38,
    "raw_score": 58.71,
    "breakdown": {
      "price_quality": 4.74,
      "volume_quality": 6.76,
      "rvol": 0.27,
      "volume_acceleration": 8.07,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.96,
      "spread_liquidity": 4.67,
      "momentum_consistency": 1.82,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.255,
      "vwap": 10.2485,
      "vwap_slope": 0.0016,
      "rvol": 0.11,
      "volume_acceleration": 1.81,
      "premarket_volume": 56344.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.1,
      "distance_from_pm_high_pct": 0.05,
      "extension_from_vwap_pct": 0.06,
      "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.26,
    "pm_low": 10.24
  },
  {
    "symbol": "GNL",
    "total_score": 55.35,
    "raw_score": 58.67,
    "breakdown": {
      "price_quality": 4.18,
      "volume_quality": 11.68,
      "rvol": 0.47,
      "volume_acceleration": 10,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.8,
      "spread_liquidity": 4.64,
      "momentum_consistency": 2.31,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.175,
      "vwap": 9.1751,
      "vwap_slope": 0.0046,
      "rvol": 0.19,
      "volume_acceleration": 2.02,
      "premarket_volume": 97360.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.05,
      "distance_from_pm_high_pct": 0.27,
      "extension_from_vwap_pct": -0.0,
      "spread_pct": 0.11
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": true
    },
    "pm_high": 9.2,
    "pm_low": 9.16
  },
  {
    "symbol": "SHOE",
    "total_score": 55.24,
    "raw_score": 58.56,
    "breakdown": {
      "price_quality": 1.53,
      "volume_quality": 12.0,
      "rvol": 0.74,
      "volume_acceleration": 4.17,
      "price_momentum": 0.22,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.97,
      "spread_liquidity": 4.75,
      "momentum_consistency": 2.77,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.47,
      "vwap": 13.3641,
      "vwap_slope": 0.0181,
      "rvol": 0.31,
      "volume_acceleration": 1.42,
      "premarket_volume": 154685.0,
      "momentum_pct": 0.15,
      "consolidation_tightness_pct": 0.15,
      "distance_from_pm_high_pct": 0.04,
      "extension_from_vwap_pct": 0.79,
      "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.475,
    "pm_low": 13.29
  },
  {
    "symbol": "STUB",
    "total_score": 55.19,
    "raw_score": 58.5,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 3.08,
      "volume_acceleration": 2.56,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.88,
      "spread_liquidity": 4.46,
      "momentum_consistency": 2.62,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.145,
      "vwap": 6.1249,
      "vwap_slope": 0.0026,
      "rvol": 1.29,
      "volume_acceleration": 0.74,
      "premarket_volume": 642588.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.16,
      "distance_from_pm_high_pct": 0.16,
      "extension_from_vwap_pct": 0.33,
      "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.155,
    "pm_low": 6.09
  },
  {
    "symbol": "IHS",
    "total_score": 55.04,
    "raw_score": 58.35,
    "breakdown": {
      "price_quality": 3.43,
      "volume_quality": 12.0,
      "rvol": 3.19,
      "volume_acceleration": 0.77,
      "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.6,
      "momentum_consistency": 2.0,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.425,
      "vwap": 8.4169,
      "vwap_slope": 0.0007,
      "rvol": 1.33,
      "volume_acceleration": 0.22,
      "premarket_volume": 664994.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.06,
      "distance_from_pm_high_pct": 0.06,
      "extension_from_vwap_pct": 0.1,
      "spread_pct": 0.12
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 8.43,
    "pm_low": 8.41
  },
  {
    "symbol": "MBLY",
    "total_score": 54.92,
    "raw_score": 58.22,
    "breakdown": {
      "price_quality": 3.53,
      "volume_quality": 12.0,
      "rvol": 1.15,
      "volume_acceleration": 2.18,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.87,
      "spread_liquidity": 4.61,
      "momentum_consistency": 2.48,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.53,
      "vwap": 8.5266,
      "vwap_slope": 0.0012,
      "rvol": 0.48,
      "volume_acceleration": 0.63,
      "premarket_volume": 238602.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.13,
      "distance_from_pm_high_pct": 0.18,
      "extension_from_vwap_pct": 0.04,
      "spread_pct": 0.12
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 8.545,
    "pm_low": 8.505
  },
  {
    "symbol": "NEWT",
    "total_score": 54.82,
    "raw_score": 58.11,
    "breakdown": {
      "price_quality": 2.9,
      "volume_quality": 2.91,
      "rvol": 0.12,
      "volume_acceleration": 10,
      "price_momentum": 0.19,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.97,
      "spread_liquidity": 4.45,
      "momentum_consistency": 2.77,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.0954,
      "vwap": 12.0806,
      "vwap_slope": -0.0033,
      "rvol": 0.05,
      "volume_acceleration": 3.07,
      "premarket_volume": 24228.0,
      "momentum_pct": 0.13,
      "consolidation_tightness_pct": 0.21,
      "distance_from_pm_high_pct": 0.04,
      "extension_from_vwap_pct": 0.12,
      "spread_pct": 0.17
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 12.1,
    "pm_low": 12.06
  },
  {
    "symbol": "LXU",
    "total_score": 54.79,
    "raw_score": 58.07,
    "breakdown": {
      "price_quality": 3.44,
      "volume_quality": 12.0,
      "rvol": 0.49,
      "volume_acceleration": 1.84,
      "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.42,
      "momentum_consistency": 3.48,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.56,
      "vwap": 11.5185,
      "vwap_slope": 0.0079,
      "rvol": 0.2,
      "volume_acceleration": 0.53,
      "premarket_volume": 101405.0,
      "momentum_pct": 0.09,
      "consolidation_tightness_pct": 0.26,
      "distance_from_pm_high_pct": 0.17,
      "extension_from_vwap_pct": 0.36,
      "spread_pct": 0.17
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 11.58,
    "pm_low": 11.46
  },
  {
    "symbol": "WNC",
    "total_score": 54.72,
    "raw_score": 58.0,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 0.72,
      "volume_acceleration": 2.06,
      "price_momentum": 0.65,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.95,
      "spread_liquidity": 4.28,
      "momentum_consistency": 4.44,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.84,
      "vwap": 13.7327,
      "vwap_slope": 0.0338,
      "rvol": 0.3,
      "volume_acceleration": 1.21,
      "premarket_volume": 150221.0,
      "momentum_pct": 0.44,
      "consolidation_tightness_pct": 0.51,
      "distance_from_pm_high_pct": 0.07,
      "extension_from_vwap_pct": 0.78,
      "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.85,
    "pm_low": 13.55
  },
  {
    "symbol": "SSTK",
    "total_score": 54.66,
    "raw_score": 57.94,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 0.63,
      "volume_acceleration": 10,
      "price_momentum": 1.72,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.8,
      "spread_liquidity": 4.42,
      "momentum_consistency": 2.67,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.745,
      "vwap": 5.7239,
      "vwap_slope": -0.0093,
      "rvol": 0.26,
      "volume_acceleration": 3.12,
      "premarket_volume": 131183.0,
      "momentum_pct": 1.14,
      "consolidation_tightness_pct": 1.58,
      "distance_from_pm_high_pct": 0.26,
      "extension_from_vwap_pct": 0.37,
      "spread_pct": 0.17
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 5.76,
    "pm_low": 5.67
  },
  {
    "symbol": "UUUU",
    "total_score": 54.64,
    "raw_score": 57.92,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 1.59,
      "volume_acceleration": 3.12,
      "price_momentum": 0.05,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.87,
      "spread_liquidity": 4.77,
      "momentum_consistency": 2.62,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.195,
      "vwap": 14.1782,
      "vwap_slope": 0.0019,
      "rvol": 0.66,
      "volume_acceleration": 0.9,
      "premarket_volume": 331579.0,
      "momentum_pct": 0.03,
      "consolidation_tightness_pct": 0.09,
      "distance_from_pm_high_pct": 0.18,
      "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.22,
    "pm_low": 14.1314
  },
  {
    "symbol": "DCH",
    "total_score": 54.64,
    "raw_score": 57.92,
    "breakdown": {
      "price_quality": 1.57,
      "volume_quality": 12.0,
      "rvol": 1.29,
      "volume_acceleration": 2.9,
      "price_momentum": 0.11,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.6,
      "spread_liquidity": 4.49,
      "momentum_consistency": 3.56,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.565,
      "vwap": 6.5503,
      "vwap_slope": 0.0052,
      "rvol": 0.54,
      "volume_acceleration": 0.83,
      "premarket_volume": 268516.0,
      "momentum_pct": 0.08,
      "consolidation_tightness_pct": 0.08,
      "distance_from_pm_high_pct": 0.53,
      "extension_from_vwap_pct": 0.22,
      "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.47
  },
  {
    "symbol": "LION",
    "total_score": 54.59,
    "raw_score": 57.86,
    "breakdown": {
      "price_quality": 3.9,
      "volume_quality": 12.0,
      "rvol": 1.73,
      "volume_acceleration": 0.79,
      "price_momentum": 0.07,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.97,
      "spread_liquidity": 4.7,
      "momentum_consistency": 2.31,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.1,
      "vwap": 11.0603,
      "vwap_slope": 0.0037,
      "rvol": 0.72,
      "volume_acceleration": 0.23,
      "premarket_volume": 360065.0,
      "momentum_pct": 0.05,
      "consolidation_tightness_pct": 0.18,
      "distance_from_pm_high_pct": 0.05,
      "extension_from_vwap_pct": 0.36,
      "spread_pct": 0.09
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 11.105,
    "pm_low": 11.01
  },
  {
    "symbol": "WETO",
    "total_score": 54.48,
    "raw_score": 57.75,
    "breakdown": {
      "price_quality": 0.0,
      "volume_quality": 12.0,
      "rvol": 1.59,
      "volume_acceleration": 2.53,
      "price_momentum": 1.52,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.81,
      "spread_liquidity": 4.17,
      "momentum_consistency": 3.72,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 3.99,
      "vwap": 3.9488,
      "vwap_slope": 0.0012,
      "rvol": 0.66,
      "volume_acceleration": 0.73,
      "premarket_volume": 331321.0,
      "momentum_pct": 1.01,
      "consolidation_tightness_pct": 1.38,
      "distance_from_pm_high_pct": 0.25,
      "extension_from_vwap_pct": 1.04,
      "spread_pct": 0.25
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 4.0,
    "pm_low": 3.88
  },
  {
    "symbol": "SGHC",
    "total_score": 54.47,
    "raw_score": 57.73,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 1.61,
      "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.65,
      "spread_liquidity": 4.76,
      "momentum_consistency": 2.62,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.825,
      "vwap": 13.8493,
      "vwap_slope": 0.0072,
      "rvol": 0.67,
      "volume_acceleration": 4.21,
      "premarket_volume": 335002.0,
      "momentum_pct": -0.14,
      "consolidation_tightness_pct": 0.32,
      "distance_from_pm_high_pct": 0.47,
      "extension_from_vwap_pct": -0.18,
      "spread_pct": 0.07
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": true
    },
    "pm_high": 13.89,
    "pm_low": 13.79
  },
  {
    "symbol": "TAC",
    "total_score": 54.38,
    "raw_score": 57.64,
    "breakdown": {
      "price_quality": 3.12,
      "volume_quality": 12.0,
      "rvol": 0.63,
      "volume_acceleration": 1.81,
      "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.72,
      "momentum_consistency": 3.0,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.885,
      "vwap": 11.8577,
      "vwap_slope": 0.0074,
      "rvol": 0.26,
      "volume_acceleration": 1.18,
      "premarket_volume": 131540.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.13,
      "distance_from_pm_high_pct": 0.04,
      "extension_from_vwap_pct": 0.23,
      "spread_pct": 0.08
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 11.89,
    "pm_low": 11.805
  },
  {
    "symbol": "TK",
    "total_score": 54.38,
    "raw_score": 57.65,
    "breakdown": {
      "price_quality": 1.69,
      "volume_quality": 5.8,
      "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.75,
      "spread_liquidity": 4.0,
      "momentum_consistency": 3.76,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.3063,
      "vwap": 13.2889,
      "vwap_slope": 0.0303,
      "rvol": 0.1,
      "volume_acceleration": 2.85,
      "premarket_volume": 48366.0,
      "momentum_pct": -0.03,
      "consolidation_tightness_pct": 0.41,
      "distance_from_pm_high_pct": 0.33,
      "extension_from_vwap_pct": 0.13,
      "spread_pct": 0.3
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 13.35,
    "pm_low": 13.22
  },
  {
    "symbol": "SLDB",
    "total_score": 54.29,
    "raw_score": 57.54,
    "breakdown": {
      "price_quality": 4.92,
      "volume_quality": 8.0,
      "rvol": 0.32,
      "volume_acceleration": 3.45,
      "price_momentum": 0.07,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.93,
      "spread_liquidity": 4.34,
      "momentum_consistency": 4.11,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.08,
      "vwap": 9.995,
      "vwap_slope": 0.0285,
      "rvol": 0.13,
      "volume_acceleration": 0.99,
      "premarket_volume": 66673.0,
      "momentum_pct": 0.05,
      "consolidation_tightness_pct": 0.15,
      "distance_from_pm_high_pct": 0.1,
      "extension_from_vwap_pct": 0.85,
      "spread_pct": 0.2
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 10.09,
    "pm_low": 9.95
  },
  {
    "symbol": "IMTX",
    "total_score": 53.91,
    "raw_score": 57.15,
    "breakdown": {
      "price_quality": 4.47,
      "volume_quality": 10.15,
      "rvol": 0.41,
      "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.84,
      "spread_liquidity": 3.94,
      "momentum_consistency": 2.18,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.47,
      "vwap": 9.4536,
      "vwap_slope": 0.0117,
      "rvol": 0.17,
      "volume_acceleration": 1.08,
      "premarket_volume": 84564.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.37,
      "distance_from_pm_high_pct": 0.21,
      "extension_from_vwap_pct": 0.17,
      "spread_pct": 0.32
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 9.49,
    "pm_low": 9.38
  },
  {
    "symbol": "ALHC",
    "total_score": 53.71,
    "raw_score": 56.94,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 1.69,
      "volume_acceleration": 2.09,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.65,
      "spread_liquidity": 4.76,
      "momentum_consistency": 2.86,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.785,
      "vwap": 13.7771,
      "vwap_slope": 0.0019,
      "rvol": 0.7,
      "volume_acceleration": 1.21,
      "premarket_volume": 351080.0,
      "momentum_pct": -0.11,
      "consolidation_tightness_pct": 0.22,
      "distance_from_pm_high_pct": 0.47,
      "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": true,
      "vwap_rising": true
    },
    "pm_high": 13.85,
    "pm_low": 13.68
  },
  {
    "symbol": "RES",
    "total_score": 53.7,
    "raw_score": 56.92,
    "breakdown": {
      "price_quality": 1.61,
      "volume_quality": 12.0,
      "rvol": 0.97,
      "volume_acceleration": 2.56,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.94,
      "spread_liquidity": 4.5,
      "momentum_consistency": 2.94,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.61,
      "vwap": 6.6013,
      "vwap_slope": 0.0025,
      "rvol": 0.4,
      "volume_acceleration": 1.26,
      "premarket_volume": 202303.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.15,
      "distance_from_pm_high_pct": 0.08,
      "extension_from_vwap_pct": 0.13,
      "spread_pct": 0.15
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 6.615,
    "pm_low": 6.57
  },
  {
    "symbol": "DNA",
    "total_score": 53.68,
    "raw_score": 56.9,
    "breakdown": {
      "price_quality": 2.0,
      "volume_quality": 9.75,
      "rvol": 0.39,
      "volume_acceleration": 3.97,
      "price_momentum": 0.03,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 6,
      "spread_liquidity": 4.52,
      "momentum_consistency": 3.83,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.005,
      "vwap": 6.9604,
      "vwap_slope": 0.0164,
      "rvol": 0.16,
      "volume_acceleration": 1.14,
      "premarket_volume": 81250.0,
      "momentum_pct": 0.02,
      "consolidation_tightness_pct": 0.07,
      "distance_from_pm_high_pct": 0.0,
      "extension_from_vwap_pct": 0.64,
      "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.005,
    "pm_low": 6.89
  },
  {
    "symbol": "BTGO",
    "total_score": 53.38,
    "raw_score": 56.59,
    "breakdown": {
      "price_quality": 2.03,
      "volume_quality": 12.0,
      "rvol": 0.62,
      "volume_acceleration": 2.18,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.73,
      "spread_liquidity": 4.53,
      "momentum_consistency": 3.1,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.025,
      "vwap": 7.0066,
      "vwap_slope": 0.0062,
      "rvol": 0.26,
      "volume_acceleration": 0.63,
      "premarket_volume": 128452.0,
      "momentum_pct": -0.09,
      "consolidation_tightness_pct": 0.28,
      "distance_from_pm_high_pct": 0.35,
      "extension_from_vwap_pct": 0.26,
      "spread_pct": 0.14
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 7.05,
    "pm_low": 6.955
  },
  {
    "symbol": "QTTB",
    "total_score": 53.32,
    "raw_score": 56.51,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 2.78,
      "rvol": 0.11,
      "volume_acceleration": 2.54,
      "price_momentum": 0.11,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.92,
      "spread_liquidity": 3.77,
      "momentum_consistency": 3.79,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.545,
      "vwap": 13.5149,
      "vwap_slope": 0.007,
      "rvol": 0.05,
      "volume_acceleration": 0.73,
      "premarket_volume": 23159.0,
      "momentum_pct": 0.07,
      "consolidation_tightness_pct": 0.48,
      "distance_from_pm_high_pct": 0.11,
      "extension_from_vwap_pct": 0.22,
      "spread_pct": 0.37
    },
    "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.56,
    "pm_low": 13.49
  },
  {
    "symbol": "OSS",
    "total_score": 53.32,
    "raw_score": 56.52,
    "breakdown": {
      "price_quality": 4.82,
      "volume_quality": 6.5,
      "rvol": 0.26,
      "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.85,
      "spread_liquidity": 4.32,
      "momentum_consistency": 3.52,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.82,
      "vwap": 9.8057,
      "vwap_slope": 0.0039,
      "rvol": 0.11,
      "volume_acceleration": 1.47,
      "premarket_volume": 54140.0,
      "momentum_pct": 0.1,
      "consolidation_tightness_pct": 0.2,
      "distance_from_pm_high_pct": 0.2,
      "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": true,
      "vwap_rising": true
    },
    "pm_high": 9.84,
    "pm_low": 9.7302
  },
  {
    "symbol": "PGEN",
    "total_score": 53.28,
    "raw_score": 56.48,
    "breakdown": {
      "price_quality": 1.97,
      "volume_quality": 12.0,
      "rvol": 1.1,
      "volume_acceleration": 1.99,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.84,
      "spread_liquidity": 4.52,
      "momentum_consistency": 2.67,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.965,
      "vwap": 6.943,
      "vwap_slope": 0.0092,
      "rvol": 0.46,
      "volume_acceleration": 1.2,
      "premarket_volume": 229611.0,
      "momentum_pct": -0.07,
      "consolidation_tightness_pct": 0.14,
      "distance_from_pm_high_pct": 0.21,
      "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": true,
      "vwap_rising": true
    },
    "pm_high": 6.98,
    "pm_low": 6.89
  },
  {
    "symbol": "ASLE",
    "total_score": 53.25,
    "raw_score": 56.44,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 10.16,
      "rvol": 0.41,
      "volume_acceleration": 4.87,
      "price_momentum": 0.16,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.94,
      "spread_liquidity": 4.4,
      "momentum_consistency": 2.6,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.525,
      "vwap": 5.502,
      "vwap_slope": 0.0075,
      "rvol": 0.17,
      "volume_acceleration": 1.49,
      "premarket_volume": 84682.0,
      "momentum_pct": 0.11,
      "consolidation_tightness_pct": 0.53,
      "distance_from_pm_high_pct": 0.07,
      "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": true,
      "vwap_rising": true
    },
    "pm_high": 5.5291,
    "pm_low": 5.46
  },
  {
    "symbol": "SPIR",
    "total_score": 53.22,
    "raw_score": 56.41,
    "breakdown": {
      "price_quality": 3.25,
      "volume_quality": 11.33,
      "rvol": 0.45,
      "volume_acceleration": 2.08,
      "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": 3.87,
      "momentum_consistency": 3.29,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.75,
      "vwap": 11.6704,
      "vwap_slope": 0.0119,
      "rvol": 0.19,
      "volume_acceleration": 0.6,
      "premarket_volume": 94415.0,
      "momentum_pct": -0.09,
      "consolidation_tightness_pct": 0.68,
      "distance_from_pm_high_pct": 0.34,
      "extension_from_vwap_pct": 0.68,
      "spread_pct": 0.34
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 11.79,
    "pm_low": 11.48
  },
  {
    "symbol": "GFR",
    "total_score": 53.16,
    "raw_score": 56.35,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 1.2,
      "volume_acceleration": 2.05,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.82,
      "spread_liquidity": 4.46,
      "momentum_consistency": 2.92,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.165,
      "vwap": 6.1415,
      "vwap_slope": 0.0086,
      "rvol": 0.5,
      "volume_acceleration": 1.21,
      "premarket_volume": 249222.0,
      "momentum_pct": -0.08,
      "consolidation_tightness_pct": 0.16,
      "distance_from_pm_high_pct": 0.24,
      "extension_from_vwap_pct": 0.38,
      "spread_pct": 0.16
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 6.18,
    "pm_low": 6.11
  },
  {
    "symbol": "SUJA",
    "total_score": 53.07,
    "raw_score": 56.25,
    "breakdown": {
      "price_quality": 4.72,
      "volume_quality": 9.19,
      "rvol": 0.37,
      "volume_acceleration": 2.82,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.64,
      "spread_liquidity": 4.35,
      "momentum_consistency": 2.77,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.28,
      "vwap": 10.2603,
      "vwap_slope": 0.0263,
      "rvol": 0.15,
      "volume_acceleration": 1.28,
      "premarket_volume": 76558.0,
      "momentum_pct": -0.39,
      "consolidation_tightness_pct": 0.97,
      "distance_from_pm_high_pct": 0.48,
      "extension_from_vwap_pct": 0.19,
      "spread_pct": 0.19
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 10.33,
    "pm_low": 10.19
  },
  {
    "symbol": "AVTR",
    "total_score": 53.05,
    "raw_score": 56.23,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 6.01,
      "volume_acceleration": 4.62,
      "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.77,
      "momentum_consistency": 2.21,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.74,
      "vwap": 14.7495,
      "vwap_slope": 0.0012,
      "rvol": 2.26,
      "volume_acceleration": 1.46,
      "premarket_volume": 1127788.0,
      "momentum_pct": -0.14,
      "consolidation_tightness_pct": 0.14,
      "distance_from_pm_high_pct": 0.64,
      "extension_from_vwap_pct": -0.06,
      "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.835,
    "pm_low": 14.67
  },
  {
    "symbol": "ICL",
    "total_score": 52.74,
    "raw_score": 55.91,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 0.94,
      "volume_acceleration": 9.44,
      "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.43,
      "momentum_consistency": 2.26,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.84,
      "vwap": 5.844,
      "vwap_slope": 0.0046,
      "rvol": 0.39,
      "volume_acceleration": 1.94,
      "premarket_volume": 195640.0,
      "momentum_pct": -0.26,
      "consolidation_tightness_pct": 0.34,
      "distance_from_pm_high_pct": 0.34,
      "extension_from_vwap_pct": -0.07,
      "spread_pct": 0.17
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": true
    },
    "pm_high": 5.86,
    "pm_low": 5.82
  },
  {
    "symbol": "FWDI",
    "total_score": 52.71,
    "raw_score": 55.87,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 0.74,
      "volume_acceleration": 1.76,
      "price_momentum": 0.48,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.94,
      "spread_liquidity": 4.47,
      "momentum_consistency": 2.58,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.295,
      "vwap": 6.2642,
      "vwap_slope": 0.0027,
      "rvol": 0.31,
      "volume_acceleration": 0.51,
      "premarket_volume": 154676.0,
      "momentum_pct": 0.32,
      "consolidation_tightness_pct": 0.48,
      "distance_from_pm_high_pct": 0.08,
      "extension_from_vwap_pct": 0.49,
      "spread_pct": 0.16
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 6.3,
    "pm_low": 6.23
  },
  {
    "symbol": "CRMD",
    "total_score": 52.66,
    "raw_score": 55.82,
    "breakdown": {
      "price_quality": 3.48,
      "volume_quality": 10.04,
      "rvol": 0.4,
      "volume_acceleration": 0.93,
      "price_momentum": 0.1,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.96,
      "spread_liquidity": 4.61,
      "momentum_consistency": 3.9,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.485,
      "vwap": 8.4286,
      "vwap_slope": 0.0064,
      "rvol": 0.17,
      "volume_acceleration": 0.27,
      "premarket_volume": 83638.0,
      "momentum_pct": 0.07,
      "consolidation_tightness_pct": 0.23,
      "distance_from_pm_high_pct": 0.06,
      "extension_from_vwap_pct": 0.67,
      "spread_pct": 0.12
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 8.49,
    "pm_low": 8.4
  },
  {
    "symbol": "GMRS",
    "total_score": 52.63,
    "raw_score": 55.79,
    "breakdown": {
      "price_quality": 1.89,
      "volume_quality": 3.84,
      "rvol": 0.15,
      "volume_acceleration": 10,
      "price_momentum": 0.34,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.83,
      "spread_liquidity": 3.73,
      "momentum_consistency": 3.6,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.11,
      "vwap": 13.0661,
      "vwap_slope": 0.0837,
      "rvol": 0.06,
      "volume_acceleration": 3.38,
      "premarket_volume": 31990.0,
      "momentum_pct": 0.23,
      "consolidation_tightness_pct": 0.46,
      "distance_from_pm_high_pct": 0.23,
      "extension_from_vwap_pct": 0.34,
      "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.14,
    "pm_low": 12.95
  },
  {
    "symbol": "ADTN",
    "total_score": 52.63,
    "raw_score": 55.79,
    "breakdown": {
      "price_quality": 2.49,
      "volume_quality": 11.32,
      "rvol": 0.45,
      "volume_acceleration": 1.63,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.85,
      "spread_liquidity": 4.56,
      "momentum_consistency": 3.1,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.485,
      "vwap": 7.4688,
      "vwap_slope": 0.0066,
      "rvol": 0.19,
      "volume_acceleration": 1.16,
      "premarket_volume": 94318.0,
      "momentum_pct": -0.2,
      "consolidation_tightness_pct": 0.2,
      "distance_from_pm_high_pct": 0.2,
      "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.5,
    "pm_low": 7.44
  },
  {
    "symbol": "BB",
    "total_score": 52.55,
    "raw_score": 55.71,
    "breakdown": {
      "price_quality": 2.6,
      "volume_quality": 12.0,
      "rvol": 6.41,
      "volume_acceleration": 10,
      "price_momentum": 0.12,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.13,
      "spread_liquidity": 4.56,
      "momentum_consistency": 2.48,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.601,
      "vwap": 7.6384,
      "vwap_slope": -0.0143,
      "rvol": 2.4,
      "volume_acceleration": 2.33,
      "premarket_volume": 1201937.0,
      "momentum_pct": 0.08,
      "consolidation_tightness_pct": 0.26,
      "distance_from_pm_high_pct": 1.16,
      "extension_from_vwap_pct": -0.49,
      "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.69,
    "pm_low": 7.59
  },
  {
    "symbol": "IMMX",
    "total_score": 52.5,
    "raw_score": 55.65,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 0.56,
      "volume_acceleration": 1.5,
      "price_momentum": 0.16,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.52,
      "spread_liquidity": 4.52,
      "momentum_consistency": 3.49,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.87,
      "vwap": 13.8461,
      "vwap_slope": 0.0279,
      "rvol": 0.23,
      "volume_acceleration": 1.15,
      "premarket_volume": 116957.0,
      "momentum_pct": 0.11,
      "consolidation_tightness_pct": 0.14,
      "distance_from_pm_high_pct": 0.64,
      "extension_from_vwap_pct": 0.17,
      "spread_pct": 0.14
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 13.96,
    "pm_low": 13.72
  },
  {
    "symbol": "ALIT",
    "total_score": 52.4,
    "raw_score": 55.55,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 11.06,
      "rvol": 0.44,
      "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.45,
      "spread_liquidity": 3.37,
      "momentum_consistency": 3.53,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.315,
      "vwap": 14.2705,
      "vwap_slope": 0.0129,
      "rvol": 0.18,
      "volume_acceleration": 1.09,
      "premarket_volume": 92148.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.49,
      "distance_from_pm_high_pct": 0.73,
      "extension_from_vwap_pct": 0.31,
      "spread_pct": 0.49
    },
    "flags": {
      "meets_min_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.42,
    "pm_low": 14.13
  },
  {
    "symbol": "CSHR",
    "total_score": 52.34,
    "raw_score": 55.48,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 6.01,
      "rvol": 0.24,
      "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.61,
      "spread_liquidity": 2.67,
      "momentum_consistency": 3.05,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.74,
      "vwap": 5.677,
      "vwap_slope": 0.0457,
      "rvol": 0.1,
      "volume_acceleration": 5.77,
      "premarket_volume": 50068.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 1.05,
      "distance_from_pm_high_pct": 0.52,
      "extension_from_vwap_pct": 1.11,
      "spread_pct": 0.7
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 5.77,
    "pm_low": 5.59
  },
  {
    "symbol": "TJGC",
    "total_score": 52.24,
    "raw_score": 55.37,
    "breakdown": {
      "price_quality": 4.74,
      "volume_quality": 12.0,
      "rvol": 1.27,
      "volume_acceleration": 1.51,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.13,
      "spread_liquidity": 0.79,
      "momentum_consistency": 3.53,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.26,
      "vwap": 10.1069,
      "vwap_slope": 0.0335,
      "rvol": 0.53,
      "volume_acceleration": 0.43,
      "premarket_volume": 264061.0,
      "momentum_pct": -0.39,
      "consolidation_tightness_pct": 1.07,
      "distance_from_pm_high_pct": 1.16,
      "extension_from_vwap_pct": 1.51,
      "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": true,
      "vwap_rising": true
    },
    "pm_high": 10.38,
    "pm_low": 9.91
  },
  {
    "symbol": "HLIT",
    "total_score": 52.11,
    "raw_score": 55.24,
    "breakdown": {
      "price_quality": 3.3,
      "volume_quality": 10.04,
      "rvol": 0.4,
      "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.87,
      "spread_liquidity": 4.72,
      "momentum_consistency": 2.56,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.7,
      "vwap": 11.6967,
      "vwap_slope": 0.0009,
      "rvol": 0.17,
      "volume_acceleration": 0.56,
      "premarket_volume": 83638.0,
      "momentum_pct": -0.09,
      "consolidation_tightness_pct": 0.13,
      "distance_from_pm_high_pct": 0.17,
      "extension_from_vwap_pct": 0.03,
      "spread_pct": 0.09
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 11.72,
    "pm_low": 11.665
  },
  {
    "symbol": "DOLE",
    "total_score": 51.82,
    "raw_score": 54.93,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 9.97,
      "rvol": 0.4,
      "volume_acceleration": 3.24,
      "price_momentum": 0.05,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.89,
      "spread_liquidity": 4.76,
      "momentum_consistency": 2.72,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.075,
      "vwap": 14.0629,
      "vwap_slope": 0.0035,
      "rvol": 0.17,
      "volume_acceleration": 0.93,
      "premarket_volume": 83063.0,
      "momentum_pct": 0.04,
      "consolidation_tightness_pct": 0.24,
      "distance_from_pm_high_pct": 0.14,
      "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": true,
      "vwap_rising": true
    },
    "pm_high": 14.095,
    "pm_low": 14.025
  },
  {
    "symbol": "CERT",
    "total_score": 51.8,
    "raw_score": 54.9,
    "breakdown": {
      "price_quality": 3.26,
      "volume_quality": 10.08,
      "rvol": 0.4,
      "volume_acceleration": 8.21,
      "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.6,
      "momentum_consistency": 2.98,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.255,
      "vwap": 8.2577,
      "vwap_slope": 0.0045,
      "rvol": 0.17,
      "volume_acceleration": 1.82,
      "premarket_volume": 84022.0,
      "momentum_pct": -0.24,
      "consolidation_tightness_pct": 0.35,
      "distance_from_pm_high_pct": 0.3,
      "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.28,
    "pm_low": 8.195
  },
  {
    "symbol": "SVRA",
    "total_score": 51.73,
    "raw_score": 54.83,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 0.51,
      "volume_acceleration": 9.74,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.86,
      "spread_liquidity": 4.39,
      "momentum_consistency": 1.63,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.435,
      "vwap": 5.4315,
      "vwap_slope": -0.0008,
      "rvol": 0.21,
      "volume_acceleration": 1.97,
      "premarket_volume": 106552.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.09,
      "distance_from_pm_high_pct": 0.18,
      "extension_from_vwap_pct": 0.06,
      "spread_pct": 0.18
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 5.445,
    "pm_low": 5.415
  },
  {
    "symbol": "TDAY",
    "total_score": 51.68,
    "raw_score": 54.78,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 8.52,
      "rvol": 0.34,
      "volume_acceleration": 4.95,
      "price_momentum": 0.12,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.88,
      "spread_liquidity": 4.48,
      "momentum_consistency": 2.59,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.375,
      "vwap": 6.3625,
      "vwap_slope": 0.0065,
      "rvol": 0.14,
      "volume_acceleration": 1.49,
      "premarket_volume": 71024.0,
      "momentum_pct": 0.08,
      "consolidation_tightness_pct": 0.08,
      "distance_from_pm_high_pct": 0.16,
      "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": true
    },
    "pm_high": 6.385,
    "pm_low": 6.34
  },
  {
    "symbol": "VELO",
    "total_score": 51.61,
    "raw_score": 54.7,
    "breakdown": {
      "price_quality": 3.58,
      "volume_quality": 11.69,
      "rvol": 0.47,
      "volume_acceleration": 4.05,
      "price_momentum": 0.26,
      "price_structure": 12,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.16,
      "spread_liquidity": 4.42,
      "momentum_consistency": 3.09,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.42,
      "vwap": 11.4366,
      "vwap_slope": -0.0153,
      "rvol": 0.19,
      "volume_acceleration": 1.4,
      "premarket_volume": 97381.0,
      "momentum_pct": 0.18,
      "consolidation_tightness_pct": 0.18,
      "distance_from_pm_high_pct": 1.13,
      "extension_from_vwap_pct": -0.15,
      "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.55,
    "pm_low": 11.38
  },
  {
    "symbol": "SMWB",
    "total_score": 51.6,
    "raw_score": 54.69,
    "breakdown": {
      "price_quality": 3.81,
      "volume_quality": 7.94,
      "rvol": 0.32,
      "volume_acceleration": 2.91,
      "price_momentum": 0.26,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.91,
      "spread_liquidity": 3.86,
      "momentum_consistency": 3.28,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.81,
      "vwap": 8.7969,
      "vwap_slope": 0.0002,
      "rvol": 0.13,
      "volume_acceleration": 0.84,
      "premarket_volume": 66163.0,
      "momentum_pct": 0.17,
      "consolidation_tightness_pct": 0.34,
      "distance_from_pm_high_pct": 0.11,
      "extension_from_vwap_pct": 0.15,
      "spread_pct": 0.34
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 8.82,
    "pm_low": 8.7694
  },
  {
    "symbol": "PCG",
    "total_score": 51.25,
    "raw_score": 54.33,
    "breakdown": {
      "price_quality": 1.66,
      "volume_quality": 12.0,
      "rvol": 12.0,
      "volume_acceleration": 2.88,
      "price_momentum": 0.17,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 4.95,
      "spread_liquidity": 4.75,
      "momentum_consistency": 3.53,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.34,
      "vwap": 13.3458,
      "vwap_slope": -0.0046,
      "rvol": 22.34,
      "volume_acceleration": 0.83,
      "premarket_volume": 11171600.0,
      "momentum_pct": 0.11,
      "consolidation_tightness_pct": 0.37,
      "distance_from_pm_high_pct": 1.4,
      "extension_from_vwap_pct": -0.04,
      "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.53,
    "pm_low": 13.215
  },
  {
    "symbol": "F",
    "total_score": 51.18,
    "raw_score": 54.25,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 12.0,
      "volume_acceleration": 3.05,
      "price_momentum": 0.05,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.31,
      "spread_liquidity": 4.76,
      "momentum_consistency": 3.17,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.97,
      "vwap": 14.0348,
      "vwap_slope": -0.0085,
      "rvol": 11.48,
      "volume_acceleration": 0.88,
      "premarket_volume": 5739730.0,
      "momentum_pct": 0.04,
      "consolidation_tightness_pct": 0.14,
      "distance_from_pm_high_pct": 0.92,
      "extension_from_vwap_pct": -0.46,
      "spread_pct": 0.07
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 14.1,
    "pm_low": 13.96
  },
  {
    "symbol": "GNW",
    "total_score": 51.18,
    "raw_score": 54.25,
    "breakdown": {
      "price_quality": 4.93,
      "volume_quality": 12.0,
      "rvol": 2.83,
      "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.85,
      "spread_liquidity": 4.67,
      "momentum_consistency": 1.57,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.07,
      "vwap": 10.0762,
      "vwap_slope": -0.002,
      "rvol": 1.18,
      "volume_acceleration": 5.9,
      "premarket_volume": 589557.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.1,
      "distance_from_pm_high_pct": 0.2,
      "extension_from_vwap_pct": -0.06,
      "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.09,
    "pm_low": 10.055
  },
  {
    "symbol": "BVS",
    "total_score": 51.13,
    "raw_score": 54.2,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 6.94,
      "rvol": 0.28,
      "volume_acceleration": 5.41,
      "price_momentum": 0.31,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.95,
      "spread_liquidity": 4.54,
      "momentum_consistency": 2.87,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.46,
      "vwap": 14.4405,
      "vwap_slope": 0.0016,
      "rvol": 0.12,
      "volume_acceleration": 1.54,
      "premarket_volume": 57839.0,
      "momentum_pct": 0.21,
      "consolidation_tightness_pct": 0.21,
      "distance_from_pm_high_pct": 0.07,
      "extension_from_vwap_pct": 0.14,
      "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.47,
    "pm_low": 14.405
  },
  {
    "symbol": "SOUN",
    "total_score": 51.12,
    "raw_score": 54.19,
    "breakdown": {
      "price_quality": 1.86,
      "volume_quality": 12.0,
      "rvol": 12.0,
      "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.57,
      "spread_liquidity": 4.52,
      "momentum_consistency": 3.72,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.8601,
      "vwap": 6.8699,
      "vwap_slope": -0.0002,
      "rvol": 5.78,
      "volume_acceleration": 0.61,
      "premarket_volume": 2888403.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.15,
      "distance_from_pm_high_pct": 0.58,
      "extension_from_vwap_pct": -0.14,
      "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": false,
      "vwap_rising": false
    },
    "pm_high": 6.9,
    "pm_low": 6.82
  },
  {
    "symbol": "SNAP",
    "total_score": 50.92,
    "raw_score": 53.97,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 12.0,
      "volume_acceleration": 2.8,
      "price_momentum": 0.53,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.21,
      "spread_liquidity": 4.41,
      "momentum_consistency": 3.12,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.64,
      "vwap": 5.6645,
      "vwap_slope": -0.008,
      "rvol": 5.78,
      "volume_acceleration": 0.81,
      "premarket_volume": 2888914.0,
      "momentum_pct": 0.36,
      "consolidation_tightness_pct": 0.36,
      "distance_from_pm_high_pct": 1.05,
      "extension_from_vwap_pct": -0.43,
      "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": false
    },
    "pm_high": 5.7,
    "pm_low": 5.62
  },
  {
    "symbol": "RPD",
    "total_score": 50.75,
    "raw_score": 53.8,
    "breakdown": {
      "price_quality": 3.89,
      "volume_quality": 12.0,
      "rvol": 1.83,
      "volume_acceleration": 3.27,
      "price_momentum": 0.49,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.62,
      "spread_liquidity": 4.41,
      "momentum_consistency": 3.09,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.11,
      "vwap": 11.107,
      "vwap_slope": -0.0037,
      "rvol": 0.76,
      "volume_acceleration": 0.94,
      "premarket_volume": 380577.0,
      "momentum_pct": 0.33,
      "consolidation_tightness_pct": 0.33,
      "distance_from_pm_high_pct": 0.5,
      "extension_from_vwap_pct": 0.03,
      "spread_pct": 0.18
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 11.1662,
    "pm_low": 11.035
  },
  {
    "symbol": "JKS",
    "total_score": 50.64,
    "raw_score": 53.68,
    "breakdown": {
      "price_quality": 2.47,
      "volume_quality": 8.08,
      "rvol": 0.32,
      "volume_acceleration": 3.22,
      "price_momentum": 0.06,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.82,
      "spread_liquidity": 4.47,
      "momentum_consistency": 2.84,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.53,
      "vwap": 12.509,
      "vwap_slope": 0.006,
      "rvol": 0.13,
      "volume_acceleration": 1.32,
      "premarket_volume": 67330.0,
      "momentum_pct": 0.04,
      "consolidation_tightness_pct": 0.24,
      "distance_from_pm_high_pct": 0.24,
      "extension_from_vwap_pct": 0.17,
      "spread_pct": 0.16
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 12.56,
    "pm_low": 12.43
  },
  {
    "symbol": "PSKY",
    "total_score": 50.53,
    "raw_score": 53.56,
    "breakdown": {
      "price_quality": 4.03,
      "volume_quality": 12.0,
      "rvol": 12.0,
      "volume_acceleration": 0.74,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 4.53,
      "spread_liquidity": 4.7,
      "momentum_consistency": 3.17,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.975,
      "vwap": 11.029,
      "vwap_slope": -0.0023,
      "rvol": 6.76,
      "volume_acceleration": 0.21,
      "premarket_volume": 3377918.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.18,
      "distance_from_pm_high_pct": 1.97,
      "extension_from_vwap_pct": -0.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": false,
      "vwap_rising": false
    },
    "pm_high": 11.195,
    "pm_low": 10.855
  },
  {
    "symbol": "QUIK",
    "total_score": 50.39,
    "raw_score": 53.41,
    "breakdown": {
      "price_quality": 4.55,
      "volume_quality": 4.85,
      "rvol": 0.19,
      "volume_acceleration": 2.67,
      "price_momentum": 1.08,
      "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": 3.73,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.45,
      "vwap": 10.4177,
      "vwap_slope": 0.0125,
      "rvol": 0.08,
      "volume_acceleration": 1.27,
      "premarket_volume": 40408.0,
      "momentum_pct": 0.72,
      "consolidation_tightness_pct": 0.86,
      "distance_from_pm_high_pct": 0.14,
      "extension_from_vwap_pct": 0.31,
      "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.465,
    "pm_low": 10.37
  },
  {
    "symbol": "SXC",
    "total_score": 50.37,
    "raw_score": 53.4,
    "breakdown": {
      "price_quality": 4.35,
      "volume_quality": 5.93,
      "rvol": 0.24,
      "volume_acceleration": 3.37,
      "price_momentum": 0.07,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.93,
      "spread_liquidity": 4.69,
      "momentum_consistency": 2.42,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.655,
      "vwap": 10.63,
      "vwap_slope": 0.0194,
      "rvol": 0.1,
      "volume_acceleration": 1.34,
      "premarket_volume": 49454.0,
      "momentum_pct": 0.05,
      "consolidation_tightness_pct": 0.14,
      "distance_from_pm_high_pct": 0.09,
      "extension_from_vwap_pct": 0.24,
      "spread_pct": 0.09
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 10.665,
    "pm_low": 10.555
  },
  {
    "symbol": "KRO",
    "total_score": 50.35,
    "raw_score": 53.37,
    "breakdown": {
      "price_quality": 3.89,
      "volume_quality": 3.34,
      "rvol": 0.13,
      "volume_acceleration": 6.48,
      "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.25,
      "momentum_consistency": 3.06,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.89,
      "vwap": 8.8643,
      "vwap_slope": 0.0337,
      "rvol": 0.06,
      "volume_acceleration": 1.65,
      "premarket_volume": 27793.0,
      "momentum_pct": -0.11,
      "consolidation_tightness_pct": 0.22,
      "distance_from_pm_high_pct": 0.22,
      "extension_from_vwap_pct": 0.29,
      "spread_pct": 0.22
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 8.91,
    "pm_low": 8.795
  },
  {
    "symbol": "HLMN",
    "total_score": 50.23,
    "raw_score": 53.24,
    "breakdown": {
      "price_quality": 2.68,
      "volume_quality": 12.0,
      "rvol": 0.87,
      "volume_acceleration": 5.98,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.61,
      "spread_liquidity": 4.57,
      "momentum_consistency": 1.93,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.685,
      "vwap": 7.6921,
      "vwap_slope": 0.0035,
      "rvol": 0.36,
      "volume_acceleration": 1.6,
      "premarket_volume": 181856.0,
      "momentum_pct": -0.13,
      "consolidation_tightness_pct": 0.26,
      "distance_from_pm_high_pct": 0.52,
      "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": false,
      "price_above_vwap": false,
      "vwap_rising": true
    },
    "pm_high": 7.725,
    "pm_low": 7.66
  },
  {
    "symbol": "KRNY",
    "total_score": 50.14,
    "raw_score": 53.15,
    "breakdown": {
      "price_quality": 4.96,
      "volume_quality": 5.9,
      "rvol": 0.24,
      "volume_acceleration": 3.18,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 6,
      "spread_liquidity": 4.67,
      "momentum_consistency": 1.81,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.045,
      "vwap": 10.0261,
      "vwap_slope": 0.0045,
      "rvol": 0.1,
      "volume_acceleration": 0.92,
      "premarket_volume": 49144.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.0,
      "distance_from_pm_high_pct": 0.0,
      "extension_from_vwap_pct": 0.19,
      "spread_pct": 0.1
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 10.045,
    "pm_low": 10.0147
  },
  {
    "symbol": "STLA",
    "total_score": 50.07,
    "raw_score": 53.07,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 12.0,
      "volume_acceleration": 2.68,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.5,
      "spread_liquidity": 4.36,
      "momentum_consistency": 2.62,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.245,
      "vwap": 5.259,
      "vwap_slope": -0.0012,
      "rvol": 5.35,
      "volume_acceleration": 0.77,
      "premarket_volume": 2677036.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.19,
      "distance_from_pm_high_pct": 0.66,
      "extension_from_vwap_pct": -0.27,
      "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.28,
    "pm_low": 5.24
  },
  {
    "symbol": "KD",
    "total_score": 50.0,
    "raw_score": 53.0,
    "breakdown": {
      "price_quality": 1.83,
      "volume_quality": 12.0,
      "rvol": 1.24,
      "volume_acceleration": 2.77,
      "price_momentum": 0.17,
      "price_structure": 12,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.43,
      "spread_liquidity": 4.75,
      "momentum_consistency": 2.81,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.17,
      "vwap": 13.2061,
      "vwap_slope": -0.0074,
      "rvol": 0.52,
      "volume_acceleration": 0.8,
      "premarket_volume": 257562.0,
      "momentum_pct": 0.11,
      "consolidation_tightness_pct": 0.19,
      "distance_from_pm_high_pct": 0.75,
      "extension_from_vwap_pct": -0.27,
      "spread_pct": 0.08
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 13.27,
    "pm_low": 13.145
  },
  {
    "symbol": "IE",
    "total_score": 49.97,
    "raw_score": 52.97,
    "breakdown": {
      "price_quality": 4.93,
      "volume_quality": 12.0,
      "rvol": 1.38,
      "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.52,
      "spread_liquidity": 4.67,
      "momentum_consistency": 1.93,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.075,
      "vwap": 10.0846,
      "vwap_slope": -0.0012,
      "rvol": 0.57,
      "volume_acceleration": 4.38,
      "premarket_volume": 287115.0,
      "momentum_pct": 0.1,
      "consolidation_tightness_pct": 0.2,
      "distance_from_pm_high_pct": 0.64,
      "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": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 10.14,
    "pm_low": 10.055
  },
  {
    "symbol": "CRCT",
    "total_score": 49.95,
    "raw_score": 52.94,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 8.76,
      "rvol": 0.35,
      "volume_acceleration": 2.5,
      "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": 3.06,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.805,
      "vwap": 5.7931,
      "vwap_slope": 0.0012,
      "rvol": 0.15,
      "volume_acceleration": 0.72,
      "premarket_volume": 73029.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.09,
      "distance_from_pm_high_pct": 0.09,
      "extension_from_vwap_pct": 0.21,
      "spread_pct": 0.17
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 5.81,
    "pm_low": 5.77
  },
  {
    "symbol": "NVAX",
    "total_score": 49.83,
    "raw_score": 52.82,
    "breakdown": {
      "price_quality": 4.77,
      "volume_quality": 12.0,
      "rvol": 1.79,
      "volume_acceleration": 1.54,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.6,
      "spread_liquidity": 4.67,
      "momentum_consistency": 2.85,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.23,
      "vwap": 10.2332,
      "vwap_slope": 0.0033,
      "rvol": 0.74,
      "volume_acceleration": 1.15,
      "premarket_volume": 372310.0,
      "momentum_pct": -0.1,
      "consolidation_tightness_pct": 0.24,
      "distance_from_pm_high_pct": 0.53,
      "extension_from_vwap_pct": -0.03,
      "spread_pct": 0.1
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": true
    },
    "pm_high": 10.285,
    "pm_low": 10.141
  },
  {
    "symbol": "BFLY",
    "total_score": 49.72,
    "raw_score": 52.7,
    "breakdown": {
      "price_quality": 2.62,
      "volume_quality": 12.0,
      "rvol": 2.0,
      "volume_acceleration": 3.61,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.22,
      "spread_liquidity": 4.56,
      "momentum_consistency": 3.09,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.62,
      "vwap": 7.6286,
      "vwap_slope": 0.0096,
      "rvol": 0.83,
      "volume_acceleration": 1.36,
      "premarket_volume": 416348.0,
      "momentum_pct": -0.59,
      "consolidation_tightness_pct": 0.78,
      "distance_from_pm_high_pct": 1.04,
      "extension_from_vwap_pct": -0.11,
      "spread_pct": 0.13
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": true
    },
    "pm_high": 7.7,
    "pm_low": 7.565
  },
  {
    "symbol": "BBDC",
    "total_score": 49.65,
    "raw_score": 52.63,
    "breakdown": {
      "price_quality": 4.13,
      "volume_quality": 6.13,
      "rvol": 0.25,
      "volume_acceleration": 2.67,
      "price_momentum": 0.16,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.96,
      "spread_liquidity": 4.64,
      "momentum_consistency": 2.29,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.135,
      "vwap": 9.1175,
      "vwap_slope": 0.0052,
      "rvol": 0.1,
      "volume_acceleration": 1.27,
      "premarket_volume": 51112.0,
      "momentum_pct": 0.11,
      "consolidation_tightness_pct": 0.16,
      "distance_from_pm_high_pct": 0.05,
      "extension_from_vwap_pct": 0.19,
      "spread_pct": 0.11
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 9.14,
    "pm_low": 9.1
  },
  {
    "symbol": "CRGY",
    "total_score": 49.62,
    "raw_score": 52.6,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 4.12,
      "volume_acceleration": 9.34,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.38,
      "spread_liquidity": 4.77,
      "momentum_consistency": 3.09,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.415,
      "vwap": 14.4626,
      "vwap_slope": -0.0091,
      "rvol": 1.55,
      "volume_acceleration": 1.93,
      "premarket_volume": 773322.0,
      "momentum_pct": -0.07,
      "consolidation_tightness_pct": 0.13,
      "distance_from_pm_high_pct": 0.83,
      "extension_from_vwap_pct": -0.33,
      "spread_pct": 0.07
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 14.535,
    "pm_low": 14.4112
  },
  {
    "symbol": "ATEC",
    "total_score": 49.38,
    "raw_score": 52.35,
    "breakdown": {
      "price_quality": 4.21,
      "volume_quality": 12.0,
      "rvol": 0.7,
      "volume_acceleration": 3.41,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.72,
      "spread_liquidity": 4.64,
      "momentum_consistency": 2.07,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.21,
      "vwap": 9.2159,
      "vwap_slope": 0.0007,
      "rvol": 0.29,
      "volume_acceleration": 0.98,
      "premarket_volume": 145945.0,
      "momentum_pct": -0.11,
      "consolidation_tightness_pct": 0.16,
      "distance_from_pm_high_pct": 0.38,
      "extension_from_vwap_pct": -0.06,
      "spread_pct": 0.11
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": true
    },
    "pm_high": 9.245,
    "pm_low": 9.2
  },
  {
    "symbol": "MGTX",
    "total_score": 49.36,
    "raw_score": 52.32,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 9.04,
      "rvol": 0.36,
      "volume_acceleration": 1.71,
      "price_momentum": 0.11,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.97,
      "spread_liquidity": 4.28,
      "momentum_consistency": 2.95,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.985,
      "vwap": 13.9152,
      "vwap_slope": 0.013,
      "rvol": 0.15,
      "volume_acceleration": 0.49,
      "premarket_volume": 75319.0,
      "momentum_pct": 0.07,
      "consolidation_tightness_pct": 0.11,
      "distance_from_pm_high_pct": 0.04,
      "extension_from_vwap_pct": 0.5,
      "spread_pct": 0.21
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 13.99,
    "pm_low": 13.805
  },
  {
    "symbol": "AEG",
    "total_score": 49.34,
    "raw_score": 52.3,
    "breakdown": {
      "price_quality": 4.26,
      "volume_quality": 12.0,
      "rvol": 0.89,
      "volume_acceleration": 9.97,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.88,
      "spread_liquidity": 4.64,
      "momentum_consistency": 2.26,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.255,
      "vwap": 9.2595,
      "vwap_slope": -0.0006,
      "rvol": 0.37,
      "volume_acceleration": 2.0,
      "premarket_volume": 186028.0,
      "momentum_pct": -0.05,
      "consolidation_tightness_pct": 0.11,
      "distance_from_pm_high_pct": 0.16,
      "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": false,
      "vwap_rising": false
    },
    "pm_high": 9.27,
    "pm_low": 9.25
  },
  {
    "symbol": "CRML",
    "total_score": 49.32,
    "raw_score": 52.27,
    "breakdown": {
      "price_quality": 2.33,
      "volume_quality": 12.0,
      "rvol": 2.9,
      "volume_acceleration": 2.08,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.24,
      "spread_liquidity": 4.55,
      "momentum_consistency": 3.59,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.325,
      "vwap": 7.3425,
      "vwap_slope": 0.0035,
      "rvol": 1.21,
      "volume_acceleration": 1.21,
      "premarket_volume": 603717.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.48,
      "distance_from_pm_high_pct": 1.01,
      "extension_from_vwap_pct": -0.24,
      "spread_pct": 0.14
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": true
    },
    "pm_high": 7.4,
    "pm_low": 7.29
  },
  {
    "symbol": "CTOS",
    "total_score": 49.22,
    "raw_score": 52.17,
    "breakdown": {
      "price_quality": 4.09,
      "volume_quality": 10.92,
      "rvol": 0.44,
      "volume_acceleration": 5.0,
      "price_momentum": 0.25,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.79,
      "spread_liquidity": 4.63,
      "momentum_consistency": 1.86,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.085,
      "vwap": 9.0841,
      "vwap_slope": -0.0051,
      "rvol": 0.18,
      "volume_acceleration": 1.5,
      "premarket_volume": 90966.0,
      "momentum_pct": 0.17,
      "consolidation_tightness_pct": 0.33,
      "distance_from_pm_high_pct": 0.27,
      "extension_from_vwap_pct": 0.01,
      "spread_pct": 0.11
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 9.11,
    "pm_low": 9.06
  },
  {
    "symbol": "BTG",
    "total_score": 49.17,
    "raw_score": 52.12,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 12.0,
      "volume_acceleration": 2.26,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.38,
      "spread_liquidity": 4.38,
      "momentum_consistency": 2.21,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.375,
      "vwap": 5.3897,
      "vwap_slope": -0.001,
      "rvol": 4.85,
      "volume_acceleration": 0.65,
      "premarket_volume": 2424092.0,
      "momentum_pct": -0.11,
      "consolidation_tightness_pct": 0.28,
      "distance_from_pm_high_pct": 0.83,
      "extension_from_vwap_pct": -0.27,
      "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.42,
    "pm_low": 5.37
  },
  {
    "symbol": "QUAD",
    "total_score": 49.08,
    "raw_score": 52.03,
    "breakdown": {
      "price_quality": 4.56,
      "volume_quality": 5.63,
      "rvol": 0.23,
      "volume_acceleration": 2.76,
      "price_momentum": 0.07,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.82,
      "spread_liquidity": 4.04,
      "momentum_consistency": 2.51,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.435,
      "vwap": 10.3941,
      "vwap_slope": 0.0174,
      "rvol": 0.09,
      "volume_acceleration": 0.79,
      "premarket_volume": 46922.0,
      "momentum_pct": 0.05,
      "consolidation_tightness_pct": 0.48,
      "distance_from_pm_high_pct": 0.24,
      "extension_from_vwap_pct": 0.39,
      "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.46,
    "pm_low": 10.35
  },
  {
    "symbol": "LFST",
    "total_score": 48.9,
    "raw_score": 51.84,
    "breakdown": {
      "price_quality": 2.04,
      "volume_quality": 12.0,
      "rvol": 2.03,
      "volume_acceleration": 1.88,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.77,
      "spread_liquidity": 4.74,
      "momentum_consistency": 3.78,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.965,
      "vwap": 12.9743,
      "vwap_slope": 0.0004,
      "rvol": 0.85,
      "volume_acceleration": 0.54,
      "premarket_volume": 423131.0,
      "momentum_pct": -0.15,
      "consolidation_tightness_pct": 0.19,
      "distance_from_pm_high_pct": 0.31,
      "extension_from_vwap_pct": -0.07,
      "spread_pct": 0.08
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": true
    },
    "pm_high": 13.005,
    "pm_low": 12.925
  },
  {
    "symbol": "ANTX",
    "total_score": 48.74,
    "raw_score": 51.66,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 7.44,
      "rvol": 0.3,
      "volume_acceleration": 2.54,
      "price_momentum": 1.7,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.74,
      "spread_liquidity": 1.55,
      "momentum_consistency": 4.5,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.815,
      "vwap": 5.6552,
      "vwap_slope": 0.0307,
      "rvol": 0.12,
      "volume_acceleration": 0.73,
      "premarket_volume": 61967.0,
      "momentum_pct": 1.13,
      "consolidation_tightness_pct": 1.99,
      "distance_from_pm_high_pct": 0.34,
      "extension_from_vwap_pct": 2.83,
      "spread_pct": 1.03
    },
    "flags": {
      "meets_min_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.835,
    "pm_low": 5.55
  },
  {
    "symbol": "INNV",
    "total_score": 48.48,
    "raw_score": 51.39,
    "breakdown": {
      "price_quality": 4.17,
      "volume_quality": 3.26,
      "rvol": 0.13,
      "volume_acceleration": 2.89,
      "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.38,
      "momentum_consistency": 4.36,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.83,
      "vwap": 10.7835,
      "vwap_slope": 0.0451,
      "rvol": 0.05,
      "volume_acceleration": 0.83,
      "premarket_volume": 27204.0,
      "momentum_pct": -0.09,
      "consolidation_tightness_pct": 0.39,
      "distance_from_pm_high_pct": 0.28,
      "extension_from_vwap_pct": 0.43,
      "spread_pct": 0.18
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 10.86,
    "pm_low": 10.69
  },
  {
    "symbol": "PAYS",
    "total_score": 48.39,
    "raw_score": 51.29,
    "breakdown": {
      "price_quality": 2.39,
      "volume_quality": 4.74,
      "rvol": 0.19,
      "volume_acceleration": 3.34,
      "price_momentum": 0.24,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.94,
      "spread_liquidity": 3.94,
      "momentum_consistency": 4.1,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.61,
      "vwap": 12.5196,
      "vwap_slope": 0.0219,
      "rvol": 0.08,
      "volume_acceleration": 0.96,
      "premarket_volume": 39512.0,
      "momentum_pct": 0.16,
      "consolidation_tightness_pct": 0.32,
      "distance_from_pm_high_pct": 0.08,
      "extension_from_vwap_pct": 0.72,
      "spread_pct": 0.32
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 12.62,
    "pm_low": 12.45
  },
  {
    "symbol": "GPGI",
    "total_score": 48.25,
    "raw_score": 51.15,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 1.11,
      "volume_acceleration": 3.44,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.43,
      "spread_liquidity": 4.53,
      "momentum_consistency": 3.54,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.25,
      "vwap": 14.2619,
      "vwap_slope": 0.0088,
      "rvol": 0.46,
      "volume_acceleration": 0.99,
      "premarket_volume": 231031.0,
      "momentum_pct": -0.21,
      "consolidation_tightness_pct": 0.42,
      "distance_from_pm_high_pct": 0.77,
      "extension_from_vwap_pct": -0.08,
      "spread_pct": 0.14
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": true
    },
    "pm_high": 14.36,
    "pm_low": 14.06
  },
  {
    "symbol": "SSL",
    "total_score": 48.23,
    "raw_score": 51.12,
    "breakdown": {
      "price_quality": 2.34,
      "volume_quality": 12.0,
      "rvol": 1.11,
      "volume_acceleration": 10,
      "price_momentum": 0.18,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.65,
      "spread_liquidity": 4.74,
      "momentum_consistency": 2.71,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.66,
      "vwap": 12.6811,
      "vwap_slope": -0.0015,
      "rvol": 0.46,
      "volume_acceleration": 2.48,
      "premarket_volume": 230254.0,
      "momentum_pct": 0.12,
      "consolidation_tightness_pct": 0.16,
      "distance_from_pm_high_pct": 0.47,
      "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": false,
      "vwap_rising": false
    },
    "pm_high": 12.72,
    "pm_low": 12.64
  },
  {
    "symbol": "MNTN",
    "total_score": 48.15,
    "raw_score": 51.04,
    "breakdown": {
      "price_quality": 1.8,
      "volume_quality": 12.0,
      "rvol": 0.63,
      "volume_acceleration": 3.94,
      "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.49,
      "momentum_consistency": 3.05,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.195,
      "vwap": 13.198,
      "vwap_slope": 0.021,
      "rvol": 0.26,
      "volume_acceleration": 1.13,
      "premarket_volume": 131669.0,
      "momentum_pct": -0.57,
      "consolidation_tightness_pct": 0.68,
      "distance_from_pm_high_pct": 0.64,
      "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": 13.28,
    "pm_low": 13.105
  },
  {
    "symbol": "AMPL",
    "total_score": 48.07,
    "raw_score": 50.95,
    "breakdown": {
      "price_quality": 1.71,
      "volume_quality": 12.0,
      "rvol": 1.75,
      "volume_acceleration": 10,
      "price_momentum": 0.11,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.14,
      "spread_liquidity": 4.75,
      "momentum_consistency": 3.09,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.285,
      "vwap": 13.3087,
      "vwap_slope": -0.0044,
      "rvol": 0.73,
      "volume_acceleration": 4.93,
      "premarket_volume": 364247.0,
      "momentum_pct": 0.08,
      "consolidation_tightness_pct": 0.34,
      "distance_from_pm_high_pct": 1.15,
      "extension_from_vwap_pct": -0.18,
      "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.44,
    "pm_low": 13.195
  },
  {
    "symbol": "CXDO",
    "total_score": 47.95,
    "raw_score": 50.83,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 5.15,
      "rvol": 0.21,
      "volume_acceleration": 3.96,
      "price_momentum": 0.13,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.94,
      "spread_liquidity": 4.44,
      "momentum_consistency": 3.11,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.935,
      "vwap": 5.9003,
      "vwap_slope": 0.0074,
      "rvol": 0.09,
      "volume_acceleration": 1.14,
      "premarket_volume": 42911.0,
      "momentum_pct": 0.08,
      "consolidation_tightness_pct": 0.25,
      "distance_from_pm_high_pct": 0.08,
      "extension_from_vwap_pct": 0.59,
      "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.94,
    "pm_low": 5.87
  },
  {
    "symbol": "ULCC",
    "total_score": 47.94,
    "raw_score": 50.82,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 1.9,
      "volume_acceleration": 3.4,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.34,
      "spread_liquidity": 4.41,
      "momentum_consistency": 2.67,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.645,
      "vwap": 5.6454,
      "vwap_slope": 0.0123,
      "rvol": 0.79,
      "volume_acceleration": 1.34,
      "premarket_volume": 395698.0,
      "momentum_pct": -0.7,
      "consolidation_tightness_pct": 0.97,
      "distance_from_pm_high_pct": 0.88,
      "extension_from_vwap_pct": -0.01,
      "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.695,
    "pm_low": 5.58
  },
  {
    "symbol": "VSTS",
    "total_score": 47.81,
    "raw_score": 50.68,
    "breakdown": {
      "price_quality": 2.84,
      "volume_quality": 12.0,
      "rvol": 0.51,
      "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.78,
      "spread_liquidity": 4.73,
      "momentum_consistency": 2.42,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.165,
      "vwap": 12.1667,
      "vwap_slope": -0.0022,
      "rvol": 0.21,
      "volume_acceleration": 2.01,
      "premarket_volume": 105839.0,
      "momentum_pct": -0.12,
      "consolidation_tightness_pct": 0.16,
      "distance_from_pm_high_pct": 0.29,
      "extension_from_vwap_pct": -0.01,
      "spread_pct": 0.08
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 12.2,
    "pm_low": 12.135
  },
  {
    "symbol": "IMMR",
    "total_score": 47.81,
    "raw_score": 50.68,
    "breakdown": {
      "price_quality": 2.59,
      "volume_quality": 2.55,
      "rvol": 0.1,
      "volume_acceleration": 6.11,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 6,
      "spread_liquidity": 4.12,
      "momentum_consistency": 2.8,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.59,
      "vwap": 7.5749,
      "vwap_slope": 0.004,
      "rvol": 0.04,
      "volume_acceleration": 1.61,
      "premarket_volume": 21267.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.07,
      "distance_from_pm_high_pct": 0.0,
      "extension_from_vwap_pct": 0.2,
      "spread_pct": 0.26
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 7.59,
    "pm_low": 7.54
  },
  {
    "symbol": "ARVN",
    "total_score": 47.75,
    "raw_score": 50.61,
    "breakdown": {
      "price_quality": 4.48,
      "volume_quality": 2.93,
      "rvol": 0.12,
      "volume_acceleration": 2.59,
      "price_momentum": 0.16,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.96,
      "spread_liquidity": 4.65,
      "momentum_consistency": 3.33,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.48,
      "vwap": 9.4514,
      "vwap_slope": 0.0044,
      "rvol": 0.05,
      "volume_acceleration": 0.74,
      "premarket_volume": 24406.0,
      "momentum_pct": 0.11,
      "consolidation_tightness_pct": 0.27,
      "distance_from_pm_high_pct": 0.05,
      "extension_from_vwap_pct": 0.3,
      "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.485,
    "pm_low": 9.42
  },
  {
    "symbol": "RUN",
    "total_score": 47.72,
    "raw_score": 50.58,
    "breakdown": {
      "price_quality": 3.97,
      "volume_quality": 12.0,
      "rvol": 7.32,
      "volume_acceleration": 1.75,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 4.65,
      "spread_liquidity": 4.63,
      "momentum_consistency": 3.86,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.975,
      "vwap": 9.0464,
      "vwap_slope": -0.006,
      "rvol": 2.75,
      "volume_acceleration": 0.5,
      "premarket_volume": 1372626.0,
      "momentum_pct": -0.61,
      "consolidation_tightness_pct": 0.72,
      "distance_from_pm_high_pct": 1.8,
      "extension_from_vwap_pct": -0.79,
      "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.1392,
    "pm_low": 8.97
  },
  {
    "symbol": "MBC",
    "total_score": 47.6,
    "raw_score": 50.45,
    "breakdown": {
      "price_quality": 3.29,
      "volume_quality": 12.0,
      "rvol": 0.68,
      "volume_acceleration": 2.34,
      "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.6,
      "momentum_consistency": 2.17,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.295,
      "vwap": 8.2976,
      "vwap_slope": 0.0006,
      "rvol": 0.28,
      "volume_acceleration": 0.67,
      "premarket_volume": 142001.0,
      "momentum_pct": -0.06,
      "consolidation_tightness_pct": 0.18,
      "distance_from_pm_high_pct": 0.3,
      "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.32,
    "pm_low": 8.275
  },
  {
    "symbol": "EVMN",
    "total_score": 47.55,
    "raw_score": 50.41,
    "breakdown": {
      "price_quality": 2.47,
      "volume_quality": 2.64,
      "rvol": 0.11,
      "volume_acceleration": 5.58,
      "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": 3.94,
      "momentum_consistency": 3.33,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.53,
      "vwap": 12.5095,
      "vwap_slope": 0.0154,
      "rvol": 0.04,
      "volume_acceleration": 1.56,
      "premarket_volume": 22004.0,
      "momentum_pct": -0.08,
      "consolidation_tightness_pct": 0.24,
      "distance_from_pm_high_pct": 0.08,
      "extension_from_vwap_pct": 0.16,
      "spread_pct": 0.32
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 12.54,
    "pm_low": 12.48
  },
  {
    "symbol": "WSE",
    "total_score": 47.35,
    "raw_score": 50.2,
    "breakdown": {
      "price_quality": 1.91,
      "volume_quality": 12.0,
      "rvol": 0.67,
      "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.86,
      "spread_liquidity": 4.75,
      "momentum_consistency": 2.61,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.085,
      "vwap": 13.0881,
      "vwap_slope": -0.0047,
      "rvol": 0.28,
      "volume_acceleration": 2.6,
      "premarket_volume": 139633.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.11,
      "distance_from_pm_high_pct": 0.19,
      "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": false,
      "vwap_rising": false
    },
    "pm_high": 13.11,
    "pm_low": 13.075
  },
  {
    "symbol": "FRSH",
    "total_score": 47.35,
    "raw_score": 50.19,
    "breakdown": {
      "price_quality": 1.73,
      "volume_quality": 12.0,
      "rvol": 1.65,
      "volume_acceleration": 1.53,
      "price_momentum": 0.06,
      "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.45,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.265,
      "vwap": 13.2579,
      "vwap_slope": -0.0005,
      "rvol": 0.69,
      "volume_acceleration": 1.15,
      "premarket_volume": 342827.0,
      "momentum_pct": 0.04,
      "consolidation_tightness_pct": 0.19,
      "distance_from_pm_high_pct": 0.23,
      "extension_from_vwap_pct": 0.05,
      "spread_pct": 0.08
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 13.2955,
    "pm_low": 13.21
  },
  {
    "symbol": "CXM",
    "total_score": 47.29,
    "raw_score": 50.12,
    "breakdown": {
      "price_quality": 2.32,
      "volume_quality": 12.0,
      "rvol": 2.72,
      "volume_acceleration": 8.21,
      "price_momentum": 0.31,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.09,
      "spread_liquidity": 4.54,
      "momentum_consistency": 2.53,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.32,
      "vwap": 7.3361,
      "vwap_slope": -0.0046,
      "rvol": 1.13,
      "volume_acceleration": 1.82,
      "premarket_volume": 567431.0,
      "momentum_pct": 0.21,
      "consolidation_tightness_pct": 0.55,
      "distance_from_pm_high_pct": 1.21,
      "extension_from_vwap_pct": -0.22,
      "spread_pct": 0.14
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 7.41,
    "pm_low": 7.285
  },
  {
    "symbol": "RMNI",
    "total_score": 47.16,
    "raw_score": 49.99,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 6.87,
      "rvol": 0.27,
      "volume_acceleration": 2.39,
      "price_momentum": 0.15,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.78,
      "spread_liquidity": 4.36,
      "momentum_consistency": 2.26,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.17,
      "vwap": 5.1673,
      "vwap_slope": 0.0003,
      "rvol": 0.11,
      "volume_acceleration": 0.69,
      "premarket_volume": 57290.0,
      "momentum_pct": 0.1,
      "consolidation_tightness_pct": 0.19,
      "distance_from_pm_high_pct": 0.29,
      "extension_from_vwap_pct": 0.05,
      "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.185,
    "pm_low": 5.145
  },
  {
    "symbol": "PRGO",
    "total_score": 47.14,
    "raw_score": 49.97,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 1.53,
      "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.42,
      "spread_liquidity": 4.77,
      "momentum_consistency": 2.34,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.735,
      "vwap": 14.8038,
      "vwap_slope": -0.0054,
      "rvol": 0.64,
      "volume_acceleration": 2.71,
      "premarket_volume": 318955.0,
      "momentum_pct": -0.2,
      "consolidation_tightness_pct": 0.31,
      "distance_from_pm_high_pct": 0.77,
      "extension_from_vwap_pct": -0.46,
      "spread_pct": 0.07
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 14.85,
    "pm_low": 14.73
  },
  {
    "symbol": "SRAD",
    "total_score": 47.12,
    "raw_score": 49.95,
    "breakdown": {
      "price_quality": 2.03,
      "volume_quality": 10.91,
      "rvol": 0.44,
      "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.8,
      "spread_liquidity": 4.74,
      "momentum_consistency": 2.61,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.97,
      "vwap": 12.9713,
      "vwap_slope": 0.0018,
      "rvol": 0.18,
      "volume_acceleration": 1.1,
      "premarket_volume": 90940.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.23,
      "distance_from_pm_high_pct": 0.27,
      "extension_from_vwap_pct": -0.01,
      "spread_pct": 0.08
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": true
    },
    "pm_high": 13.005,
    "pm_low": 12.93
  },
  {
    "symbol": "DUOT",
    "total_score": 47.07,
    "raw_score": 49.9,
    "breakdown": {
      "price_quality": 3.56,
      "volume_quality": 5.15,
      "rvol": 0.21,
      "volume_acceleration": 1.95,
      "price_momentum": 0.18,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.74,
      "spread_liquidity": 3.83,
      "momentum_consistency": 2.89,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.56,
      "vwap": 8.5456,
      "vwap_slope": 0.0068,
      "rvol": 0.09,
      "volume_acceleration": 0.56,
      "premarket_volume": 42885.0,
      "momentum_pct": 0.12,
      "consolidation_tightness_pct": 0.23,
      "distance_from_pm_high_pct": 0.35,
      "extension_from_vwap_pct": 0.17,
      "spread_pct": 0.35
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 8.59,
    "pm_low": 8.495
  },
  {
    "symbol": "XGN",
    "total_score": 47.04,
    "raw_score": 49.86,
    "breakdown": {
      "price_quality": 2.6,
      "volume_quality": 5.59,
      "rvol": 0.22,
      "volume_acceleration": 2.22,
      "price_momentum": 0.2,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 6,
      "spread_liquidity": 3.68,
      "momentum_consistency": 2.95,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.6,
      "vwap": 7.5101,
      "vwap_slope": 0.0222,
      "rvol": 0.09,
      "volume_acceleration": 0.64,
      "premarket_volume": 46588.0,
      "momentum_pct": 0.13,
      "consolidation_tightness_pct": 1.12,
      "distance_from_pm_high_pct": 0.0,
      "extension_from_vwap_pct": 1.2,
      "spread_pct": 0.39
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 7.6,
    "pm_low": 7.45
  },
  {
    "symbol": "RILY",
    "total_score": 47.03,
    "raw_score": 49.85,
    "breakdown": {
      "price_quality": 1.94,
      "volume_quality": 5.45,
      "rvol": 0.22,
      "volume_acceleration": 2.83,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.57,
      "spread_liquidity": 3.56,
      "momentum_consistency": 3.89,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.94,
      "vwap": 6.9002,
      "vwap_slope": 0.0243,
      "rvol": 0.09,
      "volume_acceleration": 0.81,
      "premarket_volume": 45419.0,
      "momentum_pct": -0.29,
      "consolidation_tightness_pct": 0.58,
      "distance_from_pm_high_pct": 0.57,
      "extension_from_vwap_pct": 0.58,
      "spread_pct": 0.43
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 6.98,
    "pm_low": 6.84
  },
  {
    "symbol": "SFL",
    "total_score": 47.01,
    "raw_score": 49.83,
    "breakdown": {
      "price_quality": 2.52,
      "volume_quality": 12.0,
      "rvol": 0.99,
      "volume_acceleration": 1.65,
      "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.73,
      "momentum_consistency": 2.77,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.485,
      "vwap": 12.4883,
      "vwap_slope": 0.0001,
      "rvol": 0.41,
      "volume_acceleration": 0.47,
      "premarket_volume": 205930.0,
      "momentum_pct": -0.08,
      "consolidation_tightness_pct": 0.08,
      "distance_from_pm_high_pct": 0.56,
      "extension_from_vwap_pct": -0.03,
      "spread_pct": 0.08
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": true
    },
    "pm_high": 12.555,
    "pm_low": 12.425
  },
  {
    "symbol": "ARCO",
    "total_score": 46.82,
    "raw_score": 49.63,
    "breakdown": {
      "price_quality": 3.21,
      "volume_quality": 12.0,
      "rvol": 0.51,
      "volume_acceleration": 8.82,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.73,
      "spread_liquidity": 4.59,
      "momentum_consistency": 2.36,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.21,
      "vwap": 8.2197,
      "vwap_slope": -0.0005,
      "rvol": 0.21,
      "volume_acceleration": 1.88,
      "premarket_volume": 107127.0,
      "momentum_pct": -0.12,
      "consolidation_tightness_pct": 0.18,
      "distance_from_pm_high_pct": 0.36,
      "extension_from_vwap_pct": -0.12,
      "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.24,
    "pm_low": 8.2
  },
  {
    "symbol": "BBCP",
    "total_score": 46.76,
    "raw_score": 49.57,
    "breakdown": {
      "price_quality": 3.95,
      "volume_quality": 11.98,
      "rvol": 0.48,
      "volume_acceleration": 2.46,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 4.93,
      "spread_liquidity": 3.51,
      "momentum_consistency": 2.67,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.95,
      "vwap": 9.0257,
      "vwap_slope": 0.0241,
      "rvol": 0.2,
      "volume_acceleration": 0.71,
      "premarket_volume": 99847.0,
      "momentum_pct": -0.56,
      "consolidation_tightness_pct": 0.67,
      "distance_from_pm_high_pct": 1.43,
      "extension_from_vwap_pct": -0.84,
      "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": true
    },
    "pm_high": 9.08,
    "pm_low": 8.93
  },
  {
    "symbol": "AURA",
    "total_score": 46.67,
    "raw_score": 49.47,
    "breakdown": {
      "price_quality": 2.43,
      "volume_quality": 4.0,
      "rvol": 0.16,
      "volume_acceleration": 3.18,
      "price_momentum": 0.22,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.96,
      "spread_liquidity": 4.55,
      "momentum_consistency": 2.57,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.431,
      "vwap": 7.4134,
      "vwap_slope": 0.0055,
      "rvol": 0.07,
      "volume_acceleration": 0.91,
      "premarket_volume": 33302.0,
      "momentum_pct": 0.15,
      "consolidation_tightness_pct": 0.27,
      "distance_from_pm_high_pct": 0.05,
      "extension_from_vwap_pct": 0.24,
      "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.435,
    "pm_low": 7.395
  },
  {
    "symbol": "ALVO",
    "total_score": 46.53,
    "raw_score": 49.32,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 5.41,
      "rvol": 0.22,
      "volume_acceleration": 3.89,
      "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.38,
      "momentum_consistency": 1.74,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.34,
      "vwap": 5.3381,
      "vwap_slope": 0.001,
      "rvol": 0.09,
      "volume_acceleration": 1.12,
      "premarket_volume": 45043.0,
      "momentum_pct": -0.09,
      "consolidation_tightness_pct": 0.15,
      "distance_from_pm_high_pct": 0.28,
      "extension_from_vwap_pct": 0.04,
      "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.32
  },
  {
    "symbol": "BHC",
    "total_score": 46.52,
    "raw_score": 49.31,
    "breakdown": {
      "price_quality": 1.74,
      "volume_quality": 12.0,
      "rvol": 1.43,
      "volume_acceleration": 1.86,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.56,
      "spread_liquidity": 4.51,
      "momentum_consistency": 2.62,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.745,
      "vwap": 6.7463,
      "vwap_slope": 0.0002,
      "rvol": 0.6,
      "volume_acceleration": 0.53,
      "premarket_volume": 297949.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.3,
      "distance_from_pm_high_pct": 0.59,
      "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.785,
    "pm_low": 6.68
  },
  {
    "symbol": "LTRX",
    "total_score": 46.43,
    "raw_score": 49.22,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 5.56,
      "rvol": 0.22,
      "volume_acceleration": 2.73,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 6,
      "spread_liquidity": 4.36,
      "momentum_consistency": 2.44,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.235,
      "vwap": 5.2266,
      "vwap_slope": 0.0008,
      "rvol": 0.09,
      "volume_acceleration": 0.78,
      "premarket_volume": 46333.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.19,
      "distance_from_pm_high_pct": 0.0,
      "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": true,
      "vwap_rising": true
    },
    "pm_high": 5.235,
    "pm_low": 5.21
  },
  {
    "symbol": "ZURA",
    "total_score": 46.23,
    "raw_score": 49.0,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 4.83,
      "rvol": 0.19,
      "volume_acceleration": 2.3,
      "price_momentum": 0.27,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.87,
      "spread_liquidity": 4.41,
      "momentum_consistency": 3.24,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.64,
      "vwap": 5.6309,
      "vwap_slope": 0.0008,
      "rvol": 0.08,
      "volume_acceleration": 0.66,
      "premarket_volume": 40221.0,
      "momentum_pct": 0.18,
      "consolidation_tightness_pct": 0.18,
      "distance_from_pm_high_pct": 0.18,
      "extension_from_vwap_pct": 0.16,
      "spread_pct": 0.18
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 5.65,
    "pm_low": 5.6
  },
  {
    "symbol": "MNRO",
    "total_score": 46.21,
    "raw_score": 48.98,
    "breakdown": {
      "price_quality": 2.61,
      "volume_quality": 7.78,
      "rvol": 0.31,
      "volume_acceleration": 5.86,
      "price_momentum": 0.79,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.79,
      "spread_liquidity": 4.73,
      "momentum_consistency": 1.92,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.395,
      "vwap": 12.3834,
      "vwap_slope": -0.0279,
      "rvol": 0.13,
      "volume_acceleration": 1.59,
      "premarket_volume": 64820.0,
      "momentum_pct": 0.53,
      "consolidation_tightness_pct": 0.57,
      "distance_from_pm_high_pct": 0.28,
      "extension_from_vwap_pct": 0.09,
      "spread_pct": 0.08
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 12.43,
    "pm_low": 12.31
  },
  {
    "symbol": "ACHR",
    "total_score": 46.18,
    "raw_score": 48.95,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 7.92,
      "volume_acceleration": 2.01,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.67,
      "spread_liquidity": 4.41,
      "momentum_consistency": 3.03,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.645,
      "vwap": 5.6487,
      "vwap_slope": -0.0003,
      "rvol": 2.97,
      "volume_acceleration": 0.58,
      "premarket_volume": 1485624.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.18,
      "distance_from_pm_high_pct": 0.44,
      "extension_from_vwap_pct": -0.06,
      "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": false
    },
    "pm_high": 5.67,
    "pm_low": 5.63
  },
  {
    "symbol": "AMCX",
    "total_score": 46.11,
    "raw_score": 48.88,
    "breakdown": {
      "price_quality": 2.32,
      "volume_quality": 4.3,
      "rvol": 0.17,
      "volume_acceleration": 2.56,
      "price_momentum": 0.18,
      "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": 2.35,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.675,
      "vwap": 12.6527,
      "vwap_slope": 0.0103,
      "rvol": 0.07,
      "volume_acceleration": 0.74,
      "premarket_volume": 35815.0,
      "momentum_pct": 0.12,
      "consolidation_tightness_pct": 0.28,
      "distance_from_pm_high_pct": 0.2,
      "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.7,
    "pm_low": 12.61
  },
  {
    "symbol": "UTZ",
    "total_score": 46.08,
    "raw_score": 48.84,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 1.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.92,
      "spread_liquidity": 4.77,
      "momentum_consistency": 1.0,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.195,
      "vwap": 14.2022,
      "vwap_slope": -0.0005,
      "rvol": 0.52,
      "volume_acceleration": 5.4,
      "premarket_volume": 261462.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.04,
      "distance_from_pm_high_pct": 0.11,
      "extension_from_vwap_pct": -0.05,
      "spread_pct": 0.07
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 14.21,
    "pm_low": 14.19
  },
  {
    "symbol": "HOPE",
    "total_score": 46.07,
    "raw_score": 48.84,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 5.7,
      "rvol": 0.23,
      "volume_acceleration": 2.29,
      "price_momentum": 0.11,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.95,
      "spread_liquidity": 4.76,
      "momentum_consistency": 1.9,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.045,
      "vwap": 14.03,
      "vwap_slope": 0.005,
      "rvol": 0.1,
      "volume_acceleration": 1.23,
      "premarket_volume": 47513.0,
      "momentum_pct": 0.07,
      "consolidation_tightness_pct": 0.14,
      "distance_from_pm_high_pct": 0.07,
      "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": true,
      "vwap_rising": true
    },
    "pm_high": 14.055,
    "pm_low": 14.015
  },
  {
    "symbol": "STTK",
    "total_score": 46.03,
    "raw_score": 48.79,
    "breakdown": {
      "price_quality": 1.92,
      "volume_quality": 5.54,
      "rvol": 0.22,
      "volume_acceleration": 1.75,
      "price_momentum": 0.22,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.91,
      "spread_liquidity": 4.04,
      "momentum_consistency": 2.79,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.92,
      "vwap": 6.8986,
      "vwap_slope": 0.0082,
      "rvol": 0.09,
      "volume_acceleration": 1.18,
      "premarket_volume": 46188.0,
      "momentum_pct": 0.14,
      "consolidation_tightness_pct": 0.14,
      "distance_from_pm_high_pct": 0.12,
      "extension_from_vwap_pct": 0.31,
      "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": 6.9284,
    "pm_low": 6.86
  },
  {
    "symbol": "SOPH",
    "total_score": 45.99,
    "raw_score": 48.75,
    "breakdown": {
      "price_quality": 3.11,
      "volume_quality": 4.41,
      "rvol": 0.18,
      "volume_acceleration": 1.09,
      "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.59,
      "momentum_consistency": 3.06,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.11,
      "vwap": 8.0563,
      "vwap_slope": 0.01,
      "rvol": 0.07,
      "volume_acceleration": 0.31,
      "premarket_volume": 36762.0,
      "momentum_pct": -0.12,
      "consolidation_tightness_pct": 0.12,
      "distance_from_pm_high_pct": 0.12,
      "extension_from_vwap_pct": 0.67,
      "spread_pct": 0.12
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 8.12,
    "pm_low": 7.99
  },
  {
    "symbol": "FLNC",
    "total_score": 45.95,
    "raw_score": 48.7,
    "breakdown": {
      "price_quality": 4.38,
      "volume_quality": 12.0,
      "rvol": 3.3,
      "volume_acceleration": 2.23,
      "price_momentum": 0.28,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.28,
      "spread_liquidity": 4.69,
      "momentum_consistency": 4.14,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.615,
      "vwap": 10.6186,
      "vwap_slope": -0.0021,
      "rvol": 1.37,
      "volume_acceleration": 1.22,
      "premarket_volume": 687298.0,
      "momentum_pct": 0.19,
      "consolidation_tightness_pct": 0.28,
      "distance_from_pm_high_pct": 0.95,
      "extension_from_vwap_pct": -0.03,
      "spread_pct": 0.09
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 10.7172,
    "pm_low": 10.495
  },
  {
    "symbol": "FIGS",
    "total_score": 45.72,
    "raw_score": 48.46,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 11.7,
      "rvol": 0.47,
      "volume_acceleration": 1.76,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.8,
      "spread_liquidity": 4.78,
      "momentum_consistency": 2.86,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 15.0,
      "vwap": 15.0002,
      "vwap_slope": 0.0046,
      "rvol": 0.2,
      "volume_acceleration": 0.51,
      "premarket_volume": 97513.0,
      "momentum_pct": -0.13,
      "consolidation_tightness_pct": 0.2,
      "distance_from_pm_high_pct": 0.27,
      "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": false,
      "vwap_rising": true
    },
    "pm_high": 15.04,
    "pm_low": 14.945
  },
  {
    "symbol": "FSK",
    "total_score": 45.68,
    "raw_score": 48.42,
    "breakdown": {
      "price_quality": 2.65,
      "volume_quality": 9.84,
      "rvol": 0.39,
      "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.88,
      "spread_liquidity": 4.73,
      "momentum_consistency": 2.46,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.345,
      "vwap": 12.3505,
      "vwap_slope": -0.0018,
      "rvol": 0.16,
      "volume_acceleration": 2.09,
      "premarket_volume": 82003.0,
      "momentum_pct": 0.04,
      "consolidation_tightness_pct": 0.12,
      "distance_from_pm_high_pct": 0.16,
      "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.365,
    "pm_low": 12.3209
  },
  {
    "symbol": "CLYM",
    "total_score": 45.66,
    "raw_score": 48.4,
    "breakdown": {
      "price_quality": 0.0,
      "volume_quality": 12.0,
      "rvol": 1.18,
      "volume_acceleration": 2.18,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.28,
      "spread_liquidity": 3.89,
      "momentum_consistency": 4.28,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 15.025,
      "vwap": 15.0388,
      "vwap_slope": 0.0076,
      "rvol": 0.49,
      "volume_acceleration": 0.63,
      "premarket_volume": 244893.0,
      "momentum_pct": -0.23,
      "consolidation_tightness_pct": 0.53,
      "distance_from_pm_high_pct": 0.96,
      "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": false,
      "vwap_rising": true
    },
    "pm_high": 15.17,
    "pm_low": 14.895
  },
  {
    "symbol": "EMBC",
    "total_score": 45.65,
    "raw_score": 48.39,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 0.54,
      "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.67,
      "spread_liquidity": 4.41,
      "momentum_consistency": 2.15,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.645,
      "vwap": 5.6465,
      "vwap_slope": 0.0022,
      "rvol": 0.22,
      "volume_acceleration": 0.73,
      "premarket_volume": 111599.0,
      "momentum_pct": -0.18,
      "consolidation_tightness_pct": 0.25,
      "distance_from_pm_high_pct": 0.44,
      "extension_from_vwap_pct": -0.03,
      "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.67,
    "pm_low": 5.62
  },
  {
    "symbol": "GCMG",
    "total_score": 45.59,
    "raw_score": 48.32,
    "breakdown": {
      "price_quality": 1.85,
      "volume_quality": 4.32,
      "rvol": 0.17,
      "volume_acceleration": 9.44,
      "price_momentum": 0.06,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.97,
      "spread_liquidity": 4.75,
      "momentum_consistency": 2.57,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.155,
      "vwap": 13.1363,
      "vwap_slope": -0.004,
      "rvol": 0.07,
      "volume_acceleration": 1.94,
      "premarket_volume": 35993.0,
      "momentum_pct": 0.04,
      "consolidation_tightness_pct": 0.23,
      "distance_from_pm_high_pct": 0.04,
      "extension_from_vwap_pct": 0.14,
      "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.16,
    "pm_low": 13.11
  },
  {
    "symbol": "ASAN",
    "total_score": 45.53,
    "raw_score": 48.26,
    "breakdown": {
      "price_quality": 4.78,
      "volume_quality": 12.0,
      "rvol": 3.19,
      "volume_acceleration": 2.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.35,
      "spread_liquidity": 4.66,
      "momentum_consistency": 3.09,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.775,
      "vwap": 9.7931,
      "vwap_slope": -0.0041,
      "rvol": 1.33,
      "volume_acceleration": 0.8,
      "premarket_volume": 663958.0,
      "momentum_pct": -0.1,
      "consolidation_tightness_pct": 0.36,
      "distance_from_pm_high_pct": 0.86,
      "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": 9.8599,
    "pm_low": 9.75
  },
  {
    "symbol": "KLAR",
    "total_score": 45.43,
    "raw_score": 48.15,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 2.32,
      "volume_acceleration": 7.39,
      "price_momentum": 0.05,
      "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.21,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.485,
      "vwap": 14.5165,
      "vwap_slope": -0.005,
      "rvol": 0.97,
      "volume_acceleration": 1.74,
      "premarket_volume": 483599.0,
      "momentum_pct": 0.03,
      "consolidation_tightness_pct": 0.14,
      "distance_from_pm_high_pct": 0.65,
      "extension_from_vwap_pct": -0.22,
      "spread_pct": 0.07
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 14.58,
    "pm_low": 14.47
  },
  {
    "symbol": "ALLT",
    "total_score": 45.43,
    "raw_score": 48.16,
    "breakdown": {
      "price_quality": 2.45,
      "volume_quality": 2.53,
      "rvol": 0.1,
      "volume_acceleration": 10,
      "price_momentum": 0.2,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.79,
      "spread_liquidity": 4.55,
      "momentum_consistency": 3.33,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.45,
      "vwap": 7.4413,
      "vwap_slope": -0.0104,
      "rvol": 0.04,
      "volume_acceleration": 3.96,
      "premarket_volume": 21093.0,
      "momentum_pct": 0.13,
      "consolidation_tightness_pct": 0.54,
      "distance_from_pm_high_pct": 0.28,
      "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": true,
      "vwap_rising": false
    },
    "pm_high": 7.471,
    "pm_low": 7.42
  },
  {
    "symbol": "LSPD",
    "total_score": 45.42,
    "raw_score": 48.14,
    "breakdown": {
      "price_quality": 4.6,
      "volume_quality": 5.98,
      "rvol": 0.24,
      "volume_acceleration": 2.89,
      "price_momentum": 0.14,
      "price_structure": 12,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.57,
      "spread_liquidity": 4.68,
      "momentum_consistency": 2.05,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.405,
      "vwap": 10.4345,
      "vwap_slope": -0.0137,
      "rvol": 0.1,
      "volume_acceleration": 0.83,
      "premarket_volume": 49822.0,
      "momentum_pct": 0.1,
      "consolidation_tightness_pct": 0.14,
      "distance_from_pm_high_pct": 0.57,
      "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": true,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 10.465,
    "pm_low": 10.39
  },
  {
    "symbol": "RITM",
    "total_score": 45.37,
    "raw_score": 48.09,
    "breakdown": {
      "price_quality": 4.98,
      "volume_quality": 12.0,
      "rvol": 1.85,
      "volume_acceleration": 3.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.63,
      "spread_liquidity": 4.67,
      "momentum_consistency": 2.62,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.02,
      "vwap": 10.0351,
      "vwap_slope": -0.0031,
      "rvol": 0.77,
      "volume_acceleration": 1.13,
      "premarket_volume": 386145.0,
      "momentum_pct": -0.05,
      "consolidation_tightness_pct": 0.1,
      "distance_from_pm_high_pct": 0.5,
      "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.07,
    "pm_low": 10.01
  },
  {
    "symbol": "NTSK",
    "total_score": 45.33,
    "raw_score": 48.05,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 4.7,
      "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.24,
      "spread_liquidity": 4.76,
      "momentum_consistency": 3.59,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.615,
      "vwap": 13.6412,
      "vwap_slope": -0.0093,
      "rvol": 1.76,
      "volume_acceleration": 1.11,
      "premarket_volume": 881405.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.4,
      "distance_from_pm_high_pct": 1.02,
      "extension_from_vwap_pct": -0.19,
      "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.755,
    "pm_low": 13.49
  },
  {
    "symbol": "EOLS",
    "total_score": 45.28,
    "raw_score": 48.0,
    "breakdown": {
      "price_quality": 4.01,
      "volume_quality": 7.55,
      "rvol": 0.3,
      "volume_acceleration": 4.06,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.75,
      "spread_liquidity": 4.26,
      "momentum_consistency": 2.46,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.01,
      "vwap": 9.0121,
      "vwap_slope": 0.0054,
      "rvol": 0.13,
      "volume_acceleration": 1.41,
      "premarket_volume": 62945.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.11,
      "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": false,
      "vwap_rising": true
    },
    "pm_high": 9.04,
    "pm_low": 8.98
  },
  {
    "symbol": "EQX",
    "total_score": 45.21,
    "raw_score": 47.93,
    "breakdown": {
      "price_quality": 2.49,
      "volume_quality": 12.0,
      "rvol": 4.95,
      "volume_acceleration": 2.98,
      "price_momentum": 0.12,
      "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.85,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.51,
      "vwap": 12.5417,
      "vwap_slope": -0.0115,
      "rvol": 1.86,
      "volume_acceleration": 0.86,
      "premarket_volume": 927683.0,
      "momentum_pct": 0.08,
      "consolidation_tightness_pct": 0.16,
      "distance_from_pm_high_pct": 0.79,
      "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.61,
    "pm_low": 12.49
  },
  {
    "symbol": "APPS",
    "total_score": 45.16,
    "raw_score": 47.87,
    "breakdown": {
      "price_quality": 4.87,
      "volume_quality": 12.0,
      "rvol": 1.2,
      "volume_acceleration": 5.07,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 4.69,
      "spread_liquidity": 4.33,
      "momentum_consistency": 3.31,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.87,
      "vwap": 9.9559,
      "vwap_slope": -0.0324,
      "rvol": 0.5,
      "volume_acceleration": 1.51,
      "premarket_volume": 250874.0,
      "momentum_pct": -0.7,
      "consolidation_tightness_pct": 1.08,
      "distance_from_pm_high_pct": 1.74,
      "extension_from_vwap_pct": -0.86,
      "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.045,
    "pm_low": 9.87
  },
  {
    "symbol": "DCTH",
    "total_score": 45.1,
    "raw_score": 47.81,
    "breakdown": {
      "price_quality": 0.0,
      "volume_quality": 2.51,
      "rvol": 0.1,
      "volume_acceleration": 2.33,
      "price_momentum": 0.14,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.93,
      "spread_liquidity": 4.8,
      "momentum_consistency": 3.2,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 16.455,
      "vwap": 16.4357,
      "vwap_slope": -0.0051,
      "rvol": 0.04,
      "volume_acceleration": 0.67,
      "premarket_volume": 20892.0,
      "momentum_pct": 0.09,
      "consolidation_tightness_pct": 0.12,
      "distance_from_pm_high_pct": 0.09,
      "extension_from_vwap_pct": 0.12,
      "spread_pct": 0.06
    },
    "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": 16.47,
    "pm_low": 16.4
  },
  {
    "symbol": "SD",
    "total_score": 45.06,
    "raw_score": 47.76,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 4.29,
      "rvol": 0.17,
      "volume_acceleration": 1.89,
      "price_momentum": 0.05,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.95,
      "spread_liquidity": 4.54,
      "momentum_consistency": 2.96,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.53,
      "vwap": 14.5105,
      "vwap_slope": 0.0059,
      "rvol": 0.07,
      "volume_acceleration": 0.54,
      "premarket_volume": 35791.0,
      "momentum_pct": 0.03,
      "consolidation_tightness_pct": 0.14,
      "distance_from_pm_high_pct": 0.07,
      "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": true,
      "vwap_rising": true
    },
    "pm_high": 14.54,
    "pm_low": 14.48
  },
  {
    "symbol": "ALMU",
    "total_score": 44.96,
    "raw_score": 47.66,
    "breakdown": {
      "price_quality": 2.13,
      "volume_quality": 2.44,
      "rvol": 0.1,
      "volume_acceleration": 3.92,
      "price_momentum": 0.23,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.88,
      "spread_liquidity": 2.92,
      "momentum_consistency": 3.64,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.87,
      "vwap": 12.8281,
      "vwap_slope": 0.0195,
      "rvol": 0.04,
      "volume_acceleration": 1.13,
      "premarket_volume": 20313.0,
      "momentum_pct": 0.16,
      "consolidation_tightness_pct": 0.42,
      "distance_from_pm_high_pct": 0.16,
      "extension_from_vwap_pct": 0.33,
      "spread_pct": 0.62
    },
    "flags": {
      "meets_min_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.89,
    "pm_low": 12.7303
  },
  {
    "symbol": "XMAX",
    "total_score": 44.79,
    "raw_score": 47.48,
    "breakdown": {
      "price_quality": 3.84,
      "volume_quality": 8.53,
      "rvol": 0.34,
      "volume_acceleration": 2.2,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.75,
      "spread_liquidity": 4.62,
      "momentum_consistency": 2.6,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.835,
      "vwap": 8.8416,
      "vwap_slope": 0.0062,
      "rvol": 0.14,
      "volume_acceleration": 0.63,
      "premarket_volume": 71118.0,
      "momentum_pct": -0.28,
      "consolidation_tightness_pct": 0.51,
      "distance_from_pm_high_pct": 0.34,
      "extension_from_vwap_pct": -0.07,
      "spread_pct": 0.11
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": true
    },
    "pm_high": 8.865,
    "pm_low": 8.805
  },
  {
    "symbol": "EXK",
    "total_score": 44.75,
    "raw_score": 47.44,
    "breakdown": {
      "price_quality": 3.98,
      "volume_quality": 12.0,
      "rvol": 5.18,
      "volume_acceleration": 1.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.7,
      "momentum_consistency": 2.71,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.02,
      "vwap": 11.0974,
      "vwap_slope": -0.0055,
      "rvol": 1.94,
      "volume_acceleration": 0.46,
      "premarket_volume": 971351.0,
      "momentum_pct": -0.05,
      "consolidation_tightness_pct": 0.27,
      "distance_from_pm_high_pct": 1.52,
      "extension_from_vwap_pct": -0.7,
      "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.19,
    "pm_low": 11.01
  },
  {
    "symbol": "COMP",
    "total_score": 44.69,
    "raw_score": 47.37,
    "breakdown": {
      "price_quality": 4.55,
      "volume_quality": 12.0,
      "rvol": 2.86,
      "volume_acceleration": 3.02,
      "price_momentum": 0.22,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.75,
      "spread_liquidity": 4.68,
      "momentum_consistency": 1.9,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.445,
      "vwap": 10.4492,
      "vwap_slope": -0.0025,
      "rvol": 1.19,
      "volume_acceleration": 0.87,
      "premarket_volume": 595016.0,
      "momentum_pct": 0.14,
      "consolidation_tightness_pct": 0.19,
      "distance_from_pm_high_pct": 0.33,
      "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.48,
    "pm_low": 10.42
  },
  {
    "symbol": "PSFE",
    "total_score": 44.63,
    "raw_score": 47.31,
    "breakdown": {
      "price_quality": 1.59,
      "volume_quality": 4.07,
      "rvol": 0.16,
      "volume_acceleration": 10,
      "price_momentum": 0.11,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.72,
      "spread_liquidity": 3.48,
      "momentum_consistency": 2.97,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.595,
      "vwap": 6.5914,
      "vwap_slope": -0.001,
      "rvol": 0.07,
      "volume_acceleration": 2.11,
      "premarket_volume": 33897.0,
      "momentum_pct": 0.08,
      "consolidation_tightness_pct": 0.15,
      "distance_from_pm_high_pct": 0.38,
      "extension_from_vwap_pct": 0.05,
      "spread_pct": 0.45
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 6.62,
    "pm_low": 6.57
  },
  {
    "symbol": "HTLD",
    "total_score": 44.59,
    "raw_score": 47.26,
    "breakdown": {
      "price_quality": 2.85,
      "volume_quality": 7.27,
      "rvol": 0.29,
      "volume_acceleration": 5.33,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.42,
      "spread_liquidity": 4.18,
      "momentum_consistency": 2.33,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.155,
      "vwap": 12.1843,
      "vwap_slope": 0.0107,
      "rvol": 0.12,
      "volume_acceleration": 1.53,
      "premarket_volume": 60585.0,
      "momentum_pct": -0.25,
      "consolidation_tightness_pct": 0.33,
      "distance_from_pm_high_pct": 0.78,
      "extension_from_vwap_pct": -0.24,
      "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": true
    },
    "pm_high": 12.25,
    "pm_low": 12.13
  },
  {
    "symbol": "TKNO",
    "total_score": 44.58,
    "raw_score": 47.25,
    "breakdown": {
      "price_quality": 2.38,
      "volume_quality": 2.56,
      "rvol": 0.1,
      "volume_acceleration": 2.41,
      "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.1,
      "momentum_consistency": 3.0,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.38,
      "vwap": 7.3187,
      "vwap_slope": 0.034,
      "rvol": 0.04,
      "volume_acceleration": 0.69,
      "premarket_volume": 21356.0,
      "momentum_pct": 0.2,
      "consolidation_tightness_pct": 0.27,
      "distance_from_pm_high_pct": 0.0,
      "extension_from_vwap_pct": 0.84,
      "spread_pct": 0.27
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 7.38,
    "pm_low": 7.27
  },
  {
    "symbol": "PWRL",
    "total_score": 44.31,
    "raw_score": 46.97,
    "breakdown": {
      "price_quality": 4.93,
      "volume_quality": 3.84,
      "rvol": 0.15,
      "volume_acceleration": 1.97,
      "price_momentum": 0.15,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.48,
      "spread_liquidity": 0.3,
      "momentum_consistency": 3.75,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.93,
      "vwap": 9.8045,
      "vwap_slope": 0.0441,
      "rvol": 0.06,
      "volume_acceleration": 0.57,
      "premarket_volume": 31997.0,
      "momentum_pct": 0.1,
      "consolidation_tightness_pct": 0.7,
      "distance_from_pm_high_pct": 0.7,
      "extension_from_vwap_pct": 1.28,
      "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": true,
      "vwap_rising": true
    },
    "pm_high": 9.9999,
    "pm_low": 9.68
  },
  {
    "symbol": "SMPL",
    "total_score": 44.2,
    "raw_score": 46.85,
    "breakdown": {
      "price_quality": 3.54,
      "volume_quality": 12.0,
      "rvol": 0.64,
      "volume_acceleration": 6.19,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.16,
      "spread_liquidity": 4.42,
      "momentum_consistency": 2.51,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.46,
      "vwap": 11.5319,
      "vwap_slope": -0.0231,
      "rvol": 0.26,
      "volume_acceleration": 1.62,
      "premarket_volume": 132323.0,
      "momentum_pct": -0.17,
      "consolidation_tightness_pct": 0.26,
      "distance_from_pm_high_pct": 1.12,
      "extension_from_vwap_pct": -0.62,
      "spread_pct": 0.17
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 11.59,
    "pm_low": 11.45
  },
  {
    "symbol": "GDOT",
    "total_score": 44.12,
    "raw_score": 46.77,
    "breakdown": {
      "price_quality": 1.61,
      "volume_quality": 2.79,
      "rvol": 0.11,
      "volume_acceleration": 2.52,
      "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.5,
      "momentum_consistency": 2.78,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.39,
      "vwap": 13.3751,
      "vwap_slope": 0.0014,
      "rvol": 0.05,
      "volume_acceleration": 0.72,
      "premarket_volume": 23239.0,
      "momentum_pct": 0.07,
      "consolidation_tightness_pct": 0.15,
      "distance_from_pm_high_pct": 0.07,
      "extension_from_vwap_pct": 0.11,
      "spread_pct": 0.15
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 13.4,
    "pm_low": 13.35
  },
  {
    "symbol": "CGNT",
    "total_score": 44.04,
    "raw_score": 46.68,
    "breakdown": {
      "price_quality": 3.34,
      "volume_quality": 8.58,
      "rvol": 0.34,
      "volume_acceleration": 2.18,
      "price_momentum": 0.18,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.91,
      "spread_liquidity": 4.2,
      "momentum_consistency": 2.75,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.34,
      "vwap": 8.3319,
      "vwap_slope": -0.0027,
      "rvol": 0.14,
      "volume_acceleration": 0.63,
      "premarket_volume": 71468.0,
      "momentum_pct": 0.12,
      "consolidation_tightness_pct": 0.12,
      "distance_from_pm_high_pct": 0.12,
      "extension_from_vwap_pct": 0.1,
      "spread_pct": 0.24
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 8.35,
    "pm_low": 8.29
  },
  {
    "symbol": "RCAT",
    "total_score": 43.8,
    "raw_score": 46.43,
    "breakdown": {
      "price_quality": 3.23,
      "volume_quality": 12.0,
      "rvol": 1.97,
      "volume_acceleration": 3.7,
      "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.98,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.235,
      "vwap": 8.2455,
      "vwap_slope": -0.0025,
      "rvol": 0.82,
      "volume_acceleration": 1.06,
      "premarket_volume": 411016.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.3,
      "distance_from_pm_high_pct": 0.6,
      "extension_from_vwap_pct": -0.13,
      "spread_pct": 0.12
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 8.285,
    "pm_low": 8.21
  },
  {
    "symbol": "ADT",
    "total_score": 43.68,
    "raw_score": 46.3,
    "breakdown": {
      "price_quality": 2.5,
      "volume_quality": 12.0,
      "rvol": 2.6,
      "volume_acceleration": 4.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.6,
      "spread_liquidity": 4.56,
      "momentum_consistency": 1.79,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.5,
      "vwap": 7.5201,
      "vwap_slope": -0.004,
      "rvol": 1.09,
      "volume_acceleration": 1.48,
      "premarket_volume": 542515.0,
      "momentum_pct": -0.2,
      "consolidation_tightness_pct": 0.4,
      "distance_from_pm_high_pct": 0.53,
      "extension_from_vwap_pct": -0.27,
      "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.54,
    "pm_low": 7.5
  },
  {
    "symbol": "TIC",
    "total_score": 43.43,
    "raw_score": 46.03,
    "breakdown": {
      "price_quality": 4.39,
      "volume_quality": 12.0,
      "rvol": 0.62,
      "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.52,
      "spread_liquidity": 4.65,
      "momentum_consistency": 2.83,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.39,
      "vwap": 9.4129,
      "vwap_slope": -0.0035,
      "rvol": 0.26,
      "volume_acceleration": 1.04,
      "premarket_volume": 129461.0,
      "momentum_pct": -0.21,
      "consolidation_tightness_pct": 0.27,
      "distance_from_pm_high_pct": 0.63,
      "extension_from_vwap_pct": -0.24,
      "spread_pct": 0.11
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 9.45,
    "pm_low": 9.39
  },
  {
    "symbol": "FLO",
    "total_score": 43.27,
    "raw_score": 45.86,
    "breakdown": {
      "price_quality": 1.76,
      "volume_quality": 12.0,
      "rvol": 3.1,
      "volume_acceleration": 5.39,
      "price_momentum": 0.22,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 4.96,
      "spread_liquidity": 4.51,
      "momentum_consistency": 1.52,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.765,
      "vwap": 6.8081,
      "vwap_slope": -0.012,
      "rvol": 1.29,
      "volume_acceleration": 1.54,
      "premarket_volume": 645586.0,
      "momentum_pct": 0.15,
      "consolidation_tightness_pct": 0.37,
      "distance_from_pm_high_pct": 1.38,
      "extension_from_vwap_pct": -0.63,
      "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.75
  },
  {
    "symbol": "VYX",
    "total_score": 43.26,
    "raw_score": 45.86,
    "breakdown": {
      "price_quality": 4.15,
      "volume_quality": 12.0,
      "rvol": 1.02,
      "volume_acceleration": 3.65,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.11,
      "spread_liquidity": 4.64,
      "momentum_consistency": 2.9,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.15,
      "vwap": 9.2011,
      "vwap_slope": -0.0098,
      "rvol": 0.42,
      "volume_acceleration": 1.05,
      "premarket_volume": 212056.0,
      "momentum_pct": -0.16,
      "consolidation_tightness_pct": 0.38,
      "distance_from_pm_high_pct": 1.19,
      "extension_from_vwap_pct": -0.55,
      "spread_pct": 0.11
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 9.26,
    "pm_low": 9.1201
  },
  {
    "symbol": "BV",
    "total_score": 43.23,
    "raw_score": 45.82,
    "breakdown": {
      "price_quality": 3.67,
      "volume_quality": 6.79,
      "rvol": 0.27,
      "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.67,
      "spread_liquidity": 4.71,
      "momentum_consistency": 2.32,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.33,
      "vwap": 11.3434,
      "vwap_slope": -0.0113,
      "rvol": 0.11,
      "volume_acceleration": 2.05,
      "premarket_volume": 56558.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.31,
      "distance_from_pm_high_pct": 0.44,
      "extension_from_vwap_pct": -0.12,
      "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.38,
    "pm_low": 11.3
  },
  {
    "symbol": "QUBT",
    "total_score": 43.19,
    "raw_score": 45.79,
    "breakdown": {
      "price_quality": 2.92,
      "volume_quality": 12.0,
      "rvol": 1.84,
      "volume_acceleration": 3.31,
      "price_momentum": 0.05,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.55,
      "spread_liquidity": 4.58,
      "momentum_consistency": 3.14,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.9224,
      "vwap": 7.9335,
      "vwap_slope": -0.0039,
      "rvol": 0.76,
      "volume_acceleration": 0.95,
      "premarket_volume": 382306.0,
      "momentum_pct": 0.03,
      "consolidation_tightness_pct": 0.25,
      "distance_from_pm_high_pct": 0.6,
      "extension_from_vwap_pct": -0.14,
      "spread_pct": 0.13
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 7.97,
    "pm_low": 7.885
  },
  {
    "symbol": "SBET",
    "total_score": 43.12,
    "raw_score": 45.71,
    "breakdown": {
      "price_quality": 3.21,
      "volume_quality": 12.0,
      "rvol": 1.89,
      "volume_acceleration": 3.4,
      "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.59,
      "momentum_consistency": 2.71,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.215,
      "vwap": 8.2463,
      "vwap_slope": -0.0023,
      "rvol": 0.79,
      "volume_acceleration": 0.98,
      "premarket_volume": 393719.0,
      "momentum_pct": -0.18,
      "consolidation_tightness_pct": 0.24,
      "distance_from_pm_high_pct": 0.67,
      "extension_from_vwap_pct": -0.38,
      "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.27,
    "pm_low": 8.215
  },
  {
    "symbol": "TRLV",
    "total_score": 43.03,
    "raw_score": 45.62,
    "breakdown": {
      "price_quality": 2.99,
      "volume_quality": 12.0,
      "rvol": 1.62,
      "volume_acceleration": 4.16,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 4.65,
      "spread_liquidity": 4.17,
      "momentum_consistency": 3.64,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.01,
      "vwap": 12.1126,
      "vwap_slope": -0.0202,
      "rvol": 0.67,
      "volume_acceleration": 1.42,
      "premarket_volume": 337259.0,
      "momentum_pct": -0.33,
      "consolidation_tightness_pct": 1.08,
      "distance_from_pm_high_pct": 1.8,
      "extension_from_vwap_pct": -0.85,
      "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.23,
    "pm_low": 11.97
  },
  {
    "symbol": "FSM",
    "total_score": 42.89,
    "raw_score": 45.47,
    "breakdown": {
      "price_quality": 2.79,
      "volume_quality": 12.0,
      "rvol": 3.13,
      "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": 5.33,
      "spread_liquidity": 4.73,
      "momentum_consistency": 2.62,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.205,
      "vwap": 12.2467,
      "vwap_slope": -0.0079,
      "rvol": 1.31,
      "volume_acceleration": 0.71,
      "premarket_volume": 653082.0,
      "momentum_pct": -0.04,
      "consolidation_tightness_pct": 0.24,
      "distance_from_pm_high_pct": 0.89,
      "extension_from_vwap_pct": -0.34,
      "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.315,
    "pm_low": 12.19
  },
  {
    "symbol": "EVCM",
    "total_score": 42.84,
    "raw_score": 45.41,
    "breakdown": {
      "price_quality": 3.02,
      "volume_quality": 3.06,
      "rvol": 0.12,
      "volume_acceleration": 6.05,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.44,
      "spread_liquidity": 3.75,
      "momentum_consistency": 4.36,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.02,
      "vwap": 8.0206,
      "vwap_slope": 0.0217,
      "rvol": 0.05,
      "volume_acceleration": 1.6,
      "premarket_volume": 25480.0,
      "momentum_pct": -0.25,
      "consolidation_tightness_pct": 0.44,
      "distance_from_pm_high_pct": 0.74,
      "extension_from_vwap_pct": -0.01,
      "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": true
    },
    "pm_high": 8.08,
    "pm_low": 7.92
  },
  {
    "symbol": "QS",
    "total_score": 42.82,
    "raw_score": 45.39,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 3.3,
      "volume_acceleration": 3.34,
      "price_momentum": 0.02,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.68,
      "spread_liquidity": 4.39,
      "momentum_consistency": 2.76,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.4463,
      "vwap": 5.4496,
      "vwap_slope": -0.0013,
      "rvol": 1.37,
      "volume_acceleration": 0.96,
      "premarket_volume": 686825.0,
      "momentum_pct": 0.02,
      "consolidation_tightness_pct": 0.18,
      "distance_from_pm_high_pct": 0.43,
      "extension_from_vwap_pct": -0.06,
      "spread_pct": 0.18
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 5.47,
    "pm_low": 5.4201
  },
  {
    "symbol": "OBDC",
    "total_score": 42.71,
    "raw_score": 45.28,
    "breakdown": {
      "price_quality": 3.62,
      "volume_quality": 12.0,
      "rvol": 1.02,
      "volume_acceleration": 3.97,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.8,
      "spread_liquidity": 4.71,
      "momentum_consistency": 1.76,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.385,
      "vwap": 11.3998,
      "vwap_slope": -0.002,
      "rvol": 0.42,
      "volume_acceleration": 1.14,
      "premarket_volume": 211932.0,
      "momentum_pct": -0.09,
      "consolidation_tightness_pct": 0.13,
      "distance_from_pm_high_pct": 0.26,
      "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.415,
    "pm_low": 11.385
  },
  {
    "symbol": "TRIP",
    "total_score": 42.7,
    "raw_score": 45.26,
    "breakdown": {
      "price_quality": 4.63,
      "volume_quality": 12.0,
      "rvol": 2.28,
      "volume_acceleration": 2.49,
      "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.65,
      "momentum_consistency": 1.38,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.635,
      "vwap": 9.6792,
      "vwap_slope": -0.003,
      "rvol": 0.95,
      "volume_acceleration": 0.72,
      "premarket_volume": 475094.0,
      "momentum_pct": -0.05,
      "consolidation_tightness_pct": 0.1,
      "distance_from_pm_high_pct": 0.77,
      "extension_from_vwap_pct": -0.46,
      "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.71,
    "pm_low": 9.63
  },
  {
    "symbol": "XPOF",
    "total_score": 42.69,
    "raw_score": 45.25,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 3.5,
      "rvol": 0.14,
      "volume_acceleration": 2.4,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.85,
      "spread_liquidity": 3.68,
      "momentum_consistency": 1.78,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.04,
      "vwap": 5.0357,
      "vwap_slope": 0.0034,
      "rvol": 0.06,
      "volume_acceleration": 0.69,
      "premarket_volume": 29152.0,
      "momentum_pct": -0.1,
      "consolidation_tightness_pct": 0.1,
      "distance_from_pm_high_pct": 0.2,
      "extension_from_vwap_pct": 0.09,
      "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": true,
      "vwap_rising": true
    },
    "pm_high": 5.05,
    "pm_low": 5.02
  },
  {
    "symbol": "PSQL",
    "total_score": 42.54,
    "raw_score": 45.09,
    "breakdown": {
      "price_quality": 1.7,
      "volume_quality": 9.22,
      "rvol": 0.37,
      "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": 3.75,
      "momentum_consistency": 2.87,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.3,
      "vwap": 13.4429,
      "vwap_slope": -0.0215,
      "rvol": 0.15,
      "volume_acceleration": 2.15,
      "premarket_volume": 76843.0,
      "momentum_pct": -0.56,
      "consolidation_tightness_pct": 1.05,
      "distance_from_pm_high_pct": 1.63,
      "extension_from_vwap_pct": -1.06,
      "spread_pct": 0.38
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 13.52,
    "pm_low": 13.3
  },
  {
    "symbol": "VERX",
    "total_score": 42.53,
    "raw_score": 45.08,
    "breakdown": {
      "price_quality": 1.54,
      "volume_quality": 12.0,
      "rvol": 0.52,
      "volume_acceleration": 5.55,
      "price_momentum": 0.06,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.75,
      "spread_liquidity": 4.75,
      "momentum_consistency": 2.52,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.465,
      "vwap": 13.4733,
      "vwap_slope": -0.002,
      "rvol": 0.21,
      "volume_acceleration": 1.56,
      "premarket_volume": 107362.0,
      "momentum_pct": 0.04,
      "consolidation_tightness_pct": 0.11,
      "distance_from_pm_high_pct": 0.33,
      "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.51,
    "pm_low": 13.45
  },
  {
    "symbol": "DXC",
    "total_score": 42.51,
    "raw_score": 45.07,
    "breakdown": {
      "price_quality": 3.44,
      "volume_quality": 12.0,
      "rvol": 1.24,
      "volume_acceleration": 3.3,
      "price_momentum": 0.13,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.65,
      "spread_liquidity": 4.71,
      "momentum_consistency": 2.21,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.565,
      "vwap": 11.57,
      "vwap_slope": -0.0029,
      "rvol": 0.52,
      "volume_acceleration": 0.95,
      "premarket_volume": 258004.0,
      "momentum_pct": 0.09,
      "consolidation_tightness_pct": 0.22,
      "distance_from_pm_high_pct": 0.47,
      "extension_from_vwap_pct": -0.04,
      "spread_pct": 0.09
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 11.62,
    "pm_low": 11.46
  },
  {
    "symbol": "EROC",
    "total_score": 42.43,
    "raw_score": 44.97,
    "breakdown": {
      "price_quality": 3.96,
      "volume_quality": 12.0,
      "rvol": 0.61,
      "volume_acceleration": 2.67,
      "price_momentum": 0.14,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.19,
      "spread_liquidity": 4.4,
      "momentum_consistency": 3.61,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.04,
      "vwap": 11.0685,
      "vwap_slope": -0.0079,
      "rvol": 0.25,
      "volume_acceleration": 0.77,
      "premarket_volume": 126130.0,
      "momentum_pct": 0.09,
      "consolidation_tightness_pct": 0.18,
      "distance_from_pm_high_pct": 1.08,
      "extension_from_vwap_pct": -0.26,
      "spread_pct": 0.18
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 11.16,
    "pm_low": 10.98
  },
  {
    "symbol": "JLHL",
    "total_score": 42.41,
    "raw_score": 44.95,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 11.09,
      "rvol": 0.44,
      "volume_acceleration": 2.85,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 4.08,
      "spread_liquidity": 2.41,
      "momentum_consistency": 2.98,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.47,
      "vwap": 6.5079,
      "vwap_slope": 0.0017,
      "rvol": 0.18,
      "volume_acceleration": 0.82,
      "premarket_volume": 92452.0,
      "momentum_pct": -0.61,
      "consolidation_tightness_pct": 1.16,
      "distance_from_pm_high_pct": 2.56,
      "extension_from_vwap_pct": -0.58,
      "spread_pct": 0.78
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": true
    },
    "pm_high": 6.64,
    "pm_low": 6.41
  },
  {
    "symbol": "LYNX",
    "total_score": 42.39,
    "raw_score": 44.93,
    "breakdown": {
      "price_quality": 1.68,
      "volume_quality": 3.8,
      "rvol": 0.15,
      "volume_acceleration": 2.54,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.5,
      "spread_liquidity": 2.0,
      "momentum_consistency": 2.87,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.32,
      "vwap": 13.293,
      "vwap_slope": 0.0139,
      "rvol": 0.06,
      "volume_acceleration": 1.25,
      "premarket_volume": 31663.0,
      "momentum_pct": -0.04,
      "consolidation_tightness_pct": 0.37,
      "distance_from_pm_high_pct": 0.67,
      "extension_from_vwap_pct": 0.2,
      "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": true,
      "vwap_rising": true
    },
    "pm_high": 13.41,
    "pm_low": 13.095
  },
  {
    "symbol": "HLF",
    "total_score": 42.36,
    "raw_score": 44.9,
    "breakdown": {
      "price_quality": 2.95,
      "volume_quality": 12.0,
      "rvol": 1.48,
      "volume_acceleration": 2.92,
      "price_momentum": 0.19,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.47,
      "spread_liquidity": 4.72,
      "momentum_consistency": 2.76,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.055,
      "vwap": 12.0868,
      "vwap_slope": -0.0103,
      "rvol": 0.62,
      "volume_acceleration": 0.84,
      "premarket_volume": 308536.0,
      "momentum_pct": 0.12,
      "consolidation_tightness_pct": 0.21,
      "distance_from_pm_high_pct": 0.7,
      "extension_from_vwap_pct": -0.26,
      "spread_pct": 0.08
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 12.14,
    "pm_low": 12.035
  },
  {
    "symbol": "STGW",
    "total_score": 42.34,
    "raw_score": 44.88,
    "breakdown": {
      "price_quality": 3.79,
      "volume_quality": 12.0,
      "rvol": 0.83,
      "volume_acceleration": 3.06,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.83,
      "spread_liquidity": 4.62,
      "momentum_consistency": 2.36,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.785,
      "vwap": 8.7867,
      "vwap_slope": -0.0001,
      "rvol": 0.34,
      "volume_acceleration": 0.88,
      "premarket_volume": 172466.0,
      "momentum_pct": -0.11,
      "consolidation_tightness_pct": 0.34,
      "distance_from_pm_high_pct": 0.23,
      "extension_from_vwap_pct": -0.02,
      "spread_pct": 0.11
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 8.805,
    "pm_low": 8.77
  },
  {
    "symbol": "VITL",
    "total_score": 42.22,
    "raw_score": 44.75,
    "breakdown": {
      "price_quality": 4.73,
      "volume_quality": 12.0,
      "rvol": 0.64,
      "volume_acceleration": 3.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.31,
      "spread_liquidity": 4.03,
      "momentum_consistency": 2.2,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.265,
      "vwap": 10.2953,
      "vwap_slope": -0.003,
      "rvol": 0.27,
      "volume_acceleration": 0.99,
      "premarket_volume": 132520.0,
      "momentum_pct": -0.19,
      "consolidation_tightness_pct": 0.29,
      "distance_from_pm_high_pct": 0.92,
      "extension_from_vwap_pct": -0.29,
      "spread_pct": 0.29
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 10.36,
    "pm_low": 10.2504
  },
  {
    "symbol": "MED",
    "total_score": 42.2,
    "raw_score": 44.73,
    "breakdown": {
      "price_quality": 2.24,
      "volume_quality": 2.63,
      "rvol": 0.11,
      "volume_acceleration": 4.11,
      "price_momentum": 0.47,
      "price_structure": 12,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.47,
      "spread_liquidity": 3.7,
      "momentum_consistency": 4.0,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.76,
      "vwap": 12.7832,
      "vwap_slope": -0.0141,
      "rvol": 0.04,
      "volume_acceleration": 1.41,
      "premarket_volume": 21958.0,
      "momentum_pct": 0.31,
      "consolidation_tightness_pct": 0.78,
      "distance_from_pm_high_pct": 0.7,
      "extension_from_vwap_pct": -0.18,
      "spread_pct": 0.39
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 12.85,
    "pm_low": 12.71
  },
  {
    "symbol": "TU",
    "total_score": 42.2,
    "raw_score": 44.73,
    "breakdown": {
      "price_quality": 4.62,
      "volume_quality": 12.0,
      "rvol": 2.22,
      "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.34,
      "spread_liquidity": 4.65,
      "momentum_consistency": 1.68,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.615,
      "vwap": 9.6621,
      "vwap_slope": -0.0141,
      "rvol": 0.93,
      "volume_acceleration": 1.18,
      "premarket_volume": 463299.0,
      "momentum_pct": -0.21,
      "consolidation_tightness_pct": 0.26,
      "distance_from_pm_high_pct": 0.88,
      "extension_from_vwap_pct": -0.49,
      "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.7,
    "pm_low": 9.615
  },
  {
    "symbol": "GPK",
    "total_score": 42.16,
    "raw_score": 44.69,
    "breakdown": {
      "price_quality": 3.9,
      "volume_quality": 12.0,
      "rvol": 1.37,
      "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.33,
      "spread_liquidity": 4.7,
      "momentum_consistency": 1.93,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.095,
      "vwap": 11.1422,
      "vwap_slope": -0.0119,
      "rvol": 0.57,
      "volume_acceleration": 0.88,
      "premarket_volume": 284463.0,
      "momentum_pct": -0.09,
      "consolidation_tightness_pct": 0.18,
      "distance_from_pm_high_pct": 0.89,
      "extension_from_vwap_pct": -0.42,
      "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.195,
    "pm_low": 11.09
  },
  {
    "symbol": "DFNS",
    "total_score": 42.05,
    "raw_score": 44.57,
    "breakdown": {
      "price_quality": 4.31,
      "volume_quality": 3.62,
      "rvol": 0.14,
      "volume_acceleration": 3.7,
      "price_momentum": 1.14,
      "price_structure": 12,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 4.12,
      "spread_liquidity": 1.78,
      "momentum_consistency": 3.78,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.31,
      "vwap": 9.3412,
      "vwap_slope": -0.0186,
      "rvol": 0.06,
      "volume_acceleration": 1.06,
      "premarket_volume": 30128.0,
      "momentum_pct": 0.76,
      "consolidation_tightness_pct": 0.86,
      "distance_from_pm_high_pct": 2.51,
      "extension_from_vwap_pct": -0.33,
      "spread_pct": 0.97
    },
    "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.55,
    "pm_low": 9.2001
  },
  {
    "symbol": "CRNC",
    "total_score": 42.03,
    "raw_score": 44.56,
    "breakdown": {
      "price_quality": 3.51,
      "volume_quality": 4.84,
      "rvol": 0.19,
      "volume_acceleration": 4.16,
      "price_momentum": 0.53,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.91,
      "spread_liquidity": 4.22,
      "momentum_consistency": 2.0,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.51,
      "vwap": 8.4952,
      "vwap_slope": -0.0045,
      "rvol": 0.08,
      "volume_acceleration": 1.42,
      "premarket_volume": 40318.0,
      "momentum_pct": 0.35,
      "consolidation_tightness_pct": 0.53,
      "distance_from_pm_high_pct": 0.12,
      "extension_from_vwap_pct": 0.17,
      "spread_pct": 0.24
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 8.52,
    "pm_low": 8.47
  },
  {
    "symbol": "UPWK",
    "total_score": 42.01,
    "raw_score": 44.53,
    "breakdown": {
      "price_quality": 4.08,
      "volume_quality": 12.0,
      "rvol": 1.08,
      "volume_acceleration": 2.78,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.18,
      "spread_liquidity": 4.63,
      "momentum_consistency": 2.37,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.08,
      "vwap": 9.145,
      "vwap_slope": -0.0089,
      "rvol": 0.45,
      "volume_acceleration": 0.8,
      "premarket_volume": 225144.0,
      "momentum_pct": -0.11,
      "consolidation_tightness_pct": 0.26,
      "distance_from_pm_high_pct": 1.09,
      "extension_from_vwap_pct": -0.71,
      "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.18,
    "pm_low": 9.075
  },
  {
    "symbol": "OI",
    "total_score": 41.87,
    "raw_score": 44.39,
    "breakdown": {
      "price_quality": 2.21,
      "volume_quality": 12.0,
      "rvol": 1.31,
      "volume_acceleration": 4.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.38,
      "spread_liquidity": 4.54,
      "momentum_consistency": 2.33,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.21,
      "vwap": 7.2411,
      "vwap_slope": -0.0045,
      "rvol": 0.55,
      "volume_acceleration": 1.42,
      "premarket_volume": 273121.0,
      "momentum_pct": -0.21,
      "consolidation_tightness_pct": 0.28,
      "distance_from_pm_high_pct": 0.83,
      "extension_from_vwap_pct": -0.43,
      "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.27,
    "pm_low": 7.21
  },
  {
    "symbol": "TGB",
    "total_score": 41.86,
    "raw_score": 44.38,
    "breakdown": {
      "price_quality": 3.32,
      "volume_quality": 12.0,
      "rvol": 1.32,
      "volume_acceleration": 2.56,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.51,
      "spread_liquidity": 4.6,
      "momentum_consistency": 2.67,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.325,
      "vwap": 8.3437,
      "vwap_slope": -0.0021,
      "rvol": 0.55,
      "volume_acceleration": 0.74,
      "premarket_volume": 274179.0,
      "momentum_pct": -0.12,
      "consolidation_tightness_pct": 0.24,
      "distance_from_pm_high_pct": 0.66,
      "extension_from_vwap_pct": -0.22,
      "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.38,
    "pm_low": 8.315
  },
  {
    "symbol": "VFC",
    "total_score": 41.82,
    "raw_score": 44.33,
    "breakdown": {
      "price_quality": 1.78,
      "volume_quality": 12.0,
      "rvol": 2.54,
      "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.3,
      "spread_liquidity": 4.75,
      "momentum_consistency": 2.21,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.22,
      "vwap": 13.2726,
      "vwap_slope": -0.016,
      "rvol": 1.06,
      "volume_acceleration": 1.33,
      "premarket_volume": 530135.0,
      "momentum_pct": -0.15,
      "consolidation_tightness_pct": 0.19,
      "distance_from_pm_high_pct": 0.94,
      "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": 13.345,
    "pm_low": 13.22
  },
  {
    "symbol": "NMAX",
    "total_score": 41.81,
    "raw_score": 44.31,
    "breakdown": {
      "price_quality": 4.07,
      "volume_quality": 7.22,
      "rvol": 0.29,
      "volume_acceleration": 8.65,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.39,
      "spread_liquidity": 4.69,
      "momentum_consistency": 1.6,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.9306,
      "vwap": 10.9801,
      "vwap_slope": -0.009,
      "rvol": 0.12,
      "volume_acceleration": 1.86,
      "premarket_volume": 60177.0,
      "momentum_pct": -0.18,
      "consolidation_tightness_pct": 0.37,
      "distance_from_pm_high_pct": 0.81,
      "extension_from_vwap_pct": -0.45,
      "spread_pct": 0.09
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 11.02,
    "pm_low": 10.93
  },
  {
    "symbol": "NEOG",
    "total_score": 41.81,
    "raw_score": 44.32,
    "breakdown": {
      "price_quality": 3.06,
      "volume_quality": 12.0,
      "rvol": 0.54,
      "volume_acceleration": 2.86,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.62,
      "spread_liquidity": 4.72,
      "momentum_consistency": 3.11,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.935,
      "vwap": 11.9602,
      "vwap_slope": -0.0004,
      "rvol": 0.22,
      "volume_acceleration": 0.82,
      "premarket_volume": 112035.0,
      "momentum_pct": -0.13,
      "consolidation_tightness_pct": 0.21,
      "distance_from_pm_high_pct": 0.5,
      "extension_from_vwap_pct": -0.21,
      "spread_pct": 0.08
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 11.995,
    "pm_low": 11.92
  },
  {
    "symbol": "GSBD",
    "total_score": 41.67,
    "raw_score": 44.17,
    "breakdown": {
      "price_quality": 5.0,
      "volume_quality": 12.0,
      "rvol": 0.68,
      "volume_acceleration": 0.97,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.7,
      "spread_liquidity": 4.67,
      "momentum_consistency": 2.75,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.0,
      "vwap": 10.0144,
      "vwap_slope": -0.0014,
      "rvol": 0.28,
      "volume_acceleration": 0.28,
      "premarket_volume": 141177.0,
      "momentum_pct": -0.1,
      "consolidation_tightness_pct": 0.1,
      "distance_from_pm_high_pct": 0.4,
      "extension_from_vwap_pct": -0.14,
      "spread_pct": 0.1
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 10.04,
    "pm_low": 9.98
  },
  {
    "symbol": "LENZ",
    "total_score": 41.61,
    "raw_score": 44.1,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 0.69,
      "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": 1.7,
      "spread_liquidity": 3.77,
      "momentum_consistency": 2.04,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.42,
      "vwap": 5.4591,
      "vwap_slope": -0.0024,
      "rvol": 0.29,
      "volume_acceleration": 3.61,
      "premarket_volume": 144152.0,
      "momentum_pct": -0.18,
      "consolidation_tightness_pct": 0.37,
      "distance_from_pm_high_pct": 5.74,
      "extension_from_vwap_pct": -0.72,
      "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": 5.75,
    "pm_low": 5.325
  },
  {
    "symbol": "HUN",
    "total_score": 41.55,
    "raw_score": 44.05,
    "breakdown": {
      "price_quality": 4.74,
      "volume_quality": 12.0,
      "rvol": 0.78,
      "volume_acceleration": 1.86,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.54,
      "spread_liquidity": 4.66,
      "momentum_consistency": 2.07,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.74,
      "vwap": 9.7764,
      "vwap_slope": -0.0055,
      "rvol": 0.32,
      "volume_acceleration": 1.19,
      "premarket_volume": 162013.0,
      "momentum_pct": -0.15,
      "consolidation_tightness_pct": 0.26,
      "distance_from_pm_high_pct": 0.61,
      "extension_from_vwap_pct": -0.37,
      "spread_pct": 0.1
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 9.8,
    "pm_low": 9.74
  },
  {
    "symbol": "WEN",
    "total_score": 41.52,
    "raw_score": 44.01,
    "breakdown": {
      "price_quality": 3.2,
      "volume_quality": 12.0,
      "rvol": 2.61,
      "volume_acceleration": 1.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.28,
      "spread_liquidity": 4.59,
      "momentum_consistency": 2.03,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.2001,
      "vwap": 8.2447,
      "vwap_slope": -0.0088,
      "rvol": 1.09,
      "volume_acceleration": 1.19,
      "premarket_volume": 543390.0,
      "momentum_pct": -0.18,
      "consolidation_tightness_pct": 0.3,
      "distance_from_pm_high_pct": 0.96,
      "extension_from_vwap_pct": -0.54,
      "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.28,
    "pm_low": 8.2
  },
  {
    "symbol": "SHLS",
    "total_score": 41.5,
    "raw_score": 43.99,
    "breakdown": {
      "price_quality": 1.7,
      "volume_quality": 12.0,
      "rvol": 3.23,
      "volume_acceleration": 1.99,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.22,
      "spread_liquidity": 4.5,
      "momentum_consistency": 2.95,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.7,
      "vwap": 6.7371,
      "vwap_slope": -0.0022,
      "rvol": 1.35,
      "volume_acceleration": 0.57,
      "premarket_volume": 672708.0,
      "momentum_pct": -0.22,
      "consolidation_tightness_pct": 0.3,
      "distance_from_pm_high_pct": 1.03,
      "extension_from_vwap_pct": -0.55,
      "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.77,
    "pm_low": 6.695
  },
  {
    "symbol": "PERI",
    "total_score": 41.49,
    "raw_score": 43.98,
    "breakdown": {
      "price_quality": 4.4,
      "volume_quality": 5.4,
      "rvol": 0.22,
      "volume_acceleration": 2.36,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.92,
      "spread_liquidity": 4.65,
      "momentum_consistency": 1.83,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.405,
      "vwap": 9.4028,
      "vwap_slope": -0.0001,
      "rvol": 0.09,
      "volume_acceleration": 1.24,
      "premarket_volume": 44998.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.16,
      "distance_from_pm_high_pct": 0.11,
      "extension_from_vwap_pct": 0.02,
      "spread_pct": 0.11
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 9.415,
    "pm_low": 9.395
  },
  {
    "symbol": "ECVT",
    "total_score": 41.4,
    "raw_score": 43.88,
    "breakdown": {
      "price_quality": 4.62,
      "volume_quality": 10.42,
      "rvol": 0.42,
      "volume_acceleration": 3.57,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.68,
      "spread_liquidity": 4.68,
      "momentum_consistency": 2.1,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.375,
      "vwap": 10.3961,
      "vwap_slope": -0.0062,
      "rvol": 0.17,
      "volume_acceleration": 1.36,
      "premarket_volume": 86831.0,
      "momentum_pct": -0.1,
      "consolidation_tightness_pct": 0.14,
      "distance_from_pm_high_pct": 0.43,
      "extension_from_vwap_pct": -0.2,
      "spread_pct": 0.1
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 10.42,
    "pm_low": 10.37
  },
  {
    "symbol": "BRBR",
    "total_score": 41.39,
    "raw_score": 43.88,
    "breakdown": {
      "price_quality": 4.36,
      "volume_quality": 12.0,
      "rvol": 1.23,
      "volume_acceleration": 3.34,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 4.18,
      "spread_liquidity": 4.69,
      "momentum_consistency": 1.68,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.645,
      "vwap": 10.8039,
      "vwap_slope": -0.0401,
      "rvol": 0.51,
      "volume_acceleration": 1.33,
      "premarket_volume": 256897.0,
      "momentum_pct": -0.14,
      "consolidation_tightness_pct": 0.42,
      "distance_from_pm_high_pct": 2.43,
      "extension_from_vwap_pct": -1.47,
      "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.91,
    "pm_low": 10.645
  },
  {
    "symbol": "SSTI",
    "total_score": 41.19,
    "raw_score": 43.66,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 3.85,
      "rvol": 0.15,
      "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.01,
      "spread_liquidity": 1.67,
      "momentum_consistency": 1.88,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.0,
      "vwap": 6.0318,
      "vwap_slope": 0.0138,
      "rvol": 0.06,
      "volume_acceleration": 3.2,
      "premarket_volume": 32053.0,
      "momentum_pct": -0.25,
      "consolidation_tightness_pct": 0.83,
      "distance_from_pm_high_pct": 1.31,
      "extension_from_vwap_pct": -0.53,
      "spread_pct": 1.0
    },
    "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.0799,
    "pm_low": 6.0
  },
  {
    "symbol": "SKYH",
    "total_score": 41.15,
    "raw_score": 43.62,
    "breakdown": {
      "price_quality": 4.58,
      "volume_quality": 3.17,
      "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.71,
      "spread_liquidity": 4.36,
      "momentum_consistency": 3.27,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.42,
      "vwap": 10.4349,
      "vwap_slope": -0.0084,
      "rvol": 0.05,
      "volume_acceleration": 3.62,
      "premarket_volume": 26401.0,
      "momentum_pct": -0.29,
      "consolidation_tightness_pct": 0.38,
      "distance_from_pm_high_pct": 0.38,
      "extension_from_vwap_pct": -0.14,
      "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.46,
    "pm_low": 10.41
  },
  {
    "symbol": "TDOC",
    "total_score": 41.12,
    "raw_score": 43.59,
    "breakdown": {
      "price_quality": 1.54,
      "volume_quality": 12.0,
      "rvol": 2.19,
      "volume_acceleration": 3.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.54,
      "spread_liquidity": 4.49,
      "momentum_consistency": 1.96,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.545,
      "vwap": 6.5488,
      "vwap_slope": -0.0008,
      "rvol": 0.91,
      "volume_acceleration": 0.99,
      "premarket_volume": 456205.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.08,
      "distance_from_pm_high_pct": 0.61,
      "extension_from_vwap_pct": -0.06,
      "spread_pct": 0.15
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 6.585,
    "pm_low": 6.505
  },
  {
    "symbol": "FUBO",
    "total_score": 41.05,
    "raw_score": 43.52,
    "breakdown": {
      "price_quality": 3.84,
      "volume_quality": 12.0,
      "rvol": 0.61,
      "volume_acceleration": 2.17,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.43,
      "spread_liquidity": 4.4,
      "momentum_consistency": 2.67,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.1642,
      "vwap": 11.2206,
      "vwap_slope": -0.0002,
      "rvol": 0.25,
      "volume_acceleration": 0.62,
      "premarket_volume": 127009.0,
      "momentum_pct": -0.45,
      "consolidation_tightness_pct": 0.71,
      "distance_from_pm_high_pct": 0.76,
      "extension_from_vwap_pct": -0.5,
      "spread_pct": 0.18
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 11.25,
    "pm_low": 11.16
  },
  {
    "symbol": "FWRG",
    "total_score": 40.94,
    "raw_score": 43.4,
    "breakdown": {
      "price_quality": 2.93,
      "volume_quality": 12.0,
      "rvol": 1.21,
      "volume_acceleration": 2.51,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.17,
      "spread_liquidity": 4.45,
      "momentum_consistency": 2.73,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.07,
      "vwap": 12.1296,
      "vwap_slope": -0.0106,
      "rvol": 0.5,
      "volume_acceleration": 0.72,
      "premarket_volume": 251715.0,
      "momentum_pct": -0.17,
      "consolidation_tightness_pct": 0.41,
      "distance_from_pm_high_pct": 1.11,
      "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": false,
      "vwap_rising": false
    },
    "pm_high": 12.205,
    "pm_low": 12.05
  },
  {
    "symbol": "MTRX",
    "total_score": 40.82,
    "raw_score": 43.27,
    "breakdown": {
      "price_quality": 4.23,
      "volume_quality": 3.33,
      "rvol": 0.13,
      "volume_acceleration": 0.95,
      "price_momentum": 0.42,
      "price_structure": 12,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.72,
      "spread_liquidity": 4.38,
      "momentum_consistency": 2.11,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.77,
      "vwap": 10.7881,
      "vwap_slope": -0.0122,
      "rvol": 0.06,
      "volume_acceleration": 0.27,
      "premarket_volume": 27769.0,
      "momentum_pct": 0.28,
      "consolidation_tightness_pct": 0.28,
      "distance_from_pm_high_pct": 0.37,
      "extension_from_vwap_pct": -0.17,
      "spread_pct": 0.19
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 10.81,
    "pm_low": 10.74
  },
  {
    "symbol": "TAL",
    "total_score": 40.73,
    "raw_score": 43.17,
    "breakdown": {
      "price_quality": 2.86,
      "volume_quality": 12.0,
      "rvol": 0.77,
      "volume_acceleration": 2.48,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.72,
      "spread_liquidity": 4.73,
      "momentum_consistency": 2.22,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.145,
      "vwap": 12.1699,
      "vwap_slope": -0.0023,
      "rvol": 0.32,
      "volume_acceleration": 0.71,
      "premarket_volume": 160221.0,
      "momentum_pct": -0.04,
      "consolidation_tightness_pct": 0.08,
      "distance_from_pm_high_pct": 0.37,
      "extension_from_vwap_pct": -0.2,
      "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.19,
    "pm_low": 12.14
  },
  {
    "symbol": "COUR",
    "total_score": 40.71,
    "raw_score": 43.15,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 1.74,
      "volume_acceleration": 3.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.21,
      "spread_liquidity": 4.46,
      "momentum_consistency": 2.07,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.125,
      "vwap": 6.1646,
      "vwap_slope": -0.012,
      "rvol": 0.73,
      "volume_acceleration": 1.38,
      "premarket_volume": 362763.0,
      "momentum_pct": -0.49,
      "consolidation_tightness_pct": 0.57,
      "distance_from_pm_high_pct": 1.05,
      "extension_from_vwap_pct": -0.64,
      "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.19,
    "pm_low": 6.125
  },
  {
    "symbol": "AVAH",
    "total_score": 40.68,
    "raw_score": 43.12,
    "breakdown": {
      "price_quality": 1.79,
      "volume_quality": 12.0,
      "rvol": 0.58,
      "volume_acceleration": 3.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.41,
      "spread_liquidity": 4.75,
      "momentum_consistency": 2.94,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.205,
      "vwap": 13.2534,
      "vwap_slope": -0.0022,
      "rvol": 0.24,
      "volume_acceleration": 0.93,
      "premarket_volume": 120805.0,
      "momentum_pct": -0.23,
      "consolidation_tightness_pct": 0.34,
      "distance_from_pm_high_pct": 0.79,
      "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": 13.31,
    "pm_low": 13.205
  },
  {
    "symbol": "GO",
    "total_score": 40.6,
    "raw_score": 43.03,
    "breakdown": {
      "price_quality": 2.9,
      "volume_quality": 12.0,
      "rvol": 0.89,
      "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.66,
      "spread_liquidity": 4.72,
      "momentum_consistency": 1.4,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.095,
      "vwap": 12.1184,
      "vwap_slope": -0.003,
      "rvol": 0.37,
      "volume_acceleration": 0.88,
      "premarket_volume": 186140.0,
      "momentum_pct": -0.08,
      "consolidation_tightness_pct": 0.17,
      "distance_from_pm_high_pct": 0.45,
      "extension_from_vwap_pct": -0.19,
      "spread_pct": 0.08
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 12.15,
    "pm_low": 12.09
  },
  {
    "symbol": "VIPS",
    "total_score": 40.56,
    "raw_score": 43.0,
    "breakdown": {
      "price_quality": 1.96,
      "volume_quality": 12.0,
      "rvol": 1.04,
      "volume_acceleration": 3.55,
      "price_momentum": 0.06,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.46,
      "spread_liquidity": 4.74,
      "momentum_consistency": 1.79,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.045,
      "vwap": 13.0824,
      "vwap_slope": -0.0088,
      "rvol": 0.43,
      "volume_acceleration": 1.36,
      "premarket_volume": 216418.0,
      "momentum_pct": 0.04,
      "consolidation_tightness_pct": 0.08,
      "distance_from_pm_high_pct": 0.72,
      "extension_from_vwap_pct": -0.29,
      "spread_pct": 0.08
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 13.14,
    "pm_low": 13.03
  },
  {
    "symbol": "HAYW",
    "total_score": 40.22,
    "raw_score": 42.63,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 1.46,
      "volume_acceleration": 2.93,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.62,
      "spread_liquidity": 4.76,
      "momentum_consistency": 1.96,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.665,
      "vwap": 13.671,
      "vwap_slope": -0.001,
      "rvol": 0.61,
      "volume_acceleration": 0.84,
      "premarket_volume": 304925.0,
      "momentum_pct": -0.04,
      "consolidation_tightness_pct": 0.18,
      "distance_from_pm_high_pct": 0.51,
      "extension_from_vwap_pct": -0.04,
      "spread_pct": 0.07
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 13.735,
    "pm_low": 13.62
  },
  {
    "symbol": "MAT",
    "total_score": 40.21,
    "raw_score": 42.62,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 1.1,
      "volume_acceleration": 2.76,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.71,
      "spread_liquidity": 4.77,
      "momentum_consistency": 2.39,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.62,
      "vwap": 14.6336,
      "vwap_slope": -0.0039,
      "rvol": 0.46,
      "volume_acceleration": 1.28,
      "premarket_volume": 228485.0,
      "momentum_pct": -0.03,
      "consolidation_tightness_pct": 0.1,
      "distance_from_pm_high_pct": 0.39,
      "extension_from_vwap_pct": -0.09,
      "spread_pct": 0.07
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 14.677,
    "pm_low": 14.605
  },
  {
    "symbol": "PAYO",
    "total_score": 40.16,
    "raw_score": 42.57,
    "breakdown": {
      "price_quality": 2.12,
      "volume_quality": 12.0,
      "rvol": 1.18,
      "volume_acceleration": 2.68,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.95,
      "spread_liquidity": 4.53,
      "momentum_consistency": 1.71,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.125,
      "vwap": 7.1258,
      "vwap_slope": -0.0003,
      "rvol": 0.49,
      "volume_acceleration": 0.77,
      "premarket_volume": 244800.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.14,
      "distance_from_pm_high_pct": 0.07,
      "extension_from_vwap_pct": -0.01,
      "spread_pct": 0.14
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 7.13,
    "pm_low": 7.12
  },
  {
    "symbol": "WLTH",
    "total_score": 40.15,
    "raw_score": 42.56,
    "breakdown": {
      "price_quality": 4.1,
      "volume_quality": 12.0,
      "rvol": 0.55,
      "volume_acceleration": 1.33,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.59,
      "spread_liquidity": 4.63,
      "momentum_consistency": 1.96,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.095,
      "vwap": 9.1096,
      "vwap_slope": -0.0023,
      "rvol": 0.23,
      "volume_acceleration": 0.38,
      "premarket_volume": 114768.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.0,
      "distance_from_pm_high_pct": 0.55,
      "extension_from_vwap_pct": -0.16,
      "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.145,
    "pm_low": 9.075
  },
  {
    "symbol": "YEXT",
    "total_score": 40.1,
    "raw_score": 42.51,
    "breakdown": {
      "price_quality": 1.63,
      "volume_quality": 12.0,
      "rvol": 0.89,
      "volume_acceleration": 3.77,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 4.56,
      "spread_liquidity": 4.5,
      "momentum_consistency": 2.76,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.635,
      "vwap": 6.6945,
      "vwap_slope": -0.0136,
      "rvol": 0.37,
      "volume_acceleration": 1.08,
      "premarket_volume": 185103.0,
      "momentum_pct": -0.15,
      "consolidation_tightness_pct": 0.3,
      "distance_from_pm_high_pct": 1.92,
      "extension_from_vwap_pct": -0.89,
      "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.765,
    "pm_low": 6.57
  },
  {
    "symbol": "UPB",
    "total_score": 40.1,
    "raw_score": 42.5,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 6.45,
      "rvol": 0.26,
      "volume_acceleration": 9.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.48,
      "spread_liquidity": 3.97,
      "momentum_consistency": 2.61,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.455,
      "vwap": 6.4689,
      "vwap_slope": -0.0031,
      "rvol": 0.11,
      "volume_acceleration": 1.98,
      "premarket_volume": 53728.0,
      "momentum_pct": -0.15,
      "consolidation_tightness_pct": 0.23,
      "distance_from_pm_high_pct": 0.69,
      "extension_from_vwap_pct": -0.21,
      "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.5,
    "pm_low": 6.44
  },
  {
    "symbol": "FF",
    "total_score": 40.0,
    "raw_score": 42.4,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 4.17,
      "rvol": 0.17,
      "volume_acceleration": 2.96,
      "price_momentum": 0.0,
      "price_structure": 12,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.59,
      "spread_liquidity": 3.78,
      "momentum_consistency": 2.24,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.45,
      "vwap": 5.4618,
      "vwap_slope": -0.0037,
      "rvol": 0.07,
      "volume_acceleration": 0.85,
      "premarket_volume": 34736.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.28,
      "distance_from_pm_high_pct": 0.55,
      "extension_from_vwap_pct": -0.22,
      "spread_pct": 0.37
    },
    "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.48,
    "pm_low": 5.43
  },
  {
    "symbol": "NVA",
    "total_score": 39.96,
    "raw_score": 42.36,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 3.38,
      "rvol": 0.14,
      "volume_acceleration": 5.3,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.6,
      "spread_liquidity": 3.81,
      "momentum_consistency": 3.43,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.62,
      "vwap": 5.6192,
      "vwap_slope": -0.0023,
      "rvol": 0.06,
      "volume_acceleration": 1.53,
      "premarket_volume": 28163.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.35,
      "distance_from_pm_high_pct": 0.53,
      "extension_from_vwap_pct": 0.02,
      "spread_pct": 0.36
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 5.65,
    "pm_low": 5.59
  },
  {
    "symbol": "TBI",
    "total_score": 39.92,
    "raw_score": 42.31,
    "breakdown": {
      "price_quality": 4.76,
      "volume_quality": 2.79,
      "rvol": 0.11,
      "volume_acceleration": 10,
      "price_momentum": 0.07,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.38,
      "spread_liquidity": 4.02,
      "momentum_consistency": 2.78,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.245,
      "vwap": 10.2684,
      "vwap_slope": -0.0438,
      "rvol": 0.05,
      "volume_acceleration": 2.33,
      "premarket_volume": 23215.0,
      "momentum_pct": 0.05,
      "consolidation_tightness_pct": 0.2,
      "distance_from_pm_high_pct": 0.82,
      "extension_from_vwap_pct": -0.23,
      "spread_pct": 0.29
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 10.33,
    "pm_low": 10.21
  },
  {
    "symbol": "LYG",
    "total_score": 39.69,
    "raw_score": 42.08,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 3.46,
      "volume_acceleration": 0.56,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.82,
      "spread_liquidity": 4.44,
      "momentum_consistency": 1.89,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.955,
      "vwap": 5.96,
      "vwap_slope": -0.0003,
      "rvol": 1.44,
      "volume_acceleration": 0.16,
      "premarket_volume": 721365.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.17,
      "distance_from_pm_high_pct": 0.23,
      "extension_from_vwap_pct": -0.08,
      "spread_pct": 0.17
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 5.969,
    "pm_low": 5.95
  },
  {
    "symbol": "AVO",
    "total_score": 39.63,
    "raw_score": 42.0,
    "breakdown": {
      "price_quality": 2.2,
      "volume_quality": 3.8,
      "rvol": 0.15,
      "volume_acceleration": 3.1,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.8,
      "spread_liquidity": 4.48,
      "momentum_consistency": 2.89,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.805,
      "vwap": 12.8175,
      "vwap_slope": 0.002,
      "rvol": 0.06,
      "volume_acceleration": 0.89,
      "premarket_volume": 31640.0,
      "momentum_pct": -0.19,
      "consolidation_tightness_pct": 0.19,
      "distance_from_pm_high_pct": 0.27,
      "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": false,
      "vwap_rising": true
    },
    "pm_high": 12.84,
    "pm_low": 12.8
  },
  {
    "symbol": "AHCO",
    "total_score": 39.59,
    "raw_score": 41.97,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 1.7,
      "volume_acceleration": 1.8,
      "price_momentum": 0.37,
      "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.25,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.06,
      "vwap": 6.0713,
      "vwap_slope": -0.0032,
      "rvol": 0.71,
      "volume_acceleration": 0.52,
      "premarket_volume": 353479.0,
      "momentum_pct": 0.25,
      "consolidation_tightness_pct": 0.25,
      "distance_from_pm_high_pct": 0.66,
      "extension_from_vwap_pct": -0.19,
      "spread_pct": 0.17
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 6.1,
    "pm_low": 6.0325
  },
  {
    "symbol": "ACVA",
    "total_score": 39.42,
    "raw_score": 41.78,
    "breakdown": {
      "price_quality": 1.89,
      "volume_quality": 12.0,
      "rvol": 0.78,
      "volume_acceleration": 2.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.46,
      "spread_liquidity": 4.52,
      "momentum_consistency": 2.11,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.885,
      "vwap": 6.9115,
      "vwap_slope": -0.0054,
      "rvol": 0.33,
      "volume_acceleration": 0.76,
      "premarket_volume": 162813.0,
      "momentum_pct": -0.15,
      "consolidation_tightness_pct": 0.22,
      "distance_from_pm_high_pct": 0.72,
      "extension_from_vwap_pct": -0.38,
      "spread_pct": 0.14
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 6.935,
    "pm_low": 6.88
  },
  {
    "symbol": "JBS",
    "total_score": 39.32,
    "raw_score": 41.68,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 1.65,
      "volume_acceleration": 2.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.76,
      "momentum_consistency": 1.49,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.715,
      "vwap": 13.7732,
      "vwap_slope": -0.0101,
      "rvol": 0.69,
      "volume_acceleration": 0.73,
      "premarket_volume": 343748.0,
      "momentum_pct": -0.11,
      "consolidation_tightness_pct": 0.18,
      "distance_from_pm_high_pct": 0.9,
      "extension_from_vwap_pct": -0.42,
      "spread_pct": 0.07
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 13.84,
    "pm_low": 13.71
  },
  {
    "symbol": "FNKO",
    "total_score": 39.27,
    "raw_score": 41.62,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 1.01,
      "volume_acceleration": 3.3,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 4.99,
      "spread_liquidity": 4.46,
      "momentum_consistency": 1.96,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.205,
      "vwap": 6.2589,
      "vwap_slope": -0.0026,
      "rvol": 0.42,
      "volume_acceleration": 0.95,
      "premarket_volume": 210807.0,
      "momentum_pct": -0.16,
      "consolidation_tightness_pct": 0.24,
      "distance_from_pm_high_pct": 1.35,
      "extension_from_vwap_pct": -0.86,
      "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.29,
    "pm_low": 6.205
  },
  {
    "symbol": "LZ",
    "total_score": 39.14,
    "raw_score": 41.49,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 1.96,
      "volume_acceleration": 2.21,
      "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.48,
      "momentum_consistency": 2.48,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.41,
      "vwap": 6.4854,
      "vwap_slope": -0.0089,
      "rvol": 0.82,
      "volume_acceleration": 0.64,
      "premarket_volume": 409184.0,
      "momentum_pct": -0.31,
      "consolidation_tightness_pct": 0.47,
      "distance_from_pm_high_pct": 2.06,
      "extension_from_vwap_pct": -1.16,
      "spread_pct": 0.16
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 6.545,
    "pm_low": 6.41
  },
  {
    "symbol": "CWK",
    "total_score": 39.07,
    "raw_score": 41.42,
    "breakdown": {
      "price_quality": 1.88,
      "volume_quality": 12.0,
      "rvol": 0.78,
      "volume_acceleration": 1.97,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.38,
      "spread_liquidity": 4.49,
      "momentum_consistency": 2.52,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.12,
      "vwap": 13.1536,
      "vwap_slope": -0.0079,
      "rvol": 0.32,
      "volume_acceleration": 0.57,
      "premarket_volume": 161799.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.15,
      "distance_from_pm_high_pct": 0.83,
      "extension_from_vwap_pct": -0.26,
      "spread_pct": 0.15
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 13.23,
    "pm_low": 13.095
  },
  {
    "symbol": "SBMT",
    "total_score": 39.06,
    "raw_score": 41.41,
    "breakdown": {
      "price_quality": 3.63,
      "volume_quality": 4.11,
      "rvol": 0.16,
      "volume_acceleration": 4.16,
      "price_momentum": 0.61,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.15,
      "spread_liquidity": 1.53,
      "momentum_consistency": 2.86,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.635,
      "vwap": 8.6164,
      "vwap_slope": -0.0439,
      "rvol": 0.07,
      "volume_acceleration": 1.42,
      "premarket_volume": 34255.0,
      "momentum_pct": 0.41,
      "consolidation_tightness_pct": 0.7,
      "distance_from_pm_high_pct": 1.14,
      "extension_from_vwap_pct": 0.22,
      "spread_pct": 1.04
    },
    "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.7344,
    "pm_low": 8.58
  },
  {
    "symbol": "DRVN",
    "total_score": 38.96,
    "raw_score": 41.3,
    "breakdown": {
      "price_quality": 2.05,
      "volume_quality": 12.0,
      "rvol": 0.49,
      "volume_acceleration": 2.53,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.65,
      "spread_liquidity": 4.74,
      "momentum_consistency": 1.43,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.945,
      "vwap": 12.9639,
      "vwap_slope": -0.0027,
      "rvol": 0.2,
      "volume_acceleration": 0.73,
      "premarket_volume": 101529.0,
      "momentum_pct": -0.04,
      "consolidation_tightness_pct": 0.08,
      "distance_from_pm_high_pct": 0.46,
      "extension_from_vwap_pct": -0.15,
      "spread_pct": 0.08
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 13.005,
    "pm_low": 12.915
  },
  {
    "symbol": "BYND",
    "total_score": 38.94,
    "raw_score": 41.28,
    "breakdown": {
      "price_quality": 3.27,
      "volume_quality": 12.0,
      "rvol": 1.59,
      "volume_acceleration": 0.43,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 4.8,
      "spread_liquidity": 3.58,
      "momentum_consistency": 3.2,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.73,
      "vwap": 11.7571,
      "vwap_slope": -0.0009,
      "rvol": 0.66,
      "volume_acceleration": 0.12,
      "premarket_volume": 331396.0,
      "momentum_pct": -0.17,
      "consolidation_tightness_pct": 0.26,
      "distance_from_pm_high_pct": 1.59,
      "extension_from_vwap_pct": -0.23,
      "spread_pct": 0.43
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 11.92,
    "pm_low": 11.63
  },
  {
    "symbol": "HNST",
    "total_score": 38.66,
    "raw_score": 40.98,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 1.49,
      "volume_acceleration": 1.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.29,
      "spread_liquidity": 4.42,
      "momentum_consistency": 2.53,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.785,
      "vwap": 5.8037,
      "vwap_slope": -0.0006,
      "rvol": 0.62,
      "volume_acceleration": 0.39,
      "premarket_volume": 310335.0,
      "momentum_pct": -0.43,
      "consolidation_tightness_pct": 0.52,
      "distance_from_pm_high_pct": 0.94,
      "extension_from_vwap_pct": -0.32,
      "spread_pct": 0.17
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 5.84,
    "pm_low": 5.78
  },
  {
    "symbol": "SECZ",
    "total_score": 38.38,
    "raw_score": 40.69,
    "breakdown": {
      "price_quality": 1.53,
      "volume_quality": 12.0,
      "rvol": 1.08,
      "volume_acceleration": 2.39,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 4.65,
      "spread_liquidity": 3.98,
      "momentum_consistency": 2.67,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.53,
      "vwap": 6.571,
      "vwap_slope": -0.0043,
      "rvol": 0.45,
      "volume_acceleration": 0.69,
      "premarket_volume": 224488.0,
      "momentum_pct": -0.46,
      "consolidation_tightness_pct": 1.07,
      "distance_from_pm_high_pct": 1.8,
      "extension_from_vwap_pct": -0.62,
      "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.65,
    "pm_low": 6.5
  },
  {
    "symbol": "TROX",
    "total_score": 38.37,
    "raw_score": 40.67,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 1.03,
      "volume_acceleration": 1.61,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.49,
      "spread_liquidity": 4.35,
      "momentum_consistency": 2.29,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.12,
      "vwap": 5.1298,
      "vwap_slope": -0.0033,
      "rvol": 0.43,
      "volume_acceleration": 1.16,
      "premarket_volume": 215557.0,
      "momentum_pct": -0.19,
      "consolidation_tightness_pct": 0.2,
      "distance_from_pm_high_pct": 0.68,
      "extension_from_vwap_pct": -0.19,
      "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.155,
    "pm_low": 5.11
  },
  {
    "symbol": "HSLV",
    "total_score": 38.35,
    "raw_score": 40.66,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 0.55,
      "volume_acceleration": 2.44,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 4.87,
      "spread_liquidity": 4.4,
      "momentum_consistency": 2.49,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.575,
      "vwap": 5.5952,
      "vwap_slope": -0.0091,
      "rvol": 0.23,
      "volume_acceleration": 1.24,
      "premarket_volume": 115046.0,
      "momentum_pct": -0.18,
      "consolidation_tightness_pct": 0.27,
      "distance_from_pm_high_pct": 1.5,
      "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.66,
    "pm_low": 5.555
  },
  {
    "symbol": "EGY",
    "total_score": 38.27,
    "raw_score": 40.56,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 0.66,
      "volume_acceleration": 1.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.52,
      "spread_liquidity": 4.46,
      "momentum_consistency": 2.51,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.155,
      "vwap": 6.1716,
      "vwap_slope": -0.0023,
      "rvol": 0.28,
      "volume_acceleration": 1.15,
      "premarket_volume": 138390.0,
      "momentum_pct": -0.4,
      "consolidation_tightness_pct": 0.41,
      "distance_from_pm_high_pct": 0.65,
      "extension_from_vwap_pct": -0.27,
      "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.195,
    "pm_low": 6.155
  },
  {
    "symbol": "CWH",
    "total_score": 38.13,
    "raw_score": 40.41,
    "breakdown": {
      "price_quality": 1.75,
      "volume_quality": 12.0,
      "rvol": 0.56,
      "volume_acceleration": 1.52,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.29,
      "spread_liquidity": 4.51,
      "momentum_consistency": 2.39,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.755,
      "vwap": 6.7877,
      "vwap_slope": -0.0049,
      "rvol": 0.23,
      "volume_acceleration": 1.15,
      "premarket_volume": 117388.0,
      "momentum_pct": -0.15,
      "consolidation_tightness_pct": 0.44,
      "distance_from_pm_high_pct": 0.95,
      "extension_from_vwap_pct": -0.48,
      "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.82,
    "pm_low": 6.755
  },
  {
    "symbol": "MASS",
    "total_score": 37.96,
    "raw_score": 40.24,
    "breakdown": {
      "price_quality": 4.65,
      "volume_quality": 3.92,
      "rvol": 0.16,
      "volume_acceleration": 6.65,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.5,
      "spread_liquidity": 4.04,
      "momentum_consistency": 2.93,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.35,
      "vwap": 10.3844,
      "vwap_slope": -0.005,
      "rvol": 0.07,
      "volume_acceleration": 1.66,
      "premarket_volume": 32670.0,
      "momentum_pct": -0.19,
      "consolidation_tightness_pct": 0.68,
      "distance_from_pm_high_pct": 0.67,
      "extension_from_vwap_pct": -0.33,
      "spread_pct": 0.29
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 10.42,
    "pm_low": 10.34
  },
  {
    "symbol": "TSSI",
    "total_score": 37.6,
    "raw_score": 39.85,
    "breakdown": {
      "price_quality": 2.88,
      "volume_quality": 5.67,
      "rvol": 0.23,
      "volume_acceleration": 5.58,
      "price_momentum": 0.38,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.53,
      "spread_liquidity": 4.15,
      "momentum_consistency": 3.03,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.88,
      "vwap": 7.8881,
      "vwap_slope": -0.0152,
      "rvol": 0.09,
      "volume_acceleration": 1.56,
      "premarket_volume": 47251.0,
      "momentum_pct": 0.25,
      "consolidation_tightness_pct": 0.38,
      "distance_from_pm_high_pct": 0.63,
      "extension_from_vwap_pct": -0.1,
      "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": 7.9297,
    "pm_low": 7.86
  },
  {
    "symbol": "OEC",
    "total_score": 37.43,
    "raw_score": 39.68,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 3.77,
      "rvol": 0.15,
      "volume_acceleration": 1.78,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.46,
      "spread_liquidity": 4.46,
      "momentum_consistency": 2.96,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.175,
      "vwap": 6.1867,
      "vwap_slope": 0.0033,
      "rvol": 0.06,
      "volume_acceleration": 1.18,
      "premarket_volume": 31423.0,
      "momentum_pct": -0.16,
      "consolidation_tightness_pct": 0.16,
      "distance_from_pm_high_pct": 0.72,
      "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": true
    },
    "pm_high": 6.2199,
    "pm_low": 6.16
  },
  {
    "symbol": "CRSR",
    "total_score": 37.42,
    "raw_score": 39.66,
    "breakdown": {
      "price_quality": 2.94,
      "volume_quality": 7.2,
      "rvol": 0.29,
      "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.51,
      "spread_liquidity": 4.45,
      "momentum_consistency": 3.12,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.06,
      "vwap": 12.0953,
      "vwap_slope": -0.009,
      "rvol": 0.12,
      "volume_acceleration": 1.08,
      "premarket_volume": 59988.0,
      "momentum_pct": -0.17,
      "consolidation_tightness_pct": 0.17,
      "distance_from_pm_high_pct": 0.66,
      "extension_from_vwap_pct": -0.29,
      "spread_pct": 0.17
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 12.14,
    "pm_low": 12.0301
  },
  {
    "symbol": "ARHS",
    "total_score": 37.16,
    "raw_score": 39.39,
    "breakdown": {
      "price_quality": 3.47,
      "volume_quality": 8.86,
      "rvol": 0.35,
      "volume_acceleration": 1.61,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.65,
      "spread_liquidity": 4.61,
      "momentum_consistency": 2.45,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.47,
      "vwap": 8.4905,
      "vwap_slope": -0.0013,
      "rvol": 0.15,
      "volume_acceleration": 1.16,
      "premarket_volume": 73832.0,
      "momentum_pct": -0.41,
      "consolidation_tightness_pct": 0.41,
      "distance_from_pm_high_pct": 0.47,
      "extension_from_vwap_pct": -0.24,
      "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.51,
    "pm_low": 8.47
  },
  {
    "symbol": "TMS",
    "total_score": 36.28,
    "raw_score": 38.45,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 5.38,
      "rvol": 0.22,
      "volume_acceleration": 3.73,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 4.35,
      "spread_liquidity": 0.73,
      "momentum_consistency": 2.95,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.21,
      "vwap": 6.232,
      "vwap_slope": 0.0003,
      "rvol": 0.09,
      "volume_acceleration": 1.07,
      "premarket_volume": 44842.0,
      "momentum_pct": -0.64,
      "consolidation_tightness_pct": 1.12,
      "distance_from_pm_high_pct": 2.2,
      "extension_from_vwap_pct": -0.35,
      "spread_pct": 1.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": true
    },
    "pm_high": 6.35,
    "pm_low": 6.18
  },
  {
    "symbol": "OPFI",
    "total_score": 36.21,
    "raw_score": 38.38,
    "breakdown": {
      "price_quality": 2.25,
      "volume_quality": 7.96,
      "rvol": 0.32,
      "volume_acceleration": 2.69,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.69,
      "spread_liquidity": 4.54,
      "momentum_consistency": 2.54,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.245,
      "vwap": 7.2472,
      "vwap_slope": -0.0009,
      "rvol": 0.13,
      "volume_acceleration": 0.77,
      "premarket_volume": 66335.0,
      "momentum_pct": -0.14,
      "consolidation_tightness_pct": 0.19,
      "distance_from_pm_high_pct": 0.41,
      "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.275,
    "pm_low": 7.215
  },
  {
    "symbol": "QDEL",
    "total_score": 36.18,
    "raw_score": 38.35,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 7.44,
      "rvol": 0.3,
      "volume_acceleration": 4.82,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.38,
      "spread_liquidity": 4.28,
      "momentum_consistency": 2.23,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.885,
      "vwap": 13.9389,
      "vwap_slope": -0.0221,
      "rvol": 0.12,
      "volume_acceleration": 1.48,
      "premarket_volume": 62033.0,
      "momentum_pct": -0.08,
      "consolidation_tightness_pct": 0.11,
      "distance_from_pm_high_pct": 0.82,
      "extension_from_vwap_pct": -0.39,
      "spread_pct": 0.22
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 14.0,
    "pm_low": 13.88
  },
  {
    "symbol": "ARDT",
    "total_score": 36.05,
    "raw_score": 38.22,
    "breakdown": {
      "price_quality": 4.08,
      "volume_quality": 6.01,
      "rvol": 0.24,
      "volume_acceleration": 3.88,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.52,
      "spread_liquidity": 4.09,
      "momentum_consistency": 2.0,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.92,
      "vwap": 10.9551,
      "vwap_slope": -0.0128,
      "rvol": 0.1,
      "volume_acceleration": 1.12,
      "premarket_volume": 50073.0,
      "momentum_pct": -0.18,
      "consolidation_tightness_pct": 0.32,
      "distance_from_pm_high_pct": 0.64,
      "extension_from_vwap_pct": -0.32,
      "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": false,
      "vwap_rising": false
    },
    "pm_high": 10.99,
    "pm_low": 10.92
  },
  {
    "symbol": "BSM",
    "total_score": 35.85,
    "raw_score": 38.0,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 2.57,
      "rvol": 0.1,
      "volume_acceleration": 0.86,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.9,
      "spread_liquidity": 4.55,
      "momentum_consistency": 2.91,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.94,
      "vwap": 14.9439,
      "vwap_slope": 0.0011,
      "rvol": 0.04,
      "volume_acceleration": 0.25,
      "premarket_volume": 21457.0,
      "momentum_pct": -0.07,
      "consolidation_tightness_pct": 0.13,
      "distance_from_pm_high_pct": 0.13,
      "extension_from_vwap_pct": -0.03,
      "spread_pct": 0.13
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": true
    },
    "pm_high": 14.96,
    "pm_low": 14.92
  },
  {
    "symbol": "BCIC",
    "total_score": 35.7,
    "raw_score": 37.84,
    "breakdown": {
      "price_quality": 2.6,
      "volume_quality": 2.43,
      "rvol": 0.1,
      "volume_acceleration": 10,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.75,
      "spread_liquidity": 4.56,
      "momentum_consistency": 0.0,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.6,
      "vwap": 7.6198,
      "vwap_slope": -0.0052,
      "rvol": 0.04,
      "volume_acceleration": 19.86,
      "premarket_volume": 20231.0,
      "momentum_pct": -0.33,
      "consolidation_tightness_pct": 0.33,
      "distance_from_pm_high_pct": 0.33,
      "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.625,
    "pm_low": 7.6
  },
  {
    "symbol": "VMET",
    "total_score": 35.69,
    "raw_score": 37.83,
    "breakdown": {
      "price_quality": 4.77,
      "volume_quality": 5.11,
      "rvol": 0.2,
      "volume_acceleration": 3.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.31,
      "spread_liquidity": 4.35,
      "momentum_consistency": 2.23,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.235,
      "vwap": 10.2667,
      "vwap_slope": -0.0178,
      "rvol": 0.09,
      "volume_acceleration": 0.99,
      "premarket_volume": 42542.0,
      "momentum_pct": -0.1,
      "consolidation_tightness_pct": 0.24,
      "distance_from_pm_high_pct": 0.92,
      "extension_from_vwap_pct": -0.31,
      "spread_pct": 0.2
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 10.33,
    "pm_low": 10.22
  },
  {
    "symbol": "CARS",
    "total_score": 35.63,
    "raw_score": 37.77,
    "breakdown": {
      "price_quality": 3.04,
      "volume_quality": 3.49,
      "rvol": 0.14,
      "volume_acceleration": 8.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.22,
      "spread_liquidity": 4.16,
      "momentum_consistency": 1.25,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.965,
      "vwap": 12.0327,
      "vwap_slope": -0.0328,
      "rvol": 0.06,
      "volume_acceleration": 1.81,
      "premarket_volume": 29107.0,
      "momentum_pct": -0.25,
      "consolidation_tightness_pct": 0.29,
      "distance_from_pm_high_pct": 1.03,
      "extension_from_vwap_pct": -0.56,
      "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.09,
    "pm_low": 11.96
  },
  {
    "symbol": "LOCO",
    "total_score": 35.6,
    "raw_score": 37.74,
    "breakdown": {
      "price_quality": 0.0,
      "volume_quality": 2.53,
      "rvol": 0.1,
      "volume_acceleration": 10,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.81,
      "spread_liquidity": 4.35,
      "momentum_consistency": 2.55,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 15.39,
      "vwap": 15.4074,
      "vwap_slope": -0.0023,
      "rvol": 0.04,
      "volume_acceleration": 2.06,
      "premarket_volume": 21104.0,
      "momentum_pct": -0.23,
      "consolidation_tightness_pct": 0.26,
      "distance_from_pm_high_pct": 0.26,
      "extension_from_vwap_pct": -0.11,
      "spread_pct": 0.19
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 15.43,
    "pm_low": 15.37
  },
  {
    "symbol": "DC",
    "total_score": 35.4,
    "raw_score": 37.52,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 8.5,
      "rvol": 0.34,
      "volume_acceleration": 2.93,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.56,
      "spread_liquidity": 4.44,
      "momentum_consistency": 1.83,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.995,
      "vwap": 6.0075,
      "vwap_slope": -0.0022,
      "rvol": 0.14,
      "volume_acceleration": 0.84,
      "premarket_volume": 70870.0,
      "momentum_pct": -0.17,
      "consolidation_tightness_pct": 0.17,
      "distance_from_pm_high_pct": 0.58,
      "extension_from_vwap_pct": -0.21,
      "spread_pct": 0.17
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 6.03,
    "pm_low": 5.995
  },
  {
    "symbol": "MATV",
    "total_score": 34.96,
    "raw_score": 37.05,
    "breakdown": {
      "price_quality": 2.47,
      "volume_quality": 3.56,
      "rvol": 0.14,
      "volume_acceleration": 5.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.73,
      "spread_liquidity": 4.47,
      "momentum_consistency": 2.84,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.525,
      "vwap": 12.5332,
      "vwap_slope": -0.0108,
      "rvol": 0.06,
      "volume_acceleration": 1.54,
      "premarket_volume": 29652.0,
      "momentum_pct": -0.04,
      "consolidation_tightness_pct": 0.1,
      "distance_from_pm_high_pct": 0.36,
      "extension_from_vwap_pct": -0.07,
      "spread_pct": 0.16
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 12.57,
    "pm_low": 12.505
  },
  {
    "symbol": "ORN",
    "total_score": 34.66,
    "raw_score": 36.74,
    "breakdown": {
      "price_quality": 4.12,
      "volume_quality": 2.48,
      "rvol": 0.1,
      "volume_acceleration": 3.98,
      "price_momentum": 0.49,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.63,
      "spread_liquidity": 4.27,
      "momentum_consistency": 3.27,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.115,
      "vwap": 9.1185,
      "vwap_slope": -0.0294,
      "rvol": 0.04,
      "volume_acceleration": 1.4,
      "premarket_volume": 20652.0,
      "momentum_pct": 0.33,
      "consolidation_tightness_pct": 0.33,
      "distance_from_pm_high_pct": 0.49,
      "extension_from_vwap_pct": -0.04,
      "spread_pct": 0.22
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 9.16,
    "pm_low": 9.0852
  },
  {
    "symbol": "BKKT",
    "total_score": 34.54,
    "raw_score": 36.61,
    "breakdown": {
      "price_quality": 2.46,
      "volume_quality": 6.23,
      "rvol": 0.25,
      "volume_acceleration": 2.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.4,
      "spread_liquidity": 4.11,
      "momentum_consistency": 3.56,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.46,
      "vwap": 7.4868,
      "vwap_slope": -0.0015,
      "rvol": 0.1,
      "volume_acceleration": 0.63,
      "premarket_volume": 51925.0,
      "momentum_pct": -0.27,
      "consolidation_tightness_pct": 0.51,
      "distance_from_pm_high_pct": 0.8,
      "extension_from_vwap_pct": -0.36,
      "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": false,
      "vwap_rising": false
    },
    "pm_high": 7.5199,
    "pm_low": 7.4517
  },
  {
    "symbol": "SWBI",
    "total_score": 34.37,
    "raw_score": 36.43,
    "breakdown": {
      "price_quality": 2.14,
      "volume_quality": 5.6,
      "rvol": 0.22,
      "volume_acceleration": 2.76,
      "price_momentum": 0.06,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.68,
      "spread_liquidity": 4.74,
      "momentum_consistency": 2.82,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.855,
      "vwap": 12.8705,
      "vwap_slope": -0.0096,
      "rvol": 0.09,
      "volume_acceleration": 0.79,
      "premarket_volume": 46646.0,
      "momentum_pct": 0.04,
      "consolidation_tightness_pct": 0.12,
      "distance_from_pm_high_pct": 0.43,
      "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": false,
      "vwap_rising": false
    },
    "pm_high": 12.91,
    "pm_low": 12.84
  },
  {
    "symbol": "CHPT",
    "total_score": 34.27,
    "raw_score": 36.33,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 7.13,
      "rvol": 0.29,
      "volume_acceleration": 3.14,
      "price_momentum": 0.29,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 4.74,
      "spread_liquidity": 3.73,
      "momentum_consistency": 3.12,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.25,
      "vwap": 5.2843,
      "vwap_slope": -0.0083,
      "rvol": 0.12,
      "volume_acceleration": 0.9,
      "premarket_volume": 59396.0,
      "momentum_pct": 0.19,
      "consolidation_tightness_pct": 0.57,
      "distance_from_pm_high_pct": 1.69,
      "extension_from_vwap_pct": -0.65,
      "spread_pct": 0.38
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 5.34,
    "pm_low": 5.24
  },
  {
    "symbol": "LTBR",
    "total_score": 33.93,
    "raw_score": 35.97,
    "breakdown": {
      "price_quality": 2.51,
      "volume_quality": 4.18,
      "rvol": 0.17,
      "volume_acceleration": 3.63,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.79,
      "spread_liquidity": 4.56,
      "momentum_consistency": 2.73,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.51,
      "vwap": 7.5146,
      "vwap_slope": -0.003,
      "rvol": 0.07,
      "volume_acceleration": 1.04,
      "premarket_volume": 34803.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.2,
      "distance_from_pm_high_pct": 0.28,
      "extension_from_vwap_pct": -0.06,
      "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.531,
    "pm_low": 7.48
  },
  {
    "symbol": "DBI",
    "total_score": 33.73,
    "raw_score": 35.75,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 8.46,
      "rvol": 0.34,
      "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": 5.1,
      "spread_liquidity": 3.75,
      "momentum_consistency": 2.15,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.355,
      "vwap": 5.3894,
      "vwap_slope": -0.0053,
      "rvol": 0.14,
      "volume_acceleration": 0.59,
      "premarket_volume": 70502.0,
      "momentum_pct": -0.37,
      "consolidation_tightness_pct": 0.47,
      "distance_from_pm_high_pct": 1.2,
      "extension_from_vwap_pct": -0.64,
      "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": 5.42,
    "pm_low": 5.35
  },
  {
    "symbol": "NOMD",
    "total_score": 33.45,
    "raw_score": 35.46,
    "breakdown": {
      "price_quality": 3.2,
      "volume_quality": 6.53,
      "rvol": 0.26,
      "volume_acceleration": 1.59,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.63,
      "spread_liquidity": 4.72,
      "momentum_consistency": 1.14,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.801,
      "vwap": 11.8338,
      "vwap_slope": -0.006,
      "rvol": 0.11,
      "volume_acceleration": 1.16,
      "premarket_volume": 54396.0,
      "momentum_pct": -0.08,
      "consolidation_tightness_pct": 0.16,
      "distance_from_pm_high_pct": 0.5,
      "extension_from_vwap_pct": -0.28,
      "spread_pct": 0.08
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 11.86,
    "pm_low": 11.801
  },
  {
    "symbol": "GOOS",
    "total_score": 33.42,
    "raw_score": 35.42,
    "breakdown": {
      "price_quality": 3.15,
      "volume_quality": 6.1,
      "rvol": 0.24,
      "volume_acceleration": 1.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.45,
      "spread_liquidity": 4.59,
      "momentum_consistency": 2.35,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.155,
      "vwap": 8.18,
      "vwap_slope": -0.0055,
      "rvol": 0.1,
      "volume_acceleration": 0.32,
      "premarket_volume": 50843.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.11,
      "distance_from_pm_high_pct": 0.73,
      "extension_from_vwap_pct": -0.31,
      "spread_pct": 0.12
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 8.215,
    "pm_low": 8.14
  },
  {
    "symbol": "KBDC",
    "total_score": 33.33,
    "raw_score": 35.33,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 6.54,
      "rvol": 0.26,
      "volume_acceleration": 2.15,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.89,
      "spread_liquidity": 4.51,
      "momentum_consistency": 2.09,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.555,
      "vwap": 13.5611,
      "vwap_slope": -0.0006,
      "rvol": 0.11,
      "volume_acceleration": 0.62,
      "premarket_volume": 54483.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.04,
      "distance_from_pm_high_pct": 0.15,
      "extension_from_vwap_pct": -0.04,
      "spread_pct": 0.15
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 13.575,
    "pm_low": 13.54
  },
  {
    "symbol": "GDYN",
    "total_score": 33.22,
    "raw_score": 35.22,
    "breakdown": {
      "price_quality": 2.88,
      "volume_quality": 3.47,
      "rvol": 0.14,
      "volume_acceleration": 3.37,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.72,
      "spread_liquidity": 4.58,
      "momentum_consistency": 2.67,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.88,
      "vwap": 7.8941,
      "vwap_slope": -0.0013,
      "rvol": 0.06,
      "volume_acceleration": 0.97,
      "premarket_volume": 28926.0,
      "momentum_pct": -0.06,
      "consolidation_tightness_pct": 0.13,
      "distance_from_pm_high_pct": 0.38,
      "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.91,
    "pm_low": 7.87
  },
  {
    "symbol": "MOVE",
    "total_score": 33.13,
    "raw_score": 35.11,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 0.49,
      "volume_acceleration": 0.96,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 3.14,
      "spread_liquidity": 1.15,
      "momentum_consistency": 3.48,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.62,
      "vwap": 14.8154,
      "vwap_slope": -0.0149,
      "rvol": 0.21,
      "volume_acceleration": 0.28,
      "premarket_volume": 102594.0,
      "momentum_pct": -0.34,
      "consolidation_tightness_pct": 1.23,
      "distance_from_pm_high_pct": 3.82,
      "extension_from_vwap_pct": -1.32,
      "spread_pct": 1.16
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 15.2,
    "pm_low": 14.38
  },
  {
    "symbol": "NRDS",
    "total_score": 33.02,
    "raw_score": 35.0,
    "breakdown": {
      "price_quality": 4.96,
      "volume_quality": 3.14,
      "rvol": 0.13,
      "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": 5.86,
      "spread_liquidity": 4.67,
      "momentum_consistency": 1.25,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.0409,
      "vwap": 10.043,
      "vwap_slope": -0.0011,
      "rvol": 0.05,
      "volume_acceleration": 0.75,
      "premarket_volume": 26128.0,
      "momentum_pct": -0.09,
      "consolidation_tightness_pct": 0.1,
      "distance_from_pm_high_pct": 0.19,
      "extension_from_vwap_pct": -0.02,
      "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.06,
    "pm_low": 10.035
  },
  {
    "symbol": "ODD",
    "total_score": 32.9,
    "raw_score": 34.87,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 4.47,
      "rvol": 0.18,
      "volume_acceleration": 3.21,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.56,
      "spread_liquidity": 4.3,
      "momentum_consistency": 3.25,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.275,
      "vwap": 14.3186,
      "vwap_slope": -0.0142,
      "rvol": 0.07,
      "volume_acceleration": 1.32,
      "premarket_volume": 37265.0,
      "momentum_pct": -0.17,
      "consolidation_tightness_pct": 0.28,
      "distance_from_pm_high_pct": 0.59,
      "extension_from_vwap_pct": -0.3,
      "spread_pct": 0.21
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 14.36,
    "pm_low": 14.27
  },
  {
    "symbol": "GASS",
    "total_score": 32.41,
    "raw_score": 34.36,
    "breakdown": {
      "price_quality": 4.45,
      "volume_quality": 3.26,
      "rvol": 0.13,
      "volume_acceleration": 1.82,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.14,
      "spread_liquidity": 4.3,
      "momentum_consistency": 2.86,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.45,
      "vwap": 9.5313,
      "vwap_slope": -0.0225,
      "rvol": 0.05,
      "volume_acceleration": 0.52,
      "premarket_volume": 27201.0,
      "momentum_pct": -0.21,
      "consolidation_tightness_pct": 0.32,
      "distance_from_pm_high_pct": 1.15,
      "extension_from_vwap_pct": -0.85,
      "spread_pct": 0.21
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 9.5601,
    "pm_low": 9.45
  },
  {
    "symbol": "SLRC",
    "total_score": 32.34,
    "raw_score": 34.28,
    "breakdown": {
      "price_quality": 2.28,
      "volume_quality": 5.51,
      "rvol": 0.22,
      "volume_acceleration": 0.8,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.74,
      "spread_liquidity": 4.74,
      "momentum_consistency": 2.59,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.725,
      "vwap": 12.74,
      "vwap_slope": -0.0024,
      "rvol": 0.09,
      "volume_acceleration": 0.23,
      "premarket_volume": 45953.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.08,
      "distance_from_pm_high_pct": 0.35,
      "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": false,
      "vwap_rising": false
    },
    "pm_high": 12.77,
    "pm_low": 12.72
  },
  {
    "symbol": "HPK",
    "total_score": 32.19,
    "raw_score": 34.12,
    "breakdown": {
      "price_quality": 3.34,
      "volume_quality": 4.17,
      "rvol": 0.17,
      "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.11,
      "spread_liquidity": 3.8,
      "momentum_consistency": 2.91,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.34,
      "vwap": 8.3832,
      "vwap_slope": -0.0216,
      "rvol": 0.07,
      "volume_acceleration": 1.22,
      "premarket_volume": 34773.0,
      "momentum_pct": -0.12,
      "consolidation_tightness_pct": 0.36,
      "distance_from_pm_high_pct": 1.18,
      "extension_from_vwap_pct": -0.51,
      "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.44,
    "pm_low": 8.32
  },
  {
    "symbol": "CION",
    "total_score": 32.11,
    "raw_score": 34.03,
    "breakdown": {
      "price_quality": 2.47,
      "volume_quality": 4.43,
      "rvol": 0.18,
      "volume_acceleration": 1.37,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.7,
      "spread_liquidity": 4.55,
      "momentum_consistency": 2.93,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.47,
      "vwap": 7.4851,
      "vwap_slope": -0.0022,
      "rvol": 0.07,
      "volume_acceleration": 0.39,
      "premarket_volume": 36901.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.07,
      "distance_from_pm_high_pct": 0.4,
      "extension_from_vwap_pct": -0.2,
      "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.5,
    "pm_low": 7.47
  },
  {
    "symbol": "VOXR",
    "total_score": 32.02,
    "raw_score": 33.94,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 7.41,
      "rvol": 0.3,
      "volume_acceleration": 0.52,
      "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.4,
      "momentum_consistency": 2.15,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.53,
      "vwap": 5.5597,
      "vwap_slope": -0.0021,
      "rvol": 0.12,
      "volume_acceleration": 0.15,
      "premarket_volume": 61736.0,
      "momentum_pct": -0.09,
      "consolidation_tightness_pct": 0.18,
      "distance_from_pm_high_pct": 0.98,
      "extension_from_vwap_pct": -0.53,
      "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.585,
    "pm_low": 5.53
  },
  {
    "symbol": "PDYN",
    "total_score": 32.0,
    "raw_score": 33.92,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 4.73,
      "rvol": 0.19,
      "volume_acceleration": 2.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.76,
      "spread_liquidity": 4.38,
      "momentum_consistency": 2.81,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.34,
      "vwap": 5.341,
      "vwap_slope": -0.0013,
      "rvol": 0.08,
      "volume_acceleration": 0.62,
      "premarket_volume": 39408.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.19,
      "distance_from_pm_high_pct": 0.33,
      "extension_from_vwap_pct": -0.02,
      "spread_pct": 0.19
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 5.3575,
    "pm_low": 5.33
  },
  {
    "symbol": "MAGN",
    "total_score": 31.97,
    "raw_score": 33.89,
    "breakdown": {
      "price_quality": 2.32,
      "volume_quality": 6.15,
      "rvol": 0.25,
      "volume_acceleration": 0.56,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.3,
      "spread_liquidity": 4.47,
      "momentum_consistency": 2.43,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.68,
      "vwap": 12.7531,
      "vwap_slope": -0.0075,
      "rvol": 0.1,
      "volume_acceleration": 0.16,
      "premarket_volume": 51283.0,
      "momentum_pct": -0.24,
      "consolidation_tightness_pct": 0.24,
      "distance_from_pm_high_pct": 0.94,
      "extension_from_vwap_pct": -0.57,
      "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.8,
    "pm_low": 12.68
  },
  {
    "symbol": "LE",
    "total_score": 31.83,
    "raw_score": 33.74,
    "breakdown": {
      "price_quality": 3.65,
      "volume_quality": 2.65,
      "rvol": 0.11,
      "volume_acceleration": 2.51,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.4,
      "spread_liquidity": 4.12,
      "momentum_consistency": 2.91,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.3479,
      "vwap": 11.3672,
      "vwap_slope": -0.0096,
      "rvol": 0.04,
      "volume_acceleration": 0.72,
      "premarket_volume": 22055.0,
      "momentum_pct": -0.02,
      "consolidation_tightness_pct": 0.09,
      "distance_from_pm_high_pct": 0.81,
      "extension_from_vwap_pct": -0.17,
      "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": 11.44,
    "pm_low": 11.325
  },
  {
    "symbol": "AEBI",
    "total_score": 31.74,
    "raw_score": 33.65,
    "breakdown": {
      "price_quality": 2.29,
      "volume_quality": 4.11,
      "rvol": 0.16,
      "volume_acceleration": 3.31,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.27,
      "spread_liquidity": 3.16,
      "momentum_consistency": 2.93,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.705,
      "vwap": 12.7799,
      "vwap_slope": -0.0252,
      "rvol": 0.07,
      "volume_acceleration": 0.95,
      "premarket_volume": 34237.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.51,
      "distance_from_pm_high_pct": 0.97,
      "extension_from_vwap_pct": -0.59,
      "spread_pct": 0.55
    },
    "flags": {
      "meets_min_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.83,
    "pm_low": 12.67
  },
  {
    "symbol": "DFH",
    "total_score": 31.26,
    "raw_score": 33.14,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 5.11,
      "rvol": 0.2,
      "volume_acceleration": 2.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.15,
      "spread_liquidity": 4.75,
      "momentum_consistency": 1.12,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.565,
      "vwap": 13.6473,
      "vwap_slope": -0.0233,
      "rvol": 0.09,
      "volume_acceleration": 0.83,
      "premarket_volume": 42565.0,
      "momentum_pct": -0.11,
      "consolidation_tightness_pct": 0.15,
      "distance_from_pm_high_pct": 1.13,
      "extension_from_vwap_pct": -0.6,
      "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.72,
    "pm_low": 13.565
  },
  {
    "symbol": "RXST",
    "total_score": 30.82,
    "raw_score": 32.67,
    "breakdown": {
      "price_quality": 2.21,
      "volume_quality": 3.44,
      "rvol": 0.14,
      "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.18,
      "spread_liquidity": 4.08,
      "momentum_consistency": 1.48,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.215,
      "vwap": 7.2758,
      "vwap_slope": -0.0009,
      "rvol": 0.06,
      "volume_acceleration": 1.08,
      "premarket_volume": 28659.0,
      "momentum_pct": -0.76,
      "consolidation_tightness_pct": 1.04,
      "distance_from_pm_high_pct": 1.1,
      "extension_from_vwap_pct": -0.84,
      "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.295,
    "pm_low": 7.215
  },
  {
    "symbol": "RWAY",
    "total_score": 30.82,
    "raw_score": 32.67,
    "breakdown": {
      "price_quality": 1.68,
      "volume_quality": 5.58,
      "rvol": 0.22,
      "volume_acceleration": 0.62,
      "price_momentum": 0.11,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.83,
      "spread_liquidity": 4.5,
      "momentum_consistency": 1.71,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.685,
      "vwap": 6.6876,
      "vwap_slope": -0.0011,
      "rvol": 0.09,
      "volume_acceleration": 0.18,
      "premarket_volume": 46518.0,
      "momentum_pct": 0.07,
      "consolidation_tightness_pct": 0.07,
      "distance_from_pm_high_pct": 0.22,
      "extension_from_vwap_pct": -0.04,
      "spread_pct": 0.15
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 6.7,
    "pm_low": 6.675
  },
  {
    "symbol": "BETR",
    "total_score": 30.72,
    "raw_score": 32.56,
    "breakdown": {
      "price_quality": 2.74,
      "volume_quality": 2.46,
      "rvol": 0.1,
      "volume_acceleration": 3.43,
      "price_momentum": 0.12,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 4.91,
      "spread_liquidity": 3.92,
      "momentum_consistency": 2.48,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.26,
      "vwap": 12.3167,
      "vwap_slope": -0.0676,
      "rvol": 0.04,
      "volume_acceleration": 1.34,
      "premarket_volume": 20500.0,
      "momentum_pct": 0.08,
      "consolidation_tightness_pct": 0.4,
      "distance_from_pm_high_pct": 1.45,
      "extension_from_vwap_pct": -0.46,
      "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.44,
    "pm_low": 12.2204
  },
  {
    "symbol": "XPER",
    "total_score": 30.14,
    "raw_score": 31.95,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 3.37,
      "rvol": 0.13,
      "volume_acceleration": 2.5,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.74,
      "spread_liquidity": 4.43,
      "momentum_consistency": 1.87,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.86,
      "vwap": 5.8675,
      "vwap_slope": -0.002,
      "rvol": 0.06,
      "volume_acceleration": 0.72,
      "premarket_volume": 28078.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.09,
      "distance_from_pm_high_pct": 0.34,
      "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": 5.88,
    "pm_low": 5.85
  },
  {
    "symbol": "AIRO",
    "total_score": 30.13,
    "raw_score": 31.93,
    "breakdown": {
      "price_quality": 1.86,
      "volume_quality": 2.68,
      "rvol": 0.11,
      "volume_acceleration": 2.11,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.3,
      "spread_liquidity": 4.51,
      "momentum_consistency": 2.96,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.865,
      "vwap": 6.8963,
      "vwap_slope": -0.0111,
      "rvol": 0.04,
      "volume_acceleration": 0.61,
      "premarket_volume": 22320.0,
      "momentum_pct": -0.36,
      "consolidation_tightness_pct": 0.36,
      "distance_from_pm_high_pct": 0.94,
      "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": false,
      "vwap_rising": false
    },
    "pm_high": 6.9298,
    "pm_low": 6.865
  },
  {
    "symbol": "INGN",
    "total_score": 29.91,
    "raw_score": 31.71,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 3.79,
      "rvol": 0.15,
      "volume_acceleration": 1.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.53,
      "spread_liquidity": 4.38,
      "momentum_consistency": 2.13,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.385,
      "vwap": 5.4003,
      "vwap_slope": -0.0036,
      "rvol": 0.06,
      "volume_acceleration": 0.52,
      "premarket_volume": 31566.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.19,
      "distance_from_pm_high_pct": 0.63,
      "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": 5.4191,
    "pm_low": 5.38
  },
  {
    "symbol": "BOC",
    "total_score": 29.15,
    "raw_score": 30.9,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 3.01,
      "rvol": 0.12,
      "volume_acceleration": 1.73,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.67,
      "spread_liquidity": 4.28,
      "momentum_consistency": 2.18,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.8539,
      "vwap": 13.8951,
      "vwap_slope": -0.0027,
      "rvol": 0.05,
      "volume_acceleration": 0.5,
      "premarket_volume": 25096.0,
      "momentum_pct": -0.26,
      "consolidation_tightness_pct": 0.33,
      "distance_from_pm_high_pct": 0.44,
      "extension_from_vwap_pct": -0.3,
      "spread_pct": 0.22
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 13.915,
    "pm_low": 13.8539
  }
]