[
  {
    "symbol": "XHLD",
    "total_score": 75.5,
    "raw_score": 80.03,
    "breakdown": {
      "price_quality": 4.36,
      "volume_quality": 12.0,
      "rvol": 11.25,
      "volume_acceleration": 1.97,
      "price_momentum": 8.25,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 5.1,
      "distance_from_pm_high": 0,
      "spread_liquidity": 3.96,
      "momentum_consistency": 5.14,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.3633,
      "vwap": 8.8428,
      "vwap_slope": 0.1672,
      "rvol": 4.22,
      "volume_acceleration": 0.57,
      "premarket_volume": 2108518.0,
      "momentum_pct": 5.5,
      "consolidation_tightness_pct": 7.35,
      "distance_from_pm_high_pct": 10.65,
      "extension_from_vwap_pct": 5.89,
      "spread_pct": 0.31
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 10.4799,
    "pm_low": 8.28
  },
  {
    "symbol": "MNRO",
    "total_score": 70.99,
    "raw_score": 75.24,
    "breakdown": {
      "price_quality": 1.84,
      "volume_quality": 12.0,
      "rvol": 0.79,
      "volume_acceleration": 10,
      "price_momentum": 0.88,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.91,
      "spread_liquidity": 4.49,
      "momentum_consistency": 3.33,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.165,
      "vwap": 13.0639,
      "vwap_slope": 0.0037,
      "rvol": 0.33,
      "volume_acceleration": 5.81,
      "premarket_volume": 163625.0,
      "momentum_pct": 0.59,
      "consolidation_tightness_pct": 0.92,
      "distance_from_pm_high_pct": 0.11,
      "extension_from_vwap_pct": 0.77,
      "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.18,
    "pm_low": 12.9
  },
  {
    "symbol": "HLF",
    "total_score": 69.1,
    "raw_score": 73.25,
    "breakdown": {
      "price_quality": 2.55,
      "volume_quality": 9.64,
      "rvol": 0.39,
      "volume_acceleration": 9.71,
      "price_momentum": 0.37,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.98,
      "spread_liquidity": 4.73,
      "momentum_consistency": 3.89,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.451,
      "vwap": 12.4129,
      "vwap_slope": 0.0123,
      "rvol": 0.16,
      "volume_acceleration": 1.97,
      "premarket_volume": 80301.0,
      "momentum_pct": 0.25,
      "consolidation_tightness_pct": 0.44,
      "distance_from_pm_high_pct": 0.03,
      "extension_from_vwap_pct": 0.31,
      "spread_pct": 0.08
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 12.455,
    "pm_low": 12.37
  },
  {
    "symbol": "QXO",
    "total_score": 67.51,
    "raw_score": 71.56,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 4.28,
      "volume_acceleration": 3.78,
      "price_momentum": 0.24,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.83,
      "spread_liquidity": 4.75,
      "momentum_consistency": 3.17,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.565,
      "vwap": 13.5624,
      "vwap_slope": 0.0024,
      "rvol": 1.6,
      "volume_acceleration": 1.09,
      "premarket_volume": 802225.0,
      "momentum_pct": 0.16,
      "consolidation_tightness_pct": 0.33,
      "distance_from_pm_high_pct": 0.22,
      "extension_from_vwap_pct": 0.02,
      "spread_pct": 0.07
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 13.595,
    "pm_low": 13.52
  },
  {
    "symbol": "TDOC",
    "total_score": 65.78,
    "raw_score": 69.73,
    "breakdown": {
      "price_quality": 1.54,
      "volume_quality": 12.0,
      "rvol": 1.48,
      "volume_acceleration": 6.04,
      "price_momentum": 0.23,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.77,
      "spread_liquidity": 4.49,
      "momentum_consistency": 2.17,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.545,
      "vwap": 6.5448,
      "vwap_slope": 0.0015,
      "rvol": 0.62,
      "volume_acceleration": 1.6,
      "premarket_volume": 307767.0,
      "momentum_pct": 0.15,
      "consolidation_tightness_pct": 0.31,
      "distance_from_pm_high_pct": 0.3,
      "extension_from_vwap_pct": 0.0,
      "spread_pct": 0.15
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 6.565,
    "pm_low": 6.51
  },
  {
    "symbol": "FLO",
    "total_score": 65.21,
    "raw_score": 69.13,
    "breakdown": {
      "price_quality": 2.05,
      "volume_quality": 12.0,
      "rvol": 1.93,
      "volume_acceleration": 4.22,
      "price_momentum": 0.41,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.88,
      "spread_liquidity": 4.53,
      "momentum_consistency": 2.11,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.0491,
      "vwap": 7.033,
      "vwap_slope": 0.0027,
      "rvol": 0.81,
      "volume_acceleration": 1.42,
      "premarket_volume": 403120.0,
      "momentum_pct": 0.27,
      "consolidation_tightness_pct": 0.43,
      "distance_from_pm_high_pct": 0.15,
      "extension_from_vwap_pct": 0.23,
      "spread_pct": 0.14
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 7.06,
    "pm_low": 7.01
  },
  {
    "symbol": "F",
    "total_score": 64.73,
    "raw_score": 68.62,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 12.0,
      "volume_acceleration": 2.48,
      "price_momentum": 0.11,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.84,
      "spread_liquidity": 4.76,
      "momentum_consistency": 3.53,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.85,
      "vwap": 13.8429,
      "vwap_slope": 0.0009,
      "rvol": 8.38,
      "volume_acceleration": 0.71,
      "premarket_volume": 4189615.0,
      "momentum_pct": 0.07,
      "consolidation_tightness_pct": 0.22,
      "distance_from_pm_high_pct": 0.22,
      "extension_from_vwap_pct": 0.05,
      "spread_pct": 0.07
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 13.88,
    "pm_low": 13.805
  },
  {
    "symbol": "PSKY",
    "total_score": 64.67,
    "raw_score": 68.55,
    "breakdown": {
      "price_quality": 4.18,
      "volume_quality": 12.0,
      "rvol": 12.0,
      "volume_acceleration": 0.71,
      "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.69,
      "momentum_consistency": 2.71,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.825,
      "vwap": 10.8127,
      "vwap_slope": 0.0016,
      "rvol": 4.85,
      "volume_acceleration": 0.2,
      "premarket_volume": 2425324.0,
      "momentum_pct": -0.09,
      "consolidation_tightness_pct": 0.24,
      "distance_from_pm_high_pct": 0.18,
      "extension_from_vwap_pct": 0.11,
      "spread_pct": 0.09
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 10.845,
    "pm_low": 10.76
  },
  {
    "symbol": "OWL",
    "total_score": 64.41,
    "raw_score": 68.28,
    "breakdown": {
      "price_quality": 2.97,
      "volume_quality": 12.0,
      "rvol": 8.13,
      "volume_acceleration": 2.49,
      "price_momentum": 0.31,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.88,
      "spread_liquidity": 4.72,
      "momentum_consistency": 2.98,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.03,
      "vwap": 12.0193,
      "vwap_slope": -0.002,
      "rvol": 3.05,
      "volume_acceleration": 0.71,
      "premarket_volume": 1523537.0,
      "momentum_pct": 0.21,
      "consolidation_tightness_pct": 0.33,
      "distance_from_pm_high_pct": 0.17,
      "extension_from_vwap_pct": 0.09,
      "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.05,
    "pm_low": 11.99
  },
  {
    "symbol": "ARHS",
    "total_score": 64.21,
    "raw_score": 68.07,
    "breakdown": {
      "price_quality": 4.03,
      "volume_quality": 8.95,
      "rvol": 0.36,
      "volume_acceleration": 3.62,
      "price_momentum": 0.67,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 6,
      "spread_liquidity": 4.63,
      "momentum_consistency": 3.82,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.025,
      "vwap": 8.9754,
      "vwap_slope": 0.0099,
      "rvol": 0.15,
      "volume_acceleration": 1.04,
      "premarket_volume": 74557.0,
      "momentum_pct": 0.45,
      "consolidation_tightness_pct": 0.44,
      "distance_from_pm_high_pct": 0.0,
      "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": true,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 9.025,
    "pm_low": 8.925
  },
  {
    "symbol": "REAL",
    "total_score": 64.1,
    "raw_score": 67.95,
    "breakdown": {
      "price_quality": 3.95,
      "volume_quality": 12.0,
      "rvol": 0.75,
      "volume_acceleration": 9.23,
      "price_momentum": 0.34,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.86,
      "spread_liquidity": 4.4,
      "momentum_consistency": 2.62,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.05,
      "vwap": 11.0107,
      "vwap_slope": -0.0069,
      "rvol": 0.31,
      "volume_acceleration": 1.92,
      "premarket_volume": 156834.0,
      "momentum_pct": 0.23,
      "consolidation_tightness_pct": 0.73,
      "distance_from_pm_high_pct": 0.18,
      "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": true,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 11.07,
    "pm_low": 10.965
  },
  {
    "symbol": "AVAH",
    "total_score": 63.96,
    "raw_score": 67.8,
    "breakdown": {
      "price_quality": 1.63,
      "volume_quality": 12.0,
      "rvol": 0.71,
      "volume_acceleration": 3.66,
      "price_momentum": 0.28,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 6,
      "spread_liquidity": 4.75,
      "momentum_consistency": 2.76,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.37,
      "vwap": 13.3199,
      "vwap_slope": 0.0052,
      "rvol": 0.3,
      "volume_acceleration": 1.05,
      "premarket_volume": 148666.0,
      "momentum_pct": 0.19,
      "consolidation_tightness_pct": 0.19,
      "distance_from_pm_high_pct": 0.0,
      "extension_from_vwap_pct": 0.38,
      "spread_pct": 0.07
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 13.37,
    "pm_low": 13.275
  },
  {
    "symbol": "FF",
    "total_score": 63.52,
    "raw_score": 67.33,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 0.69,
      "volume_acceleration": 3.66,
      "price_momentum": 0.0,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.58,
      "spread_liquidity": 4.38,
      "momentum_consistency": 3.52,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.39,
      "vwap": 5.3436,
      "vwap_slope": 0.0181,
      "rvol": 0.29,
      "volume_acceleration": 1.05,
      "premarket_volume": 142815.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.56,
      "distance_from_pm_high_pct": 0.55,
      "extension_from_vwap_pct": 0.87,
      "spread_pct": 0.19
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 5.42,
    "pm_low": 5.29
  },
  {
    "symbol": "CPRI",
    "total_score": 63.5,
    "raw_score": 67.31,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 1.45,
      "volume_acceleration": 2.7,
      "price_momentum": 0.44,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.97,
      "spread_liquidity": 4.75,
      "momentum_consistency": 2.48,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.54,
      "vwap": 13.4937,
      "vwap_slope": 0.0089,
      "rvol": 0.61,
      "volume_acceleration": 1.27,
      "premarket_volume": 302782.0,
      "momentum_pct": 0.3,
      "consolidation_tightness_pct": 0.33,
      "distance_from_pm_high_pct": 0.04,
      "extension_from_vwap_pct": 0.34,
      "spread_pct": 0.07
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 13.545,
    "pm_low": 13.445
  },
  {
    "symbol": "GO",
    "total_score": 63.14,
    "raw_score": 66.93,
    "breakdown": {
      "price_quality": 2.62,
      "volume_quality": 12.0,
      "rvol": 2.18,
      "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.91,
      "spread_liquidity": 4.73,
      "momentum_consistency": 3.09,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.385,
      "vwap": 12.3153,
      "vwap_slope": 0.0063,
      "rvol": 0.91,
      "volume_acceleration": 2.54,
      "premarket_volume": 454749.0,
      "momentum_pct": -0.04,
      "consolidation_tightness_pct": 0.44,
      "distance_from_pm_high_pct": 0.12,
      "extension_from_vwap_pct": 0.57,
      "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.4,
    "pm_low": 12.21
  },
  {
    "symbol": "CWH",
    "total_score": 62.54,
    "raw_score": 66.29,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 0.79,
      "volume_acceleration": 2.37,
      "price_momentum": 0.23,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.94,
      "spread_liquidity": 4.49,
      "momentum_consistency": 2.98,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.475,
      "vwap": 6.4369,
      "vwap_slope": 0.0064,
      "rvol": 0.33,
      "volume_acceleration": 0.68,
      "premarket_volume": 163988.0,
      "momentum_pct": 0.15,
      "consolidation_tightness_pct": 0.23,
      "distance_from_pm_high_pct": 0.08,
      "extension_from_vwap_pct": 0.59,
      "spread_pct": 0.15
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 6.48,
    "pm_low": 6.4
  },
  {
    "symbol": "MARA",
    "total_score": 62.32,
    "raw_score": 66.06,
    "breakdown": {
      "price_quality": 4.4,
      "volume_quality": 12.0,
      "rvol": 12.0,
      "volume_acceleration": 2.98,
      "price_momentum": 0.36,
      "price_structure": 12,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.16,
      "spread_liquidity": 4.69,
      "momentum_consistency": 2.48,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.6001,
      "vwap": 10.6443,
      "vwap_slope": -0.0213,
      "rvol": 5.58,
      "volume_acceleration": 1.3,
      "premarket_volume": 2789001.0,
      "momentum_pct": 0.24,
      "consolidation_tightness_pct": 0.47,
      "distance_from_pm_high_pct": 1.12,
      "extension_from_vwap_pct": -0.42,
      "spread_pct": 0.09
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 10.72,
    "pm_low": 10.56
  },
  {
    "symbol": "ECVT",
    "total_score": 61.52,
    "raw_score": 65.21,
    "breakdown": {
      "price_quality": 4.86,
      "volume_quality": 9.96,
      "rvol": 0.4,
      "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.93,
      "spread_liquidity": 4.67,
      "momentum_consistency": 3.0,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.145,
      "vwap": 10.1346,
      "vwap_slope": 0.0078,
      "rvol": 0.17,
      "volume_acceleration": 2.01,
      "premarket_volume": 83032.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.2,
      "distance_from_pm_high_pct": 0.1,
      "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": 10.155,
    "pm_low": 10.11
  },
  {
    "symbol": "HTLD",
    "total_score": 61.49,
    "raw_score": 65.18,
    "breakdown": {
      "price_quality": 2.78,
      "volume_quality": 2.79,
      "rvol": 0.11,
      "volume_acceleration": 10,
      "price_momentum": 0.37,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 6,
      "spread_liquidity": 4.45,
      "momentum_consistency": 2.67,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.22,
      "vwap": 12.1874,
      "vwap_slope": 0.0046,
      "rvol": 0.05,
      "volume_acceleration": 2.1,
      "premarket_volume": 23288.0,
      "momentum_pct": 0.25,
      "consolidation_tightness_pct": 0.25,
      "distance_from_pm_high_pct": 0.0,
      "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": true,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 12.22,
    "pm_low": 12.15
  },
  {
    "symbol": "NXE",
    "total_score": 60.81,
    "raw_score": 64.46,
    "breakdown": {
      "price_quality": 4.66,
      "volume_quality": 12.0,
      "rvol": 2.08,
      "volume_acceleration": 3.93,
      "price_momentum": 0.29,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.71,
      "spread_liquidity": 4.68,
      "momentum_consistency": 2.31,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.335,
      "vwap": 10.3201,
      "vwap_slope": -0.0024,
      "rvol": 0.87,
      "volume_acceleration": 1.13,
      "premarket_volume": 432829.0,
      "momentum_pct": 0.19,
      "consolidation_tightness_pct": 0.53,
      "distance_from_pm_high_pct": 0.39,
      "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": true,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 10.375,
    "pm_low": 10.281
  },
  {
    "symbol": "MAT",
    "total_score": 60.71,
    "raw_score": 64.36,
    "breakdown": {
      "price_quality": 0.0,
      "volume_quality": 12.0,
      "rvol": 0.85,
      "volume_acceleration": 1.96,
      "price_momentum": 0.2,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.95,
      "spread_liquidity": 4.78,
      "momentum_consistency": 2.62,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 15.215,
      "vwap": 15.1829,
      "vwap_slope": 0.0058,
      "rvol": 0.35,
      "volume_acceleration": 1.2,
      "premarket_volume": 177231.0,
      "momentum_pct": 0.13,
      "consolidation_tightness_pct": 0.2,
      "distance_from_pm_high_pct": 0.07,
      "extension_from_vwap_pct": 0.21,
      "spread_pct": 0.07
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 15.225,
    "pm_low": 15.15
  },
  {
    "symbol": "RKT",
    "total_score": 60.69,
    "raw_score": 64.33,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 10.03,
      "volume_acceleration": 4.73,
      "price_momentum": 0.43,
      "price_structure": 12,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.76,
      "spread_liquidity": 4.76,
      "momentum_consistency": 3.12,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.885,
      "vwap": 13.8893,
      "vwap_slope": -0.0136,
      "rvol": 3.76,
      "volume_acceleration": 1.47,
      "premarket_volume": 1880973.0,
      "momentum_pct": 0.29,
      "consolidation_tightness_pct": 0.36,
      "distance_from_pm_high_pct": 0.32,
      "extension_from_vwap_pct": -0.03,
      "spread_pct": 0.07
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 13.9297,
    "pm_low": 13.835
  },
  {
    "symbol": "XRAY",
    "total_score": 60.56,
    "raw_score": 64.19,
    "breakdown": {
      "price_quality": 3.85,
      "volume_quality": 12.0,
      "rvol": 0.88,
      "volume_acceleration": 5.4,
      "price_momentum": 0.34,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.8,
      "spread_liquidity": 4.7,
      "momentum_consistency": 2.43,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.155,
      "vwap": 11.144,
      "vwap_slope": -0.0016,
      "rvol": 0.37,
      "volume_acceleration": 1.54,
      "premarket_volume": 183644.0,
      "momentum_pct": 0.22,
      "consolidation_tightness_pct": 0.22,
      "distance_from_pm_high_pct": 0.27,
      "extension_from_vwap_pct": 0.1,
      "spread_pct": 0.09
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 11.185,
    "pm_low": 11.105
  },
  {
    "symbol": "SVV",
    "total_score": 59.93,
    "raw_score": 63.52,
    "breakdown": {
      "price_quality": 4.21,
      "volume_quality": 7.2,
      "rvol": 0.29,
      "volume_acceleration": 2.26,
      "price_momentum": 0.14,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 6,
      "spread_liquidity": 4.69,
      "momentum_consistency": 2.73,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.785,
      "vwap": 10.764,
      "vwap_slope": 0.0022,
      "rvol": 0.12,
      "volume_acceleration": 1.23,
      "premarket_volume": 59972.0,
      "momentum_pct": 0.09,
      "consolidation_tightness_pct": 0.19,
      "distance_from_pm_high_pct": 0.0,
      "extension_from_vwap_pct": 0.19,
      "spread_pct": 0.09
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 10.785,
    "pm_low": 10.75
  },
  {
    "symbol": "CLF",
    "total_score": 59.88,
    "raw_score": 63.48,
    "breakdown": {
      "price_quality": 3.36,
      "volume_quality": 12.0,
      "rvol": 5.02,
      "volume_acceleration": 3.37,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.9,
      "spread_liquidity": 4.71,
      "momentum_consistency": 2.71,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.645,
      "vwap": 11.6102,
      "vwap_slope": 0.0098,
      "rvol": 1.88,
      "volume_acceleration": 0.97,
      "premarket_volume": 941760.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.13,
      "distance_from_pm_high_pct": 0.13,
      "extension_from_vwap_pct": 0.3,
      "spread_pct": 0.09
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 11.66,
    "pm_low": 11.555
  },
  {
    "symbol": "TASK",
    "total_score": 58.67,
    "raw_score": 62.19,
    "breakdown": {
      "price_quality": 3.34,
      "volume_quality": 10.99,
      "rvol": 0.44,
      "volume_acceleration": 7.48,
      "price_momentum": 0.18,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.91,
      "spread_liquidity": 4.6,
      "momentum_consistency": 2.86,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.335,
      "vwap": 8.3145,
      "vwap_slope": 0.0009,
      "rvol": 0.18,
      "volume_acceleration": 1.75,
      "premarket_volume": 91569.0,
      "momentum_pct": 0.12,
      "consolidation_tightness_pct": 0.42,
      "distance_from_pm_high_pct": 0.12,
      "extension_from_vwap_pct": 0.25,
      "spread_pct": 0.12
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 8.345,
    "pm_low": 8.26
  },
  {
    "symbol": "FMC",
    "total_score": 58.55,
    "raw_score": 62.07,
    "breakdown": {
      "price_quality": 3.8,
      "volume_quality": 12.0,
      "rvol": 1.08,
      "volume_acceleration": 4.91,
      "price_momentum": 0.07,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.73,
      "spread_liquidity": 4.7,
      "momentum_consistency": 3.37,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.2,
      "vwap": 11.1518,
      "vwap_slope": 0.0136,
      "rvol": 0.45,
      "volume_acceleration": 1.49,
      "premarket_volume": 225163.0,
      "momentum_pct": 0.04,
      "consolidation_tightness_pct": 0.19,
      "distance_from_pm_high_pct": 0.36,
      "extension_from_vwap_pct": 0.43,
      "spread_pct": 0.09
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 11.24,
    "pm_low": 11.08
  },
  {
    "symbol": "CRSR",
    "total_score": 58.54,
    "raw_score": 62.05,
    "breakdown": {
      "price_quality": 3.1,
      "volume_quality": 12.0,
      "rvol": 0.6,
      "volume_acceleration": 6.22,
      "price_momentum": 0.25,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.91,
      "spread_liquidity": 4.44,
      "momentum_consistency": 3.13,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.9,
      "vwap": 11.8508,
      "vwap_slope": 0.0177,
      "rvol": 0.25,
      "volume_acceleration": 1.62,
      "premarket_volume": 125230.0,
      "momentum_pct": 0.17,
      "consolidation_tightness_pct": 0.25,
      "distance_from_pm_high_pct": 0.13,
      "extension_from_vwap_pct": 0.42,
      "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.915,
    "pm_low": 11.77
  },
  {
    "symbol": "NEOG",
    "total_score": 58.4,
    "raw_score": 61.9,
    "breakdown": {
      "price_quality": 3.36,
      "volume_quality": 8.36,
      "rvol": 0.33,
      "volume_acceleration": 10,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.87,
      "spread_liquidity": 4.71,
      "momentum_consistency": 2.87,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.645,
      "vwap": 11.5883,
      "vwap_slope": 0.0346,
      "rvol": 0.14,
      "volume_acceleration": 2.05,
      "premarket_volume": 69653.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.09,
      "distance_from_pm_high_pct": 0.17,
      "extension_from_vwap_pct": 0.49,
      "spread_pct": 0.09
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 11.665,
    "pm_low": 11.54
  },
  {
    "symbol": "RITM",
    "total_score": 58.36,
    "raw_score": 61.86,
    "breakdown": {
      "price_quality": 4.9,
      "volume_quality": 12.0,
      "rvol": 1.32,
      "volume_acceleration": 3.58,
      "price_momentum": 0.15,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.97,
      "spread_liquidity": 4.67,
      "momentum_consistency": 2.86,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.095,
      "vwap": 10.0826,
      "vwap_slope": 0.0006,
      "rvol": 0.55,
      "volume_acceleration": 1.03,
      "premarket_volume": 275609.0,
      "momentum_pct": 0.1,
      "consolidation_tightness_pct": 0.24,
      "distance_from_pm_high_pct": 0.04,
      "extension_from_vwap_pct": 0.12,
      "spread_pct": 0.1
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 10.0991,
    "pm_low": 10.06
  },
  {
    "symbol": "JKS",
    "total_score": 58.11,
    "raw_score": 61.6,
    "breakdown": {
      "price_quality": 1.58,
      "volume_quality": 6.32,
      "rvol": 0.25,
      "volume_acceleration": 3.67,
      "price_momentum": 0.17,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.83,
      "spread_liquidity": 4.5,
      "momentum_consistency": 3.27,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.42,
      "vwap": 13.4008,
      "vwap_slope": 0.0039,
      "rvol": 0.11,
      "volume_acceleration": 1.05,
      "premarket_volume": 52699.0,
      "momentum_pct": 0.11,
      "consolidation_tightness_pct": 0.3,
      "distance_from_pm_high_pct": 0.22,
      "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.45,
    "pm_low": 13.305
  },
  {
    "symbol": "COMP",
    "total_score": 58.08,
    "raw_score": 61.56,
    "breakdown": {
      "price_quality": 3.95,
      "volume_quality": 12.0,
      "rvol": 3.18,
      "volume_acceleration": 3.37,
      "price_momentum": 0.14,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.73,
      "spread_liquidity": 4.7,
      "momentum_consistency": 2.11,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.05,
      "vwap": 11.0425,
      "vwap_slope": 0.001,
      "rvol": 1.32,
      "volume_acceleration": 0.97,
      "premarket_volume": 662310.0,
      "momentum_pct": 0.09,
      "consolidation_tightness_pct": 0.14,
      "distance_from_pm_high_pct": 0.36,
      "extension_from_vwap_pct": 0.07,
      "spread_pct": 0.09
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 11.09,
    "pm_low": 11.01
  },
  {
    "symbol": "BTG",
    "total_score": 57.84,
    "raw_score": 61.31,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 12.0,
      "volume_acceleration": 3.63,
      "price_momentum": 0.4,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.73,
      "spread_liquidity": 4.4,
      "momentum_consistency": 2.44,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.6,
      "vwap": 5.5937,
      "vwap_slope": -0.0008,
      "rvol": 7.37,
      "volume_acceleration": 1.04,
      "premarket_volume": 3685121.0,
      "momentum_pct": 0.27,
      "consolidation_tightness_pct": 0.36,
      "distance_from_pm_high_pct": 0.35,
      "extension_from_vwap_pct": 0.11,
      "spread_pct": 0.18
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 5.6199,
    "pm_low": 5.58
  },
  {
    "symbol": "UAA",
    "total_score": 57.62,
    "raw_score": 61.08,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 2.35,
      "volume_acceleration": 3.8,
      "price_momentum": 0.29,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.78,
      "spread_liquidity": 4.35,
      "momentum_consistency": 2.21,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.105,
      "vwap": 5.0989,
      "vwap_slope": -0.0023,
      "rvol": 0.98,
      "volume_acceleration": 1.09,
      "premarket_volume": 489594.0,
      "momentum_pct": 0.2,
      "consolidation_tightness_pct": 0.49,
      "distance_from_pm_high_pct": 0.29,
      "extension_from_vwap_pct": 0.12,
      "spread_pct": 0.2
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 5.12,
    "pm_low": 5.085
  },
  {
    "symbol": "TRLV",
    "total_score": 56.79,
    "raw_score": 60.2,
    "breakdown": {
      "price_quality": 3.33,
      "volume_quality": 12.0,
      "rvol": 1.2,
      "volume_acceleration": 2.23,
      "price_momentum": 1.3,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.81,
      "spread_liquidity": 3.85,
      "momentum_consistency": 4.08,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.67,
      "vwap": 11.5835,
      "vwap_slope": 0.0029,
      "rvol": 0.5,
      "volume_acceleration": 0.64,
      "premarket_volume": 249522.0,
      "momentum_pct": 0.86,
      "consolidation_tightness_pct": 1.29,
      "distance_from_pm_high_pct": 0.26,
      "extension_from_vwap_pct": 0.75,
      "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.7,
    "pm_low": 11.45
  },
  {
    "symbol": "SGHC",
    "total_score": 56.56,
    "raw_score": 59.96,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 1.59,
      "volume_acceleration": 10,
      "price_momentum": 0.16,
      "price_structure": 12,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 4.87,
      "spread_liquidity": 4.53,
      "momentum_consistency": 3.31,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.11,
      "vwap": 14.1633,
      "vwap_slope": -0.0412,
      "rvol": 0.66,
      "volume_acceleration": 2.92,
      "premarket_volume": 330371.0,
      "momentum_pct": 0.11,
      "consolidation_tightness_pct": 0.25,
      "distance_from_pm_high_pct": 1.5,
      "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": true,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 14.325,
    "pm_low": 14.08
  },
  {
    "symbol": "WEN",
    "total_score": 56.48,
    "raw_score": 59.87,
    "breakdown": {
      "price_quality": 3.21,
      "volume_quality": 12.0,
      "rvol": 2.19,
      "volume_acceleration": 3.21,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.95,
      "spread_liquidity": 4.59,
      "momentum_consistency": 2.31,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.215,
      "vwap": 8.1931,
      "vwap_slope": 0.0068,
      "rvol": 0.91,
      "volume_acceleration": 1.32,
      "premarket_volume": 457246.0,
      "momentum_pct": -0.06,
      "consolidation_tightness_pct": 0.21,
      "distance_from_pm_high_pct": 0.06,
      "extension_from_vwap_pct": 0.27,
      "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.22,
    "pm_low": 8.17
  },
  {
    "symbol": "RIG",
    "total_score": 56.31,
    "raw_score": 59.69,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 12.0,
      "volume_acceleration": 1.84,
      "price_momentum": 0.26,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.74,
      "spread_liquidity": 4.43,
      "momentum_consistency": 2.71,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.84,
      "vwap": 5.8392,
      "vwap_slope": -0.0016,
      "rvol": 10.1,
      "volume_acceleration": 0.53,
      "premarket_volume": 5048596.0,
      "momentum_pct": 0.17,
      "consolidation_tightness_pct": 0.34,
      "distance_from_pm_high_pct": 0.34,
      "extension_from_vwap_pct": 0.01,
      "spread_pct": 0.17
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 5.86,
    "pm_low": 5.82
  },
  {
    "symbol": "TSSI",
    "total_score": 56.26,
    "raw_score": 59.64,
    "breakdown": {
      "price_quality": 3.17,
      "volume_quality": 12.0,
      "rvol": 0.83,
      "volume_acceleration": 3.5,
      "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.59,
      "momentum_consistency": 3.33,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.17,
      "vwap": 8.1158,
      "vwap_slope": 0.0256,
      "rvol": 0.34,
      "volume_acceleration": 1.01,
      "premarket_volume": 172262.0,
      "momentum_pct": -0.06,
      "consolidation_tightness_pct": 0.31,
      "distance_from_pm_high_pct": 0.24,
      "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.19,
    "pm_low": 8.0548
  },
  {
    "symbol": "EXK",
    "total_score": 56.17,
    "raw_score": 59.54,
    "breakdown": {
      "price_quality": 4.41,
      "volume_quality": 12.0,
      "rvol": 4.1,
      "volume_acceleration": 3.87,
      "price_momentum": 0.43,
      "price_structure": 12,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.3,
      "spread_liquidity": 4.69,
      "momentum_consistency": 2.76,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.59,
      "vwap": 10.6131,
      "vwap_slope": -0.0062,
      "rvol": 1.54,
      "volume_acceleration": 1.11,
      "premarket_volume": 767959.0,
      "momentum_pct": 0.28,
      "consolidation_tightness_pct": 0.38,
      "distance_from_pm_high_pct": 0.94,
      "extension_from_vwap_pct": -0.22,
      "spread_pct": 0.09
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 10.69,
    "pm_low": 10.56
  },
  {
    "symbol": "STLA",
    "total_score": 56.11,
    "raw_score": 59.48,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 12.0,
      "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.72,
      "spread_liquidity": 4.38,
      "momentum_consistency": 2.62,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.3801,
      "vwap": 5.3812,
      "vwap_slope": 0.0001,
      "rvol": 5.84,
      "volume_acceleration": 1.16,
      "premarket_volume": 2919760.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.37,
      "distance_from_pm_high_pct": 0.37,
      "extension_from_vwap_pct": -0.02,
      "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": true
    },
    "pm_high": 5.4,
    "pm_low": 5.37
  },
  {
    "symbol": "ISOU",
    "total_score": 56.11,
    "raw_score": 59.48,
    "breakdown": {
      "price_quality": 3.72,
      "volume_quality": 2.58,
      "rvol": 0.1,
      "volume_acceleration": 2.81,
      "price_momentum": 0.53,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 6,
      "spread_liquidity": 4.11,
      "momentum_consistency": 3.61,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.28,
      "vwap": 11.1973,
      "vwap_slope": 0.0176,
      "rvol": 0.04,
      "volume_acceleration": 0.81,
      "premarket_volume": 21536.0,
      "momentum_pct": 0.36,
      "consolidation_tightness_pct": 0.61,
      "distance_from_pm_high_pct": 0.0,
      "extension_from_vwap_pct": 0.74,
      "spread_pct": 0.27
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 11.28,
    "pm_low": 11.14
  },
  {
    "symbol": "SG",
    "total_score": 56.1,
    "raw_score": 59.47,
    "breakdown": {
      "price_quality": 1.93,
      "volume_quality": 12.0,
      "rvol": 1.25,
      "volume_acceleration": 10,
      "price_momentum": 0.0,
      "price_structure": 12,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.62,
      "spread_liquidity": 4.52,
      "momentum_consistency": 2.14,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.935,
      "vwap": 6.9399,
      "vwap_slope": -0.0005,
      "rvol": 0.52,
      "volume_acceleration": 2.6,
      "premarket_volume": 259927.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.22,
      "distance_from_pm_high_pct": 0.5,
      "extension_from_vwap_pct": -0.07,
      "spread_pct": 0.14
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 6.97,
    "pm_low": 6.915
  },
  {
    "symbol": "NMAX",
    "total_score": 55.89,
    "raw_score": 59.24,
    "breakdown": {
      "price_quality": 4.22,
      "volume_quality": 12.0,
      "rvol": 0.56,
      "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.41,
      "spread_liquidity": 4.07,
      "momentum_consistency": 3.38,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.775,
      "vwap": 10.7823,
      "vwap_slope": 0.0073,
      "rvol": 0.23,
      "volume_acceleration": 2.09,
      "premarket_volume": 115856.0,
      "momentum_pct": -0.03,
      "consolidation_tightness_pct": 0.1,
      "distance_from_pm_high_pct": 0.78,
      "extension_from_vwap_pct": -0.07,
      "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": true
    },
    "pm_high": 10.8599,
    "pm_low": 10.715
  },
  {
    "symbol": "BGC",
    "total_score": 55.84,
    "raw_score": 59.19,
    "breakdown": {
      "price_quality": 2.92,
      "volume_quality": 12.0,
      "rvol": 0.53,
      "volume_acceleration": 4.51,
      "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.72,
      "momentum_consistency": 2.26,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.08,
      "vwap": 12.0738,
      "vwap_slope": 0.0035,
      "rvol": 0.22,
      "volume_acceleration": 1.45,
      "premarket_volume": 110540.0,
      "momentum_pct": -0.12,
      "consolidation_tightness_pct": 0.17,
      "distance_from_pm_high_pct": 0.21,
      "extension_from_vwap_pct": 0.05,
      "spread_pct": 0.08
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 12.105,
    "pm_low": 12.045
  },
  {
    "symbol": "BVS",
    "total_score": 55.8,
    "raw_score": 59.14,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 4.64,
      "rvol": 0.19,
      "volume_acceleration": 3.62,
      "price_momentum": 0.54,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.95,
      "spread_liquidity": 4.04,
      "momentum_consistency": 2.67,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.88,
      "vwap": 13.8411,
      "vwap_slope": 0.0167,
      "rvol": 0.08,
      "volume_acceleration": 1.36,
      "premarket_volume": 38693.0,
      "momentum_pct": 0.36,
      "consolidation_tightness_pct": 0.43,
      "distance_from_pm_high_pct": 0.07,
      "extension_from_vwap_pct": 0.28,
      "spread_pct": 0.29
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 13.89,
    "pm_low": 13.802
  },
  {
    "symbol": "RDW",
    "total_score": 55.71,
    "raw_score": 59.05,
    "breakdown": {
      "price_quality": 4.25,
      "volume_quality": 12.0,
      "rvol": 3.45,
      "volume_acceleration": 3.18,
      "price_momentum": 0.35,
      "price_structure": 12,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.41,
      "spread_liquidity": 4.69,
      "momentum_consistency": 3.72,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.75,
      "vwap": 10.7722,
      "vwap_slope": -0.0076,
      "rvol": 1.44,
      "volume_acceleration": 0.91,
      "premarket_volume": 718315.0,
      "momentum_pct": 0.23,
      "consolidation_tightness_pct": 0.37,
      "distance_from_pm_high_pct": 0.78,
      "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": true,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 10.835,
    "pm_low": 10.72
  },
  {
    "symbol": "KODK",
    "total_score": 55.71,
    "raw_score": 59.05,
    "breakdown": {
      "price_quality": 4.14,
      "volume_quality": 5.24,
      "rvol": 0.21,
      "volume_acceleration": 9.84,
      "price_momentum": 0.07,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.96,
      "spread_liquidity": 4.64,
      "momentum_consistency": 2.55,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.145,
      "vwap": 9.1367,
      "vwap_slope": 0.0101,
      "rvol": 0.09,
      "volume_acceleration": 1.98,
      "premarket_volume": 43674.0,
      "momentum_pct": 0.05,
      "consolidation_tightness_pct": 0.11,
      "distance_from_pm_high_pct": 0.05,
      "extension_from_vwap_pct": 0.09,
      "spread_pct": 0.11
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 9.15,
    "pm_low": 9.11
  },
  {
    "symbol": "BRBR",
    "total_score": 55.62,
    "raw_score": 58.96,
    "breakdown": {
      "price_quality": 4.3,
      "volume_quality": 12.0,
      "rvol": 0.98,
      "volume_acceleration": 3.05,
      "price_momentum": 0.07,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.79,
      "spread_liquidity": 4.69,
      "momentum_consistency": 1.68,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.7,
      "vwap": 10.6932,
      "vwap_slope": 0.0005,
      "rvol": 0.41,
      "volume_acceleration": 0.88,
      "premarket_volume": 203296.0,
      "momentum_pct": 0.05,
      "consolidation_tightness_pct": 0.09,
      "distance_from_pm_high_pct": 0.28,
      "extension_from_vwap_pct": 0.06,
      "spread_pct": 0.09
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 10.73,
    "pm_low": 10.67
  },
  {
    "symbol": "AVTR",
    "total_score": 55.58,
    "raw_score": 58.92,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 2.25,
      "volume_acceleration": 3.44,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.79,
      "spread_liquidity": 4.77,
      "momentum_consistency": 2.76,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.57,
      "vwap": 14.5642,
      "vwap_slope": 0.0023,
      "rvol": 0.94,
      "volume_acceleration": 0.99,
      "premarket_volume": 469737.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.17,
      "distance_from_pm_high_pct": 0.27,
      "extension_from_vwap_pct": 0.04,
      "spread_pct": 0.07
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 14.61,
    "pm_low": 14.515
  },
  {
    "symbol": "JBS",
    "total_score": 55.55,
    "raw_score": 58.88,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 1.29,
      "volume_acceleration": 3.34,
      "price_momentum": 0.28,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.97,
      "spread_liquidity": 4.75,
      "momentum_consistency": 3.35,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.585,
      "vwap": 13.5414,
      "vwap_slope": 0.0065,
      "rvol": 0.54,
      "volume_acceleration": 0.96,
      "premarket_volume": 269389.0,
      "momentum_pct": 0.18,
      "consolidation_tightness_pct": 0.26,
      "distance_from_pm_high_pct": 0.04,
      "extension_from_vwap_pct": 0.32,
      "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.59,
    "pm_low": 13.52
  },
  {
    "symbol": "AI",
    "total_score": 55.49,
    "raw_score": 58.82,
    "breakdown": {
      "price_quality": 4.54,
      "volume_quality": 12.0,
      "rvol": 3.43,
      "volume_acceleration": 4.02,
      "price_momentum": 0.22,
      "price_structure": 12,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 4.94,
      "spread_liquidity": 4.68,
      "momentum_consistency": 2.98,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.455,
      "vwap": 10.4886,
      "vwap_slope": -0.0041,
      "rvol": 1.43,
      "volume_acceleration": 1.4,
      "premarket_volume": 715513.0,
      "momentum_pct": 0.14,
      "consolidation_tightness_pct": 0.33,
      "distance_from_pm_high_pct": 1.41,
      "extension_from_vwap_pct": -0.32,
      "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.605,
    "pm_low": 10.345
  },
  {
    "symbol": "FSM",
    "total_score": 55.4,
    "raw_score": 58.72,
    "breakdown": {
      "price_quality": 2.88,
      "volume_quality": 12.0,
      "rvol": 4.12,
      "volume_acceleration": 3.57,
      "price_momentum": 0.19,
      "price_structure": 12,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.66,
      "spread_liquidity": 4.73,
      "momentum_consistency": 3.59,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.125,
      "vwap": 12.1271,
      "vwap_slope": -0.005,
      "rvol": 1.55,
      "volume_acceleration": 1.03,
      "premarket_volume": 772930.0,
      "momentum_pct": 0.12,
      "consolidation_tightness_pct": 0.21,
      "distance_from_pm_high_pct": 0.45,
      "extension_from_vwap_pct": -0.02,
      "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": false,
      "vwap_rising": false
    },
    "pm_high": 12.18,
    "pm_low": 12.085
  },
  {
    "symbol": "TTD",
    "total_score": 55.28,
    "raw_score": 58.6,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 5.51,
      "volume_acceleration": 4.83,
      "price_momentum": 0.18,
      "price_structure": 12,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.65,
      "spread_liquidity": 4.75,
      "momentum_consistency": 2.17,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.5466,
      "vwap": 13.5623,
      "vwap_slope": -0.0046,
      "rvol": 2.07,
      "volume_acceleration": 1.48,
      "premarket_volume": 1033456.0,
      "momentum_pct": 0.12,
      "consolidation_tightness_pct": 0.22,
      "distance_from_pm_high_pct": 0.47,
      "extension_from_vwap_pct": -0.12,
      "spread_pct": 0.07
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 13.61,
    "pm_low": 13.52
  },
  {
    "symbol": "TMC",
    "total_score": 55.25,
    "raw_score": 58.56,
    "breakdown": {
      "price_quality": 0.0,
      "volume_quality": 12.0,
      "rvol": 11.74,
      "volume_acceleration": 1.85,
      "price_momentum": 0.78,
      "price_structure": 12,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 3.3,
      "spread_liquidity": 4.31,
      "momentum_consistency": 2.58,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 4.825,
      "vwap": 4.8959,
      "vwap_slope": -0.0102,
      "rvol": 4.4,
      "volume_acceleration": 0.53,
      "premarket_volume": 2201330.0,
      "momentum_pct": 0.52,
      "consolidation_tightness_pct": 0.73,
      "distance_from_pm_high_pct": 3.6,
      "extension_from_vwap_pct": -1.45,
      "spread_pct": 0.21
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 5.005,
    "pm_low": 4.79
  },
  {
    "symbol": "LE",
    "total_score": 55.08,
    "raw_score": 58.39,
    "breakdown": {
      "price_quality": 2.97,
      "volume_quality": 2.81,
      "rvol": 0.11,
      "volume_acceleration": 1.39,
      "price_momentum": 0.63,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 6,
      "spread_liquidity": 4.17,
      "momentum_consistency": 4.31,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.03,
      "vwap": 11.9782,
      "vwap_slope": 0.0246,
      "rvol": 0.05,
      "volume_acceleration": 0.4,
      "premarket_volume": 23403.0,
      "momentum_pct": 0.42,
      "consolidation_tightness_pct": 0.46,
      "distance_from_pm_high_pct": 0.0,
      "extension_from_vwap_pct": 0.43,
      "spread_pct": 0.25
    },
    "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.03,
    "pm_low": 11.95
  },
  {
    "symbol": "GPK",
    "total_score": 55.04,
    "raw_score": 58.34,
    "breakdown": {
      "price_quality": 3.51,
      "volume_quality": 12.0,
      "rvol": 1.21,
      "volume_acceleration": 8.78,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.78,
      "spread_liquidity": 4.71,
      "momentum_consistency": 2.76,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.495,
      "vwap": 11.4979,
      "vwap_slope": 0.0007,
      "rvol": 0.51,
      "volume_acceleration": 1.88,
      "premarket_volume": 252908.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.39,
      "distance_from_pm_high_pct": 0.3,
      "extension_from_vwap_pct": -0.02,
      "spread_pct": 0.09
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": true
    },
    "pm_high": 11.5291,
    "pm_low": 11.475
  },
  {
    "symbol": "EQX",
    "total_score": 54.99,
    "raw_score": 58.29,
    "breakdown": {
      "price_quality": 2.17,
      "volume_quality": 12.0,
      "rvol": 5.27,
      "volume_acceleration": 3.47,
      "price_momentum": 0.18,
      "price_structure": 12,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.57,
      "spread_liquidity": 4.74,
      "momentum_consistency": 2.9,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.8305,
      "vwap": 12.8495,
      "vwap_slope": -0.0066,
      "rvol": 1.98,
      "volume_acceleration": 1.0,
      "premarket_volume": 987524.0,
      "momentum_pct": 0.12,
      "consolidation_tightness_pct": 0.27,
      "distance_from_pm_high_pct": 0.58,
      "extension_from_vwap_pct": -0.15,
      "spread_pct": 0.08
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 12.905,
    "pm_low": 12.805
  },
  {
    "symbol": "RXST",
    "total_score": 54.93,
    "raw_score": 58.22,
    "breakdown": {
      "price_quality": 1.88,
      "volume_quality": 6.66,
      "rvol": 0.27,
      "volume_acceleration": 10,
      "price_momentum": 0.07,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.98,
      "spread_liquidity": 4.52,
      "momentum_consistency": 2.46,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.878,
      "vwap": 6.8349,
      "vwap_slope": 0.0136,
      "rvol": 0.11,
      "volume_acceleration": 2.53,
      "premarket_volume": 55501.0,
      "momentum_pct": 0.04,
      "consolidation_tightness_pct": 0.22,
      "distance_from_pm_high_pct": 0.03,
      "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": true,
      "vwap_rising": true
    },
    "pm_high": 6.88,
    "pm_low": 6.79
  },
  {
    "symbol": "RSKD",
    "total_score": 54.9,
    "raw_score": 58.19,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 1.11,
      "volume_acceleration": 1.97,
      "price_momentum": 0.24,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.59,
      "spread_liquidity": 4.47,
      "momentum_consistency": 2.52,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.295,
      "vwap": 6.2918,
      "vwap_slope": -0.0003,
      "rvol": 0.46,
      "volume_acceleration": 0.57,
      "premarket_volume": 231201.0,
      "momentum_pct": 0.16,
      "consolidation_tightness_pct": 0.32,
      "distance_from_pm_high_pct": 0.55,
      "extension_from_vwap_pct": 0.05,
      "spread_pct": 0.16
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 6.33,
    "pm_low": 6.275
  },
  {
    "symbol": "SHOE",
    "total_score": 54.85,
    "raw_score": 58.14,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 7.77,
      "rvol": 0.31,
      "volume_acceleration": 8.57,
      "price_momentum": 0.27,
      "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": 2.91,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.74,
      "vwap": 13.7105,
      "vwap_slope": 0.0096,
      "rvol": 0.13,
      "volume_acceleration": 1.86,
      "premarket_volume": 64726.0,
      "momentum_pct": 0.18,
      "consolidation_tightness_pct": 0.28,
      "distance_from_pm_high_pct": 0.15,
      "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": 13.76,
    "pm_low": 13.66
  },
  {
    "symbol": "NWL",
    "total_score": 54.85,
    "raw_score": 58.14,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 2.18,
      "volume_acceleration": 3.31,
      "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.46,
      "momentum_consistency": 2.31,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.12,
      "vwap": 6.1091,
      "vwap_slope": 0.0004,
      "rvol": 0.91,
      "volume_acceleration": 0.95,
      "premarket_volume": 453250.0,
      "momentum_pct": 0.08,
      "consolidation_tightness_pct": 0.49,
      "distance_from_pm_high_pct": 0.16,
      "extension_from_vwap_pct": 0.18,
      "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.13,
    "pm_low": 6.09
  },
  {
    "symbol": "SUJA",
    "total_score": 54.57,
    "raw_score": 57.84,
    "breakdown": {
      "price_quality": 4.31,
      "volume_quality": 12.0,
      "rvol": 0.53,
      "volume_acceleration": 1.71,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.68,
      "spread_liquidity": 3.93,
      "momentum_consistency": 3.29,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.31,
      "vwap": 9.2927,
      "vwap_slope": 0.0133,
      "rvol": 0.22,
      "volume_acceleration": 1.17,
      "premarket_volume": 111008.0,
      "momentum_pct": -0.11,
      "consolidation_tightness_pct": 0.54,
      "distance_from_pm_high_pct": 0.43,
      "extension_from_vwap_pct": 0.19,
      "spread_pct": 0.32
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 9.35,
    "pm_low": 9.22
  },
  {
    "symbol": "AGNC",
    "total_score": 54.52,
    "raw_score": 57.8,
    "breakdown": {
      "price_quality": 4.12,
      "volume_quality": 12.0,
      "rvol": 12.0,
      "volume_acceleration": 4.1,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.73,
      "spread_liquidity": 4.69,
      "momentum_consistency": 2.76,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.88,
      "vwap": 10.9009,
      "vwap_slope": -0.0033,
      "rvol": 4.81,
      "volume_acceleration": 1.41,
      "premarket_volume": 2404328.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.18,
      "distance_from_pm_high_pct": 0.37,
      "extension_from_vwap_pct": -0.19,
      "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": 10.92,
    "pm_low": 10.88
  },
  {
    "symbol": "IBRX",
    "total_score": 54.43,
    "raw_score": 57.69,
    "breakdown": {
      "price_quality": 3.02,
      "volume_quality": 12.0,
      "rvol": 4.02,
      "volume_acceleration": 5.56,
      "price_momentum": 0.66,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.54,
      "spread_liquidity": 4.58,
      "momentum_consistency": 3.12,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.015,
      "vwap": 8.0145,
      "vwap_slope": -0.0056,
      "rvol": 1.51,
      "volume_acceleration": 1.56,
      "premarket_volume": 754516.0,
      "momentum_pct": 0.44,
      "consolidation_tightness_pct": 0.5,
      "distance_from_pm_high_pct": 0.62,
      "extension_from_vwap_pct": 0.01,
      "spread_pct": 0.12
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 8.065,
    "pm_low": 7.9701
  },
  {
    "symbol": "PRGO",
    "total_score": 54.41,
    "raw_score": 57.68,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 1.05,
      "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.9,
      "spread_liquidity": 4.54,
      "momentum_consistency": 2.76,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.455,
      "vwap": 14.4239,
      "vwap_slope": 0.0059,
      "rvol": 0.44,
      "volume_acceleration": 1.01,
      "premarket_volume": 219441.0,
      "momentum_pct": -0.07,
      "consolidation_tightness_pct": 0.21,
      "distance_from_pm_high_pct": 0.14,
      "extension_from_vwap_pct": 0.22,
      "spread_pct": 0.14
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 14.475,
    "pm_low": 14.37
  },
  {
    "symbol": "OI",
    "total_score": 54.41,
    "raw_score": 57.68,
    "breakdown": {
      "price_quality": 2.41,
      "volume_quality": 12.0,
      "rvol": 3.2,
      "volume_acceleration": 7.74,
      "price_momentum": 0.2,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.55,
      "spread_liquidity": 4.55,
      "momentum_consistency": 2.44,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.405,
      "vwap": 7.4094,
      "vwap_slope": 0.0018,
      "rvol": 1.33,
      "volume_acceleration": 1.77,
      "premarket_volume": 665696.0,
      "momentum_pct": 0.14,
      "consolidation_tightness_pct": 0.27,
      "distance_from_pm_high_pct": 0.6,
      "extension_from_vwap_pct": -0.06,
      "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.45,
    "pm_low": 7.38
  },
  {
    "symbol": "HAFN",
    "total_score": 54.32,
    "raw_score": 57.57,
    "breakdown": {
      "price_quality": 3.44,
      "volume_quality": 12.0,
      "rvol": 0.52,
      "volume_acceleration": 2.38,
      "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.29,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.435,
      "vwap": 8.4287,
      "vwap_slope": 0.001,
      "rvol": 0.22,
      "volume_acceleration": 0.68,
      "premarket_volume": 107507.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.1,
      "distance_from_pm_high_pct": 0.06,
      "extension_from_vwap_pct": 0.07,
      "spread_pct": 0.12
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 8.44,
    "pm_low": 8.41
  },
  {
    "symbol": "YEXT",
    "total_score": 54.22,
    "raw_score": 57.47,
    "breakdown": {
      "price_quality": 1.92,
      "volume_quality": 11.24,
      "rvol": 0.45,
      "volume_acceleration": 4.08,
      "price_momentum": 0.11,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.89,
      "spread_liquidity": 4.52,
      "momentum_consistency": 2.87,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.915,
      "vwap": 6.9023,
      "vwap_slope": 0.004,
      "rvol": 0.19,
      "volume_acceleration": 1.41,
      "premarket_volume": 93688.0,
      "momentum_pct": 0.07,
      "consolidation_tightness_pct": 0.22,
      "distance_from_pm_high_pct": 0.14,
      "extension_from_vwap_pct": 0.18,
      "spread_pct": 0.14
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 6.925,
    "pm_low": 6.87
  },
  {
    "symbol": "TAL",
    "total_score": 54.14,
    "raw_score": 57.39,
    "breakdown": {
      "price_quality": 3.15,
      "volume_quality": 11.04,
      "rvol": 0.44,
      "volume_acceleration": 3.62,
      "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": 2.04,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.845,
      "vwap": 11.8319,
      "vwap_slope": 0.0043,
      "rvol": 0.18,
      "volume_acceleration": 1.36,
      "premarket_volume": 92032.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.04,
      "distance_from_pm_high_pct": 0.04,
      "extension_from_vwap_pct": 0.11,
      "spread_pct": 0.08
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 11.85,
    "pm_low": 11.815
  },
  {
    "symbol": "RPD",
    "total_score": 53.87,
    "raw_score": 57.1,
    "breakdown": {
      "price_quality": 1.59,
      "volume_quality": 12.0,
      "rvol": 0.56,
      "volume_acceleration": 3.21,
      "price_momentum": 0.11,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.67,
      "spread_liquidity": 4.5,
      "momentum_consistency": 3.05,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.41,
      "vwap": 13.4021,
      "vwap_slope": 0.0001,
      "rvol": 0.24,
      "volume_acceleration": 0.92,
      "premarket_volume": 117649.0,
      "momentum_pct": 0.07,
      "consolidation_tightness_pct": 0.3,
      "distance_from_pm_high_pct": 0.45,
      "extension_from_vwap_pct": 0.06,
      "spread_pct": 0.15
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 13.47,
    "pm_low": 13.335
  },
  {
    "symbol": "VISN",
    "total_score": 53.86,
    "raw_score": 57.09,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 9.48,
      "volume_acceleration": 2.12,
      "price_momentum": 0.12,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.45,
      "spread_liquidity": 4.45,
      "momentum_consistency": 2.76,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.125,
      "vwap": 6.1238,
      "vwap_slope": -0.0007,
      "rvol": 3.55,
      "volume_acceleration": 0.61,
      "premarket_volume": 1776816.0,
      "momentum_pct": 0.08,
      "consolidation_tightness_pct": 0.33,
      "distance_from_pm_high_pct": 0.73,
      "extension_from_vwap_pct": 0.02,
      "spread_pct": 0.16
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 6.17,
    "pm_low": 6.095
  },
  {
    "symbol": "TROX",
    "total_score": 53.85,
    "raw_score": 57.08,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 1.02,
      "volume_acceleration": 3.62,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.66,
      "spread_liquidity": 4.39,
      "momentum_consistency": 2.5,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.475,
      "vwap": 5.4719,
      "vwap_slope": 0.0009,
      "rvol": 0.42,
      "volume_acceleration": 1.04,
      "premarket_volume": 211674.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.18,
      "distance_from_pm_high_pct": 0.45,
      "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": true
    },
    "pm_high": 5.5,
    "pm_low": 5.45
  },
  {
    "symbol": "GLAS",
    "total_score": 53.83,
    "raw_score": 57.06,
    "breakdown": {
      "price_quality": 4.92,
      "volume_quality": 12.0,
      "rvol": 0.62,
      "volume_acceleration": 3.04,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.4,
      "spread_liquidity": 0.99,
      "momentum_consistency": 3.69,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.92,
      "vwap": 9.8874,
      "vwap_slope": 0.0177,
      "rvol": 0.26,
      "volume_acceleration": 0.87,
      "premarket_volume": 128869.0,
      "momentum_pct": -0.15,
      "consolidation_tightness_pct": 1.01,
      "distance_from_pm_high_pct": 0.8,
      "extension_from_vwap_pct": 0.33,
      "spread_pct": 1.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.0,
    "pm_low": 9.75
  },
  {
    "symbol": "HAYW",
    "total_score": 53.74,
    "raw_score": 56.96,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 0.58,
      "volume_acceleration": 3.47,
      "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.76,
      "momentum_consistency": 2.17,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.095,
      "vwap": 14.0709,
      "vwap_slope": 0.0063,
      "rvol": 0.24,
      "volume_acceleration": 1.0,
      "premarket_volume": 120824.0,
      "momentum_pct": 0.07,
      "consolidation_tightness_pct": 0.11,
      "distance_from_pm_high_pct": 0.04,
      "extension_from_vwap_pct": 0.17,
      "spread_pct": 0.07
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 14.1,
    "pm_low": 14.04
  },
  {
    "symbol": "DEI",
    "total_score": 53.64,
    "raw_score": 56.86,
    "breakdown": {
      "price_quality": 3.12,
      "volume_quality": 12.0,
      "rvol": 0.68,
      "volume_acceleration": 2.16,
      "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.72,
      "momentum_consistency": 1.85,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.885,
      "vwap": 11.8693,
      "vwap_slope": 0.0029,
      "rvol": 0.28,
      "volume_acceleration": 1.22,
      "premarket_volume": 142489.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.04,
      "distance_from_pm_high_pct": 0.08,
      "extension_from_vwap_pct": 0.13,
      "spread_pct": 0.08
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 11.895,
    "pm_low": 11.835
  },
  {
    "symbol": "GCMG",
    "total_score": 53.55,
    "raw_score": 56.77,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 0.62,
      "volume_acceleration": 3.06,
      "price_momentum": 0.11,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.89,
      "spread_liquidity": 4.52,
      "momentum_consistency": 2.67,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.92,
      "vwap": 13.8876,
      "vwap_slope": 0.0052,
      "rvol": 0.26,
      "volume_acceleration": 0.88,
      "premarket_volume": 129043.0,
      "momentum_pct": 0.07,
      "consolidation_tightness_pct": 0.14,
      "distance_from_pm_high_pct": 0.14,
      "extension_from_vwap_pct": 0.23,
      "spread_pct": 0.14
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 13.94,
    "pm_low": 13.72
  },
  {
    "symbol": "MFA",
    "total_score": 53.42,
    "raw_score": 56.63,
    "breakdown": {
      "price_quality": 3.84,
      "volume_quality": 9.82,
      "rvol": 0.39,
      "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.92,
      "spread_liquidity": 4.62,
      "momentum_consistency": 1.92,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.84,
      "vwap": 8.84,
      "vwap_slope": 0.0015,
      "rvol": 0.16,
      "volume_acceleration": 1.07,
      "premarket_volume": 81797.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.11,
      "distance_from_pm_high_pct": 0.11,
      "extension_from_vwap_pct": 0.0,
      "spread_pct": 0.11
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 8.85,
    "pm_low": 8.83
  },
  {
    "symbol": "LYG",
    "total_score": 53.39,
    "raw_score": 56.6,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 1.43,
      "volume_acceleration": 10,
      "price_momentum": 0.13,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.94,
      "spread_liquidity": 4.44,
      "momentum_consistency": 1.96,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.915,
      "vwap": 5.915,
      "vwap_slope": -0.0009,
      "rvol": 0.6,
      "volume_acceleration": 3.33,
      "premarket_volume": 298080.0,
      "momentum_pct": 0.08,
      "consolidation_tightness_pct": 0.17,
      "distance_from_pm_high_pct": 0.08,
      "extension_from_vwap_pct": 0.0,
      "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.92,
    "pm_low": 5.91
  },
  {
    "symbol": "VIPS",
    "total_score": 53.35,
    "raw_score": 56.55,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 1.09,
      "volume_acceleration": 2.43,
      "price_momentum": 0.17,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.89,
      "spread_liquidity": 4.75,
      "momentum_consistency": 2.33,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.505,
      "vwap": 13.4892,
      "vwap_slope": 0.0017,
      "rvol": 0.45,
      "volume_acceleration": 0.7,
      "premarket_volume": 227144.0,
      "momentum_pct": 0.11,
      "consolidation_tightness_pct": 0.11,
      "distance_from_pm_high_pct": 0.15,
      "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": 13.525,
    "pm_low": 13.44
  },
  {
    "symbol": "ASLE",
    "total_score": 53.27,
    "raw_score": 56.46,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 0.48,
      "volume_acceleration": 3.45,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.93,
      "spread_liquidity": 4.41,
      "momentum_consistency": 2.29,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.635,
      "vwap": 5.63,
      "vwap_slope": 0.004,
      "rvol": 0.2,
      "volume_acceleration": 0.99,
      "premarket_volume": 100736.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.18,
      "distance_from_pm_high_pct": 0.09,
      "extension_from_vwap_pct": 0.09,
      "spread_pct": 0.18
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 5.64,
    "pm_low": 5.615
  },
  {
    "symbol": "AHCO",
    "total_score": 53.16,
    "raw_score": 56.34,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 0.75,
      "volume_acceleration": 1.97,
      "price_momentum": 0.38,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 6,
      "spread_liquidity": 4.43,
      "momentum_consistency": 2.91,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.87,
      "vwap": 5.8449,
      "vwap_slope": 0.0082,
      "rvol": 0.31,
      "volume_acceleration": 1.2,
      "premarket_volume": 156437.0,
      "momentum_pct": 0.26,
      "consolidation_tightness_pct": 0.26,
      "distance_from_pm_high_pct": 0.0,
      "extension_from_vwap_pct": 0.43,
      "spread_pct": 0.17
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 5.87,
    "pm_low": 5.82
  },
  {
    "symbol": "MBC",
    "total_score": 53.08,
    "raw_score": 56.26,
    "breakdown": {
      "price_quality": 3.62,
      "volume_quality": 9.11,
      "rvol": 0.36,
      "volume_acceleration": 3.81,
      "price_momentum": 0.09,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 6,
      "spread_liquidity": 4.62,
      "momentum_consistency": 2.26,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.62,
      "vwap": 8.5926,
      "vwap_slope": 0.0087,
      "rvol": 0.15,
      "volume_acceleration": 1.38,
      "premarket_volume": 75886.0,
      "momentum_pct": 0.06,
      "consolidation_tightness_pct": 0.12,
      "distance_from_pm_high_pct": 0.0,
      "extension_from_vwap_pct": 0.32,
      "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.62,
    "pm_low": 8.55
  },
  {
    "symbol": "SSTK",
    "total_score": 53.04,
    "raw_score": 56.22,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 0.65,
      "volume_acceleration": 1.88,
      "price_momentum": 1.02,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 6,
      "spread_liquidity": 4.44,
      "momentum_consistency": 2.33,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.93,
      "vwap": 5.8719,
      "vwap_slope": 0.0114,
      "rvol": 0.27,
      "volume_acceleration": 0.54,
      "premarket_volume": 135793.0,
      "momentum_pct": 0.68,
      "consolidation_tightness_pct": 0.76,
      "distance_from_pm_high_pct": 0.0,
      "extension_from_vwap_pct": 0.99,
      "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.93,
    "pm_low": 5.8038
  },
  {
    "symbol": "FNKO",
    "total_score": 52.94,
    "raw_score": 56.11,
    "breakdown": {
      "price_quality": 2.24,
      "volume_quality": 11.23,
      "rvol": 0.45,
      "volume_acceleration": 2.62,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.8,
      "spread_liquidity": 4.54,
      "momentum_consistency": 2.83,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.241,
      "vwap": 7.2013,
      "vwap_slope": 0.0221,
      "rvol": 0.19,
      "volume_acceleration": 0.75,
      "premarket_volume": 93571.0,
      "momentum_pct": -0.06,
      "consolidation_tightness_pct": 0.48,
      "distance_from_pm_high_pct": 0.26,
      "extension_from_vwap_pct": 0.55,
      "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.26,
    "pm_low": 7.145
  },
  {
    "symbol": "NOK",
    "total_score": 52.91,
    "raw_score": 56.08,
    "breakdown": {
      "price_quality": 4.79,
      "volume_quality": 12.0,
      "rvol": 12.0,
      "volume_acceleration": 2.36,
      "price_momentum": 0.01,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.68,
      "spread_liquidity": 4.67,
      "momentum_consistency": 2.17,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.2058,
      "vwap": 10.2253,
      "vwap_slope": -0.0047,
      "rvol": 4.94,
      "volume_acceleration": 1.24,
      "premarket_volume": 2470772.0,
      "momentum_pct": 0.01,
      "consolidation_tightness_pct": 0.1,
      "distance_from_pm_high_pct": 0.43,
      "extension_from_vwap_pct": -0.19,
      "spread_pct": 0.1
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 10.25,
    "pm_low": 10.2
  },
  {
    "symbol": "MASS",
    "total_score": 52.85,
    "raw_score": 56.02,
    "breakdown": {
      "price_quality": 4.31,
      "volume_quality": 6.71,
      "rvol": 0.27,
      "volume_acceleration": 5.28,
      "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.06,
      "momentum_consistency": 3.16,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.685,
      "vwap": 10.6293,
      "vwap_slope": 0.0144,
      "rvol": 0.11,
      "volume_acceleration": 1.53,
      "premarket_volume": 55919.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.16,
      "distance_from_pm_high_pct": 0.23,
      "extension_from_vwap_pct": 0.52,
      "spread_pct": 0.28
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 10.71,
    "pm_low": 10.55
  },
  {
    "symbol": "SMR",
    "total_score": 52.77,
    "raw_score": 55.93,
    "breakdown": {
      "price_quality": 4.21,
      "volume_quality": 12.0,
      "rvol": 12.0,
      "volume_acceleration": 1.83,
      "price_momentum": 0.08,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.39,
      "spread_liquidity": 4.64,
      "momentum_consistency": 3.39,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.205,
      "vwap": 9.208,
      "vwap_slope": -0.0002,
      "rvol": 7.62,
      "volume_acceleration": 0.52,
      "premarket_volume": 3807803.0,
      "momentum_pct": 0.05,
      "consolidation_tightness_pct": 0.33,
      "distance_from_pm_high_pct": 0.81,
      "extension_from_vwap_pct": -0.03,
      "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.28,
    "pm_low": 9.16
  },
  {
    "symbol": "CXM",
    "total_score": 52.75,
    "raw_score": 55.91,
    "breakdown": {
      "price_quality": 3.12,
      "volume_quality": 12.0,
      "rvol": 2.93,
      "volume_acceleration": 5.45,
      "price_momentum": 0.37,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.77,
      "spread_liquidity": 4.59,
      "momentum_consistency": 2.48,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.125,
      "vwap": 8.1249,
      "vwap_slope": -0.0051,
      "rvol": 1.22,
      "volume_acceleration": 1.54,
      "premarket_volume": 610240.0,
      "momentum_pct": 0.25,
      "consolidation_tightness_pct": 0.43,
      "distance_from_pm_high_pct": 0.31,
      "extension_from_vwap_pct": 0.0,
      "spread_pct": 0.12
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 8.15,
    "pm_low": 8.095
  },
  {
    "symbol": "BRCB",
    "total_score": 52.69,
    "raw_score": 55.85,
    "breakdown": {
      "price_quality": 4.31,
      "volume_quality": 3.49,
      "rvol": 0.14,
      "volume_acceleration": 8.36,
      "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.28,
      "momentum_consistency": 3.03,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.31,
      "vwap": 9.2812,
      "vwap_slope": 0.0212,
      "rvol": 0.06,
      "volume_acceleration": 1.84,
      "premarket_volume": 29115.0,
      "momentum_pct": -0.11,
      "consolidation_tightness_pct": 0.38,
      "distance_from_pm_high_pct": 0.21,
      "extension_from_vwap_pct": 0.31,
      "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.33,
    "pm_low": 9.23
  },
  {
    "symbol": "ZURA",
    "total_score": 52.63,
    "raw_score": 55.79,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 0.55,
      "volume_acceleration": 10,
      "price_momentum": 0.13,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.61,
      "spread_liquidity": 4.41,
      "momentum_consistency": 2.38,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.67,
      "vwap": 5.6622,
      "vwap_slope": -0.004,
      "rvol": 0.23,
      "volume_acceleration": 2.77,
      "premarket_volume": 115379.0,
      "momentum_pct": 0.09,
      "consolidation_tightness_pct": 0.18,
      "distance_from_pm_high_pct": 0.53,
      "extension_from_vwap_pct": 0.14,
      "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.7,
    "pm_low": 5.64
  },
  {
    "symbol": "SMWB",
    "total_score": 52.51,
    "raw_score": 55.67,
    "breakdown": {
      "price_quality": 4.07,
      "volume_quality": 6.89,
      "rvol": 0.28,
      "volume_acceleration": 4.71,
      "price_momentum": 0.33,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.75,
      "spread_liquidity": 4.26,
      "momentum_consistency": 2.98,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.07,
      "vwap": 9.0503,
      "vwap_slope": 0.0018,
      "rvol": 0.11,
      "volume_acceleration": 1.47,
      "premarket_volume": 57384.0,
      "momentum_pct": 0.22,
      "consolidation_tightness_pct": 0.33,
      "distance_from_pm_high_pct": 0.33,
      "extension_from_vwap_pct": 0.22,
      "spread_pct": 0.22
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 9.1,
    "pm_low": 9.01
  },
  {
    "symbol": "SWBI",
    "total_score": 52.48,
    "raw_score": 55.62,
    "breakdown": {
      "price_quality": 2.12,
      "volume_quality": 4.79,
      "rvol": 0.19,
      "volume_acceleration": 8.1,
      "price_momentum": 0.06,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.85,
      "spread_liquidity": 4.74,
      "momentum_consistency": 3.37,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.875,
      "vwap": 12.8635,
      "vwap_slope": 0.0011,
      "rvol": 0.08,
      "volume_acceleration": 1.81,
      "premarket_volume": 39909.0,
      "momentum_pct": 0.04,
      "consolidation_tightness_pct": 0.23,
      "distance_from_pm_high_pct": 0.19,
      "extension_from_vwap_pct": 0.09,
      "spread_pct": 0.08
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 12.9,
    "pm_low": 12.835
  },
  {
    "symbol": "TGB",
    "total_score": 52.37,
    "raw_score": 55.51,
    "breakdown": {
      "price_quality": 4.14,
      "volume_quality": 12.0,
      "rvol": 2.88,
      "volume_acceleration": 3.9,
      "price_momentum": 0.08,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.55,
      "spread_liquidity": 4.64,
      "momentum_consistency": 3.12,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.145,
      "vwap": 9.1428,
      "vwap_slope": -0.0034,
      "rvol": 1.2,
      "volume_acceleration": 1.12,
      "premarket_volume": 599388.0,
      "momentum_pct": 0.05,
      "consolidation_tightness_pct": 0.38,
      "distance_from_pm_high_pct": 0.6,
      "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.2,
    "pm_low": 9.1
  },
  {
    "symbol": "BV",
    "total_score": 52.01,
    "raw_score": 55.13,
    "breakdown": {
      "price_quality": 3.72,
      "volume_quality": 8.51,
      "rvol": 0.34,
      "volume_acceleration": 2.19,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.93,
      "spread_liquidity": 4.41,
      "momentum_consistency": 3.62,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.28,
      "vwap": 11.2189,
      "vwap_slope": 0.0146,
      "rvol": 0.14,
      "volume_acceleration": 0.63,
      "premarket_volume": 70923.0,
      "momentum_pct": -0.09,
      "consolidation_tightness_pct": 0.09,
      "distance_from_pm_high_pct": 0.09,
      "extension_from_vwap_pct": 0.54,
      "spread_pct": 0.18
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 11.29,
    "pm_low": 11.16
  },
  {
    "symbol": "ONDS",
    "total_score": 51.84,
    "raw_score": 54.95,
    "breakdown": {
      "price_quality": 2.91,
      "volume_quality": 12.0,
      "rvol": 12.0,
      "volume_acceleration": 2.97,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.39,
      "spread_liquidity": 4.58,
      "momentum_consistency": 2.71,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.905,
      "vwap": 7.9373,
      "vwap_slope": -0.003,
      "rvol": 8.44,
      "volume_acceleration": 0.85,
      "premarket_volume": 4220272.0,
      "momentum_pct": -0.25,
      "consolidation_tightness_pct": 0.38,
      "distance_from_pm_high_pct": 0.82,
      "extension_from_vwap_pct": -0.41,
      "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.97,
    "pm_low": 7.9
  },
  {
    "symbol": "NU",
    "total_score": 51.79,
    "raw_score": 54.9,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 12.0,
      "volume_acceleration": 3.59,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.74,
      "spread_liquidity": 4.77,
      "momentum_consistency": 2.9,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.28,
      "vwap": 14.2888,
      "vwap_slope": -0.0023,
      "rvol": 15.04,
      "volume_acceleration": 1.03,
      "premarket_volume": 7521696.0,
      "momentum_pct": -0.14,
      "consolidation_tightness_pct": 0.17,
      "distance_from_pm_high_pct": 0.35,
      "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": false
    },
    "pm_high": 14.33,
    "pm_low": 14.245
  },
  {
    "symbol": "AEG",
    "total_score": 51.69,
    "raw_score": 54.79,
    "breakdown": {
      "price_quality": 4.18,
      "volume_quality": 12.0,
      "rvol": 5.62,
      "volume_acceleration": 8.76,
      "price_momentum": 0.08,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.59,
      "spread_liquidity": 4.64,
      "momentum_consistency": 1.52,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.18,
      "vwap": 9.1985,
      "vwap_slope": -0.0114,
      "rvol": 2.11,
      "volume_acceleration": 1.88,
      "premarket_volume": 1054176.0,
      "momentum_pct": 0.05,
      "consolidation_tightness_pct": 0.11,
      "distance_from_pm_high_pct": 0.54,
      "extension_from_vwap_pct": -0.2,
      "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.23,
    "pm_low": 9.175
  },
  {
    "symbol": "GENI",
    "total_score": 51.62,
    "raw_score": 54.72,
    "breakdown": {
      "price_quality": 3.12,
      "volume_quality": 12.0,
      "rvol": 12.0,
      "volume_acceleration": 3.74,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 3.98,
      "spread_liquidity": 4.59,
      "momentum_consistency": 2.9,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.115,
      "vwap": 8.2084,
      "vwap_slope": -0.0619,
      "rvol": 4.69,
      "volume_acceleration": 1.07,
      "premarket_volume": 2346641.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.68,
      "distance_from_pm_high_pct": 2.7,
      "extension_from_vwap_pct": -1.14,
      "spread_pct": 0.12
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 8.34,
    "pm_low": 8.085
  },
  {
    "symbol": "NEWT",
    "total_score": 51.59,
    "raw_score": 54.69,
    "breakdown": {
      "price_quality": 3.04,
      "volume_quality": 6.64,
      "rvol": 0.27,
      "volume_acceleration": 4.66,
      "price_momentum": 0.25,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.97,
      "spread_liquidity": 4.44,
      "momentum_consistency": 3.03,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.96,
      "vwap": 11.9269,
      "vwap_slope": 0.017,
      "rvol": 0.11,
      "volume_acceleration": 1.47,
      "premarket_volume": 55308.0,
      "momentum_pct": 0.17,
      "consolidation_tightness_pct": 0.29,
      "distance_from_pm_high_pct": 0.04,
      "extension_from_vwap_pct": 0.28,
      "spread_pct": 0.17
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 11.965,
    "pm_low": 11.88
  },
  {
    "symbol": "CLSK",
    "total_score": 51.5,
    "raw_score": 54.59,
    "breakdown": {
      "price_quality": 3.45,
      "volume_quality": 12.0,
      "rvol": 10.68,
      "volume_acceleration": 3.71,
      "price_momentum": 0.46,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 4.88,
      "spread_liquidity": 4.71,
      "momentum_consistency": 2.31,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.555,
      "vwap": 11.6102,
      "vwap_slope": -0.0219,
      "rvol": 4.0,
      "volume_acceleration": 1.37,
      "premarket_volume": 2002378.0,
      "momentum_pct": 0.3,
      "consolidation_tightness_pct": 0.52,
      "distance_from_pm_high_pct": 1.49,
      "extension_from_vwap_pct": -0.48,
      "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.73,
    "pm_low": 11.515
  },
  {
    "symbol": "XPON",
    "total_score": 51.49,
    "raw_score": 54.58,
    "breakdown": {
      "price_quality": 2.68,
      "volume_quality": 12.0,
      "rvol": 0.62,
      "volume_acceleration": 3.36,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 4.55,
      "spread_liquidity": 1.96,
      "momentum_consistency": 3.0,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.685,
      "vwap": 7.562,
      "vwap_slope": 0.0291,
      "rvol": 0.26,
      "volume_acceleration": 1.34,
      "premarket_volume": 128499.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 1.82,
      "distance_from_pm_high_pct": 1.94,
      "extension_from_vwap_pct": 1.63,
      "spread_pct": 0.91
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 7.8367,
    "pm_low": 7.1601
  },
  {
    "symbol": "TDAY",
    "total_score": 51.48,
    "raw_score": 54.57,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 0.84,
      "volume_acceleration": 2.03,
      "price_momentum": 0.24,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.82,
      "spread_liquidity": 4.48,
      "momentum_consistency": 1.25,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.355,
      "vwap": 6.3294,
      "vwap_slope": 0.0065,
      "rvol": 0.35,
      "volume_acceleration": 1.2,
      "premarket_volume": 175334.0,
      "momentum_pct": 0.16,
      "consolidation_tightness_pct": 0.24,
      "distance_from_pm_high_pct": 0.24,
      "extension_from_vwap_pct": 0.4,
      "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.37,
    "pm_low": 6.29
  },
  {
    "symbol": "OPTX",
    "total_score": 51.25,
    "raw_score": 54.32,
    "breakdown": {
      "price_quality": 3.44,
      "volume_quality": 2.56,
      "rvol": 0.1,
      "volume_acceleration": 1.35,
      "price_momentum": 0.0,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.6,
      "spread_liquidity": 1.84,
      "momentum_consistency": 3.43,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.44,
      "vwap": 8.4202,
      "vwap_slope": 0.0029,
      "rvol": 0.04,
      "volume_acceleration": 0.39,
      "premarket_volume": 21335.0,
      "momentum_pct": -0.12,
      "consolidation_tightness_pct": 0.47,
      "distance_from_pm_high_pct": 0.53,
      "extension_from_vwap_pct": 0.24,
      "spread_pct": 0.95
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 8.485,
    "pm_low": 8.35
  },
  {
    "symbol": "OCS",
    "total_score": 50.8,
    "raw_score": 53.85,
    "breakdown": {
      "price_quality": 2.71,
      "volume_quality": 2.5,
      "rvol": 0.1,
      "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.94,
      "spread_liquidity": 3.92,
      "momentum_consistency": 2.29,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.29,
      "vwap": 12.2713,
      "vwap_slope": 0.0095,
      "rvol": 0.04,
      "volume_acceleration": 2.75,
      "premarket_volume": 20816.0,
      "momentum_pct": -0.08,
      "consolidation_tightness_pct": 0.24,
      "distance_from_pm_high_pct": 0.08,
      "extension_from_vwap_pct": 0.15,
      "spread_pct": 0.33
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 12.3,
    "pm_low": 12.25
  },
  {
    "symbol": "EROC",
    "total_score": 50.6,
    "raw_score": 53.64,
    "breakdown": {
      "price_quality": 2.76,
      "volume_quality": 12.0,
      "rvol": 0.65,
      "volume_acceleration": 3.98,
      "price_momentum": 0.0,
      "price_structure": 12,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 4.91,
      "spread_liquidity": 3.91,
      "momentum_consistency": 3.43,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.24,
      "vwap": 12.2841,
      "vwap_slope": -0.0171,
      "rvol": 0.27,
      "volume_acceleration": 1.14,
      "premarket_volume": 134428.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.57,
      "distance_from_pm_high_pct": 1.45,
      "extension_from_vwap_pct": -0.36,
      "spread_pct": 0.33
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 12.42,
    "pm_low": 12.2
  },
  {
    "symbol": "SOUN",
    "total_score": 50.45,
    "raw_score": 53.48,
    "breakdown": {
      "price_quality": 2.04,
      "volume_quality": 12.0,
      "rvol": 12.0,
      "volume_acceleration": 1.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.42,
      "spread_liquidity": 4.53,
      "momentum_consistency": 3.45,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.035,
      "vwap": 7.0649,
      "vwap_slope": -0.0042,
      "rvol": 5.75,
      "volume_acceleration": 1.17,
      "premarket_volume": 2875248.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.57,
      "distance_from_pm_high_pct": 0.78,
      "extension_from_vwap_pct": -0.42,
      "spread_pct": 0.14
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 7.09,
    "pm_low": 7.025
  },
  {
    "symbol": "GPGI",
    "total_score": 50.3,
    "raw_score": 53.31,
    "breakdown": {
      "price_quality": 1.72,
      "volume_quality": 12.0,
      "rvol": 0.85,
      "volume_acceleration": 3.85,
      "price_momentum": 0.23,
      "price_structure": 12,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.58,
      "spread_liquidity": 4.75,
      "momentum_consistency": 2.34,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.28,
      "vwap": 13.3045,
      "vwap_slope": -0.0096,
      "rvol": 0.35,
      "volume_acceleration": 1.11,
      "premarket_volume": 176365.0,
      "momentum_pct": 0.15,
      "consolidation_tightness_pct": 0.34,
      "distance_from_pm_high_pct": 0.56,
      "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": true,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 13.355,
    "pm_low": 13.25
  },
  {
    "symbol": "DCH",
    "total_score": 50.28,
    "raw_score": 53.3,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 0.82,
      "volume_acceleration": 6.62,
      "price_momentum": 0.12,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.59,
      "spread_liquidity": 4.47,
      "momentum_consistency": 2.57,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.335,
      "vwap": 6.3424,
      "vwap_slope": 0.0007,
      "rvol": 0.34,
      "volume_acceleration": 1.66,
      "premarket_volume": 171641.0,
      "momentum_pct": 0.08,
      "consolidation_tightness_pct": 0.32,
      "distance_from_pm_high_pct": 0.55,
      "extension_from_vwap_pct": -0.12,
      "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.37,
    "pm_low": 6.315
  },
  {
    "symbol": "JOBY",
    "total_score": 50.19,
    "raw_score": 53.2,
    "breakdown": {
      "price_quality": 1.91,
      "volume_quality": 12.0,
      "rvol": 12.0,
      "volume_acceleration": 3.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.3,
      "spread_liquidity": 4.52,
      "momentum_consistency": 1.93,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.905,
      "vwap": 6.9275,
      "vwap_slope": -0.0023,
      "rvol": 5.57,
      "volume_acceleration": 0.91,
      "premarket_volume": 2786068.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.14,
      "distance_from_pm_high_pct": 0.93,
      "extension_from_vwap_pct": -0.33,
      "spread_pct": 0.14
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 6.97,
    "pm_low": 6.89
  },
  {
    "symbol": "HUN",
    "total_score": 50.15,
    "raw_score": 53.16,
    "breakdown": {
      "price_quality": 4.53,
      "volume_quality": 12.0,
      "rvol": 1.15,
      "volume_acceleration": 10,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.76,
      "spread_liquidity": 4.65,
      "momentum_consistency": 2.67,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.525,
      "vwap": 9.5306,
      "vwap_slope": -0.0061,
      "rvol": 0.48,
      "volume_acceleration": 3.07,
      "premarket_volume": 240037.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.26,
      "distance_from_pm_high_pct": 0.31,
      "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": 9.555,
    "pm_low": 9.495
  },
  {
    "symbol": "CSHR",
    "total_score": 50.04,
    "raw_score": 53.05,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 0.66,
      "volume_acceleration": 0.55,
      "price_momentum": 0.77,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 4.13,
      "spread_liquidity": 1.59,
      "momentum_consistency": 3.04,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.87,
      "vwap": 5.8637,
      "vwap_slope": -0.0006,
      "rvol": 0.27,
      "volume_acceleration": 0.16,
      "premarket_volume": 137041.0,
      "momentum_pct": 0.51,
      "consolidation_tightness_pct": 0.85,
      "distance_from_pm_high_pct": 2.49,
      "extension_from_vwap_pct": 0.11,
      "spread_pct": 1.02
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 6.02,
    "pm_low": 5.72
  },
  {
    "symbol": "SXC",
    "total_score": 49.88,
    "raw_score": 52.87,
    "breakdown": {
      "price_quality": 4.77,
      "volume_quality": 5.09,
      "rvol": 0.2,
      "volume_acceleration": 2.03,
      "price_momentum": 0.07,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.96,
      "spread_liquidity": 4.67,
      "momentum_consistency": 3.68,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.235,
      "vwap": 10.2107,
      "vwap_slope": 0.0122,
      "rvol": 0.08,
      "volume_acceleration": 1.2,
      "premarket_volume": 42407.0,
      "momentum_pct": 0.05,
      "consolidation_tightness_pct": 0.15,
      "distance_from_pm_high_pct": 0.05,
      "extension_from_vwap_pct": 0.24,
      "spread_pct": 0.1
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 10.24,
    "pm_low": 10.175
  },
  {
    "symbol": "RGNX",
    "total_score": 49.74,
    "raw_score": 52.72,
    "breakdown": {
      "price_quality": 4.5,
      "volume_quality": 12.0,
      "rvol": 1.01,
      "volume_acceleration": 2.35,
      "price_momentum": 0.17,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.45,
      "spread_liquidity": 4.3,
      "momentum_consistency": 3.33,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.5,
      "vwap": 9.515,
      "vwap_slope": 0.0019,
      "rvol": 0.42,
      "volume_acceleration": 0.68,
      "premarket_volume": 210817.0,
      "momentum_pct": 0.11,
      "consolidation_tightness_pct": 0.74,
      "distance_from_pm_high_pct": 0.73,
      "extension_from_vwap_pct": -0.16,
      "spread_pct": 0.21
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": true
    },
    "pm_high": 9.57,
    "pm_low": 9.47
  },
  {
    "symbol": "ABSI",
    "total_score": 49.69,
    "raw_score": 52.67,
    "breakdown": {
      "price_quality": 3.7,
      "volume_quality": 12.0,
      "rvol": 1.18,
      "volume_acceleration": 3.55,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.4,
      "spread_liquidity": 4.62,
      "momentum_consistency": 2.62,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.7,
      "vwap": 8.7076,
      "vwap_slope": 0.0006,
      "rvol": 0.49,
      "volume_acceleration": 1.35,
      "premarket_volume": 246182.0,
      "momentum_pct": -0.06,
      "consolidation_tightness_pct": 0.52,
      "distance_from_pm_high_pct": 0.8,
      "extension_from_vwap_pct": -0.09,
      "spread_pct": 0.11
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": true
    },
    "pm_high": 8.77,
    "pm_low": 8.67
  },
  {
    "symbol": "NMR",
    "total_score": 49.67,
    "raw_score": 52.65,
    "breakdown": {
      "price_quality": 4.74,
      "volume_quality": 5.17,
      "rvol": 0.21,
      "volume_acceleration": 3.78,
      "price_momentum": 0.15,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 6,
      "spread_liquidity": 4.67,
      "momentum_consistency": 1.52,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.26,
      "vwap": 10.2544,
      "vwap_slope": 0.0002,
      "rvol": 0.09,
      "volume_acceleration": 1.09,
      "premarket_volume": 43116.0,
      "momentum_pct": 0.1,
      "consolidation_tightness_pct": 0.1,
      "distance_from_pm_high_pct": 0.0,
      "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": "LADR",
    "total_score": 49.19,
    "raw_score": 52.14,
    "breakdown": {
      "price_quality": 4.84,
      "volume_quality": 4.94,
      "rvol": 0.2,
      "volume_acceleration": 2.75,
      "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.66,
      "momentum_consistency": 2.4,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.835,
      "vwap": 9.822,
      "vwap_slope": 0.0036,
      "rvol": 0.08,
      "volume_acceleration": 0.79,
      "premarket_volume": 41159.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.1,
      "distance_from_pm_high_pct": 0.05,
      "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": 9.84,
    "pm_low": 9.81
  },
  {
    "symbol": "FSK",
    "total_score": 48.99,
    "raw_score": 51.93,
    "breakdown": {
      "price_quality": 2.79,
      "volume_quality": 11.0,
      "rvol": 0.44,
      "volume_acceleration": 1.96,
      "price_momentum": 0.18,
      "price_structure": 12,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.91,
      "spread_liquidity": 4.73,
      "momentum_consistency": 2.93,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.215,
      "vwap": 12.2184,
      "vwap_slope": -0.0014,
      "rvol": 0.18,
      "volume_acceleration": 1.2,
      "premarket_volume": 91672.0,
      "momentum_pct": 0.12,
      "consolidation_tightness_pct": 0.12,
      "distance_from_pm_high_pct": 0.12,
      "extension_from_vwap_pct": -0.03,
      "spread_pct": 0.08
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 12.23,
    "pm_low": 12.2
  },
  {
    "symbol": "ARCO",
    "total_score": 48.97,
    "raw_score": 51.91,
    "breakdown": {
      "price_quality": 3.0,
      "volume_quality": 7.83,
      "rvol": 0.31,
      "volume_acceleration": 1.92,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.91,
      "spread_liquidity": 4.58,
      "momentum_consistency": 1.96,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.0,
      "vwap": 7.9929,
      "vwap_slope": 0.0032,
      "rvol": 0.13,
      "volume_acceleration": 1.19,
      "premarket_volume": 65209.0,
      "momentum_pct": -0.06,
      "consolidation_tightness_pct": 0.12,
      "distance_from_pm_high_pct": 0.12,
      "extension_from_vwap_pct": 0.09,
      "spread_pct": 0.12
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 8.01,
    "pm_low": 7.98
  },
  {
    "symbol": "LFST",
    "total_score": 48.87,
    "raw_score": 51.8,
    "breakdown": {
      "price_quality": 2.65,
      "volume_quality": 12.0,
      "rvol": 2.2,
      "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.43,
      "spread_liquidity": 4.73,
      "momentum_consistency": 2.39,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.345,
      "vwap": 12.376,
      "vwap_slope": -0.0031,
      "rvol": 0.92,
      "volume_acceleration": 4.11,
      "premarket_volume": 458272.0,
      "momentum_pct": -0.04,
      "consolidation_tightness_pct": 0.16,
      "distance_from_pm_high_pct": 0.76,
      "extension_from_vwap_pct": -0.25,
      "spread_pct": 0.08
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 12.44,
    "pm_low": 12.33
  },
  {
    "symbol": "TU",
    "total_score": 48.82,
    "raw_score": 51.75,
    "breakdown": {
      "price_quality": 4.62,
      "volume_quality": 12.0,
      "rvol": 1.67,
      "volume_acceleration": 7.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.73,
      "spread_liquidity": 4.65,
      "momentum_consistency": 2.72,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.615,
      "vwap": 9.6287,
      "vwap_slope": -0.0048,
      "rvol": 0.69,
      "volume_acceleration": 1.8,
      "premarket_volume": 347370.0,
      "momentum_pct": -0.1,
      "consolidation_tightness_pct": 0.16,
      "distance_from_pm_high_pct": 0.36,
      "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": 9.65,
    "pm_low": 9.61
  },
  {
    "symbol": "EOLS",
    "total_score": 48.8,
    "raw_score": 51.73,
    "breakdown": {
      "price_quality": 3.83,
      "volume_quality": 12.0,
      "rvol": 0.7,
      "volume_acceleration": 3.83,
      "price_momentum": 0.51,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.75,
      "spread_liquidity": 3.87,
      "momentum_consistency": 2.05,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.83,
      "vwap": 8.8134,
      "vwap_slope": -0.0035,
      "rvol": 0.29,
      "volume_acceleration": 1.1,
      "premarket_volume": 146258.0,
      "momentum_pct": 0.34,
      "consolidation_tightness_pct": 0.68,
      "distance_from_pm_high_pct": 0.34,
      "extension_from_vwap_pct": 0.19,
      "spread_pct": 0.34
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 8.86,
    "pm_low": 8.76
  },
  {
    "symbol": "SRAD",
    "total_score": 48.75,
    "raw_score": 51.67,
    "breakdown": {
      "price_quality": 2.11,
      "volume_quality": 12.0,
      "rvol": 3.21,
      "volume_acceleration": 10,
      "price_momentum": 0.17,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 4.18,
      "spread_liquidity": 4.74,
      "momentum_consistency": 2.86,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.89,
      "vwap": 13.0022,
      "vwap_slope": -0.1206,
      "rvol": 1.34,
      "volume_acceleration": 4.94,
      "premarket_volume": 668323.0,
      "momentum_pct": 0.12,
      "consolidation_tightness_pct": 0.39,
      "distance_from_pm_high_pct": 2.42,
      "extension_from_vwap_pct": -0.86,
      "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.21,
    "pm_low": 12.875
  },
  {
    "symbol": "DX",
    "total_score": 48.65,
    "raw_score": 51.57,
    "breakdown": {
      "price_quality": 2.11,
      "volume_quality": 12.0,
      "rvol": 1.21,
      "volume_acceleration": 10,
      "price_momentum": 0.23,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.88,
      "spread_liquidity": 4.74,
      "momentum_consistency": 3.0,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.895,
      "vwap": 12.8958,
      "vwap_slope": -0.0051,
      "rvol": 0.5,
      "volume_acceleration": 2.07,
      "premarket_volume": 251855.0,
      "momentum_pct": 0.16,
      "consolidation_tightness_pct": 0.19,
      "distance_from_pm_high_pct": 0.15,
      "extension_from_vwap_pct": -0.01,
      "spread_pct": 0.08
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 12.915,
    "pm_low": 12.87
  },
  {
    "symbol": "SPT",
    "total_score": 48.61,
    "raw_score": 51.53,
    "breakdown": {
      "price_quality": 3.71,
      "volume_quality": 12.0,
      "rvol": 1.63,
      "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.85,
      "spread_liquidity": 4.7,
      "momentum_consistency": 2.22,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.285,
      "vwap": 11.3237,
      "vwap_slope": -0.0084,
      "rvol": 0.68,
      "volume_acceleration": 3.91,
      "premarket_volume": 339595.0,
      "momentum_pct": -0.04,
      "consolidation_tightness_pct": 0.22,
      "distance_from_pm_high_pct": 1.53,
      "extension_from_vwap_pct": -0.34,
      "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.46,
    "pm_low": 11.24
  },
  {
    "symbol": "VITL",
    "total_score": 48.57,
    "raw_score": 51.49,
    "breakdown": {
      "price_quality": 4.23,
      "volume_quality": 12.0,
      "rvol": 0.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": 4.67,
      "spread_liquidity": 4.07,
      "momentum_consistency": 3.29,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.77,
      "vwap": 10.8642,
      "vwap_slope": -0.0093,
      "rvol": 0.34,
      "volume_acceleration": 2.16,
      "premarket_volume": 172313.0,
      "momentum_pct": -0.33,
      "consolidation_tightness_pct": 0.37,
      "distance_from_pm_high_pct": 1.78,
      "extension_from_vwap_pct": -0.87,
      "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": 10.965,
    "pm_low": 10.77
  },
  {
    "symbol": "QUAD",
    "total_score": 48.38,
    "raw_score": 51.29,
    "breakdown": {
      "price_quality": 4.93,
      "volume_quality": 4.45,
      "rvol": 0.18,
      "volume_acceleration": 1.81,
      "price_momentum": 0.15,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.93,
      "spread_liquidity": 4.67,
      "momentum_consistency": 2.78,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.075,
      "vwap": 10.0604,
      "vwap_slope": 0.0031,
      "rvol": 0.07,
      "volume_acceleration": 0.52,
      "premarket_volume": 37062.0,
      "momentum_pct": 0.1,
      "consolidation_tightness_pct": 0.3,
      "distance_from_pm_high_pct": 0.1,
      "extension_from_vwap_pct": 0.15,
      "spread_pct": 0.1
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 10.085,
    "pm_low": 10.04
  },
  {
    "symbol": "CAL",
    "total_score": 48.3,
    "raw_score": 51.2,
    "breakdown": {
      "price_quality": 2.38,
      "volume_quality": 3.82,
      "rvol": 0.15,
      "volume_acceleration": 2.79,
      "price_momentum": 0.36,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.76,
      "spread_liquidity": 4.47,
      "momentum_consistency": 2.67,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.62,
      "vwap": 12.6186,
      "vwap_slope": -0.0099,
      "rvol": 0.06,
      "volume_acceleration": 0.8,
      "premarket_volume": 31819.0,
      "momentum_pct": 0.24,
      "consolidation_tightness_pct": 0.24,
      "distance_from_pm_high_pct": 0.32,
      "extension_from_vwap_pct": 0.01,
      "spread_pct": 0.16
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 12.66,
    "pm_low": 12.58
  },
  {
    "symbol": "ACHR",
    "total_score": 48.22,
    "raw_score": 51.11,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 10.06,
      "volume_acceleration": 2.42,
      "price_momentum": 0.13,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.35,
      "spread_liquidity": 4.41,
      "momentum_consistency": 2.85,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.6898,
      "vwap": 5.7014,
      "vwap_slope": -0.0027,
      "rvol": 3.77,
      "volume_acceleration": 0.7,
      "premarket_volume": 1886097.0,
      "momentum_pct": 0.08,
      "consolidation_tightness_pct": 0.18,
      "distance_from_pm_high_pct": 0.87,
      "extension_from_vwap_pct": -0.2,
      "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.7399,
    "pm_low": 5.68
  },
  {
    "symbol": "CRCT",
    "total_score": 48.14,
    "raw_score": 51.03,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 7.57,
      "rvol": 0.3,
      "volume_acceleration": 1.94,
      "price_momentum": 0.39,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 6,
      "spread_liquidity": 4.42,
      "momentum_consistency": 2.5,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.785,
      "vwap": 5.7429,
      "vwap_slope": 0.006,
      "rvol": 0.13,
      "volume_acceleration": 0.56,
      "premarket_volume": 63110.0,
      "momentum_pct": 0.26,
      "consolidation_tightness_pct": 0.26,
      "distance_from_pm_high_pct": 0.0,
      "extension_from_vwap_pct": 0.73,
      "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.785,
    "pm_low": 5.695
  },
  {
    "symbol": "OSS",
    "total_score": 47.87,
    "raw_score": 50.74,
    "breakdown": {
      "price_quality": 4.64,
      "volume_quality": 12.0,
      "rvol": 0.51,
      "volume_acceleration": 9.02,
      "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.36,
      "momentum_consistency": 2.67,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.36,
      "vwap": 10.424,
      "vwap_slope": -0.0148,
      "rvol": 0.21,
      "volume_acceleration": 1.9,
      "premarket_volume": 106512.0,
      "momentum_pct": -0.19,
      "consolidation_tightness_pct": 0.29,
      "distance_from_pm_high_pct": 1.15,
      "extension_from_vwap_pct": -0.61,
      "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.48,
    "pm_low": 10.36
  },
  {
    "symbol": "BLMN",
    "total_score": 47.84,
    "raw_score": 50.71,
    "breakdown": {
      "price_quality": 4.47,
      "volume_quality": 10.04,
      "rvol": 0.4,
      "volume_acceleration": 3.18,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.82,
      "spread_liquidity": 4.68,
      "momentum_consistency": 2.51,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.525,
      "vwap": 10.5314,
      "vwap_slope": 0.0001,
      "rvol": 0.17,
      "volume_acceleration": 0.91,
      "premarket_volume": 83660.0,
      "momentum_pct": -0.09,
      "consolidation_tightness_pct": 0.14,
      "distance_from_pm_high_pct": 0.24,
      "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": true
    },
    "pm_high": 10.55,
    "pm_low": 10.51
  },
  {
    "symbol": "SNAP",
    "total_score": 47.75,
    "raw_score": 50.62,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 9.13,
      "volume_acceleration": 3.24,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.25,
      "spread_liquidity": 4.39,
      "momentum_consistency": 2.71,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.425,
      "vwap": 5.4435,
      "vwap_slope": -0.003,
      "rvol": 3.42,
      "volume_acceleration": 0.93,
      "premarket_volume": 1711838.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.18,
      "distance_from_pm_high_pct": 1.0,
      "extension_from_vwap_pct": -0.34,
      "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.48,
    "pm_low": 5.42
  },
  {
    "symbol": "FPI",
    "total_score": 47.57,
    "raw_score": 50.43,
    "breakdown": {
      "price_quality": 4.69,
      "volume_quality": 3.13,
      "rvol": 0.13,
      "volume_acceleration": 3.0,
      "price_momentum": 0.07,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.96,
      "spread_liquidity": 4.68,
      "momentum_consistency": 2.37,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.31,
      "vwap": 10.3073,
      "vwap_slope": 0.0004,
      "rvol": 0.05,
      "volume_acceleration": 0.86,
      "premarket_volume": 26047.0,
      "momentum_pct": 0.05,
      "consolidation_tightness_pct": 0.05,
      "distance_from_pm_high_pct": 0.05,
      "extension_from_vwap_pct": 0.03,
      "spread_pct": 0.1
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 10.315,
    "pm_low": 10.295
  },
  {
    "symbol": "ADT",
    "total_score": 47.46,
    "raw_score": 50.3,
    "breakdown": {
      "price_quality": 2.51,
      "volume_quality": 12.0,
      "rvol": 1.87,
      "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.9,
      "spread_liquidity": 4.56,
      "momentum_consistency": 1.79,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.51,
      "vwap": 7.5124,
      "vwap_slope": 0.0003,
      "rvol": 0.78,
      "volume_acceleration": 0.6,
      "premarket_volume": 389391.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.13,
      "distance_from_pm_high_pct": 0.13,
      "extension_from_vwap_pct": -0.03,
      "spread_pct": 0.13
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": true
    },
    "pm_high": 7.52,
    "pm_low": 7.505
  },
  {
    "symbol": "PGEN",
    "total_score": 47.27,
    "raw_score": 50.11,
    "breakdown": {
      "price_quality": 1.99,
      "volume_quality": 12.0,
      "rvol": 0.97,
      "volume_acceleration": 3.8,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.84,
      "spread_liquidity": 4.52,
      "momentum_consistency": 1.79,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.985,
      "vwap": 6.985,
      "vwap_slope": -0.0005,
      "rvol": 0.4,
      "volume_acceleration": 1.09,
      "premarket_volume": 201727.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.07,
      "distance_from_pm_high_pct": 0.21,
      "extension_from_vwap_pct": 0.0,
      "spread_pct": 0.14
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 7.0,
    "pm_low": 6.961
  },
  {
    "symbol": "CRNC",
    "total_score": 47.21,
    "raw_score": 50.04,
    "breakdown": {
      "price_quality": 3.52,
      "volume_quality": 10.26,
      "rvol": 0.41,
      "volume_acceleration": 3.57,
      "price_momentum": 0.62,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.96,
      "spread_liquidity": 4.61,
      "momentum_consistency": 1.89,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.52,
      "vwap": 8.4993,
      "vwap_slope": -0.0024,
      "rvol": 0.17,
      "volume_acceleration": 1.36,
      "premarket_volume": 85525.0,
      "momentum_pct": 0.41,
      "consolidation_tightness_pct": 0.41,
      "distance_from_pm_high_pct": 0.06,
      "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": true,
      "vwap_rising": false
    },
    "pm_high": 8.525,
    "pm_low": 8.483
  },
  {
    "symbol": "HLIT",
    "total_score": 47.0,
    "raw_score": 49.82,
    "breakdown": {
      "price_quality": 2.99,
      "volume_quality": 11.91,
      "rvol": 0.48,
      "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.44,
      "spread_liquidity": 4.72,
      "momentum_consistency": 1.82,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.01,
      "vwap": 12.0491,
      "vwap_slope": -0.03,
      "rvol": 0.2,
      "volume_acceleration": 2.17,
      "premarket_volume": 99253.0,
      "momentum_pct": 0.04,
      "consolidation_tightness_pct": 0.21,
      "distance_from_pm_high_pct": 0.74,
      "extension_from_vwap_pct": -0.32,
      "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.1,
    "pm_low": 12.005
  },
  {
    "symbol": "DRVN",
    "total_score": 47.0,
    "raw_score": 49.82,
    "breakdown": {
      "price_quality": 2.48,
      "volume_quality": 10.85,
      "rvol": 0.43,
      "volume_acceleration": 3.77,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.7,
      "spread_liquidity": 4.47,
      "momentum_consistency": 2.92,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.52,
      "vwap": 12.5191,
      "vwap_slope": -0.001,
      "rvol": 0.18,
      "volume_acceleration": 1.08,
      "premarket_volume": 90413.0,
      "momentum_pct": -0.04,
      "consolidation_tightness_pct": 0.08,
      "distance_from_pm_high_pct": 0.4,
      "extension_from_vwap_pct": 0.01,
      "spread_pct": 0.16
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 12.57,
    "pm_low": 12.48
  },
  {
    "symbol": "HLMN",
    "total_score": 46.95,
    "raw_score": 49.77,
    "breakdown": {
      "price_quality": 2.8,
      "volume_quality": 4.29,
      "rvol": 0.17,
      "volume_acceleration": 3.2,
      "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.57,
      "momentum_consistency": 2.23,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.8,
      "vwap": 7.779,
      "vwap_slope": 0.005,
      "rvol": 0.07,
      "volume_acceleration": 0.92,
      "premarket_volume": 35782.0,
      "momentum_pct": 0.06,
      "consolidation_tightness_pct": 0.06,
      "distance_from_pm_high_pct": 0.0,
      "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": true,
      "vwap_rising": true
    },
    "pm_high": 7.8,
    "pm_low": 7.761
  },
  {
    "symbol": "CLBT",
    "total_score": 46.94,
    "raw_score": 49.76,
    "breakdown": {
      "price_quality": 2.97,
      "volume_quality": 12.0,
      "rvol": 0.78,
      "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.23,
      "spread_liquidity": 4.72,
      "momentum_consistency": 1.66,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.03,
      "vwap": 12.1039,
      "vwap_slope": -0.0153,
      "rvol": 0.32,
      "volume_acceleration": 4.23,
      "premarket_volume": 162057.0,
      "momentum_pct": -0.12,
      "consolidation_tightness_pct": 0.17,
      "distance_from_pm_high_pct": 1.03,
      "extension_from_vwap_pct": -0.61,
      "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.155,
    "pm_low": 12.03
  },
  {
    "symbol": "AVO",
    "total_score": 46.75,
    "raw_score": 49.56,
    "breakdown": {
      "price_quality": 2.3,
      "volume_quality": 3.99,
      "rvol": 0.16,
      "volume_acceleration": 3.61,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.88,
      "spread_liquidity": 4.74,
      "momentum_consistency": 2.48,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.7,
      "vwap": 12.6816,
      "vwap_slope": 0.0058,
      "rvol": 0.07,
      "volume_acceleration": 1.04,
      "premarket_volume": 33236.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.08,
      "distance_from_pm_high_pct": 0.16,
      "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": true
    },
    "pm_high": 12.72,
    "pm_low": 12.65
  },
  {
    "symbol": "IMMR",
    "total_score": 46.72,
    "raw_score": 49.52,
    "breakdown": {
      "price_quality": 2.67,
      "volume_quality": 5.7,
      "rvol": 0.23,
      "volume_acceleration": 1.89,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.61,
      "spread_liquidity": 4.13,
      "momentum_consistency": 2.89,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.67,
      "vwap": 7.6628,
      "vwap_slope": 0.0024,
      "rvol": 0.09,
      "volume_acceleration": 0.54,
      "premarket_volume": 47487.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.07,
      "distance_from_pm_high_pct": 0.52,
      "extension_from_vwap_pct": 0.09,
      "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.71,
    "pm_low": 7.6
  },
  {
    "symbol": "AGEN",
    "total_score": 46.63,
    "raw_score": 49.43,
    "breakdown": {
      "price_quality": 2.68,
      "volume_quality": 10.38,
      "rvol": 0.42,
      "volume_acceleration": 4.0,
      "price_momentum": 0.39,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.76,
      "spread_liquidity": 4.13,
      "momentum_consistency": 2.47,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.68,
      "vwap": 7.6627,
      "vwap_slope": -0.0008,
      "rvol": 0.17,
      "volume_acceleration": 1.4,
      "premarket_volume": 86471.0,
      "momentum_pct": 0.26,
      "consolidation_tightness_pct": 0.46,
      "distance_from_pm_high_pct": 0.32,
      "extension_from_vwap_pct": 0.23,
      "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": false
    },
    "pm_high": 7.705,
    "pm_low": 7.6137
  },
  {
    "symbol": "LAND",
    "total_score": 46.5,
    "raw_score": 49.29,
    "breakdown": {
      "price_quality": 4.01,
      "volume_quality": 4.37,
      "rvol": 0.17,
      "volume_acceleration": 1.39,
      "price_momentum": 0.08,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.98,
      "spread_liquidity": 4.63,
      "momentum_consistency": 2.25,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.01,
      "vwap": 8.9983,
      "vwap_slope": 0.002,
      "rvol": 0.07,
      "volume_acceleration": 0.4,
      "premarket_volume": 36378.0,
      "momentum_pct": 0.06,
      "consolidation_tightness_pct": 0.06,
      "distance_from_pm_high_pct": 0.02,
      "extension_from_vwap_pct": 0.13,
      "spread_pct": 0.11
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 9.012,
    "pm_low": 8.98
  },
  {
    "symbol": "QUBT",
    "total_score": 46.37,
    "raw_score": 49.15,
    "breakdown": {
      "price_quality": 3.09,
      "volume_quality": 12.0,
      "rvol": 2.6,
      "volume_acceleration": 6.22,
      "price_momentum": 0.28,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.68,
      "spread_liquidity": 4.59,
      "momentum_consistency": 2.31,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.09,
      "vwap": 8.0963,
      "vwap_slope": -0.0023,
      "rvol": 1.08,
      "volume_acceleration": 1.62,
      "premarket_volume": 541383.0,
      "momentum_pct": 0.19,
      "consolidation_tightness_pct": 0.49,
      "distance_from_pm_high_pct": 0.43,
      "extension_from_vwap_pct": -0.08,
      "spread_pct": 0.12
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 8.125,
    "pm_low": 8.07
  },
  {
    "symbol": "BCBP",
    "total_score": 46.36,
    "raw_score": 49.14,
    "breakdown": {
      "price_quality": 3.6,
      "volume_quality": 2.96,
      "rvol": 0.12,
      "volume_acceleration": 1.13,
      "price_momentum": 0.35,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.87,
      "spread_liquidity": 4.22,
      "momentum_consistency": 2.09,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.6,
      "vwap": 8.5888,
      "vwap_slope": -0.0017,
      "rvol": 0.05,
      "volume_acceleration": 0.33,
      "premarket_volume": 24662.0,
      "momentum_pct": 0.23,
      "consolidation_tightness_pct": 0.23,
      "distance_from_pm_high_pct": 0.17,
      "extension_from_vwap_pct": 0.13,
      "spread_pct": 0.23
    },
    "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.615,
    "pm_low": 8.57
  },
  {
    "symbol": "HOPE",
    "total_score": 46.22,
    "raw_score": 48.99,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 4.08,
      "rvol": 0.16,
      "volume_acceleration": 3.16,
      "price_momentum": 0.11,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 6,
      "spread_liquidity": 4.76,
      "momentum_consistency": 2.82,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.935,
      "vwap": 13.9162,
      "vwap_slope": 0.0051,
      "rvol": 0.07,
      "volume_acceleration": 0.91,
      "premarket_volume": 33977.0,
      "momentum_pct": 0.07,
      "consolidation_tightness_pct": 0.07,
      "distance_from_pm_high_pct": 0.0,
      "extension_from_vwap_pct": 0.14,
      "spread_pct": 0.07
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 13.935,
    "pm_low": 13.895
  },
  {
    "symbol": "HNST",
    "total_score": 46.17,
    "raw_score": 48.94,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 0.73,
      "volume_acceleration": 2.35,
      "price_momentum": 0.26,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.67,
      "spread_liquidity": 4.41,
      "momentum_consistency": 2.81,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.695,
      "vwap": 5.6885,
      "vwap_slope": -0.0003,
      "rvol": 0.3,
      "volume_acceleration": 1.23,
      "premarket_volume": 151339.0,
      "momentum_pct": 0.18,
      "consolidation_tightness_pct": 0.35,
      "distance_from_pm_high_pct": 0.44,
      "extension_from_vwap_pct": 0.11,
      "spread_pct": 0.18
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 5.72,
    "pm_low": 5.67
  },
  {
    "symbol": "MRTN",
    "total_score": 46.16,
    "raw_score": 48.93,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 3.28,
      "rvol": 0.13,
      "volume_acceleration": 2.93,
      "price_momentum": 0.16,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 6,
      "spread_liquidity": 4.53,
      "momentum_consistency": 4.0,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.32,
      "vwap": 14.2692,
      "vwap_slope": 0.0116,
      "rvol": 0.05,
      "volume_acceleration": 0.84,
      "premarket_volume": 27363.0,
      "momentum_pct": 0.1,
      "consolidation_tightness_pct": 0.13,
      "distance_from_pm_high_pct": 0.0,
      "extension_from_vwap_pct": 0.36,
      "spread_pct": 0.14
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 14.32,
    "pm_low": 14.23
  },
  {
    "symbol": "LION",
    "total_score": 46.08,
    "raw_score": 48.84,
    "breakdown": {
      "price_quality": 3.63,
      "volume_quality": 10.69,
      "rvol": 0.43,
      "volume_acceleration": 1.84,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.87,
      "spread_liquidity": 4.41,
      "momentum_consistency": 2.78,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.37,
      "vwap": 11.3634,
      "vwap_slope": -0.0005,
      "rvol": 0.18,
      "volume_acceleration": 1.18,
      "premarket_volume": 89064.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": 11.39,
    "pm_low": 11.34
  },
  {
    "symbol": "SSYS",
    "total_score": 46.04,
    "raw_score": 48.8,
    "breakdown": {
      "price_quality": 2.74,
      "volume_quality": 3.31,
      "rvol": 0.13,
      "volume_acceleration": 3.1,
      "price_momentum": 0.12,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.92,
      "spread_liquidity": 4.57,
      "momentum_consistency": 2.51,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.74,
      "vwap": 7.7356,
      "vwap_slope": 0.0011,
      "rvol": 0.06,
      "volume_acceleration": 0.89,
      "premarket_volume": 27553.0,
      "momentum_pct": 0.08,
      "consolidation_tightness_pct": 0.19,
      "distance_from_pm_high_pct": 0.11,
      "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": true,
      "vwap_rising": true
    },
    "pm_high": 7.7482,
    "pm_low": 7.72
  },
  {
    "symbol": "RILY",
    "total_score": 45.96,
    "raw_score": 48.72,
    "breakdown": {
      "price_quality": 2.05,
      "volume_quality": 5.24,
      "rvol": 0.21,
      "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.85,
      "spread_liquidity": 4.05,
      "momentum_consistency": 2.42,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.0491,
      "vwap": 7.0349,
      "vwap_slope": 0.0124,
      "rvol": 0.09,
      "volume_acceleration": 1.25,
      "premarket_volume": 43685.0,
      "momentum_pct": -0.21,
      "consolidation_tightness_pct": 0.33,
      "distance_from_pm_high_pct": 0.21,
      "extension_from_vwap_pct": 0.2,
      "spread_pct": 0.28
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 7.0636,
    "pm_low": 7.0
  },
  {
    "symbol": "MATV",
    "total_score": 45.92,
    "raw_score": 48.68,
    "breakdown": {
      "price_quality": 2.86,
      "volume_quality": 2.52,
      "rvol": 0.1,
      "volume_acceleration": 3.07,
      "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.73,
      "momentum_consistency": 3.03,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.14,
      "vwap": 12.1238,
      "vwap_slope": 0.0058,
      "rvol": 0.04,
      "volume_acceleration": 0.88,
      "premarket_volume": 20963.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.08,
      "distance_from_pm_high_pct": 0.04,
      "extension_from_vwap_pct": 0.13,
      "spread_pct": 0.08
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 12.145,
    "pm_low": 12.095
  },
  {
    "symbol": "LNSR",
    "total_score": 45.83,
    "raw_score": 48.58,
    "breakdown": {
      "price_quality": 3.38,
      "volume_quality": 6.26,
      "rvol": 0.25,
      "volume_acceleration": 1.19,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.56,
      "spread_liquidity": 2.21,
      "momentum_consistency": 3.33,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.38,
      "vwap": 8.2866,
      "vwap_slope": 0.0285,
      "rvol": 0.1,
      "volume_acceleration": 0.34,
      "premarket_volume": 52181.0,
      "momentum_pct": -0.48,
      "consolidation_tightness_pct": 1.25,
      "distance_from_pm_high_pct": 0.59,
      "extension_from_vwap_pct": 1.13,
      "spread_pct": 0.84
    },
    "flags": {
      "meets_min_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.23
  },
  {
    "symbol": "EMBC",
    "total_score": 45.81,
    "raw_score": 48.56,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 11.36,
      "rvol": 0.45,
      "volume_acceleration": 2.72,
      "price_momentum": 0.29,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.85,
      "spread_liquidity": 4.35,
      "momentum_consistency": 2.83,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.115,
      "vwap": 5.1107,
      "vwap_slope": -0.0001,
      "rvol": 0.19,
      "volume_acceleration": 1.27,
      "premarket_volume": 94665.0,
      "momentum_pct": 0.2,
      "consolidation_tightness_pct": 0.29,
      "distance_from_pm_high_pct": 0.2,
      "extension_from_vwap_pct": 0.08,
      "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": false
    },
    "pm_high": 5.125,
    "pm_low": 5.0909
  },
  {
    "symbol": "ACVA",
    "total_score": 45.75,
    "raw_score": 48.49,
    "breakdown": {
      "price_quality": 2.08,
      "volume_quality": 12.0,
      "rvol": 0.99,
      "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.11,
      "spread_liquidity": 4.53,
      "momentum_consistency": 1.38,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.085,
      "vwap": 7.1308,
      "vwap_slope": -0.0065,
      "rvol": 0.41,
      "volume_acceleration": 2.48,
      "premarket_volume": 205449.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.07,
      "distance_from_pm_high_pct": 1.19,
      "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": false,
      "vwap_rising": false
    },
    "pm_high": 7.17,
    "pm_low": 7.085
  },
  {
    "symbol": "KRO",
    "total_score": 45.71,
    "raw_score": 48.45,
    "breakdown": {
      "price_quality": 3.82,
      "volume_quality": 2.63,
      "rvol": 0.11,
      "volume_acceleration": 6.97,
      "price_momentum": 0.09,
      "price_structure": 12,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.83,
      "spread_liquidity": 3.87,
      "momentum_consistency": 3.14,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.82,
      "vwap": 8.8255,
      "vwap_slope": -0.0016,
      "rvol": 0.04,
      "volume_acceleration": 1.7,
      "premarket_volume": 21941.0,
      "momentum_pct": 0.06,
      "consolidation_tightness_pct": 0.34,
      "distance_from_pm_high_pct": 0.23,
      "extension_from_vwap_pct": -0.06,
      "spread_pct": 0.34
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 8.84,
    "pm_low": 8.8
  },
  {
    "symbol": "OEC",
    "total_score": 45.68,
    "raw_score": 48.42,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 5.15,
      "rvol": 0.21,
      "volume_acceleration": 3.28,
      "price_momentum": 0.24,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.88,
      "spread_liquidity": 3.95,
      "momentum_consistency": 1.82,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.34,
      "vwap": 6.3328,
      "vwap_slope": 0.0016,
      "rvol": 0.09,
      "volume_acceleration": 0.94,
      "premarket_volume": 42924.0,
      "momentum_pct": 0.16,
      "consolidation_tightness_pct": 0.16,
      "distance_from_pm_high_pct": 0.16,
      "extension_from_vwap_pct": 0.11,
      "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": 6.35,
    "pm_low": 6.31
  },
  {
    "symbol": "INFQ",
    "total_score": 45.65,
    "raw_score": 48.39,
    "breakdown": {
      "price_quality": 2.19,
      "volume_quality": 12.0,
      "rvol": 3.49,
      "volume_acceleration": 4.98,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.56,
      "spread_liquidity": 4.74,
      "momentum_consistency": 3.03,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.815,
      "vwap": 12.841,
      "vwap_slope": -0.0019,
      "rvol": 1.45,
      "volume_acceleration": 1.5,
      "premarket_volume": 727089.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.16,
      "distance_from_pm_high_pct": 0.58,
      "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.8899,
    "pm_low": 12.8
  },
  {
    "symbol": "OGN",
    "total_score": 45.65,
    "raw_score": 48.39,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 0.49,
      "volume_acceleration": 2.55,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.97,
      "spread_liquidity": 4.76,
      "momentum_consistency": 1.52,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.765,
      "vwap": 13.7653,
      "vwap_slope": 0.0,
      "rvol": 0.2,
      "volume_acceleration": 0.73,
      "premarket_volume": 102264.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.07,
      "distance_from_pm_high_pct": 0.04,
      "extension_from_vwap_pct": -0.0,
      "spread_pct": 0.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.77,
    "pm_low": 13.76
  },
  {
    "symbol": "FRMI",
    "total_score": 45.63,
    "raw_score": 48.37,
    "breakdown": {
      "price_quality": 0.0,
      "volume_quality": 12.0,
      "rvol": 10.46,
      "volume_acceleration": 1.98,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.4,
      "spread_liquidity": 4.33,
      "momentum_consistency": 1.79,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 4.985,
      "vwap": 5.0023,
      "vwap_slope": -0.0028,
      "rvol": 3.92,
      "volume_acceleration": 0.57,
      "premarket_volume": 1961296.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.3,
      "distance_from_pm_high_pct": 0.8,
      "extension_from_vwap_pct": -0.35,
      "spread_pct": 0.2
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 5.025,
    "pm_low": 4.975
  },
  {
    "symbol": "BB",
    "total_score": 45.59,
    "raw_score": 48.33,
    "breakdown": {
      "price_quality": 3.1,
      "volume_quality": 12.0,
      "rvol": 5.02,
      "volume_acceleration": 3.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.36,
      "spread_liquidity": 4.59,
      "momentum_consistency": 2.85,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.1,
      "vwap": 8.1282,
      "vwap_slope": -0.0044,
      "rvol": 1.88,
      "volume_acceleration": 0.87,
      "premarket_volume": 941655.0,
      "momentum_pct": -0.06,
      "consolidation_tightness_pct": 0.31,
      "distance_from_pm_high_pct": 0.86,
      "extension_from_vwap_pct": -0.35,
      "spread_pct": 0.12
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 8.17,
    "pm_low": 8.095
  },
  {
    "symbol": "AMCX",
    "total_score": 45.55,
    "raw_score": 48.28,
    "breakdown": {
      "price_quality": 2.3,
      "volume_quality": 3.69,
      "rvol": 0.15,
      "volume_acceleration": 1.39,
      "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": 3.88,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.7,
      "vwap": 12.6807,
      "vwap_slope": 0.0053,
      "rvol": 0.06,
      "volume_acceleration": 0.4,
      "premarket_volume": 30742.0,
      "momentum_pct": 0.08,
      "consolidation_tightness_pct": 0.12,
      "distance_from_pm_high_pct": 0.16,
      "extension_from_vwap_pct": 0.15,
      "spread_pct": 0.16
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 12.72,
    "pm_low": 12.625
  },
  {
    "symbol": "HSLV",
    "total_score": 45.38,
    "raw_score": 48.1,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 0.92,
      "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.57,
      "spread_liquidity": 4.39,
      "momentum_consistency": 2.32,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.415,
      "vwap": 5.4256,
      "vwap_slope": -0.0389,
      "rvol": 0.38,
      "volume_acceleration": 8.52,
      "premarket_volume": 192458.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.37,
      "distance_from_pm_high_pct": 1.9,
      "extension_from_vwap_pct": -0.2,
      "spread_pct": 0.18
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 5.52,
    "pm_low": 5.405
  },
  {
    "symbol": "SWIM",
    "total_score": 45.33,
    "raw_score": 48.05,
    "breakdown": {
      "price_quality": 2.02,
      "volume_quality": 4.26,
      "rvol": 0.17,
      "volume_acceleration": 2.1,
      "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.52,
      "momentum_consistency": 2.53,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.02,
      "vwap": 7.0134,
      "vwap_slope": 0.0017,
      "rvol": 0.07,
      "volume_acceleration": 0.6,
      "premarket_volume": 35474.0,
      "momentum_pct": 0.07,
      "consolidation_tightness_pct": 0.07,
      "distance_from_pm_high_pct": 0.07,
      "extension_from_vwap_pct": 0.09,
      "spread_pct": 0.14
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 7.025,
    "pm_low": 7.0
  },
  {
    "symbol": "RUM",
    "total_score": 45.23,
    "raw_score": 47.94,
    "breakdown": {
      "price_quality": 4.05,
      "volume_quality": 12.0,
      "rvol": 1.52,
      "volume_acceleration": 5.32,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 4.9,
      "spread_liquidity": 4.63,
      "momentum_consistency": 3.12,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.05,
      "vwap": 9.1073,
      "vwap_slope": -0.0227,
      "rvol": 0.63,
      "volume_acceleration": 1.53,
      "premarket_volume": 316987.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.28,
      "distance_from_pm_high_pct": 1.47,
      "extension_from_vwap_pct": -0.63,
      "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.185,
    "pm_low": 9.03
  },
  {
    "symbol": "MAGN",
    "total_score": 44.89,
    "raw_score": 47.58,
    "breakdown": {
      "price_quality": 2.49,
      "volume_quality": 2.62,
      "rvol": 0.1,
      "volume_acceleration": 3.51,
      "price_momentum": 0.12,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 6,
      "spread_liquidity": 4.2,
      "momentum_consistency": 2.13,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.505,
      "vwap": 12.4574,
      "vwap_slope": 0.0084,
      "rvol": 0.04,
      "volume_acceleration": 1.01,
      "premarket_volume": 21850.0,
      "momentum_pct": 0.08,
      "consolidation_tightness_pct": 0.08,
      "distance_from_pm_high_pct": 0.0,
      "extension_from_vwap_pct": 0.38,
      "spread_pct": 0.24
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 12.505,
    "pm_low": 12.43
  },
  {
    "symbol": "WEST",
    "total_score": 44.75,
    "raw_score": 47.43,
    "breakdown": {
      "price_quality": 3.04,
      "volume_quality": 2.56,
      "rvol": 0.1,
      "volume_acceleration": 2.38,
      "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.17,
      "momentum_consistency": 2.96,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.04,
      "vwap": 8.0213,
      "vwap_slope": 0.0075,
      "rvol": 0.04,
      "volume_acceleration": 0.68,
      "premarket_volume": 21360.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.12,
      "distance_from_pm_high_pct": 0.25,
      "extension_from_vwap_pct": 0.23,
      "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": 8.0599,
    "pm_low": 7.98
  },
  {
    "symbol": "FLNC",
    "total_score": 44.73,
    "raw_score": 47.41,
    "breakdown": {
      "price_quality": 4.14,
      "volume_quality": 12.0,
      "rvol": 1.97,
      "volume_acceleration": 3.98,
      "price_momentum": 0.07,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.59,
      "spread_liquidity": 4.69,
      "momentum_consistency": 2.57,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.86,
      "vwap": 10.8862,
      "vwap_slope": -0.0049,
      "rvol": 0.82,
      "volume_acceleration": 1.15,
      "premarket_volume": 409637.0,
      "momentum_pct": 0.05,
      "consolidation_tightness_pct": 0.18,
      "distance_from_pm_high_pct": 0.55,
      "extension_from_vwap_pct": -0.24,
      "spread_pct": 0.09
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 10.92,
    "pm_low": 10.85
  },
  {
    "symbol": "GOOS",
    "total_score": 44.64,
    "raw_score": 47.32,
    "breakdown": {
      "price_quality": 3.23,
      "volume_quality": 3.52,
      "rvol": 0.14,
      "volume_acceleration": 8.71,
      "price_momentum": 0.18,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.95,
      "spread_liquidity": 4.6,
      "momentum_consistency": 1.78,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.23,
      "vwap": 8.2251,
      "vwap_slope": -0.0012,
      "rvol": 0.06,
      "volume_acceleration": 1.87,
      "premarket_volume": 29352.0,
      "momentum_pct": 0.12,
      "consolidation_tightness_pct": 0.24,
      "distance_from_pm_high_pct": 0.06,
      "extension_from_vwap_pct": 0.06,
      "spread_pct": 0.12
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 8.235,
    "pm_low": 8.215
  },
  {
    "symbol": "QS",
    "total_score": 44.6,
    "raw_score": 47.28,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 6.93,
      "volume_acceleration": 3.01,
      "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.41,
      "momentum_consistency": 2.34,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.62,
      "vwap": 5.6685,
      "vwap_slope": -0.0077,
      "rvol": 2.6,
      "volume_acceleration": 0.86,
      "premarket_volume": 1299333.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.36,
      "distance_from_pm_high_pct": 1.75,
      "extension_from_vwap_pct": -0.86,
      "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.72,
    "pm_low": 5.61
  },
  {
    "symbol": "NRDS",
    "total_score": 44.6,
    "raw_score": 47.27,
    "breakdown": {
      "price_quality": 4.94,
      "volume_quality": 6.75,
      "rvol": 0.27,
      "volume_acceleration": 10,
      "price_momentum": 0.08,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.62,
      "spread_liquidity": 4.66,
      "momentum_consistency": 2.55,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.94,
      "vwap": 9.9558,
      "vwap_slope": -0.0026,
      "rvol": 0.11,
      "volume_acceleration": 2.41,
      "premarket_volume": 56288.0,
      "momentum_pct": 0.05,
      "consolidation_tightness_pct": 0.09,
      "distance_from_pm_high_pct": 0.5,
      "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": false,
      "vwap_rising": false
    },
    "pm_high": 9.99,
    "pm_low": 9.93
  },
  {
    "symbol": "ALHC",
    "total_score": 44.57,
    "raw_score": 47.24,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 1.84,
      "volume_acceleration": 6.33,
      "price_momentum": 0.11,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.59,
      "spread_liquidity": 4.76,
      "momentum_consistency": 2.71,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.765,
      "vwap": 13.7891,
      "vwap_slope": -0.0088,
      "rvol": 0.77,
      "volume_acceleration": 1.63,
      "premarket_volume": 383350.0,
      "momentum_pct": 0.07,
      "consolidation_tightness_pct": 0.22,
      "distance_from_pm_high_pct": 0.54,
      "extension_from_vwap_pct": -0.17,
      "spread_pct": 0.07
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 13.84,
    "pm_low": 13.73
  },
  {
    "symbol": "MNTN",
    "total_score": 44.49,
    "raw_score": 47.16,
    "breakdown": {
      "price_quality": 1.76,
      "volume_quality": 9.97,
      "rvol": 0.4,
      "volume_acceleration": 2.89,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.69,
      "spread_liquidity": 4.25,
      "momentum_consistency": 2.6,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.245,
      "vwap": 13.2507,
      "vwap_slope": 0.0005,
      "rvol": 0.17,
      "volume_acceleration": 0.83,
      "premarket_volume": 83103.0,
      "momentum_pct": -0.04,
      "consolidation_tightness_pct": 0.3,
      "distance_from_pm_high_pct": 0.41,
      "extension_from_vwap_pct": -0.04,
      "spread_pct": 0.23
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": true
    },
    "pm_high": 13.3,
    "pm_low": 13.2
  },
  {
    "symbol": "NAVI",
    "total_score": 44.32,
    "raw_score": 46.98,
    "breakdown": {
      "price_quality": 4.45,
      "volume_quality": 7.43,
      "rvol": 0.3,
      "volume_acceleration": 2.97,
      "price_momentum": 0.16,
      "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.91,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.445,
      "vwap": 9.437,
      "vwap_slope": -0.0001,
      "rvol": 0.12,
      "volume_acceleration": 0.85,
      "premarket_volume": 61908.0,
      "momentum_pct": 0.11,
      "consolidation_tightness_pct": 0.16,
      "distance_from_pm_high_pct": 0.11,
      "extension_from_vwap_pct": 0.08,
      "spread_pct": 0.11
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 9.455,
    "pm_low": 9.415
  },
  {
    "symbol": "RCAT",
    "total_score": 44.29,
    "raw_score": 46.94,
    "breakdown": {
      "price_quality": 3.46,
      "volume_quality": 12.0,
      "rvol": 3.27,
      "volume_acceleration": 3.2,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.25,
      "spread_liquidity": 4.61,
      "momentum_consistency": 2.76,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.46,
      "vwap": 8.501,
      "vwap_slope": -0.0083,
      "rvol": 1.36,
      "volume_acceleration": 0.92,
      "premarket_volume": 680218.0,
      "momentum_pct": -0.06,
      "consolidation_tightness_pct": 0.35,
      "distance_from_pm_high_pct": 0.99,
      "extension_from_vwap_pct": -0.48,
      "spread_pct": 0.12
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 8.545,
    "pm_low": 8.46
  },
  {
    "symbol": "APPS",
    "total_score": 44.27,
    "raw_score": 46.92,
    "breakdown": {
      "price_quality": 3.93,
      "volume_quality": 12.0,
      "rvol": 1.4,
      "volume_acceleration": 5.06,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 4.96,
      "spread_liquidity": 4.7,
      "momentum_consistency": 2.47,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.075,
      "vwap": 11.1322,
      "vwap_slope": -0.0126,
      "rvol": 0.58,
      "volume_acceleration": 1.51,
      "premarket_volume": 292264.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.18,
      "distance_from_pm_high_pct": 1.38,
      "extension_from_vwap_pct": -0.51,
      "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.23,
    "pm_low": 11.05
  },
  {
    "symbol": "SBET",
    "total_score": 44.09,
    "raw_score": 46.73,
    "breakdown": {
      "price_quality": 3.14,
      "volume_quality": 12.0,
      "rvol": 3.33,
      "volume_acceleration": 3.38,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.14,
      "spread_liquidity": 4.59,
      "momentum_consistency": 2.76,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.1401,
      "vwap": 8.1637,
      "vwap_slope": -0.0044,
      "rvol": 1.39,
      "volume_acceleration": 0.97,
      "premarket_volume": 693337.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.24,
      "distance_from_pm_high_pct": 1.15,
      "extension_from_vwap_pct": -0.29,
      "spread_pct": 0.12
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 8.235,
    "pm_low": 8.115
  },
  {
    "symbol": "GSBD",
    "total_score": 44.07,
    "raw_score": 46.71,
    "breakdown": {
      "price_quality": 4.85,
      "volume_quality": 5.79,
      "rvol": 0.23,
      "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.93,
      "spread_liquidity": 4.67,
      "momentum_consistency": 2.84,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.15,
      "vwap": 10.1513,
      "vwap_slope": -0.0011,
      "rvol": 0.1,
      "volume_acceleration": 3.11,
      "premarket_volume": 48271.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.2,
      "distance_from_pm_high_pct": 0.1,
      "extension_from_vwap_pct": -0.01,
      "spread_pct": 0.1
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 10.16,
    "pm_low": 10.14
  },
  {
    "symbol": "CERT",
    "total_score": 44.06,
    "raw_score": 46.71,
    "breakdown": {
      "price_quality": 3.39,
      "volume_quality": 12.0,
      "rvol": 0.84,
      "volume_acceleration": 5.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.64,
      "spread_liquidity": 4.6,
      "momentum_consistency": 2.43,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.395,
      "vwap": 8.4041,
      "vwap_slope": -0.0021,
      "rvol": 0.35,
      "volume_acceleration": 1.54,
      "premarket_volume": 174639.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.12,
      "distance_from_pm_high_pct": 0.47,
      "extension_from_vwap_pct": -0.11,
      "spread_pct": 0.12
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 8.435,
    "pm_low": 8.39
  },
  {
    "symbol": "LYNX",
    "total_score": 43.96,
    "raw_score": 46.6,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 0.5,
      "volume_acceleration": 0.8,
      "price_momentum": 0.32,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.32,
      "spread_liquidity": 4.06,
      "momentum_consistency": 2.91,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.15,
      "vwap": 14.1099,
      "vwap_slope": -0.0,
      "rvol": 0.21,
      "volume_acceleration": 0.23,
      "premarket_volume": 103485.0,
      "momentum_pct": 0.21,
      "consolidation_tightness_pct": 0.71,
      "distance_from_pm_high_pct": 0.91,
      "extension_from_vwap_pct": 0.28,
      "spread_pct": 0.28
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 14.28,
    "pm_low": 14.0
  },
  {
    "symbol": "IMTX",
    "total_score": 43.86,
    "raw_score": 46.49,
    "breakdown": {
      "price_quality": 4.44,
      "volume_quality": 8.96,
      "rvol": 0.36,
      "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.22,
      "spread_liquidity": 4.29,
      "momentum_consistency": 1.82,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.44,
      "vwap": 9.5146,
      "vwap_slope": -0.0277,
      "rvol": 0.15,
      "volume_acceleration": 2.29,
      "premarket_volume": 74694.0,
      "momentum_pct": -0.42,
      "consolidation_tightness_pct": 0.53,
      "distance_from_pm_high_pct": 2.38,
      "extension_from_vwap_pct": -0.78,
      "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.67,
    "pm_low": 9.36
  },
  {
    "symbol": "LTBR",
    "total_score": 43.76,
    "raw_score": 46.39,
    "breakdown": {
      "price_quality": 2.53,
      "volume_quality": 9.23,
      "rvol": 0.37,
      "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": 4.77,
      "spread_liquidity": 4.56,
      "momentum_consistency": 2.48,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.525,
      "vwap": 7.5811,
      "vwap_slope": -0.0123,
      "rvol": 0.15,
      "volume_acceleration": 2.94,
      "premarket_volume": 76882.0,
      "momentum_pct": 0.04,
      "consolidation_tightness_pct": 0.2,
      "distance_from_pm_high_pct": 1.63,
      "extension_from_vwap_pct": -0.74,
      "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.65,
    "pm_low": 7.51
  },
  {
    "symbol": "UPWK",
    "total_score": 43.67,
    "raw_score": 46.3,
    "breakdown": {
      "price_quality": 3.95,
      "volume_quality": 12.0,
      "rvol": 0.61,
      "volume_acceleration": 4.97,
      "price_momentum": 0.08,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.5,
      "spread_liquidity": 4.63,
      "momentum_consistency": 2.15,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.95,
      "vwap": 8.9695,
      "vwap_slope": -0.0057,
      "rvol": 0.26,
      "volume_acceleration": 1.5,
      "premarket_volume": 127547.0,
      "momentum_pct": 0.06,
      "consolidation_tightness_pct": 0.22,
      "distance_from_pm_high_pct": 0.67,
      "extension_from_vwap_pct": -0.22,
      "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.01,
    "pm_low": 8.94
  },
  {
    "symbol": "ASAN",
    "total_score": 43.67,
    "raw_score": 46.29,
    "breakdown": {
      "price_quality": 4.8,
      "volume_quality": 12.0,
      "rvol": 1.68,
      "volume_acceleration": 3.25,
      "price_momentum": 0.15,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.13,
      "spread_liquidity": 4.67,
      "momentum_consistency": 2.21,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.195,
      "vwap": 10.2532,
      "vwap_slope": -0.0115,
      "rvol": 0.7,
      "volume_acceleration": 0.93,
      "premarket_volume": 349589.0,
      "momentum_pct": 0.1,
      "consolidation_tightness_pct": 0.2,
      "distance_from_pm_high_pct": 1.16,
      "extension_from_vwap_pct": -0.57,
      "spread_pct": 0.1
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 10.315,
    "pm_low": 10.18
  },
  {
    "symbol": "KLAR",
    "total_score": 43.65,
    "raw_score": 46.27,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 4.32,
      "volume_acceleration": 3.12,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.45,
      "spread_liquidity": 4.77,
      "momentum_consistency": 2.71,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.295,
      "vwap": 14.3451,
      "vwap_slope": -0.0038,
      "rvol": 1.62,
      "volume_acceleration": 0.9,
      "premarket_volume": 809552.0,
      "momentum_pct": -0.03,
      "consolidation_tightness_pct": 0.14,
      "distance_from_pm_high_pct": 0.73,
      "extension_from_vwap_pct": -0.35,
      "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.4,
    "pm_low": 14.28
  },
  {
    "symbol": "TE",
    "total_score": 43.58,
    "raw_score": 46.19,
    "breakdown": {
      "price_quality": 0.0,
      "volume_quality": 12.0,
      "rvol": 7.98,
      "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.69,
      "spread_liquidity": 4.3,
      "momentum_consistency": 2.44,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 4.765,
      "vwap": 4.8069,
      "vwap_slope": -0.0102,
      "rvol": 2.99,
      "volume_acceleration": 1.24,
      "premarket_volume": 1496335.0,
      "momentum_pct": -0.21,
      "consolidation_tightness_pct": 0.31,
      "distance_from_pm_high_pct": 1.75,
      "extension_from_vwap_pct": -0.87,
      "spread_pct": 0.21
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 4.85,
    "pm_low": 4.765
  },
  {
    "symbol": "NVAX",
    "total_score": 43.4,
    "raw_score": 46.0,
    "breakdown": {
      "price_quality": 3.92,
      "volume_quality": 12.0,
      "rvol": 0.9,
      "volume_acceleration": 3.24,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.62,
      "spread_liquidity": 4.63,
      "momentum_consistency": 3.29,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.92,
      "vwap": 8.9341,
      "vwap_slope": -0.0032,
      "rvol": 0.38,
      "volume_acceleration": 0.93,
      "premarket_volume": 187675.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.21,
      "distance_from_pm_high_pct": 0.5,
      "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": 8.965,
    "pm_low": 8.91
  },
  {
    "symbol": "TK",
    "total_score": 43.23,
    "raw_score": 45.83,
    "breakdown": {
      "price_quality": 2.06,
      "volume_quality": 2.54,
      "rvol": 0.1,
      "volume_acceleration": 8.89,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.88,
      "spread_liquidity": 4.48,
      "momentum_consistency": 2.67,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.94,
      "vwap": 12.9261,
      "vwap_slope": -0.0085,
      "rvol": 0.04,
      "volume_acceleration": 1.89,
      "premarket_volume": 21184.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.15,
      "distance_from_pm_high_pct": 0.15,
      "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": false
    },
    "pm_high": 12.96,
    "pm_low": 12.91
  },
  {
    "symbol": "SMPL",
    "total_score": 43.22,
    "raw_score": 45.81,
    "breakdown": {
      "price_quality": 4.19,
      "volume_quality": 12.0,
      "rvol": 0.94,
      "volume_acceleration": 3.73,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.38,
      "spread_liquidity": 4.69,
      "momentum_consistency": 2.48,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.81,
      "vwap": 10.8572,
      "vwap_slope": -0.0016,
      "rvol": 0.39,
      "volume_acceleration": 1.07,
      "premarket_volume": 195153.0,
      "momentum_pct": -0.64,
      "consolidation_tightness_pct": 0.74,
      "distance_from_pm_high_pct": 0.83,
      "extension_from_vwap_pct": -0.44,
      "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.9,
    "pm_low": 10.81
  },
  {
    "symbol": "WU",
    "total_score": 43.15,
    "raw_score": 45.74,
    "breakdown": {
      "price_quality": 2.21,
      "volume_quality": 12.0,
      "rvol": 2.96,
      "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.48,
      "spread_liquidity": 4.54,
      "momentum_consistency": 2.53,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.21,
      "vwap": 7.2354,
      "vwap_slope": -0.0069,
      "rvol": 1.23,
      "volume_acceleration": 1.04,
      "premarket_volume": 616263.0,
      "momentum_pct": -0.07,
      "consolidation_tightness_pct": 0.14,
      "distance_from_pm_high_pct": 0.69,
      "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": false,
      "vwap_rising": false
    },
    "pm_high": 7.2599,
    "pm_low": 7.21
  },
  {
    "symbol": "RUN",
    "total_score": 43.11,
    "raw_score": 45.7,
    "breakdown": {
      "price_quality": 3.83,
      "volume_quality": 12.0,
      "rvol": 2.02,
      "volume_acceleration": 2.18,
      "price_momentum": 0.08,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.62,
      "spread_liquidity": 4.62,
      "momentum_consistency": 2.95,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.83,
      "vwap": 8.8361,
      "vwap_slope": -0.001,
      "rvol": 0.84,
      "volume_acceleration": 0.63,
      "premarket_volume": 420162.0,
      "momentum_pct": 0.06,
      "consolidation_tightness_pct": 0.19,
      "distance_from_pm_high_pct": 0.51,
      "extension_from_vwap_pct": -0.07,
      "spread_pct": 0.11
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 8.875,
    "pm_low": 8.805
  },
  {
    "symbol": "DXC",
    "total_score": 43.0,
    "raw_score": 45.58,
    "breakdown": {
      "price_quality": 3.78,
      "volume_quality": 12.0,
      "rvol": 1.07,
      "volume_acceleration": 3.19,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.73,
      "spread_liquidity": 4.7,
      "momentum_consistency": 2.71,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.225,
      "vwap": 11.2403,
      "vwap_slope": -0.0026,
      "rvol": 0.44,
      "volume_acceleration": 0.92,
      "premarket_volume": 222497.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.13,
      "distance_from_pm_high_pct": 0.36,
      "extension_from_vwap_pct": -0.14,
      "spread_pct": 0.09
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 11.265,
    "pm_low": 11.205
  },
  {
    "symbol": "PAYS",
    "total_score": 42.62,
    "raw_score": 45.17,
    "breakdown": {
      "price_quality": 2.04,
      "volume_quality": 5.24,
      "rvol": 0.21,
      "volume_acceleration": 3.07,
      "price_momentum": 0.17,
      "price_structure": 12,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.48,
      "spread_liquidity": 4.23,
      "momentum_consistency": 2.73,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.96,
      "vwap": 12.9617,
      "vwap_slope": -0.0043,
      "rvol": 0.09,
      "volume_acceleration": 0.88,
      "premarket_volume": 43665.0,
      "momentum_pct": 0.12,
      "consolidation_tightness_pct": 0.12,
      "distance_from_pm_high_pct": 0.69,
      "extension_from_vwap_pct": -0.01,
      "spread_pct": 0.23
    },
    "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.05,
    "pm_low": 12.93
  },
  {
    "symbol": "MGTX",
    "total_score": 42.59,
    "raw_score": 45.15,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 7.79,
      "rvol": 0.31,
      "volume_acceleration": 3.84,
      "price_momentum": 0.33,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.69,
      "spread_liquidity": 4.27,
      "momentum_consistency": 2.21,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.7,
      "vwap": 13.6937,
      "vwap_slope": -0.0072,
      "rvol": 0.13,
      "volume_acceleration": 1.11,
      "premarket_volume": 64924.0,
      "momentum_pct": 0.22,
      "consolidation_tightness_pct": 0.22,
      "distance_from_pm_high_pct": 0.41,
      "extension_from_vwap_pct": 0.05,
      "spread_pct": 0.22
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 13.757,
    "pm_low": 13.66
  },
  {
    "symbol": "BFLY",
    "total_score": 42.59,
    "raw_score": 45.14,
    "breakdown": {
      "price_quality": 3.57,
      "volume_quality": 12.0,
      "rvol": 0.98,
      "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.35,
      "spread_liquidity": 4.61,
      "momentum_consistency": 2.58,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.575,
      "vwap": 8.601,
      "vwap_slope": -0.0046,
      "rvol": 0.41,
      "volume_acceleration": 1.05,
      "premarket_volume": 205005.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.17,
      "distance_from_pm_high_pct": 0.87,
      "extension_from_vwap_pct": -0.3,
      "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.65,
    "pm_low": 8.57
  },
  {
    "symbol": "OWLT",
    "total_score": 42.38,
    "raw_score": 44.92,
    "breakdown": {
      "price_quality": 0.0,
      "volume_quality": 4.62,
      "rvol": 0.18,
      "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.18,
      "spread_liquidity": 2.99,
      "momentum_consistency": 2.35,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 4.965,
      "vwap": 4.9667,
      "vwap_slope": 0.0559,
      "rvol": 0.08,
      "volume_acceleration": 3.26,
      "premarket_volume": 38502.0,
      "momentum_pct": -0.5,
      "consolidation_tightness_pct": 1.71,
      "distance_from_pm_high_pct": 1.1,
      "extension_from_vwap_pct": -0.03,
      "spread_pct": 0.6
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": true
    },
    "pm_high": 5.02,
    "pm_low": 4.91
  },
  {
    "symbol": "VFC",
    "total_score": 42.37,
    "raw_score": 44.91,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 2.08,
      "volume_acceleration": 3.93,
      "price_momentum": 0.11,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.7,
      "spread_liquidity": 4.76,
      "momentum_consistency": 2.44,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.715,
      "vwap": 13.7214,
      "vwap_slope": -0.0027,
      "rvol": 0.87,
      "volume_acceleration": 1.13,
      "premarket_volume": 432699.0,
      "momentum_pct": 0.07,
      "consolidation_tightness_pct": 0.25,
      "distance_from_pm_high_pct": 0.4,
      "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": 13.77,
    "pm_low": 13.6909
  },
  {
    "symbol": "PDYN",
    "total_score": 42.33,
    "raw_score": 44.87,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 8.21,
      "rvol": 0.33,
      "volume_acceleration": 2.88,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.48,
      "spread_liquidity": 4.41,
      "momentum_consistency": 2.46,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.715,
      "vwap": 5.723,
      "vwap_slope": 0.0007,
      "rvol": 0.14,
      "volume_acceleration": 0.83,
      "premarket_volume": 68436.0,
      "momentum_pct": -0.09,
      "consolidation_tightness_pct": 0.26,
      "distance_from_pm_high_pct": 0.7,
      "extension_from_vwap_pct": -0.14,
      "spread_pct": 0.18
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": true
    },
    "pm_high": 5.755,
    "pm_low": 5.7
  },
  {
    "symbol": "IE",
    "total_score": 42.28,
    "raw_score": 44.81,
    "breakdown": {
      "price_quality": 3.87,
      "volume_quality": 12.0,
      "rvol": 0.97,
      "volume_acceleration": 2.79,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.07,
      "spread_liquidity": 4.7,
      "momentum_consistency": 3.02,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.135,
      "vwap": 11.1774,
      "vwap_slope": -0.0091,
      "rvol": 0.4,
      "volume_acceleration": 0.8,
      "premarket_volume": 202039.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.13,
      "distance_from_pm_high_pct": 1.24,
      "extension_from_vwap_pct": -0.38,
      "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.275,
    "pm_low": 11.13
  },
  {
    "symbol": "CRK",
    "total_score": 42.28,
    "raw_score": 44.82,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 0.5,
      "volume_acceleration": 5.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.61,
      "spread_liquidity": 4.77,
      "momentum_consistency": 2.72,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.405,
      "vwap": 14.4395,
      "vwap_slope": -0.0115,
      "rvol": 0.21,
      "volume_acceleration": 1.53,
      "premarket_volume": 103235.0,
      "momentum_pct": -0.24,
      "consolidation_tightness_pct": 0.35,
      "distance_from_pm_high_pct": 0.52,
      "extension_from_vwap_pct": -0.24,
      "spread_pct": 0.07
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 14.48,
    "pm_low": 14.4
  },
  {
    "symbol": "ALOY",
    "total_score": 42.22,
    "raw_score": 44.75,
    "breakdown": {
      "price_quality": 4.45,
      "volume_quality": 12.0,
      "rvol": 0.95,
      "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.05,
      "spread_liquidity": 4.68,
      "momentum_consistency": 2.44,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.555,
      "vwap": 10.5907,
      "vwap_slope": -0.0073,
      "rvol": 0.39,
      "volume_acceleration": 0.8,
      "premarket_volume": 197420.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.19,
      "distance_from_pm_high_pct": 1.26,
      "extension_from_vwap_pct": -0.34,
      "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.6899,
    "pm_low": 10.535
  },
  {
    "symbol": "ADMA",
    "total_score": 42.12,
    "raw_score": 44.64,
    "breakdown": {
      "price_quality": 4.39,
      "volume_quality": 12.0,
      "rvol": 0.51,
      "volume_acceleration": 3.13,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.56,
      "spread_liquidity": 4.65,
      "momentum_consistency": 2.0,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.395,
      "vwap": 9.4245,
      "vwap_slope": -0.0086,
      "rvol": 0.21,
      "volume_acceleration": 0.9,
      "premarket_volume": 107051.0,
      "momentum_pct": -0.05,
      "consolidation_tightness_pct": 0.11,
      "distance_from_pm_high_pct": 0.58,
      "extension_from_vwap_pct": -0.31,
      "spread_pct": 0.11
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 9.45,
    "pm_low": 9.39
  },
  {
    "symbol": "OBDC",
    "total_score": 42.06,
    "raw_score": 44.58,
    "breakdown": {
      "price_quality": 3.73,
      "volume_quality": 12.0,
      "rvol": 1.23,
      "volume_acceleration": 2.55,
      "price_momentum": 0.07,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.87,
      "spread_liquidity": 4.7,
      "momentum_consistency": 2.03,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.265,
      "vwap": 11.2704,
      "vwap_slope": -0.0015,
      "rvol": 0.51,
      "volume_acceleration": 0.73,
      "premarket_volume": 255393.0,
      "momentum_pct": 0.04,
      "consolidation_tightness_pct": 0.04,
      "distance_from_pm_high_pct": 0.18,
      "extension_from_vwap_pct": -0.05,
      "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.285,
    "pm_low": 11.25
  },
  {
    "symbol": "VYX",
    "total_score": 42.01,
    "raw_score": 44.53,
    "breakdown": {
      "price_quality": 3.89,
      "volume_quality": 12.0,
      "rvol": 1.58,
      "volume_acceleration": 2.19,
      "price_momentum": 0.17,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.13,
      "spread_liquidity": 4.63,
      "momentum_consistency": 2.53,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.895,
      "vwap": 8.9159,
      "vwap_slope": -0.0043,
      "rvol": 0.66,
      "volume_acceleration": 0.63,
      "premarket_volume": 330170.0,
      "momentum_pct": 0.11,
      "consolidation_tightness_pct": 0.17,
      "distance_from_pm_high_pct": 1.16,
      "extension_from_vwap_pct": -0.23,
      "spread_pct": 0.11
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 8.999,
    "pm_low": 8.845
  },
  {
    "symbol": "UNIT",
    "total_score": 41.94,
    "raw_score": 44.46,
    "breakdown": {
      "price_quality": 4.89,
      "volume_quality": 9.02,
      "rvol": 0.36,
      "volume_acceleration": 4.14,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.7,
      "spread_liquidity": 4.67,
      "momentum_consistency": 3.27,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.11,
      "vwap": 10.1226,
      "vwap_slope": -0.0006,
      "rvol": 0.15,
      "volume_acceleration": 1.41,
      "premarket_volume": 75202.0,
      "momentum_pct": -0.2,
      "consolidation_tightness_pct": 0.2,
      "distance_from_pm_high_pct": 0.39,
      "extension_from_vwap_pct": -0.12,
      "spread_pct": 0.1
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 10.15,
    "pm_low": 10.105
  },
  {
    "symbol": "SLRC",
    "total_score": 41.87,
    "raw_score": 44.39,
    "breakdown": {
      "price_quality": 2.47,
      "volume_quality": 4.33,
      "rvol": 0.17,
      "volume_acceleration": 2.43,
      "price_momentum": 0.01,
      "price_structure": 12,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.82,
      "spread_liquidity": 4.73,
      "momentum_consistency": 2.42,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.5299,
      "vwap": 12.5429,
      "vwap_slope": -0.0072,
      "rvol": 0.07,
      "volume_acceleration": 0.7,
      "premarket_volume": 36072.0,
      "momentum_pct": 0.01,
      "consolidation_tightness_pct": 0.08,
      "distance_from_pm_high_pct": 0.24,
      "extension_from_vwap_pct": -0.1,
      "spread_pct": 0.08
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 12.56,
    "pm_low": 12.52
  },
  {
    "symbol": "CRGY",
    "total_score": 41.79,
    "raw_score": 44.3,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 1.49,
      "volume_acceleration": 3.67,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.78,
      "spread_liquidity": 4.75,
      "momentum_consistency": 2.71,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.55,
      "vwap": 13.5587,
      "vwap_slope": -0.0027,
      "rvol": 0.62,
      "volume_acceleration": 1.05,
      "premarket_volume": 310256.0,
      "momentum_pct": -0.11,
      "consolidation_tightness_pct": 0.18,
      "distance_from_pm_high_pct": 0.29,
      "extension_from_vwap_pct": -0.06,
      "spread_pct": 0.07
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 13.59,
    "pm_low": 13.53
  },
  {
    "symbol": "TRIP",
    "total_score": 41.78,
    "raw_score": 44.28,
    "breakdown": {
      "price_quality": 4.9,
      "volume_quality": 12.0,
      "rvol": 0.69,
      "volume_acceleration": 1.56,
      "price_momentum": 0.23,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.7,
      "spread_liquidity": 4.66,
      "momentum_consistency": 2.14,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.905,
      "vwap": 9.9142,
      "vwap_slope": -0.0044,
      "rvol": 0.29,
      "volume_acceleration": 1.16,
      "premarket_volume": 143304.0,
      "momentum_pct": 0.15,
      "consolidation_tightness_pct": 0.15,
      "distance_from_pm_high_pct": 0.4,
      "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": 9.945,
    "pm_low": 9.89
  },
  {
    "symbol": "BRSL",
    "total_score": 41.75,
    "raw_score": 44.26,
    "breakdown": {
      "price_quality": 3.39,
      "volume_quality": 12.0,
      "rvol": 0.54,
      "volume_acceleration": 3.24,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.65,
      "spread_liquidity": 4.71,
      "momentum_consistency": 2.33,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.605,
      "vwap": 11.6271,
      "vwap_slope": -0.0024,
      "rvol": 0.22,
      "volume_acceleration": 0.93,
      "premarket_volume": 111692.0,
      "momentum_pct": -0.13,
      "consolidation_tightness_pct": 0.26,
      "distance_from_pm_high_pct": 0.47,
      "extension_from_vwap_pct": -0.19,
      "spread_pct": 0.09
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 11.66,
    "pm_low": 11.56
  },
  {
    "symbol": "GNW",
    "total_score": 41.72,
    "raw_score": 44.22,
    "breakdown": {
      "price_quality": 4.97,
      "volume_quality": 12.0,
      "rvol": 0.55,
      "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.85,
      "spread_liquidity": 4.67,
      "momentum_consistency": 1.66,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.975,
      "vwap": 9.9823,
      "vwap_slope": -0.0005,
      "rvol": 0.23,
      "volume_acceleration": 1.21,
      "premarket_volume": 115192.0,
      "momentum_pct": -0.1,
      "consolidation_tightness_pct": 0.15,
      "distance_from_pm_high_pct": 0.2,
      "extension_from_vwap_pct": -0.07,
      "spread_pct": 0.1
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 9.995,
    "pm_low": 9.97
  },
  {
    "symbol": "FRSH",
    "total_score": 41.67,
    "raw_score": 44.18,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 1.59,
      "volume_acceleration": 2.69,
      "price_momentum": 0.05,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.73,
      "spread_liquidity": 4.76,
      "momentum_consistency": 3.45,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.87,
      "vwap": 13.8904,
      "vwap_slope": -0.004,
      "rvol": 0.66,
      "volume_acceleration": 0.77,
      "premarket_volume": 331488.0,
      "momentum_pct": 0.04,
      "consolidation_tightness_pct": 0.14,
      "distance_from_pm_high_pct": 0.36,
      "extension_from_vwap_pct": -0.15,
      "spread_pct": 0.07
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 13.92,
    "pm_low": 13.855
  },
  {
    "symbol": "SGRY",
    "total_score": 41.61,
    "raw_score": 44.1,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 1.27,
      "volume_acceleration": 4.88,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.34,
      "spread_liquidity": 4.51,
      "momentum_consistency": 2.2,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.565,
      "vwap": 13.5951,
      "vwap_slope": -0.0029,
      "rvol": 0.53,
      "volume_acceleration": 1.49,
      "premarket_volume": 265178.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.11,
      "distance_from_pm_high_pct": 0.88,
      "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": false,
      "vwap_rising": false
    },
    "pm_high": 13.685,
    "pm_low": 13.545
  },
  {
    "symbol": "DUOT",
    "total_score": 41.53,
    "raw_score": 44.02,
    "breakdown": {
      "price_quality": 4.37,
      "volume_quality": 12.0,
      "rvol": 0.69,
      "volume_acceleration": 3.59,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 4.66,
      "spread_liquidity": 3.58,
      "momentum_consistency": 2.72,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.37,
      "vwap": 9.4411,
      "vwap_slope": -0.0316,
      "rvol": 0.29,
      "volume_acceleration": 1.36,
      "premarket_volume": 144545.0,
      "momentum_pct": -0.11,
      "consolidation_tightness_pct": 0.21,
      "distance_from_pm_high_pct": 1.78,
      "extension_from_vwap_pct": -0.75,
      "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": 9.54,
    "pm_low": 9.3
  },
  {
    "symbol": "YSS",
    "total_score": 41.51,
    "raw_score": 44.0,
    "breakdown": {
      "price_quality": 3.99,
      "volume_quality": 12.0,
      "rvol": 0.89,
      "volume_acceleration": 2.43,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.38,
      "spread_liquidity": 4.63,
      "momentum_consistency": 2.29,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.99,
      "vwap": 9.0239,
      "vwap_slope": -0.0134,
      "rvol": 0.37,
      "volume_acceleration": 1.24,
      "premarket_volume": 186107.0,
      "momentum_pct": -0.06,
      "consolidation_tightness_pct": 0.28,
      "distance_from_pm_high_pct": 0.83,
      "extension_from_vwap_pct": -0.38,
      "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.065,
    "pm_low": 8.985
  },
  {
    "symbol": "CRML",
    "total_score": 41.43,
    "raw_score": 43.91,
    "breakdown": {
      "price_quality": 2.25,
      "volume_quality": 12.0,
      "rvol": 2.45,
      "volume_acceleration": 2.37,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 4.93,
      "spread_liquidity": 4.54,
      "momentum_consistency": 2.98,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.245,
      "vwap": 7.2853,
      "vwap_slope": -0.0092,
      "rvol": 1.02,
      "volume_acceleration": 1.24,
      "premarket_volume": 509653.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.34,
      "distance_from_pm_high_pct": 1.43,
      "extension_from_vwap_pct": -0.55,
      "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.35,
    "pm_low": 7.232
  },
  {
    "symbol": "MBLY",
    "total_score": 41.42,
    "raw_score": 43.9,
    "breakdown": {
      "price_quality": 3.53,
      "volume_quality": 12.0,
      "rvol": 1.22,
      "volume_acceleration": 2.6,
      "price_momentum": 0.09,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.56,
      "spread_liquidity": 4.61,
      "momentum_consistency": 1.9,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.525,
      "vwap": 8.5476,
      "vwap_slope": -0.0048,
      "rvol": 0.51,
      "volume_acceleration": 0.75,
      "premarket_volume": 253364.0,
      "momentum_pct": 0.06,
      "consolidation_tightness_pct": 0.23,
      "distance_from_pm_high_pct": 0.58,
      "extension_from_vwap_pct": -0.26,
      "spread_pct": 0.12
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 8.575,
    "pm_low": 8.51
  },
  {
    "symbol": "FWDI",
    "total_score": 41.39,
    "raw_score": 43.87,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 0.96,
      "volume_acceleration": 6.49,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 3.85,
      "spread_liquidity": 4.44,
      "momentum_consistency": 2.22,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.0028,
      "vwap": 6.0589,
      "vwap_slope": -0.0192,
      "rvol": 0.4,
      "volume_acceleration": 1.65,
      "premarket_volume": 200360.0,
      "momentum_pct": -0.04,
      "consolidation_tightness_pct": 0.33,
      "distance_from_pm_high_pct": 2.87,
      "extension_from_vwap_pct": -0.93,
      "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.18,
    "pm_low": 6.0
  },
  {
    "symbol": "GNL",
    "total_score": 41.35,
    "raw_score": 43.83,
    "breakdown": {
      "price_quality": 4.16,
      "volume_quality": 9.82,
      "rvol": 0.39,
      "volume_acceleration": 4.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.88,
      "spread_liquidity": 4.64,
      "momentum_consistency": 2.13,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.165,
      "vwap": 9.1708,
      "vwap_slope": -0.0008,
      "rvol": 0.16,
      "volume_acceleration": 1.44,
      "premarket_volume": 81866.0,
      "momentum_pct": -0.05,
      "consolidation_tightness_pct": 0.11,
      "distance_from_pm_high_pct": 0.16,
      "extension_from_vwap_pct": -0.06,
      "spread_pct": 0.11
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 9.18,
    "pm_low": 9.16
  },
  {
    "symbol": "VG",
    "total_score": 41.35,
    "raw_score": 43.83,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 2.41,
      "volume_acceleration": 2.95,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.5,
      "spread_liquidity": 4.77,
      "momentum_consistency": 2.31,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.215,
      "vwap": 14.2755,
      "vwap_slope": -0.0102,
      "rvol": 1.01,
      "volume_acceleration": 0.85,
      "premarket_volume": 502770.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.14,
      "distance_from_pm_high_pct": 0.66,
      "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": 14.31,
    "pm_low": 14.205
  },
  {
    "symbol": "PRTA",
    "total_score": 41.25,
    "raw_score": 43.73,
    "breakdown": {
      "price_quality": 4.25,
      "volume_quality": 5.39,
      "rvol": 0.22,
      "volume_acceleration": 2.42,
      "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.28,
      "momentum_consistency": 2.06,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.25,
      "vwap": 9.2595,
      "vwap_slope": 0.0001,
      "rvol": 0.09,
      "volume_acceleration": 0.69,
      "premarket_volume": 44883.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.11,
      "distance_from_pm_high_pct": 0.64,
      "extension_from_vwap_pct": -0.1,
      "spread_pct": 0.22
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": true
    },
    "pm_high": 9.31,
    "pm_low": 9.21
  },
  {
    "symbol": "BBDC",
    "total_score": 41.16,
    "raw_score": 43.63,
    "breakdown": {
      "price_quality": 4.33,
      "volume_quality": 12.0,
      "rvol": 0.49,
      "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.61,
      "spread_liquidity": 4.64,
      "momentum_consistency": 1.96,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.33,
      "vwap": 9.3528,
      "vwap_slope": -0.0059,
      "rvol": 0.21,
      "volume_acceleration": 0.63,
      "premarket_volume": 102538.0,
      "momentum_pct": -0.05,
      "consolidation_tightness_pct": 0.05,
      "distance_from_pm_high_pct": 0.52,
      "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.379,
    "pm_low": 9.33
  },
  {
    "symbol": "PUMP",
    "total_score": 41.14,
    "raw_score": 43.61,
    "breakdown": {
      "price_quality": 4.11,
      "volume_quality": 12.0,
      "rvol": 1.28,
      "volume_acceleration": 1.91,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.42,
      "spread_liquidity": 4.69,
      "momentum_consistency": 1.79,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.89,
      "vwap": 10.9445,
      "vwap_slope": -0.0085,
      "rvol": 0.53,
      "volume_acceleration": 1.19,
      "premarket_volume": 267325.0,
      "momentum_pct": -0.14,
      "consolidation_tightness_pct": 0.18,
      "distance_from_pm_high_pct": 0.77,
      "extension_from_vwap_pct": -0.5,
      "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.975,
    "pm_low": 10.89
  },
  {
    "symbol": "BTGO",
    "total_score": 40.87,
    "raw_score": 43.32,
    "breakdown": {
      "price_quality": 1.82,
      "volume_quality": 12.0,
      "rvol": 1.39,
      "volume_acceleration": 3.39,
      "price_momentum": 0.13,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 4.7,
      "spread_liquidity": 4.51,
      "momentum_consistency": 2.98,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.82,
      "vwap": 6.833,
      "vwap_slope": -0.0078,
      "rvol": 0.58,
      "volume_acceleration": 1.34,
      "premarket_volume": 289211.0,
      "momentum_pct": 0.09,
      "consolidation_tightness_pct": 0.44,
      "distance_from_pm_high_pct": 1.73,
      "extension_from_vwap_pct": -0.19,
      "spread_pct": 0.15
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 6.94,
    "pm_low": 6.795
  },
  {
    "symbol": "KD",
    "total_score": 40.84,
    "raw_score": 43.29,
    "breakdown": {
      "price_quality": 1.74,
      "volume_quality": 12.0,
      "rvol": 1.25,
      "volume_acceleration": 3.29,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.69,
      "spread_liquidity": 4.75,
      "momentum_consistency": 2.17,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.255,
      "vwap": 13.2729,
      "vwap_slope": -0.0032,
      "rvol": 0.52,
      "volume_acceleration": 0.94,
      "premarket_volume": 261445.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.11,
      "distance_from_pm_high_pct": 0.41,
      "extension_from_vwap_pct": -0.13,
      "spread_pct": 0.08
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 13.31,
    "pm_low": 13.25
  },
  {
    "symbol": "NOMD",
    "total_score": 40.82,
    "raw_score": 43.27,
    "breakdown": {
      "price_quality": 3.06,
      "volume_quality": 10.14,
      "rvol": 0.41,
      "volume_acceleration": 4.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.86,
      "spread_liquidity": 4.72,
      "momentum_consistency": 2.04,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.942,
      "vwap": 11.9483,
      "vwap_slope": -0.0016,
      "rvol": 0.17,
      "volume_acceleration": 1.46,
      "premarket_volume": 84526.0,
      "momentum_pct": -0.03,
      "consolidation_tightness_pct": 0.29,
      "distance_from_pm_high_pct": 0.19,
      "extension_from_vwap_pct": -0.05,
      "spread_pct": 0.08
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 11.965,
    "pm_low": 11.93
  },
  {
    "symbol": "AMPL",
    "total_score": 40.62,
    "raw_score": 43.05,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 0.79,
      "volume_acceleration": 2.97,
      "price_momentum": 0.26,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.23,
      "spread_liquidity": 4.77,
      "momentum_consistency": 3.14,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.375,
      "vwap": 14.4333,
      "vwap_slope": -0.0155,
      "rvol": 0.33,
      "volume_acceleration": 0.85,
      "premarket_volume": 163955.0,
      "momentum_pct": 0.17,
      "consolidation_tightness_pct": 0.45,
      "distance_from_pm_high_pct": 1.03,
      "extension_from_vwap_pct": -0.4,
      "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.525,
    "pm_low": 14.335
  },
  {
    "symbol": "NUVB",
    "total_score": 40.44,
    "raw_score": 42.87,
    "breakdown": {
      "price_quality": 1.67,
      "volume_quality": 12.0,
      "rvol": 1.78,
      "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.39,
      "spread_liquidity": 4.5,
      "momentum_consistency": 1.66,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.675,
      "vwap": 6.6873,
      "vwap_slope": -0.0014,
      "rvol": 0.74,
      "volume_acceleration": 0.99,
      "premarket_volume": 371111.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.12,
      "distance_from_pm_high_pct": 0.81,
      "extension_from_vwap_pct": -0.18,
      "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.7295,
    "pm_low": 6.64
  },
  {
    "symbol": "SLS",
    "total_score": 40.44,
    "raw_score": 42.87,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 2.24,
      "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.61,
      "spread_liquidity": 4.76,
      "momentum_consistency": 2.76,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.709,
      "vwap": 13.7197,
      "vwap_slope": -0.0022,
      "rvol": 0.93,
      "volume_acceleration": 0.46,
      "premarket_volume": 465736.0,
      "momentum_pct": -0.01,
      "consolidation_tightness_pct": 0.07,
      "distance_from_pm_high_pct": 0.52,
      "extension_from_vwap_pct": -0.08,
      "spread_pct": 0.07
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 13.78,
    "pm_low": 13.7
  },
  {
    "symbol": "OPFI",
    "total_score": 40.37,
    "raw_score": 42.79,
    "breakdown": {
      "price_quality": 2.14,
      "volume_quality": 4.93,
      "rvol": 0.2,
      "volume_acceleration": 3.36,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.79,
      "spread_liquidity": 4.53,
      "momentum_consistency": 2.24,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.14,
      "vwap": 7.1401,
      "vwap_slope": 0.0013,
      "rvol": 0.08,
      "volume_acceleration": 0.97,
      "premarket_volume": 41113.0,
      "momentum_pct": -0.07,
      "consolidation_tightness_pct": 0.13,
      "distance_from_pm_high_pct": 0.28,
      "extension_from_vwap_pct": -0.0,
      "spread_pct": 0.14
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": true
    },
    "pm_high": 7.16,
    "pm_low": 7.1268
  },
  {
    "symbol": "SECZ",
    "total_score": 40.28,
    "raw_score": 42.7,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 0.57,
      "volume_acceleration": 3.93,
      "price_momentum": 0.24,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.29,
      "spread_liquidity": 3.94,
      "momentum_consistency": 2.83,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.29,
      "vwap": 6.2987,
      "vwap_slope": -0.0059,
      "rvol": 0.24,
      "volume_acceleration": 1.13,
      "premarket_volume": 118836.0,
      "momentum_pct": 0.16,
      "consolidation_tightness_pct": 0.16,
      "distance_from_pm_high_pct": 0.94,
      "extension_from_vwap_pct": -0.14,
      "spread_pct": 0.32
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 6.35,
    "pm_low": 6.26
  },
  {
    "symbol": "AES",
    "total_score": 40.22,
    "raw_score": 42.63,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 1.94,
      "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.97,
      "spread_liquidity": 4.77,
      "momentum_consistency": 1.93,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.715,
      "vwap": 14.7157,
      "vwap_slope": -0.0002,
      "rvol": 0.81,
      "volume_acceleration": 0.61,
      "premarket_volume": 404504.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.07,
      "distance_from_pm_high_pct": 0.03,
      "extension_from_vwap_pct": -0.01,
      "spread_pct": 0.07
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 14.72,
    "pm_low": 14.71
  },
  {
    "symbol": "ALMU",
    "total_score": 40.21,
    "raw_score": 42.63,
    "breakdown": {
      "price_quality": 1.86,
      "volume_quality": 3.34,
      "rvol": 0.13,
      "volume_acceleration": 5.51,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.32,
      "spread_liquidity": 3.48,
      "momentum_consistency": 3.38,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.14,
      "vwap": 13.174,
      "vwap_slope": 0.0029,
      "rvol": 0.06,
      "volume_acceleration": 1.55,
      "premarket_volume": 27871.0,
      "momentum_pct": -0.23,
      "consolidation_tightness_pct": 0.27,
      "distance_from_pm_high_pct": 0.9,
      "extension_from_vwap_pct": -0.26,
      "spread_pct": 0.46
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": true
    },
    "pm_high": 13.26,
    "pm_low": 13.11
  },
  {
    "symbol": "LXU",
    "total_score": 40.18,
    "raw_score": 42.59,
    "breakdown": {
      "price_quality": 4.65,
      "volume_quality": 3.48,
      "rvol": 0.14,
      "volume_acceleration": 1.84,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.78,
      "spread_liquidity": 4.03,
      "momentum_consistency": 3.06,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.345,
      "vwap": 10.3607,
      "vwap_slope": 0.002,
      "rvol": 0.06,
      "volume_acceleration": 1.18,
      "premarket_volume": 29032.0,
      "momentum_pct": -0.14,
      "consolidation_tightness_pct": 0.24,
      "distance_from_pm_high_pct": 0.29,
      "extension_from_vwap_pct": -0.15,
      "spread_pct": 0.29
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": true
    },
    "pm_high": 10.375,
    "pm_low": 10.34
  },
  {
    "symbol": "COUR",
    "total_score": 40.16,
    "raw_score": 42.57,
    "breakdown": {
      "price_quality": 1.54,
      "volume_quality": 12.0,
      "rvol": 2.0,
      "volume_acceleration": 2.59,
      "price_momentum": 0.11,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.77,
      "spread_liquidity": 4.49,
      "momentum_consistency": 1.66,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.535,
      "vwap": 6.5397,
      "vwap_slope": -0.0013,
      "rvol": 0.84,
      "volume_acceleration": 0.75,
      "premarket_volume": 417639.0,
      "momentum_pct": 0.08,
      "consolidation_tightness_pct": 0.23,
      "distance_from_pm_high_pct": 0.31,
      "extension_from_vwap_pct": -0.07,
      "spread_pct": 0.15
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 6.555,
    "pm_low": 6.525
  },
  {
    "symbol": "CTOS",
    "total_score": 40.12,
    "raw_score": 42.53,
    "breakdown": {
      "price_quality": 4.11,
      "volume_quality": 12.0,
      "rvol": 0.48,
      "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.35,
      "spread_liquidity": 4.63,
      "momentum_consistency": 1.83,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.105,
      "vwap": 9.1532,
      "vwap_slope": -0.0068,
      "rvol": 0.2,
      "volume_acceleration": 0.5,
      "premarket_volume": 100038.0,
      "momentum_pct": -0.11,
      "consolidation_tightness_pct": 0.16,
      "distance_from_pm_high_pct": 0.87,
      "extension_from_vwap_pct": -0.53,
      "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.185,
    "pm_low": 9.105
  },
  {
    "symbol": "SHLS",
    "total_score": 39.93,
    "raw_score": 42.32,
    "breakdown": {
      "price_quality": 2.17,
      "volume_quality": 12.0,
      "rvol": 1.5,
      "volume_acceleration": 2.44,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.48,
      "spread_liquidity": 4.54,
      "momentum_consistency": 1.79,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.175,
      "vwap": 7.1807,
      "vwap_slope": -0.0021,
      "rvol": 0.62,
      "volume_acceleration": 1.24,
      "premarket_volume": 311522.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.14,
      "distance_from_pm_high_pct": 0.69,
      "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": false
    },
    "pm_high": 7.225,
    "pm_low": 7.125
  },
  {
    "symbol": "HELP",
    "total_score": 39.81,
    "raw_score": 42.2,
    "breakdown": {
      "price_quality": 2.81,
      "volume_quality": 10.01,
      "rvol": 0.4,
      "volume_acceleration": 3.55,
      "price_momentum": 0.31,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.32,
      "spread_liquidity": 4.45,
      "momentum_consistency": 2.94,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.185,
      "vwap": 12.2082,
      "vwap_slope": -0.016,
      "rvol": 0.17,
      "volume_acceleration": 1.02,
      "premarket_volume": 83388.0,
      "momentum_pct": 0.21,
      "consolidation_tightness_pct": 0.33,
      "distance_from_pm_high_pct": 0.9,
      "extension_from_vwap_pct": -0.19,
      "spread_pct": 0.16
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 12.296,
    "pm_low": 12.15
  },
  {
    "symbol": "STUB",
    "total_score": 39.71,
    "raw_score": 42.09,
    "breakdown": {
      "price_quality": 1.58,
      "volume_quality": 12.0,
      "rvol": 1.72,
      "volume_acceleration": 3.67,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.27,
      "spread_liquidity": 4.49,
      "momentum_consistency": 0.97,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.585,
      "vwap": 6.6022,
      "vwap_slope": -0.0077,
      "rvol": 0.72,
      "volume_acceleration": 1.05,
      "premarket_volume": 357519.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.53,
      "distance_from_pm_high_pct": 0.98,
      "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": 6.65,
    "pm_low": 6.555
  },
  {
    "symbol": "NEXT",
    "total_score": 39.71,
    "raw_score": 42.09,
    "breakdown": {
      "price_quality": 2.36,
      "volume_quality": 12.0,
      "rvol": 0.83,
      "volume_acceleration": 3.58,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 4.85,
      "spread_liquidity": 4.55,
      "momentum_consistency": 1.54,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.355,
      "vwap": 7.4273,
      "vwap_slope": -0.0211,
      "rvol": 0.35,
      "volume_acceleration": 1.03,
      "premarket_volume": 173272.0,
      "momentum_pct": -0.07,
      "consolidation_tightness_pct": 0.27,
      "distance_from_pm_high_pct": 1.54,
      "extension_from_vwap_pct": -0.97,
      "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.47,
    "pm_low": 7.355
  },
  {
    "symbol": "ATEC",
    "total_score": 39.68,
    "raw_score": 42.06,
    "breakdown": {
      "price_quality": 4.45,
      "volume_quality": 9.23,
      "rvol": 0.37,
      "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.68,
      "spread_liquidity": 4.65,
      "momentum_consistency": 2.5,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.445,
      "vwap": 9.4518,
      "vwap_slope": -0.0045,
      "rvol": 0.15,
      "volume_acceleration": 1.28,
      "premarket_volume": 76915.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.16,
      "distance_from_pm_high_pct": 0.42,
      "extension_from_vwap_pct": -0.07,
      "spread_pct": 0.11
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 9.485,
    "pm_low": 9.425
  },
  {
    "symbol": "UTZ",
    "total_score": 39.66,
    "raw_score": 42.04,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 3.99,
      "rvol": 0.16,
      "volume_acceleration": 3.53,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.95,
      "spread_liquidity": 4.77,
      "momentum_consistency": 2.55,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.21,
      "vwap": 14.2133,
      "vwap_slope": 0.0006,
      "rvol": 0.07,
      "volume_acceleration": 1.02,
      "premarket_volume": 33243.0,
      "momentum_pct": -0.06,
      "consolidation_tightness_pct": 0.06,
      "distance_from_pm_high_pct": 0.07,
      "extension_from_vwap_pct": -0.02,
      "spread_pct": 0.07
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": true
    },
    "pm_high": 14.2199,
    "pm_low": 14.21
  },
  {
    "symbol": "XPOF",
    "total_score": 39.63,
    "raw_score": 42.01,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 3.46,
      "rvol": 0.14,
      "volume_acceleration": 5.75,
      "price_momentum": 0.14,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.72,
      "spread_liquidity": 3.77,
      "momentum_consistency": 1.92,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.42,
      "vwap": 5.4211,
      "vwap_slope": 0.0006,
      "rvol": 0.06,
      "volume_acceleration": 1.58,
      "premarket_volume": 28868.0,
      "momentum_pct": 0.09,
      "consolidation_tightness_pct": 0.34,
      "distance_from_pm_high_pct": 0.37,
      "extension_from_vwap_pct": -0.02,
      "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": 5.44,
    "pm_low": 5.405
  },
  {
    "symbol": "IMMX",
    "total_score": 39.6,
    "raw_score": 41.98,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 10.33,
      "rvol": 0.41,
      "volume_acceleration": 4.42,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.3,
      "spread_liquidity": 4.28,
      "momentum_consistency": 3.33,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.86,
      "vwap": 13.9332,
      "vwap_slope": -0.0137,
      "rvol": 0.17,
      "volume_acceleration": 1.44,
      "premarket_volume": 86098.0,
      "momentum_pct": -0.22,
      "consolidation_tightness_pct": 0.47,
      "distance_from_pm_high_pct": 0.93,
      "extension_from_vwap_pct": -0.53,
      "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.99,
    "pm_low": 13.85
  },
  {
    "symbol": "GPRE",
    "total_score": 39.57,
    "raw_score": 41.95,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 1.52,
      "volume_acceleration": 1.73,
      "price_momentum": 0.31,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.04,
      "spread_liquidity": 4.31,
      "momentum_consistency": 3.14,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.42,
      "vwap": 14.4707,
      "vwap_slope": -0.0046,
      "rvol": 0.63,
      "volume_acceleration": 0.5,
      "premarket_volume": 316328.0,
      "momentum_pct": 0.21,
      "consolidation_tightness_pct": 0.35,
      "distance_from_pm_high_pct": 1.27,
      "extension_from_vwap_pct": -0.35,
      "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.6062,
    "pm_low": 14.295
  },
  {
    "symbol": "TIC",
    "total_score": 39.57,
    "raw_score": 41.94,
    "breakdown": {
      "price_quality": 4.53,
      "volume_quality": 8.21,
      "rvol": 0.33,
      "volume_acceleration": 3.81,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.73,
      "spread_liquidity": 4.65,
      "momentum_consistency": 2.29,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.53,
      "vwap": 9.5502,
      "vwap_slope": -0.0018,
      "rvol": 0.14,
      "volume_acceleration": 1.1,
      "premarket_volume": 68427.0,
      "momentum_pct": -0.0,
      "consolidation_tightness_pct": 0.22,
      "distance_from_pm_high_pct": 0.37,
      "extension_from_vwap_pct": -0.21,
      "spread_pct": 0.1
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 9.565,
    "pm_low": 9.53
  },
  {
    "symbol": "DC",
    "total_score": 39.51,
    "raw_score": 41.88,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 0.57,
      "volume_acceleration": 3.1,
      "price_momentum": 0.13,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.56,
      "spread_liquidity": 4.44,
      "momentum_consistency": 2.18,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.975,
      "vwap": 5.9815,
      "vwap_slope": -0.0034,
      "rvol": 0.24,
      "volume_acceleration": 1.31,
      "premarket_volume": 119162.0,
      "momentum_pct": 0.08,
      "consolidation_tightness_pct": 0.33,
      "distance_from_pm_high_pct": 0.58,
      "extension_from_vwap_pct": -0.11,
      "spread_pct": 0.17
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 6.01,
    "pm_low": 5.965
  },
  {
    "symbol": "PD",
    "total_score": 39.5,
    "raw_score": 41.87,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 1.35,
      "volume_acceleration": 2.52,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 4.92,
      "spread_liquidity": 3.78,
      "momentum_consistency": 3.39,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.71,
      "vwap": 13.8049,
      "vwap_slope": -0.0077,
      "rvol": 0.56,
      "volume_acceleration": 1.25,
      "premarket_volume": 280959.0,
      "momentum_pct": -0.87,
      "consolidation_tightness_pct": 1.16,
      "distance_from_pm_high_pct": 1.44,
      "extension_from_vwap_pct": -0.69,
      "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": 13.91,
    "pm_low": 13.7
  },
  {
    "symbol": "WNC",
    "total_score": 39.36,
    "raw_score": 41.72,
    "breakdown": {
      "price_quality": 1.74,
      "volume_quality": 4.65,
      "rvol": 0.19,
      "volume_acceleration": 2.79,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.83,
      "spread_liquidity": 4.25,
      "momentum_consistency": 3.08,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.26,
      "vwap": 13.2475,
      "vwap_slope": -0.0181,
      "rvol": 0.08,
      "volume_acceleration": 1.28,
      "premarket_volume": 38716.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.08,
      "distance_from_pm_high_pct": 0.23,
      "extension_from_vwap_pct": 0.09,
      "spread_pct": 0.23
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 13.29,
    "pm_low": 13.21
  },
  {
    "symbol": "FOSL",
    "total_score": 39.24,
    "raw_score": 41.6,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 2.54,
      "rvol": 0.1,
      "volume_acceleration": 6.32,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.72,
      "spread_liquidity": 3.76,
      "momentum_consistency": 2.46,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.37,
      "vwap": 5.37,
      "vwap_slope": -0.0001,
      "rvol": 0.04,
      "volume_acceleration": 1.63,
      "premarket_volume": 21131.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.09,
      "distance_from_pm_high_pct": 0.37,
      "extension_from_vwap_pct": 0.0,
      "spread_pct": 0.37
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 5.3899,
    "pm_low": 5.36
  },
  {
    "symbol": "RBKB",
    "total_score": 39.12,
    "raw_score": 41.47,
    "breakdown": {
      "price_quality": 2.3,
      "volume_quality": 2.71,
      "rvol": 0.11,
      "volume_acceleration": 3.54,
      "price_momentum": 0.47,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.97,
      "spread_liquidity": 3.43,
      "momentum_consistency": 3.73,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.695,
      "vwap": 12.6681,
      "vwap_slope": -0.0175,
      "rvol": 0.05,
      "volume_acceleration": 1.02,
      "premarket_volume": 22610.0,
      "momentum_pct": 0.32,
      "consolidation_tightness_pct": 0.39,
      "distance_from_pm_high_pct": 0.04,
      "extension_from_vwap_pct": 0.21,
      "spread_pct": 0.47
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 12.7,
    "pm_low": 12.635
  },
  {
    "symbol": "INMD",
    "total_score": 39.1,
    "raw_score": 41.44,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 4.62,
      "rvol": 0.18,
      "volume_acceleration": 2.96,
      "price_momentum": 0.05,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.95,
      "spread_liquidity": 4.78,
      "momentum_consistency": 2.2,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.86,
      "vwap": 14.8575,
      "vwap_slope": -0.0006,
      "rvol": 0.08,
      "volume_acceleration": 0.85,
      "premarket_volume": 38508.0,
      "momentum_pct": 0.03,
      "consolidation_tightness_pct": 0.07,
      "distance_from_pm_high_pct": 0.07,
      "extension_from_vwap_pct": 0.02,
      "spread_pct": 0.07
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 14.87,
    "pm_low": 14.845
  },
  {
    "symbol": "SFL",
    "total_score": 39.06,
    "raw_score": 41.4,
    "breakdown": {
      "price_quality": 2.62,
      "volume_quality": 9.72,
      "rvol": 0.39,
      "volume_acceleration": 3.99,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.7,
      "spread_liquidity": 4.73,
      "momentum_consistency": 1.85,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.375,
      "vwap": 12.3931,
      "vwap_slope": -0.0049,
      "rvol": 0.16,
      "volume_acceleration": 1.15,
      "premarket_volume": 81018.0,
      "momentum_pct": -0.04,
      "consolidation_tightness_pct": 0.12,
      "distance_from_pm_high_pct": 0.4,
      "extension_from_vwap_pct": -0.15,
      "spread_pct": 0.08
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 12.425,
    "pm_low": 12.37
  },
  {
    "symbol": "XPER",
    "total_score": 39.02,
    "raw_score": 41.36,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 11.86,
      "rvol": 0.47,
      "volume_acceleration": 3.96,
      "price_momentum": 0.25,
      "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": 0.97,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.035,
      "vwap": 6.0527,
      "vwap_slope": -0.006,
      "rvol": 0.2,
      "volume_acceleration": 1.14,
      "premarket_volume": 98813.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": 6.075,
    "pm_low": 6.02
  },
  {
    "symbol": "ATAI",
    "total_score": 39.01,
    "raw_score": 41.35,
    "breakdown": {
      "price_quality": 2.34,
      "volume_quality": 12.0,
      "rvol": 0.98,
      "volume_acceleration": 1.54,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.85,
      "spread_liquidity": 4.55,
      "momentum_consistency": 1.68,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.345,
      "vwap": 7.3491,
      "vwap_slope": -0.0007,
      "rvol": 0.41,
      "volume_acceleration": 0.44,
      "premarket_volume": 204778.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.07,
      "distance_from_pm_high_pct": 0.2,
      "extension_from_vwap_pct": -0.06,
      "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.36,
    "pm_low": 7.34
  },
  {
    "symbol": "IHS",
    "total_score": 39.01,
    "raw_score": 41.35,
    "breakdown": {
      "price_quality": 3.36,
      "volume_quality": 4.9,
      "rvol": 0.2,
      "volume_acceleration": 2.29,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 6,
      "spread_liquidity": 4.6,
      "momentum_consistency": 0.8,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.355,
      "vwap": 8.3543,
      "vwap_slope": -0.0,
      "rvol": 0.08,
      "volume_acceleration": 0.66,
      "premarket_volume": 40871.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.06,
      "distance_from_pm_high_pct": 0.0,
      "extension_from_vwap_pct": 0.01,
      "spread_pct": 0.12
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 8.355,
    "pm_low": 8.35
  },
  {
    "symbol": "ADTN",
    "total_score": 38.97,
    "raw_score": 41.31,
    "breakdown": {
      "price_quality": 2.71,
      "volume_quality": 12.0,
      "rvol": 0.57,
      "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.76,
      "spread_liquidity": 4.57,
      "momentum_consistency": 1.79,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.71,
      "vwap": 7.7151,
      "vwap_slope": -0.0026,
      "rvol": 0.24,
      "volume_acceleration": 1.15,
      "premarket_volume": 119017.0,
      "momentum_pct": -0.06,
      "consolidation_tightness_pct": 0.13,
      "distance_from_pm_high_pct": 0.32,
      "extension_from_vwap_pct": -0.07,
      "spread_pct": 0.13
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 7.735,
    "pm_low": 7.695
  },
  {
    "symbol": "ULCC",
    "total_score": 38.95,
    "raw_score": 41.28,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 0.67,
      "volume_acceleration": 3.24,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.36,
      "spread_liquidity": 4.43,
      "momentum_consistency": 1.68,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.89,
      "vwap": 5.9103,
      "vwap_slope": -0.0018,
      "rvol": 0.28,
      "volume_acceleration": 0.93,
      "premarket_volume": 140518.0,
      "momentum_pct": -0.25,
      "consolidation_tightness_pct": 0.34,
      "distance_from_pm_high_pct": 0.86,
      "extension_from_vwap_pct": -0.34,
      "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.941,
    "pm_low": 5.89
  },
  {
    "symbol": "LCID",
    "total_score": 38.94,
    "raw_score": 41.28,
    "breakdown": {
      "price_quality": 0.0,
      "volume_quality": 12.0,
      "rvol": 2.41,
      "volume_acceleration": 3.09,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.4,
      "spread_liquidity": 4.33,
      "momentum_consistency": 1.66,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 4.955,
      "vwap": 4.9671,
      "vwap_slope": -0.0018,
      "rvol": 1.0,
      "volume_acceleration": 0.89,
      "premarket_volume": 501117.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.2,
      "distance_from_pm_high_pct": 0.8,
      "extension_from_vwap_pct": -0.24,
      "spread_pct": 0.2
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 4.995,
    "pm_low": 4.95
  },
  {
    "symbol": "VELO",
    "total_score": 38.93,
    "raw_score": 41.26,
    "breakdown": {
      "price_quality": 3.23,
      "volume_quality": 9.04,
      "rvol": 0.36,
      "volume_acceleration": 3.17,
      "price_momentum": 0.06,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.4,
      "spread_liquidity": 4.72,
      "momentum_consistency": 2.88,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.765,
      "vwap": 11.8089,
      "vwap_slope": -0.0112,
      "rvol": 0.15,
      "volume_acceleration": 0.91,
      "premarket_volume": 75341.0,
      "momentum_pct": 0.04,
      "consolidation_tightness_pct": 0.17,
      "distance_from_pm_high_pct": 0.8,
      "extension_from_vwap_pct": -0.37,
      "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.75
  },
  {
    "symbol": "LWLG",
    "total_score": 38.92,
    "raw_score": 41.26,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 0.93,
      "volume_acceleration": 2.38,
      "price_momentum": 0.14,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 4.99,
      "spread_liquidity": 4.39,
      "momentum_consistency": 2.53,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.485,
      "vwap": 5.5097,
      "vwap_slope": -0.0078,
      "rvol": 0.39,
      "volume_acceleration": 1.24,
      "premarket_volume": 194620.0,
      "momentum_pct": 0.09,
      "consolidation_tightness_pct": 0.36,
      "distance_from_pm_high_pct": 1.35,
      "extension_from_vwap_pct": -0.45,
      "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.56,
    "pm_low": 5.47
  },
  {
    "symbol": "BKKT",
    "total_score": 38.89,
    "raw_score": 41.23,
    "breakdown": {
      "price_quality": 2.71,
      "volume_quality": 10.69,
      "rvol": 0.43,
      "volume_acceleration": 2.54,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.45,
      "spread_liquidity": 4.13,
      "momentum_consistency": 2.87,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.7083,
      "vwap": 7.7147,
      "vwap_slope": -0.004,
      "rvol": 0.18,
      "volume_acceleration": 1.25,
      "premarket_volume": 89119.0,
      "momentum_pct": -0.02,
      "consolidation_tightness_pct": 0.39,
      "distance_from_pm_high_pct": 0.73,
      "extension_from_vwap_pct": -0.08,
      "spread_pct": 0.26
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 7.765,
    "pm_low": 7.68
  },
  {
    "symbol": "XMAX",
    "total_score": 38.81,
    "raw_score": 41.14,
    "breakdown": {
      "price_quality": 3.95,
      "volume_quality": 4.46,
      "rvol": 0.18,
      "volume_acceleration": 0.56,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.71,
      "spread_liquidity": 4.25,
      "momentum_consistency": 2.43,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.95,
      "vwap": 8.958,
      "vwap_slope": 0.0003,
      "rvol": 0.07,
      "volume_acceleration": 0.16,
      "premarket_volume": 37154.0,
      "momentum_pct": -0.11,
      "consolidation_tightness_pct": 0.11,
      "distance_from_pm_high_pct": 0.39,
      "extension_from_vwap_pct": -0.09,
      "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": 8.985,
    "pm_low": 8.94
  },
  {
    "symbol": "CWK",
    "total_score": 38.8,
    "raw_score": 41.13,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 0.51,
      "volume_acceleration": 2.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.5,
      "spread_liquidity": 4.77,
      "momentum_consistency": 2.12,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.235,
      "vwap": 14.2567,
      "vwap_slope": -0.0057,
      "rvol": 0.21,
      "volume_acceleration": 1.23,
      "premarket_volume": 105650.0,
      "momentum_pct": -0.04,
      "consolidation_tightness_pct": 0.14,
      "distance_from_pm_high_pct": 0.66,
      "extension_from_vwap_pct": -0.15,
      "spread_pct": 0.07
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 14.33,
    "pm_low": 14.22
  },
  {
    "symbol": "DAIC",
    "total_score": 38.79,
    "raw_score": 41.11,
    "breakdown": {
      "price_quality": 0.0,
      "volume_quality": 12.0,
      "rvol": 0.53,
      "volume_acceleration": 2.94,
      "price_momentum": 1.28,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 4.29,
      "spread_liquidity": 3.59,
      "momentum_consistency": 4.08,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 4.72,
      "vwap": 4.7583,
      "vwap_slope": -0.0129,
      "rvol": 0.22,
      "volume_acceleration": 0.85,
      "premarket_volume": 111129.0,
      "momentum_pct": 0.85,
      "consolidation_tightness_pct": 1.81,
      "distance_from_pm_high_pct": 2.28,
      "extension_from_vwap_pct": -0.8,
      "spread_pct": 0.42
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 4.83,
    "pm_low": 4.66
  },
  {
    "symbol": "AVPT",
    "total_score": 38.78,
    "raw_score": 41.11,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 10.31,
      "rvol": 0.41,
      "volume_acceleration": 3.01,
      "price_momentum": 0.05,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.47,
      "spread_liquidity": 4.76,
      "momentum_consistency": 3.2,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.04,
      "vwap": 14.0687,
      "vwap_slope": -0.0098,
      "rvol": 0.17,
      "volume_acceleration": 0.86,
      "premarket_volume": 85897.0,
      "momentum_pct": 0.04,
      "consolidation_tightness_pct": 0.11,
      "distance_from_pm_high_pct": 0.71,
      "extension_from_vwap_pct": -0.2,
      "spread_pct": 0.07
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 14.14,
    "pm_low": 14.025
  },
  {
    "symbol": "FRNM",
    "total_score": 38.74,
    "raw_score": 41.06,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 1.6,
      "volume_acceleration": 1.23,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 4.91,
      "spread_liquidity": 3.43,
      "momentum_consistency": 4.0,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.87,
      "vwap": 14.9783,
      "vwap_slope": -0.0001,
      "rvol": 0.67,
      "volume_acceleration": 0.35,
      "premarket_volume": 332792.0,
      "momentum_pct": -0.77,
      "consolidation_tightness_pct": 1.24,
      "distance_from_pm_high_pct": 1.46,
      "extension_from_vwap_pct": -0.72,
      "spread_pct": 0.47
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 15.09,
    "pm_low": 14.76
  },
  {
    "symbol": "WVE",
    "total_score": 38.7,
    "raw_score": 41.02,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 0.63,
      "volume_acceleration": 3.0,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.49,
      "spread_liquidity": 4.34,
      "momentum_consistency": 1.66,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.08,
      "vwap": 5.0908,
      "vwap_slope": -0.0018,
      "rvol": 0.26,
      "volume_acceleration": 1.3,
      "premarket_volume": 131286.0,
      "momentum_pct": -0.1,
      "consolidation_tightness_pct": 0.1,
      "distance_from_pm_high_pct": 0.68,
      "extension_from_vwap_pct": -0.21,
      "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.115,
    "pm_low": 5.075
  },
  {
    "symbol": "BHC",
    "total_score": 38.45,
    "raw_score": 40.76,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 0.49,
      "volume_acceleration": 2.13,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.59,
      "spread_liquidity": 4.47,
      "momentum_consistency": 2.18,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.315,
      "vwap": 6.3297,
      "vwap_slope": -0.0042,
      "rvol": 0.2,
      "volume_acceleration": 1.21,
      "premarket_volume": 101213.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.08,
      "distance_from_pm_high_pct": 0.55,
      "extension_from_vwap_pct": -0.23,
      "spread_pct": 0.16
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 6.35,
    "pm_low": 6.31
  },
  {
    "symbol": "RMNI",
    "total_score": 38.34,
    "raw_score": 40.64,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 0.67,
      "volume_acceleration": 2.26,
      "price_momentum": 0.13,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.2,
      "spread_liquidity": 4.4,
      "momentum_consistency": 2.08,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.575,
      "vwap": 5.5994,
      "vwap_slope": -0.0025,
      "rvol": 0.28,
      "volume_acceleration": 1.23,
      "premarket_volume": 138778.0,
      "momentum_pct": 0.09,
      "consolidation_tightness_pct": 0.18,
      "distance_from_pm_high_pct": 1.06,
      "extension_from_vwap_pct": -0.44,
      "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.635,
    "pm_low": 5.57
  },
  {
    "symbol": "FWRG",
    "total_score": 38.31,
    "raw_score": 40.61,
    "breakdown": {
      "price_quality": 2.36,
      "volume_quality": 5.33,
      "rvol": 0.21,
      "volume_acceleration": 6.43,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.79,
      "spread_liquidity": 4.74,
      "momentum_consistency": 3.35,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.64,
      "vwap": 12.6438,
      "vwap_slope": -0.0052,
      "rvol": 0.09,
      "volume_acceleration": 1.64,
      "premarket_volume": 44383.0,
      "momentum_pct": -0.04,
      "consolidation_tightness_pct": 0.08,
      "distance_from_pm_high_pct": 0.28,
      "extension_from_vwap_pct": -0.03,
      "spread_pct": 0.08
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 12.675,
    "pm_low": 12.61
  },
  {
    "symbol": "VERX",
    "total_score": 38.08,
    "raw_score": 40.36,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 10.04,
      "rvol": 0.4,
      "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.43,
      "spread_liquidity": 4.77,
      "momentum_consistency": 2.78,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.265,
      "vwap": 14.3168,
      "vwap_slope": -0.0104,
      "rvol": 0.17,
      "volume_acceleration": 0.88,
      "premarket_volume": 83639.0,
      "momentum_pct": -0.07,
      "consolidation_tightness_pct": 0.21,
      "distance_from_pm_high_pct": 0.77,
      "extension_from_vwap_pct": -0.36,
      "spread_pct": 0.07
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 14.375,
    "pm_low": 14.25
  },
  {
    "symbol": "LTRX",
    "total_score": 38.08,
    "raw_score": 40.36,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 0.65,
      "volume_acceleration": 1.79,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.72,
      "spread_liquidity": 4.39,
      "momentum_consistency": 1.91,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.43,
      "vwap": 5.4351,
      "vwap_slope": -0.0008,
      "rvol": 0.27,
      "volume_acceleration": 0.51,
      "premarket_volume": 135552.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.18,
      "distance_from_pm_high_pct": 0.37,
      "extension_from_vwap_pct": -0.09,
      "spread_pct": 0.18
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 5.45,
    "pm_low": 5.43
  },
  {
    "symbol": "MDWD",
    "total_score": 38.07,
    "raw_score": 40.36,
    "breakdown": {
      "price_quality": 2.34,
      "volume_quality": 2.91,
      "rvol": 0.12,
      "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.62,
      "spread_liquidity": 3.95,
      "momentum_consistency": 2.91,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.66,
      "vwap": 12.6621,
      "vwap_slope": -0.0153,
      "rvol": 0.05,
      "volume_acceleration": 2.67,
      "premarket_volume": 24230.0,
      "momentum_pct": 0.08,
      "consolidation_tightness_pct": 0.36,
      "distance_from_pm_high_pct": 0.51,
      "extension_from_vwap_pct": -0.02,
      "spread_pct": 0.32
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 12.725,
    "pm_low": 12.64
  },
  {
    "symbol": "SVCO",
    "total_score": 37.93,
    "raw_score": 40.2,
    "breakdown": {
      "price_quality": 1.92,
      "volume_quality": 6.02,
      "rvol": 0.24,
      "volume_acceleration": 10,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 4.2,
      "spread_liquidity": 2.59,
      "momentum_consistency": 2.82,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.92,
      "vwap": 7.0146,
      "vwap_slope": -0.0061,
      "rvol": 0.1,
      "volume_acceleration": 3.67,
      "premarket_volume": 50201.0,
      "momentum_pct": -0.29,
      "consolidation_tightness_pct": 1.01,
      "distance_from_pm_high_pct": 2.4,
      "extension_from_vwap_pct": -1.35,
      "spread_pct": 0.72
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 7.09,
    "pm_low": 6.92
  },
  {
    "symbol": "SLDB",
    "total_score": 37.8,
    "raw_score": 40.07,
    "breakdown": {
      "price_quality": 4.78,
      "volume_quality": 7.1,
      "rvol": 0.28,
      "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.58,
      "spread_liquidity": 4.66,
      "momentum_consistency": 2.81,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.775,
      "vwap": 9.7958,
      "vwap_slope": -0.0051,
      "rvol": 0.12,
      "volume_acceleration": 1.25,
      "premarket_volume": 59154.0,
      "momentum_pct": -0.1,
      "consolidation_tightness_pct": 0.26,
      "distance_from_pm_high_pct": 0.56,
      "extension_from_vwap_pct": -0.21,
      "spread_pct": 0.1
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 9.83,
    "pm_low": 9.765
  },
  {
    "symbol": "FISN",
    "total_score": 37.62,
    "raw_score": 39.88,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 4.83,
      "rvol": 0.19,
      "volume_acceleration": 3.02,
      "price_momentum": 1.63,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 4.98,
      "spread_liquidity": 1.94,
      "momentum_consistency": 2.59,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.5,
      "vwap": 6.4969,
      "vwap_slope": -0.0099,
      "rvol": 0.08,
      "volume_acceleration": 0.87,
      "premarket_volume": 40258.0,
      "momentum_pct": 1.09,
      "consolidation_tightness_pct": 2.01,
      "distance_from_pm_high_pct": 1.37,
      "extension_from_vwap_pct": 0.05,
      "spread_pct": 0.92
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 6.59,
    "pm_low": 6.42
  },
  {
    "symbol": "CARS",
    "total_score": 37.59,
    "raw_score": 39.84,
    "breakdown": {
      "price_quality": 3.14,
      "volume_quality": 3.6,
      "rvol": 0.14,
      "volume_acceleration": 7.96,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.81,
      "spread_liquidity": 4.44,
      "momentum_consistency": 2.35,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.86,
      "vwap": 11.8684,
      "vwap_slope": -0.0037,
      "rvol": 0.06,
      "volume_acceleration": 1.8,
      "premarket_volume": 29982.0,
      "momentum_pct": -0.0,
      "consolidation_tightness_pct": 0.21,
      "distance_from_pm_high_pct": 0.25,
      "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": false
    },
    "pm_high": 11.89,
    "pm_low": 11.85
  },
  {
    "symbol": "DNA",
    "total_score": 37.38,
    "raw_score": 39.62,
    "breakdown": {
      "price_quality": 1.93,
      "volume_quality": 9.66,
      "rvol": 0.39,
      "volume_acceleration": 3.08,
      "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.04,
      "momentum_consistency": 2.45,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.93,
      "vwap": 6.9394,
      "vwap_slope": -0.0004,
      "rvol": 0.16,
      "volume_acceleration": 0.88,
      "premarket_volume": 80502.0,
      "momentum_pct": -0.22,
      "consolidation_tightness_pct": 0.29,
      "distance_from_pm_high_pct": 0.43,
      "extension_from_vwap_pct": -0.13,
      "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": 6.96,
    "pm_low": 6.92
  },
  {
    "symbol": "IMRX",
    "total_score": 37.25,
    "raw_score": 39.48,
    "breakdown": {
      "price_quality": 0.0,
      "volume_quality": 12.0,
      "rvol": 0.55,
      "volume_acceleration": 2.94,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 4.95,
      "spread_liquidity": 4.32,
      "momentum_consistency": 2.32,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 4.94,
      "vwap": 4.9794,
      "vwap_slope": -0.0025,
      "rvol": 0.23,
      "volume_acceleration": 0.85,
      "premarket_volume": 114252.0,
      "momentum_pct": -0.3,
      "consolidation_tightness_pct": 0.4,
      "distance_from_pm_high_pct": 1.4,
      "extension_from_vwap_pct": -0.79,
      "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.01,
    "pm_low": 4.94
  },
  {
    "symbol": "USDE",
    "total_score": 37.15,
    "raw_score": 39.38,
    "breakdown": {
      "price_quality": 2.0,
      "volume_quality": 12.0,
      "rvol": 0.87,
      "volume_acceleration": 3.67,
      "price_momentum": 0.61,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 4.07,
      "spread_liquidity": 0.69,
      "momentum_consistency": 3.08,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.995,
      "vwap": 7.0262,
      "vwap_slope": -0.0394,
      "rvol": 0.36,
      "volume_acceleration": 1.37,
      "premarket_volume": 181354.0,
      "momentum_pct": 0.41,
      "consolidation_tightness_pct": 1.29,
      "distance_from_pm_high_pct": 2.58,
      "extension_from_vwap_pct": -0.44,
      "spread_pct": 1.29
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 7.18,
    "pm_low": 6.905
  },
  {
    "symbol": "ANNX",
    "total_score": 37.14,
    "raw_score": 39.36,
    "breakdown": {
      "price_quality": 0.0,
      "volume_quality": 12.0,
      "rvol": 0.81,
      "volume_acceleration": 3.19,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.25,
      "spread_liquidity": 4.33,
      "momentum_consistency": 1.38,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 4.965,
      "vwap": 4.988,
      "vwap_slope": -0.0034,
      "rvol": 0.34,
      "volume_acceleration": 0.92,
      "premarket_volume": 168463.0,
      "momentum_pct": -0.2,
      "consolidation_tightness_pct": 0.3,
      "distance_from_pm_high_pct": 1.0,
      "extension_from_vwap_pct": -0.46,
      "spread_pct": 0.2
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 5.015,
    "pm_low": 4.965
  },
  {
    "symbol": "XERS",
    "total_score": 37.1,
    "raw_score": 39.33,
    "breakdown": {
      "price_quality": 3.46,
      "volume_quality": 6.75,
      "rvol": 0.27,
      "volume_acceleration": 2.93,
      "price_momentum": 0.09,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.87,
      "spread_liquidity": 4.61,
      "momentum_consistency": 2.96,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.46,
      "vwap": 8.461,
      "vwap_slope": -0.0012,
      "rvol": 0.11,
      "volume_acceleration": 0.84,
      "premarket_volume": 56213.0,
      "momentum_pct": 0.06,
      "consolidation_tightness_pct": 0.18,
      "distance_from_pm_high_pct": 0.18,
      "extension_from_vwap_pct": -0.01,
      "spread_pct": 0.12
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 8.475,
    "pm_low": 8.445
  },
  {
    "symbol": "GDYN",
    "total_score": 36.9,
    "raw_score": 39.12,
    "breakdown": {
      "price_quality": 2.93,
      "volume_quality": 9.4,
      "rvol": 0.38,
      "volume_acceleration": 1.81,
      "price_momentum": 0.09,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.67,
      "spread_liquidity": 4.58,
      "momentum_consistency": 1.86,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.93,
      "vwap": 7.9399,
      "vwap_slope": -0.0025,
      "rvol": 0.16,
      "volume_acceleration": 1.18,
      "premarket_volume": 78344.0,
      "momentum_pct": 0.06,
      "consolidation_tightness_pct": 0.19,
      "distance_from_pm_high_pct": 0.44,
      "extension_from_vwap_pct": -0.13,
      "spread_pct": 0.13
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 7.965,
    "pm_low": 7.925
  },
  {
    "symbol": "BHK",
    "total_score": 36.88,
    "raw_score": 39.09,
    "breakdown": {
      "price_quality": 4.06,
      "volume_quality": 2.46,
      "rvol": 0.1,
      "volume_acceleration": 0.48,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.92,
      "spread_liquidity": 4.63,
      "momentum_consistency": 1.85,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.06,
      "vwap": 9.0639,
      "vwap_slope": 0.0003,
      "rvol": 0.04,
      "volume_acceleration": 0.14,
      "premarket_volume": 20484.0,
      "momentum_pct": -0.06,
      "consolidation_tightness_pct": 0.11,
      "distance_from_pm_high_pct": 0.11,
      "extension_from_vwap_pct": -0.04,
      "spread_pct": 0.11
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": true
    },
    "pm_high": 9.07,
    "pm_low": 9.06
  },
  {
    "symbol": "ARVN",
    "total_score": 36.85,
    "raw_score": 39.06,
    "breakdown": {
      "price_quality": 4.08,
      "volume_quality": 7.08,
      "rvol": 0.28,
      "volume_acceleration": 3.0,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.55,
      "spread_liquidity": 4.27,
      "momentum_consistency": 2.4,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.08,
      "vwap": 9.1039,
      "vwap_slope": -0.0042,
      "rvol": 0.12,
      "volume_acceleration": 0.86,
      "premarket_volume": 58993.0,
      "momentum_pct": -0.33,
      "consolidation_tightness_pct": 0.33,
      "distance_from_pm_high_pct": 0.6,
      "extension_from_vwap_pct": -0.26,
      "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.135,
    "pm_low": 9.07
  },
  {
    "symbol": "WLTH",
    "total_score": 36.59,
    "raw_score": 38.79,
    "breakdown": {
      "price_quality": 4.23,
      "volume_quality": 5.73,
      "rvol": 0.23,
      "volume_acceleration": 4.23,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.72,
      "spread_liquidity": 4.64,
      "momentum_consistency": 1.6,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.235,
      "vwap": 9.2547,
      "vwap_slope": -0.001,
      "rvol": 0.1,
      "volume_acceleration": 1.42,
      "premarket_volume": 47781.0,
      "momentum_pct": -0.27,
      "consolidation_tightness_pct": 0.27,
      "distance_from_pm_high_pct": 0.38,
      "extension_from_vwap_pct": -0.21,
      "spread_pct": 0.11
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 9.27,
    "pm_low": 9.235
  },
  {
    "symbol": "SATL",
    "total_score": 36.56,
    "raw_score": 38.76,
    "breakdown": {
      "price_quality": 0.0,
      "volume_quality": 12.0,
      "rvol": 2.28,
      "volume_acceleration": 1.54,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 4.33,
      "spread_liquidity": 4.31,
      "momentum_consistency": 1.9,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 4.835,
      "vwap": 4.8831,
      "vwap_slope": -0.01,
      "rvol": 0.95,
      "volume_acceleration": 1.15,
      "premarket_volume": 474577.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.31,
      "distance_from_pm_high_pct": 2.22,
      "extension_from_vwap_pct": -0.99,
      "spread_pct": 0.21
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 4.945,
    "pm_low": 4.825
  },
  {
    "symbol": "STTK",
    "total_score": 36.53,
    "raw_score": 38.72,
    "breakdown": {
      "price_quality": 2.15,
      "volume_quality": 5.45,
      "rvol": 0.22,
      "volume_acceleration": 6.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.48,
      "spread_liquidity": 4.07,
      "momentum_consistency": 2.59,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.15,
      "vwap": 7.1639,
      "vwap_slope": -0.0074,
      "rvol": 0.09,
      "volume_acceleration": 1.64,
      "premarket_volume": 45385.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.14,
      "distance_from_pm_high_pct": 0.69,
      "extension_from_vwap_pct": -0.19,
      "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.2,
    "pm_low": 7.145
  },
  {
    "symbol": "TSQ",
    "total_score": 36.31,
    "raw_score": 38.49,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 2.59,
      "rvol": 0.1,
      "volume_acceleration": 5.32,
      "price_momentum": 0.26,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.81,
      "spread_liquidity": 1.53,
      "momentum_consistency": 2.18,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.85,
      "vwap": 5.8461,
      "vwap_slope": -0.0189,
      "rvol": 0.04,
      "volume_acceleration": 1.53,
      "premarket_volume": 21624.0,
      "momentum_pct": 0.17,
      "consolidation_tightness_pct": 1.2,
      "distance_from_pm_high_pct": 0.26,
      "extension_from_vwap_pct": 0.07,
      "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": 5.865,
    "pm_low": 5.79
  },
  {
    "symbol": "LSPD",
    "total_score": 36.28,
    "raw_score": 38.46,
    "breakdown": {
      "price_quality": 4.37,
      "volume_quality": 4.6,
      "rvol": 0.18,
      "volume_acceleration": 4.43,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.79,
      "spread_liquidity": 4.69,
      "momentum_consistency": 2.0,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.63,
      "vwap": 10.6392,
      "vwap_slope": -0.0065,
      "rvol": 0.08,
      "volume_acceleration": 1.44,
      "premarket_volume": 38303.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.09,
      "distance_from_pm_high_pct": 0.28,
      "extension_from_vwap_pct": -0.09,
      "spread_pct": 0.09
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 10.66,
    "pm_low": 10.62
  },
  {
    "symbol": "LZ",
    "total_score": 36.27,
    "raw_score": 38.45,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 10.5,
      "rvol": 0.42,
      "volume_acceleration": 2.09,
      "price_momentum": 0.25,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.82,
      "spread_liquidity": 4.45,
      "momentum_consistency": 1.02,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.105,
      "vwap": 6.1061,
      "vwap_slope": -0.0031,
      "rvol": 0.18,
      "volume_acceleration": 1.21,
      "premarket_volume": 87531.0,
      "momentum_pct": 0.16,
      "consolidation_tightness_pct": 0.16,
      "distance_from_pm_high_pct": 0.25,
      "extension_from_vwap_pct": -0.02,
      "spread_pct": 0.16
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 6.12,
    "pm_low": 6.095
  },
  {
    "symbol": "BIOA",
    "total_score": 36.13,
    "raw_score": 38.29,
    "breakdown": {
      "price_quality": 4.69,
      "volume_quality": 7.25,
      "rvol": 0.29,
      "volume_acceleration": 1.75,
      "price_momentum": 0.15,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.01,
      "spread_liquidity": 4.31,
      "momentum_consistency": 2.43,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.69,
      "vwap": 9.74,
      "vwap_slope": -0.0093,
      "rvol": 0.12,
      "volume_acceleration": 0.5,
      "premarket_volume": 60426.0,
      "momentum_pct": 0.1,
      "consolidation_tightness_pct": 0.15,
      "distance_from_pm_high_pct": 1.32,
      "extension_from_vwap_pct": -0.51,
      "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.82,
    "pm_low": 9.68
  },
  {
    "symbol": "MAKO",
    "total_score": 35.95,
    "raw_score": 38.11,
    "breakdown": {
      "price_quality": 4.95,
      "volume_quality": 4.77,
      "rvol": 0.19,
      "volume_acceleration": 2.79,
      "price_momentum": 0.07,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.3,
      "spread_liquidity": 4.34,
      "momentum_consistency": 3.31,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.055,
      "vwap": 10.0847,
      "vwap_slope": -0.0256,
      "rvol": 0.08,
      "volume_acceleration": 1.28,
      "premarket_volume": 39728.0,
      "momentum_pct": 0.05,
      "consolidation_tightness_pct": 0.4,
      "distance_from_pm_high_pct": 0.94,
      "extension_from_vwap_pct": -0.29,
      "spread_pct": 0.2
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 10.15,
    "pm_low": 10.03
  },
  {
    "symbol": "STGW",
    "total_score": 35.92,
    "raw_score": 38.08,
    "breakdown": {
      "price_quality": 3.77,
      "volume_quality": 7.35,
      "rvol": 0.29,
      "volume_acceleration": 2.9,
      "price_momentum": 0.09,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.36,
      "spread_liquidity": 4.62,
      "momentum_consistency": 1.3,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.765,
      "vwap": 8.7953,
      "vwap_slope": -0.0103,
      "rvol": 0.12,
      "volume_acceleration": 0.83,
      "premarket_volume": 61260.0,
      "momentum_pct": 0.06,
      "consolidation_tightness_pct": 0.11,
      "distance_from_pm_high_pct": 0.85,
      "extension_from_vwap_pct": -0.34,
      "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.84,
    "pm_low": 8.755
  },
  {
    "symbol": "RWAY",
    "total_score": 35.92,
    "raw_score": 38.07,
    "breakdown": {
      "price_quality": 1.57,
      "volume_quality": 12.0,
      "rvol": 0.82,
      "volume_acceleration": 0.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.49,
      "spread_liquidity": 4.49,
      "momentum_consistency": 1.05,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.565,
      "vwap": 6.5848,
      "vwap_slope": -0.001,
      "rvol": 0.34,
      "volume_acceleration": 0.07,
      "premarket_volume": 170732.0,
      "momentum_pct": -0.06,
      "consolidation_tightness_pct": 0.14,
      "distance_from_pm_high_pct": 0.68,
      "extension_from_vwap_pct": -0.3,
      "spread_pct": 0.15
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 6.61,
    "pm_low": 6.55
  },
  {
    "symbol": "TAC",
    "total_score": 35.66,
    "raw_score": 37.8,
    "breakdown": {
      "price_quality": 2.89,
      "volume_quality": 6.88,
      "rvol": 0.28,
      "volume_acceleration": 2.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.57,
      "spread_liquidity": 4.72,
      "momentum_consistency": 2.23,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.105,
      "vwap": 12.1356,
      "vwap_slope": -0.0083,
      "rvol": 0.11,
      "volume_acceleration": 0.81,
      "premarket_volume": 57309.0,
      "momentum_pct": -0.08,
      "consolidation_tightness_pct": 0.17,
      "distance_from_pm_high_pct": 0.57,
      "extension_from_vwap_pct": -0.25,
      "spread_pct": 0.08
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 12.175,
    "pm_low": 12.1
  },
  {
    "symbol": "ACDC",
    "total_score": 35.59,
    "raw_score": 37.73,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 8.38,
      "rvol": 0.34,
      "volume_acceleration": 3.64,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.27,
      "spread_liquidity": 4.34,
      "momentum_consistency": 1.86,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.06,
      "vwap": 5.089,
      "vwap_slope": -0.0061,
      "rvol": 0.14,
      "volume_acceleration": 1.05,
      "premarket_volume": 69849.0,
      "momentum_pct": -0.3,
      "consolidation_tightness_pct": 0.59,
      "distance_from_pm_high_pct": 0.98,
      "extension_from_vwap_pct": -0.57,
      "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.11,
    "pm_low": 5.055
  },
  {
    "symbol": "VSTM",
    "total_score": 35.49,
    "raw_score": 37.62,
    "breakdown": {
      "price_quality": 2.24,
      "volume_quality": 7.34,
      "rvol": 0.29,
      "volume_acceleration": 3.38,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.69,
      "spread_liquidity": 4.54,
      "momentum_consistency": 1.74,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.235,
      "vwap": 7.2443,
      "vwap_slope": -0.0006,
      "rvol": 0.12,
      "volume_acceleration": 0.97,
      "premarket_volume": 61166.0,
      "momentum_pct": -0.14,
      "consolidation_tightness_pct": 0.21,
      "distance_from_pm_high_pct": 0.41,
      "extension_from_vwap_pct": -0.13,
      "spread_pct": 0.14
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 7.265,
    "pm_low": 7.235
  },
  {
    "symbol": "VSTS",
    "total_score": 35.47,
    "raw_score": 37.6,
    "breakdown": {
      "price_quality": 2.46,
      "volume_quality": 5.62,
      "rvol": 0.22,
      "volume_acceleration": 3.44,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.79,
      "spread_liquidity": 4.73,
      "momentum_consistency": 2.93,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.54,
      "vwap": 12.5549,
      "vwap_slope": -0.0005,
      "rvol": 0.09,
      "volume_acceleration": 0.99,
      "premarket_volume": 46863.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.12,
      "distance_from_pm_high_pct": 0.28,
      "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.575,
    "pm_low": 12.535
  },
  {
    "symbol": "ASPN",
    "total_score": 35.38,
    "raw_score": 37.5,
    "breakdown": {
      "price_quality": 0.0,
      "volume_quality": 10.16,
      "rvol": 0.41,
      "volume_acceleration": 2.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.55,
      "spread_liquidity": 4.33,
      "momentum_consistency": 1.9,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 4.97,
      "vwap": 4.9787,
      "vwap_slope": -0.0037,
      "rvol": 0.17,
      "volume_acceleration": 0.79,
      "premarket_volume": 84664.0,
      "momentum_pct": -0.1,
      "consolidation_tightness_pct": 0.2,
      "distance_from_pm_high_pct": 0.6,
      "extension_from_vwap_pct": -0.17,
      "spread_pct": 0.2
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 5.0,
    "pm_low": 4.965
  },
  {
    "symbol": "RES",
    "total_score": 35.33,
    "raw_score": 37.45,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 8.26,
      "rvol": 0.33,
      "volume_acceleration": 2.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.65,
      "spread_liquidity": 4.48,
      "momentum_consistency": 2.26,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.415,
      "vwap": 6.4263,
      "vwap_slope": -0.0032,
      "rvol": 0.14,
      "volume_acceleration": 0.74,
      "premarket_volume": 68830.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.08,
      "distance_from_pm_high_pct": 0.47,
      "extension_from_vwap_pct": -0.18,
      "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.445,
    "pm_low": 6.415
  },
  {
    "symbol": "WSE",
    "total_score": 35.27,
    "raw_score": 37.39,
    "breakdown": {
      "price_quality": 1.9,
      "volume_quality": 7.14,
      "rvol": 0.29,
      "volume_acceleration": 3.25,
      "price_momentum": 0.17,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.71,
      "spread_liquidity": 4.75,
      "momentum_consistency": 1.78,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.095,
      "vwap": 13.1104,
      "vwap_slope": -0.0129,
      "rvol": 0.12,
      "volume_acceleration": 0.93,
      "premarket_volume": 59493.0,
      "momentum_pct": 0.11,
      "consolidation_tightness_pct": 0.15,
      "distance_from_pm_high_pct": 0.38,
      "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": 13.145,
    "pm_low": 13.075
  },
  {
    "symbol": "DOLE",
    "total_score": 35.24,
    "raw_score": 37.35,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 8.19,
      "rvol": 0.33,
      "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.67,
      "spread_liquidity": 4.76,
      "momentum_consistency": 2.0,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.7,
      "vwap": 13.7153,
      "vwap_slope": -0.0056,
      "rvol": 0.14,
      "volume_acceleration": 0.72,
      "premarket_volume": 68258.0,
      "momentum_pct": -0.04,
      "consolidation_tightness_pct": 0.09,
      "distance_from_pm_high_pct": 0.44,
      "extension_from_vwap_pct": -0.11,
      "spread_pct": 0.07
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 13.76,
    "pm_low": 13.685
  },
  {
    "symbol": "FUBO",
    "total_score": 35.16,
    "raw_score": 37.27,
    "breakdown": {
      "price_quality": 4.67,
      "volume_quality": 4.51,
      "rvol": 0.18,
      "volume_acceleration": 2.9,
      "price_momentum": 0.15,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.71,
      "spread_liquidity": 4.35,
      "momentum_consistency": 2.4,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.33,
      "vwap": 10.3492,
      "vwap_slope": -0.0035,
      "rvol": 0.08,
      "volume_acceleration": 0.83,
      "premarket_volume": 37590.0,
      "momentum_pct": 0.1,
      "consolidation_tightness_pct": 0.17,
      "distance_from_pm_high_pct": 0.39,
      "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": false,
      "vwap_rising": false
    },
    "pm_high": 10.37,
    "pm_low": 10.3121
  },
  {
    "symbol": "KRNY",
    "total_score": 35.16,
    "raw_score": 37.27,
    "breakdown": {
      "price_quality": 4.88,
      "volume_quality": 4.76,
      "rvol": 0.19,
      "volume_acceleration": 3.38,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.74,
      "spread_liquidity": 4.66,
      "momentum_consistency": 1.25,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.885,
      "vwap": 9.8986,
      "vwap_slope": -0.0052,
      "rvol": 0.08,
      "volume_acceleration": 1.34,
      "premarket_volume": 39689.0,
      "momentum_pct": -0.1,
      "consolidation_tightness_pct": 0.2,
      "distance_from_pm_high_pct": 0.35,
      "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": 9.92,
    "pm_low": 9.885
  },
  {
    "symbol": "CRMD",
    "total_score": 35.09,
    "raw_score": 37.19,
    "breakdown": {
      "price_quality": 3.28,
      "volume_quality": 5.28,
      "rvol": 0.21,
      "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.46,
      "spread_liquidity": 4.6,
      "momentum_consistency": 2.4,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.28,
      "vwap": 8.3026,
      "vwap_slope": -0.0092,
      "rvol": 0.09,
      "volume_acceleration": 1.03,
      "premarket_volume": 43975.0,
      "momentum_pct": -0.12,
      "consolidation_tightness_pct": 0.15,
      "distance_from_pm_high_pct": 0.72,
      "extension_from_vwap_pct": -0.27,
      "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.34,
    "pm_low": 8.28
  },
  {
    "symbol": "SVRA",
    "total_score": 34.97,
    "raw_score": 37.07,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 7.1,
      "rvol": 0.28,
      "volume_acceleration": 4.0,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.51,
      "spread_liquidity": 4.37,
      "momentum_consistency": 1.91,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.29,
      "vwap": 5.2981,
      "vwap_slope": -0.0041,
      "rvol": 0.12,
      "volume_acceleration": 1.15,
      "premarket_volume": 59160.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.19,
      "distance_from_pm_high_pct": 0.66,
      "extension_from_vwap_pct": -0.15,
      "spread_pct": 0.19
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 5.325,
    "pm_low": 5.28
  },
  {
    "symbol": "ANTX",
    "total_score": 34.85,
    "raw_score": 36.94,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 3.31,
      "rvol": 0.13,
      "volume_acceleration": 1.69,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.54,
      "spread_liquidity": 2.05,
      "momentum_consistency": 3.11,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.645,
      "vwap": 5.6575,
      "vwap_slope": 0.0002,
      "rvol": 0.06,
      "volume_acceleration": 1.17,
      "premarket_volume": 27610.0,
      "momentum_pct": -0.27,
      "consolidation_tightness_pct": 0.71,
      "distance_from_pm_high_pct": 0.62,
      "extension_from_vwap_pct": -0.22,
      "spread_pct": 0.89
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": true
    },
    "pm_high": 5.68,
    "pm_low": 5.63
  },
  {
    "symbol": "SB",
    "total_score": 34.77,
    "raw_score": 36.86,
    "breakdown": {
      "price_quality": 3.54,
      "volume_quality": 5.34,
      "rvol": 0.21,
      "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.78,
      "spread_liquidity": 4.61,
      "momentum_consistency": 2.51,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.54,
      "vwap": 8.5522,
      "vwap_slope": -0.0008,
      "rvol": 0.09,
      "volume_acceleration": 1.25,
      "premarket_volume": 44480.0,
      "momentum_pct": -0.18,
      "consolidation_tightness_pct": 0.18,
      "distance_from_pm_high_pct": 0.29,
      "extension_from_vwap_pct": -0.14,
      "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.565,
    "pm_low": 8.54
  },
  {
    "symbol": "QUIK",
    "total_score": 34.62,
    "raw_score": 36.7,
    "breakdown": {
      "price_quality": 4.14,
      "volume_quality": 3.66,
      "rvol": 0.15,
      "volume_acceleration": 4.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.32,
      "spread_liquidity": 4.39,
      "momentum_consistency": 2.13,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.86,
      "vwap": 10.8888,
      "vwap_slope": -0.0085,
      "rvol": 0.06,
      "volume_acceleration": 1.45,
      "premarket_volume": 30466.0,
      "momentum_pct": -0.23,
      "consolidation_tightness_pct": 0.23,
      "distance_from_pm_high_pct": 0.91,
      "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": 10.96,
    "pm_low": 10.86
  },
  {
    "symbol": "SSL",
    "total_score": 34.61,
    "raw_score": 36.68,
    "breakdown": {
      "price_quality": 3.21,
      "volume_quality": 5.52,
      "rvol": 0.22,
      "volume_acceleration": 2.26,
      "price_momentum": 0.19,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.78,
      "spread_liquidity": 4.72,
      "momentum_consistency": 2.38,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.785,
      "vwap": 11.7912,
      "vwap_slope": -0.0032,
      "rvol": 0.09,
      "volume_acceleration": 0.65,
      "premarket_volume": 46013.0,
      "momentum_pct": 0.13,
      "consolidation_tightness_pct": 0.13,
      "distance_from_pm_high_pct": 0.3,
      "extension_from_vwap_pct": -0.05,
      "spread_pct": 0.08
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 11.82,
    "pm_low": 11.77
  },
  {
    "symbol": "GRML",
    "total_score": 34.5,
    "raw_score": 36.57,
    "breakdown": {
      "price_quality": 0.0,
      "volume_quality": 8.52,
      "rvol": 0.34,
      "volume_acceleration": 3.33,
      "price_momentum": 0.73,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 4.47,
      "spread_liquidity": 4.32,
      "momentum_consistency": 2.46,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 4.9188,
      "vwap": 4.9361,
      "vwap_slope": -0.0094,
      "rvol": 0.14,
      "volume_acceleration": 0.96,
      "premarket_volume": 70973.0,
      "momentum_pct": 0.49,
      "consolidation_tightness_pct": 0.61,
      "distance_from_pm_high_pct": 2.05,
      "extension_from_vwap_pct": -0.35,
      "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.0215,
    "pm_low": 4.8901
  },
  {
    "symbol": "BYND",
    "total_score": 34.49,
    "raw_score": 36.56,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 9.9,
      "rvol": 0.4,
      "volume_acceleration": 1.38,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 4.57,
      "spread_liquidity": 4.28,
      "momentum_consistency": 2.15,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.85,
      "vwap": 14.0138,
      "vwap_slope": -0.0173,
      "rvol": 0.16,
      "volume_acceleration": 0.4,
      "premarket_volume": 82493.0,
      "momentum_pct": -0.65,
      "consolidation_tightness_pct": 0.65,
      "distance_from_pm_high_pct": 1.91,
      "extension_from_vwap_pct": -1.17,
      "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.12,
    "pm_low": 13.85
  },
  {
    "symbol": "EVMN",
    "total_score": 34.33,
    "raw_score": 36.39,
    "breakdown": {
      "price_quality": 1.95,
      "volume_quality": 4.76,
      "rvol": 0.19,
      "volume_acceleration": 5.48,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 4.9,
      "spread_liquidity": 4.49,
      "momentum_consistency": 2.22,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.05,
      "vwap": 13.1101,
      "vwap_slope": -0.0064,
      "rvol": 0.08,
      "volume_acceleration": 1.55,
      "premarket_volume": 39693.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.15,
      "distance_from_pm_high_pct": 1.47,
      "extension_from_vwap_pct": -0.46,
      "spread_pct": 0.15
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 13.245,
    "pm_low": 13.04
  },
  {
    "symbol": "AEYE",
    "total_score": 34.08,
    "raw_score": 36.13,
    "breakdown": {
      "price_quality": 2.21,
      "volume_quality": 2.54,
      "rvol": 0.1,
      "volume_acceleration": 1.12,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 4.87,
      "spread_liquidity": 2.69,
      "momentum_consistency": 3.0,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.21,
      "vwap": 7.2636,
      "vwap_slope": 0.0059,
      "rvol": 0.04,
      "volume_acceleration": 0.32,
      "premarket_volume": 21138.0,
      "momentum_pct": -1.37,
      "consolidation_tightness_pct": 1.58,
      "distance_from_pm_high_pct": 1.5,
      "extension_from_vwap_pct": -0.74,
      "spread_pct": 0.69
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": true
    },
    "pm_high": 7.32,
    "pm_low": 7.2
  },
  {
    "symbol": "VMET",
    "total_score": 34.03,
    "raw_score": 36.07,
    "breakdown": {
      "price_quality": 4.77,
      "volume_quality": 4.29,
      "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.53,
      "spread_liquidity": 4.02,
      "momentum_consistency": 2.67,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.235,
      "vwap": 10.2458,
      "vwap_slope": -0.0044,
      "rvol": 0.07,
      "volume_acceleration": 0.64,
      "premarket_volume": 35785.0,
      "momentum_pct": -0.01,
      "consolidation_tightness_pct": 0.1,
      "distance_from_pm_high_pct": 0.63,
      "extension_from_vwap_pct": -0.11,
      "spread_pct": 0.29
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 10.3,
    "pm_low": 10.215
  },
  {
    "symbol": "PERI",
    "total_score": 33.83,
    "raw_score": 35.86,
    "breakdown": {
      "price_quality": 4.74,
      "volume_quality": 2.62,
      "rvol": 0.1,
      "volume_acceleration": 2.93,
      "price_momentum": 0.08,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.92,
      "spread_liquidity": 4.66,
      "momentum_consistency": 2.4,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.74,
      "vwap": 9.7447,
      "vwap_slope": -0.0013,
      "rvol": 0.04,
      "volume_acceleration": 1.29,
      "premarket_volume": 21854.0,
      "momentum_pct": 0.05,
      "consolidation_tightness_pct": 0.1,
      "distance_from_pm_high_pct": 0.1,
      "extension_from_vwap_pct": -0.05,
      "spread_pct": 0.1
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 9.75,
    "pm_low": 9.73
  },
  {
    "symbol": "PAYO",
    "total_score": 33.66,
    "raw_score": 35.68,
    "breakdown": {
      "price_quality": 2.12,
      "volume_quality": 4.63,
      "rvol": 0.19,
      "volume_acceleration": 3.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.89,
      "spread_liquidity": 4.53,
      "momentum_consistency": 2.08,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.12,
      "vwap": 7.1246,
      "vwap_slope": -0.0007,
      "rvol": 0.08,
      "volume_acceleration": 1.38,
      "premarket_volume": 38596.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.14,
      "distance_from_pm_high_pct": 0.14,
      "extension_from_vwap_pct": -0.06,
      "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": "GFR",
    "total_score": 33.54,
    "raw_score": 35.55,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 6.44,
      "rvol": 0.26,
      "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.69,
      "spread_liquidity": 4.45,
      "momentum_consistency": 2.6,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.045,
      "vwap": 6.0553,
      "vwap_slope": -0.0034,
      "rvol": 0.11,
      "volume_acceleration": 0.64,
      "premarket_volume": 53635.0,
      "momentum_pct": -0.08,
      "consolidation_tightness_pct": 0.17,
      "distance_from_pm_high_pct": 0.41,
      "extension_from_vwap_pct": -0.17,
      "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.07,
    "pm_low": 6.04
  },
  {
    "symbol": "TBCH",
    "total_score": 33.05,
    "raw_score": 35.03,
    "breakdown": {
      "price_quality": 2.37,
      "volume_quality": 4.34,
      "rvol": 0.17,
      "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.29,
      "spread_liquidity": 3.94,
      "momentum_consistency": 3.2,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.63,
      "vwap": 12.655,
      "vwap_slope": -0.0109,
      "rvol": 0.07,
      "volume_acceleration": 0.95,
      "premarket_volume": 36184.0,
      "momentum_pct": -0.16,
      "consolidation_tightness_pct": 0.28,
      "distance_from_pm_high_pct": 0.94,
      "extension_from_vwap_pct": -0.2,
      "spread_pct": 0.32
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 12.75,
    "pm_low": 12.565
  },
  {
    "symbol": "ORN",
    "total_score": 32.92,
    "raw_score": 34.9,
    "breakdown": {
      "price_quality": 4.27,
      "volume_quality": 4.08,
      "rvol": 0.16,
      "volume_acceleration": 2.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.36,
      "spread_liquidity": 4.28,
      "momentum_consistency": 1.52,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.27,
      "vwap": 9.3152,
      "vwap_slope": -0.0041,
      "rvol": 0.07,
      "volume_acceleration": 0.81,
      "premarket_volume": 34037.0,
      "momentum_pct": -0.22,
      "consolidation_tightness_pct": 0.3,
      "distance_from_pm_high_pct": 0.86,
      "extension_from_vwap_pct": -0.49,
      "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.35,
    "pm_low": 9.27
  },
  {
    "symbol": "CGNT",
    "total_score": 32.82,
    "raw_score": 34.78,
    "breakdown": {
      "price_quality": 3.82,
      "volume_quality": 4.41,
      "rvol": 0.18,
      "volume_acceleration": 1.51,
      "price_momentum": 0.09,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.62,
      "spread_liquidity": 4.24,
      "momentum_consistency": 2.51,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.825,
      "vwap": 8.8383,
      "vwap_slope": -0.0039,
      "rvol": 0.07,
      "volume_acceleration": 1.15,
      "premarket_volume": 36712.0,
      "momentum_pct": 0.06,
      "consolidation_tightness_pct": 0.34,
      "distance_from_pm_high_pct": 0.51,
      "extension_from_vwap_pct": -0.15,
      "spread_pct": 0.23
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 8.87,
    "pm_low": 8.81
  },
  {
    "symbol": "AEBI",
    "total_score": 32.63,
    "raw_score": 34.59,
    "breakdown": {
      "price_quality": 2.64,
      "volume_quality": 4.0,
      "rvol": 0.16,
      "volume_acceleration": 3.23,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.4,
      "spread_liquidity": 4.19,
      "momentum_consistency": 2.57,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.36,
      "vwap": 12.3897,
      "vwap_slope": -0.0065,
      "rvol": 0.07,
      "volume_acceleration": 0.93,
      "premarket_volume": 33362.0,
      "momentum_pct": -0.2,
      "consolidation_tightness_pct": 0.57,
      "distance_from_pm_high_pct": 0.8,
      "extension_from_vwap_pct": -0.24,
      "spread_pct": 0.24
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 12.46,
    "pm_low": 12.33
  },
  {
    "symbol": "NMFC",
    "total_score": 32.62,
    "raw_score": 34.57,
    "breakdown": {
      "price_quality": 2.54,
      "volume_quality": 3.37,
      "rvol": 0.13,
      "volume_acceleration": 4.63,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.75,
      "spread_liquidity": 4.56,
      "momentum_consistency": 1.19,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.545,
      "vwap": 7.557,
      "vwap_slope": -0.006,
      "rvol": 0.06,
      "volume_acceleration": 1.46,
      "premarket_volume": 28054.0,
      "momentum_pct": -0.13,
      "consolidation_tightness_pct": 0.26,
      "distance_from_pm_high_pct": 0.33,
      "extension_from_vwap_pct": -0.16,
      "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.57,
    "pm_low": 7.545
  },
  {
    "symbol": "PHR",
    "total_score": 32.36,
    "raw_score": 34.3,
    "breakdown": {
      "price_quality": 2.92,
      "volume_quality": 4.08,
      "rvol": 0.16,
      "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.22,
      "spread_liquidity": 4.45,
      "momentum_consistency": 2.81,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.0824,
      "vwap": 12.1318,
      "vwap_slope": -0.0133,
      "rvol": 0.07,
      "volume_acceleration": 0.65,
      "premarket_volume": 34019.0,
      "momentum_pct": -0.06,
      "consolidation_tightness_pct": 0.12,
      "distance_from_pm_high_pct": 1.05,
      "extension_from_vwap_pct": -0.41,
      "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.21,
    "pm_low": 12.07
  },
  {
    "symbol": "CHPT",
    "total_score": 32.29,
    "raw_score": 34.23,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 4.7,
      "rvol": 0.19,
      "volume_acceleration": 3.41,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.67,
      "spread_liquidity": 4.4,
      "momentum_consistency": 1.96,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.5855,
      "vwap": 5.5965,
      "vwap_slope": -0.0016,
      "rvol": 0.08,
      "volume_acceleration": 0.98,
      "premarket_volume": 39159.0,
      "momentum_pct": -0.08,
      "consolidation_tightness_pct": 0.27,
      "distance_from_pm_high_pct": 0.44,
      "extension_from_vwap_pct": -0.2,
      "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.61,
    "pm_low": 5.585
  },
  {
    "symbol": "PWRL",
    "total_score": 32.18,
    "raw_score": 34.11,
    "breakdown": {
      "price_quality": 4.66,
      "volume_quality": 3.2,
      "rvol": 0.13,
      "volume_acceleration": 3.25,
      "price_momentum": 0.07,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.71,
      "spread_liquidity": 3.71,
      "momentum_consistency": 0.98,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.34,
      "vwap": 10.3415,
      "vwap_slope": -0.0008,
      "rvol": 0.05,
      "volume_acceleration": 1.32,
      "premarket_volume": 26634.0,
      "momentum_pct": 0.05,
      "consolidation_tightness_pct": 0.37,
      "distance_from_pm_high_pct": 0.39,
      "extension_from_vwap_pct": -0.01,
      "spread_pct": 0.39
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 10.38,
    "pm_low": 10.3
  },
  {
    "symbol": "VOXR",
    "total_score": 32.18,
    "raw_score": 34.11,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 6.01,
      "rvol": 0.24,
      "volume_acceleration": 3.2,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.6,
      "spread_liquidity": 3.8,
      "momentum_consistency": 1.37,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.54,
      "vwap": 5.5563,
      "vwap_slope": -0.005,
      "rvol": 0.1,
      "volume_acceleration": 0.92,
      "premarket_volume": 50097.0,
      "momentum_pct": -0.18,
      "consolidation_tightness_pct": 0.18,
      "distance_from_pm_high_pct": 0.54,
      "extension_from_vwap_pct": -0.29,
      "spread_pct": 0.36
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 5.57,
    "pm_low": 5.54
  },
  {
    "symbol": "EGY",
    "total_score": 31.95,
    "raw_score": 33.87,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 5.96,
      "rvol": 0.24,
      "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.87,
      "spread_liquidity": 4.42,
      "momentum_consistency": 0.96,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.775,
      "vwap": 5.7779,
      "vwap_slope": -0.0005,
      "rvol": 0.1,
      "volume_acceleration": 1.25,
      "premarket_volume": 49700.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.09,
      "distance_from_pm_high_pct": 0.17,
      "extension_from_vwap_pct": -0.05,
      "spread_pct": 0.17
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 5.785,
    "pm_low": 5.77
  },
  {
    "symbol": "SBGI",
    "total_score": 31.92,
    "raw_score": 33.83,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 2.78,
      "rvol": 0.11,
      "volume_acceleration": 2.8,
      "price_momentum": 0.16,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.66,
      "spread_liquidity": 4.54,
      "momentum_consistency": 3.89,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.36,
      "vwap": 14.3711,
      "vwap_slope": -0.0036,
      "rvol": 0.05,
      "volume_acceleration": 1.28,
      "premarket_volume": 23202.0,
      "momentum_pct": 0.1,
      "consolidation_tightness_pct": 0.21,
      "distance_from_pm_high_pct": 0.45,
      "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": false
    },
    "pm_high": 14.425,
    "pm_low": 14.31
  },
  {
    "symbol": "DSP",
    "total_score": 31.59,
    "raw_score": 33.48,
    "breakdown": {
      "price_quality": 1.63,
      "volume_quality": 3.9,
      "rvol": 0.16,
      "volume_acceleration": 3.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.01,
      "spread_liquidity": 4.25,
      "momentum_consistency": 2.29,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.3703,
      "vwap": 13.4356,
      "vwap_slope": -0.0243,
      "rvol": 0.06,
      "volume_acceleration": 1.11,
      "premarket_volume": 32494.0,
      "momentum_pct": -0.37,
      "consolidation_tightness_pct": 0.37,
      "distance_from_pm_high_pct": 1.33,
      "extension_from_vwap_pct": -0.49,
      "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.55,
    "pm_low": 13.37
  },
  {
    "symbol": "AIRO",
    "total_score": 31.58,
    "raw_score": 33.47,
    "breakdown": {
      "price_quality": 2.71,
      "volume_quality": 3.67,
      "rvol": 0.15,
      "volume_acceleration": 2.73,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.56,
      "spread_liquidity": 4.57,
      "momentum_consistency": 1.68,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.705,
      "vwap": 7.7187,
      "vwap_slope": -0.01,
      "rvol": 0.06,
      "volume_acceleration": 0.79,
      "premarket_volume": 30601.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.13,
      "distance_from_pm_high_pct": 0.58,
      "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.75,
    "pm_low": 7.7
  },
  {
    "symbol": "UPB",
    "total_score": 31.29,
    "raw_score": 33.17,
    "breakdown": {
      "price_quality": 1.72,
      "volume_quality": 5.64,
      "rvol": 0.23,
      "volume_acceleration": 1.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.28,
      "spread_liquidity": 4.01,
      "momentum_consistency": 2.49,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.72,
      "vwap": 6.7444,
      "vwap_slope": -0.0045,
      "rvol": 0.09,
      "volume_acceleration": 0.4,
      "premarket_volume": 47026.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.15,
      "distance_from_pm_high_pct": 0.96,
      "extension_from_vwap_pct": -0.36,
      "spread_pct": 0.3
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 6.785,
    "pm_low": 6.71
  },
  {
    "symbol": "MTRX",
    "total_score": 31.27,
    "raw_score": 33.14,
    "breakdown": {
      "price_quality": 4.21,
      "volume_quality": 2.53,
      "rvol": 0.1,
      "volume_acceleration": 1.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.68,
      "spread_liquidity": 4.07,
      "momentum_consistency": 2.46,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.79,
      "vwap": 10.8096,
      "vwap_slope": -0.0057,
      "rvol": 0.04,
      "volume_acceleration": 0.49,
      "premarket_volume": 21063.0,
      "momentum_pct": -0.19,
      "consolidation_tightness_pct": 0.37,
      "distance_from_pm_high_pct": 0.43,
      "extension_from_vwap_pct": -0.18,
      "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": 10.8362,
    "pm_low": 10.78
  },
  {
    "symbol": "STDN",
    "total_score": 31.18,
    "raw_score": 33.05,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 6.36,
      "rvol": 0.25,
      "volume_acceleration": 3.8,
      "price_momentum": 0.22,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 4.05,
      "spread_liquidity": 1.39,
      "momentum_consistency": 3.08,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.85,
      "vwap": 14.0341,
      "vwap_slope": -0.0696,
      "rvol": 0.11,
      "volume_acceleration": 1.09,
      "premarket_volume": 53021.0,
      "momentum_pct": 0.14,
      "consolidation_tightness_pct": 2.02,
      "distance_from_pm_high_pct": 2.61,
      "extension_from_vwap_pct": -1.31,
      "spread_pct": 1.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": 14.2205,
    "pm_low": 13.77
  },
  {
    "symbol": "ICL",
    "total_score": 31.13,
    "raw_score": 33.0,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 5.78,
      "rvol": 0.23,
      "volume_acceleration": 1.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.8,
      "spread_liquidity": 4.4,
      "momentum_consistency": 1.42,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.59,
      "vwap": 5.5949,
      "vwap_slope": -0.0008,
      "rvol": 0.1,
      "volume_acceleration": 0.42,
      "premarket_volume": 48155.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.18,
      "distance_from_pm_high_pct": 0.27,
      "extension_from_vwap_pct": -0.09,
      "spread_pct": 0.18
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 5.605,
    "pm_low": 5.59
  },
  {
    "symbol": "SPIR",
    "total_score": 31.04,
    "raw_score": 32.9,
    "breakdown": {
      "price_quality": 1.89,
      "volume_quality": 4.63,
      "rvol": 0.19,
      "volume_acceleration": 2.25,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 4.82,
      "spread_liquidity": 3.98,
      "momentum_consistency": 2.74,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.11,
      "vwap": 13.2048,
      "vwap_slope": -0.0551,
      "rvol": 0.08,
      "volume_acceleration": 1.23,
      "premarket_volume": 38593.0,
      "momentum_pct": -0.11,
      "consolidation_tightness_pct": 0.42,
      "distance_from_pm_high_pct": 1.58,
      "extension_from_vwap_pct": -0.72,
      "spread_pct": 0.3
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 13.32,
    "pm_low": 13.095
  },
  {
    "symbol": "ALTG",
    "total_score": 30.98,
    "raw_score": 32.84,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 3.5,
      "rvol": 0.14,
      "volume_acceleration": 2.99,
      "price_momentum": 0.26,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.24,
      "spread_liquidity": 3.86,
      "momentum_consistency": 2.96,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.86,
      "vwap": 5.8764,
      "vwap_slope": -0.0155,
      "rvol": 0.06,
      "volume_acceleration": 0.86,
      "premarket_volume": 29178.0,
      "momentum_pct": 0.17,
      "consolidation_tightness_pct": 0.17,
      "distance_from_pm_high_pct": 1.01,
      "extension_from_vwap_pct": -0.28,
      "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": false,
      "vwap_rising": false
    },
    "pm_high": 5.92,
    "pm_low": 5.83
  },
  {
    "symbol": "MH",
    "total_score": 30.76,
    "raw_score": 32.61,
    "breakdown": {
      "price_quality": 1.62,
      "volume_quality": 2.73,
      "rvol": 0.11,
      "volume_acceleration": 1.66,
      "price_momentum": 0.11,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.67,
      "spread_liquidity": 4.5,
      "momentum_consistency": 3.81,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.38,
      "vwap": 13.4005,
      "vwap_slope": -0.0103,
      "rvol": 0.05,
      "volume_acceleration": 0.48,
      "premarket_volume": 22761.0,
      "momentum_pct": 0.07,
      "consolidation_tightness_pct": 0.22,
      "distance_from_pm_high_pct": 0.45,
      "extension_from_vwap_pct": -0.15,
      "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.44,
    "pm_low": 13.36
  },
  {
    "symbol": "WETO",
    "total_score": 30.71,
    "raw_score": 32.55,
    "breakdown": {
      "price_quality": 1.63,
      "volume_quality": 12.0,
      "rvol": 1.11,
      "volume_acceleration": 2.93,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 5.94,
      "distance_from_pm_high": 0,
      "spread_liquidity": 0.92,
      "momentum_consistency": 3.62,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.6308,
      "vwap": 6.9751,
      "vwap_slope": -0.0599,
      "rvol": 0.46,
      "volume_acceleration": 0.84,
      "premarket_volume": 230847.0,
      "momentum_pct": -1.33,
      "consolidation_tightness_pct": 6.09,
      "distance_from_pm_high_pct": 18.94,
      "extension_from_vwap_pct": -4.94,
      "spread_pct": 1.22
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 8.18,
    "pm_low": 6.31
  },
  {
    "symbol": "DFNS",
    "total_score": 30.61,
    "raw_score": 32.45,
    "breakdown": {
      "price_quality": 2.94,
      "volume_quality": 3.85,
      "rvol": 0.15,
      "volume_acceleration": 2.0,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.11,
      "spread_liquidity": 2.51,
      "momentum_consistency": 3.49,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.06,
      "vwap": 12.0925,
      "vwap_slope": -0.0048,
      "rvol": 0.06,
      "volume_acceleration": 0.57,
      "premarket_volume": 32070.0,
      "momentum_pct": -0.33,
      "consolidation_tightness_pct": 0.75,
      "distance_from_pm_high_pct": 1.19,
      "extension_from_vwap_pct": -0.27,
      "spread_pct": 0.75
    },
    "flags": {
      "meets_min_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.02
  },
  {
    "symbol": "AGBK",
    "total_score": 30.56,
    "raw_score": 32.39,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 2.87,
      "rvol": 0.11,
      "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.45,
      "spread_liquidity": 4.46,
      "momentum_consistency": 2.55,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.14,
      "vwap": 6.1604,
      "vwap_slope": -0.0068,
      "rvol": 0.05,
      "volume_acceleration": 0.88,
      "premarket_volume": 23932.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.24,
      "distance_from_pm_high_pct": 0.73,
      "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": false,
      "vwap_rising": false
    },
    "pm_high": 6.185,
    "pm_low": 6.13
  },
  {
    "symbol": "BETR",
    "total_score": 30.42,
    "raw_score": 32.24,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 4.15,
      "rvol": 0.17,
      "volume_acceleration": 2.65,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.0,
      "spread_liquidity": 3.1,
      "momentum_consistency": 3.27,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.03,
      "vwap": 14.0522,
      "vwap_slope": -0.0126,
      "rvol": 0.07,
      "volume_acceleration": 0.76,
      "premarket_volume": 34614.0,
      "momentum_pct": -0.11,
      "consolidation_tightness_pct": 0.93,
      "distance_from_pm_high_pct": 1.34,
      "extension_from_vwap_pct": -0.16,
      "spread_pct": 0.57
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 14.22,
    "pm_low": 13.96
  },
  {
    "symbol": "AURA",
    "total_score": 30.13,
    "raw_score": 31.94,
    "breakdown": {
      "price_quality": 2.49,
      "volume_quality": 2.64,
      "rvol": 0.11,
      "volume_acceleration": 2.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.8,
      "spread_liquidity": 3.67,
      "momentum_consistency": 2.24,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.49,
      "vwap": 7.4973,
      "vwap_slope": -0.003,
      "rvol": 0.04,
      "volume_acceleration": 1.26,
      "premarket_volume": 22032.0,
      "momentum_pct": -0.07,
      "consolidation_tightness_pct": 0.27,
      "distance_from_pm_high_pct": 0.27,
      "extension_from_vwap_pct": -0.1,
      "spread_pct": 0.4
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 7.51,
    "pm_low": 7.49
  },
  {
    "symbol": "NVA",
    "total_score": 28.92,
    "raw_score": 30.65,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 3.0,
      "rvol": 0.12,
      "volume_acceleration": 3.12,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.18,
      "spread_liquidity": 3.17,
      "momentum_consistency": 2.15,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.46,
      "vwap": 5.4874,
      "vwap_slope": -0.0143,
      "rvol": 0.05,
      "volume_acceleration": 0.9,
      "premarket_volume": 25024.0,
      "momentum_pct": -0.09,
      "consolidation_tightness_pct": 0.69,
      "distance_from_pm_high_pct": 1.09,
      "extension_from_vwap_pct": -0.5,
      "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": 5.5201,
    "pm_low": 5.45
  },
  {
    "symbol": "KBDC",
    "total_score": 28.68,
    "raw_score": 30.4,
    "breakdown": {
      "price_quality": 1.62,
      "volume_quality": 2.47,
      "rvol": 0.1,
      "volume_acceleration": 1.32,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.83,
      "spread_liquidity": 4.75,
      "momentum_consistency": 1.9,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.38,
      "vwap": 13.3986,
      "vwap_slope": -0.004,
      "rvol": 0.04,
      "volume_acceleration": 0.38,
      "premarket_volume": 20565.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.07,
      "distance_from_pm_high_pct": 0.22,
      "extension_from_vwap_pct": -0.14,
      "spread_pct": 0.07
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 13.41,
    "pm_low": 13.38
  },
  {
    "symbol": "TXO",
    "total_score": 27.61,
    "raw_score": 29.27,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 2.84,
      "rvol": 0.11,
      "volume_acceleration": 0.36,
      "price_momentum": 0.1,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.64,
      "spread_liquidity": 4.31,
      "momentum_consistency": 2.0,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.59,
      "vwap": 14.6223,
      "vwap_slope": -0.0277,
      "rvol": 0.05,
      "volume_acceleration": 0.1,
      "premarket_volume": 23688.0,
      "momentum_pct": 0.07,
      "consolidation_tightness_pct": 0.55,
      "distance_from_pm_high_pct": 0.48,
      "extension_from_vwap_pct": -0.22,
      "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.66,
    "pm_low": 14.575
  },
  {
    "symbol": "TKNO",
    "total_score": 27.57,
    "raw_score": 29.22,
    "breakdown": {
      "price_quality": 2.03,
      "volume_quality": 2.41,
      "rvol": 0.1,
      "volume_acceleration": 1.63,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.26,
      "spread_liquidity": 3.58,
      "momentum_consistency": 1.82,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.03,
      "vwap": 7.0425,
      "vwap_slope": -0.0086,
      "rvol": 0.04,
      "volume_acceleration": 0.47,
      "premarket_volume": 20075.0,
      "momentum_pct": -0.07,
      "consolidation_tightness_pct": 0.43,
      "distance_from_pm_high_pct": 0.99,
      "extension_from_vwap_pct": -0.18,
      "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": 7.1,
    "pm_low": 7.005
  },
  {
    "symbol": "XLAB",
    "total_score": 26.6,
    "raw_score": 28.19,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 5.2,
      "rvol": 0.21,
      "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": 0.7,
      "spread_liquidity": 1.85,
      "momentum_consistency": 3.28,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.26,
      "vwap": 5.4381,
      "vwap_slope": -0.0091,
      "rvol": 0.09,
      "volume_acceleration": 0.88,
      "premarket_volume": 43347.0,
      "momentum_pct": -0.94,
      "consolidation_tightness_pct": 2.43,
      "distance_from_pm_high_pct": 7.07,
      "extension_from_vwap_pct": -3.27,
      "spread_pct": 0.95
    },
    "flags": {
      "meets_min_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.25
  }
]