[
  {
    "symbol": "F",
    "total_score": 81.4,
    "raw_score": 86.28,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 12.0,
      "volume_acceleration": 10,
      "price_momentum": 0.43,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 6,
      "spread_liquidity": 4.76,
      "momentum_consistency": 3.59,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.86,
      "vwap": 13.7837,
      "vwap_slope": 0.0178,
      "rvol": 11.3,
      "volume_acceleration": 2.02,
      "premarket_volume": 5651900.0,
      "momentum_pct": 0.29,
      "consolidation_tightness_pct": 0.55,
      "distance_from_pm_high_pct": 0.0,
      "extension_from_vwap_pct": 0.55,
      "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.86,
    "pm_low": 13.74
  },
  {
    "symbol": "MARA",
    "total_score": 78.43,
    "raw_score": 83.14,
    "breakdown": {
      "price_quality": 4.69,
      "volume_quality": 12.0,
      "rvol": 12.0,
      "volume_acceleration": 2.91,
      "price_momentum": 0.66,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 6,
      "spread_liquidity": 4.68,
      "momentum_consistency": 4.2,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.31,
      "vwap": 10.2396,
      "vwap_slope": 0.0066,
      "rvol": 6.25,
      "volume_acceleration": 1.29,
      "premarket_volume": 3124176.0,
      "momentum_pct": 0.44,
      "consolidation_tightness_pct": 0.51,
      "distance_from_pm_high_pct": 0.0,
      "extension_from_vwap_pct": 0.69,
      "spread_pct": 0.1
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 10.31,
    "pm_low": 10.15
  },
  {
    "symbol": "NVAX",
    "total_score": 76.46,
    "raw_score": 81.05,
    "breakdown": {
      "price_quality": 4.85,
      "volume_quality": 12.0,
      "rvol": 2.36,
      "volume_acceleration": 10,
      "price_momentum": 0.97,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 6,
      "spread_liquidity": 4.67,
      "momentum_consistency": 4.21,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.155,
      "vwap": 10.0363,
      "vwap_slope": 0.0325,
      "rvol": 0.98,
      "volume_acceleration": 2.35,
      "premarket_volume": 491227.0,
      "momentum_pct": 0.64,
      "consolidation_tightness_pct": 0.74,
      "distance_from_pm_high_pct": 0.0,
      "extension_from_vwap_pct": 1.18,
      "spread_pct": 0.1
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 10.155,
    "pm_low": 9.925
  },
  {
    "symbol": "ALMS",
    "total_score": 74.38,
    "raw_score": 78.84,
    "breakdown": {
      "price_quality": 4.49,
      "volume_quality": 12.0,
      "rvol": 12.0,
      "volume_acceleration": 10,
      "price_momentum": 1.91,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 3.26,
      "spread_liquidity": 4.65,
      "momentum_consistency": 4.14,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.49,
      "vwap": 9.353,
      "vwap_slope": 0.0168,
      "rvol": 6.78,
      "volume_acceleration": 2.18,
      "premarket_volume": 3390316.0,
      "momentum_pct": 1.27,
      "consolidation_tightness_pct": 2.39,
      "distance_from_pm_high_pct": 3.65,
      "extension_from_vwap_pct": 1.46,
      "spread_pct": 0.11
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 9.85,
    "pm_low": 8.96
  },
  {
    "symbol": "BFLY",
    "total_score": 73.81,
    "raw_score": 78.24,
    "breakdown": {
      "price_quality": 3.0,
      "volume_quality": 12.0,
      "rvol": 2.35,
      "volume_acceleration": 10,
      "price_momentum": 1.32,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.95,
      "spread_liquidity": 4.58,
      "momentum_consistency": 3.03,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.0,
      "vwap": 7.9176,
      "vwap_slope": 0.0151,
      "rvol": 0.98,
      "volume_acceleration": 3.89,
      "premarket_volume": 489376.0,
      "momentum_pct": 0.88,
      "consolidation_tightness_pct": 1.13,
      "distance_from_pm_high_pct": 0.06,
      "extension_from_vwap_pct": 1.04,
      "spread_pct": 0.13
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 8.005,
    "pm_low": 7.86
  },
  {
    "symbol": "INFQ",
    "total_score": 72.21,
    "raw_score": 76.54,
    "breakdown": {
      "price_quality": 2.28,
      "volume_quality": 12.0,
      "rvol": 2.77,
      "volume_acceleration": 10,
      "price_momentum": 0.12,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.79,
      "spread_liquidity": 4.74,
      "momentum_consistency": 2.85,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.725,
      "vwap": 12.6901,
      "vwap_slope": 0.0027,
      "rvol": 1.15,
      "volume_acceleration": 3.81,
      "premarket_volume": 577358.0,
      "momentum_pct": 0.08,
      "consolidation_tightness_pct": 0.28,
      "distance_from_pm_high_pct": 0.27,
      "extension_from_vwap_pct": 0.28,
      "spread_pct": 0.08
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 12.76,
    "pm_low": 12.57
  },
  {
    "symbol": "GMRS",
    "total_score": 71.94,
    "raw_score": 76.25,
    "breakdown": {
      "price_quality": 1.95,
      "volume_quality": 12.0,
      "rvol": 1.19,
      "volume_acceleration": 10,
      "price_momentum": 0.87,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.89,
      "spread_liquidity": 3.98,
      "momentum_consistency": 4.38,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.05,
      "vwap": 12.8949,
      "vwap_slope": 0.076,
      "rvol": 0.5,
      "volume_acceleration": 9.92,
      "premarket_volume": 248748.0,
      "momentum_pct": 0.58,
      "consolidation_tightness_pct": 0.73,
      "distance_from_pm_high_pct": 0.15,
      "extension_from_vwap_pct": 1.2,
      "spread_pct": 0.31
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 13.07,
    "pm_low": 12.54
  },
  {
    "symbol": "YSS",
    "total_score": 70.39,
    "raw_score": 74.61,
    "breakdown": {
      "price_quality": 3.76,
      "volume_quality": 12.0,
      "rvol": 1.33,
      "volume_acceleration": 7.59,
      "price_momentum": 0.26,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 6,
      "spread_liquidity": 4.62,
      "momentum_consistency": 3.05,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.755,
      "vwap": 8.6737,
      "vwap_slope": 0.0078,
      "rvol": 0.56,
      "volume_acceleration": 1.76,
      "premarket_volume": 277514.0,
      "momentum_pct": 0.17,
      "consolidation_tightness_pct": 0.29,
      "distance_from_pm_high_pct": 0.0,
      "extension_from_vwap_pct": 0.94,
      "spread_pct": 0.11
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 8.755,
    "pm_low": 8.63
  },
  {
    "symbol": "NOK",
    "total_score": 70.24,
    "raw_score": 74.45,
    "breakdown": {
      "price_quality": 4.94,
      "volume_quality": 12.0,
      "rvol": 12.0,
      "volume_acceleration": 5.29,
      "price_momentum": 0.3,
      "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.9,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.935,
      "vwap": 9.9082,
      "vwap_slope": 0.0029,
      "rvol": 9.14,
      "volume_acceleration": 1.53,
      "premarket_volume": 4569783.0,
      "momentum_pct": 0.2,
      "consolidation_tightness_pct": 0.4,
      "distance_from_pm_high_pct": 0.05,
      "extension_from_vwap_pct": 0.27,
      "spread_pct": 0.1
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 9.94,
    "pm_low": 9.87
  },
  {
    "symbol": "JOBY",
    "total_score": 68.82,
    "raw_score": 72.95,
    "breakdown": {
      "price_quality": 1.66,
      "volume_quality": 12.0,
      "rvol": 12.0,
      "volume_acceleration": 4.9,
      "price_momentum": 0.23,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.83,
      "spread_liquidity": 4.5,
      "momentum_consistency": 3.03,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.665,
      "vwap": 6.6567,
      "vwap_slope": -0.0012,
      "rvol": 5.12,
      "volume_acceleration": 1.49,
      "premarket_volume": 2558783.0,
      "momentum_pct": 0.15,
      "consolidation_tightness_pct": 0.3,
      "distance_from_pm_high_pct": 0.22,
      "extension_from_vwap_pct": 0.12,
      "spread_pct": 0.15
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 6.68,
    "pm_low": 6.62
  },
  {
    "symbol": "TAC",
    "total_score": 68.7,
    "raw_score": 72.82,
    "breakdown": {
      "price_quality": 3.24,
      "volume_quality": 12.0,
      "rvol": 0.51,
      "volume_acceleration": 6.71,
      "price_momentum": 0.45,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.87,
      "spread_liquidity": 4.72,
      "momentum_consistency": 3.32,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.755,
      "vwap": 11.7379,
      "vwap_slope": 0.0019,
      "rvol": 0.21,
      "volume_acceleration": 1.67,
      "premarket_volume": 105970.0,
      "momentum_pct": 0.3,
      "consolidation_tightness_pct": 0.38,
      "distance_from_pm_high_pct": 0.17,
      "extension_from_vwap_pct": 0.15,
      "spread_pct": 0.09
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 11.775,
    "pm_low": 11.69
  },
  {
    "symbol": "RUN",
    "total_score": 68.65,
    "raw_score": 72.76,
    "breakdown": {
      "price_quality": 3.38,
      "volume_quality": 12.0,
      "rvol": 2.17,
      "volume_acceleration": 5.22,
      "price_momentum": 0.18,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.96,
      "spread_liquidity": 4.6,
      "momentum_consistency": 3.25,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.385,
      "vwap": 8.3534,
      "vwap_slope": 0.005,
      "rvol": 0.9,
      "volume_acceleration": 1.52,
      "premarket_volume": 451846.0,
      "momentum_pct": 0.12,
      "consolidation_tightness_pct": 0.36,
      "distance_from_pm_high_pct": 0.06,
      "extension_from_vwap_pct": 0.38,
      "spread_pct": 0.12
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 8.39,
    "pm_low": 8.33
  },
  {
    "symbol": "CRGY",
    "total_score": 68.62,
    "raw_score": 72.74,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 1.76,
      "volume_acceleration": 7.5,
      "price_momentum": 0.27,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.92,
      "spread_liquidity": 4.76,
      "momentum_consistency": 3.03,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.025,
      "vwap": 14.0055,
      "vwap_slope": 0.0002,
      "rvol": 0.73,
      "volume_acceleration": 1.75,
      "premarket_volume": 366027.0,
      "momentum_pct": 0.18,
      "consolidation_tightness_pct": 0.25,
      "distance_from_pm_high_pct": 0.11,
      "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": true,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 14.04,
    "pm_low": 13.955
  },
  {
    "symbol": "EROC",
    "total_score": 67.93,
    "raw_score": 72.01,
    "breakdown": {
      "price_quality": 3.48,
      "volume_quality": 12.0,
      "rvol": 0.55,
      "volume_acceleration": 5.6,
      "price_momentum": 1.65,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.93,
      "spread_liquidity": 4.13,
      "momentum_consistency": 2.67,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.515,
      "vwap": 11.3785,
      "vwap_slope": 0.0221,
      "rvol": 0.23,
      "volume_acceleration": 1.56,
      "premarket_volume": 113632.0,
      "momentum_pct": 1.1,
      "consolidation_tightness_pct": 1.62,
      "distance_from_pm_high_pct": 0.09,
      "extension_from_vwap_pct": 1.2,
      "spread_pct": 0.26
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 11.525,
    "pm_low": 11.29
  },
  {
    "symbol": "AGNC",
    "total_score": 67.44,
    "raw_score": 71.49,
    "breakdown": {
      "price_quality": 4.39,
      "volume_quality": 12.0,
      "rvol": 11.95,
      "volume_acceleration": 2.32,
      "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.69,
      "momentum_consistency": 3.66,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.6099,
      "vwap": 10.5981,
      "vwap_slope": 0.0003,
      "rvol": 4.48,
      "volume_acceleration": 0.67,
      "premarket_volume": 2240108.0,
      "momentum_pct": 0.1,
      "consolidation_tightness_pct": 0.19,
      "distance_from_pm_high_pct": 0.1,
      "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.62,
    "pm_low": 10.58
  },
  {
    "symbol": "WULF",
    "total_score": 67.24,
    "raw_score": 71.28,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 12.0,
      "volume_acceleration": 3.2,
      "price_momentum": 0.41,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.42,
      "spread_liquidity": 4.77,
      "momentum_consistency": 3.17,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.705,
      "vwap": 14.6983,
      "vwap_slope": -0.0125,
      "rvol": 4.88,
      "volume_acceleration": 0.92,
      "premarket_volume": 2438132.0,
      "momentum_pct": 0.27,
      "consolidation_tightness_pct": 0.41,
      "distance_from_pm_high_pct": 0.78,
      "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": true,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 14.82,
    "pm_low": 14.55
  },
  {
    "symbol": "UUUU",
    "total_score": 66.77,
    "raw_score": 70.77,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 1.53,
      "volume_acceleration": 5.88,
      "price_momentum": 0.13,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.66,
      "spread_liquidity": 4.77,
      "momentum_consistency": 3.31,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.255,
      "vwap": 14.2222,
      "vwap_slope": 0.0035,
      "rvol": 0.64,
      "volume_acceleration": 1.59,
      "premarket_volume": 319172.0,
      "momentum_pct": 0.08,
      "consolidation_tightness_pct": 0.27,
      "distance_from_pm_high_pct": 0.45,
      "extension_from_vwap_pct": 0.23,
      "spread_pct": 0.07
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 14.32,
    "pm_low": 14.16
  },
  {
    "symbol": "SXC",
    "total_score": 66.69,
    "raw_score": 70.69,
    "breakdown": {
      "price_quality": 4.84,
      "volume_quality": 9.74,
      "rvol": 0.39,
      "volume_acceleration": 6.35,
      "price_momentum": 0.22,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.93,
      "spread_liquidity": 4.67,
      "momentum_consistency": 2.55,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.16,
      "vwap": 10.1363,
      "vwap_slope": 0.0005,
      "rvol": 0.16,
      "volume_acceleration": 1.64,
      "premarket_volume": 81200.0,
      "momentum_pct": 0.15,
      "consolidation_tightness_pct": 0.25,
      "distance_from_pm_high_pct": 0.1,
      "extension_from_vwap_pct": 0.23,
      "spread_pct": 0.1
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 10.17,
    "pm_low": 10.1099
  },
  {
    "symbol": "APPS",
    "total_score": 66.46,
    "raw_score": 70.45,
    "breakdown": {
      "price_quality": 4.85,
      "volume_quality": 12.0,
      "rvol": 0.95,
      "volume_acceleration": 3.14,
      "price_momentum": 0.22,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.74,
      "spread_liquidity": 4.34,
      "momentum_consistency": 3.2,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.155,
      "vwap": 10.1325,
      "vwap_slope": 0.0035,
      "rvol": 0.4,
      "volume_acceleration": 1.31,
      "premarket_volume": 198835.0,
      "momentum_pct": 0.15,
      "consolidation_tightness_pct": 0.59,
      "distance_from_pm_high_pct": 0.34,
      "extension_from_vwap_pct": 0.22,
      "spread_pct": 0.2
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 10.19,
    "pm_low": 10.09
  },
  {
    "symbol": "FPI",
    "total_score": 66.42,
    "raw_score": 70.4,
    "breakdown": {
      "price_quality": 4.47,
      "volume_quality": 12.0,
      "rvol": 0.55,
      "volume_acceleration": 3.45,
      "price_momentum": 0.29,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.96,
      "spread_liquidity": 4.68,
      "momentum_consistency": 3.0,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.525,
      "vwap": 10.4874,
      "vwap_slope": 0.0061,
      "rvol": 0.23,
      "volume_acceleration": 1.34,
      "premarket_volume": 114687.0,
      "momentum_pct": 0.19,
      "consolidation_tightness_pct": 0.48,
      "distance_from_pm_high_pct": 0.05,
      "extension_from_vwap_pct": 0.36,
      "spread_pct": 0.1
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 10.53,
    "pm_low": 10.47
  },
  {
    "symbol": "CUB",
    "total_score": 66.21,
    "raw_score": 70.18,
    "breakdown": {
      "price_quality": 4.13,
      "volume_quality": 12.0,
      "rvol": 0.49,
      "volume_acceleration": 10,
      "price_momentum": 0.07,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 6,
      "spread_liquidity": 4.69,
      "momentum_consistency": 4.0,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.87,
      "vwap": 10.8601,
      "vwap_slope": -0.0049,
      "rvol": 0.2,
      "volume_acceleration": 59.71,
      "premarket_volume": 101521.0,
      "momentum_pct": 0.05,
      "consolidation_tightness_pct": 0.09,
      "distance_from_pm_high_pct": 0.0,
      "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": true,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 10.87,
    "pm_low": 10.86
  },
  {
    "symbol": "PCG",
    "total_score": 66.07,
    "raw_score": 70.03,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 12.0,
      "volume_acceleration": 1.8,
      "price_momentum": 2.31,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 7.87,
      "distance_from_pm_high": 2.86,
      "spread_liquidity": 4.76,
      "momentum_consistency": 4.14,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.17,
      "vwap": 14.0471,
      "vwap_slope": -0.0063,
      "rvol": 113.09,
      "volume_acceleration": 0.52,
      "premarket_volume": 56543766.0,
      "momentum_pct": 1.54,
      "consolidation_tightness_pct": 3.2,
      "distance_from_pm_high_pct": 4.19,
      "extension_from_vwap_pct": 0.87,
      "spread_pct": 0.07
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 14.79,
    "pm_low": 13.47
  },
  {
    "symbol": "STLA",
    "total_score": 66.07,
    "raw_score": 70.03,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 9.44,
      "volume_acceleration": 7.66,
      "price_momentum": 0.14,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.93,
      "spread_liquidity": 4.38,
      "momentum_consistency": 2.58,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.335,
      "vwap": 5.322,
      "vwap_slope": 0.001,
      "rvol": 3.54,
      "volume_acceleration": 1.77,
      "premarket_volume": 1770561.0,
      "momentum_pct": 0.09,
      "consolidation_tightness_pct": 0.5,
      "distance_from_pm_high_pct": 0.09,
      "extension_from_vwap_pct": 0.25,
      "spread_pct": 0.19
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 5.34,
    "pm_low": 5.31
  },
  {
    "symbol": "EXK",
    "total_score": 65.5,
    "raw_score": 69.43,
    "breakdown": {
      "price_quality": 4.59,
      "volume_quality": 12.0,
      "rvol": 2.47,
      "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.96,
      "spread_liquidity": 4.68,
      "momentum_consistency": 3.25,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.41,
      "vwap": 10.3597,
      "vwap_slope": 0.006,
      "rvol": 1.03,
      "volume_acceleration": 2.1,
      "premarket_volume": 514987.0,
      "momentum_pct": 0.05,
      "consolidation_tightness_pct": 0.48,
      "distance_from_pm_high_pct": 0.05,
      "extension_from_vwap_pct": 0.49,
      "spread_pct": 0.1
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 10.415,
    "pm_low": 10.32
  },
  {
    "symbol": "VG",
    "total_score": 65.25,
    "raw_score": 69.16,
    "breakdown": {
      "price_quality": 0.0,
      "volume_quality": 12.0,
      "rvol": 6.73,
      "volume_acceleration": 10,
      "price_momentum": 0.35,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.93,
      "spread_liquidity": 4.78,
      "momentum_consistency": 2.98,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 15.125,
      "vwap": 15.0836,
      "vwap_slope": 0.0228,
      "rvol": 2.52,
      "volume_acceleration": 2.11,
      "premarket_volume": 1261212.0,
      "momentum_pct": 0.23,
      "consolidation_tightness_pct": 0.5,
      "distance_from_pm_high_pct": 0.1,
      "extension_from_vwap_pct": 0.27,
      "spread_pct": 0.07
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 15.14,
    "pm_low": 14.995
  },
  {
    "symbol": "SSL",
    "total_score": 65.07,
    "raw_score": 68.97,
    "breakdown": {
      "price_quality": 2.61,
      "volume_quality": 12.0,
      "rvol": 1.02,
      "volume_acceleration": 3.95,
      "price_momentum": 0.18,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.73,
      "spread_liquidity": 4.73,
      "momentum_consistency": 2.76,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.395,
      "vwap": 12.3734,
      "vwap_slope": 0.0001,
      "rvol": 0.42,
      "volume_acceleration": 1.14,
      "premarket_volume": 211825.0,
      "momentum_pct": 0.12,
      "consolidation_tightness_pct": 0.24,
      "distance_from_pm_high_pct": 0.36,
      "extension_from_vwap_pct": 0.17,
      "spread_pct": 0.08
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 12.44,
    "pm_low": 12.32
  },
  {
    "symbol": "NMR",
    "total_score": 65.0,
    "raw_score": 68.9,
    "breakdown": {
      "price_quality": 4.84,
      "volume_quality": 12.0,
      "rvol": 0.78,
      "volume_acceleration": 10,
      "price_momentum": 0.3,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.85,
      "spread_liquidity": 4.67,
      "momentum_consistency": 1.67,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.165,
      "vwap": 10.1648,
      "vwap_slope": -0.0039,
      "rvol": 0.32,
      "volume_acceleration": 3.32,
      "premarket_volume": 161880.0,
      "momentum_pct": 0.2,
      "consolidation_tightness_pct": 0.26,
      "distance_from_pm_high_pct": 0.2,
      "extension_from_vwap_pct": 0.0,
      "spread_pct": 0.1
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 10.185,
    "pm_low": 10.14
  },
  {
    "symbol": "VSTM",
    "total_score": 64.78,
    "raw_score": 68.67,
    "breakdown": {
      "price_quality": 2.54,
      "volume_quality": 12.0,
      "rvol": 1.03,
      "volume_acceleration": 2.98,
      "price_momentum": 0.22,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 6,
      "spread_liquidity": 4.56,
      "momentum_consistency": 3.35,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.535,
      "vwap": 7.4811,
      "vwap_slope": 0.0079,
      "rvol": 0.43,
      "volume_acceleration": 0.86,
      "premarket_volume": 213694.0,
      "momentum_pct": 0.15,
      "consolidation_tightness_pct": 0.4,
      "distance_from_pm_high_pct": 0.0,
      "extension_from_vwap_pct": 0.72,
      "spread_pct": 0.13
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 7.535,
    "pm_low": 7.45
  },
  {
    "symbol": "GPGI",
    "total_score": 64.69,
    "raw_score": 68.57,
    "breakdown": {
      "price_quality": 2.2,
      "volume_quality": 12.0,
      "rvol": 1.11,
      "volume_acceleration": 3.2,
      "price_momentum": 0.35,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.97,
      "spread_liquidity": 4.74,
      "momentum_consistency": 3.0,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.805,
      "vwap": 12.7498,
      "vwap_slope": 0.0038,
      "rvol": 0.46,
      "volume_acceleration": 0.92,
      "premarket_volume": 231956.0,
      "momentum_pct": 0.23,
      "consolidation_tightness_pct": 0.27,
      "distance_from_pm_high_pct": 0.04,
      "extension_from_vwap_pct": 0.43,
      "spread_pct": 0.08
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 12.81,
    "pm_low": 12.69
  },
  {
    "symbol": "RIG",
    "total_score": 64.36,
    "raw_score": 68.23,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 12.0,
      "volume_acceleration": 2.96,
      "price_momentum": 0.17,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 6,
      "spread_liquidity": 4.44,
      "momentum_consistency": 2.76,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.97,
      "vwap": 5.9501,
      "vwap_slope": 0.0015,
      "rvol": 9.67,
      "volume_acceleration": 0.85,
      "premarket_volume": 4834108.0,
      "momentum_pct": 0.11,
      "consolidation_tightness_pct": 0.34,
      "distance_from_pm_high_pct": 0.0,
      "extension_from_vwap_pct": 0.34,
      "spread_pct": 0.17
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 5.97,
    "pm_low": 5.93
  },
  {
    "symbol": "SUJA",
    "total_score": 64.33,
    "raw_score": 68.19,
    "breakdown": {
      "price_quality": 4.57,
      "volume_quality": 7.13,
      "rvol": 0.29,
      "volume_acceleration": 7.35,
      "price_momentum": 0.97,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 6,
      "spread_liquidity": 3.08,
      "momentum_consistency": 2.81,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.43,
      "vwap": 10.3615,
      "vwap_slope": 0.006,
      "rvol": 0.12,
      "volume_acceleration": 1.74,
      "premarket_volume": 59411.0,
      "momentum_pct": 0.64,
      "consolidation_tightness_pct": 0.64,
      "distance_from_pm_high_pct": 0.0,
      "extension_from_vwap_pct": 0.66,
      "spread_pct": 0.58
    },
    "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.43,
    "pm_low": 10.29
  },
  {
    "symbol": "RSKD",
    "total_score": 63.92,
    "raw_score": 67.76,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 0.87,
      "volume_acceleration": 3.68,
      "price_momentum": 0.49,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 6,
      "spread_liquidity": 4.46,
      "momentum_consistency": 2.76,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.2,
      "vwap": 6.1616,
      "vwap_slope": 0.0067,
      "rvol": 0.36,
      "volume_acceleration": 1.37,
      "premarket_volume": 181871.0,
      "momentum_pct": 0.32,
      "consolidation_tightness_pct": 0.57,
      "distance_from_pm_high_pct": 0.0,
      "extension_from_vwap_pct": 0.62,
      "spread_pct": 0.16
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 6.2,
    "pm_low": 6.145
  },
  {
    "symbol": "KRO",
    "total_score": 63.87,
    "raw_score": 67.7,
    "breakdown": {
      "price_quality": 3.33,
      "volume_quality": 12.0,
      "rvol": 0.52,
      "volume_acceleration": 10,
      "price_momentum": 0.54,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.64,
      "spread_liquidity": 4.2,
      "momentum_consistency": 2.67,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.33,
      "vwap": 8.3069,
      "vwap_slope": -0.0365,
      "rvol": 0.22,
      "volume_acceleration": 5.04,
      "premarket_volume": 108853.0,
      "momentum_pct": 0.36,
      "consolidation_tightness_pct": 0.6,
      "distance_from_pm_high_pct": 0.48,
      "extension_from_vwap_pct": 0.28,
      "spread_pct": 0.24
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 8.37,
    "pm_low": 8.26
  },
  {
    "symbol": "BETR",
    "total_score": 63.73,
    "raw_score": 67.56,
    "breakdown": {
      "price_quality": 2.6,
      "volume_quality": 12.0,
      "rvol": 0.64,
      "volume_acceleration": 3.59,
      "price_momentum": 0.36,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.28,
      "spread_liquidity": 3.93,
      "momentum_consistency": 3.16,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.4,
      "vwap": 12.3625,
      "vwap_slope": 0.0028,
      "rvol": 0.27,
      "volume_acceleration": 1.36,
      "premarket_volume": 133092.0,
      "momentum_pct": 0.24,
      "consolidation_tightness_pct": 0.64,
      "distance_from_pm_high_pct": 0.96,
      "extension_from_vwap_pct": 0.3,
      "spread_pct": 0.32
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 12.52,
    "pm_low": 12.26
  },
  {
    "symbol": "CLSK",
    "total_score": 63.5,
    "raw_score": 67.31,
    "breakdown": {
      "price_quality": 3.85,
      "volume_quality": 12.0,
      "rvol": 4.25,
      "volume_acceleration": 3.32,
      "price_momentum": 0.81,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.87,
      "spread_liquidity": 4.7,
      "momentum_consistency": 3.72,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.155,
      "vwap": 11.108,
      "vwap_slope": -0.0017,
      "rvol": 1.59,
      "volume_acceleration": 0.95,
      "premarket_volume": 796234.0,
      "momentum_pct": 0.54,
      "consolidation_tightness_pct": 0.69,
      "distance_from_pm_high_pct": 0.18,
      "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": true,
      "vwap_rising": false
    },
    "pm_high": 11.175,
    "pm_low": 11.0
  },
  {
    "symbol": "HLIT",
    "total_score": 63.23,
    "raw_score": 67.02,
    "breakdown": {
      "price_quality": 3.25,
      "volume_quality": 10.12,
      "rvol": 0.4,
      "volume_acceleration": 4.04,
      "price_momentum": 0.06,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.94,
      "spread_liquidity": 4.43,
      "momentum_consistency": 2.78,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.75,
      "vwap": 11.7385,
      "vwap_slope": 0.0,
      "rvol": 0.17,
      "volume_acceleration": 1.4,
      "premarket_volume": 84303.0,
      "momentum_pct": 0.04,
      "consolidation_tightness_pct": 0.13,
      "distance_from_pm_high_pct": 0.09,
      "extension_from_vwap_pct": 0.1,
      "spread_pct": 0.17
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 11.76,
    "pm_low": 11.715
  },
  {
    "symbol": "LWLG",
    "total_score": 63.16,
    "raw_score": 66.95,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 1.12,
      "volume_acceleration": 2.89,
      "price_momentum": 0.29,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.85,
      "spread_liquidity": 4.35,
      "momentum_consistency": 2.95,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.135,
      "vwap": 5.1239,
      "vwap_slope": 0.0012,
      "rvol": 0.47,
      "volume_acceleration": 1.29,
      "premarket_volume": 232521.0,
      "momentum_pct": 0.2,
      "consolidation_tightness_pct": 0.49,
      "distance_from_pm_high_pct": 0.19,
      "extension_from_vwap_pct": 0.22,
      "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.145,
    "pm_low": 5.1
  },
  {
    "symbol": "ADT",
    "total_score": 62.63,
    "raw_score": 66.38,
    "breakdown": {
      "price_quality": 2.3,
      "volume_quality": 12.0,
      "rvol": 2.74,
      "volume_acceleration": 10,
      "price_momentum": 0.1,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.95,
      "spread_liquidity": 4.54,
      "momentum_consistency": 2.34,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.305,
      "vwap": 7.2934,
      "vwap_slope": 0.0068,
      "rvol": 1.14,
      "volume_acceleration": 3.2,
      "premarket_volume": 570598.0,
      "momentum_pct": 0.07,
      "consolidation_tightness_pct": 0.34,
      "distance_from_pm_high_pct": 0.07,
      "extension_from_vwap_pct": 0.16,
      "spread_pct": 0.14
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 7.31,
    "pm_low": 7.28
  },
  {
    "symbol": "PSKY",
    "total_score": 62.49,
    "raw_score": 66.23,
    "breakdown": {
      "price_quality": 4.53,
      "volume_quality": 12.0,
      "rvol": 6.92,
      "volume_acceleration": 2.9,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.82,
      "spread_liquidity": 4.68,
      "momentum_consistency": 2.98,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.475,
      "vwap": 10.4414,
      "vwap_slope": 0.0061,
      "rvol": 2.6,
      "volume_acceleration": 0.83,
      "premarket_volume": 1298288.0,
      "momentum_pct": -0.1,
      "consolidation_tightness_pct": 0.24,
      "distance_from_pm_high_pct": 0.24,
      "extension_from_vwap_pct": 0.32,
      "spread_pct": 0.1
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 10.5,
    "pm_low": 10.37
  },
  {
    "symbol": "TRIP",
    "total_score": 62.32,
    "raw_score": 66.06,
    "breakdown": {
      "price_quality": 4.54,
      "volume_quality": 12.0,
      "rvol": 1.03,
      "volume_acceleration": 9.15,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.76,
      "spread_liquidity": 4.65,
      "momentum_consistency": 2.53,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.535,
      "vwap": 9.5282,
      "vwap_slope": 0.0048,
      "rvol": 0.43,
      "volume_acceleration": 1.91,
      "premarket_volume": 215465.0,
      "momentum_pct": -0.05,
      "consolidation_tightness_pct": 0.16,
      "distance_from_pm_high_pct": 0.31,
      "extension_from_vwap_pct": 0.07,
      "spread_pct": 0.1
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 9.565,
    "pm_low": 9.48
  },
  {
    "symbol": "BSM",
    "total_score": 62.24,
    "raw_score": 65.98,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 3.9,
      "rvol": 0.16,
      "volume_acceleration": 10,
      "price_momentum": 0.3,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 6,
      "spread_liquidity": 4.33,
      "momentum_consistency": 3.79,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.91,
      "vwap": 14.8683,
      "vwap_slope": 0.0366,
      "rvol": 0.06,
      "volume_acceleration": 5.41,
      "premarket_volume": 32492.0,
      "momentum_pct": 0.2,
      "consolidation_tightness_pct": 0.34,
      "distance_from_pm_high_pct": 0.0,
      "extension_from_vwap_pct": 0.28,
      "spread_pct": 0.2
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 14.91,
    "pm_low": 14.81
  },
  {
    "symbol": "SB",
    "total_score": 62.02,
    "raw_score": 65.74,
    "breakdown": {
      "price_quality": 3.74,
      "volume_quality": 11.54,
      "rvol": 0.46,
      "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.62,
      "momentum_consistency": 3.11,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.745,
      "vwap": 8.7356,
      "vwap_slope": 0.0028,
      "rvol": 0.19,
      "volume_acceleration": 2.79,
      "premarket_volume": 96135.0,
      "momentum_pct": -0.06,
      "consolidation_tightness_pct": 0.11,
      "distance_from_pm_high_pct": 0.17,
      "extension_from_vwap_pct": 0.11,
      "spread_pct": 0.11
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 8.76,
    "pm_low": 8.71
  },
  {
    "symbol": "ACDC",
    "total_score": 61.91,
    "raw_score": 65.62,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 11.79,
      "rvol": 0.47,
      "volume_acceleration": 1.53,
      "price_momentum": 0.89,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 6,
      "spread_liquidity": 4.34,
      "momentum_consistency": 3.09,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.065,
      "vwap": 5.0223,
      "vwap_slope": 0.0059,
      "rvol": 0.2,
      "volume_acceleration": 0.44,
      "premarket_volume": 98281.0,
      "momentum_pct": 0.6,
      "consolidation_tightness_pct": 0.59,
      "distance_from_pm_high_pct": 0.0,
      "extension_from_vwap_pct": 0.85,
      "spread_pct": 0.2
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 5.065,
    "pm_low": 4.99
  },
  {
    "symbol": "DRVN",
    "total_score": 61.77,
    "raw_score": 65.48,
    "breakdown": {
      "price_quality": 2.25,
      "volume_quality": 12.0,
      "rvol": 1.24,
      "volume_acceleration": 10,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.36,
      "spread_liquidity": 4.48,
      "momentum_consistency": 3.76,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.75,
      "vwap": 12.7395,
      "vwap_slope": 0.0293,
      "rvol": 0.52,
      "volume_acceleration": 4.77,
      "premarket_volume": 257802.0,
      "momentum_pct": -0.7,
      "consolidation_tightness_pct": 0.86,
      "distance_from_pm_high_pct": 0.86,
      "extension_from_vwap_pct": 0.08,
      "spread_pct": 0.16
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 12.86,
    "pm_low": 12.635
  },
  {
    "symbol": "CLYM",
    "total_score": 61.53,
    "raw_score": 65.22,
    "breakdown": {
      "price_quality": 0.0,
      "volume_quality": 12.0,
      "rvol": 1.13,
      "volume_acceleration": 1.6,
      "price_momentum": 0.35,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.88,
      "spread_liquidity": 4.33,
      "momentum_consistency": 3.93,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 15.005,
      "vwap": 14.8711,
      "vwap_slope": 0.0188,
      "rvol": 0.47,
      "volume_acceleration": 0.46,
      "premarket_volume": 234823.0,
      "momentum_pct": 0.23,
      "consolidation_tightness_pct": 0.43,
      "distance_from_pm_high_pct": 0.17,
      "extension_from_vwap_pct": 0.9,
      "spread_pct": 0.2
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 15.03,
    "pm_low": 14.72
  },
  {
    "symbol": "KODK",
    "total_score": 61.47,
    "raw_score": 65.16,
    "breakdown": {
      "price_quality": 3.9,
      "volume_quality": 12.0,
      "rvol": 0.77,
      "volume_acceleration": 10,
      "price_momentum": 0.25,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.87,
      "spread_liquidity": 4.25,
      "momentum_consistency": 1.71,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.9,
      "vwap": 8.8696,
      "vwap_slope": 0.0251,
      "rvol": 0.32,
      "volume_acceleration": 4.87,
      "premarket_volume": 160034.0,
      "momentum_pct": 0.17,
      "consolidation_tightness_pct": 0.62,
      "distance_from_pm_high_pct": 0.17,
      "extension_from_vwap_pct": 0.34,
      "spread_pct": 0.22
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 8.915,
    "pm_low": 8.815
  },
  {
    "symbol": "BTGO",
    "total_score": 61.18,
    "raw_score": 64.85,
    "breakdown": {
      "price_quality": 1.96,
      "volume_quality": 12.0,
      "rvol": 0.83,
      "volume_acceleration": 10,
      "price_momentum": 0.22,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.97,
      "spread_liquidity": 4.52,
      "momentum_consistency": 2.96,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.955,
      "vwap": 6.9161,
      "vwap_slope": 0.0026,
      "rvol": 0.35,
      "volume_acceleration": 2.17,
      "premarket_volume": 173242.0,
      "momentum_pct": 0.14,
      "consolidation_tightness_pct": 0.33,
      "distance_from_pm_high_pct": 0.04,
      "extension_from_vwap_pct": 0.56,
      "spread_pct": 0.14
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 6.958,
    "pm_low": 6.895
  },
  {
    "symbol": "DOLE",
    "total_score": 61.03,
    "raw_score": 64.7,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 0.53,
      "volume_acceleration": 1.5,
      "price_momentum": 0.27,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.89,
      "spread_liquidity": 4.52,
      "momentum_consistency": 2.48,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.925,
      "vwap": 13.9114,
      "vwap_slope": 0.0002,
      "rvol": 0.22,
      "volume_acceleration": 0.43,
      "premarket_volume": 111349.0,
      "momentum_pct": 0.18,
      "consolidation_tightness_pct": 0.29,
      "distance_from_pm_high_pct": 0.14,
      "extension_from_vwap_pct": 0.1,
      "spread_pct": 0.14
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 13.945,
    "pm_low": 13.885
  },
  {
    "symbol": "BB",
    "total_score": 60.85,
    "raw_score": 64.51,
    "breakdown": {
      "price_quality": 2.83,
      "volume_quality": 12.0,
      "rvol": 4.5,
      "volume_acceleration": 2.91,
      "price_momentum": 0.1,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.76,
      "spread_liquidity": 4.57,
      "momentum_consistency": 3.03,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.825,
      "vwap": 7.8172,
      "vwap_slope": -0.0001,
      "rvol": 1.69,
      "volume_acceleration": 0.84,
      "premarket_volume": 844564.0,
      "momentum_pct": 0.06,
      "consolidation_tightness_pct": 0.26,
      "distance_from_pm_high_pct": 0.32,
      "extension_from_vwap_pct": 0.1,
      "spread_pct": 0.13
    },
    "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": 7.85,
    "pm_low": 7.77
  },
  {
    "symbol": "ZURA",
    "total_score": 60.76,
    "raw_score": 64.41,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 0.63,
      "volume_acceleration": 10,
      "price_momentum": 0.27,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 6,
      "spread_liquidity": 4.41,
      "momentum_consistency": 3.2,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.65,
      "vwap": 5.6209,
      "vwap_slope": 0.0049,
      "rvol": 0.26,
      "volume_acceleration": 2.53,
      "premarket_volume": 131271.0,
      "momentum_pct": 0.18,
      "consolidation_tightness_pct": 0.44,
      "distance_from_pm_high_pct": 0.0,
      "extension_from_vwap_pct": 0.52,
      "spread_pct": 0.18
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 5.65,
    "pm_low": 5.581
  },
  {
    "symbol": "FLNC",
    "total_score": 60.59,
    "raw_score": 64.22,
    "breakdown": {
      "price_quality": 4.56,
      "volume_quality": 12.0,
      "rvol": 1.36,
      "volume_acceleration": 3.45,
      "price_momentum": 0.14,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.96,
      "spread_liquidity": 4.68,
      "momentum_consistency": 3.25,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.435,
      "vwap": 10.3983,
      "vwap_slope": -0.0,
      "rvol": 0.57,
      "volume_acceleration": 0.99,
      "premarket_volume": 283916.0,
      "momentum_pct": 0.1,
      "consolidation_tightness_pct": 0.38,
      "distance_from_pm_high_pct": 0.05,
      "extension_from_vwap_pct": 0.35,
      "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.44,
    "pm_low": 10.345
  },
  {
    "symbol": "XHLD",
    "total_score": 60.57,
    "raw_score": 64.21,
    "breakdown": {
      "price_quality": 4.46,
      "volume_quality": 12.0,
      "rvol": 0.68,
      "volume_acceleration": 10,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 4.94,
      "spread_liquidity": 1.83,
      "momentum_consistency": 3.9,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.455,
      "vwap": 9.3999,
      "vwap_slope": 0.064,
      "rvol": 0.28,
      "volume_acceleration": 8.55,
      "premarket_volume": 141755.0,
      "momentum_pct": -0.32,
      "consolidation_tightness_pct": 1.8,
      "distance_from_pm_high_pct": 1.41,
      "extension_from_vwap_pct": 0.59,
      "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": true,
      "vwap_rising": true
    },
    "pm_high": 9.59,
    "pm_low": 9.2803
  },
  {
    "symbol": "NOMD",
    "total_score": 60.47,
    "raw_score": 64.1,
    "breakdown": {
      "price_quality": 3.36,
      "volume_quality": 12.0,
      "rvol": 0.56,
      "volume_acceleration": 9.56,
      "price_momentum": 0.13,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.84,
      "spread_liquidity": 4.71,
      "momentum_consistency": 1.54,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.645,
      "vwap": 11.643,
      "vwap_slope": 0.0019,
      "rvol": 0.23,
      "volume_acceleration": 1.96,
      "premarket_volume": 116985.0,
      "momentum_pct": 0.09,
      "consolidation_tightness_pct": 0.26,
      "distance_from_pm_high_pct": 0.21,
      "extension_from_vwap_pct": 0.02,
      "spread_pct": 0.09
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 11.67,
    "pm_low": 11.615
  },
  {
    "symbol": "NEOG",
    "total_score": 60.2,
    "raw_score": 63.81,
    "breakdown": {
      "price_quality": 3.38,
      "volume_quality": 12.0,
      "rvol": 0.6,
      "volume_acceleration": 8.88,
      "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.71,
      "momentum_consistency": 2.04,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.625,
      "vwap": 11.6227,
      "vwap_slope": 0.0013,
      "rvol": 0.25,
      "volume_acceleration": 1.89,
      "premarket_volume": 125730.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.17,
      "distance_from_pm_high_pct": 0.26,
      "extension_from_vwap_pct": 0.02,
      "spread_pct": 0.09
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 11.655,
    "pm_low": 11.59
  },
  {
    "symbol": "TGB",
    "total_score": 59.74,
    "raw_score": 63.33,
    "breakdown": {
      "price_quality": 3.53,
      "volume_quality": 12.0,
      "rvol": 1.44,
      "volume_acceleration": 3.63,
      "price_momentum": 0.26,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.82,
      "spread_liquidity": 4.61,
      "momentum_consistency": 3.23,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.525,
      "vwap": 8.5043,
      "vwap_slope": -0.0001,
      "rvol": 0.6,
      "volume_acceleration": 1.04,
      "premarket_volume": 300652.0,
      "momentum_pct": 0.18,
      "consolidation_tightness_pct": 0.4,
      "distance_from_pm_high_pct": 0.23,
      "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": true,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 8.545,
    "pm_low": 8.46
  },
  {
    "symbol": "NAVI",
    "total_score": 59.73,
    "raw_score": 63.32,
    "breakdown": {
      "price_quality": 4.32,
      "volume_quality": 5.64,
      "rvol": 0.23,
      "volume_acceleration": 3.96,
      "price_momentum": 0.16,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.96,
      "spread_liquidity": 4.64,
      "momentum_consistency": 2.4,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.32,
      "vwap": 9.2923,
      "vwap_slope": 0.0088,
      "rvol": 0.09,
      "volume_acceleration": 1.14,
      "premarket_volume": 47027.0,
      "momentum_pct": 0.11,
      "consolidation_tightness_pct": 0.27,
      "distance_from_pm_high_pct": 0.05,
      "extension_from_vwap_pct": 0.3,
      "spread_pct": 0.11
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 9.325,
    "pm_low": 9.27
  },
  {
    "symbol": "VMET",
    "total_score": 59.66,
    "raw_score": 63.24,
    "breakdown": {
      "price_quality": 4.97,
      "volume_quality": 4.24,
      "rvol": 0.17,
      "volume_acceleration": 2.42,
      "price_momentum": 0.3,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 6,
      "spread_liquidity": 4.67,
      "momentum_consistency": 4.47,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.03,
      "vwap": 9.9592,
      "vwap_slope": 0.0062,
      "rvol": 0.07,
      "volume_acceleration": 0.7,
      "premarket_volume": 35360.0,
      "momentum_pct": 0.2,
      "consolidation_tightness_pct": 0.29,
      "distance_from_pm_high_pct": 0.0,
      "extension_from_vwap_pct": 0.71,
      "spread_pct": 0.1
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 10.03,
    "pm_low": 9.89
  },
  {
    "symbol": "WSE",
    "total_score": 59.61,
    "raw_score": 63.19,
    "breakdown": {
      "price_quality": 2.06,
      "volume_quality": 12.0,
      "rvol": 0.53,
      "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.74,
      "momentum_consistency": 1.54,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.94,
      "vwap": 12.9266,
      "vwap_slope": 0.0091,
      "rvol": 0.22,
      "volume_acceleration": 2.99,
      "premarket_volume": 111141.0,
      "momentum_pct": -0.08,
      "consolidation_tightness_pct": 0.27,
      "distance_from_pm_high_pct": 0.12,
      "extension_from_vwap_pct": 0.1,
      "spread_pct": 0.08
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 12.955,
    "pm_low": 12.9
  },
  {
    "symbol": "FISN",
    "total_score": 59.28,
    "raw_score": 62.84,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 4.82,
      "rvol": 0.19,
      "volume_acceleration": 10,
      "price_momentum": 0.73,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.52,
      "spread_liquidity": 1.24,
      "momentum_consistency": 2.84,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.18,
      "vwap": 6.1351,
      "vwap_slope": 0.0187,
      "rvol": 0.08,
      "volume_acceleration": 3.46,
      "premarket_volume": 40162.0,
      "momentum_pct": 0.49,
      "consolidation_tightness_pct": 1.89,
      "distance_from_pm_high_pct": 0.64,
      "extension_from_vwap_pct": 0.73,
      "spread_pct": 1.13
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 6.22,
    "pm_low": 6.1
  },
  {
    "symbol": "SNAP",
    "total_score": 59.15,
    "raw_score": 62.7,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 11.69,
      "volume_acceleration": 5.8,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.79,
      "spread_liquidity": 4.37,
      "momentum_consistency": 2.34,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.305,
      "vwap": 5.3046,
      "vwap_slope": -0.0011,
      "rvol": 4.38,
      "volume_acceleration": 1.58,
      "premarket_volume": 2192186.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.28,
      "distance_from_pm_high_pct": 0.28,
      "extension_from_vwap_pct": 0.01,
      "spread_pct": 0.19
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 5.32,
    "pm_low": 5.28
  },
  {
    "symbol": "ABSI",
    "total_score": 58.26,
    "raw_score": 61.75,
    "breakdown": {
      "price_quality": 3.77,
      "volume_quality": 12.0,
      "rvol": 1.67,
      "volume_acceleration": 10,
      "price_momentum": 0.09,
      "price_structure": 12,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 4.9,
      "spread_liquidity": 4.62,
      "momentum_consistency": 2.71,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.765,
      "vwap": 8.7881,
      "vwap_slope": -0.0257,
      "rvol": 0.69,
      "volume_acceleration": 2.44,
      "premarket_volume": 346973.0,
      "momentum_pct": 0.06,
      "consolidation_tightness_pct": 0.51,
      "distance_from_pm_high_pct": 1.46,
      "extension_from_vwap_pct": -0.26,
      "spread_pct": 0.11
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 8.895,
    "pm_low": 8.711
  },
  {
    "symbol": "UNIT",
    "total_score": 58.18,
    "raw_score": 61.67,
    "breakdown": {
      "price_quality": 4.71,
      "volume_quality": 12.0,
      "rvol": 0.67,
      "volume_acceleration": 3.53,
      "price_momentum": 0.23,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.92,
      "spread_liquidity": 4.66,
      "momentum_consistency": 3.54,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.715,
      "vwap": 9.6584,
      "vwap_slope": 0.009,
      "rvol": 0.28,
      "volume_acceleration": 1.02,
      "premarket_volume": 139717.0,
      "momentum_pct": 0.15,
      "consolidation_tightness_pct": 0.31,
      "distance_from_pm_high_pct": 0.1,
      "extension_from_vwap_pct": 0.59,
      "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.725,
    "pm_low": 9.605
  },
  {
    "symbol": "UPWK",
    "total_score": 58.18,
    "raw_score": 61.67,
    "breakdown": {
      "price_quality": 4.12,
      "volume_quality": 12.0,
      "rvol": 1.86,
      "volume_acceleration": 4.46,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.71,
      "spread_liquidity": 4.64,
      "momentum_consistency": 2.48,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.115,
      "vwap": 9.1045,
      "vwap_slope": 0.0015,
      "rvol": 0.78,
      "volume_acceleration": 1.45,
      "premarket_volume": 388312.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.33,
      "distance_from_pm_high_pct": 0.38,
      "extension_from_vwap_pct": 0.12,
      "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.07
  },
  {
    "symbol": "SOUN",
    "total_score": 58.12,
    "raw_score": 61.61,
    "breakdown": {
      "price_quality": 1.88,
      "volume_quality": 12.0,
      "rvol": 12.0,
      "volume_acceleration": 2.95,
      "price_momentum": 0.54,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.67,
      "spread_liquidity": 4.52,
      "momentum_consistency": 2.85,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.8799,
      "vwap": 6.8741,
      "vwap_slope": -0.0058,
      "rvol": 4.52,
      "volume_acceleration": 0.85,
      "premarket_volume": 2258930.0,
      "momentum_pct": 0.36,
      "consolidation_tightness_pct": 0.58,
      "distance_from_pm_high_pct": 0.44,
      "extension_from_vwap_pct": 0.08,
      "spread_pct": 0.15
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 6.91,
    "pm_low": 6.82
  },
  {
    "symbol": "CRCT",
    "total_score": 58.08,
    "raw_score": 61.56,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 9.02,
      "rvol": 0.36,
      "volume_acceleration": 1.64,
      "price_momentum": 0.52,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.93,
      "spread_liquidity": 4.42,
      "momentum_consistency": 2.17,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.75,
      "vwap": 5.7242,
      "vwap_slope": 0.0051,
      "rvol": 0.15,
      "volume_acceleration": 0.47,
      "premarket_volume": 75155.0,
      "momentum_pct": 0.35,
      "consolidation_tightness_pct": 0.44,
      "distance_from_pm_high_pct": 0.09,
      "extension_from_vwap_pct": 0.45,
      "spread_pct": 0.17
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 5.755,
    "pm_low": 5.69
  },
  {
    "symbol": "ONDS",
    "total_score": 58.08,
    "raw_score": 61.57,
    "breakdown": {
      "price_quality": 2.07,
      "volume_quality": 12.0,
      "rvol": 12.0,
      "volume_acceleration": 2.84,
      "price_momentum": 0.21,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.74,
      "spread_liquidity": 4.53,
      "momentum_consistency": 2.98,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.065,
      "vwap": 7.0589,
      "vwap_slope": -0.0027,
      "rvol": 16.86,
      "volume_acceleration": 1.28,
      "premarket_volume": 8432437.0,
      "momentum_pct": 0.14,
      "consolidation_tightness_pct": 0.43,
      "distance_from_pm_high_pct": 0.35,
      "extension_from_vwap_pct": 0.09,
      "spread_pct": 0.14
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 7.09,
    "pm_low": 7.02
  },
  {
    "symbol": "JKS",
    "total_score": 58.03,
    "raw_score": 61.51,
    "breakdown": {
      "price_quality": 2.66,
      "volume_quality": 8.77,
      "rvol": 0.35,
      "volume_acceleration": 10,
      "price_momentum": 0.12,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.82,
      "spread_liquidity": 4.46,
      "momentum_consistency": 2.93,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.34,
      "vwap": 12.3116,
      "vwap_slope": 0.0016,
      "rvol": 0.15,
      "volume_acceleration": 3.43,
      "premarket_volume": 73115.0,
      "momentum_pct": 0.08,
      "consolidation_tightness_pct": 0.32,
      "distance_from_pm_high_pct": 0.24,
      "extension_from_vwap_pct": 0.23,
      "spread_pct": 0.16
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 12.37,
    "pm_low": 12.27
  },
  {
    "symbol": "BLZE",
    "total_score": 58.02,
    "raw_score": 61.5,
    "breakdown": {
      "price_quality": 1.53,
      "volume_quality": 12.0,
      "rvol": 1.23,
      "volume_acceleration": 6.1,
      "price_momentum": 0.33,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.94,
      "spread_liquidity": 4.51,
      "momentum_consistency": 3.45,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.47,
      "vwap": 13.4065,
      "vwap_slope": 0.0074,
      "rvol": 0.51,
      "volume_acceleration": 1.61,
      "premarket_volume": 257099.0,
      "momentum_pct": 0.22,
      "consolidation_tightness_pct": 0.37,
      "distance_from_pm_high_pct": 0.07,
      "extension_from_vwap_pct": 0.47,
      "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.48,
    "pm_low": 13.33
  },
  {
    "symbol": "CRMD",
    "total_score": 57.86,
    "raw_score": 61.33,
    "breakdown": {
      "price_quality": 3.38,
      "volume_quality": 10.09,
      "rvol": 0.4,
      "volume_acceleration": 7.83,
      "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.6,
      "momentum_consistency": 2.81,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.3801,
      "vwap": 8.36,
      "vwap_slope": 0.0039,
      "rvol": 0.17,
      "volume_acceleration": 1.78,
      "premarket_volume": 84050.0,
      "momentum_pct": -0.06,
      "consolidation_tightness_pct": 0.24,
      "distance_from_pm_high_pct": 0.24,
      "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": true
    },
    "pm_high": 8.4,
    "pm_low": 8.33
  },
  {
    "symbol": "TTD",
    "total_score": 57.77,
    "raw_score": 61.23,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 7.63,
      "volume_acceleration": 4.82,
      "price_momentum": 0.44,
      "price_structure": 12,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.32,
      "spread_liquidity": 4.76,
      "momentum_consistency": 2.76,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.735,
      "vwap": 13.7518,
      "vwap_slope": -0.0109,
      "rvol": 2.86,
      "volume_acceleration": 1.48,
      "premarket_volume": 1430916.0,
      "momentum_pct": 0.29,
      "consolidation_tightness_pct": 0.44,
      "distance_from_pm_high_pct": 0.9,
      "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.86,
    "pm_low": 13.68
  },
  {
    "symbol": "DNA",
    "total_score": 57.64,
    "raw_score": 61.1,
    "breakdown": {
      "price_quality": 1.85,
      "volume_quality": 12.0,
      "rvol": 0.66,
      "volume_acceleration": 6.27,
      "price_momentum": 0.66,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.46,
      "spread_liquidity": 4.51,
      "momentum_consistency": 3.29,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.85,
      "vwap": 6.8393,
      "vwap_slope": 0.0032,
      "rvol": 0.27,
      "volume_acceleration": 1.63,
      "premarket_volume": 137113.0,
      "momentum_pct": 0.44,
      "consolidation_tightness_pct": 1.24,
      "distance_from_pm_high_pct": 0.72,
      "extension_from_vwap_pct": 0.16,
      "spread_pct": 0.15
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 6.9,
    "pm_low": 6.7814
  },
  {
    "symbol": "LION",
    "total_score": 57.56,
    "raw_score": 61.02,
    "breakdown": {
      "price_quality": 3.94,
      "volume_quality": 12.0,
      "rvol": 1.37,
      "volume_acceleration": 3.51,
      "price_momentum": 0.34,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.9,
      "spread_liquidity": 4.7,
      "momentum_consistency": 2.87,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.06,
      "vwap": 11.023,
      "vwap_slope": 0.0008,
      "rvol": 0.57,
      "volume_acceleration": 1.35,
      "premarket_volume": 285066.0,
      "momentum_pct": 0.23,
      "consolidation_tightness_pct": 0.26,
      "distance_from_pm_high_pct": 0.14,
      "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": true,
      "vwap_rising": true
    },
    "pm_high": 11.075,
    "pm_low": 10.97
  },
  {
    "symbol": "GPRE",
    "total_score": 56.84,
    "raw_score": 60.25,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 0.64,
      "volume_acceleration": 3.28,
      "price_momentum": 0.31,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.64,
      "spread_liquidity": 4.55,
      "momentum_consistency": 3.54,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.71,
      "vwap": 14.7076,
      "vwap_slope": -0.0079,
      "rvol": 0.27,
      "volume_acceleration": 0.94,
      "premarket_volume": 132535.0,
      "momentum_pct": 0.2,
      "consolidation_tightness_pct": 0.34,
      "distance_from_pm_high_pct": 0.47,
      "extension_from_vwap_pct": 0.02,
      "spread_pct": 0.14
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 14.78,
    "pm_low": 14.655
  },
  {
    "symbol": "FSM",
    "total_score": 56.81,
    "raw_score": 60.22,
    "breakdown": {
      "price_quality": 3.12,
      "volume_quality": 12.0,
      "rvol": 3.04,
      "volume_acceleration": 9.19,
      "price_momentum": 0.06,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.5,
      "spread_liquidity": 4.72,
      "momentum_consistency": 3.39,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.8801,
      "vwap": 11.8704,
      "vwap_slope": -0.0023,
      "rvol": 1.27,
      "volume_acceleration": 1.92,
      "premarket_volume": 632675.0,
      "momentum_pct": 0.04,
      "consolidation_tightness_pct": 0.34,
      "distance_from_pm_high_pct": 0.67,
      "extension_from_vwap_pct": 0.08,
      "spread_pct": 0.08
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 11.9599,
    "pm_low": 11.82
  },
  {
    "symbol": "RES",
    "total_score": 56.79,
    "raw_score": 60.19,
    "breakdown": {
      "price_quality": 1.58,
      "volume_quality": 11.62,
      "rvol": 0.46,
      "volume_acceleration": 7.05,
      "price_momentum": 0.23,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 6,
      "spread_liquidity": 4.49,
      "momentum_consistency": 2.36,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.575,
      "vwap": 6.5481,
      "vwap_slope": 0.0039,
      "rvol": 0.19,
      "volume_acceleration": 1.71,
      "premarket_volume": 96817.0,
      "momentum_pct": 0.15,
      "consolidation_tightness_pct": 0.3,
      "distance_from_pm_high_pct": 0.0,
      "extension_from_vwap_pct": 0.41,
      "spread_pct": 0.15
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 6.575,
    "pm_low": 6.53
  },
  {
    "symbol": "NRDS",
    "total_score": 56.63,
    "raw_score": 60.03,
    "breakdown": {
      "price_quality": 4.73,
      "volume_quality": 3.3,
      "rvol": 0.13,
      "volume_acceleration": 1.73,
      "price_momentum": 0.39,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 6,
      "spread_liquidity": 4.66,
      "momentum_consistency": 3.1,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.73,
      "vwap": 9.7119,
      "vwap_slope": 0.0002,
      "rvol": 0.06,
      "volume_acceleration": 1.17,
      "premarket_volume": 27520.0,
      "momentum_pct": 0.26,
      "consolidation_tightness_pct": 0.26,
      "distance_from_pm_high_pct": 0.0,
      "extension_from_vwap_pct": 0.19,
      "spread_pct": 0.1
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 9.73,
    "pm_low": 9.705
  },
  {
    "symbol": "SMWB",
    "total_score": 56.56,
    "raw_score": 59.95,
    "breakdown": {
      "price_quality": 3.75,
      "volume_quality": 7.08,
      "rvol": 0.28,
      "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.79,
      "spread_liquidity": 4.24,
      "momentum_consistency": 2.42,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.75,
      "vwap": 8.7346,
      "vwap_slope": 0.0045,
      "rvol": 0.12,
      "volume_acceleration": 2.8,
      "premarket_volume": 58968.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.34,
      "distance_from_pm_high_pct": 0.28,
      "extension_from_vwap_pct": 0.18,
      "spread_pct": 0.23
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 8.775,
    "pm_low": 8.67
  },
  {
    "symbol": "GNW",
    "total_score": 56.54,
    "raw_score": 59.93,
    "breakdown": {
      "price_quality": 4.99,
      "volume_quality": 12.0,
      "rvol": 1.03,
      "volume_acceleration": 2.7,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.93,
      "spread_liquidity": 4.67,
      "momentum_consistency": 2.22,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.99,
      "vwap": 9.9749,
      "vwap_slope": 0.0046,
      "rvol": 0.43,
      "volume_acceleration": 0.78,
      "premarket_volume": 214635.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.05,
      "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.0,
    "pm_low": 9.94
  },
  {
    "symbol": "LAND",
    "total_score": 56.34,
    "raw_score": 59.72,
    "breakdown": {
      "price_quality": 4.51,
      "volume_quality": 11.69,
      "rvol": 0.47,
      "volume_acceleration": 3.06,
      "price_momentum": 0.24,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.92,
      "spread_liquidity": 4.65,
      "momentum_consistency": 2.78,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.505,
      "vwap": 9.4846,
      "vwap_slope": 0.0086,
      "rvol": 0.19,
      "volume_acceleration": 0.88,
      "premarket_volume": 97453.0,
      "momentum_pct": 0.16,
      "consolidation_tightness_pct": 0.32,
      "distance_from_pm_high_pct": 0.11,
      "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": true,
      "vwap_rising": true
    },
    "pm_high": 9.515,
    "pm_low": 9.45
  },
  {
    "symbol": "RPD",
    "total_score": 56.26,
    "raw_score": 59.64,
    "breakdown": {
      "price_quality": 2.81,
      "volume_quality": 12.0,
      "rvol": 0.79,
      "volume_acceleration": 3.14,
      "price_momentum": 0.18,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.88,
      "spread_liquidity": 4.73,
      "momentum_consistency": 3.7,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.19,
      "vwap": 12.1613,
      "vwap_slope": 0.0056,
      "rvol": 0.33,
      "volume_acceleration": 0.9,
      "premarket_volume": 164457.0,
      "momentum_pct": 0.12,
      "consolidation_tightness_pct": 0.21,
      "distance_from_pm_high_pct": 0.16,
      "extension_from_vwap_pct": 0.24,
      "spread_pct": 0.08
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 12.21,
    "pm_low": 12.105
  },
  {
    "symbol": "HLF",
    "total_score": 56.2,
    "raw_score": 59.58,
    "breakdown": {
      "price_quality": 3.54,
      "volume_quality": 12.0,
      "rvol": 1.33,
      "volume_acceleration": 2.58,
      "price_momentum": 0.13,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.51,
      "spread_liquidity": 4.71,
      "momentum_consistency": 3.37,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.46,
      "vwap": 11.4516,
      "vwap_slope": 0.0035,
      "rvol": 0.56,
      "volume_acceleration": 0.74,
      "premarket_volume": 277613.0,
      "momentum_pct": 0.09,
      "consolidation_tightness_pct": 0.22,
      "distance_from_pm_high_pct": 0.65,
      "extension_from_vwap_pct": 0.07,
      "spread_pct": 0.09
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 11.535,
    "pm_low": 11.365
  },
  {
    "symbol": "GPK",
    "total_score": 56.17,
    "raw_score": 59.54,
    "breakdown": {
      "price_quality": 4.18,
      "volume_quality": 12.0,
      "rvol": 1.45,
      "volume_acceleration": 9.58,
      "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": 4.69,
      "momentum_consistency": 2.72,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.825,
      "vwap": 10.8221,
      "vwap_slope": -0.0013,
      "rvol": 0.61,
      "volume_acceleration": 1.96,
      "premarket_volume": 302823.0,
      "momentum_pct": -0.05,
      "consolidation_tightness_pct": 0.23,
      "distance_from_pm_high_pct": 0.37,
      "extension_from_vwap_pct": 0.03,
      "spread_pct": 0.09
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 10.865,
    "pm_low": 10.78
  },
  {
    "symbol": "ALOY",
    "total_score": 56.08,
    "raw_score": 59.45,
    "breakdown": {
      "price_quality": 4.91,
      "volume_quality": 12.0,
      "rvol": 1.0,
      "volume_acceleration": 3.01,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.74,
      "spread_liquidity": 3.99,
      "momentum_consistency": 2.39,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.915,
      "vwap": 9.9062,
      "vwap_slope": 0.0031,
      "rvol": 0.42,
      "volume_acceleration": 1.3,
      "premarket_volume": 209305.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.2,
      "distance_from_pm_high_pct": 0.35,
      "extension_from_vwap_pct": 0.09,
      "spread_pct": 0.3
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 9.95,
    "pm_low": 9.87
  },
  {
    "symbol": "DX",
    "total_score": 56.0,
    "raw_score": 59.36,
    "breakdown": {
      "price_quality": 2.28,
      "volume_quality": 12.0,
      "rvol": 1.77,
      "volume_acceleration": 3.86,
      "price_momentum": 0.06,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.91,
      "spread_liquidity": 4.74,
      "momentum_consistency": 2.34,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.725,
      "vwap": 12.7229,
      "vwap_slope": 0.0001,
      "rvol": 0.74,
      "volume_acceleration": 1.11,
      "premarket_volume": 368482.0,
      "momentum_pct": 0.04,
      "consolidation_tightness_pct": 0.08,
      "distance_from_pm_high_pct": 0.12,
      "extension_from_vwap_pct": 0.02,
      "spread_pct": 0.08
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 12.74,
    "pm_low": 12.71
  },
  {
    "symbol": "SFL",
    "total_score": 55.95,
    "raw_score": 59.31,
    "breakdown": {
      "price_quality": 2.53,
      "volume_quality": 12.0,
      "rvol": 0.67,
      "volume_acceleration": 3.78,
      "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.23,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.475,
      "vwap": 12.402,
      "vwap_slope": 0.0091,
      "rvol": 0.28,
      "volume_acceleration": 1.09,
      "premarket_volume": 139309.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.08,
      "distance_from_pm_high_pct": 0.04,
      "extension_from_vwap_pct": 0.59,
      "spread_pct": 0.08
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 12.48,
    "pm_low": 12.35
  },
  {
    "symbol": "SVV",
    "total_score": 55.9,
    "raw_score": 59.26,
    "breakdown": {
      "price_quality": 4.82,
      "volume_quality": 12.0,
      "rvol": 0.54,
      "volume_acceleration": 2.81,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.89,
      "spread_liquidity": 4.67,
      "momentum_consistency": 2.12,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.18,
      "vwap": 10.1701,
      "vwap_slope": 0.0009,
      "rvol": 0.22,
      "volume_acceleration": 0.81,
      "premarket_volume": 112002.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.2,
      "distance_from_pm_high_pct": 0.15,
      "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.195,
    "pm_low": 10.15
  },
  {
    "symbol": "DXC",
    "total_score": 55.8,
    "raw_score": 59.15,
    "breakdown": {
      "price_quality": 3.92,
      "volume_quality": 12.0,
      "rvol": 0.57,
      "volume_acceleration": 2.72,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.73,
      "spread_liquidity": 4.7,
      "momentum_consistency": 3.11,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.08,
      "vwap": 11.0752,
      "vwap_slope": 0.0002,
      "rvol": 0.24,
      "volume_acceleration": 1.27,
      "premarket_volume": 119656.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.23,
      "distance_from_pm_high_pct": 0.36,
      "extension_from_vwap_pct": 0.04,
      "spread_pct": 0.09
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 11.12,
    "pm_low": 11.03
  },
  {
    "symbol": "MATV",
    "total_score": 55.67,
    "raw_score": 59.02,
    "breakdown": {
      "price_quality": 3.0,
      "volume_quality": 4.14,
      "rvol": 0.17,
      "volume_acceleration": 10,
      "price_momentum": 0.38,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.75,
      "spread_liquidity": 4.72,
      "momentum_consistency": 2.06,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.0,
      "vwap": 11.9986,
      "vwap_slope": -0.032,
      "rvol": 0.07,
      "volume_acceleration": 2.11,
      "premarket_volume": 34528.0,
      "momentum_pct": 0.25,
      "consolidation_tightness_pct": 0.38,
      "distance_from_pm_high_pct": 0.33,
      "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": true,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 12.04,
    "pm_low": 11.96
  },
  {
    "symbol": "VYX",
    "total_score": 55.63,
    "raw_score": 58.97,
    "breakdown": {
      "price_quality": 3.69,
      "volume_quality": 12.0,
      "rvol": 1.64,
      "volume_acceleration": 1.7,
      "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.62,
      "momentum_consistency": 3.31,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.685,
      "vwap": 8.6838,
      "vwap_slope": 0.0037,
      "rvol": 0.69,
      "volume_acceleration": 1.17,
      "premarket_volume": 342629.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.29,
      "distance_from_pm_high_pct": 0.52,
      "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": true
    },
    "pm_high": 8.73,
    "pm_low": 8.61
  },
  {
    "symbol": "SLS",
    "total_score": 55.6,
    "raw_score": 58.93,
    "breakdown": {
      "price_quality": 2.01,
      "volume_quality": 12.0,
      "rvol": 2.41,
      "volume_acceleration": 2.26,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.71,
      "spread_liquidity": 4.49,
      "momentum_consistency": 3.65,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.99,
      "vwap": 12.9407,
      "vwap_slope": 0.0102,
      "rvol": 1.01,
      "volume_acceleration": 0.65,
      "premarket_volume": 502597.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.43,
      "distance_from_pm_high_pct": 0.38,
      "extension_from_vwap_pct": 0.38,
      "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.04,
    "pm_low": 12.88
  },
  {
    "symbol": "SLDB",
    "total_score": 55.6,
    "raw_score": 58.94,
    "breakdown": {
      "price_quality": 4.92,
      "volume_quality": 9.87,
      "rvol": 0.39,
      "volume_acceleration": 3.8,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.77,
      "spread_liquidity": 4.33,
      "momentum_consistency": 3.45,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.92,
      "vwap": 9.8824,
      "vwap_slope": 0.0136,
      "rvol": 0.16,
      "volume_acceleration": 1.09,
      "premarket_volume": 82237.0,
      "momentum_pct": -0.3,
      "consolidation_tightness_pct": 0.4,
      "distance_from_pm_high_pct": 0.3,
      "extension_from_vwap_pct": 0.38,
      "spread_pct": 0.2
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 9.95,
    "pm_low": 9.84
  },
  {
    "symbol": "SMR",
    "total_score": 55.47,
    "raw_score": 58.8,
    "breakdown": {
      "price_quality": 4.13,
      "volume_quality": 12.0,
      "rvol": 7.87,
      "volume_acceleration": 10,
      "price_momentum": 0.25,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.31,
      "spread_liquidity": 4.64,
      "momentum_consistency": 2.21,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.135,
      "vwap": 9.1477,
      "vwap_slope": -0.0129,
      "rvol": 2.95,
      "volume_acceleration": 2.14,
      "premarket_volume": 1474785.0,
      "momentum_pct": 0.16,
      "consolidation_tightness_pct": 0.22,
      "distance_from_pm_high_pct": 0.92,
      "extension_from_vwap_pct": -0.14,
      "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.22,
    "pm_low": 9.08
  },
  {
    "symbol": "PUMP",
    "total_score": 55.39,
    "raw_score": 58.72,
    "breakdown": {
      "price_quality": 3.63,
      "volume_quality": 12.0,
      "rvol": 1.13,
      "volume_acceleration": 2.1,
      "price_momentum": 0.2,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.97,
      "spread_liquidity": 4.41,
      "momentum_consistency": 2.87,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.365,
      "vwap": 11.3348,
      "vwap_slope": 0.0053,
      "rvol": 0.47,
      "volume_acceleration": 0.6,
      "premarket_volume": 235660.0,
      "momentum_pct": 0.13,
      "consolidation_tightness_pct": 0.22,
      "distance_from_pm_high_pct": 0.04,
      "extension_from_vwap_pct": 0.27,
      "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.37,
    "pm_low": 11.285
  },
  {
    "symbol": "TRLV",
    "total_score": 55.22,
    "raw_score": 58.53,
    "breakdown": {
      "price_quality": 3.21,
      "volume_quality": 11.12,
      "rvol": 0.44,
      "volume_acceleration": 3.36,
      "price_momentum": 0.06,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.94,
      "spread_liquidity": 4.43,
      "momentum_consistency": 3.56,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.79,
      "vwap": 11.737,
      "vwap_slope": 0.0089,
      "rvol": 0.19,
      "volume_acceleration": 0.97,
      "premarket_volume": 92699.0,
      "momentum_pct": 0.04,
      "consolidation_tightness_pct": 0.25,
      "distance_from_pm_high_pct": 0.08,
      "extension_from_vwap_pct": 0.45,
      "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.8,
    "pm_low": 11.66
  },
  {
    "symbol": "SD",
    "total_score": 55.1,
    "raw_score": 58.4,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 2.49,
      "rvol": 0.1,
      "volume_acceleration": 3.3,
      "price_momentum": 0.31,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 6,
      "spread_liquidity": 4.54,
      "momentum_consistency": 4.16,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.3399,
      "vwap": 14.2883,
      "vwap_slope": 0.0237,
      "rvol": 0.04,
      "volume_acceleration": 0.95,
      "premarket_volume": 20788.0,
      "momentum_pct": 0.21,
      "consolidation_tightness_pct": 0.21,
      "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": true,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 14.3399,
    "pm_low": 14.255
  },
  {
    "symbol": "PGEN",
    "total_score": 55.01,
    "raw_score": 58.31,
    "breakdown": {
      "price_quality": 1.91,
      "volume_quality": 12.0,
      "rvol": 1.71,
      "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.78,
      "spread_liquidity": 4.52,
      "momentum_consistency": 2.39,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.905,
      "vwap": 6.8965,
      "vwap_slope": 0.002,
      "rvol": 0.71,
      "volume_acceleration": 1.36,
      "premarket_volume": 356645.0,
      "momentum_pct": -0.14,
      "consolidation_tightness_pct": 0.22,
      "distance_from_pm_high_pct": 0.29,
      "extension_from_vwap_pct": 0.12,
      "spread_pct": 0.14
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 6.925,
    "pm_low": 6.87
  },
  {
    "symbol": "ALHC",
    "total_score": 54.96,
    "raw_score": 58.26,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 0.94,
      "volume_acceleration": 3.9,
      "price_momentum": 0.16,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.84,
      "spread_liquidity": 4.76,
      "momentum_consistency": 2.76,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.735,
      "vwap": 13.7273,
      "vwap_slope": 0.0011,
      "rvol": 0.39,
      "volume_acceleration": 1.12,
      "premarket_volume": 195895.0,
      "momentum_pct": 0.11,
      "consolidation_tightness_pct": 0.18,
      "distance_from_pm_high_pct": 0.22,
      "extension_from_vwap_pct": 0.06,
      "spread_pct": 0.07
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 13.765,
    "pm_low": 13.7
  },
  {
    "symbol": "COUR",
    "total_score": 54.92,
    "raw_score": 58.21,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 1.46,
      "volume_acceleration": 4.05,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.82,
      "spread_liquidity": 4.46,
      "momentum_consistency": 2.53,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.225,
      "vwap": 6.2186,
      "vwap_slope": 0.0024,
      "rvol": 0.61,
      "volume_acceleration": 1.4,
      "premarket_volume": 303220.0,
      "momentum_pct": -0.16,
      "consolidation_tightness_pct": 0.24,
      "distance_from_pm_high_pct": 0.24,
      "extension_from_vwap_pct": 0.1,
      "spread_pct": 0.16
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 6.24,
    "pm_low": 6.205
  },
  {
    "symbol": "HNST",
    "total_score": 54.8,
    "raw_score": 58.09,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 0.72,
      "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.93,
      "spread_liquidity": 4.4,
      "momentum_consistency": 2.62,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.58,
      "vwap": 5.5664,
      "vwap_slope": 0.0023,
      "rvol": 0.3,
      "volume_acceleration": 1.45,
      "premarket_volume": 150702.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.18,
      "distance_from_pm_high_pct": 0.09,
      "extension_from_vwap_pct": 0.24,
      "spread_pct": 0.18
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 5.585,
    "pm_low": 5.55
  },
  {
    "symbol": "STGW",
    "total_score": 54.61,
    "raw_score": 57.89,
    "breakdown": {
      "price_quality": 3.52,
      "volume_quality": 12.0,
      "rvol": 0.74,
      "volume_acceleration": 10,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.96,
      "spread_liquidity": 4.61,
      "momentum_consistency": 1.87,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.515,
      "vwap": 8.5041,
      "vwap_slope": -0.0056,
      "rvol": 0.31,
      "volume_acceleration": 6.68,
      "premarket_volume": 154773.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.12,
      "distance_from_pm_high_pct": 0.06,
      "extension_from_vwap_pct": 0.13,
      "spread_pct": 0.12
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 8.52,
    "pm_low": 8.495
  },
  {
    "symbol": "PRTA",
    "total_score": 54.57,
    "raw_score": 57.85,
    "breakdown": {
      "price_quality": 4.54,
      "volume_quality": 3.16,
      "rvol": 0.13,
      "volume_acceleration": 10,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.77,
      "spread_liquidity": 4.3,
      "momentum_consistency": 3.56,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.54,
      "vwap": 9.4959,
      "vwap_slope": 0.0242,
      "rvol": 0.05,
      "volume_acceleration": 2.63,
      "premarket_volume": 26328.0,
      "momentum_pct": -0.16,
      "consolidation_tightness_pct": 0.42,
      "distance_from_pm_high_pct": 0.31,
      "extension_from_vwap_pct": 0.46,
      "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.5699,
    "pm_low": 9.441
  },
  {
    "symbol": "ADTN",
    "total_score": 54.48,
    "raw_score": 57.74,
    "breakdown": {
      "price_quality": 2.5,
      "volume_quality": 12.0,
      "rvol": 0.5,
      "volume_acceleration": 2.68,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 6,
      "spread_liquidity": 4.56,
      "momentum_consistency": 3.11,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.495,
      "vwap": 7.4803,
      "vwap_slope": 0.0017,
      "rvol": 0.21,
      "volume_acceleration": 0.77,
      "premarket_volume": 104201.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.07,
      "distance_from_pm_high_pct": 0.0,
      "extension_from_vwap_pct": 0.2,
      "spread_pct": 0.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.495,
    "pm_low": 7.46
  },
  {
    "symbol": "JBS",
    "total_score": 54.47,
    "raw_score": 57.74,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 1.61,
      "volume_acceleration": 2.74,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.97,
      "spread_liquidity": 4.75,
      "momentum_consistency": 2.76,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.585,
      "vwap": 13.5611,
      "vwap_slope": 0.0023,
      "rvol": 0.67,
      "volume_acceleration": 1.27,
      "premarket_volume": 335760.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.15,
      "distance_from_pm_high_pct": 0.04,
      "extension_from_vwap_pct": 0.18,
      "spread_pct": 0.07
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 13.59,
    "pm_low": 13.54
  },
  {
    "symbol": "LTBR",
    "total_score": 54.44,
    "raw_score": 57.7,
    "breakdown": {
      "price_quality": 2.45,
      "volume_quality": 5.0,
      "rvol": 0.2,
      "volume_acceleration": 10,
      "price_momentum": 0.1,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.9,
      "spread_liquidity": 4.55,
      "momentum_consistency": 3.11,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.445,
      "vwap": 7.432,
      "vwap_slope": 0.0072,
      "rvol": 0.08,
      "volume_acceleration": 2.93,
      "premarket_volume": 41630.0,
      "momentum_pct": 0.07,
      "consolidation_tightness_pct": 0.6,
      "distance_from_pm_high_pct": 0.13,
      "extension_from_vwap_pct": 0.17,
      "spread_pct": 0.13
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 7.455,
    "pm_low": 7.4
  },
  {
    "symbol": "AVAH",
    "total_score": 54.43,
    "raw_score": 57.7,
    "breakdown": {
      "price_quality": 1.52,
      "volume_quality": 12.0,
      "rvol": 0.54,
      "volume_acceleration": 2.98,
      "price_momentum": 0.18,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.84,
      "spread_liquidity": 4.75,
      "momentum_consistency": 3.49,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.481,
      "vwap": 13.4695,
      "vwap_slope": 0.0011,
      "rvol": 0.22,
      "volume_acceleration": 0.86,
      "premarket_volume": 111587.0,
      "momentum_pct": 0.12,
      "consolidation_tightness_pct": 0.15,
      "distance_from_pm_high_pct": 0.21,
      "extension_from_vwap_pct": 0.09,
      "spread_pct": 0.07
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 13.51,
    "pm_low": 13.415
  },
  {
    "symbol": "VIPS",
    "total_score": 54.42,
    "raw_score": 57.68,
    "breakdown": {
      "price_quality": 1.79,
      "volume_quality": 12.0,
      "rvol": 1.59,
      "volume_acceleration": 2.69,
      "price_momentum": 0.23,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.94,
      "spread_liquidity": 4.75,
      "momentum_consistency": 2.29,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.205,
      "vwap": 13.1683,
      "vwap_slope": 0.005,
      "rvol": 0.66,
      "volume_acceleration": 0.77,
      "premarket_volume": 331587.0,
      "momentum_pct": 0.15,
      "consolidation_tightness_pct": 0.23,
      "distance_from_pm_high_pct": 0.08,
      "extension_from_vwap_pct": 0.28,
      "spread_pct": 0.08
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 13.215,
    "pm_low": 13.13
  },
  {
    "symbol": "CWK",
    "total_score": 54.41,
    "raw_score": 57.67,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 1.0,
      "volume_acceleration": 2.57,
      "price_momentum": 0.06,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 6,
      "spread_liquidity": 4.75,
      "momentum_consistency": 3.39,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.51,
      "vwap": 13.4577,
      "vwap_slope": 0.0068,
      "rvol": 0.42,
      "volume_acceleration": 0.74,
      "premarket_volume": 207753.0,
      "momentum_pct": 0.04,
      "consolidation_tightness_pct": 0.15,
      "distance_from_pm_high_pct": 0.0,
      "extension_from_vwap_pct": 0.39,
      "spread_pct": 0.07
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 13.51,
    "pm_low": 13.4
  },
  {
    "symbol": "MBC",
    "total_score": 54.39,
    "raw_score": 57.66,
    "breakdown": {
      "price_quality": 2.96,
      "volume_quality": 12.0,
      "rvol": 1.31,
      "volume_acceleration": 1.83,
      "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.58,
      "momentum_consistency": 2.62,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.965,
      "vwap": 7.9424,
      "vwap_slope": 0.0026,
      "rvol": 0.54,
      "volume_acceleration": 0.53,
      "premarket_volume": 271877.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.31,
      "distance_from_pm_high_pct": 0.06,
      "extension_from_vwap_pct": 0.28,
      "spread_pct": 0.13
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 7.97,
    "pm_low": 7.88
  },
  {
    "symbol": "MFA",
    "total_score": 54.34,
    "raw_score": 57.6,
    "breakdown": {
      "price_quality": 3.66,
      "volume_quality": 12.0,
      "rvol": 1.05,
      "volume_acceleration": 1.58,
      "price_momentum": 0.09,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.83,
      "spread_liquidity": 4.62,
      "momentum_consistency": 2.37,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.665,
      "vwap": 8.656,
      "vwap_slope": 0.0018,
      "rvol": 0.44,
      "volume_acceleration": 0.45,
      "premarket_volume": 218693.0,
      "momentum_pct": 0.06,
      "consolidation_tightness_pct": 0.12,
      "distance_from_pm_high_pct": 0.23,
      "extension_from_vwap_pct": 0.1,
      "spread_pct": 0.12
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 8.685,
    "pm_low": 8.63
  },
  {
    "symbol": "IMMR",
    "total_score": 54.32,
    "raw_score": 57.58,
    "breakdown": {
      "price_quality": 2.46,
      "volume_quality": 2.47,
      "rvol": 0.1,
      "volume_acceleration": 2.43,
      "price_momentum": 0.1,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.95,
      "spread_liquidity": 4.55,
      "momentum_consistency": 3.52,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.455,
      "vwap": 7.4392,
      "vwap_slope": 0.0044,
      "rvol": 0.04,
      "volume_acceleration": 0.7,
      "premarket_volume": 20581.0,
      "momentum_pct": 0.07,
      "consolidation_tightness_pct": 0.2,
      "distance_from_pm_high_pct": 0.07,
      "extension_from_vwap_pct": 0.21,
      "spread_pct": 0.13
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 7.46,
    "pm_low": 7.425
  },
  {
    "symbol": "ATEC",
    "total_score": 54.3,
    "raw_score": 57.56,
    "breakdown": {
      "price_quality": 4.26,
      "volume_quality": 9.51,
      "rvol": 0.38,
      "volume_acceleration": 3.99,
      "price_momentum": 0.16,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.93,
      "spread_liquidity": 4.64,
      "momentum_consistency": 2.29,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.26,
      "vwap": 9.2526,
      "vwap_slope": 0.0007,
      "rvol": 0.16,
      "volume_acceleration": 1.15,
      "premarket_volume": 79253.0,
      "momentum_pct": 0.11,
      "consolidation_tightness_pct": 0.22,
      "distance_from_pm_high_pct": 0.1,
      "extension_from_vwap_pct": 0.08,
      "spread_pct": 0.11
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 9.269,
    "pm_low": 9.24
  },
  {
    "symbol": "AVO",
    "total_score": 54.26,
    "raw_score": 57.52,
    "breakdown": {
      "price_quality": 2.26,
      "volume_quality": 3.64,
      "rvol": 0.15,
      "volume_acceleration": 2.36,
      "price_momentum": 0.12,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.94,
      "spread_liquidity": 4.21,
      "momentum_consistency": 2.84,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.74,
      "vwap": 12.7196,
      "vwap_slope": 0.01,
      "rvol": 0.06,
      "volume_acceleration": 1.24,
      "premarket_volume": 30295.0,
      "momentum_pct": 0.08,
      "consolidation_tightness_pct": 0.24,
      "distance_from_pm_high_pct": 0.08,
      "extension_from_vwap_pct": 0.16,
      "spread_pct": 0.24
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 12.75,
    "pm_low": 12.69
  },
  {
    "symbol": "XERS",
    "total_score": 54.02,
    "raw_score": 57.26,
    "breakdown": {
      "price_quality": 3.49,
      "volume_quality": 12.0,
      "rvol": 0.62,
      "volume_acceleration": 1.5,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.87,
      "spread_liquidity": 4.61,
      "momentum_consistency": 2.77,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.495,
      "vwap": 8.4534,
      "vwap_slope": 0.0105,
      "rvol": 0.26,
      "volume_acceleration": 0.43,
      "premarket_volume": 128953.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.24,
      "distance_from_pm_high_pct": 0.18,
      "extension_from_vwap_pct": 0.49,
      "spread_pct": 0.12
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 8.51,
    "pm_low": 8.4
  },
  {
    "symbol": "PLBL",
    "total_score": 53.91,
    "raw_score": 57.14,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 2.36,
      "volume_acceleration": 3.24,
      "price_momentum": 1.07,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.73,
      "spread_liquidity": 2.03,
      "momentum_consistency": 2.81,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.63,
      "vwap": 5.5885,
      "vwap_slope": 0.0037,
      "rvol": 0.98,
      "volume_acceleration": 1.32,
      "premarket_volume": 491866.0,
      "momentum_pct": 0.72,
      "consolidation_tightness_pct": 1.25,
      "distance_from_pm_high_pct": 0.35,
      "extension_from_vwap_pct": 0.74,
      "spread_pct": 0.89
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 5.65,
    "pm_low": 5.535
  },
  {
    "symbol": "FUBO",
    "total_score": 53.89,
    "raw_score": 57.13,
    "breakdown": {
      "price_quality": 4.6,
      "volume_quality": 7.21,
      "rvol": 0.29,
      "volume_acceleration": 2.46,
      "price_momentum": 1.02,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.43,
      "spread_liquidity": 4.04,
      "momentum_consistency": 3.29,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.4,
      "vwap": 10.3534,
      "vwap_slope": -0.0337,
      "rvol": 0.12,
      "volume_acceleration": 1.25,
      "premarket_volume": 60071.0,
      "momentum_pct": 0.68,
      "consolidation_tightness_pct": 0.97,
      "distance_from_pm_high_pct": 0.76,
      "extension_from_vwap_pct": 0.45,
      "spread_pct": 0.29
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 10.48,
    "pm_low": 10.2747
  },
  {
    "symbol": "SENS",
    "total_score": 53.77,
    "raw_score": 56.99,
    "breakdown": {
      "price_quality": 4.41,
      "volume_quality": 5.98,
      "rvol": 0.24,
      "volume_acceleration": 5.73,
      "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.29,
      "momentum_consistency": 4.09,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.41,
      "vwap": 9.3855,
      "vwap_slope": 0.0038,
      "rvol": 0.1,
      "volume_acceleration": 1.57,
      "premarket_volume": 49868.0,
      "momentum_pct": -0.16,
      "consolidation_tightness_pct": 0.22,
      "distance_from_pm_high_pct": 0.21,
      "extension_from_vwap_pct": 0.26,
      "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.43,
    "pm_low": 9.33
  },
  {
    "symbol": "BHVN",
    "total_score": 53.72,
    "raw_score": 56.94,
    "breakdown": {
      "price_quality": 0.0,
      "volume_quality": 12.0,
      "rvol": 1.33,
      "volume_acceleration": 3.17,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.68,
      "spread_liquidity": 4.58,
      "momentum_consistency": 3.79,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 15.97,
      "vwap": 15.9346,
      "vwap_slope": 0.0079,
      "rvol": 0.55,
      "volume_acceleration": 1.32,
      "premarket_volume": 276383.0,
      "momentum_pct": -0.03,
      "consolidation_tightness_pct": 0.25,
      "distance_from_pm_high_pct": 0.43,
      "extension_from_vwap_pct": 0.22,
      "spread_pct": 0.13
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 16.0395,
    "pm_low": 15.75
  },
  {
    "symbol": "GENI",
    "total_score": 53.71,
    "raw_score": 56.93,
    "breakdown": {
      "price_quality": 2.17,
      "volume_quality": 12.0,
      "rvol": 1.69,
      "volume_acceleration": 9.1,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.53,
      "spread_liquidity": 4.53,
      "momentum_consistency": 2.31,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.165,
      "vwap": 7.1659,
      "vwap_slope": 0.0003,
      "rvol": 0.71,
      "volume_acceleration": 1.91,
      "premarket_volume": 353121.0,
      "momentum_pct": -0.07,
      "consolidation_tightness_pct": 0.35,
      "distance_from_pm_high_pct": 0.62,
      "extension_from_vwap_pct": -0.01,
      "spread_pct": 0.14
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": true
    },
    "pm_high": 7.21,
    "pm_low": 7.12
  },
  {
    "symbol": "TAL",
    "total_score": 53.7,
    "raw_score": 56.92,
    "breakdown": {
      "price_quality": 2.7,
      "volume_quality": 12.0,
      "rvol": 1.54,
      "volume_acceleration": 0.8,
      "price_momentum": 0.11,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.93,
      "spread_liquidity": 4.73,
      "momentum_consistency": 2.72,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.299,
      "vwap": 12.2796,
      "vwap_slope": 0.0004,
      "rvol": 0.64,
      "volume_acceleration": 0.23,
      "premarket_volume": 320101.0,
      "momentum_pct": 0.07,
      "consolidation_tightness_pct": 0.12,
      "distance_from_pm_high_pct": 0.09,
      "extension_from_vwap_pct": 0.16,
      "spread_pct": 0.08
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 12.31,
    "pm_low": 12.245
  },
  {
    "symbol": "QXO",
    "total_score": 53.44,
    "raw_score": 56.65,
    "breakdown": {
      "price_quality": 2.1,
      "volume_quality": 12.0,
      "rvol": 8.43,
      "volume_acceleration": 8.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.57,
      "spread_liquidity": 4.74,
      "momentum_consistency": 3.31,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.905,
      "vwap": 12.9141,
      "vwap_slope": -0.0057,
      "rvol": 3.16,
      "volume_acceleration": 1.81,
      "premarket_volume": 1580485.0,
      "momentum_pct": -0.02,
      "consolidation_tightness_pct": 0.23,
      "distance_from_pm_high_pct": 0.58,
      "extension_from_vwap_pct": -0.07,
      "spread_pct": 0.08
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 12.98,
    "pm_low": 12.85
  },
  {
    "symbol": "SGHC",
    "total_score": 53.42,
    "raw_score": 56.62,
    "breakdown": {
      "price_quality": 1.54,
      "volume_quality": 12.0,
      "rvol": 1.18,
      "volume_acceleration": 2.57,
      "price_momentum": 0.06,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.97,
      "spread_liquidity": 4.75,
      "momentum_consistency": 2.14,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.455,
      "vwap": 13.3787,
      "vwap_slope": 0.0086,
      "rvol": 0.49,
      "volume_acceleration": 0.74,
      "premarket_volume": 246588.0,
      "momentum_pct": 0.04,
      "consolidation_tightness_pct": 0.15,
      "distance_from_pm_high_pct": 0.04,
      "extension_from_vwap_pct": 0.57,
      "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.46,
    "pm_low": 13.31
  },
  {
    "symbol": "GFR",
    "total_score": 53.38,
    "raw_score": 56.58,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 1.08,
      "volume_acceleration": 2.54,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.87,
      "spread_liquidity": 4.47,
      "momentum_consistency": 2.73,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.2391,
      "vwap": 6.203,
      "vwap_slope": 0.0109,
      "rvol": 0.45,
      "volume_acceleration": 0.73,
      "premarket_volume": 225263.0,
      "momentum_pct": -0.09,
      "consolidation_tightness_pct": 0.32,
      "distance_from_pm_high_pct": 0.17,
      "extension_from_vwap_pct": 0.58,
      "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.25,
    "pm_low": 6.175
  },
  {
    "symbol": "BIOA",
    "total_score": 53.37,
    "raw_score": 56.57,
    "breakdown": {
      "price_quality": 4.54,
      "volume_quality": 6.05,
      "rvol": 0.24,
      "volume_acceleration": 5.65,
      "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": 3.95,
      "momentum_consistency": 3.83,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.535,
      "vwap": 9.513,
      "vwap_slope": 0.0049,
      "rvol": 0.1,
      "volume_acceleration": 1.56,
      "premarket_volume": 50396.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.16,
      "distance_from_pm_high_pct": 0.1,
      "extension_from_vwap_pct": 0.23,
      "spread_pct": 0.31
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 9.545,
    "pm_low": 9.46
  },
  {
    "symbol": "SRAD",
    "total_score": 53.13,
    "raw_score": 56.32,
    "breakdown": {
      "price_quality": 2.76,
      "volume_quality": 11.05,
      "rvol": 0.44,
      "volume_acceleration": 10,
      "price_momentum": 0.12,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.79,
      "spread_liquidity": 4.73,
      "momentum_consistency": 2.23,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.245,
      "vwap": 12.2424,
      "vwap_slope": -0.0088,
      "rvol": 0.18,
      "volume_acceleration": 2.58,
      "premarket_volume": 92103.0,
      "momentum_pct": 0.08,
      "consolidation_tightness_pct": 0.12,
      "distance_from_pm_high_pct": 0.29,
      "extension_from_vwap_pct": 0.02,
      "spread_pct": 0.08
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 12.28,
    "pm_low": 12.22
  },
  {
    "symbol": "PAYS",
    "total_score": 53.13,
    "raw_score": 56.32,
    "breakdown": {
      "price_quality": 2.57,
      "volume_quality": 7.49,
      "rvol": 0.3,
      "volume_acceleration": 5.52,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.79,
      "spread_liquidity": 4.73,
      "momentum_consistency": 3.51,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.425,
      "vwap": 12.3979,
      "vwap_slope": 0.0278,
      "rvol": 0.12,
      "volume_acceleration": 1.55,
      "premarket_volume": 62425.0,
      "momentum_pct": -0.2,
      "consolidation_tightness_pct": 0.32,
      "distance_from_pm_high_pct": 0.28,
      "extension_from_vwap_pct": 0.22,
      "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.46,
    "pm_low": 12.34
  },
  {
    "symbol": "TDOC",
    "total_score": 53.02,
    "raw_score": 56.2,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 1.81,
      "volume_acceleration": 2.43,
      "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.47,
      "momentum_consistency": 1.66,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.285,
      "vwap": 6.271,
      "vwap_slope": 0.0024,
      "rvol": 0.75,
      "volume_acceleration": 0.7,
      "premarket_volume": 376393.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.16,
      "distance_from_pm_high_pct": 0.08,
      "extension_from_vwap_pct": 0.22,
      "spread_pct": 0.16
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 6.29,
    "pm_low": 6.2339
  },
  {
    "symbol": "ICL",
    "total_score": 53.01,
    "raw_score": 56.19,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 0.52,
      "volume_acceleration": 10,
      "price_momentum": 0.26,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.87,
      "spread_liquidity": 4.42,
      "momentum_consistency": 2.42,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.77,
      "vwap": 5.7677,
      "vwap_slope": -0.0029,
      "rvol": 0.22,
      "volume_acceleration": 2.27,
      "premarket_volume": 109191.0,
      "momentum_pct": 0.17,
      "consolidation_tightness_pct": 0.35,
      "distance_from_pm_high_pct": 0.17,
      "extension_from_vwap_pct": 0.04,
      "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.78,
    "pm_low": 5.75
  },
  {
    "symbol": "RDW",
    "total_score": 52.98,
    "raw_score": 56.16,
    "breakdown": {
      "price_quality": 4.77,
      "volume_quality": 12.0,
      "rvol": 3.55,
      "volume_acceleration": 2.66,
      "price_momentum": 0.37,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.56,
      "spread_liquidity": 4.67,
      "momentum_consistency": 3.39,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.235,
      "vwap": 10.2304,
      "vwap_slope": -0.0042,
      "rvol": 1.48,
      "volume_acceleration": 1.27,
      "premarket_volume": 739169.0,
      "momentum_pct": 0.24,
      "consolidation_tightness_pct": 0.34,
      "distance_from_pm_high_pct": 0.58,
      "extension_from_vwap_pct": 0.04,
      "spread_pct": 0.1
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 10.295,
    "pm_low": 10.19
  },
  {
    "symbol": "GLAS",
    "total_score": 52.87,
    "raw_score": 56.04,
    "breakdown": {
      "price_quality": 3.53,
      "volume_quality": 12.0,
      "rvol": 0.56,
      "volume_acceleration": 1.41,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.09,
      "spread_liquidity": 3.83,
      "momentum_consistency": 3.23,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.525,
      "vwap": 8.5049,
      "vwap_slope": 0.0064,
      "rvol": 0.23,
      "volume_acceleration": 0.4,
      "premarket_volume": 116801.0,
      "momentum_pct": -0.29,
      "consolidation_tightness_pct": 0.59,
      "distance_from_pm_high_pct": 1.22,
      "extension_from_vwap_pct": 0.24,
      "spread_pct": 0.35
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 8.63,
    "pm_low": 8.43
  },
  {
    "symbol": "SSTK",
    "total_score": 52.79,
    "raw_score": 55.96,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 0.61,
      "volume_acceleration": 2.76,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.61,
      "spread_liquidity": 4.41,
      "momentum_consistency": 2.67,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.69,
      "vwap": 5.6853,
      "vwap_slope": 0.0052,
      "rvol": 0.26,
      "volume_acceleration": 0.79,
      "premarket_volume": 127734.0,
      "momentum_pct": -0.35,
      "consolidation_tightness_pct": 0.44,
      "distance_from_pm_high_pct": 0.52,
      "extension_from_vwap_pct": 0.08,
      "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.72,
    "pm_low": 5.62
  },
  {
    "symbol": "QTTB",
    "total_score": 52.66,
    "raw_score": 55.82,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 4.4,
      "rvol": 0.18,
      "volume_acceleration": 10,
      "price_momentum": 0.52,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.97,
      "spread_liquidity": 3.6,
      "momentum_consistency": 3.24,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.355,
      "vwap": 14.2822,
      "vwap_slope": 0.0074,
      "rvol": 0.07,
      "volume_acceleration": 2.13,
      "premarket_volume": 36661.0,
      "momentum_pct": 0.35,
      "consolidation_tightness_pct": 0.38,
      "distance_from_pm_high_pct": 0.03,
      "extension_from_vwap_pct": 0.51,
      "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": true,
      "vwap_rising": true
    },
    "pm_high": 14.36,
    "pm_low": 14.1801
  },
  {
    "symbol": "IMTX",
    "total_score": 52.57,
    "raw_score": 55.72,
    "breakdown": {
      "price_quality": 4.41,
      "volume_quality": 3.02,
      "rvol": 0.12,
      "volume_acceleration": 10,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.92,
      "spread_liquidity": 4.29,
      "momentum_consistency": 1.57,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.41,
      "vwap": 9.3974,
      "vwap_slope": 0.0074,
      "rvol": 0.05,
      "volume_acceleration": 2.47,
      "premarket_volume": 25126.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.11,
      "distance_from_pm_high_pct": 0.11,
      "extension_from_vwap_pct": 0.13,
      "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.42,
    "pm_low": 9.36
  },
  {
    "symbol": "ELA",
    "total_score": 52.39,
    "raw_score": 55.54,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 6.01,
      "rvol": 0.24,
      "volume_acceleration": 10,
      "price_momentum": 0.22,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 7.92,
      "distance_from_pm_high": 5.06,
      "spread_liquidity": 1.61,
      "momentum_consistency": 4.57,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.78,
      "vwap": 13.6558,
      "vwap_slope": 0.2487,
      "rvol": 0.1,
      "volume_acceleration": 4.22,
      "premarket_volume": 50108.0,
      "momentum_pct": 0.15,
      "consolidation_tightness_pct": 3.12,
      "distance_from_pm_high_pct": 1.25,
      "extension_from_vwap_pct": 0.91,
      "spread_pct": 1.02
    },
    "flags": {
      "meets_min_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.955,
    "pm_low": 13.3601
  },
  {
    "symbol": "PERI",
    "total_score": 52.35,
    "raw_score": 55.49,
    "breakdown": {
      "price_quality": 4.29,
      "volume_quality": 11.46,
      "rvol": 0.46,
      "volume_acceleration": 0.83,
      "price_momentum": 0.08,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.44,
      "spread_liquidity": 4.64,
      "momentum_consistency": 1.89,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.29,
      "vwap": 9.2872,
      "vwap_slope": 0.0003,
      "rvol": 0.19,
      "volume_acceleration": 0.24,
      "premarket_volume": 95478.0,
      "momentum_pct": 0.05,
      "consolidation_tightness_pct": 0.05,
      "distance_from_pm_high_pct": 0.75,
      "extension_from_vwap_pct": 0.03,
      "spread_pct": 0.11
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 9.36,
    "pm_low": 9.225
  },
  {
    "symbol": "KLAR",
    "total_score": 52.33,
    "raw_score": 55.47,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 4.1,
      "volume_acceleration": 5.72,
      "price_momentum": 0.32,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.66,
      "spread_liquidity": 4.77,
      "momentum_consistency": 2.21,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.235,
      "vwap": 14.2195,
      "vwap_slope": -0.0065,
      "rvol": 1.54,
      "volume_acceleration": 1.57,
      "premarket_volume": 768480.0,
      "momentum_pct": 0.21,
      "consolidation_tightness_pct": 0.49,
      "distance_from_pm_high_pct": 0.45,
      "extension_from_vwap_pct": 0.11,
      "spread_pct": 0.07
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 14.3,
    "pm_low": 14.15
  },
  {
    "symbol": "LZ",
    "total_score": 52.18,
    "raw_score": 55.31,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 0.89,
      "volume_acceleration": 10,
      "price_momentum": 0.12,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.63,
      "spread_liquidity": 4.45,
      "momentum_consistency": 1.51,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.12,
      "vwap": 6.1195,
      "vwap_slope": -0.0008,
      "rvol": 0.37,
      "volume_acceleration": 2.05,
      "premarket_volume": 185779.0,
      "momentum_pct": 0.08,
      "consolidation_tightness_pct": 0.16,
      "distance_from_pm_high_pct": 0.49,
      "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": 6.15,
    "pm_low": 6.085
  },
  {
    "symbol": "STTK",
    "total_score": 52.15,
    "raw_score": 55.27,
    "breakdown": {
      "price_quality": 1.95,
      "volume_quality": 7.52,
      "rvol": 0.3,
      "volume_acceleration": 6.36,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.89,
      "spread_liquidity": 4.52,
      "momentum_consistency": 2.33,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.95,
      "vwap": 6.9228,
      "vwap_slope": 0.0057,
      "rvol": 0.13,
      "volume_acceleration": 1.64,
      "premarket_volume": 62643.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.58,
      "distance_from_pm_high_pct": 0.14,
      "extension_from_vwap_pct": 0.39,
      "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.96,
    "pm_low": 6.89
  },
  {
    "symbol": "HPK",
    "total_score": 52.14,
    "raw_score": 55.26,
    "breakdown": {
      "price_quality": 3.14,
      "volume_quality": 10.79,
      "rvol": 0.43,
      "volume_acceleration": 1.85,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.91,
      "spread_liquidity": 3.77,
      "momentum_consistency": 2.98,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.14,
      "vwap": 8.0941,
      "vwap_slope": 0.0071,
      "rvol": 0.18,
      "volume_acceleration": 0.53,
      "premarket_volume": 89902.0,
      "momentum_pct": -0.06,
      "consolidation_tightness_pct": 0.43,
      "distance_from_pm_high_pct": 0.12,
      "extension_from_vwap_pct": 0.57,
      "spread_pct": 0.37
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 8.15,
    "pm_low": 8.05
  },
  {
    "symbol": "TU",
    "total_score": 51.96,
    "raw_score": 55.07,
    "breakdown": {
      "price_quality": 4.63,
      "volume_quality": 12.0,
      "rvol": 1.98,
      "volume_acceleration": 1.55,
      "price_momentum": 0.08,
      "price_structure": 12,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.81,
      "spread_liquidity": 4.65,
      "momentum_consistency": 2.37,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.635,
      "vwap": 9.637,
      "vwap_slope": -0.001,
      "rvol": 0.82,
      "volume_acceleration": 0.45,
      "premarket_volume": 412257.0,
      "momentum_pct": 0.05,
      "consolidation_tightness_pct": 0.16,
      "distance_from_pm_high_pct": 0.26,
      "extension_from_vwap_pct": -0.02,
      "spread_pct": 0.1
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 9.66,
    "pm_low": 9.62
  },
  {
    "symbol": "RCAT",
    "total_score": 51.86,
    "raw_score": 54.97,
    "breakdown": {
      "price_quality": 3.28,
      "volume_quality": 12.0,
      "rvol": 1.57,
      "volume_acceleration": 5.33,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.82,
      "spread_liquidity": 4.6,
      "momentum_consistency": 3.17,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.28,
      "vwap": 8.2757,
      "vwap_slope": -0.0009,
      "rvol": 0.66,
      "volume_acceleration": 1.53,
      "premarket_volume": 328123.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.12,
      "distance_from_pm_high_pct": 0.24,
      "extension_from_vwap_pct": 0.05,
      "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.2999,
    "pm_low": 8.245
  },
  {
    "symbol": "WNC",
    "total_score": 51.85,
    "raw_score": 54.96,
    "breakdown": {
      "price_quality": 2.29,
      "volume_quality": 10.31,
      "rvol": 0.41,
      "volume_acceleration": 3.17,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.71,
      "spread_liquidity": 4.48,
      "momentum_consistency": 2.2,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.71,
      "vwap": 12.7004,
      "vwap_slope": 0.0018,
      "rvol": 0.17,
      "volume_acceleration": 0.91,
      "premarket_volume": 85951.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.2,
      "distance_from_pm_high_pct": 0.39,
      "extension_from_vwap_pct": 0.08,
      "spread_pct": 0.16
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 12.76,
    "pm_low": 12.67
  },
  {
    "symbol": "OWL",
    "total_score": 51.74,
    "raw_score": 54.85,
    "breakdown": {
      "price_quality": 3.27,
      "volume_quality": 12.0,
      "rvol": 9.55,
      "volume_acceleration": 5.05,
      "price_momentum": 0.13,
      "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.34,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.735,
      "vwap": 11.7787,
      "vwap_slope": -0.0113,
      "rvol": 3.58,
      "volume_acceleration": 1.5,
      "premarket_volume": 1789780.0,
      "momentum_pct": 0.09,
      "consolidation_tightness_pct": 0.26,
      "distance_from_pm_high_pct": 0.8,
      "extension_from_vwap_pct": -0.37,
      "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.83,
    "pm_low": 11.71
  },
  {
    "symbol": "FMC",
    "total_score": 51.58,
    "raw_score": 54.68,
    "breakdown": {
      "price_quality": 3.25,
      "volume_quality": 12.0,
      "rvol": 1.6,
      "volume_acceleration": 1.92,
      "price_momentum": 0.26,
      "price_structure": 12,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.43,
      "spread_liquidity": 4.44,
      "momentum_consistency": 3.79,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.75,
      "vwap": 11.768,
      "vwap_slope": -0.0115,
      "rvol": 0.67,
      "volume_acceleration": 0.55,
      "premarket_volume": 332786.0,
      "momentum_pct": 0.17,
      "consolidation_tightness_pct": 0.43,
      "distance_from_pm_high_pct": 0.76,
      "extension_from_vwap_pct": -0.15,
      "spread_pct": 0.17
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 11.84,
    "pm_low": 11.67
  },
  {
    "symbol": "NU",
    "total_score": 51.32,
    "raw_score": 54.4,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 12.0,
      "volume_acceleration": 2.93,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.77,
      "spread_liquidity": 4.77,
      "momentum_consistency": 3.03,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.485,
      "vwap": 14.4867,
      "vwap_slope": -0.0023,
      "rvol": 11.95,
      "volume_acceleration": 0.84,
      "premarket_volume": 5973987.0,
      "momentum_pct": -0.1,
      "consolidation_tightness_pct": 0.21,
      "distance_from_pm_high_pct": 0.31,
      "extension_from_vwap_pct": -0.01,
      "spread_pct": 0.07
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 14.53,
    "pm_low": 14.43
  },
  {
    "symbol": "HSLV",
    "total_score": 51.31,
    "raw_score": 54.38,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 1.06,
      "volume_acceleration": 1.18,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.79,
      "spread_liquidity": 4.36,
      "momentum_consistency": 2.1,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.22,
      "vwap": 5.2157,
      "vwap_slope": 0.0007,
      "rvol": 0.44,
      "volume_acceleration": 0.34,
      "premarket_volume": 220622.0,
      "momentum_pct": -0.19,
      "consolidation_tightness_pct": 0.29,
      "distance_from_pm_high_pct": 0.29,
      "extension_from_vwap_pct": 0.08,
      "spread_pct": 0.19
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 5.235,
    "pm_low": 5.195
  },
  {
    "symbol": "GNL",
    "total_score": 51.24,
    "raw_score": 54.32,
    "breakdown": {
      "price_quality": 4.12,
      "volume_quality": 12.0,
      "rvol": 0.6,
      "volume_acceleration": 5.96,
      "price_momentum": 0.16,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 6,
      "spread_liquidity": 4.63,
      "momentum_consistency": 1.63,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.125,
      "vwap": 9.1141,
      "vwap_slope": -0.0001,
      "rvol": 0.25,
      "volume_acceleration": 1.6,
      "premarket_volume": 125671.0,
      "momentum_pct": 0.11,
      "consolidation_tightness_pct": 0.11,
      "distance_from_pm_high_pct": 0.0,
      "extension_from_vwap_pct": 0.12,
      "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.125,
    "pm_low": 9.1
  },
  {
    "symbol": "DFNS",
    "total_score": 51.22,
    "raw_score": 54.3,
    "breakdown": {
      "price_quality": 4.81,
      "volume_quality": 6.12,
      "rvol": 0.24,
      "volume_acceleration": 3.29,
      "price_momentum": 0.26,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 4.47,
      "spread_liquidity": 2.96,
      "momentum_consistency": 3.33,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.81,
      "vwap": 9.8059,
      "vwap_slope": -0.0224,
      "rvol": 0.1,
      "volume_acceleration": 0.95,
      "premarket_volume": 51026.0,
      "momentum_pct": 0.17,
      "consolidation_tightness_pct": 1.52,
      "distance_from_pm_high_pct": 2.04,
      "extension_from_vwap_pct": 0.04,
      "spread_pct": 0.61
    },
    "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.014,
    "pm_low": 9.7
  },
  {
    "symbol": "QUAD",
    "total_score": 50.51,
    "raw_score": 53.54,
    "breakdown": {
      "price_quality": 4.86,
      "volume_quality": 5.82,
      "rvol": 0.23,
      "volume_acceleration": 2.39,
      "price_momentum": 0.13,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.93,
      "spread_liquidity": 4.67,
      "momentum_consistency": 3.11,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.14,
      "vwap": 10.1254,
      "vwap_slope": 0.0018,
      "rvol": 0.1,
      "volume_acceleration": 0.69,
      "premarket_volume": 48460.0,
      "momentum_pct": 0.09,
      "consolidation_tightness_pct": 0.1,
      "distance_from_pm_high_pct": 0.1,
      "extension_from_vwap_pct": 0.14,
      "spread_pct": 0.1
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 10.15,
    "pm_low": 10.1
  },
  {
    "symbol": "BTG",
    "total_score": 50.5,
    "raw_score": 53.53,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 12.0,
      "volume_acceleration": 3.4,
      "price_momentum": 0.29,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.5,
      "spread_liquidity": 4.36,
      "momentum_consistency": 2.07,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.245,
      "vwap": 5.2478,
      "vwap_slope": -0.0026,
      "rvol": 7.99,
      "volume_acceleration": 0.98,
      "premarket_volume": 3997417.0,
      "momentum_pct": 0.19,
      "consolidation_tightness_pct": 0.29,
      "distance_from_pm_high_pct": 0.66,
      "extension_from_vwap_pct": -0.05,
      "spread_pct": 0.19
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 5.28,
    "pm_low": 5.22
  },
  {
    "symbol": "RKT",
    "total_score": 50.37,
    "raw_score": 53.39,
    "breakdown": {
      "price_quality": 2.0,
      "volume_quality": 12.0,
      "rvol": 12.0,
      "volume_acceleration": 1.61,
      "price_momentum": 0.23,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.43,
      "spread_liquidity": 4.74,
      "momentum_consistency": 2.98,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.0,
      "vwap": 13.0388,
      "vwap_slope": -0.0079,
      "rvol": 6.96,
      "volume_acceleration": 1.16,
      "premarket_volume": 3477649.0,
      "momentum_pct": 0.15,
      "consolidation_tightness_pct": 0.23,
      "distance_from_pm_high_pct": 0.76,
      "extension_from_vwap_pct": -0.3,
      "spread_pct": 0.08
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 13.1,
    "pm_low": 12.965
  },
  {
    "symbol": "TASK",
    "total_score": 50.25,
    "raw_score": 53.26,
    "breakdown": {
      "price_quality": 2.91,
      "volume_quality": 3.01,
      "rvol": 0.12,
      "volume_acceleration": 4.73,
      "price_momentum": 0.86,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.76,
      "spread_liquidity": 4.58,
      "momentum_consistency": 2.48,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.91,
      "vwap": 7.8912,
      "vwap_slope": -0.0097,
      "rvol": 0.05,
      "volume_acceleration": 1.47,
      "premarket_volume": 25125.0,
      "momentum_pct": 0.57,
      "consolidation_tightness_pct": 0.7,
      "distance_from_pm_high_pct": 0.32,
      "extension_from_vwap_pct": 0.24,
      "spread_pct": 0.13
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 7.935,
    "pm_low": 7.86
  },
  {
    "symbol": "SBET",
    "total_score": 50.18,
    "raw_score": 53.19,
    "breakdown": {
      "price_quality": 3.2,
      "volume_quality": 12.0,
      "rvol": 2.41,
      "volume_acceleration": 2.61,
      "price_momentum": 0.09,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.86,
      "spread_liquidity": 4.59,
      "momentum_consistency": 3.23,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.195,
      "vwap": 8.1623,
      "vwap_slope": -0.0005,
      "rvol": 1.0,
      "volume_acceleration": 0.75,
      "premarket_volume": 502050.0,
      "momentum_pct": 0.06,
      "consolidation_tightness_pct": 0.37,
      "distance_from_pm_high_pct": 0.18,
      "extension_from_vwap_pct": 0.4,
      "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.21,
    "pm_low": 8.075
  },
  {
    "symbol": "IE",
    "total_score": 50.13,
    "raw_score": 53.14,
    "breakdown": {
      "price_quality": 4.96,
      "volume_quality": 12.0,
      "rvol": 1.07,
      "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.52,
      "spread_liquidity": 4.67,
      "momentum_consistency": 2.53,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.035,
      "vwap": 10.0535,
      "vwap_slope": -0.003,
      "rvol": 0.44,
      "volume_acceleration": 2.13,
      "premarket_volume": 222181.0,
      "momentum_pct": -0.25,
      "consolidation_tightness_pct": 0.3,
      "distance_from_pm_high_pct": 0.64,
      "extension_from_vwap_pct": -0.18,
      "spread_pct": 0.1
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 10.1,
    "pm_low": 10.02
  },
  {
    "symbol": "WEN",
    "total_score": 50.0,
    "raw_score": 53.0,
    "breakdown": {
      "price_quality": 3.31,
      "volume_quality": 12.0,
      "rvol": 2.32,
      "volume_acceleration": 10,
      "price_momentum": 0.27,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.2,
      "spread_liquidity": 4.6,
      "momentum_consistency": 2.9,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.315,
      "vwap": 8.3507,
      "vwap_slope": -0.0106,
      "rvol": 0.97,
      "volume_acceleration": 2.07,
      "premarket_volume": 484156.0,
      "momentum_pct": 0.18,
      "consolidation_tightness_pct": 0.24,
      "distance_from_pm_high_pct": 1.07,
      "extension_from_vwap_pct": -0.43,
      "spread_pct": 0.12
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 8.405,
    "pm_low": 8.29
  },
  {
    "symbol": "SMHI",
    "total_score": 49.97,
    "raw_score": 52.97,
    "breakdown": {
      "price_quality": 4.64,
      "volume_quality": 4.75,
      "rvol": 0.19,
      "volume_acceleration": 2.18,
      "price_momentum": 0.62,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.65,
      "spread_liquidity": 2.93,
      "momentum_consistency": 3.2,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.645,
      "vwap": 9.6154,
      "vwap_slope": -0.0166,
      "rvol": 0.08,
      "volume_acceleration": 0.63,
      "premarket_volume": 39618.0,
      "momentum_pct": 0.42,
      "consolidation_tightness_pct": 0.94,
      "distance_from_pm_high_pct": 0.46,
      "extension_from_vwap_pct": 0.31,
      "spread_pct": 0.62
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 9.69,
    "pm_low": 9.57
  },
  {
    "symbol": "IBRX",
    "total_score": 49.75,
    "raw_score": 52.73,
    "breakdown": {
      "price_quality": 2.88,
      "volume_quality": 12.0,
      "rvol": 2.73,
      "volume_acceleration": 2.83,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.48,
      "spread_liquidity": 4.58,
      "momentum_consistency": 3.03,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.885,
      "vwap": 7.8825,
      "vwap_slope": -0.0026,
      "rvol": 1.14,
      "volume_acceleration": 0.81,
      "premarket_volume": 568051.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.19,
      "distance_from_pm_high_pct": 0.69,
      "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": true,
      "vwap_rising": false
    },
    "pm_high": 7.9399,
    "pm_low": 7.84
  },
  {
    "symbol": "QS",
    "total_score": 49.67,
    "raw_score": 52.65,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 4.7,
      "volume_acceleration": 2.56,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.86,
      "spread_liquidity": 4.39,
      "momentum_consistency": 2.44,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.445,
      "vwap": 5.4404,
      "vwap_slope": -0.0,
      "rvol": 1.76,
      "volume_acceleration": 0.73,
      "premarket_volume": 881157.0,
      "momentum_pct": -0.09,
      "consolidation_tightness_pct": 0.18,
      "distance_from_pm_high_pct": 0.18,
      "extension_from_vwap_pct": 0.09,
      "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.455,
    "pm_low": 5.43
  },
  {
    "symbol": "NWL",
    "total_score": 49.45,
    "raw_score": 52.42,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 5.94,
      "volume_acceleration": 1.22,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.37,
      "spread_liquidity": 4.44,
      "momentum_consistency": 2.34,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.935,
      "vwap": 5.9397,
      "vwap_slope": 0.0001,
      "rvol": 2.23,
      "volume_acceleration": 0.35,
      "premarket_volume": 1114060.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.34,
      "distance_from_pm_high_pct": 0.84,
      "extension_from_vwap_pct": -0.08,
      "spread_pct": 0.17
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": true
    },
    "pm_high": 5.985,
    "pm_low": 5.91
  },
  {
    "symbol": "AES",
    "total_score": 49.44,
    "raw_score": 52.41,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 2.74,
      "volume_acceleration": 3.25,
      "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.77,
      "momentum_consistency": 2.62,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.785,
      "vwap": 14.7905,
      "vwap_slope": 0.0008,
      "rvol": 1.14,
      "volume_acceleration": 0.93,
      "premarket_volume": 570653.0,
      "momentum_pct": -0.07,
      "consolidation_tightness_pct": 0.14,
      "distance_from_pm_high_pct": 0.1,
      "extension_from_vwap_pct": -0.04,
      "spread_pct": 0.07
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": true
    },
    "pm_high": 14.8,
    "pm_low": 14.775
  },
  {
    "symbol": "TIC",
    "total_score": 49.35,
    "raw_score": 52.31,
    "breakdown": {
      "price_quality": 4.3,
      "volume_quality": 12.0,
      "rvol": 0.65,
      "volume_acceleration": 3.95,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.6,
      "spread_liquidity": 4.64,
      "momentum_consistency": 1.96,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.305,
      "vwap": 9.3045,
      "vwap_slope": -0.0067,
      "rvol": 0.27,
      "volume_acceleration": 1.4,
      "premarket_volume": 135743.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.22,
      "distance_from_pm_high_pct": 0.53,
      "extension_from_vwap_pct": 0.01,
      "spread_pct": 0.11
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 9.355,
    "pm_low": 9.26
  },
  {
    "symbol": "ALMU",
    "total_score": 49.31,
    "raw_score": 52.27,
    "breakdown": {
      "price_quality": 2.36,
      "volume_quality": 5.6,
      "rvol": 0.22,
      "volume_acceleration": 1.92,
      "price_momentum": 1.02,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 6,
      "spread_liquidity": 3.15,
      "momentum_consistency": 3.2,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.645,
      "vwap": 12.5703,
      "vwap_slope": -0.0001,
      "rvol": 0.09,
      "volume_acceleration": 0.55,
      "premarket_volume": 46636.0,
      "momentum_pct": 0.68,
      "consolidation_tightness_pct": 0.67,
      "distance_from_pm_high_pct": 0.0,
      "extension_from_vwap_pct": 0.59,
      "spread_pct": 0.55
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 12.645,
    "pm_low": 12.53
  },
  {
    "symbol": "GDYN",
    "total_score": 49.28,
    "raw_score": 52.24,
    "breakdown": {
      "price_quality": 2.89,
      "volume_quality": 5.45,
      "rvol": 0.22,
      "volume_acceleration": 3.3,
      "price_momentum": 0.1,
      "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": 3.4,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.89,
      "vwap": 7.8691,
      "vwap_slope": 0.0025,
      "rvol": 0.09,
      "volume_acceleration": 0.95,
      "premarket_volume": 45439.0,
      "momentum_pct": 0.06,
      "consolidation_tightness_pct": 0.25,
      "distance_from_pm_high_pct": 0.13,
      "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.9,
    "pm_low": 7.845
  },
  {
    "symbol": "SWBI",
    "total_score": 49.2,
    "raw_score": 52.16,
    "breakdown": {
      "price_quality": 2.2,
      "volume_quality": 3.86,
      "rvol": 0.15,
      "volume_acceleration": 4.4,
      "price_momentum": 0.12,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 6,
      "spread_liquidity": 4.74,
      "momentum_consistency": 4.29,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.8,
      "vwap": 12.772,
      "vwap_slope": 0.0098,
      "rvol": 0.06,
      "volume_acceleration": 1.44,
      "premarket_volume": 32168.0,
      "momentum_pct": 0.08,
      "consolidation_tightness_pct": 0.16,
      "distance_from_pm_high_pct": 0.0,
      "extension_from_vwap_pct": 0.22,
      "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.8,
    "pm_low": 12.75
  },
  {
    "symbol": "LE",
    "total_score": 49.17,
    "raw_score": 52.12,
    "breakdown": {
      "price_quality": 3.2,
      "volume_quality": 4.94,
      "rvol": 0.2,
      "volume_acceleration": 3.88,
      "price_momentum": 0.06,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.72,
      "spread_liquidity": 3.59,
      "momentum_consistency": 4.14,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.805,
      "vwap": 11.7741,
      "vwap_slope": 0.0242,
      "rvol": 0.08,
      "volume_acceleration": 1.39,
      "premarket_volume": 41155.0,
      "momentum_pct": 0.04,
      "consolidation_tightness_pct": 0.76,
      "distance_from_pm_high_pct": 0.38,
      "extension_from_vwap_pct": 0.26,
      "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": true,
      "vwap_rising": true
    },
    "pm_high": 11.85,
    "pm_low": 11.69
  },
  {
    "symbol": "KD",
    "total_score": 49.13,
    "raw_score": 52.08,
    "breakdown": {
      "price_quality": 1.96,
      "volume_quality": 12.0,
      "rvol": 1.87,
      "volume_acceleration": 3.28,
      "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.74,
      "momentum_consistency": 2.95,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.045,
      "vwap": 13.0498,
      "vwap_slope": 0.0004,
      "rvol": 0.78,
      "volume_acceleration": 0.94,
      "premarket_volume": 390013.0,
      "momentum_pct": -0.11,
      "consolidation_tightness_pct": 0.23,
      "distance_from_pm_high_pct": 0.42,
      "extension_from_vwap_pct": -0.04,
      "spread_pct": 0.08
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": true
    },
    "pm_high": 13.1,
    "pm_low": 13.02
  },
  {
    "symbol": "VITL",
    "total_score": 49.07,
    "raw_score": 52.02,
    "breakdown": {
      "price_quality": 4.79,
      "volume_quality": 10.99,
      "rvol": 0.44,
      "volume_acceleration": 2.14,
      "price_momentum": 0.81,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 6,
      "spread_liquidity": 4.35,
      "momentum_consistency": 3.3,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.21,
      "vwap": 10.1822,
      "vwap_slope": -0.005,
      "rvol": 0.18,
      "volume_acceleration": 1.21,
      "premarket_volume": 91567.0,
      "momentum_pct": 0.54,
      "consolidation_tightness_pct": 0.59,
      "distance_from_pm_high_pct": 0.0,
      "extension_from_vwap_pct": 0.27,
      "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": 10.21,
    "pm_low": 10.145
  },
  {
    "symbol": "SG",
    "total_score": 49.07,
    "raw_score": 52.01,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 4.87,
      "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.41,
      "spread_liquidity": 4.49,
      "momentum_consistency": 2.34,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.45,
      "vwap": 6.5119,
      "vwap_slope": -0.0109,
      "rvol": 1.83,
      "volume_acceleration": 3.75,
      "premarket_volume": 913864.0,
      "momentum_pct": -0.54,
      "consolidation_tightness_pct": 0.77,
      "distance_from_pm_high_pct": 2.12,
      "extension_from_vwap_pct": -0.95,
      "spread_pct": 0.15
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 6.59,
    "pm_low": 6.45
  },
  {
    "symbol": "OBDC",
    "total_score": 49.03,
    "raw_score": 51.97,
    "breakdown": {
      "price_quality": 3.62,
      "volume_quality": 12.0,
      "rvol": 1.34,
      "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.64,
      "spread_liquidity": 4.71,
      "momentum_consistency": 2.14,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.375,
      "vwap": 11.3951,
      "vwap_slope": -0.0107,
      "rvol": 0.56,
      "volume_acceleration": 2.23,
      "premarket_volume": 278239.0,
      "momentum_pct": 0.08,
      "consolidation_tightness_pct": 0.18,
      "distance_from_pm_high_pct": 0.48,
      "extension_from_vwap_pct": -0.18,
      "spread_pct": 0.09
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 11.4299,
    "pm_low": 11.36
  },
  {
    "symbol": "VALE",
    "total_score": 49.01,
    "raw_score": 51.95,
    "breakdown": {
      "price_quality": 0.0,
      "volume_quality": 12.0,
      "rvol": 12.0,
      "volume_acceleration": 3.26,
      "price_momentum": 0.1,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.51,
      "spread_liquidity": 4.78,
      "momentum_consistency": 1.9,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 15.185,
      "vwap": 15.2045,
      "vwap_slope": -0.0147,
      "rvol": 5.48,
      "volume_acceleration": 0.94,
      "premarket_volume": 2739687.0,
      "momentum_pct": 0.07,
      "consolidation_tightness_pct": 0.26,
      "distance_from_pm_high_pct": 0.65,
      "extension_from_vwap_pct": -0.13,
      "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": 15.285,
    "pm_low": 15.14
  },
  {
    "symbol": "SPT",
    "total_score": 48.95,
    "raw_score": 51.89,
    "breakdown": {
      "price_quality": 3.62,
      "volume_quality": 12.0,
      "rvol": 0.82,
      "volume_acceleration": 3.0,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.7,
      "spread_liquidity": 4.71,
      "momentum_consistency": 2.43,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.375,
      "vwap": 11.3863,
      "vwap_slope": 0.0024,
      "rvol": 0.34,
      "volume_acceleration": 0.86,
      "premarket_volume": 171316.0,
      "momentum_pct": -0.18,
      "consolidation_tightness_pct": 0.35,
      "distance_from_pm_high_pct": 0.39,
      "extension_from_vwap_pct": -0.1,
      "spread_pct": 0.09
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": true
    },
    "pm_high": 11.42,
    "pm_low": 11.355
  },
  {
    "symbol": "RGNX",
    "total_score": 48.78,
    "raw_score": 51.71,
    "breakdown": {
      "price_quality": 4.41,
      "volume_quality": 12.0,
      "rvol": 0.54,
      "volume_acceleration": 2.7,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.45,
      "spread_liquidity": 4.29,
      "momentum_consistency": 2.72,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.41,
      "vwap": 9.4136,
      "vwap_slope": 0.0004,
      "rvol": 0.22,
      "volume_acceleration": 0.78,
      "premarket_volume": 111723.0,
      "momentum_pct": -0.11,
      "consolidation_tightness_pct": 0.21,
      "distance_from_pm_high_pct": 0.74,
      "extension_from_vwap_pct": -0.04,
      "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.48,
    "pm_low": 9.35
  },
  {
    "symbol": "AVPT",
    "total_score": 48.74,
    "raw_score": 51.67,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 0.55,
      "volume_acceleration": 3.76,
      "price_momentum": 0.06,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.86,
      "spread_liquidity": 4.75,
      "momentum_consistency": 3.59,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.565,
      "vwap": 13.5657,
      "vwap_slope": 0.0034,
      "rvol": 0.23,
      "volume_acceleration": 1.38,
      "premarket_volume": 113730.0,
      "momentum_pct": 0.04,
      "consolidation_tightness_pct": 0.18,
      "distance_from_pm_high_pct": 0.18,
      "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": true
    },
    "pm_high": 13.59,
    "pm_low": 13.525
  },
  {
    "symbol": "ATAI",
    "total_score": 48.7,
    "raw_score": 51.62,
    "breakdown": {
      "price_quality": 2.34,
      "volume_quality": 12.0,
      "rvol": 5.08,
      "volume_acceleration": 0.64,
      "price_momentum": 0.02,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.9,
      "spread_liquidity": 4.55,
      "momentum_consistency": 1.49,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.345,
      "vwap": 7.3465,
      "vwap_slope": 0.0001,
      "rvol": 1.9,
      "volume_acceleration": 0.19,
      "premarket_volume": 952077.0,
      "momentum_pct": 0.01,
      "consolidation_tightness_pct": 0.08,
      "distance_from_pm_high_pct": 0.14,
      "extension_from_vwap_pct": -0.02,
      "spread_pct": 0.14
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": true
    },
    "pm_high": 7.355,
    "pm_low": 7.34
  },
  {
    "symbol": "VISN",
    "total_score": 48.69,
    "raw_score": 51.61,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 3.13,
      "volume_acceleration": 3.54,
      "price_momentum": 0.12,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.76,
      "spread_liquidity": 4.46,
      "momentum_consistency": 1.9,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.22,
      "vwap": 6.2176,
      "vwap_slope": -0.0016,
      "rvol": 1.31,
      "volume_acceleration": 1.02,
      "premarket_volume": 652605.0,
      "momentum_pct": 0.08,
      "consolidation_tightness_pct": 0.24,
      "distance_from_pm_high_pct": 0.32,
      "extension_from_vwap_pct": 0.04,
      "spread_pct": 0.16
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 6.24,
    "pm_low": 6.2
  },
  {
    "symbol": "BV",
    "total_score": 48.67,
    "raw_score": 51.59,
    "breakdown": {
      "price_quality": 3.88,
      "volume_quality": 3.96,
      "rvol": 0.16,
      "volume_acceleration": 3.35,
      "price_momentum": 0.07,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.93,
      "spread_liquidity": 4.7,
      "momentum_consistency": 3.15,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.125,
      "vwap": 11.1139,
      "vwap_slope": 0.0003,
      "rvol": 0.07,
      "volume_acceleration": 0.96,
      "premarket_volume": 32997.0,
      "momentum_pct": 0.04,
      "consolidation_tightness_pct": 0.27,
      "distance_from_pm_high_pct": 0.09,
      "extension_from_vwap_pct": 0.1,
      "spread_pct": 0.09
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 11.135,
    "pm_low": 11.1
  },
  {
    "symbol": "VERX",
    "total_score": 48.63,
    "raw_score": 51.55,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 0.78,
      "volume_acceleration": 3.69,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.73,
      "spread_liquidity": 4.76,
      "momentum_consistency": 3.49,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.83,
      "vwap": 13.8372,
      "vwap_slope": 0.0047,
      "rvol": 0.33,
      "volume_acceleration": 1.37,
      "premarket_volume": 162634.0,
      "momentum_pct": -0.11,
      "consolidation_tightness_pct": 0.22,
      "distance_from_pm_high_pct": 0.36,
      "extension_from_vwap_pct": -0.05,
      "spread_pct": 0.07
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": true
    },
    "pm_high": 13.88,
    "pm_low": 13.79
  },
  {
    "symbol": "BBDC",
    "total_score": 48.6,
    "raw_score": 51.52,
    "breakdown": {
      "price_quality": 4.35,
      "volume_quality": 12.0,
      "rvol": 0.73,
      "volume_acceleration": 10,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.76,
      "spread_liquidity": 4.64,
      "momentum_consistency": 1.63,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.345,
      "vwap": 9.356,
      "vwap_slope": -0.0077,
      "rvol": 0.31,
      "volume_acceleration": 2.29,
      "premarket_volume": 153009.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.11,
      "distance_from_pm_high_pct": 0.32,
      "extension_from_vwap_pct": -0.12,
      "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.375,
    "pm_low": 9.34
  },
  {
    "symbol": "SMPL",
    "total_score": 48.27,
    "raw_score": 51.17,
    "breakdown": {
      "price_quality": 3.48,
      "volume_quality": 12.0,
      "rvol": 1.11,
      "volume_acceleration": 10,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.13,
      "spread_liquidity": 4.71,
      "momentum_consistency": 2.33,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.515,
      "vwap": 11.5766,
      "vwap_slope": -0.0299,
      "rvol": 0.46,
      "volume_acceleration": 2.88,
      "premarket_volume": 231846.0,
      "momentum_pct": -0.04,
      "consolidation_tightness_pct": 0.26,
      "distance_from_pm_high_pct": 1.16,
      "extension_from_vwap_pct": -0.53,
      "spread_pct": 0.09
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 11.65,
    "pm_low": 11.505
  },
  {
    "symbol": "DUOT",
    "total_score": 48.19,
    "raw_score": 51.08,
    "breakdown": {
      "price_quality": 3.73,
      "volume_quality": 12.0,
      "rvol": 0.72,
      "volume_acceleration": 2.43,
      "price_momentum": 0.86,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.4,
      "spread_liquidity": 4.24,
      "momentum_consistency": 2.49,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.73,
      "vwap": 8.7202,
      "vwap_slope": -0.0083,
      "rvol": 0.3,
      "volume_acceleration": 0.7,
      "premarket_volume": 150441.0,
      "momentum_pct": 0.58,
      "consolidation_tightness_pct": 0.69,
      "distance_from_pm_high_pct": 0.8,
      "extension_from_vwap_pct": 0.11,
      "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": 8.8,
    "pm_low": 8.65
  },
  {
    "symbol": "MAKO",
    "total_score": 48.17,
    "raw_score": 51.07,
    "breakdown": {
      "price_quality": 4.58,
      "volume_quality": 5.23,
      "rvol": 0.21,
      "volume_acceleration": 10,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.57,
      "spread_liquidity": 3.61,
      "momentum_consistency": 2.67,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.58,
      "vwap": 9.5636,
      "vwap_slope": -0.0181,
      "rvol": 0.09,
      "volume_acceleration": 10.25,
      "premarket_volume": 43576.0,
      "momentum_pct": -0.05,
      "consolidation_tightness_pct": 0.26,
      "distance_from_pm_high_pct": 0.57,
      "extension_from_vwap_pct": 0.17,
      "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": true,
      "vwap_rising": false
    },
    "pm_high": 9.635,
    "pm_low": 9.51
  },
  {
    "symbol": "TXO",
    "total_score": 47.99,
    "raw_score": 50.87,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 6.27,
      "rvol": 0.25,
      "volume_acceleration": 2.93,
      "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.33,
      "momentum_consistency": 3.28,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.92,
      "vwap": 14.8234,
      "vwap_slope": 0.0196,
      "rvol": 0.1,
      "volume_acceleration": 0.84,
      "premarket_volume": 52272.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.07,
      "distance_from_pm_high_pct": 0.13,
      "extension_from_vwap_pct": 0.65,
      "spread_pct": 0.2
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 14.94,
    "pm_low": 14.75
  },
  {
    "symbol": "GASS",
    "total_score": 47.98,
    "raw_score": 50.86,
    "breakdown": {
      "price_quality": 4.65,
      "volume_quality": 3.94,
      "rvol": 0.16,
      "volume_acceleration": 1.48,
      "price_momentum": 0.16,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.92,
      "spread_liquidity": 3.96,
      "momentum_consistency": 4.19,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.65,
      "vwap": 9.6236,
      "vwap_slope": 0.0091,
      "rvol": 0.07,
      "volume_acceleration": 0.42,
      "premarket_volume": 32849.0,
      "momentum_pct": 0.1,
      "consolidation_tightness_pct": 0.31,
      "distance_from_pm_high_pct": 0.1,
      "extension_from_vwap_pct": 0.27,
      "spread_pct": 0.31
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 9.66,
    "pm_low": 9.58
  },
  {
    "symbol": "TJGC",
    "total_score": 47.87,
    "raw_score": 50.75,
    "breakdown": {
      "price_quality": 4.99,
      "volume_quality": 12.0,
      "rvol": 3.16,
      "volume_acceleration": 10,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 1.76,
      "spread_liquidity": 3.34,
      "momentum_consistency": 3.1,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.01,
      "vwap": 10.0727,
      "vwap_slope": -0.0997,
      "rvol": 1.32,
      "volume_acceleration": 5.41,
      "premarket_volume": 658460.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.9,
      "distance_from_pm_high_pct": 5.65,
      "extension_from_vwap_pct": -0.62,
      "spread_pct": 0.5
    },
    "flags": {
      "meets_min_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.6099,
    "pm_low": 10.0
  },
  {
    "symbol": "NEXT",
    "total_score": 47.87,
    "raw_score": 50.74,
    "breakdown": {
      "price_quality": 2.58,
      "volume_quality": 12.0,
      "rvol": 0.88,
      "volume_acceleration": 2.96,
      "price_momentum": 0.3,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.85,
      "spread_liquidity": 4.56,
      "momentum_consistency": 2.42,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.575,
      "vwap": 7.5583,
      "vwap_slope": -0.0006,
      "rvol": 0.37,
      "volume_acceleration": 0.85,
      "premarket_volume": 183513.0,
      "momentum_pct": 0.2,
      "consolidation_tightness_pct": 0.53,
      "distance_from_pm_high_pct": 0.2,
      "extension_from_vwap_pct": 0.22,
      "spread_pct": 0.13
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 7.59,
    "pm_low": 7.525
  },
  {
    "symbol": "EQX",
    "total_score": 47.86,
    "raw_score": 50.73,
    "breakdown": {
      "price_quality": 2.65,
      "volume_quality": 12.0,
      "rvol": 8.17,
      "volume_acceleration": 2.63,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.43,
      "spread_liquidity": 4.73,
      "momentum_consistency": 2.71,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.35,
      "vwap": 12.358,
      "vwap_slope": -0.0074,
      "rvol": 3.07,
      "volume_acceleration": 0.76,
      "premarket_volume": 1532532.0,
      "momentum_pct": -0.04,
      "consolidation_tightness_pct": 0.4,
      "distance_from_pm_high_pct": 0.76,
      "extension_from_vwap_pct": -0.07,
      "spread_pct": 0.08
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 12.445,
    "pm_low": 12.29
  },
  {
    "symbol": "ACHR",
    "total_score": 47.74,
    "raw_score": 50.61,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 8.31,
      "volume_acceleration": 3.7,
      "price_momentum": 0.13,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.4,
      "spread_liquidity": 4.4,
      "momentum_consistency": 2.76,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.575,
      "vwap": 5.5922,
      "vwap_slope": -0.003,
      "rvol": 3.12,
      "volume_acceleration": 1.06,
      "premarket_volume": 1558135.0,
      "momentum_pct": 0.09,
      "consolidation_tightness_pct": 0.36,
      "distance_from_pm_high_pct": 0.8,
      "extension_from_vwap_pct": -0.31,
      "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.62,
    "pm_low": 5.56
  },
  {
    "symbol": "QUBT",
    "total_score": 47.39,
    "raw_score": 50.23,
    "breakdown": {
      "price_quality": 2.87,
      "volume_quality": 12.0,
      "rvol": 3.28,
      "volume_acceleration": 6.49,
      "price_momentum": 0.38,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.48,
      "spread_liquidity": 4.58,
      "momentum_consistency": 2.76,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.865,
      "vwap": 7.869,
      "vwap_slope": -0.008,
      "rvol": 1.37,
      "volume_acceleration": 1.65,
      "premarket_volume": 683344.0,
      "momentum_pct": 0.25,
      "consolidation_tightness_pct": 0.45,
      "distance_from_pm_high_pct": 0.69,
      "extension_from_vwap_pct": -0.05,
      "spread_pct": 0.13
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 7.92,
    "pm_low": 7.83
  },
  {
    "symbol": "SPIR",
    "total_score": 47.37,
    "raw_score": 50.21,
    "breakdown": {
      "price_quality": 3.07,
      "volume_quality": 12.0,
      "rvol": 0.59,
      "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.95,
      "spread_liquidity": 4.16,
      "momentum_consistency": 3.04,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.93,
      "vwap": 12.0003,
      "vwap_slope": -0.0359,
      "rvol": 0.25,
      "volume_acceleration": 3.7,
      "premarket_volume": 123188.0,
      "momentum_pct": -0.67,
      "consolidation_tightness_pct": 1.0,
      "distance_from_pm_high_pct": 1.4,
      "extension_from_vwap_pct": -0.59,
      "spread_pct": 0.25
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 12.1,
    "pm_low": 11.9
  },
  {
    "symbol": "BKKT",
    "total_score": 47.36,
    "raw_score": 50.2,
    "breakdown": {
      "price_quality": 2.19,
      "volume_quality": 11.63,
      "rvol": 0.47,
      "volume_acceleration": 3.18,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.79,
      "spread_liquidity": 4.54,
      "momentum_consistency": 3.2,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.19,
      "vwap": 7.1812,
      "vwap_slope": -0.0014,
      "rvol": 0.19,
      "volume_acceleration": 0.91,
      "premarket_volume": 96924.0,
      "momentum_pct": -0.21,
      "consolidation_tightness_pct": 0.24,
      "distance_from_pm_high_pct": 0.28,
      "extension_from_vwap_pct": 0.12,
      "spread_pct": 0.14
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 7.21,
    "pm_low": 7.12
  },
  {
    "symbol": "BRCB",
    "total_score": 47.35,
    "raw_score": 50.19,
    "breakdown": {
      "price_quality": 4.25,
      "volume_quality": 4.1,
      "rvol": 0.16,
      "volume_acceleration": 3.01,
      "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.92,
      "momentum_consistency": 2.67,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.25,
      "vwap": 9.2378,
      "vwap_slope": 0.0274,
      "rvol": 0.07,
      "volume_acceleration": 1.3,
      "premarket_volume": 34167.0,
      "momentum_pct": -0.27,
      "consolidation_tightness_pct": 0.32,
      "distance_from_pm_high_pct": 0.43,
      "extension_from_vwap_pct": 0.13,
      "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.29,
    "pm_low": 9.16
  },
  {
    "symbol": "IHS",
    "total_score": 47.31,
    "raw_score": 50.14,
    "breakdown": {
      "price_quality": 3.43,
      "volume_quality": 4.82,
      "rvol": 0.19,
      "volume_acceleration": 2.93,
      "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.6,
      "momentum_consistency": 1.68,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.43,
      "vwap": 8.4276,
      "vwap_slope": 0.0001,
      "rvol": 0.08,
      "volume_acceleration": 0.84,
      "premarket_volume": 40150.0,
      "momentum_pct": 0.06,
      "consolidation_tightness_pct": 0.06,
      "distance_from_pm_high_pct": 0.0,
      "extension_from_vwap_pct": 0.03,
      "spread_pct": 0.12
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 8.43,
    "pm_low": 8.42
  },
  {
    "symbol": "WU",
    "total_score": 47.2,
    "raw_score": 50.03,
    "breakdown": {
      "price_quality": 2.0,
      "volume_quality": 12.0,
      "rvol": 4.99,
      "volume_acceleration": 6.28,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.63,
      "spread_liquidity": 4.52,
      "momentum_consistency": 2.21,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.995,
      "vwap": 7.0087,
      "vwap_slope": -0.0036,
      "rvol": 1.87,
      "volume_acceleration": 1.63,
      "premarket_volume": 935876.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.14,
      "distance_from_pm_high_pct": 0.5,
      "extension_from_vwap_pct": -0.2,
      "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.03,
    "pm_low": 6.99
  },
  {
    "symbol": "CTOS",
    "total_score": 47.2,
    "raw_score": 50.03,
    "breakdown": {
      "price_quality": 3.84,
      "volume_quality": 12.0,
      "rvol": 1.0,
      "volume_acceleration": 1.61,
      "price_momentum": 0.08,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.58,
      "spread_liquidity": 4.25,
      "momentum_consistency": 2.47,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.84,
      "vwap": 8.8316,
      "vwap_slope": -0.0,
      "rvol": 0.42,
      "volume_acceleration": 0.46,
      "premarket_volume": 208228.0,
      "momentum_pct": 0.06,
      "consolidation_tightness_pct": 0.17,
      "distance_from_pm_high_pct": 0.56,
      "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": 8.89,
    "pm_low": 8.79
  },
  {
    "symbol": "FWDI",
    "total_score": 47.18,
    "raw_score": 50.01,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 0.7,
      "volume_acceleration": 3.11,
      "price_momentum": 0.49,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.7,
      "spread_liquidity": 4.46,
      "momentum_consistency": 2.86,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.185,
      "vwap": 6.1658,
      "vwap_slope": -0.0024,
      "rvol": 0.29,
      "volume_acceleration": 0.89,
      "premarket_volume": 144900.0,
      "momentum_pct": 0.32,
      "consolidation_tightness_pct": 0.4,
      "distance_from_pm_high_pct": 0.4,
      "extension_from_vwap_pct": 0.31,
      "spread_pct": 0.16
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 6.21,
    "pm_low": 6.12
  },
  {
    "symbol": "MASS",
    "total_score": 47.08,
    "raw_score": 49.9,
    "breakdown": {
      "price_quality": 4.38,
      "volume_quality": 5.05,
      "rvol": 0.2,
      "volume_acceleration": 2.49,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.79,
      "spread_liquidity": 3.75,
      "momentum_consistency": 1.85,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.62,
      "vwap": 10.5888,
      "vwap_slope": 0.0116,
      "rvol": 0.08,
      "volume_acceleration": 0.72,
      "premarket_volume": 42047.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.28,
      "distance_from_pm_high_pct": 0.28,
      "extension_from_vwap_pct": 0.29,
      "spread_pct": 0.38
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 10.65,
    "pm_low": 10.53
  },
  {
    "symbol": "SHLS",
    "total_score": 46.98,
    "raw_score": 49.8,
    "breakdown": {
      "price_quality": 1.72,
      "volume_quality": 12.0,
      "rvol": 1.0,
      "volume_acceleration": 2.7,
      "price_momentum": 0.22,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.83,
      "spread_liquidity": 4.5,
      "momentum_consistency": 2.62,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.725,
      "vwap": 6.7189,
      "vwap_slope": -0.0019,
      "rvol": 0.42,
      "volume_acceleration": 1.27,
      "premarket_volume": 207733.0,
      "momentum_pct": 0.15,
      "consolidation_tightness_pct": 0.3,
      "distance_from_pm_high_pct": 0.22,
      "extension_from_vwap_pct": 0.09,
      "spread_pct": 0.15
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 6.74,
    "pm_low": 6.69
  },
  {
    "symbol": "OI",
    "total_score": 46.92,
    "raw_score": 49.73,
    "breakdown": {
      "price_quality": 2.01,
      "volume_quality": 12.0,
      "rvol": 1.59,
      "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.0,
      "spread_liquidity": 4.52,
      "momentum_consistency": 2.21,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.015,
      "vwap": 7.0565,
      "vwap_slope": -0.0231,
      "rvol": 0.66,
      "volume_acceleration": 2.0,
      "premarket_volume": 330871.0,
      "momentum_pct": -0.28,
      "consolidation_tightness_pct": 0.5,
      "distance_from_pm_high_pct": 1.34,
      "extension_from_vwap_pct": -0.59,
      "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.11,
    "pm_low": 7.01
  },
  {
    "symbol": "FWRG",
    "total_score": 46.91,
    "raw_score": 49.72,
    "breakdown": {
      "price_quality": 2.85,
      "volume_quality": 12.0,
      "rvol": 0.66,
      "volume_acceleration": 1.85,
      "price_momentum": 0.06,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.24,
      "spread_liquidity": 4.73,
      "momentum_consistency": 3.14,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.155,
      "vwap": 12.1479,
      "vwap_slope": -0.0036,
      "rvol": 0.28,
      "volume_acceleration": 0.53,
      "premarket_volume": 138341.0,
      "momentum_pct": 0.04,
      "consolidation_tightness_pct": 0.12,
      "distance_from_pm_high_pct": 1.02,
      "extension_from_vwap_pct": 0.06,
      "spread_pct": 0.08
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 12.28,
    "pm_low": 12.015
  },
  {
    "symbol": "PAYO",
    "total_score": 46.9,
    "raw_score": 49.71,
    "breakdown": {
      "price_quality": 2.11,
      "volume_quality": 12.0,
      "rvol": 1.32,
      "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.84,
      "spread_liquidity": 4.53,
      "momentum_consistency": 1.52,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.105,
      "vwap": 7.1092,
      "vwap_slope": -0.0007,
      "rvol": 0.55,
      "volume_acceleration": 3.75,
      "premarket_volume": 274792.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.14,
      "distance_from_pm_high_pct": 0.21,
      "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.12,
    "pm_low": 7.1
  },
  {
    "symbol": "EMBC",
    "total_score": 46.9,
    "raw_score": 49.71,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 10.61,
      "rvol": 0.42,
      "volume_acceleration": 5.69,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.58,
      "spread_liquidity": 4.37,
      "momentum_consistency": 1.95,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.265,
      "vwap": 5.2737,
      "vwap_slope": 0.0003,
      "rvol": 0.18,
      "volume_acceleration": 1.57,
      "premarket_volume": 88381.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.38,
      "distance_from_pm_high_pct": 0.57,
      "extension_from_vwap_pct": -0.17,
      "spread_pct": 0.19
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": true
    },
    "pm_high": 5.295,
    "pm_low": 5.255
  },
  {
    "symbol": "AURA",
    "total_score": 46.78,
    "raw_score": 49.59,
    "breakdown": {
      "price_quality": 2.48,
      "volume_quality": 5.65,
      "rvol": 0.23,
      "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.9,
      "spread_liquidity": 4.11,
      "momentum_consistency": 2.67,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.48,
      "vwap": 7.45,
      "vwap_slope": 0.01,
      "rvol": 0.09,
      "volume_acceleration": 0.62,
      "premarket_volume": 47072.0,
      "momentum_pct": -0.13,
      "consolidation_tightness_pct": 0.27,
      "distance_from_pm_high_pct": 0.13,
      "extension_from_vwap_pct": 0.4,
      "spread_pct": 0.27
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 7.49,
    "pm_low": 7.4
  },
  {
    "symbol": "SHOE",
    "total_score": 46.67,
    "raw_score": 49.47,
    "breakdown": {
      "price_quality": 1.89,
      "volume_quality": 12.0,
      "rvol": 0.93,
      "volume_acceleration": 1.68,
      "price_momentum": 0.35,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.38,
      "spread_liquidity": 4.49,
      "momentum_consistency": 3.56,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.11,
      "vwap": 13.0804,
      "vwap_slope": -0.005,
      "rvol": 0.39,
      "volume_acceleration": 1.17,
      "premarket_volume": 193766.0,
      "momentum_pct": 0.23,
      "consolidation_tightness_pct": 0.47,
      "distance_from_pm_high_pct": 0.83,
      "extension_from_vwap_pct": 0.23,
      "spread_pct": 0.15
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 13.22,
    "pm_low": 12.95
  },
  {
    "symbol": "SECZ",
    "total_score": 46.57,
    "raw_score": 49.37,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 8.07,
      "rvol": 0.32,
      "volume_acceleration": 6.88,
      "price_momentum": 0.24,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.88,
      "spread_liquidity": 3.94,
      "momentum_consistency": 3.33,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.31,
      "vwap": 6.2894,
      "vwap_slope": -0.0005,
      "rvol": 0.13,
      "volume_acceleration": 1.69,
      "premarket_volume": 67274.0,
      "momentum_pct": 0.16,
      "consolidation_tightness_pct": 0.4,
      "distance_from_pm_high_pct": 0.16,
      "extension_from_vwap_pct": 0.33,
      "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": false
    },
    "pm_high": 6.32,
    "pm_low": 6.26
  },
  {
    "symbol": "LTRX",
    "total_score": 46.52,
    "raw_score": 49.31,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 0.54,
      "volume_acceleration": 3.57,
      "price_momentum": 0.15,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.56,
      "spread_liquidity": 4.35,
      "momentum_consistency": 2.43,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.14,
      "vwap": 5.1375,
      "vwap_slope": -0.0001,
      "rvol": 0.23,
      "volume_acceleration": 1.03,
      "premarket_volume": 112511.0,
      "momentum_pct": 0.1,
      "consolidation_tightness_pct": 0.29,
      "distance_from_pm_high_pct": 0.58,
      "extension_from_vwap_pct": 0.05,
      "spread_pct": 0.19
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 5.17,
    "pm_low": 5.105
  },
  {
    "symbol": "AMPL",
    "total_score": 46.5,
    "raw_score": 49.29,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 0.8,
      "volume_acceleration": 2.24,
      "price_momentum": 0.11,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.76,
      "spread_liquidity": 4.76,
      "momentum_consistency": 2.92,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.835,
      "vwap": 13.8334,
      "vwap_slope": -0.0009,
      "rvol": 0.33,
      "volume_acceleration": 0.64,
      "premarket_volume": 166925.0,
      "momentum_pct": 0.07,
      "consolidation_tightness_pct": 0.22,
      "distance_from_pm_high_pct": 0.32,
      "extension_from_vwap_pct": 0.01,
      "spread_pct": 0.07
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 13.88,
    "pm_low": 13.785
  },
  {
    "symbol": "NUVB",
    "total_score": 46.41,
    "raw_score": 49.2,
    "breakdown": {
      "price_quality": 1.78,
      "volume_quality": 12.0,
      "rvol": 2.47,
      "volume_acceleration": 1.39,
      "price_momentum": 0.08,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.0,
      "spread_liquidity": 4.51,
      "momentum_consistency": 2.76,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.7786,
      "vwap": 6.7781,
      "vwap_slope": -0.0017,
      "rvol": 1.03,
      "volume_acceleration": 0.4,
      "premarket_volume": 515557.0,
      "momentum_pct": 0.05,
      "consolidation_tightness_pct": 0.22,
      "distance_from_pm_high_pct": 1.33,
      "extension_from_vwap_pct": 0.01,
      "spread_pct": 0.15
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 6.87,
    "pm_low": 6.73
  },
  {
    "symbol": "TROX",
    "total_score": 46.08,
    "raw_score": 48.84,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 1.56,
      "volume_acceleration": 1.09,
      "price_momentum": 1.05,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.78,
      "spread_liquidity": 4.34,
      "momentum_consistency": 2.33,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.055,
      "vwap": 5.0453,
      "vwap_slope": -0.0014,
      "rvol": 0.65,
      "volume_acceleration": 0.31,
      "premarket_volume": 325260.0,
      "momentum_pct": 0.7,
      "consolidation_tightness_pct": 0.69,
      "distance_from_pm_high_pct": 0.3,
      "extension_from_vwap_pct": 0.19,
      "spread_pct": 0.2
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 5.07,
    "pm_low": 5.02
  },
  {
    "symbol": "LSPD",
    "total_score": 45.98,
    "raw_score": 48.73,
    "breakdown": {
      "price_quality": 4.81,
      "volume_quality": 6.18,
      "rvol": 0.25,
      "volume_acceleration": 2.69,
      "price_momentum": 0.15,
      "price_structure": 12,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.67,
      "spread_liquidity": 4.67,
      "momentum_consistency": 2.31,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.185,
      "vwap": 10.1968,
      "vwap_slope": -0.0064,
      "rvol": 0.1,
      "volume_acceleration": 0.77,
      "premarket_volume": 51539.0,
      "momentum_pct": 0.1,
      "consolidation_tightness_pct": 0.15,
      "distance_from_pm_high_pct": 0.44,
      "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": true,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 10.23,
    "pm_low": 10.16
  },
  {
    "symbol": "DCH",
    "total_score": 45.89,
    "raw_score": 48.65,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 0.53,
      "volume_acceleration": 2.43,
      "price_momentum": 0.24,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.82,
      "spread_liquidity": 4.46,
      "momentum_consistency": 2.46,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.175,
      "vwap": 6.1707,
      "vwap_slope": -0.0011,
      "rvol": 0.22,
      "volume_acceleration": 1.24,
      "premarket_volume": 110606.0,
      "momentum_pct": 0.16,
      "consolidation_tightness_pct": 0.24,
      "distance_from_pm_high_pct": 0.24,
      "extension_from_vwap_pct": 0.07,
      "spread_pct": 0.16
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 6.19,
    "pm_low": 6.155
  },
  {
    "symbol": "PD",
    "total_score": 45.87,
    "raw_score": 48.62,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 0.81,
      "volume_acceleration": 2.22,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.81,
      "spread_liquidity": 4.76,
      "momentum_consistency": 1.93,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.745,
      "vwap": 13.7513,
      "vwap_slope": 0.002,
      "rvol": 0.34,
      "volume_acceleration": 0.64,
      "premarket_volume": 168777.0,
      "momentum_pct": -0.07,
      "consolidation_tightness_pct": 0.15,
      "distance_from_pm_high_pct": 0.25,
      "extension_from_vwap_pct": -0.05,
      "spread_pct": 0.07
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": true
    },
    "pm_high": 13.78,
    "pm_low": 13.72
  },
  {
    "symbol": "HAFN",
    "total_score": 45.77,
    "raw_score": 48.52,
    "breakdown": {
      "price_quality": 3.59,
      "volume_quality": 12.0,
      "rvol": 1.0,
      "volume_acceleration": 8.04,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.61,
      "spread_liquidity": 4.61,
      "momentum_consistency": 1.27,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.59,
      "vwap": 8.6092,
      "vwap_slope": -0.0027,
      "rvol": 0.42,
      "volume_acceleration": 1.8,
      "premarket_volume": 207527.0,
      "momentum_pct": -0.17,
      "consolidation_tightness_pct": 0.18,
      "distance_from_pm_high_pct": 0.52,
      "extension_from_vwap_pct": -0.22,
      "spread_pct": 0.12
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 8.635,
    "pm_low": 8.59
  },
  {
    "symbol": "GSIT",
    "total_score": 45.74,
    "raw_score": 48.49,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 2.61,
      "rvol": 0.1,
      "volume_acceleration": 8.58,
      "price_momentum": 0.71,
      "price_structure": 12,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.65,
      "spread_liquidity": 4.37,
      "momentum_consistency": 2.96,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.305,
      "vwap": 5.3075,
      "vwap_slope": -0.0165,
      "rvol": 0.04,
      "volume_acceleration": 1.86,
      "premarket_volume": 21773.0,
      "momentum_pct": 0.47,
      "consolidation_tightness_pct": 0.47,
      "distance_from_pm_high_pct": 0.47,
      "extension_from_vwap_pct": -0.05,
      "spread_pct": 0.19
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 5.33,
    "pm_low": 5.28
  },
  {
    "symbol": "CGNT",
    "total_score": 45.63,
    "raw_score": 48.37,
    "breakdown": {
      "price_quality": 3.46,
      "volume_quality": 5.22,
      "rvol": 0.21,
      "volume_acceleration": 5.23,
      "price_momentum": 0.09,
      "price_structure": 12,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.65,
      "spread_liquidity": 4.61,
      "momentum_consistency": 1.91,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.46,
      "vwap": 8.476,
      "vwap_slope": -0.0073,
      "rvol": 0.09,
      "volume_acceleration": 1.52,
      "premarket_volume": 43511.0,
      "momentum_pct": 0.06,
      "consolidation_tightness_pct": 0.3,
      "distance_from_pm_high_pct": 0.47,
      "extension_from_vwap_pct": -0.19,
      "spread_pct": 0.12
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 8.5,
    "pm_low": 8.45
  },
  {
    "symbol": "VELO",
    "total_score": 45.63,
    "raw_score": 48.36,
    "breakdown": {
      "price_quality": 3.79,
      "volume_quality": 10.25,
      "rvol": 0.41,
      "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.62,
      "spread_liquidity": 4.41,
      "momentum_consistency": 2.49,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.2101,
      "vwap": 11.2956,
      "vwap_slope": -0.0384,
      "rvol": 0.17,
      "volume_acceleration": 2.81,
      "premarket_volume": 85403.0,
      "momentum_pct": -0.09,
      "consolidation_tightness_pct": 0.62,
      "distance_from_pm_high_pct": 1.84,
      "extension_from_vwap_pct": -0.76,
      "spread_pct": 0.18
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 11.42,
    "pm_low": 11.2
  },
  {
    "symbol": "AI",
    "total_score": 45.55,
    "raw_score": 48.28,
    "breakdown": {
      "price_quality": 4.8,
      "volume_quality": 12.0,
      "rvol": 2.23,
      "volume_acceleration": 3.83,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.49,
      "spread_liquidity": 4.67,
      "momentum_consistency": 2.85,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.195,
      "vwap": 10.2171,
      "vwap_slope": -0.0047,
      "rvol": 0.93,
      "volume_acceleration": 1.1,
      "premarket_volume": 465079.0,
      "momentum_pct": -0.34,
      "consolidation_tightness_pct": 0.59,
      "distance_from_pm_high_pct": 0.68,
      "extension_from_vwap_pct": -0.22,
      "spread_pct": 0.1
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 10.265,
    "pm_low": 10.17
  },
  {
    "symbol": "FSK",
    "total_score": 45.34,
    "raw_score": 48.06,
    "breakdown": {
      "price_quality": 2.76,
      "volume_quality": 10.71,
      "rvol": 0.43,
      "volume_acceleration": 9.41,
      "price_momentum": 0.06,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.76,
      "spread_liquidity": 4.73,
      "momentum_consistency": 1.81,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.245,
      "vwap": 12.2623,
      "vwap_slope": -0.0051,
      "rvol": 0.18,
      "volume_acceleration": 1.94,
      "premarket_volume": 89218.0,
      "momentum_pct": 0.04,
      "consolidation_tightness_pct": 0.15,
      "distance_from_pm_high_pct": 0.33,
      "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": false,
      "vwap_rising": false
    },
    "pm_high": 12.285,
    "pm_low": 12.2311
  },
  {
    "symbol": "USDE",
    "total_score": 45.32,
    "raw_score": 48.04,
    "breakdown": {
      "price_quality": 3.51,
      "volume_quality": 12.0,
      "rvol": 1.14,
      "volume_acceleration": 3.07,
      "price_momentum": 0.44,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 3.78,
      "spread_liquidity": 2.28,
      "momentum_consistency": 2.62,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.51,
      "vwap": 8.4744,
      "vwap_slope": -0.0031,
      "rvol": 0.48,
      "volume_acceleration": 0.88,
      "premarket_volume": 238526.0,
      "momentum_pct": 0.29,
      "consolidation_tightness_pct": 0.82,
      "distance_from_pm_high_pct": 2.96,
      "extension_from_vwap_pct": 0.42,
      "spread_pct": 0.82
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 8.77,
    "pm_low": 8.25
  },
  {
    "symbol": "LXU",
    "total_score": 45.15,
    "raw_score": 47.86,
    "breakdown": {
      "price_quality": 3.88,
      "volume_quality": 7.56,
      "rvol": 0.3,
      "volume_acceleration": 3.75,
      "price_momentum": 0.14,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.8,
      "spread_liquidity": 4.7,
      "momentum_consistency": 2.53,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.12,
      "vwap": 11.1046,
      "vwap_slope": -0.0036,
      "rvol": 0.13,
      "volume_acceleration": 1.08,
      "premarket_volume": 63010.0,
      "momentum_pct": 0.09,
      "consolidation_tightness_pct": 0.36,
      "distance_from_pm_high_pct": 0.27,
      "extension_from_vwap_pct": 0.14,
      "spread_pct": 0.09
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 11.15,
    "pm_low": 11.07
  },
  {
    "symbol": "FRNM",
    "total_score": 44.99,
    "raw_score": 47.69,
    "breakdown": {
      "price_quality": 0.0,
      "volume_quality": 12.0,
      "rvol": 1.83,
      "volume_acceleration": 2.54,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.68,
      "spread_liquidity": 3.46,
      "momentum_consistency": 2.98,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 15.155,
      "vwap": 15.1153,
      "vwap_slope": -0.0,
      "rvol": 0.76,
      "volume_acceleration": 0.73,
      "premarket_volume": 381012.0,
      "momentum_pct": -0.1,
      "consolidation_tightness_pct": 0.53,
      "distance_from_pm_high_pct": 0.43,
      "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": true,
      "vwap_rising": false
    },
    "pm_high": 15.22,
    "pm_low": 14.93
  },
  {
    "symbol": "GSBD",
    "total_score": 44.96,
    "raw_score": 47.66,
    "breakdown": {
      "price_quality": 4.88,
      "volume_quality": 7.88,
      "rvol": 0.32,
      "volume_acceleration": 10,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.7,
      "spread_liquidity": 4.67,
      "momentum_consistency": 1.82,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.125,
      "vwap": 10.1519,
      "vwap_slope": -0.0087,
      "rvol": 0.13,
      "volume_acceleration": 2.12,
      "premarket_volume": 65630.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.15,
      "distance_from_pm_high_pct": 0.39,
      "extension_from_vwap_pct": -0.26,
      "spread_pct": 0.1
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 10.165,
    "pm_low": 10.12
  },
  {
    "symbol": "MRTN",
    "total_score": 44.81,
    "raw_score": 47.5,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 6.72,
      "rvol": 0.27,
      "volume_acceleration": 3.7,
      "price_momentum": 0.22,
      "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": 2.57,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.835,
      "vwap": 13.8452,
      "vwap_slope": -0.0051,
      "rvol": 0.11,
      "volume_acceleration": 1.06,
      "premarket_volume": 56016.0,
      "momentum_pct": 0.14,
      "consolidation_tightness_pct": 0.18,
      "distance_from_pm_high_pct": 0.32,
      "extension_from_vwap_pct": -0.07,
      "spread_pct": 0.07
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 13.88,
    "pm_low": 13.81
  },
  {
    "symbol": "RDNW",
    "total_score": 44.79,
    "raw_score": 47.48,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 4.27,
      "rvol": 0.17,
      "volume_acceleration": 10,
      "price_momentum": 0.82,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.33,
      "spread_liquidity": 2.59,
      "momentum_consistency": 3.2,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.53,
      "vwap": 5.5361,
      "vwap_slope": 0.0061,
      "rvol": 0.07,
      "volume_acceleration": 56.16,
      "premarket_volume": 35551.0,
      "momentum_pct": 0.55,
      "consolidation_tightness_pct": 1.45,
      "distance_from_pm_high_pct": 0.9,
      "extension_from_vwap_pct": -0.11,
      "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": true
    },
    "pm_high": 5.58,
    "pm_low": 5.5
  },
  {
    "symbol": "CXDO",
    "total_score": 44.79,
    "raw_score": 47.48,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 4.13,
      "rvol": 0.17,
      "volume_acceleration": 10,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.87,
      "spread_liquidity": 4.44,
      "momentum_consistency": 2.18,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.9199,
      "vwap": 5.9106,
      "vwap_slope": -0.0012,
      "rvol": 0.07,
      "volume_acceleration": 2.19,
      "premarket_volume": 34385.0,
      "momentum_pct": -0.0,
      "consolidation_tightness_pct": 0.34,
      "distance_from_pm_high_pct": 0.17,
      "extension_from_vwap_pct": 0.16,
      "spread_pct": 0.17
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 5.93,
    "pm_low": 5.9
  },
  {
    "symbol": "RITM",
    "total_score": 44.62,
    "raw_score": 47.3,
    "breakdown": {
      "price_quality": 4.9,
      "volume_quality": 12.0,
      "rvol": 2.18,
      "volume_acceleration": 2.28,
      "price_momentum": 0.16,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.82,
      "spread_liquidity": 4.66,
      "momentum_consistency": 2.91,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.8956,
      "vwap": 9.9004,
      "vwap_slope": -0.0025,
      "rvol": 0.91,
      "volume_acceleration": 0.66,
      "premarket_volume": 453985.0,
      "momentum_pct": 0.11,
      "consolidation_tightness_pct": 0.15,
      "distance_from_pm_high_pct": 0.25,
      "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.92,
    "pm_low": 9.8845
  },
  {
    "symbol": "ULCC",
    "total_score": 44.62,
    "raw_score": 47.29,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 0.85,
      "volume_acceleration": 8.89,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.59,
      "spread_liquidity": 4.4,
      "momentum_consistency": 1.66,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.515,
      "vwap": 5.5173,
      "vwap_slope": -0.006,
      "rvol": 0.36,
      "volume_acceleration": 1.89,
      "premarket_volume": 178044.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.27,
      "distance_from_pm_high_pct": 0.54,
      "extension_from_vwap_pct": -0.04,
      "spread_pct": 0.18
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 5.545,
    "pm_low": 5.49
  },
  {
    "symbol": "EIC",
    "total_score": 44.44,
    "raw_score": 47.11,
    "breakdown": {
      "price_quality": 5.0,
      "volume_quality": 2.45,
      "rvol": 0.1,
      "volume_acceleration": 4.05,
      "price_momentum": 0.0,
      "price_structure": 12,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.78,
      "spread_liquidity": 4.0,
      "momentum_consistency": 3.73,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.0,
      "vwap": 10.0053,
      "vwap_slope": -0.0188,
      "rvol": 0.04,
      "volume_acceleration": 1.4,
      "premarket_volume": 20443.0,
      "momentum_pct": -0.2,
      "consolidation_tightness_pct": 0.68,
      "distance_from_pm_high_pct": 0.3,
      "extension_from_vwap_pct": -0.05,
      "spread_pct": 0.3
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 10.03,
    "pm_low": 9.96
  },
  {
    "symbol": "ALIT",
    "total_score": 44.33,
    "raw_score": 46.99,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 2.93,
      "rvol": 0.12,
      "volume_acceleration": 2.41,
      "price_momentum": 0.05,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.65,
      "spread_liquidity": 3.81,
      "momentum_consistency": 4.12,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.025,
      "vwap": 13.9931,
      "vwap_slope": 0.0067,
      "rvol": 0.05,
      "volume_acceleration": 0.69,
      "premarket_volume": 24393.0,
      "momentum_pct": 0.04,
      "consolidation_tightness_pct": 0.21,
      "distance_from_pm_high_pct": 0.46,
      "extension_from_vwap_pct": 0.23,
      "spread_pct": 0.36
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 14.09,
    "pm_low": 13.94
  },
  {
    "symbol": "COMP",
    "total_score": 44.31,
    "raw_score": 46.97,
    "breakdown": {
      "price_quality": 4.69,
      "volume_quality": 12.0,
      "rvol": 3.21,
      "volume_acceleration": 3.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.39,
      "spread_liquidity": 4.68,
      "momentum_consistency": 1.38,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.31,
      "vwap": 10.3515,
      "vwap_slope": -0.0103,
      "rvol": 1.34,
      "volume_acceleration": 1.32,
      "premarket_volume": 669662.0,
      "momentum_pct": -0.15,
      "consolidation_tightness_pct": 0.24,
      "distance_from_pm_high_pct": 0.82,
      "extension_from_vwap_pct": -0.4,
      "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.395,
    "pm_low": 10.31
  },
  {
    "symbol": "CLF",
    "total_score": 44.2,
    "raw_score": 46.85,
    "breakdown": {
      "price_quality": 3.4,
      "volume_quality": 12.0,
      "rvol": 4.61,
      "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.45,
      "spread_liquidity": 4.71,
      "momentum_consistency": 2.76,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.6,
      "vwap": 11.6178,
      "vwap_slope": -0.0097,
      "rvol": 1.73,
      "volume_acceleration": 1.15,
      "premarket_volume": 865074.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.3,
      "distance_from_pm_high_pct": 0.73,
      "extension_from_vwap_pct": -0.15,
      "spread_pct": 0.09
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 11.685,
    "pm_low": 11.55
  },
  {
    "symbol": "HUN",
    "total_score": 44.13,
    "raw_score": 46.78,
    "breakdown": {
      "price_quality": 4.45,
      "volume_quality": 12.0,
      "rvol": 0.5,
      "volume_acceleration": 5.18,
      "price_momentum": 0.16,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.14,
      "spread_liquidity": 4.65,
      "momentum_consistency": 2.31,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.445,
      "vwap": 9.493,
      "vwap_slope": -0.0153,
      "rvol": 0.21,
      "volume_acceleration": 1.52,
      "premarket_volume": 104724.0,
      "momentum_pct": 0.11,
      "consolidation_tightness_pct": 0.11,
      "distance_from_pm_high_pct": 1.15,
      "extension_from_vwap_pct": -0.51,
      "spread_pct": 0.11
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 9.555,
    "pm_low": 9.425
  },
  {
    "symbol": "CRML",
    "total_score": 43.97,
    "raw_score": 46.61,
    "breakdown": {
      "price_quality": 2.07,
      "volume_quality": 12.0,
      "rvol": 1.02,
      "volume_acceleration": 6.05,
      "price_momentum": 0.21,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.58,
      "spread_liquidity": 4.53,
      "momentum_consistency": 2.76,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.065,
      "vwap": 7.0664,
      "vwap_slope": -0.0029,
      "rvol": 0.43,
      "volume_acceleration": 1.6,
      "premarket_volume": 213012.0,
      "momentum_pct": 0.14,
      "consolidation_tightness_pct": 0.35,
      "distance_from_pm_high_pct": 0.56,
      "extension_from_vwap_pct": -0.02,
      "spread_pct": 0.14
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 7.105,
    "pm_low": 7.03
  },
  {
    "symbol": "ASAN",
    "total_score": 43.82,
    "raw_score": 46.45,
    "breakdown": {
      "price_quality": 4.8,
      "volume_quality": 12.0,
      "rvol": 1.96,
      "volume_acceleration": 2.42,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.58,
      "spread_liquidity": 4.66,
      "momentum_consistency": 2.62,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.805,
      "vwap": 9.816,
      "vwap_slope": -0.0016,
      "rvol": 0.82,
      "volume_acceleration": 0.69,
      "premarket_volume": 408602.0,
      "momentum_pct": -0.05,
      "consolidation_tightness_pct": 0.31,
      "distance_from_pm_high_pct": 0.56,
      "extension_from_vwap_pct": -0.11,
      "spread_pct": 0.1
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 9.86,
    "pm_low": 9.79
  },
  {
    "symbol": "AMWL",
    "total_score": 43.8,
    "raw_score": 46.43,
    "breakdown": {
      "price_quality": 2.84,
      "volume_quality": 3.09,
      "rvol": 0.12,
      "volume_acceleration": 2.75,
      "price_momentum": 0.56,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.63,
      "spread_liquidity": 1.71,
      "momentum_consistency": 3.33,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.16,
      "vwap": 12.0445,
      "vwap_slope": 0.0444,
      "rvol": 0.05,
      "volume_acceleration": 0.79,
      "premarket_volume": 25748.0,
      "momentum_pct": 0.37,
      "consolidation_tightness_pct": 0.74,
      "distance_from_pm_high_pct": 0.49,
      "extension_from_vwap_pct": 0.96,
      "spread_pct": 0.99
    },
    "flags": {
      "meets_min_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.22,
    "pm_low": 11.97
  },
  {
    "symbol": "NXE",
    "total_score": 43.8,
    "raw_score": 46.43,
    "breakdown": {
      "price_quality": 4.96,
      "volume_quality": 12.0,
      "rvol": 2.08,
      "volume_acceleration": 2.05,
      "price_momentum": 0.26,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.32,
      "spread_liquidity": 4.66,
      "momentum_consistency": 2.71,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.955,
      "vwap": 9.9661,
      "vwap_slope": -0.0072,
      "rvol": 0.87,
      "volume_acceleration": 1.2,
      "premarket_volume": 432766.0,
      "momentum_pct": 0.17,
      "consolidation_tightness_pct": 0.35,
      "distance_from_pm_high_pct": 0.91,
      "extension_from_vwap_pct": -0.11,
      "spread_pct": 0.1
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 10.0462,
    "pm_low": 9.91
  },
  {
    "symbol": "FNKO",
    "total_score": 43.77,
    "raw_score": 46.39,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 0.62,
      "volume_acceleration": 10,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 4.34,
      "spread_liquidity": 4.48,
      "momentum_consistency": 1.06,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.395,
      "vwap": 6.4742,
      "vwap_slope": -0.0307,
      "rvol": 0.26,
      "volume_acceleration": 2.92,
      "premarket_volume": 129455.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.47,
      "distance_from_pm_high_pct": 2.22,
      "extension_from_vwap_pct": -1.22,
      "spread_pct": 0.16
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 6.54,
    "pm_low": 6.385
  },
  {
    "symbol": "ADMA",
    "total_score": 43.76,
    "raw_score": 46.39,
    "breakdown": {
      "price_quality": 4.32,
      "volume_quality": 12.0,
      "rvol": 0.89,
      "volume_acceleration": 3.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.64,
      "spread_liquidity": 4.64,
      "momentum_consistency": 2.53,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.325,
      "vwap": 9.333,
      "vwap_slope": -0.003,
      "rvol": 0.37,
      "volume_acceleration": 1.09,
      "premarket_volume": 185774.0,
      "momentum_pct": 0.11,
      "consolidation_tightness_pct": 0.21,
      "distance_from_pm_high_pct": 0.48,
      "extension_from_vwap_pct": -0.09,
      "spread_pct": 0.11
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 9.37,
    "pm_low": 9.3
  },
  {
    "symbol": "XRAY",
    "total_score": 43.75,
    "raw_score": 46.37,
    "breakdown": {
      "price_quality": 4.11,
      "volume_quality": 12.0,
      "rvol": 1.84,
      "volume_acceleration": 4.6,
      "price_momentum": 0.07,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 4.98,
      "spread_liquidity": 4.69,
      "momentum_consistency": 1.68,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.89,
      "vwap": 10.9436,
      "vwap_slope": -0.0222,
      "rvol": 0.77,
      "volume_acceleration": 1.46,
      "premarket_volume": 383327.0,
      "momentum_pct": 0.05,
      "consolidation_tightness_pct": 0.27,
      "distance_from_pm_high_pct": 1.36,
      "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": false,
      "vwap_rising": false
    },
    "pm_high": 11.04,
    "pm_low": 10.875
  },
  {
    "symbol": "BLMN",
    "total_score": 43.59,
    "raw_score": 46.2,
    "breakdown": {
      "price_quality": 4.73,
      "volume_quality": 12.0,
      "rvol": 0.63,
      "volume_acceleration": 3.5,
      "price_momentum": 0.15,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.46,
      "spread_liquidity": 4.66,
      "momentum_consistency": 2.67,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.73,
      "vwap": 9.7604,
      "vwap_slope": -0.0065,
      "rvol": 0.26,
      "volume_acceleration": 1.01,
      "premarket_volume": 130819.0,
      "momentum_pct": 0.1,
      "consolidation_tightness_pct": 0.15,
      "distance_from_pm_high_pct": 0.71,
      "extension_from_vwap_pct": -0.31,
      "spread_pct": 0.1
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 9.8,
    "pm_low": 9.71
  },
  {
    "symbol": "CXM",
    "total_score": 43.54,
    "raw_score": 46.16,
    "breakdown": {
      "price_quality": 2.66,
      "volume_quality": 12.0,
      "rvol": 5.19,
      "volume_acceleration": 1.74,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 4.94,
      "spread_liquidity": 4.57,
      "momentum_consistency": 2.67,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.655,
      "vwap": 7.6742,
      "vwap_slope": -0.0034,
      "rvol": 1.95,
      "volume_acceleration": 1.17,
      "premarket_volume": 973513.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.26,
      "distance_from_pm_high_pct": 1.42,
      "extension_from_vwap_pct": -0.25,
      "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.765,
    "pm_low": 7.61
  },
  {
    "symbol": "RXST",
    "total_score": 43.53,
    "raw_score": 46.14,
    "breakdown": {
      "price_quality": 2.36,
      "volume_quality": 6.55,
      "rvol": 0.26,
      "volume_acceleration": 6.32,
      "price_momentum": 0.2,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.7,
      "spread_liquidity": 4.09,
      "momentum_consistency": 1.45,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.36,
      "vwap": 7.3551,
      "vwap_slope": -0.0002,
      "rvol": 0.11,
      "volume_acceleration": 1.63,
      "premarket_volume": 54599.0,
      "momentum_pct": 0.14,
      "consolidation_tightness_pct": 0.27,
      "distance_from_pm_high_pct": 0.41,
      "extension_from_vwap_pct": 0.07,
      "spread_pct": 0.27
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 7.39,
    "pm_low": 7.32
  },
  {
    "symbol": "LADR",
    "total_score": 43.3,
    "raw_score": 45.89,
    "breakdown": {
      "price_quality": 4.65,
      "volume_quality": 12.0,
      "rvol": 2.14,
      "volume_acceleration": 1.89,
      "price_momentum": 0.16,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.61,
      "spread_liquidity": 4.66,
      "momentum_consistency": 2.39,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.655,
      "vwap": 9.6706,
      "vwap_slope": -0.0033,
      "rvol": 0.89,
      "volume_acceleration": 0.54,
      "premarket_volume": 445376.0,
      "momentum_pct": 0.1,
      "consolidation_tightness_pct": 0.31,
      "distance_from_pm_high_pct": 0.52,
      "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.705,
    "pm_low": 9.64
  },
  {
    "symbol": "FLO",
    "total_score": 43.18,
    "raw_score": 45.77,
    "breakdown": {
      "price_quality": 1.64,
      "volume_quality": 12.0,
      "rvol": 5.07,
      "volume_acceleration": 2.22,
      "price_momentum": 0.34,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.38,
      "spread_liquidity": 4.5,
      "momentum_consistency": 2.21,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.645,
      "vwap": 6.6629,
      "vwap_slope": -0.0077,
      "rvol": 1.9,
      "volume_acceleration": 1.22,
      "premarket_volume": 950661.0,
      "momentum_pct": 0.23,
      "consolidation_tightness_pct": 0.38,
      "distance_from_pm_high_pct": 0.82,
      "extension_from_vwap_pct": -0.27,
      "spread_pct": 0.15
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 6.7,
    "pm_low": 6.615
  },
  {
    "symbol": "CWH",
    "total_score": 43.1,
    "raw_score": 45.68,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 0.79,
      "volume_acceleration": 7.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.75,
      "spread_liquidity": 4.49,
      "momentum_consistency": 2.22,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.465,
      "vwap": 6.5012,
      "vwap_slope": -0.0099,
      "rvol": 0.33,
      "volume_acceleration": 1.75,
      "premarket_volume": 163952.0,
      "momentum_pct": -0.23,
      "consolidation_tightness_pct": 0.77,
      "distance_from_pm_high_pct": 1.67,
      "extension_from_vwap_pct": -0.56,
      "spread_pct": 0.15
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 6.575,
    "pm_low": 6.44
  },
  {
    "symbol": "KRNY",
    "total_score": 43.03,
    "raw_score": 45.61,
    "breakdown": {
      "price_quality": 4.76,
      "volume_quality": 6.66,
      "rvol": 0.27,
      "volume_acceleration": 10,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.84,
      "spread_liquidity": 4.66,
      "momentum_consistency": 1.03,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.7591,
      "vwap": 9.7665,
      "vwap_slope": -0.0035,
      "rvol": 0.11,
      "volume_acceleration": 2.39,
      "premarket_volume": 55486.0,
      "momentum_pct": -0.06,
      "consolidation_tightness_pct": 0.2,
      "distance_from_pm_high_pct": 0.21,
      "extension_from_vwap_pct": -0.08,
      "spread_pct": 0.1
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 9.78,
    "pm_low": 9.75
  },
  {
    "symbol": "VFC",
    "total_score": 42.98,
    "raw_score": 45.56,
    "breakdown": {
      "price_quality": 1.94,
      "volume_quality": 12.0,
      "rvol": 4.28,
      "volume_acceleration": 1.65,
      "price_momentum": 0.11,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.4,
      "spread_liquidity": 4.75,
      "momentum_consistency": 3.03,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.065,
      "vwap": 13.0981,
      "vwap_slope": -0.007,
      "rvol": 1.6,
      "volume_acceleration": 0.47,
      "premarket_volume": 802359.0,
      "momentum_pct": 0.08,
      "consolidation_tightness_pct": 0.23,
      "distance_from_pm_high_pct": 0.8,
      "extension_from_vwap_pct": -0.25,
      "spread_pct": 0.08
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 13.17,
    "pm_low": 13.05
  },
  {
    "symbol": "BHC",
    "total_score": 42.93,
    "raw_score": 45.5,
    "breakdown": {
      "price_quality": 1.57,
      "volume_quality": 12.0,
      "rvol": 1.17,
      "volume_acceleration": 5.68,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.72,
      "spread_liquidity": 4.49,
      "momentum_consistency": 2.47,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.565,
      "vwap": 6.5723,
      "vwap_slope": -0.0007,
      "rvol": 0.49,
      "volume_acceleration": 1.57,
      "premarket_volume": 244068.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.38,
      "distance_from_pm_high_pct": 0.38,
      "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": false,
      "vwap_rising": false
    },
    "pm_high": 6.59,
    "pm_low": 6.55
  },
  {
    "symbol": "REAL",
    "total_score": 42.73,
    "raw_score": 45.29,
    "breakdown": {
      "price_quality": 4.94,
      "volume_quality": 12.0,
      "rvol": 0.98,
      "volume_acceleration": 2.74,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.48,
      "spread_liquidity": 4.34,
      "momentum_consistency": 2.42,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.06,
      "vwap": 10.0686,
      "vwap_slope": -0.0042,
      "rvol": 0.41,
      "volume_acceleration": 0.79,
      "premarket_volume": 204224.0,
      "momentum_pct": -0.05,
      "consolidation_tightness_pct": 0.35,
      "distance_from_pm_high_pct": 0.69,
      "extension_from_vwap_pct": -0.09,
      "spread_pct": 0.2
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 10.13,
    "pm_low": 10.0
  },
  {
    "symbol": "BRBR",
    "total_score": 42.66,
    "raw_score": 45.22,
    "breakdown": {
      "price_quality": 4.59,
      "volume_quality": 12.0,
      "rvol": 1.09,
      "volume_acceleration": 3.1,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.18,
      "spread_liquidity": 4.68,
      "momentum_consistency": 2.18,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.415,
      "vwap": 10.4647,
      "vwap_slope": -0.0093,
      "rvol": 0.45,
      "volume_acceleration": 0.89,
      "premarket_volume": 226051.0,
      "momentum_pct": -0.22,
      "consolidation_tightness_pct": 0.29,
      "distance_from_pm_high_pct": 1.09,
      "extension_from_vwap_pct": -0.48,
      "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.53,
    "pm_low": 10.415
  },
  {
    "symbol": "CRNC",
    "total_score": 42.64,
    "raw_score": 45.2,
    "breakdown": {
      "price_quality": 3.38,
      "volume_quality": 6.26,
      "rvol": 0.25,
      "volume_acceleration": 3.2,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.73,
      "spread_liquidity": 4.21,
      "momentum_consistency": 2.97,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.38,
      "vwap": 8.3751,
      "vwap_slope": -0.0064,
      "rvol": 0.1,
      "volume_acceleration": 0.92,
      "premarket_volume": 52189.0,
      "momentum_pct": -0.09,
      "consolidation_tightness_pct": 0.18,
      "distance_from_pm_high_pct": 0.36,
      "extension_from_vwap_pct": 0.06,
      "spread_pct": 0.24
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 8.41,
    "pm_low": 8.335
  },
  {
    "symbol": "AEG",
    "total_score": 42.39,
    "raw_score": 44.93,
    "breakdown": {
      "price_quality": 4.16,
      "volume_quality": 12.0,
      "rvol": 1.21,
      "volume_acceleration": 2.41,
      "price_momentum": 0.01,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.84,
      "spread_liquidity": 4.64,
      "momentum_consistency": 2.26,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.165,
      "vwap": 9.1693,
      "vwap_slope": -0.0016,
      "rvol": 0.5,
      "volume_acceleration": 0.69,
      "premarket_volume": 252335.0,
      "momentum_pct": 0.01,
      "consolidation_tightness_pct": 0.1,
      "distance_from_pm_high_pct": 0.22,
      "extension_from_vwap_pct": -0.05,
      "spread_pct": 0.11
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 9.185,
    "pm_low": 9.1597
  },
  {
    "symbol": "CLBT",
    "total_score": 42.37,
    "raw_score": 44.91,
    "breakdown": {
      "price_quality": 3.13,
      "volume_quality": 12.0,
      "rvol": 0.53,
      "volume_acceleration": 3.85,
      "price_momentum": 0.13,
      "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.37,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.865,
      "vwap": 11.8722,
      "vwap_slope": -0.0002,
      "rvol": 0.22,
      "volume_acceleration": 1.11,
      "premarket_volume": 110504.0,
      "momentum_pct": 0.08,
      "consolidation_tightness_pct": 0.13,
      "distance_from_pm_high_pct": 0.29,
      "extension_from_vwap_pct": -0.06,
      "spread_pct": 0.08
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 11.9,
    "pm_low": 11.84
  },
  {
    "symbol": "FRMM",
    "total_score": 42.31,
    "raw_score": 44.85,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 3.09,
      "rvol": 0.12,
      "volume_acceleration": 10,
      "price_momentum": 0.28,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 4.62,
      "spread_liquidity": 3.12,
      "momentum_consistency": 2.91,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.33,
      "vwap": 5.3187,
      "vwap_slope": -0.1113,
      "rvol": 0.05,
      "volume_acceleration": 8.84,
      "premarket_volume": 25750.0,
      "momentum_pct": 0.19,
      "consolidation_tightness_pct": 2.63,
      "distance_from_pm_high_pct": 1.84,
      "extension_from_vwap_pct": 0.21,
      "spread_pct": 0.56
    },
    "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.43,
    "pm_low": 5.26
  },
  {
    "symbol": "XMAX",
    "total_score": 42.28,
    "raw_score": 44.82,
    "breakdown": {
      "price_quality": 3.76,
      "volume_quality": 7.57,
      "rvol": 0.3,
      "volume_acceleration": 10,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.2,
      "spread_liquidity": 4.62,
      "momentum_consistency": 0.97,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.76,
      "vwap": 8.8057,
      "vwap_slope": -0.0186,
      "rvol": 0.13,
      "volume_acceleration": 5.92,
      "premarket_volume": 63074.0,
      "momentum_pct": -0.34,
      "consolidation_tightness_pct": 0.46,
      "distance_from_pm_high_pct": 1.07,
      "extension_from_vwap_pct": -0.52,
      "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.855,
    "pm_low": 8.76
  },
  {
    "symbol": "LFST",
    "total_score": 42.14,
    "raw_score": 44.67,
    "breakdown": {
      "price_quality": 2.54,
      "volume_quality": 12.0,
      "rvol": 3.55,
      "volume_acceleration": 2.21,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 4.29,
      "spread_liquidity": 4.73,
      "momentum_consistency": 2.95,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.465,
      "vwap": 12.5519,
      "vwap_slope": -0.0086,
      "rvol": 1.48,
      "volume_acceleration": 0.64,
      "premarket_volume": 740089.0,
      "momentum_pct": -0.2,
      "consolidation_tightness_pct": 0.36,
      "distance_from_pm_high_pct": 2.27,
      "extension_from_vwap_pct": -0.69,
      "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.755,
    "pm_low": 12.355
  },
  {
    "symbol": "OPFI",
    "total_score": 42.05,
    "raw_score": 44.57,
    "breakdown": {
      "price_quality": 1.89,
      "volume_quality": 4.13,
      "rvol": 0.17,
      "volume_acceleration": 3.35,
      "price_momentum": 0.33,
      "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.57,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.885,
      "vwap": 6.8925,
      "vwap_slope": -0.0107,
      "rvol": 0.07,
      "volume_acceleration": 1.34,
      "premarket_volume": 34448.0,
      "momentum_pct": 0.22,
      "consolidation_tightness_pct": 0.36,
      "distance_from_pm_high_pct": 0.51,
      "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": true,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 6.92,
    "pm_low": 6.865
  },
  {
    "symbol": "YEXT",
    "total_score": 41.89,
    "raw_score": 44.41,
    "breakdown": {
      "price_quality": 1.62,
      "volume_quality": 12.0,
      "rvol": 0.93,
      "volume_acceleration": 5.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.33,
      "spread_liquidity": 4.5,
      "momentum_consistency": 2.53,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.625,
      "vwap": 6.6305,
      "vwap_slope": -0.0058,
      "rvol": 0.39,
      "volume_acceleration": 1.51,
      "premarket_volume": 194038.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.45,
      "distance_from_pm_high_pct": 0.9,
      "extension_from_vwap_pct": -0.08,
      "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.685,
    "pm_low": 6.57
  },
  {
    "symbol": "AVTR",
    "total_score": 41.78,
    "raw_score": 44.29,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 2.59,
      "volume_acceleration": 3.14,
      "price_momentum": 0.11,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.69,
      "spread_liquidity": 4.77,
      "momentum_consistency": 2.11,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.295,
      "vwap": 14.3083,
      "vwap_slope": -0.0038,
      "rvol": 1.08,
      "volume_acceleration": 0.9,
      "premarket_volume": 539915.0,
      "momentum_pct": 0.07,
      "consolidation_tightness_pct": 0.1,
      "distance_from_pm_high_pct": 0.42,
      "extension_from_vwap_pct": -0.09,
      "spread_pct": 0.07
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 14.355,
    "pm_low": 14.285
  },
  {
    "symbol": "ARVN",
    "total_score": 41.62,
    "raw_score": 44.12,
    "breakdown": {
      "price_quality": 4.16,
      "volume_quality": 3.69,
      "rvol": 0.15,
      "volume_acceleration": 3.35,
      "price_momentum": 0.25,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.84,
      "spread_liquidity": 4.64,
      "momentum_consistency": 2.86,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.16,
      "vwap": 9.1421,
      "vwap_slope": -0.0024,
      "rvol": 0.06,
      "volume_acceleration": 0.96,
      "premarket_volume": 30758.0,
      "momentum_pct": 0.16,
      "consolidation_tightness_pct": 0.33,
      "distance_from_pm_high_pct": 0.22,
      "extension_from_vwap_pct": 0.2,
      "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.18,
    "pm_low": 9.12
  },
  {
    "symbol": "MOBI",
    "total_score": 41.4,
    "raw_score": 43.88,
    "breakdown": {
      "price_quality": 3.35,
      "volume_quality": 12.0,
      "rvol": 0.94,
      "volume_acceleration": 0.12,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 4.77,
      "spread_liquidity": 0.44,
      "momentum_consistency": 2.67,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.65,
      "vwap": 11.7028,
      "vwap_slope": 0.0023,
      "rvol": 0.39,
      "volume_acceleration": 0.04,
      "premarket_volume": 195558.0,
      "momentum_pct": -1.1,
      "consolidation_tightness_pct": 1.45,
      "distance_from_pm_high_pct": 1.65,
      "extension_from_vwap_pct": -0.45,
      "spread_pct": 1.37
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": true
    },
    "pm_high": 11.845,
    "pm_low": 11.63
  },
  {
    "symbol": "FRSH",
    "total_score": 41.39,
    "raw_score": 43.87,
    "breakdown": {
      "price_quality": 1.53,
      "volume_quality": 12.0,
      "rvol": 1.7,
      "volume_acceleration": 3.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.56,
      "spread_liquidity": 4.75,
      "momentum_consistency": 2.62,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.475,
      "vwap": 13.5015,
      "vwap_slope": -0.0027,
      "rvol": 0.71,
      "volume_acceleration": 1.33,
      "premarket_volume": 353459.0,
      "momentum_pct": -0.15,
      "consolidation_tightness_pct": 0.19,
      "distance_from_pm_high_pct": 0.59,
      "extension_from_vwap_pct": -0.2,
      "spread_pct": 0.07
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 13.555,
    "pm_low": 13.465
  },
  {
    "symbol": "GOOS",
    "total_score": 41.35,
    "raw_score": 43.83,
    "breakdown": {
      "price_quality": 3.1,
      "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": 5.77,
      "spread_liquidity": 4.59,
      "momentum_consistency": 1.71,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.095,
      "vwap": 8.0961,
      "vwap_slope": -0.0097,
      "rvol": 0.1,
      "volume_acceleration": 3.13,
      "premarket_volume": 50171.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.19,
      "distance_from_pm_high_pct": 0.31,
      "extension_from_vwap_pct": -0.01,
      "spread_pct": 0.12
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 8.12,
    "pm_low": 8.07
  },
  {
    "symbol": "BRSL",
    "total_score": 41.26,
    "raw_score": 43.74,
    "breakdown": {
      "price_quality": 3.95,
      "volume_quality": 12.0,
      "rvol": 0.79,
      "volume_acceleration": 2.35,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.8,
      "spread_liquidity": 4.7,
      "momentum_consistency": 1.76,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.05,
      "vwap": 11.0523,
      "vwap_slope": -0.0034,
      "rvol": 0.33,
      "volume_acceleration": 0.67,
      "premarket_volume": 163820.0,
      "momentum_pct": -0.05,
      "consolidation_tightness_pct": 0.36,
      "distance_from_pm_high_pct": 0.27,
      "extension_from_vwap_pct": -0.02,
      "spread_pct": 0.09
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 11.08,
    "pm_low": 11.015
  },
  {
    "symbol": "LYG",
    "total_score": 41.26,
    "raw_score": 43.74,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 2.21,
      "volume_acceleration": 3.4,
      "price_momentum": 0.25,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.75,
      "spread_liquidity": 4.44,
      "momentum_consistency": 1.79,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.91,
      "vwap": 5.9117,
      "vwap_slope": -0.0011,
      "rvol": 0.92,
      "volume_acceleration": 0.98,
      "premarket_volume": 459491.0,
      "momentum_pct": 0.17,
      "consolidation_tightness_pct": 0.17,
      "distance_from_pm_high_pct": 0.34,
      "extension_from_vwap_pct": -0.03,
      "spread_pct": 0.17
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 5.93,
    "pm_low": 5.9
  },
  {
    "symbol": "CRSR",
    "total_score": 41.25,
    "raw_score": 43.72,
    "breakdown": {
      "price_quality": 3.29,
      "volume_quality": 11.99,
      "rvol": 0.48,
      "volume_acceleration": 2.6,
      "price_momentum": 0.26,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.68,
      "spread_liquidity": 4.15,
      "momentum_consistency": 2.87,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.71,
      "vwap": 11.7262,
      "vwap_slope": -0.0074,
      "rvol": 0.2,
      "volume_acceleration": 0.75,
      "premarket_volume": 99937.0,
      "momentum_pct": 0.17,
      "consolidation_tightness_pct": 0.34,
      "distance_from_pm_high_pct": 0.43,
      "extension_from_vwap_pct": -0.14,
      "spread_pct": 0.26
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 11.76,
    "pm_low": 11.68
  },
  {
    "symbol": "OSS",
    "total_score": 41.24,
    "raw_score": 43.72,
    "breakdown": {
      "price_quality": 4.95,
      "volume_quality": 8.38,
      "rvol": 0.34,
      "volume_acceleration": 5.15,
      "price_momentum": 0.08,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.29,
      "spread_liquidity": 3.99,
      "momentum_consistency": 3.14,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.945,
      "vwap": 9.9858,
      "vwap_slope": -0.0172,
      "rvol": 0.14,
      "volume_acceleration": 1.52,
      "premarket_volume": 69865.0,
      "momentum_pct": 0.05,
      "consolidation_tightness_pct": 0.4,
      "distance_from_pm_high_pct": 0.95,
      "extension_from_vwap_pct": -0.41,
      "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": 10.04,
    "pm_low": 9.92
  },
  {
    "symbol": "RUM",
    "total_score": 41.21,
    "raw_score": 43.68,
    "breakdown": {
      "price_quality": 3.52,
      "volume_quality": 12.0,
      "rvol": 0.97,
      "volume_acceleration": 3.21,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.29,
      "spread_liquidity": 4.61,
      "momentum_consistency": 1.68,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.523,
      "vwap": 8.5506,
      "vwap_slope": -0.0051,
      "rvol": 0.4,
      "volume_acceleration": 1.32,
      "premarket_volume": 201596.0,
      "momentum_pct": -0.02,
      "consolidation_tightness_pct": 0.23,
      "distance_from_pm_high_pct": 0.95,
      "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": false,
      "vwap_rising": false
    },
    "pm_high": 8.605,
    "pm_low": 8.5
  },
  {
    "symbol": "CION",
    "total_score": 41.2,
    "raw_score": 43.67,
    "breakdown": {
      "price_quality": 2.42,
      "volume_quality": 2.84,
      "rvol": 0.11,
      "volume_acceleration": 3.71,
      "price_momentum": 0.1,
      "price_structure": 12,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.65,
      "spread_liquidity": 4.55,
      "momentum_consistency": 2.29,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.425,
      "vwap": 7.4428,
      "vwap_slope": -0.0105,
      "rvol": 0.05,
      "volume_acceleration": 1.07,
      "premarket_volume": 23639.0,
      "momentum_pct": 0.07,
      "consolidation_tightness_pct": 0.2,
      "distance_from_pm_high_pct": 0.47,
      "extension_from_vwap_pct": -0.24,
      "spread_pct": 0.13
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 7.46,
    "pm_low": 7.415
  },
  {
    "symbol": "MAT",
    "total_score": 41.12,
    "raw_score": 43.58,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 1.23,
      "volume_acceleration": 3.82,
      "price_momentum": 0.05,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.57,
      "spread_liquidity": 4.77,
      "momentum_consistency": 2.25,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.615,
      "vwap": 14.6415,
      "vwap_slope": -0.0132,
      "rvol": 0.51,
      "volume_acceleration": 1.38,
      "premarket_volume": 257051.0,
      "momentum_pct": 0.03,
      "consolidation_tightness_pct": 0.21,
      "distance_from_pm_high_pct": 0.58,
      "extension_from_vwap_pct": -0.18,
      "spread_pct": 0.07
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 14.7,
    "pm_low": 14.6
  },
  {
    "symbol": "CPRI",
    "total_score": 41.06,
    "raw_score": 43.52,
    "breakdown": {
      "price_quality": 2.2,
      "volume_quality": 12.0,
      "rvol": 1.69,
      "volume_acceleration": 2.4,
      "price_momentum": 0.12,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.59,
      "spread_liquidity": 4.74,
      "momentum_consistency": 2.39,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.805,
      "vwap": 12.8344,
      "vwap_slope": -0.009,
      "rvol": 0.7,
      "volume_acceleration": 1.24,
      "premarket_volume": 352064.0,
      "momentum_pct": 0.08,
      "consolidation_tightness_pct": 0.2,
      "distance_from_pm_high_pct": 0.54,
      "extension_from_vwap_pct": -0.23,
      "spread_pct": 0.08
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 12.875,
    "pm_low": 12.795
  },
  {
    "symbol": "MNTN",
    "total_score": 40.99,
    "raw_score": 43.45,
    "breakdown": {
      "price_quality": 2.49,
      "volume_quality": 5.77,
      "rvol": 0.23,
      "volume_acceleration": 2.87,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.58,
      "spread_liquidity": 4.47,
      "momentum_consistency": 2.44,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.51,
      "vwap": 12.5427,
      "vwap_slope": 0.001,
      "rvol": 0.1,
      "volume_acceleration": 0.82,
      "premarket_volume": 48067.0,
      "momentum_pct": -0.16,
      "consolidation_tightness_pct": 0.16,
      "distance_from_pm_high_pct": 0.56,
      "extension_from_vwap_pct": -0.26,
      "spread_pct": 0.16
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": true
    },
    "pm_high": 12.58,
    "pm_low": 12.48
  },
  {
    "symbol": "GO",
    "total_score": 40.62,
    "raw_score": 43.06,
    "breakdown": {
      "price_quality": 2.97,
      "volume_quality": 12.0,
      "rvol": 0.76,
      "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.2,
      "spread_liquidity": 4.72,
      "momentum_consistency": 2.35,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.025,
      "vwap": 12.0576,
      "vwap_slope": -0.0075,
      "rvol": 0.32,
      "volume_acceleration": 0.76,
      "premarket_volume": 158336.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.25,
      "distance_from_pm_high_pct": 1.07,
      "extension_from_vwap_pct": -0.27,
      "spread_pct": 0.08
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 12.155,
    "pm_low": 12.005
  },
  {
    "symbol": "OGN",
    "total_score": 40.5,
    "raw_score": 42.93,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 0.95,
      "volume_acceleration": 3.49,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.95,
      "spread_liquidity": 4.76,
      "momentum_consistency": 1.9,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.76,
      "vwap": 13.7635,
      "vwap_slope": -0.0,
      "rvol": 0.39,
      "volume_acceleration": 1.0,
      "premarket_volume": 197055.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.07,
      "distance_from_pm_high_pct": 0.07,
      "extension_from_vwap_pct": -0.03,
      "spread_pct": 0.07
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 13.77,
    "pm_low": 13.76
  },
  {
    "symbol": "MBLY",
    "total_score": 40.47,
    "raw_score": 42.89,
    "breakdown": {
      "price_quality": 3.32,
      "volume_quality": 12.0,
      "rvol": 1.04,
      "volume_acceleration": 1.53,
      "price_momentum": 0.36,
      "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.0,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.325,
      "vwap": 8.3356,
      "vwap_slope": -0.0119,
      "rvol": 0.43,
      "volume_acceleration": 1.15,
      "premarket_volume": 216564.0,
      "momentum_pct": 0.24,
      "consolidation_tightness_pct": 0.36,
      "distance_from_pm_high_pct": 0.48,
      "extension_from_vwap_pct": -0.13,
      "spread_pct": 0.12
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 8.365,
    "pm_low": 8.29
  },
  {
    "symbol": "BGC",
    "total_score": 40.39,
    "raw_score": 42.82,
    "breakdown": {
      "price_quality": 2.84,
      "volume_quality": 12.0,
      "rvol": 1.13,
      "volume_acceleration": 2.12,
      "price_momentum": 0.12,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.24,
      "spread_liquidity": 4.73,
      "momentum_consistency": 2.25,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.16,
      "vwap": 12.2112,
      "vwap_slope": -0.0075,
      "rvol": 0.47,
      "volume_acceleration": 0.61,
      "premarket_volume": 234582.0,
      "momentum_pct": 0.08,
      "consolidation_tightness_pct": 0.16,
      "distance_from_pm_high_pct": 1.02,
      "extension_from_vwap_pct": -0.42,
      "spread_pct": 0.08
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 12.285,
    "pm_low": 12.14
  },
  {
    "symbol": "WLTH",
    "total_score": 40.34,
    "raw_score": 42.76,
    "breakdown": {
      "price_quality": 3.97,
      "volume_quality": 12.0,
      "rvol": 0.76,
      "volume_acceleration": 1.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.54,
      "spread_liquidity": 4.63,
      "momentum_consistency": 1.96,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.975,
      "vwap": 8.9997,
      "vwap_slope": -0.002,
      "rvol": 0.32,
      "volume_acceleration": 0.43,
      "premarket_volume": 158908.0,
      "momentum_pct": -0.11,
      "consolidation_tightness_pct": 0.17,
      "distance_from_pm_high_pct": 0.61,
      "extension_from_vwap_pct": -0.27,
      "spread_pct": 0.11
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 9.03,
    "pm_low": 8.975
  },
  {
    "symbol": "ACVA",
    "total_score": 40.05,
    "raw_score": 42.46,
    "breakdown": {
      "price_quality": 1.83,
      "volume_quality": 12.0,
      "rvol": 1.36,
      "volume_acceleration": 3.51,
      "price_momentum": 0.22,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.24,
      "spread_liquidity": 4.51,
      "momentum_consistency": 1.38,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.835,
      "vwap": 6.8591,
      "vwap_slope": -0.0046,
      "rvol": 0.57,
      "volume_acceleration": 1.01,
      "premarket_volume": 283993.0,
      "momentum_pct": 0.15,
      "consolidation_tightness_pct": 0.22,
      "distance_from_pm_high_pct": 1.01,
      "extension_from_vwap_pct": -0.35,
      "spread_pct": 0.15
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 6.905,
    "pm_low": 6.815
  },
  {
    "symbol": "ALVO",
    "total_score": 40.04,
    "raw_score": 42.44,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 3.26,
      "rvol": 0.13,
      "volume_acceleration": 6.93,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.93,
      "spread_liquidity": 4.36,
      "momentum_consistency": 1.14,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.195,
      "vwap": 5.1946,
      "vwap_slope": -0.0019,
      "rvol": 0.05,
      "volume_acceleration": 1.69,
      "premarket_volume": 27139.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.1,
      "distance_from_pm_high_pct": 0.1,
      "extension_from_vwap_pct": 0.01,
      "spread_pct": 0.19
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 5.2,
    "pm_low": 5.185
  },
  {
    "symbol": "SSYS",
    "total_score": 40.01,
    "raw_score": 42.41,
    "breakdown": {
      "price_quality": 2.62,
      "volume_quality": 5.59,
      "rvol": 0.22,
      "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.41,
      "spread_liquidity": 4.56,
      "momentum_consistency": 1.6,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.62,
      "vwap": 7.6442,
      "vwap_slope": -0.0174,
      "rvol": 0.09,
      "volume_acceleration": 2.65,
      "premarket_volume": 46552.0,
      "momentum_pct": -0.07,
      "consolidation_tightness_pct": 0.13,
      "distance_from_pm_high_pct": 0.78,
      "extension_from_vwap_pct": -0.32,
      "spread_pct": 0.13
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 7.68,
    "pm_low": 7.62
  },
  {
    "symbol": "DEI",
    "total_score": 39.98,
    "raw_score": 42.38,
    "breakdown": {
      "price_quality": 3.63,
      "volume_quality": 9.64,
      "rvol": 0.39,
      "volume_acceleration": 3.79,
      "price_momentum": 0.13,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.84,
      "spread_liquidity": 4.71,
      "momentum_consistency": 1.86,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.365,
      "vwap": 11.369,
      "vwap_slope": -0.0048,
      "rvol": 0.16,
      "volume_acceleration": 1.09,
      "premarket_volume": 80296.0,
      "momentum_pct": 0.09,
      "consolidation_tightness_pct": 0.09,
      "distance_from_pm_high_pct": 0.22,
      "extension_from_vwap_pct": -0.03,
      "spread_pct": 0.09
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 11.39,
    "pm_low": 11.345
  },
  {
    "symbol": "HELP",
    "total_score": 39.94,
    "raw_score": 42.33,
    "breakdown": {
      "price_quality": 3.31,
      "volume_quality": 11.49,
      "rvol": 0.46,
      "volume_acceleration": 1.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.27,
      "spread_liquidity": 4.43,
      "momentum_consistency": 3.02,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.69,
      "vwap": 11.7318,
      "vwap_slope": -0.0037,
      "rvol": 0.19,
      "volume_acceleration": 0.56,
      "premarket_volume": 95720.0,
      "momentum_pct": -0.3,
      "consolidation_tightness_pct": 0.34,
      "distance_from_pm_high_pct": 0.97,
      "extension_from_vwap_pct": -0.36,
      "spread_pct": 0.17
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 11.805,
    "pm_low": 11.67
  },
  {
    "symbol": "HAYW",
    "total_score": 39.92,
    "raw_score": 42.32,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 1.15,
      "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.59,
      "spread_liquidity": 4.76,
      "momentum_consistency": 2.48,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.665,
      "vwap": 13.6895,
      "vwap_slope": -0.0047,
      "rvol": 0.48,
      "volume_acceleration": 0.7,
      "premarket_volume": 240361.0,
      "momentum_pct": -0.04,
      "consolidation_tightness_pct": 0.15,
      "distance_from_pm_high_pct": 0.55,
      "extension_from_vwap_pct": -0.18,
      "spread_pct": 0.07
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 13.74,
    "pm_low": 13.605
  },
  {
    "symbol": "BHK",
    "total_score": 39.81,
    "raw_score": 42.2,
    "breakdown": {
      "price_quality": 3.94,
      "volume_quality": 3.74,
      "rvol": 0.15,
      "volume_acceleration": 2.88,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.96,
      "spread_liquidity": 4.63,
      "momentum_consistency": 1.71,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.935,
      "vwap": 8.9346,
      "vwap_slope": -0.0002,
      "rvol": 0.06,
      "volume_acceleration": 1.29,
      "premarket_volume": 31128.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.1,
      "distance_from_pm_high_pct": 0.05,
      "extension_from_vwap_pct": 0.0,
      "spread_pct": 0.11
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 8.9399,
    "pm_low": 8.93
  },
  {
    "symbol": "CERT",
    "total_score": 39.76,
    "raw_score": 42.15,
    "breakdown": {
      "price_quality": 3.12,
      "volume_quality": 12.0,
      "rvol": 1.01,
      "volume_acceleration": 1.12,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.13,
      "spread_liquidity": 4.59,
      "momentum_consistency": 2.78,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.12,
      "vwap": 8.167,
      "vwap_slope": -0.0069,
      "rvol": 0.42,
      "volume_acceleration": 0.32,
      "premarket_volume": 210687.0,
      "momentum_pct": -0.12,
      "consolidation_tightness_pct": 0.25,
      "distance_from_pm_high_pct": 1.16,
      "extension_from_vwap_pct": -0.58,
      "spread_pct": 0.12
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 8.215,
    "pm_low": 8.11
  },
  {
    "symbol": "UAA",
    "total_score": 39.63,
    "raw_score": 42.01,
    "breakdown": {
      "price_quality": 0.0,
      "volume_quality": 12.0,
      "rvol": 2.58,
      "volume_acceleration": 2.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.55,
      "spread_liquidity": 4.32,
      "momentum_consistency": 2.17,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 4.925,
      "vwap": 4.9375,
      "vwap_slope": -0.002,
      "rvol": 1.07,
      "volume_acceleration": 0.86,
      "premarket_volume": 537405.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.3,
      "distance_from_pm_high_pct": 0.61,
      "extension_from_vwap_pct": -0.25,
      "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.955,
    "pm_low": 4.92
  },
  {
    "symbol": "SSTI",
    "total_score": 39.5,
    "raw_score": 41.87,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 2.43,
      "rvol": 0.1,
      "volume_acceleration": 1.03,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.57,
      "spread_liquidity": 1.72,
      "momentum_consistency": 3.11,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.1,
      "vwap": 6.0406,
      "vwap_slope": 0.0244,
      "rvol": 0.04,
      "volume_acceleration": 0.3,
      "premarket_volume": 20270.0,
      "momentum_pct": -0.49,
      "consolidation_tightness_pct": 0.49,
      "distance_from_pm_high_pct": 0.57,
      "extension_from_vwap_pct": 0.98,
      "spread_pct": 0.98
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 6.135,
    "pm_low": 5.955
  },
  {
    "symbol": "SGRY",
    "total_score": 39.27,
    "raw_score": 41.62,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 1.77,
      "volume_acceleration": 1.74,
      "price_momentum": 0.18,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.04,
      "spread_liquidity": 4.32,
      "momentum_consistency": 2.67,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.7,
      "vwap": 14.7726,
      "vwap_slope": -0.007,
      "rvol": 0.74,
      "volume_acceleration": 1.17,
      "premarket_volume": 369148.0,
      "momentum_pct": 0.12,
      "consolidation_tightness_pct": 0.27,
      "distance_from_pm_high_pct": 1.28,
      "extension_from_vwap_pct": -0.49,
      "spread_pct": 0.2
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 14.89,
    "pm_low": 14.67
  },
  {
    "symbol": "ECVT",
    "total_score": 39.26,
    "raw_score": 41.62,
    "breakdown": {
      "price_quality": 4.94,
      "volume_quality": 9.62,
      "rvol": 0.38,
      "volume_acceleration": 1.94,
      "price_momentum": 0.15,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.74,
      "spread_liquidity": 4.67,
      "momentum_consistency": 1.78,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.065,
      "vwap": 10.0836,
      "vwap_slope": -0.0062,
      "rvol": 0.16,
      "volume_acceleration": 0.56,
      "premarket_volume": 80178.0,
      "momentum_pct": 0.1,
      "consolidation_tightness_pct": 0.1,
      "distance_from_pm_high_pct": 0.35,
      "extension_from_vwap_pct": -0.18,
      "spread_pct": 0.1
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 10.1,
    "pm_low": 10.05
  },
  {
    "symbol": "RILY",
    "total_score": 39.03,
    "raw_score": 41.37,
    "breakdown": {
      "price_quality": 1.8,
      "volume_quality": 5.3,
      "rvol": 0.21,
      "volume_acceleration": 2.5,
      "price_momentum": 0.44,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.83,
      "spread_liquidity": 4.02,
      "momentum_consistency": 2.06,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.8,
      "vwap": 6.7902,
      "vwap_slope": -0.0012,
      "rvol": 0.09,
      "volume_acceleration": 0.72,
      "premarket_volume": 44168.0,
      "momentum_pct": 0.29,
      "consolidation_tightness_pct": 0.29,
      "distance_from_pm_high_pct": 0.22,
      "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": true,
      "vwap_rising": false
    },
    "pm_high": 6.815,
    "pm_low": 6.77
  },
  {
    "symbol": "INGN",
    "total_score": 38.97,
    "raw_score": 41.3,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 4.2,
      "rvol": 0.17,
      "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.65,
      "spread_liquidity": 4.38,
      "momentum_consistency": 3.0,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.365,
      "vwap": 5.3724,
      "vwap_slope": -0.0083,
      "rvol": 0.07,
      "volume_acceleration": 3.49,
      "premarket_volume": 35034.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.19,
      "distance_from_pm_high_pct": 0.46,
      "extension_from_vwap_pct": -0.14,
      "spread_pct": 0.19
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 5.39,
    "pm_low": 5.36
  },
  {
    "symbol": "ODD",
    "total_score": 38.93,
    "raw_score": 41.26,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 5.49,
      "rvol": 0.22,
      "volume_acceleration": 2.44,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.49,
      "spread_liquidity": 3.84,
      "momentum_consistency": 3.08,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.425,
      "vwap": 14.4219,
      "vwap_slope": -0.0009,
      "rvol": 0.09,
      "volume_acceleration": 0.7,
      "premarket_volume": 45767.0,
      "momentum_pct": -0.19,
      "consolidation_tightness_pct": 0.32,
      "distance_from_pm_high_pct": 0.68,
      "extension_from_vwap_pct": 0.02,
      "spread_pct": 0.35
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 14.524,
    "pm_low": 14.322
  },
  {
    "symbol": "BYND",
    "total_score": 38.92,
    "raw_score": 41.26,
    "breakdown": {
      "price_quality": 2.56,
      "volume_quality": 12.0,
      "rvol": 0.55,
      "volume_acceleration": 1.7,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 4.99,
      "spread_liquidity": 3.93,
      "momentum_consistency": 3.14,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.44,
      "vwap": 12.4985,
      "vwap_slope": -0.0101,
      "rvol": 0.23,
      "volume_acceleration": 0.49,
      "premarket_volume": 113769.0,
      "momentum_pct": -0.08,
      "consolidation_tightness_pct": 0.2,
      "distance_from_pm_high_pct": 1.35,
      "extension_from_vwap_pct": -0.47,
      "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.61,
    "pm_low": 12.41
  },
  {
    "symbol": "IMMX",
    "total_score": 38.91,
    "raw_score": 41.25,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 10.68,
      "rvol": 0.43,
      "volume_acceleration": 2.81,
      "price_momentum": 0.43,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.47,
      "spread_liquidity": 4.05,
      "momentum_consistency": 3.48,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.07,
      "vwap": 14.0879,
      "vwap_slope": -0.0178,
      "rvol": 0.18,
      "volume_acceleration": 1.28,
      "premarket_volume": 88987.0,
      "momentum_pct": 0.29,
      "consolidation_tightness_pct": 0.43,
      "distance_from_pm_high_pct": 0.71,
      "extension_from_vwap_pct": -0.13,
      "spread_pct": 0.28
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 14.17,
    "pm_low": 13.975
  },
  {
    "symbol": "PRGO",
    "total_score": 38.91,
    "raw_score": 41.25,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 1.14,
      "volume_acceleration": 2.25,
      "price_momentum": 0.1,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.38,
      "spread_liquidity": 4.77,
      "momentum_consistency": 1.71,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.34,
      "vwap": 14.4235,
      "vwap_slope": -0.0089,
      "rvol": 0.47,
      "volume_acceleration": 0.65,
      "premarket_volume": 236645.0,
      "momentum_pct": 0.07,
      "consolidation_tightness_pct": 0.13,
      "distance_from_pm_high_pct": 0.83,
      "extension_from_vwap_pct": -0.58,
      "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.46,
    "pm_low": 14.33
  },
  {
    "symbol": "CARS",
    "total_score": 38.89,
    "raw_score": 41.23,
    "breakdown": {
      "price_quality": 3.53,
      "volume_quality": 3.54,
      "rvol": 0.14,
      "volume_acceleration": 10,
      "price_momentum": 0.13,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.8,
      "spread_liquidity": 4.13,
      "momentum_consistency": 1.55,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.47,
      "vwap": 11.4768,
      "vwap_slope": -0.0023,
      "rvol": 0.06,
      "volume_acceleration": 2.07,
      "premarket_volume": 29530.0,
      "momentum_pct": 0.09,
      "consolidation_tightness_pct": 0.35,
      "distance_from_pm_high_pct": 0.26,
      "extension_from_vwap_pct": -0.06,
      "spread_pct": 0.26
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 11.5,
    "pm_low": 11.46
  },
  {
    "symbol": "WETO",
    "total_score": 38.82,
    "raw_score": 41.15,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 1.35,
      "volume_acceleration": 3.9,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 3.59,
      "spread_liquidity": 3.29,
      "momentum_consistency": 3.12,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.8601,
      "vwap": 5.9268,
      "vwap_slope": -0.0081,
      "rvol": 0.56,
      "volume_acceleration": 1.39,
      "premarket_volume": 281144.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 1.02,
      "distance_from_pm_high_pct": 3.22,
      "extension_from_vwap_pct": -1.13,
      "spread_pct": 0.51
    },
    "flags": {
      "meets_min_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.055,
    "pm_low": 5.8
  },
  {
    "symbol": "STUB",
    "total_score": 38.73,
    "raw_score": 41.05,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 1.56,
      "volume_acceleration": 2.09,
      "price_momentum": 0.24,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.64,
      "spread_liquidity": 4.46,
      "momentum_consistency": 1.16,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.235,
      "vwap": 6.2417,
      "vwap_slope": -0.0041,
      "rvol": 0.65,
      "volume_acceleration": 1.21,
      "premarket_volume": 324061.0,
      "momentum_pct": 0.16,
      "consolidation_tightness_pct": 0.32,
      "distance_from_pm_high_pct": 0.48,
      "extension_from_vwap_pct": -0.11,
      "spread_pct": 0.16
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 6.265,
    "pm_low": 6.22
  },
  {
    "symbol": "SVRA",
    "total_score": 38.73,
    "raw_score": 41.06,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 10.56,
      "rvol": 0.42,
      "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.24,
      "spread_liquidity": 4.38,
      "momentum_consistency": 1.68,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.345,
      "vwap": 5.3659,
      "vwap_slope": -0.006,
      "rvol": 0.18,
      "volume_acceleration": 1.49,
      "premarket_volume": 88004.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.19,
      "distance_from_pm_high_pct": 1.02,
      "extension_from_vwap_pct": -0.39,
      "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.4,
    "pm_low": 5.34
  },
  {
    "symbol": "ARHS",
    "total_score": 38.7,
    "raw_score": 41.02,
    "breakdown": {
      "price_quality": 3.32,
      "volume_quality": 10.22,
      "rvol": 0.41,
      "volume_acceleration": 2.6,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.07,
      "spread_liquidity": 4.6,
      "momentum_consistency": 2.42,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.32,
      "vwap": 8.3638,
      "vwap_slope": -0.0133,
      "rvol": 0.17,
      "volume_acceleration": 1.26,
      "premarket_volume": 85133.0,
      "momentum_pct": -0.06,
      "consolidation_tightness_pct": 0.06,
      "distance_from_pm_high_pct": 1.25,
      "extension_from_vwap_pct": -0.52,
      "spread_pct": 0.12
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 8.425,
    "pm_low": 8.315
  },
  {
    "symbol": "MGTX",
    "total_score": 38.67,
    "raw_score": 40.99,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 10.77,
      "rvol": 0.43,
      "volume_acceleration": 3.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.61,
      "spread_liquidity": 3.85,
      "momentum_consistency": 3.4,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.52,
      "vwap": 14.5296,
      "vwap_slope": -0.0054,
      "rvol": 0.18,
      "volume_acceleration": 0.87,
      "premarket_volume": 89734.0,
      "momentum_pct": -0.14,
      "consolidation_tightness_pct": 0.38,
      "distance_from_pm_high_pct": 0.51,
      "extension_from_vwap_pct": -0.07,
      "spread_pct": 0.35
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 14.595,
    "pm_low": 14.43
  },
  {
    "symbol": "TDAY",
    "total_score": 38.65,
    "raw_score": 40.97,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 0.62,
      "volume_acceleration": 3.33,
      "price_momentum": 0.24,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.4,
      "spread_liquidity": 4.46,
      "momentum_consistency": 1.02,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.19,
      "vwap": 6.205,
      "vwap_slope": -0.0074,
      "rvol": 0.26,
      "volume_acceleration": 1.33,
      "premarket_volume": 129405.0,
      "momentum_pct": 0.16,
      "consolidation_tightness_pct": 0.16,
      "distance_from_pm_high_pct": 0.8,
      "extension_from_vwap_pct": -0.24,
      "spread_pct": 0.16
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 6.24,
    "pm_low": 6.18
  },
  {
    "symbol": "OPTX",
    "total_score": 38.6,
    "raw_score": 40.91,
    "breakdown": {
      "price_quality": 2.28,
      "volume_quality": 5.11,
      "rvol": 0.2,
      "volume_acceleration": 10,
      "price_momentum": 0.34,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 4.63,
      "spread_liquidity": 2.71,
      "momentum_consistency": 3.24,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.275,
      "vwap": 7.3137,
      "vwap_slope": -0.0289,
      "rvol": 0.09,
      "volume_acceleration": 2.31,
      "premarket_volume": 42566.0,
      "momentum_pct": 0.23,
      "consolidation_tightness_pct": 0.89,
      "distance_from_pm_high_pct": 1.82,
      "extension_from_vwap_pct": -0.53,
      "spread_pct": 0.69
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 7.4099,
    "pm_low": 7.24
  },
  {
    "symbol": "NMAX",
    "total_score": 38.57,
    "raw_score": 40.89,
    "breakdown": {
      "price_quality": 4.62,
      "volume_quality": 7.07,
      "rvol": 0.28,
      "volume_acceleration": 3.84,
      "price_momentum": 0.07,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.6,
      "spread_liquidity": 4.68,
      "momentum_consistency": 2.31,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.375,
      "vwap": 10.3883,
      "vwap_slope": -0.0068,
      "rvol": 0.12,
      "volume_acceleration": 1.1,
      "premarket_volume": 58936.0,
      "momentum_pct": 0.05,
      "consolidation_tightness_pct": 0.1,
      "distance_from_pm_high_pct": 0.53,
      "extension_from_vwap_pct": -0.13,
      "spread_pct": 0.1
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 10.43,
    "pm_low": 10.352
  },
  {
    "symbol": "EGY",
    "total_score": 38.43,
    "raw_score": 40.73,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 0.5,
      "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.75,
      "spread_liquidity": 4.44,
      "momentum_consistency": 1.41,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.975,
      "vwap": 5.9821,
      "vwap_slope": -0.0007,
      "rvol": 0.21,
      "volume_acceleration": 1.27,
      "premarket_volume": 103333.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.17,
      "distance_from_pm_high_pct": 0.33,
      "extension_from_vwap_pct": -0.12,
      "spread_pct": 0.17
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 5.995,
    "pm_low": 5.97
  },
  {
    "symbol": "HLMN",
    "total_score": 38.31,
    "raw_score": 40.61,
    "breakdown": {
      "price_quality": 2.32,
      "volume_quality": 9.64,
      "rvol": 0.39,
      "volume_acceleration": 3.58,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.34,
      "spread_liquidity": 4.54,
      "momentum_consistency": 2.4,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.32,
      "vwap": 7.3519,
      "vwap_slope": -0.0068,
      "rvol": 0.16,
      "volume_acceleration": 1.03,
      "premarket_volume": 80373.0,
      "momentum_pct": -0.14,
      "consolidation_tightness_pct": 0.2,
      "distance_from_pm_high_pct": 0.88,
      "extension_from_vwap_pct": -0.43,
      "spread_pct": 0.14
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 7.385,
    "pm_low": 7.32
  },
  {
    "symbol": "SOPH",
    "total_score": 38.05,
    "raw_score": 40.34,
    "breakdown": {
      "price_quality": 3.17,
      "volume_quality": 3.61,
      "rvol": 0.14,
      "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.83,
      "spread_liquidity": 4.18,
      "momentum_consistency": 2.0,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.17,
      "vwap": 8.2034,
      "vwap_slope": -0.0511,
      "rvol": 0.06,
      "volume_acceleration": 3.99,
      "premarket_volume": 30114.0,
      "momentum_pct": -0.12,
      "consolidation_tightness_pct": 0.31,
      "distance_from_pm_high_pct": 1.57,
      "extension_from_vwap_pct": -0.41,
      "spread_pct": 0.24
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 8.3,
    "pm_low": 8.17
  },
  {
    "symbol": "ASLE",
    "total_score": 38.04,
    "raw_score": 40.32,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 3.85,
      "rvol": 0.15,
      "volume_acceleration": 10,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.8,
      "spread_liquidity": 4.39,
      "momentum_consistency": 2.22,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.505,
      "vwap": 5.5081,
      "vwap_slope": -0.0062,
      "rvol": 0.06,
      "volume_acceleration": 2.53,
      "premarket_volume": 32104.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.18,
      "distance_from_pm_high_pct": 0.27,
      "extension_from_vwap_pct": -0.06,
      "spread_pct": 0.18
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 5.52,
    "pm_low": 5.5
  },
  {
    "symbol": "AGEN",
    "total_score": 38.03,
    "raw_score": 40.31,
    "breakdown": {
      "price_quality": 2.86,
      "volume_quality": 10.09,
      "rvol": 0.4,
      "volume_acceleration": 1.94,
      "price_momentum": 0.19,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.24,
      "spread_liquidity": 4.15,
      "momentum_consistency": 3.02,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.86,
      "vwap": 7.8606,
      "vwap_slope": -0.0045,
      "rvol": 0.17,
      "volume_acceleration": 0.56,
      "premarket_volume": 84107.0,
      "momentum_pct": 0.13,
      "consolidation_tightness_pct": 0.38,
      "distance_from_pm_high_pct": 1.01,
      "extension_from_vwap_pct": -0.01,
      "spread_pct": 0.25
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 7.94,
    "pm_low": 7.81
  },
  {
    "symbol": "AHCO",
    "total_score": 37.82,
    "raw_score": 40.09,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 0.78,
      "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.39,
      "spread_liquidity": 4.4,
      "momentum_consistency": 1.82,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.51,
      "vwap": 5.5376,
      "vwap_slope": -0.0032,
      "rvol": 0.33,
      "volume_acceleration": 1.18,
      "premarket_volume": 163082.0,
      "momentum_pct": -0.18,
      "consolidation_tightness_pct": 0.18,
      "distance_from_pm_high_pct": 0.81,
      "extension_from_vwap_pct": -0.5,
      "spread_pct": 0.18
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 5.555,
    "pm_low": 5.51
  },
  {
    "symbol": "PDYN",
    "total_score": 37.81,
    "raw_score": 40.07,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 11.23,
      "rvol": 0.45,
      "volume_acceleration": 2.35,
      "price_momentum": 0.28,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.52,
      "spread_liquidity": 4.39,
      "momentum_consistency": 1.96,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.435,
      "vwap": 5.4444,
      "vwap_slope": -0.0022,
      "rvol": 0.19,
      "volume_acceleration": 0.68,
      "premarket_volume": 93577.0,
      "momentum_pct": 0.18,
      "consolidation_tightness_pct": 0.28,
      "distance_from_pm_high_pct": 0.64,
      "extension_from_vwap_pct": -0.17,
      "spread_pct": 0.18
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 5.47,
    "pm_low": 5.425
  },
  {
    "symbol": "CAL",
    "total_score": 37.76,
    "raw_score": 40.02,
    "breakdown": {
      "price_quality": 3.23,
      "volume_quality": 6.76,
      "rvol": 0.27,
      "volume_acceleration": 5.31,
      "price_momentum": 0.19,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.52,
      "spread_liquidity": 4.15,
      "momentum_consistency": 2.18,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.765,
      "vwap": 11.7748,
      "vwap_slope": -0.0164,
      "rvol": 0.11,
      "volume_acceleration": 1.53,
      "premarket_volume": 56344.0,
      "momentum_pct": 0.13,
      "consolidation_tightness_pct": 0.51,
      "distance_from_pm_high_pct": 0.63,
      "extension_from_vwap_pct": -0.08,
      "spread_pct": 0.25
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 11.84,
    "pm_low": 11.71
  },
  {
    "symbol": "TK",
    "total_score": 37.68,
    "raw_score": 39.94,
    "breakdown": {
      "price_quality": 1.92,
      "volume_quality": 3.24,
      "rvol": 0.13,
      "volume_acceleration": 1.96,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.6,
      "spread_liquidity": 4.49,
      "momentum_consistency": 3.0,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.08,
      "vwap": 13.0879,
      "vwap_slope": 0.0002,
      "rvol": 0.05,
      "volume_acceleration": 0.56,
      "premarket_volume": 27031.0,
      "momentum_pct": -0.08,
      "consolidation_tightness_pct": 0.15,
      "distance_from_pm_high_pct": 0.53,
      "extension_from_vwap_pct": -0.06,
      "spread_pct": 0.15
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": true
    },
    "pm_high": 13.15,
    "pm_low": 13.04
  },
  {
    "symbol": "DFH",
    "total_score": 37.15,
    "raw_score": 39.38,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 4.7,
      "rvol": 0.19,
      "volume_acceleration": 7.14,
      "price_momentum": 0.38,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.51,
      "spread_liquidity": 4.52,
      "momentum_consistency": 3.04,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.78,
      "vwap": 13.7811,
      "vwap_slope": -0.0159,
      "rvol": 0.08,
      "volume_acceleration": 1.71,
      "premarket_volume": 39189.0,
      "momentum_pct": 0.25,
      "consolidation_tightness_pct": 0.25,
      "distance_from_pm_high_pct": 0.65,
      "extension_from_vwap_pct": -0.01,
      "spread_pct": 0.15
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 13.87,
    "pm_low": 13.68
  },
  {
    "symbol": "AEYE",
    "total_score": 37.14,
    "raw_score": 39.37,
    "breakdown": {
      "price_quality": 1.98,
      "volume_quality": 4.1,
      "rvol": 0.16,
      "volume_acceleration": 10,
      "price_momentum": 0.86,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 4.89,
      "spread_liquidity": 2.62,
      "momentum_consistency": 2.35,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.98,
      "vwap": 6.9815,
      "vwap_slope": -0.0762,
      "rvol": 0.07,
      "volume_acceleration": 15.12,
      "premarket_volume": 34142.0,
      "momentum_pct": 0.58,
      "consolidation_tightness_pct": 1.57,
      "distance_from_pm_high_pct": 1.48,
      "extension_from_vwap_pct": -0.02,
      "spread_pct": 0.71
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 7.085,
    "pm_low": 6.92
  },
  {
    "symbol": "TSSI",
    "total_score": 36.97,
    "raw_score": 39.18,
    "breakdown": {
      "price_quality": 2.89,
      "volume_quality": 4.05,
      "rvol": 0.16,
      "volume_acceleration": 7.19,
      "price_momentum": 0.29,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.29,
      "spread_liquidity": 4.16,
      "momentum_consistency": 2.75,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.895,
      "vwap": 7.9066,
      "vwap_slope": -0.0132,
      "rvol": 0.07,
      "volume_acceleration": 1.72,
      "premarket_volume": 33719.0,
      "momentum_pct": 0.19,
      "consolidation_tightness_pct": 0.38,
      "distance_from_pm_high_pct": 0.94,
      "extension_from_vwap_pct": -0.15,
      "spread_pct": 0.25
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 7.97,
    "pm_low": 7.87
  },
  {
    "symbol": "XPER",
    "total_score": 36.79,
    "raw_score": 38.99,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 4.21,
      "rvol": 0.17,
      "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.49,
      "spread_liquidity": 4.43,
      "momentum_consistency": 0.8,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.82,
      "vwap": 5.8383,
      "vwap_slope": -0.0173,
      "rvol": 0.07,
      "volume_acceleration": 3.78,
      "premarket_volume": 35070.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.17,
      "distance_from_pm_high_pct": 0.68,
      "extension_from_vwap_pct": -0.31,
      "spread_pct": 0.17
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 5.86,
    "pm_low": 5.82
  },
  {
    "symbol": "ALTG",
    "total_score": 36.64,
    "raw_score": 38.84,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 3.03,
      "rvol": 0.12,
      "volume_acceleration": 10,
      "price_momentum": 0.66,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.41,
      "spread_liquidity": 2.08,
      "momentum_consistency": 3.64,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.705,
      "vwap": 5.7059,
      "vwap_slope": -0.0089,
      "rvol": 0.05,
      "volume_acceleration": 2.49,
      "premarket_volume": 25274.0,
      "momentum_pct": 0.44,
      "consolidation_tightness_pct": 0.7,
      "distance_from_pm_high_pct": 0.78,
      "extension_from_vwap_pct": -0.02,
      "spread_pct": 0.88
    },
    "flags": {
      "meets_min_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.7499,
    "pm_low": 5.67
  },
  {
    "symbol": "PSFE",
    "total_score": 36.51,
    "raw_score": 38.7,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 2.69,
      "rvol": 0.11,
      "volume_acceleration": 10,
      "price_momentum": 0.21,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.75,
      "spread_liquidity": 3.94,
      "momentum_consistency": 2.09,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.299,
      "vwap": 6.3019,
      "vwap_slope": -0.0129,
      "rvol": 0.04,
      "volume_acceleration": 2.2,
      "premarket_volume": 22453.0,
      "momentum_pct": 0.14,
      "consolidation_tightness_pct": 0.48,
      "distance_from_pm_high_pct": 0.33,
      "extension_from_vwap_pct": -0.05,
      "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.32,
    "pm_low": 6.27
  },
  {
    "symbol": "UTZ",
    "total_score": 36.34,
    "raw_score": 38.52,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 8.76,
      "rvol": 0.35,
      "volume_acceleration": 3.08,
      "price_momentum": 0.05,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.95,
      "spread_liquidity": 4.77,
      "momentum_consistency": 1.67,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.21,
      "vwap": 14.2119,
      "vwap_slope": -0.0016,
      "rvol": 0.15,
      "volume_acceleration": 0.89,
      "premarket_volume": 72993.0,
      "momentum_pct": 0.04,
      "consolidation_tightness_pct": 0.07,
      "distance_from_pm_high_pct": 0.07,
      "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.22,
    "pm_low": 14.2
  },
  {
    "symbol": "SBGI",
    "total_score": 36.23,
    "raw_score": 38.4,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 3.84,
      "rvol": 0.15,
      "volume_acceleration": 7.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.78,
      "spread_liquidity": 4.28,
      "momentum_consistency": 2.67,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.85,
      "vwap": 13.8653,
      "vwap_slope": -0.0018,
      "rvol": 0.06,
      "volume_acceleration": 1.78,
      "premarket_volume": 31965.0,
      "momentum_pct": -0.07,
      "consolidation_tightness_pct": 0.22,
      "distance_from_pm_high_pct": 0.29,
      "extension_from_vwap_pct": -0.11,
      "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.89,
    "pm_low": 13.83
  },
  {
    "symbol": "MNRO",
    "total_score": 35.88,
    "raw_score": 38.04,
    "breakdown": {
      "price_quality": 2.61,
      "volume_quality": 6.1,
      "rvol": 0.24,
      "volume_acceleration": 4.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.58,
      "spread_liquidity": 4.46,
      "momentum_consistency": 1.68,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.3901,
      "vwap": 12.4102,
      "vwap_slope": -0.0152,
      "rvol": 0.1,
      "volume_acceleration": 1.5,
      "premarket_volume": 50799.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.32,
      "distance_from_pm_high_pct": 0.56,
      "extension_from_vwap_pct": -0.16,
      "spread_pct": 0.16
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 12.46,
    "pm_low": 12.35
  },
  {
    "symbol": "VSTS",
    "total_score": 35.88,
    "raw_score": 38.03,
    "breakdown": {
      "price_quality": 2.87,
      "volume_quality": 7.1,
      "rvol": 0.28,
      "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.58,
      "spread_liquidity": 4.45,
      "momentum_consistency": 2.21,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.1319,
      "vwap": 12.1595,
      "vwap_slope": -0.0059,
      "rvol": 0.12,
      "volume_acceleration": 1.31,
      "premarket_volume": 59203.0,
      "momentum_pct": -0.15,
      "consolidation_tightness_pct": 0.19,
      "distance_from_pm_high_pct": 0.56,
      "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": 12.2,
    "pm_low": 12.1319
  },
  {
    "symbol": "HTLD",
    "total_score": 35.87,
    "raw_score": 38.02,
    "breakdown": {
      "price_quality": 3.23,
      "volume_quality": 7.4,
      "rvol": 0.3,
      "volume_acceleration": 1.72,
      "price_momentum": 0.13,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.62,
      "spread_liquidity": 4.72,
      "momentum_consistency": 2.51,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.77,
      "vwap": 11.7932,
      "vwap_slope": -0.0034,
      "rvol": 0.12,
      "volume_acceleration": 0.49,
      "premarket_volume": 61679.0,
      "momentum_pct": 0.09,
      "consolidation_tightness_pct": 0.25,
      "distance_from_pm_high_pct": 0.51,
      "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": 11.83,
    "pm_low": 11.75
  },
  {
    "symbol": "AIRG",
    "total_score": 35.76,
    "raw_score": 37.91,
    "breakdown": {
      "price_quality": 0.0,
      "volume_quality": 4.67,
      "rvol": 0.19,
      "volume_acceleration": 10,
      "price_momentum": 0.15,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 4.44,
      "spread_liquidity": 2.98,
      "momentum_consistency": 3.08,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 4.955,
      "vwap": 4.9729,
      "vwap_slope": -0.0041,
      "rvol": 0.08,
      "volume_acceleration": 2.58,
      "premarket_volume": 38880.0,
      "momentum_pct": 0.1,
      "consolidation_tightness_pct": 0.81,
      "distance_from_pm_high_pct": 2.08,
      "extension_from_vwap_pct": -0.36,
      "spread_pct": 0.61
    },
    "flags": {
      "meets_min_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.06,
    "pm_low": 4.94
  },
  {
    "symbol": "DC",
    "total_score": 35.5,
    "raw_score": 37.63,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 7.77,
      "rvol": 0.31,
      "volume_acceleration": 3.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.56,
      "spread_liquidity": 4.43,
      "momentum_consistency": 2.23,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.875,
      "vwap": 5.8816,
      "vwap_slope": -0.0031,
      "rvol": 0.13,
      "volume_acceleration": 0.99,
      "premarket_volume": 64724.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.17,
      "distance_from_pm_high_pct": 0.59,
      "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": 5.91,
    "pm_low": 5.85
  },
  {
    "symbol": "TG",
    "total_score": 35.5,
    "raw_score": 37.63,
    "breakdown": {
      "price_quality": 2.7,
      "volume_quality": 2.5,
      "rvol": 0.1,
      "volume_acceleration": 1.09,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.61,
      "spread_liquidity": 4.57,
      "momentum_consistency": 1.45,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.7,
      "vwap": 7.7117,
      "vwap_slope": 0.0001,
      "rvol": 0.04,
      "volume_acceleration": 0.31,
      "premarket_volume": 20841.0,
      "momentum_pct": -0.13,
      "consolidation_tightness_pct": 0.19,
      "distance_from_pm_high_pct": 0.52,
      "extension_from_vwap_pct": -0.15,
      "spread_pct": 0.13
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": true
    },
    "pm_high": 7.74,
    "pm_low": 7.6899
  },
  {
    "symbol": "MAX",
    "total_score": 35.27,
    "raw_score": 37.39,
    "breakdown": {
      "price_quality": 2.74,
      "volume_quality": 4.96,
      "rvol": 0.2,
      "volume_acceleration": 5.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.45,
      "spread_liquidity": 4.46,
      "momentum_consistency": 1.56,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.26,
      "vwap": 12.2971,
      "vwap_slope": -0.013,
      "rvol": 0.08,
      "volume_acceleration": 1.56,
      "premarket_volume": 41294.0,
      "momentum_pct": -0.08,
      "consolidation_tightness_pct": 0.24,
      "distance_from_pm_high_pct": 0.73,
      "extension_from_vwap_pct": -0.3,
      "spread_pct": 0.16
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 12.35,
    "pm_low": 12.25
  },
  {
    "symbol": "ARDT",
    "total_score": 35.25,
    "raw_score": 37.36,
    "breakdown": {
      "price_quality": 3.96,
      "volume_quality": 2.42,
      "rvol": 0.1,
      "volume_acceleration": 6.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.59,
      "spread_liquidity": 4.4,
      "momentum_consistency": 1.68,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.04,
      "vwap": 11.0679,
      "vwap_slope": -0.0225,
      "rvol": 0.04,
      "volume_acceleration": 1.68,
      "premarket_volume": 20145.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.18,
      "distance_from_pm_high_pct": 0.54,
      "extension_from_vwap_pct": -0.25,
      "spread_pct": 0.18
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 11.1,
    "pm_low": 11.03
  },
  {
    "symbol": "HOPE",
    "total_score": 35.11,
    "raw_score": 37.22,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 6.51,
      "rvol": 0.26,
      "volume_acceleration": 4.02,
      "price_momentum": 0.11,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.78,
      "spread_liquidity": 4.76,
      "momentum_consistency": 1.88,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.615,
      "vwap": 13.6307,
      "vwap_slope": -0.0077,
      "rvol": 0.11,
      "volume_acceleration": 1.4,
      "premarket_volume": 54217.0,
      "momentum_pct": 0.07,
      "consolidation_tightness_pct": 0.11,
      "distance_from_pm_high_pct": 0.29,
      "extension_from_vwap_pct": -0.12,
      "spread_pct": 0.07
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 13.655,
    "pm_low": 13.605
  },
  {
    "symbol": "QDEL",
    "total_score": 34.81,
    "raw_score": 36.9,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 7.96,
      "rvol": 0.32,
      "volume_acceleration": 3.45,
      "price_momentum": 0.16,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 4.78,
      "spread_liquidity": 4.28,
      "momentum_consistency": 2.05,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.865,
      "vwap": 13.949,
      "vwap_slope": -0.0381,
      "rvol": 0.13,
      "volume_acceleration": 0.99,
      "premarket_volume": 66338.0,
      "momentum_pct": 0.11,
      "consolidation_tightness_pct": 0.29,
      "distance_from_pm_high_pct": 1.63,
      "extension_from_vwap_pct": -0.6,
      "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.095,
    "pm_low": 13.82
  },
  {
    "symbol": "CHPT",
    "total_score": 34.71,
    "raw_score": 36.79,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 9.35,
      "rvol": 0.37,
      "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.16,
      "spread_liquidity": 3.74,
      "momentum_consistency": 1.7,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.28,
      "vwap": 5.3032,
      "vwap_slope": -0.006,
      "rvol": 0.16,
      "volume_acceleration": 0.74,
      "premarket_volume": 77951.0,
      "momentum_pct": -0.06,
      "consolidation_tightness_pct": 0.06,
      "distance_from_pm_high_pct": 1.12,
      "extension_from_vwap_pct": -0.44,
      "spread_pct": 0.38
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 5.34,
    "pm_low": 5.28
  },
  {
    "symbol": "PHR",
    "total_score": 34.69,
    "raw_score": 36.77,
    "breakdown": {
      "price_quality": 3.11,
      "volume_quality": 4.98,
      "rvol": 0.2,
      "volume_acceleration": 4.15,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.5,
      "spread_liquidity": 4.72,
      "momentum_consistency": 1.71,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.89,
      "vwap": 11.9417,
      "vwap_slope": -0.0118,
      "rvol": 0.08,
      "volume_acceleration": 1.42,
      "premarket_volume": 41462.0,
      "momentum_pct": -0.17,
      "consolidation_tightness_pct": 0.25,
      "distance_from_pm_high_pct": 0.67,
      "extension_from_vwap_pct": -0.43,
      "spread_pct": 0.08
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 11.97,
    "pm_low": 11.89
  },
  {
    "symbol": "SWIM",
    "total_score": 34.59,
    "raw_score": 36.67,
    "breakdown": {
      "price_quality": 1.88,
      "volume_quality": 7.64,
      "rvol": 0.31,
      "volume_acceleration": 3.3,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.73,
      "spread_liquidity": 4.52,
      "momentum_consistency": 0.91,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.875,
      "vwap": 6.883,
      "vwap_slope": -0.0028,
      "rvol": 0.13,
      "volume_acceleration": 0.95,
      "premarket_volume": 63696.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.07,
      "distance_from_pm_high_pct": 0.36,
      "extension_from_vwap_pct": -0.12,
      "spread_pct": 0.15
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 6.9,
    "pm_low": 6.87
  },
  {
    "symbol": "AMCX",
    "total_score": 34.56,
    "raw_score": 36.64,
    "breakdown": {
      "price_quality": 2.68,
      "volume_quality": 5.23,
      "rvol": 0.21,
      "volume_acceleration": 3.53,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.58,
      "spread_liquidity": 4.46,
      "momentum_consistency": 2.55,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.32,
      "vwap": 12.3497,
      "vwap_slope": -0.0024,
      "rvol": 0.09,
      "volume_acceleration": 1.02,
      "premarket_volume": 43550.0,
      "momentum_pct": -0.32,
      "consolidation_tightness_pct": 0.4,
      "distance_from_pm_high_pct": 0.56,
      "extension_from_vwap_pct": -0.24,
      "spread_pct": 0.16
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 12.39,
    "pm_low": 12.3
  },
  {
    "symbol": "EOLS",
    "total_score": 34.35,
    "raw_score": 36.42,
    "breakdown": {
      "price_quality": 4.08,
      "volume_quality": 5.36,
      "rvol": 0.21,
      "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.67,
      "spread_liquidity": 4.27,
      "momentum_consistency": 2.51,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.08,
      "vwap": 9.0897,
      "vwap_slope": -0.002,
      "rvol": 0.09,
      "volume_acceleration": 0.55,
      "premarket_volume": 44675.0,
      "momentum_pct": -0.06,
      "consolidation_tightness_pct": 0.06,
      "distance_from_pm_high_pct": 0.44,
      "extension_from_vwap_pct": -0.11,
      "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.12,
    "pm_low": 9.05
  },
  {
    "symbol": "AEBI",
    "total_score": 34.05,
    "raw_score": 36.09,
    "breakdown": {
      "price_quality": 2.87,
      "volume_quality": 2.94,
      "rvol": 0.12,
      "volume_acceleration": 5.86,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.48,
      "spread_liquidity": 4.18,
      "momentum_consistency": 2.26,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.135,
      "vwap": 12.177,
      "vwap_slope": -0.0191,
      "rvol": 0.05,
      "volume_acceleration": 1.59,
      "premarket_volume": 24472.0,
      "momentum_pct": -0.04,
      "consolidation_tightness_pct": 0.25,
      "distance_from_pm_high_pct": 0.7,
      "extension_from_vwap_pct": -0.34,
      "spread_pct": 0.25
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 12.22,
    "pm_low": 12.13
  },
  {
    "symbol": "RWAY",
    "total_score": 33.93,
    "raw_score": 35.97,
    "breakdown": {
      "price_quality": 1.62,
      "volume_quality": 6.63,
      "rvol": 0.27,
      "volume_acceleration": 2.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.61,
      "spread_liquidity": 4.5,
      "momentum_consistency": 2.88,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.615,
      "vwap": 6.6267,
      "vwap_slope": -0.0021,
      "rvol": 0.11,
      "volume_acceleration": 0.6,
      "premarket_volume": 55234.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.23,
      "distance_from_pm_high_pct": 0.53,
      "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.65,
    "pm_low": 6.61
  },
  {
    "symbol": "ORN",
    "total_score": 33.82,
    "raw_score": 35.85,
    "breakdown": {
      "price_quality": 4.11,
      "volume_quality": 3.13,
      "rvol": 0.13,
      "volume_acceleration": 3.67,
      "price_momentum": 0.08,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.47,
      "spread_liquidity": 3.9,
      "momentum_consistency": 2.96,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.105,
      "vwap": 9.126,
      "vwap_slope": -0.0067,
      "rvol": 0.05,
      "volume_acceleration": 1.06,
      "premarket_volume": 26101.0,
      "momentum_pct": 0.05,
      "consolidation_tightness_pct": 0.33,
      "distance_from_pm_high_pct": 0.71,
      "extension_from_vwap_pct": -0.23,
      "spread_pct": 0.33
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 9.17,
    "pm_low": 9.09
  },
  {
    "symbol": "OEC",
    "total_score": 33.81,
    "raw_score": 35.83,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 8.03,
      "rvol": 0.32,
      "volume_acceleration": 2.39,
      "price_momentum": 0.51,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 4.93,
      "spread_liquidity": 3.87,
      "momentum_consistency": 1.87,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.895,
      "vwap": 5.93,
      "vwap_slope": -0.015,
      "rvol": 0.13,
      "volume_acceleration": 0.69,
      "premarket_volume": 66918.0,
      "momentum_pct": 0.34,
      "consolidation_tightness_pct": 0.34,
      "distance_from_pm_high_pct": 1.42,
      "extension_from_vwap_pct": -0.59,
      "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.98,
    "pm_low": 5.875
  },
  {
    "symbol": "LENZ",
    "total_score": 33.78,
    "raw_score": 35.81,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 6.46,
      "rvol": 0.26,
      "volume_acceleration": 3.48,
      "price_momentum": 0.15,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.49,
      "spread_liquidity": 3.69,
      "momentum_consistency": 2.38,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.09,
      "vwap": 5.0937,
      "vwap_slope": -0.0034,
      "rvol": 0.11,
      "volume_acceleration": 1.35,
      "premarket_volume": 53847.0,
      "momentum_pct": 0.1,
      "consolidation_tightness_pct": 0.29,
      "distance_from_pm_high_pct": 0.68,
      "extension_from_vwap_pct": -0.07,
      "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": 5.125,
    "pm_low": 5.06
  },
  {
    "symbol": "RMNI",
    "total_score": 33.58,
    "raw_score": 35.59,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 3.17,
      "rvol": 0.13,
      "volume_acceleration": 7.15,
      "price_momentum": 0.14,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.72,
      "spread_liquidity": 3.73,
      "momentum_consistency": 1.66,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.27,
      "vwap": 5.2716,
      "vwap_slope": -0.0013,
      "rvol": 0.05,
      "volume_acceleration": 1.71,
      "premarket_volume": 26407.0,
      "momentum_pct": 0.09,
      "consolidation_tightness_pct": 0.16,
      "distance_from_pm_high_pct": 0.38,
      "extension_from_vwap_pct": -0.03,
      "spread_pct": 0.38
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 5.29,
    "pm_low": 5.255
  },
  {
    "symbol": "XPOF",
    "total_score": 33.53,
    "raw_score": 35.55,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 6.25,
      "rvol": 0.25,
      "volume_acceleration": 4.77,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 4.78,
      "spread_liquidity": 4.35,
      "momentum_consistency": 1.24,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.125,
      "vwap": 5.1653,
      "vwap_slope": -0.0213,
      "rvol": 0.1,
      "volume_acceleration": 1.48,
      "premarket_volume": 52109.0,
      "momentum_pct": -0.19,
      "consolidation_tightness_pct": 0.29,
      "distance_from_pm_high_pct": 1.63,
      "extension_from_vwap_pct": -0.78,
      "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.21,
    "pm_low": 5.12
  },
  {
    "symbol": "MTRX",
    "total_score": 33.36,
    "raw_score": 35.36,
    "breakdown": {
      "price_quality": 4.29,
      "volume_quality": 5.0,
      "rvol": 0.2,
      "volume_acceleration": 1.62,
      "price_momentum": 0.07,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.65,
      "spread_liquidity": 4.07,
      "momentum_consistency": 2.06,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.71,
      "vwap": 10.7181,
      "vwap_slope": -0.0033,
      "rvol": 0.08,
      "volume_acceleration": 0.47,
      "premarket_volume": 41657.0,
      "momentum_pct": 0.05,
      "consolidation_tightness_pct": 0.19,
      "distance_from_pm_high_pct": 0.46,
      "extension_from_vwap_pct": -0.08,
      "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.76,
    "pm_low": 10.68
  },
  {
    "symbol": "VNCE",
    "total_score": 33.11,
    "raw_score": 35.09,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 2.73,
      "rvol": 0.11,
      "volume_acceleration": 0.65,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 4.07,
      "spread_liquidity": 2.43,
      "momentum_consistency": 4.0,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.46,
      "vwap": 6.5545,
      "vwap_slope": 0.0445,
      "rvol": 0.05,
      "volume_acceleration": 0.19,
      "premarket_volume": 22780.0,
      "momentum_pct": -1.52,
      "consolidation_tightness_pct": 2.6,
      "distance_from_pm_high_pct": 2.57,
      "extension_from_vwap_pct": -1.44,
      "spread_pct": 0.77
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": true
    },
    "pm_high": 6.6304,
    "pm_low": 6.46
  },
  {
    "symbol": "PMI",
    "total_score": 32.88,
    "raw_score": 34.85,
    "breakdown": {
      "price_quality": 0.0,
      "volume_quality": 10.7,
      "rvol": 0.43,
      "volume_acceleration": 3.85,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 2.64,
      "spread_liquidity": 1.95,
      "momentum_consistency": 2.88,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 4.34,
      "vwap": 4.3885,
      "vwap_slope": -0.0211,
      "rvol": 0.18,
      "volume_acceleration": 1.11,
      "premarket_volume": 89184.0,
      "momentum_pct": -0.91,
      "consolidation_tightness_pct": 1.61,
      "distance_from_pm_high_pct": 4.48,
      "extension_from_vwap_pct": -1.11,
      "spread_pct": 0.92
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 4.5436,
    "pm_low": 4.31
  },
  {
    "symbol": "ARCO",
    "total_score": 32.78,
    "raw_score": 34.75,
    "breakdown": {
      "price_quality": 3.03,
      "volume_quality": 4.82,
      "rvol": 0.19,
      "volume_acceleration": 2.26,
      "price_momentum": 0.09,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.72,
      "spread_liquidity": 4.58,
      "momentum_consistency": 1.64,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.03,
      "vwap": 8.0386,
      "vwap_slope": -0.006,
      "rvol": 0.08,
      "volume_acceleration": 0.65,
      "premarket_volume": 40198.0,
      "momentum_pct": 0.06,
      "consolidation_tightness_pct": 0.11,
      "distance_from_pm_high_pct": 0.37,
      "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.06,
    "pm_low": 8.015
  },
  {
    "symbol": "GCMG",
    "total_score": 32.57,
    "raw_score": 34.53,
    "breakdown": {
      "price_quality": 1.66,
      "volume_quality": 2.8,
      "rvol": 0.11,
      "volume_acceleration": 5.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.66,
      "spread_liquidity": 4.5,
      "momentum_consistency": 2.37,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.34,
      "vwap": 13.3603,
      "vwap_slope": -0.0124,
      "rvol": 0.05,
      "volume_acceleration": 1.5,
      "premarket_volume": 23327.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.15,
      "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.4,
    "pm_low": 13.34
  },
  {
    "symbol": "NMFC",
    "total_score": 32.18,
    "raw_score": 34.11,
    "breakdown": {
      "price_quality": 2.5,
      "volume_quality": 3.74,
      "rvol": 0.15,
      "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.75,
      "spread_liquidity": 4.56,
      "momentum_consistency": 1.37,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.505,
      "vwap": 7.5148,
      "vwap_slope": -0.0018,
      "rvol": 0.06,
      "volume_acceleration": 1.05,
      "premarket_volume": 31153.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.07,
      "distance_from_pm_high_pct": 0.33,
      "extension_from_vwap_pct": -0.13,
      "spread_pct": 0.13
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 7.53,
    "pm_low": 7.505
  },
  {
    "symbol": "MH",
    "total_score": 31.99,
    "raw_score": 33.91,
    "breakdown": {
      "price_quality": 1.96,
      "volume_quality": 3.75,
      "rvol": 0.15,
      "volume_acceleration": 3.39,
      "price_momentum": 0.12,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.89,
      "spread_liquidity": 4.49,
      "momentum_consistency": 1.78,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.04,
      "vwap": 13.0418,
      "vwap_slope": -0.0013,
      "rvol": 0.06,
      "volume_acceleration": 0.97,
      "premarket_volume": 31231.0,
      "momentum_pct": 0.08,
      "consolidation_tightness_pct": 0.22,
      "distance_from_pm_high_pct": 0.15,
      "extension_from_vwap_pct": -0.01,
      "spread_pct": 0.15
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 13.06,
    "pm_low": 13.015
  },
  {
    "symbol": "FF",
    "total_score": 31.73,
    "raw_score": 33.63,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 3.74,
      "rvol": 0.15,
      "volume_acceleration": 3.71,
      "price_momentum": 0.42,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.66,
      "spread_liquidity": 3.77,
      "momentum_consistency": 2.29,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.42,
      "vwap": 5.4228,
      "vwap_slope": -0.0087,
      "rvol": 0.06,
      "volume_acceleration": 1.07,
      "premarket_volume": 31163.0,
      "momentum_pct": 0.28,
      "consolidation_tightness_pct": 0.37,
      "distance_from_pm_high_pct": 0.46,
      "extension_from_vwap_pct": -0.05,
      "spread_pct": 0.37
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 5.445,
    "pm_low": 5.4
  },
  {
    "symbol": "DBI",
    "total_score": 31.35,
    "raw_score": 33.23,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 7.01,
      "rvol": 0.28,
      "volume_acceleration": 1.81,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.21,
      "spread_liquidity": 3.71,
      "momentum_consistency": 1.3,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.17,
      "vwap": 5.204,
      "vwap_slope": -0.0039,
      "rvol": 0.12,
      "volume_acceleration": 0.52,
      "premarket_volume": 58457.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.19,
      "distance_from_pm_high_pct": 1.05,
      "extension_from_vwap_pct": -0.65,
      "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": 5.225,
    "pm_low": 5.17
  },
  {
    "symbol": "KBDC",
    "total_score": 31.19,
    "raw_score": 33.06,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 2.67,
      "rvol": 0.11,
      "volume_acceleration": 3.33,
      "price_momentum": 0.17,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.81,
      "spread_liquidity": 4.75,
      "momentum_consistency": 2.33,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.535,
      "vwap": 13.5395,
      "vwap_slope": -0.0072,
      "rvol": 0.04,
      "volume_acceleration": 0.96,
      "premarket_volume": 22212.0,
      "momentum_pct": 0.11,
      "consolidation_tightness_pct": 0.15,
      "distance_from_pm_high_pct": 0.26,
      "extension_from_vwap_pct": -0.03,
      "spread_pct": 0.07
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 13.57,
    "pm_low": 13.52
  },
  {
    "symbol": "UPB",
    "total_score": 30.78,
    "raw_score": 32.63,
    "breakdown": {
      "price_quality": 1.63,
      "volume_quality": 4.83,
      "rvol": 0.19,
      "volume_acceleration": 1.72,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.33,
      "spread_liquidity": 3.99,
      "momentum_consistency": 2.53,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.63,
      "vwap": 6.6452,
      "vwap_slope": -0.0069,
      "rvol": 0.08,
      "volume_acceleration": 0.5,
      "premarket_volume": 40266.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.3,
      "distance_from_pm_high_pct": 0.9,
      "extension_from_vwap_pct": -0.23,
      "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.69,
    "pm_low": 6.6
  },
  {
    "symbol": "BVS",
    "total_score": 30.55,
    "raw_score": 32.38,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 3.94,
      "rvol": 0.16,
      "volume_acceleration": 2.07,
      "price_momentum": 0.11,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.65,
      "spread_liquidity": 4.27,
      "momentum_consistency": 2.29,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.76,
      "vwap": 13.788,
      "vwap_slope": -0.0054,
      "rvol": 0.07,
      "volume_acceleration": 0.6,
      "premarket_volume": 32841.0,
      "momentum_pct": 0.07,
      "consolidation_tightness_pct": 0.07,
      "distance_from_pm_high_pct": 0.47,
      "extension_from_vwap_pct": -0.2,
      "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.825,
    "pm_low": 13.74
  },
  {
    "symbol": "PXS",
    "total_score": 30.25,
    "raw_score": 32.06,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 3.88,
      "rvol": 0.16,
      "volume_acceleration": 2.5,
      "price_momentum": 1.41,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.26,
      "spread_liquidity": 1.69,
      "momentum_consistency": 3.26,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.04,
      "vwap": 6.0551,
      "vwap_slope": -0.0242,
      "rvol": 0.06,
      "volume_acceleration": 0.72,
      "premarket_volume": 32331.0,
      "momentum_pct": 0.94,
      "consolidation_tightness_pct": 1.0,
      "distance_from_pm_high_pct": 0.98,
      "extension_from_vwap_pct": -0.25,
      "spread_pct": 0.99
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 6.1,
    "pm_low": 5.98
  },
  {
    "symbol": "ACET",
    "total_score": 29.58,
    "raw_score": 31.35,
    "breakdown": {
      "price_quality": 4.28,
      "volume_quality": 2.59,
      "rvol": 0.1,
      "volume_acceleration": 1.9,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 4.65,
      "spread_liquidity": 1.42,
      "momentum_consistency": 4.0,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.28,
      "vwap": 9.3271,
      "vwap_slope": -0.0136,
      "rvol": 0.04,
      "volume_acceleration": 0.55,
      "premarket_volume": 21574.0,
      "momentum_pct": -0.85,
      "consolidation_tightness_pct": 1.09,
      "distance_from_pm_high_pct": 1.8,
      "extension_from_vwap_pct": -0.5,
      "spread_pct": 1.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": 9.45,
    "pm_low": 9.22
  },
  {
    "symbol": "VOXR",
    "total_score": 29.25,
    "raw_score": 31.01,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 3.41,
      "rvol": 0.14,
      "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.58,
      "spread_liquidity": 4.38,
      "momentum_consistency": 1.6,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.365,
      "vwap": 5.3673,
      "vwap_slope": -0.0007,
      "rvol": 0.06,
      "volume_acceleration": 0.57,
      "premarket_volume": 28424.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.0,
      "distance_from_pm_high_pct": 0.56,
      "extension_from_vwap_pct": -0.04,
      "spread_pct": 0.19
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 5.395,
    "pm_low": 5.345
  },
  {
    "symbol": "MED",
    "total_score": 28.75,
    "raw_score": 30.48,
    "breakdown": {
      "price_quality": 2.91,
      "volume_quality": 2.94,
      "rvol": 0.12,
      "volume_acceleration": 2.68,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.08,
      "spread_liquidity": 3.35,
      "momentum_consistency": 1.0,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.09,
      "vwap": 12.2064,
      "vwap_slope": -0.0136,
      "rvol": 0.05,
      "volume_acceleration": 0.77,
      "premarket_volume": 24507.0,
      "momentum_pct": -0.58,
      "consolidation_tightness_pct": 0.82,
      "distance_from_pm_high_pct": 1.23,
      "extension_from_vwap_pct": -0.95,
      "spread_pct": 0.5
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 12.24,
    "pm_low": 12.09
  },
  {
    "symbol": "OBIO",
    "total_score": 28.42,
    "raw_score": 30.12,
    "breakdown": {
      "price_quality": 0.0,
      "volume_quality": 2.43,
      "rvol": 0.1,
      "volume_acceleration": 3.33,
      "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.32,
      "momentum_consistency": 1.82,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 4.935,
      "vwap": 4.945,
      "vwap_slope": -0.004,
      "rvol": 0.04,
      "volume_acceleration": 0.96,
      "premarket_volume": 20249.0,
      "momentum_pct": 0.06,
      "consolidation_tightness_pct": 0.41,
      "distance_from_pm_high_pct": 0.5,
      "extension_from_vwap_pct": -0.2,
      "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.96,
    "pm_low": 4.93
  },
  {
    "symbol": "CNXU",
    "total_score": 26.12,
    "raw_score": 27.69,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 2.98,
      "rvol": 0.12,
      "volume_acceleration": 1.95,
      "price_momentum": 0.59,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 3.39,
      "spread_liquidity": 1.17,
      "momentum_consistency": 3.59,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.119,
      "vwap": 6.1633,
      "vwap_slope": -0.0269,
      "rvol": 0.05,
      "volume_acceleration": 0.56,
      "premarket_volume": 24859.0,
      "momentum_pct": 0.39,
      "consolidation_tightness_pct": 0.7,
      "distance_from_pm_high_pct": 3.48,
      "extension_from_vwap_pct": -0.72,
      "spread_pct": 1.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.3399,
    "pm_low": 6.06
  }
]