[
  {
    "symbol": "MARA",
    "total_score": 82.35,
    "raw_score": 87.29,
    "breakdown": {
      "price_quality": 3.67,
      "volume_quality": 12.0,
      "rvol": 12.0,
      "volume_acceleration": 8.63,
      "price_momentum": 0.25,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.89,
      "spread_liquidity": 4.71,
      "momentum_consistency": 4.14,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.334,
      "vwap": 11.2609,
      "vwap_slope": 0.0241,
      "rvol": 13.57,
      "volume_acceleration": 1.86,
      "premarket_volume": 6785791.0,
      "momentum_pct": 0.17,
      "consolidation_tightness_pct": 0.44,
      "distance_from_pm_high_pct": 0.14,
      "extension_from_vwap_pct": 0.65,
      "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": true
    },
    "pm_high": 11.35,
    "pm_low": 11.18
  },
  {
    "symbol": "QXO",
    "total_score": 76.13,
    "raw_score": 80.7,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 6.58,
      "volume_acceleration": 10,
      "price_momentum": 0.16,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.84,
      "spread_liquidity": 4.76,
      "momentum_consistency": 3.86,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.115,
      "vwap": 14.0152,
      "vwap_slope": 0.0506,
      "rvol": 2.47,
      "volume_acceleration": 2.45,
      "premarket_volume": 1233082.0,
      "momentum_pct": 0.11,
      "consolidation_tightness_pct": 0.53,
      "distance_from_pm_high_pct": 0.21,
      "extension_from_vwap_pct": 0.71,
      "spread_pct": 0.07
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 14.145,
    "pm_low": 13.895
  },
  {
    "symbol": "WEN",
    "total_score": 74.93,
    "raw_score": 79.43,
    "breakdown": {
      "price_quality": 4.06,
      "volume_quality": 12.0,
      "rvol": 4.66,
      "volume_acceleration": 7.92,
      "price_momentum": 0.5,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 6.0,
      "spread_liquidity": 4.63,
      "momentum_consistency": 3.66,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.065,
      "vwap": 8.9974,
      "vwap_slope": 0.0202,
      "rvol": 1.75,
      "volume_acceleration": 1.79,
      "premarket_volume": 874175.0,
      "momentum_pct": 0.33,
      "consolidation_tightness_pct": 0.39,
      "distance_from_pm_high_pct": 0.01,
      "extension_from_vwap_pct": 0.75,
      "spread_pct": 0.11
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 9.0656,
    "pm_low": 8.885
  },
  {
    "symbol": "ONDS",
    "total_score": 73.72,
    "raw_score": 78.15,
    "breakdown": {
      "price_quality": 3.24,
      "volume_quality": 12.0,
      "rvol": 12.0,
      "volume_acceleration": 10,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.77,
      "spread_liquidity": 4.59,
      "momentum_consistency": 4.14,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.24,
      "vwap": 8.2004,
      "vwap_slope": 0.0186,
      "rvol": 13.55,
      "volume_acceleration": 2.96,
      "premarket_volume": 6773953.0,
      "momentum_pct": -0.19,
      "consolidation_tightness_pct": 0.55,
      "distance_from_pm_high_pct": 0.3,
      "extension_from_vwap_pct": 0.48,
      "spread_pct": 0.12
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 8.265,
    "pm_low": 8.14
  },
  {
    "symbol": "NEXT",
    "total_score": 71.7,
    "raw_score": 76.0,
    "breakdown": {
      "price_quality": 2.33,
      "volume_quality": 12.0,
      "rvol": 0.94,
      "volume_acceleration": 9.7,
      "price_momentum": 0.93,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.9,
      "spread_liquidity": 4.54,
      "momentum_consistency": 3.67,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.325,
      "vwap": 7.2796,
      "vwap_slope": 0.0198,
      "rvol": 0.39,
      "volume_acceleration": 1.97,
      "premarket_volume": 195485.0,
      "momentum_pct": 0.62,
      "consolidation_tightness_pct": 0.82,
      "distance_from_pm_high_pct": 0.14,
      "extension_from_vwap_pct": 0.62,
      "spread_pct": 0.14
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 7.335,
    "pm_low": 7.24
  },
  {
    "symbol": "AI",
    "total_score": 71.27,
    "raw_score": 75.54,
    "breakdown": {
      "price_quality": 4.63,
      "volume_quality": 12.0,
      "rvol": 1.3,
      "volume_acceleration": 8.65,
      "price_momentum": 0.16,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.81,
      "spread_liquidity": 4.65,
      "momentum_consistency": 2.34,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.635,
      "vwap": 9.6311,
      "vwap_slope": 0.0023,
      "rvol": 0.54,
      "volume_acceleration": 1.86,
      "premarket_volume": 271023.0,
      "momentum_pct": 0.1,
      "consolidation_tightness_pct": 0.26,
      "distance_from_pm_high_pct": 0.26,
      "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": true,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 9.66,
    "pm_low": 9.61
  },
  {
    "symbol": "VFC",
    "total_score": 71.26,
    "raw_score": 75.54,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 2.68,
      "volume_acceleration": 10,
      "price_momentum": 0.22,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.76,
      "spread_liquidity": 4.76,
      "momentum_consistency": 2.62,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.905,
      "vwap": 13.9042,
      "vwap_slope": 0.0027,
      "rvol": 1.12,
      "volume_acceleration": 2.22,
      "premarket_volume": 558430.0,
      "momentum_pct": 0.14,
      "consolidation_tightness_pct": 0.5,
      "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": true,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 13.9499,
    "pm_low": 13.88
  },
  {
    "symbol": "GPRE",
    "total_score": 70.55,
    "raw_score": 74.78,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 1.18,
      "volume_acceleration": 10,
      "price_momentum": 0.61,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 6,
      "spread_liquidity": 4.55,
      "momentum_consistency": 2.95,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.92,
      "vwap": 14.8648,
      "vwap_slope": 0.0041,
      "rvol": 0.49,
      "volume_acceleration": 2.0,
      "premarket_volume": 244794.0,
      "momentum_pct": 0.4,
      "consolidation_tightness_pct": 0.67,
      "distance_from_pm_high_pct": 0.0,
      "extension_from_vwap_pct": 0.37,
      "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": 14.92,
    "pm_low": 14.82
  },
  {
    "symbol": "SMR",
    "total_score": 69.15,
    "raw_score": 73.3,
    "breakdown": {
      "price_quality": 4.28,
      "volume_quality": 12.0,
      "rvol": 12.0,
      "volume_acceleration": 3.94,
      "price_momentum": 0.08,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.96,
      "spread_liquidity": 4.64,
      "momentum_consistency": 4.0,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.275,
      "vwap": 9.1779,
      "vwap_slope": 0.0249,
      "rvol": 12.85,
      "volume_acceleration": 1.13,
      "premarket_volume": 6424588.0,
      "momentum_pct": 0.05,
      "consolidation_tightness_pct": 0.32,
      "distance_from_pm_high_pct": 0.05,
      "extension_from_vwap_pct": 1.06,
      "spread_pct": 0.11
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 9.28,
    "pm_low": 9.06
  },
  {
    "symbol": "INFQ",
    "total_score": 68.9,
    "raw_score": 73.03,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 5.58,
      "volume_acceleration": 2.36,
      "price_momentum": 0.66,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.97,
      "spread_liquidity": 4.76,
      "momentum_consistency": 4.2,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.755,
      "vwap": 13.6059,
      "vwap_slope": 0.0164,
      "rvol": 2.09,
      "volume_acceleration": 0.68,
      "premarket_volume": 1046030.0,
      "momentum_pct": 0.44,
      "consolidation_tightness_pct": 1.31,
      "distance_from_pm_high_pct": 0.04,
      "extension_from_vwap_pct": 1.1,
      "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.7599,
    "pm_low": 13.385
  },
  {
    "symbol": "PSKY",
    "total_score": 68.48,
    "raw_score": 72.59,
    "breakdown": {
      "price_quality": 4.31,
      "volume_quality": 12.0,
      "rvol": 6.81,
      "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.55,
      "spread_liquidity": 4.69,
      "momentum_consistency": 2.76,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.685,
      "vwap": 10.6781,
      "vwap_slope": 0.0006,
      "rvol": 2.55,
      "volume_acceleration": 2.04,
      "premarket_volume": 1276357.0,
      "momentum_pct": 0.05,
      "consolidation_tightness_pct": 0.56,
      "distance_from_pm_high_pct": 0.6,
      "extension_from_vwap_pct": 0.06,
      "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.75,
    "pm_low": 10.59
  },
  {
    "symbol": "NOK",
    "total_score": 67.89,
    "raw_score": 71.97,
    "breakdown": {
      "price_quality": 4.62,
      "volume_quality": 12.0,
      "rvol": 12.0,
      "volume_acceleration": 2.52,
      "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": 3.93,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.385,
      "vwap": 10.3782,
      "vwap_slope": 0.002,
      "rvol": 8.37,
      "volume_acceleration": 0.73,
      "premarket_volume": 4186164.0,
      "momentum_pct": -0.11,
      "consolidation_tightness_pct": 0.19,
      "distance_from_pm_high_pct": 0.24,
      "extension_from_vwap_pct": 0.07,
      "spread_pct": 0.1
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 10.41,
    "pm_low": 10.33
  },
  {
    "symbol": "PMI",
    "total_score": 67.27,
    "raw_score": 71.31,
    "breakdown": {
      "price_quality": 4.9,
      "volume_quality": 12.0,
      "rvol": 1.83,
      "volume_acceleration": 1.65,
      "price_momentum": 4.05,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 7.31,
      "distance_from_pm_high": 5.32,
      "spread_liquidity": 2.32,
      "momentum_consistency": 3.92,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.9,
      "vwap": 9.4205,
      "vwap_slope": 0.2013,
      "rvol": 0.76,
      "volume_acceleration": 1.17,
      "premarket_volume": 382168.0,
      "momentum_pct": 2.7,
      "consolidation_tightness_pct": 4.04,
      "distance_from_pm_high_pct": 0.9,
      "extension_from_vwap_pct": 5.09,
      "spread_pct": 0.8
    },
    "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.99,
    "pm_low": 8.6508
  },
  {
    "symbol": "VIPS",
    "total_score": 64.78,
    "raw_score": 68.66,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 1.62,
      "volume_acceleration": 3.58,
      "price_momentum": 0.11,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.89,
      "spread_liquidity": 4.76,
      "momentum_consistency": 3.2,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.125,
      "vwap": 14.1228,
      "vwap_slope": 0.0006,
      "rvol": 0.67,
      "volume_acceleration": 1.36,
      "premarket_volume": 337275.0,
      "momentum_pct": 0.07,
      "consolidation_tightness_pct": 0.18,
      "distance_from_pm_high_pct": 0.14,
      "extension_from_vwap_pct": 0.02,
      "spread_pct": 0.07
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 14.145,
    "pm_low": 14.1
  },
  {
    "symbol": "XPON",
    "total_score": 64.39,
    "raw_score": 68.25,
    "breakdown": {
      "price_quality": 3.64,
      "volume_quality": 12.0,
      "rvol": 10.51,
      "volume_acceleration": 5.64,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 6.56,
      "distance_from_pm_high": 2.6,
      "spread_liquidity": 4.61,
      "momentum_consistency": 4.28,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.64,
      "vwap": 8.581,
      "vwap_slope": 0.0372,
      "rvol": 3.94,
      "volume_acceleration": 1.56,
      "premarket_volume": 1971186.0,
      "momentum_pct": -0.17,
      "consolidation_tightness_pct": 5.16,
      "distance_from_pm_high_pct": 4.53,
      "extension_from_vwap_pct": 0.69,
      "spread_pct": 0.12
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 9.0499,
    "pm_low": 8.01
  },
  {
    "symbol": "BFLY",
    "total_score": 64.15,
    "raw_score": 68.0,
    "breakdown": {
      "price_quality": 3.74,
      "volume_quality": 12.0,
      "rvol": 1.76,
      "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.74,
      "spread_liquidity": 4.62,
      "momentum_consistency": 3.72,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.745,
      "vwap": 8.6971,
      "vwap_slope": 0.0244,
      "rvol": 0.74,
      "volume_acceleration": 2.26,
      "premarket_volume": 367690.0,
      "momentum_pct": -0.23,
      "consolidation_tightness_pct": 0.34,
      "distance_from_pm_high_pct": 0.34,
      "extension_from_vwap_pct": 0.55,
      "spread_pct": 0.11
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 8.775,
    "pm_low": 8.62
  },
  {
    "symbol": "TK",
    "total_score": 64.14,
    "raw_score": 67.99,
    "breakdown": {
      "price_quality": 2.75,
      "volume_quality": 11.99,
      "rvol": 0.48,
      "volume_acceleration": 4.12,
      "price_momentum": 0.59,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.88,
      "spread_liquidity": 3.91,
      "momentum_consistency": 2.29,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.25,
      "vwap": 12.1936,
      "vwap_slope": 0.0058,
      "rvol": 0.2,
      "volume_acceleration": 1.41,
      "premarket_volume": 99887.0,
      "momentum_pct": 0.39,
      "consolidation_tightness_pct": 0.47,
      "distance_from_pm_high_pct": 0.16,
      "extension_from_vwap_pct": 0.46,
      "spread_pct": 0.33
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 12.27,
    "pm_low": 12.14
  },
  {
    "symbol": "CLBT",
    "total_score": 64.04,
    "raw_score": 67.89,
    "breakdown": {
      "price_quality": 3.4,
      "volume_quality": 12.0,
      "rvol": 2.49,
      "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.81,
      "spread_liquidity": 4.71,
      "momentum_consistency": 3.08,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.6,
      "vwap": 11.5607,
      "vwap_slope": 0.0079,
      "rvol": 1.04,
      "volume_acceleration": 4.52,
      "premarket_volume": 518914.0,
      "momentum_pct": -0.17,
      "consolidation_tightness_pct": 0.26,
      "distance_from_pm_high_pct": 0.26,
      "extension_from_vwap_pct": 0.34,
      "spread_pct": 0.09
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 11.63,
    "pm_low": 11.51
  },
  {
    "symbol": "TDAY",
    "total_score": 63.96,
    "raw_score": 67.8,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 0.86,
      "volume_acceleration": 3.65,
      "price_momentum": 0.29,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.97,
      "spread_liquidity": 4.49,
      "momentum_consistency": 3.04,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.4777,
      "vwap": 6.456,
      "vwap_slope": 0.0043,
      "rvol": 0.36,
      "volume_acceleration": 1.05,
      "premarket_volume": 179945.0,
      "momentum_pct": 0.2,
      "consolidation_tightness_pct": 0.39,
      "distance_from_pm_high_pct": 0.04,
      "extension_from_vwap_pct": 0.34,
      "spread_pct": 0.15
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 6.48,
    "pm_low": 6.43
  },
  {
    "symbol": "FIGS",
    "total_score": 63.68,
    "raw_score": 67.5,
    "breakdown": {
      "price_quality": 0.0,
      "volume_quality": 12.0,
      "rvol": 0.93,
      "volume_acceleration": 3.67,
      "price_momentum": 0.25,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.88,
      "spread_liquidity": 4.78,
      "momentum_consistency": 4.0,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 15.225,
      "vwap": 15.2037,
      "vwap_slope": 0.0012,
      "rvol": 0.39,
      "volume_acceleration": 1.05,
      "premarket_volume": 193779.0,
      "momentum_pct": 0.16,
      "consolidation_tightness_pct": 0.23,
      "distance_from_pm_high_pct": 0.16,
      "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": 15.25,
    "pm_low": 15.15
  },
  {
    "symbol": "LFST",
    "total_score": 63.07,
    "raw_score": 66.85,
    "breakdown": {
      "price_quality": 2.76,
      "volume_quality": 12.0,
      "rvol": 2.96,
      "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.38,
      "spread_liquidity": 4.73,
      "momentum_consistency": 2.62,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.2363,
      "vwap": 12.227,
      "vwap_slope": 0.0761,
      "rvol": 1.23,
      "volume_acceleration": 5.22,
      "premarket_volume": 616581.0,
      "momentum_pct": -0.15,
      "consolidation_tightness_pct": 0.25,
      "distance_from_pm_high_pct": 0.82,
      "extension_from_vwap_pct": 0.08,
      "spread_pct": 0.08
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 12.338,
    "pm_low": 12.13
  },
  {
    "symbol": "CPRI",
    "total_score": 62.51,
    "raw_score": 66.26,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 2.38,
      "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.75,
      "spread_liquidity": 4.76,
      "momentum_consistency": 3.25,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.675,
      "vwap": 13.6479,
      "vwap_slope": 0.0134,
      "rvol": 0.99,
      "volume_acceleration": 2.49,
      "premarket_volume": 495124.0,
      "momentum_pct": 0.15,
      "consolidation_tightness_pct": 0.62,
      "distance_from_pm_high_pct": 0.33,
      "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": true,
      "vwap_rising": true
    },
    "pm_high": 13.72,
    "pm_low": 13.56
  },
  {
    "symbol": "LTBR",
    "total_score": 62.46,
    "raw_score": 66.21,
    "breakdown": {
      "price_quality": 3.09,
      "volume_quality": 4.66,
      "rvol": 0.19,
      "volume_acceleration": 8.94,
      "price_momentum": 0.0,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.77,
      "spread_liquidity": 4.18,
      "momentum_consistency": 3.38,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.09,
      "vwap": 8.0761,
      "vwap_slope": 0.0039,
      "rvol": 0.08,
      "volume_acceleration": 1.89,
      "premarket_volume": 38871.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.31,
      "distance_from_pm_high_pct": 0.31,
      "extension_from_vwap_pct": 0.17,
      "spread_pct": 0.25
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 8.115,
    "pm_low": 8.035
  },
  {
    "symbol": "ADMA",
    "total_score": 62.35,
    "raw_score": 66.09,
    "breakdown": {
      "price_quality": 4.68,
      "volume_quality": 12.0,
      "rvol": 0.94,
      "volume_acceleration": 10,
      "price_momentum": 0.08,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.65,
      "spread_liquidity": 4.66,
      "momentum_consistency": 1.69,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.675,
      "vwap": 9.672,
      "vwap_slope": 0.0006,
      "rvol": 0.39,
      "volume_acceleration": 5.05,
      "premarket_volume": 195118.0,
      "momentum_pct": 0.05,
      "consolidation_tightness_pct": 0.07,
      "distance_from_pm_high_pct": 0.46,
      "extension_from_vwap_pct": 0.03,
      "spread_pct": 0.1
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 9.72,
    "pm_low": 9.61
  },
  {
    "symbol": "NOMD",
    "total_score": 62.3,
    "raw_score": 66.04,
    "breakdown": {
      "price_quality": 2.79,
      "volume_quality": 12.0,
      "rvol": 1.17,
      "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.63,
      "spread_liquidity": 4.73,
      "momentum_consistency": 3.32,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.21,
      "vwap": 12.1367,
      "vwap_slope": 0.0362,
      "rvol": 0.49,
      "volume_acceleration": 2.57,
      "premarket_volume": 244555.0,
      "momentum_pct": -0.12,
      "consolidation_tightness_pct": 0.53,
      "distance_from_pm_high_pct": 0.49,
      "extension_from_vwap_pct": 0.6,
      "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.27,
    "pm_low": 12.04
  },
  {
    "symbol": "BBDC",
    "total_score": 61.68,
    "raw_score": 65.38,
    "breakdown": {
      "price_quality": 4.35,
      "volume_quality": 11.64,
      "rvol": 0.47,
      "volume_acceleration": 10,
      "price_momentum": 0.08,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.96,
      "spread_liquidity": 4.64,
      "momentum_consistency": 1.85,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.345,
      "vwap": 9.3372,
      "vwap_slope": 0.0028,
      "rvol": 0.19,
      "volume_acceleration": 2.07,
      "premarket_volume": 96997.0,
      "momentum_pct": 0.05,
      "consolidation_tightness_pct": 0.16,
      "distance_from_pm_high_pct": 0.05,
      "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.3499,
    "pm_low": 9.325
  },
  {
    "symbol": "RITM",
    "total_score": 61.25,
    "raw_score": 64.93,
    "breakdown": {
      "price_quality": 4.89,
      "volume_quality": 12.0,
      "rvol": 2.14,
      "volume_acceleration": 6.32,
      "price_momentum": 0.06,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.96,
      "spread_liquidity": 4.67,
      "momentum_consistency": 2.48,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.105,
      "vwap": 10.1013,
      "vwap_slope": 0.0014,
      "rvol": 0.89,
      "volume_acceleration": 1.63,
      "premarket_volume": 445166.0,
      "momentum_pct": 0.04,
      "consolidation_tightness_pct": 0.15,
      "distance_from_pm_high_pct": 0.05,
      "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": true
    },
    "pm_high": 10.11,
    "pm_low": 10.08
  },
  {
    "symbol": "BB",
    "total_score": 61.13,
    "raw_score": 64.8,
    "breakdown": {
      "price_quality": 2.82,
      "volume_quality": 12.0,
      "rvol": 4.35,
      "volume_acceleration": 6.0,
      "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.57,
      "momentum_consistency": 2.76,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.815,
      "vwap": 7.7938,
      "vwap_slope": 0.006,
      "rvol": 1.63,
      "volume_acceleration": 1.6,
      "premarket_volume": 815086.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.19,
      "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": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 7.825,
    "pm_low": 7.75
  },
  {
    "symbol": "SBET",
    "total_score": 61.1,
    "raw_score": 64.77,
    "breakdown": {
      "price_quality": 3.35,
      "volume_quality": 12.0,
      "rvol": 2.0,
      "volume_acceleration": 6.29,
      "price_momentum": 0.45,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.96,
      "spread_liquidity": 4.6,
      "momentum_consistency": 3.72,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.345,
      "vwap": 8.3042,
      "vwap_slope": 0.0138,
      "rvol": 0.83,
      "volume_acceleration": 1.63,
      "premarket_volume": 416958.0,
      "momentum_pct": 0.3,
      "consolidation_tightness_pct": 0.42,
      "distance_from_pm_high_pct": 0.06,
      "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.35,
    "pm_low": 8.25
  },
  {
    "symbol": "FSK",
    "total_score": 60.95,
    "raw_score": 64.6,
    "breakdown": {
      "price_quality": 2.79,
      "volume_quality": 12.0,
      "rvol": 0.97,
      "volume_acceleration": 9.2,
      "price_momentum": 0.2,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 6,
      "spread_liquidity": 4.73,
      "momentum_consistency": 2.33,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.215,
      "vwap": 12.2015,
      "vwap_slope": 0.0058,
      "rvol": 0.4,
      "volume_acceleration": 1.92,
      "premarket_volume": 201126.0,
      "momentum_pct": 0.13,
      "consolidation_tightness_pct": 0.18,
      "distance_from_pm_high_pct": 0.0,
      "extension_from_vwap_pct": 0.11,
      "spread_pct": 0.08
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 12.215,
    "pm_low": 12.175
  },
  {
    "symbol": "OGN",
    "total_score": 60.89,
    "raw_score": 64.54,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 9.73,
      "volume_acceleration": 2.34,
      "price_momentum": 0.05,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.97,
      "spread_liquidity": 4.76,
      "momentum_consistency": 1.79,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.765,
      "vwap": 13.7602,
      "vwap_slope": 0.0005,
      "rvol": 3.65,
      "volume_acceleration": 0.67,
      "premarket_volume": 1824243.0,
      "momentum_pct": 0.03,
      "consolidation_tightness_pct": 0.07,
      "distance_from_pm_high_pct": 0.04,
      "extension_from_vwap_pct": 0.03,
      "spread_pct": 0.07
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 13.77,
    "pm_low": 13.74
  },
  {
    "symbol": "CLSK",
    "total_score": 60.86,
    "raw_score": 64.51,
    "breakdown": {
      "price_quality": 2.7,
      "volume_quality": 12.0,
      "rvol": 5.76,
      "volume_acceleration": 3.42,
      "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.45,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.305,
      "vwap": 12.2399,
      "vwap_slope": 0.0148,
      "rvol": 2.16,
      "volume_acceleration": 1.34,
      "premarket_volume": 1079945.0,
      "momentum_pct": 0.12,
      "consolidation_tightness_pct": 0.28,
      "distance_from_pm_high_pct": 0.16,
      "extension_from_vwap_pct": 0.53,
      "spread_pct": 0.08
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 12.325,
    "pm_low": 12.19
  },
  {
    "symbol": "OBDC",
    "total_score": 60.57,
    "raw_score": 64.21,
    "breakdown": {
      "price_quality": 3.71,
      "volume_quality": 12.0,
      "rvol": 1.47,
      "volume_acceleration": 7.72,
      "price_momentum": 0.13,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.97,
      "spread_liquidity": 4.7,
      "momentum_consistency": 2.11,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.285,
      "vwap": 11.2741,
      "vwap_slope": 0.002,
      "rvol": 0.61,
      "volume_acceleration": 1.77,
      "premarket_volume": 305484.0,
      "momentum_pct": 0.09,
      "consolidation_tightness_pct": 0.13,
      "distance_from_pm_high_pct": 0.04,
      "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.29,
    "pm_low": 11.265
  },
  {
    "symbol": "RUN",
    "total_score": 60.51,
    "raw_score": 64.14,
    "breakdown": {
      "price_quality": 4.04,
      "volume_quality": 12.0,
      "rvol": 1.87,
      "volume_acceleration": 5.91,
      "price_momentum": 0.17,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.88,
      "spread_liquidity": 4.63,
      "momentum_consistency": 3.25,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.035,
      "vwap": 9.0223,
      "vwap_slope": 0.0013,
      "rvol": 0.78,
      "volume_acceleration": 1.59,
      "premarket_volume": 389720.0,
      "momentum_pct": 0.11,
      "consolidation_tightness_pct": 0.17,
      "distance_from_pm_high_pct": 0.17,
      "extension_from_vwap_pct": 0.14,
      "spread_pct": 0.11
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 9.05,
    "pm_low": 8.97
  },
  {
    "symbol": "BTGO",
    "total_score": 60.41,
    "raw_score": 64.03,
    "breakdown": {
      "price_quality": 2.03,
      "volume_quality": 8.2,
      "rvol": 0.33,
      "volume_acceleration": 3.99,
      "price_momentum": 0.43,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.84,
      "spread_liquidity": 4.05,
      "momentum_consistency": 3.16,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.03,
      "vwap": 7.0141,
      "vwap_slope": 0.0032,
      "rvol": 0.14,
      "volume_acceleration": 1.15,
      "premarket_volume": 68341.0,
      "momentum_pct": 0.29,
      "consolidation_tightness_pct": 0.28,
      "distance_from_pm_high_pct": 0.21,
      "extension_from_vwap_pct": 0.23,
      "spread_pct": 0.28
    },
    "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.045,
    "pm_low": 6.98
  },
  {
    "symbol": "SLDB",
    "total_score": 60.24,
    "raw_score": 63.85,
    "breakdown": {
      "price_quality": 4.78,
      "volume_quality": 7.37,
      "rvol": 0.29,
      "volume_acceleration": 10,
      "price_momentum": 0.23,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.81,
      "spread_liquidity": 4.32,
      "momentum_consistency": 2.25,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.78,
      "vwap": 9.767,
      "vwap_slope": -0.0031,
      "rvol": 0.12,
      "volume_acceleration": 3.14,
      "premarket_volume": 61413.0,
      "momentum_pct": 0.15,
      "consolidation_tightness_pct": 0.61,
      "distance_from_pm_high_pct": 0.25,
      "extension_from_vwap_pct": 0.13,
      "spread_pct": 0.2
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 9.805,
    "pm_low": 9.735
  },
  {
    "symbol": "RGNX",
    "total_score": 60.23,
    "raw_score": 63.85,
    "breakdown": {
      "price_quality": 4.28,
      "volume_quality": 11.95,
      "rvol": 0.48,
      "volume_acceleration": 7.68,
      "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.28,
      "momentum_consistency": 3.02,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.28,
      "vwap": 9.2436,
      "vwap_slope": 0.0227,
      "rvol": 0.2,
      "volume_acceleration": 1.77,
      "premarket_volume": 99599.0,
      "momentum_pct": -0.11,
      "consolidation_tightness_pct": 0.43,
      "distance_from_pm_high_pct": 0.32,
      "extension_from_vwap_pct": 0.39,
      "spread_pct": 0.22
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 9.31,
    "pm_low": 9.1885
  },
  {
    "symbol": "IE",
    "total_score": 59.97,
    "raw_score": 63.57,
    "breakdown": {
      "price_quality": 3.12,
      "volume_quality": 12.0,
      "rvol": 1.46,
      "volume_acceleration": 4.04,
      "price_momentum": 0.25,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.59,
      "spread_liquidity": 4.72,
      "momentum_consistency": 3.59,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.885,
      "vwap": 11.8831,
      "vwap_slope": -0.001,
      "rvol": 0.61,
      "volume_acceleration": 1.4,
      "premarket_volume": 303220.0,
      "momentum_pct": 0.17,
      "consolidation_tightness_pct": 0.55,
      "distance_from_pm_high_pct": 0.54,
      "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": true,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 11.9497,
    "pm_low": 11.805
  },
  {
    "symbol": "AGNC",
    "total_score": 59.45,
    "raw_score": 63.02,
    "breakdown": {
      "price_quality": 4.17,
      "volume_quality": 12.0,
      "rvol": 10.38,
      "volume_acceleration": 3.46,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.87,
      "spread_liquidity": 4.69,
      "momentum_consistency": 2.85,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.8312,
      "vwap": 10.8322,
      "vwap_slope": 0.0001,
      "rvol": 3.89,
      "volume_acceleration": 0.99,
      "premarket_volume": 1947031.0,
      "momentum_pct": -0.08,
      "consolidation_tightness_pct": 0.18,
      "distance_from_pm_high_pct": 0.17,
      "extension_from_vwap_pct": -0.01,
      "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": true
    },
    "pm_high": 10.85,
    "pm_low": 10.82
  },
  {
    "symbol": "RDW",
    "total_score": 59.44,
    "raw_score": 63.01,
    "breakdown": {
      "price_quality": 3.71,
      "volume_quality": 12.0,
      "rvol": 3.12,
      "volume_acceleration": 2.97,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.83,
      "spread_liquidity": 4.7,
      "momentum_consistency": 4.28,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.29,
      "vwap": 11.258,
      "vwap_slope": 0.0108,
      "rvol": 1.3,
      "volume_acceleration": 1.3,
      "premarket_volume": 649359.0,
      "momentum_pct": -0.12,
      "consolidation_tightness_pct": 0.35,
      "distance_from_pm_high_pct": 0.22,
      "extension_from_vwap_pct": 0.28,
      "spread_pct": 0.09
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 11.315,
    "pm_low": 11.22
  },
  {
    "symbol": "EQX",
    "total_score": 59.23,
    "raw_score": 62.78,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 4.59,
      "volume_acceleration": 4.06,
      "price_momentum": 0.11,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.92,
      "spread_liquidity": 4.76,
      "momentum_consistency": 3.45,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.735,
      "vwap": 13.716,
      "vwap_slope": 0.0009,
      "rvol": 1.72,
      "volume_acceleration": 1.41,
      "premarket_volume": 859705.0,
      "momentum_pct": 0.07,
      "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": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 13.75,
    "pm_low": 13.69
  },
  {
    "symbol": "BETR",
    "total_score": 58.73,
    "raw_score": 62.25,
    "breakdown": {
      "price_quality": 1.59,
      "volume_quality": 12.0,
      "rvol": 0.74,
      "volume_acceleration": 0.53,
      "price_momentum": 0.45,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.5,
      "spread_liquidity": 1.76,
      "momentum_consistency": 3.68,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.41,
      "vwap": 13.3259,
      "vwap_slope": 0.0067,
      "rvol": 0.31,
      "volume_acceleration": 0.15,
      "premarket_volume": 154019.0,
      "momentum_pct": 0.3,
      "consolidation_tightness_pct": 0.52,
      "distance_from_pm_high_pct": 0.67,
      "extension_from_vwap_pct": 0.63,
      "spread_pct": 0.97
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 13.5,
    "pm_low": 13.14
  },
  {
    "symbol": "VITL",
    "total_score": 58.45,
    "raw_score": 61.95,
    "breakdown": {
      "price_quality": 4.02,
      "volume_quality": 9.51,
      "rvol": 0.38,
      "volume_acceleration": 7.84,
      "price_momentum": 0.27,
      "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": 2.91,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.985,
      "vwap": 10.9668,
      "vwap_slope": 0.003,
      "rvol": 0.16,
      "volume_acceleration": 1.78,
      "premarket_volume": 79225.0,
      "momentum_pct": 0.18,
      "consolidation_tightness_pct": 0.32,
      "distance_from_pm_high_pct": 0.09,
      "extension_from_vwap_pct": 0.17,
      "spread_pct": 0.09
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 10.995,
    "pm_low": 10.935
  },
  {
    "symbol": "GO",
    "total_score": 58.44,
    "raw_score": 61.94,
    "breakdown": {
      "price_quality": 2.84,
      "volume_quality": 12.0,
      "rvol": 1.48,
      "volume_acceleration": 5.49,
      "price_momentum": 0.31,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.94,
      "spread_liquidity": 4.73,
      "momentum_consistency": 2.76,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.165,
      "vwap": 12.1531,
      "vwap_slope": 0.0025,
      "rvol": 0.62,
      "volume_acceleration": 1.55,
      "premarket_volume": 309311.0,
      "momentum_pct": 0.21,
      "consolidation_tightness_pct": 0.21,
      "distance_from_pm_high_pct": 0.08,
      "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.175,
    "pm_low": 12.125
  },
  {
    "symbol": "RKT",
    "total_score": 58.41,
    "raw_score": 61.92,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 10.1,
      "volume_acceleration": 2.22,
      "price_momentum": 0.37,
      "price_structure": 12,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.65,
      "spread_liquidity": 4.76,
      "momentum_consistency": 3.31,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.005,
      "vwap": 14.0202,
      "vwap_slope": -0.0058,
      "rvol": 3.79,
      "volume_acceleration": 0.64,
      "premarket_volume": 1892853.0,
      "momentum_pct": 0.25,
      "consolidation_tightness_pct": 0.36,
      "distance_from_pm_high_pct": 0.46,
      "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": true,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 14.07,
    "pm_low": 13.96
  },
  {
    "symbol": "BRBR",
    "total_score": 58.39,
    "raw_score": 61.89,
    "breakdown": {
      "price_quality": 4.3,
      "volume_quality": 12.0,
      "rvol": 1.29,
      "volume_acceleration": 4.69,
      "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.69,
      "momentum_consistency": 2.76,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.695,
      "vwap": 10.6842,
      "vwap_slope": 0.008,
      "rvol": 0.54,
      "volume_acceleration": 1.47,
      "premarket_volume": 268823.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.14,
      "distance_from_pm_high_pct": 0.33,
      "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": 10.73,
    "pm_low": 10.635
  },
  {
    "symbol": "RSKD",
    "total_score": 58.36,
    "raw_score": 61.86,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 0.78,
      "volume_acceleration": 8.51,
      "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.44,
      "momentum_consistency": 2.35,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.98,
      "vwap": 5.9723,
      "vwap_slope": 0.0113,
      "rvol": 0.32,
      "volume_acceleration": 1.85,
      "premarket_volume": 161992.0,
      "momentum_pct": -0.08,
      "consolidation_tightness_pct": 0.25,
      "distance_from_pm_high_pct": 0.17,
      "extension_from_vwap_pct": 0.13,
      "spread_pct": 0.17
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 5.99,
    "pm_low": 5.95
  },
  {
    "symbol": "UPWK",
    "total_score": 58.29,
    "raw_score": 61.79,
    "breakdown": {
      "price_quality": 3.68,
      "volume_quality": 12.0,
      "rvol": 1.09,
      "volume_acceleration": 6.04,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.83,
      "spread_liquidity": 4.62,
      "momentum_consistency": 2.14,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.68,
      "vwap": 8.668,
      "vwap_slope": 0.0055,
      "rvol": 0.45,
      "volume_acceleration": 1.6,
      "premarket_volume": 226203.0,
      "momentum_pct": -0.06,
      "consolidation_tightness_pct": 0.17,
      "distance_from_pm_high_pct": 0.23,
      "extension_from_vwap_pct": 0.14,
      "spread_pct": 0.12
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 8.7,
    "pm_low": 8.6409
  },
  {
    "symbol": "BKKT",
    "total_score": 58.24,
    "raw_score": 61.73,
    "breakdown": {
      "price_quality": 3.35,
      "volume_quality": 6.31,
      "rvol": 0.25,
      "volume_acceleration": 2.53,
      "price_momentum": 0.18,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.92,
      "spread_liquidity": 4.6,
      "momentum_consistency": 2.59,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.35,
      "vwap": 8.3179,
      "vwap_slope": 0.0058,
      "rvol": 0.11,
      "volume_acceleration": 0.73,
      "premarket_volume": 52592.0,
      "momentum_pct": 0.12,
      "consolidation_tightness_pct": 0.29,
      "distance_from_pm_high_pct": 0.11,
      "extension_from_vwap_pct": 0.39,
      "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.3591,
    "pm_low": 8.28
  },
  {
    "symbol": "BIOA",
    "total_score": 58.07,
    "raw_score": 61.55,
    "breakdown": {
      "price_quality": 4.84,
      "volume_quality": 7.52,
      "rvol": 0.3,
      "volume_acceleration": 9.03,
      "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.32,
      "momentum_consistency": 3.37,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.84,
      "vwap": 9.8332,
      "vwap_slope": 0.0072,
      "rvol": 0.13,
      "volume_acceleration": 1.9,
      "premarket_volume": 62630.0,
      "momentum_pct": -0.1,
      "consolidation_tightness_pct": 0.51,
      "distance_from_pm_high_pct": 0.3,
      "extension_from_vwap_pct": 0.07,
      "spread_pct": 0.2
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 9.87,
    "pm_low": 9.78
  },
  {
    "symbol": "IBRX",
    "total_score": 57.83,
    "raw_score": 61.3,
    "breakdown": {
      "price_quality": 3.26,
      "volume_quality": 12.0,
      "rvol": 3.38,
      "volume_acceleration": 3.05,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.95,
      "spread_liquidity": 4.6,
      "momentum_consistency": 2.67,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.255,
      "vwap": 8.2217,
      "vwap_slope": 0.0068,
      "rvol": 1.41,
      "volume_acceleration": 0.88,
      "premarket_volume": 703554.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.3,
      "distance_from_pm_high_pct": 0.06,
      "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": true
    },
    "pm_high": 8.26,
    "pm_low": 8.19
  },
  {
    "symbol": "SVV",
    "total_score": 57.82,
    "raw_score": 61.29,
    "breakdown": {
      "price_quality": 4.12,
      "volume_quality": 12.0,
      "rvol": 0.5,
      "volume_acceleration": 4.19,
      "price_momentum": 0.35,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.97,
      "spread_liquidity": 4.69,
      "momentum_consistency": 3.08,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.88,
      "vwap": 10.8338,
      "vwap_slope": 0.0173,
      "rvol": 0.21,
      "volume_acceleration": 1.42,
      "premarket_volume": 103770.0,
      "momentum_pct": 0.23,
      "consolidation_tightness_pct": 0.28,
      "distance_from_pm_high_pct": 0.05,
      "extension_from_vwap_pct": 0.43,
      "spread_pct": 0.09
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 10.885,
    "pm_low": 10.785
  },
  {
    "symbol": "SNAP",
    "total_score": 57.5,
    "raw_score": 60.95,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 12.0,
      "volume_acceleration": 2.95,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.34,
      "spread_liquidity": 4.39,
      "momentum_consistency": 3.17,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.4415,
      "vwap": 5.4453,
      "vwap_slope": 0.0006,
      "rvol": 13.4,
      "volume_acceleration": 0.85,
      "premarket_volume": 6700194.0,
      "momentum_pct": -0.06,
      "consolidation_tightness_pct": 0.37,
      "distance_from_pm_high_pct": 0.88,
      "extension_from_vwap_pct": -0.07,
      "spread_pct": 0.18
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": true
    },
    "pm_high": 5.49,
    "pm_low": 5.405
  },
  {
    "symbol": "FLO",
    "total_score": 57.45,
    "raw_score": 60.9,
    "breakdown": {
      "price_quality": 2.21,
      "volume_quality": 12.0,
      "rvol": 3.41,
      "volume_acceleration": 4.95,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.74,
      "spread_liquidity": 4.54,
      "momentum_consistency": 1.66,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.205,
      "vwap": 7.1964,
      "vwap_slope": 0.0074,
      "rvol": 1.42,
      "volume_acceleration": 1.5,
      "premarket_volume": 709806.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.28,
      "distance_from_pm_high_pct": 0.35,
      "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": 7.23,
    "pm_low": 7.17
  },
  {
    "symbol": "FLNC",
    "total_score": 57.2,
    "raw_score": 60.63,
    "breakdown": {
      "price_quality": 3.95,
      "volume_quality": 12.0,
      "rvol": 2.08,
      "volume_acceleration": 1.89,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.9,
      "spread_liquidity": 4.7,
      "momentum_consistency": 3.72,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.055,
      "vwap": 11.0086,
      "vwap_slope": 0.0116,
      "rvol": 0.87,
      "volume_acceleration": 1.19,
      "premarket_volume": 432636.0,
      "momentum_pct": -0.09,
      "consolidation_tightness_pct": 0.27,
      "distance_from_pm_high_pct": 0.14,
      "extension_from_vwap_pct": 0.42,
      "spread_pct": 0.09
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 11.07,
    "pm_low": 10.93
  },
  {
    "symbol": "TIC",
    "total_score": 57.03,
    "raw_score": 60.45,
    "breakdown": {
      "price_quality": 4.77,
      "volume_quality": 12.0,
      "rvol": 0.79,
      "volume_acceleration": 3.74,
      "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.66,
      "momentum_consistency": 2.21,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.77,
      "vwap": 9.7534,
      "vwap_slope": 0.0021,
      "rvol": 0.33,
      "volume_acceleration": 1.08,
      "premarket_volume": 163906.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.1,
      "distance_from_pm_high_pct": 0.15,
      "extension_from_vwap_pct": 0.17,
      "spread_pct": 0.1
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 9.785,
    "pm_low": 9.68
  },
  {
    "symbol": "TASK",
    "total_score": 56.94,
    "raw_score": 60.36,
    "breakdown": {
      "price_quality": 2.78,
      "volume_quality": 4.7,
      "rvol": 0.19,
      "volume_acceleration": 10,
      "price_momentum": 0.39,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.81,
      "spread_liquidity": 4.57,
      "momentum_consistency": 3.13,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.78,
      "vwap": 7.7769,
      "vwap_slope": -0.0081,
      "rvol": 0.08,
      "volume_acceleration": 2.95,
      "premarket_volume": 39130.0,
      "momentum_pct": 0.26,
      "consolidation_tightness_pct": 0.39,
      "distance_from_pm_high_pct": 0.26,
      "extension_from_vwap_pct": 0.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": false
    },
    "pm_high": 7.8,
    "pm_low": 7.75
  },
  {
    "symbol": "VISN",
    "total_score": 56.92,
    "raw_score": 60.34,
    "breakdown": {
      "price_quality": 3.94,
      "volume_quality": 12.0,
      "rvol": 2.58,
      "volume_acceleration": 1.75,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.83,
      "spread_liquidity": 4.7,
      "momentum_consistency": 3.14,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.065,
      "vwap": 11.059,
      "vwap_slope": 0.0023,
      "rvol": 1.08,
      "volume_acceleration": 1.17,
      "premarket_volume": 538485.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.18,
      "distance_from_pm_high_pct": 0.23,
      "extension_from_vwap_pct": 0.05,
      "spread_pct": 0.09
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 11.09,
    "pm_low": 11.02
  },
  {
    "symbol": "QS",
    "total_score": 56.92,
    "raw_score": 60.33,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 8.82,
      "volume_acceleration": 6.04,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.74,
      "spread_liquidity": 4.42,
      "momentum_consistency": 2.62,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.74,
      "vwap": 5.7378,
      "vwap_slope": -0.0001,
      "rvol": 3.31,
      "volume_acceleration": 1.6,
      "premarket_volume": 1653128.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.17,
      "distance_from_pm_high_pct": 0.35,
      "extension_from_vwap_pct": 0.04,
      "spread_pct": 0.17
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 5.76,
    "pm_low": 5.71
  },
  {
    "symbol": "RCAT",
    "total_score": 56.9,
    "raw_score": 60.31,
    "breakdown": {
      "price_quality": 3.94,
      "volume_quality": 12.0,
      "rvol": 1.32,
      "volume_acceleration": 2.57,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.96,
      "spread_liquidity": 4.63,
      "momentum_consistency": 3.51,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.935,
      "vwap": 8.8938,
      "vwap_slope": 0.0053,
      "rvol": 0.55,
      "volume_acceleration": 0.74,
      "premarket_volume": 274217.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.17,
      "distance_from_pm_high_pct": 0.06,
      "extension_from_vwap_pct": 0.46,
      "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.94,
    "pm_low": 8.84
  },
  {
    "symbol": "SMWB",
    "total_score": 56.85,
    "raw_score": 60.26,
    "breakdown": {
      "price_quality": 3.99,
      "volume_quality": 12.0,
      "rvol": 0.67,
      "volume_acceleration": 4.67,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.88,
      "spread_liquidity": 4.26,
      "momentum_consistency": 2.4,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.99,
      "vwap": 8.9862,
      "vwap_slope": 0.0114,
      "rvol": 0.28,
      "volume_acceleration": 1.47,
      "premarket_volume": 138588.0,
      "momentum_pct": -0.11,
      "consolidation_tightness_pct": 0.17,
      "distance_from_pm_high_pct": 0.17,
      "extension_from_vwap_pct": 0.04,
      "spread_pct": 0.22
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 9.005,
    "pm_low": 8.96
  },
  {
    "symbol": "GPGI",
    "total_score": 56.71,
    "raw_score": 60.11,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 0.9,
      "volume_acceleration": 5.71,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.83,
      "spread_liquidity": 4.51,
      "momentum_consistency": 3.25,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.6,
      "vwap": 13.5811,
      "vwap_slope": 0.0146,
      "rvol": 0.38,
      "volume_acceleration": 1.57,
      "premarket_volume": 188315.0,
      "momentum_pct": -0.15,
      "consolidation_tightness_pct": 0.29,
      "distance_from_pm_high_pct": 0.22,
      "extension_from_vwap_pct": 0.14,
      "spread_pct": 0.15
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 13.63,
    "pm_low": 13.51
  },
  {
    "symbol": "TAL",
    "total_score": 56.69,
    "raw_score": 60.09,
    "breakdown": {
      "price_quality": 3.27,
      "volume_quality": 12.0,
      "rvol": 1.24,
      "volume_acceleration": 4.63,
      "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.72,
      "momentum_consistency": 1.93,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.735,
      "vwap": 11.7153,
      "vwap_slope": 0.0077,
      "rvol": 0.52,
      "volume_acceleration": 1.46,
      "premarket_volume": 258746.0,
      "momentum_pct": -0.13,
      "consolidation_tightness_pct": 0.21,
      "distance_from_pm_high_pct": 0.13,
      "extension_from_vwap_pct": 0.17,
      "spread_pct": 0.08
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 11.75,
    "pm_low": 11.69
  },
  {
    "symbol": "SHLS",
    "total_score": 56.57,
    "raw_score": 59.96,
    "breakdown": {
      "price_quality": 2.28,
      "volume_quality": 12.0,
      "rvol": 4.25,
      "volume_acceleration": 1.62,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.85,
      "spread_liquidity": 4.54,
      "momentum_consistency": 3.03,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.275,
      "vwap": 7.2502,
      "vwap_slope": 0.0036,
      "rvol": 1.59,
      "volume_acceleration": 1.16,
      "premarket_volume": 796158.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.41,
      "distance_from_pm_high_pct": 0.21,
      "extension_from_vwap_pct": 0.34,
      "spread_pct": 0.14
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 7.29,
    "pm_low": 7.2
  },
  {
    "symbol": "DUOT",
    "total_score": 56.55,
    "raw_score": 59.95,
    "breakdown": {
      "price_quality": 5.0,
      "volume_quality": 5.99,
      "rvol": 0.24,
      "volume_acceleration": 10,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.85,
      "spread_liquidity": 3.67,
      "momentum_consistency": 2.8,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.0,
      "vwap": 9.9645,
      "vwap_slope": 0.0194,
      "rvol": 0.1,
      "volume_acceleration": 2.48,
      "premarket_volume": 49907.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.6,
      "distance_from_pm_high_pct": 0.2,
      "extension_from_vwap_pct": 0.36,
      "spread_pct": 0.4
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 10.02,
    "pm_low": 9.9
  },
  {
    "symbol": "NTSK",
    "total_score": 56.45,
    "raw_score": 59.83,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 2.44,
      "volume_acceleration": 3.29,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.79,
      "spread_liquidity": 4.76,
      "momentum_consistency": 3.66,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.915,
      "vwap": 13.8844,
      "vwap_slope": 0.0112,
      "rvol": 1.02,
      "volume_acceleration": 0.94,
      "premarket_volume": 508502.0,
      "momentum_pct": -0.18,
      "consolidation_tightness_pct": 0.32,
      "distance_from_pm_high_pct": 0.29,
      "extension_from_vwap_pct": 0.22,
      "spread_pct": 0.07
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 13.955,
    "pm_low": 13.775
  },
  {
    "symbol": "LADR",
    "total_score": 56.44,
    "raw_score": 59.83,
    "breakdown": {
      "price_quality": 4.94,
      "volume_quality": 6.15,
      "rvol": 0.25,
      "volume_acceleration": 10,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.96,
      "spread_liquidity": 4.66,
      "momentum_consistency": 1.47,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.935,
      "vwap": 9.9272,
      "vwap_slope": 0.0012,
      "rvol": 0.1,
      "volume_acceleration": 2.19,
      "premarket_volume": 51274.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.0,
      "distance_from_pm_high_pct": 0.05,
      "extension_from_vwap_pct": 0.08,
      "spread_pct": 0.1
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 9.94,
    "pm_low": 9.915
  },
  {
    "symbol": "NMAX",
    "total_score": 56.44,
    "raw_score": 59.83,
    "breakdown": {
      "price_quality": 4.47,
      "volume_quality": 8.33,
      "rvol": 0.33,
      "volume_acceleration": 6.3,
      "price_momentum": 0.5,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 6,
      "spread_liquidity": 4.05,
      "momentum_consistency": 3.45,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.53,
      "vwap": 10.4848,
      "vwap_slope": 0.002,
      "rvol": 0.14,
      "volume_acceleration": 1.63,
      "premarket_volume": 69378.0,
      "momentum_pct": 0.33,
      "consolidation_tightness_pct": 0.48,
      "distance_from_pm_high_pct": 0.0,
      "extension_from_vwap_pct": 0.43,
      "spread_pct": 0.29
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 10.53,
    "pm_low": 10.44
  },
  {
    "symbol": "EOLS",
    "total_score": 56.21,
    "raw_score": 59.58,
    "breakdown": {
      "price_quality": 4.02,
      "volume_quality": 12.0,
      "rvol": 1.01,
      "volume_acceleration": 3.51,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.75,
      "spread_liquidity": 4.63,
      "momentum_consistency": 2.26,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.015,
      "vwap": 9.0116,
      "vwap_slope": 0.0006,
      "rvol": 0.42,
      "volume_acceleration": 1.01,
      "premarket_volume": 211351.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.06,
      "distance_from_pm_high_pct": 0.33,
      "extension_from_vwap_pct": 0.04,
      "spread_pct": 0.11
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 9.045,
    "pm_low": 8.97
  },
  {
    "symbol": "ALLT",
    "total_score": 56.21,
    "raw_score": 59.58,
    "breakdown": {
      "price_quality": 2.84,
      "volume_quality": 4.85,
      "rvol": 0.19,
      "volume_acceleration": 1.54,
      "price_momentum": 0.77,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 6,
      "spread_liquidity": 3.72,
      "momentum_consistency": 3.67,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.84,
      "vwap": 7.7822,
      "vwap_slope": 0.0252,
      "rvol": 0.08,
      "volume_acceleration": 1.15,
      "premarket_volume": 40436.0,
      "momentum_pct": 0.51,
      "consolidation_tightness_pct": 0.77,
      "distance_from_pm_high_pct": 0.0,
      "extension_from_vwap_pct": 0.74,
      "spread_pct": 0.38
    },
    "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.84,
    "pm_low": 7.74
  },
  {
    "symbol": "QMLS",
    "total_score": 56.15,
    "raw_score": 59.52,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 8.81,
      "rvol": 0.35,
      "volume_acceleration": 10,
      "price_momentum": 1.0,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 3.82,
      "spread_liquidity": 1.68,
      "momentum_consistency": 3.56,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.02,
      "vwap": 5.9996,
      "vwap_slope": -0.1423,
      "rvol": 0.15,
      "volume_acceleration": 6.11,
      "premarket_volume": 73401.0,
      "momentum_pct": 0.67,
      "consolidation_tightness_pct": 2.34,
      "distance_from_pm_high_pct": 2.9,
      "extension_from_vwap_pct": 0.34,
      "spread_pct": 1.0
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 6.2,
    "pm_low": 5.8701
  },
  {
    "symbol": "ALOY",
    "total_score": 56.04,
    "raw_score": 59.4,
    "breakdown": {
      "price_quality": 3.54,
      "volume_quality": 12.0,
      "rvol": 0.9,
      "volume_acceleration": 7.3,
      "price_momentum": 0.13,
      "price_structure": 12,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.42,
      "spread_liquidity": 4.42,
      "momentum_consistency": 3.69,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.46,
      "vwap": 11.4871,
      "vwap_slope": -0.0059,
      "rvol": 0.37,
      "volume_acceleration": 1.73,
      "premarket_volume": 187126.0,
      "momentum_pct": 0.09,
      "consolidation_tightness_pct": 0.39,
      "distance_from_pm_high_pct": 0.78,
      "extension_from_vwap_pct": -0.24,
      "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.55,
    "pm_low": 11.435
  },
  {
    "symbol": "ECVT",
    "total_score": 55.96,
    "raw_score": 59.32,
    "breakdown": {
      "price_quality": 4.86,
      "volume_quality": 12.0,
      "rvol": 0.78,
      "volume_acceleration": 2.69,
      "price_momentum": 0.07,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 6,
      "spread_liquidity": 4.67,
      "momentum_consistency": 1.85,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.14,
      "vwap": 10.1321,
      "vwap_slope": 0.0007,
      "rvol": 0.33,
      "volume_acceleration": 0.77,
      "premarket_volume": 163192.0,
      "momentum_pct": 0.05,
      "consolidation_tightness_pct": 0.1,
      "distance_from_pm_high_pct": 0.0,
      "extension_from_vwap_pct": 0.08,
      "spread_pct": 0.1
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 10.14,
    "pm_low": 10.115
  },
  {
    "symbol": "KD",
    "total_score": 55.92,
    "raw_score": 59.27,
    "breakdown": {
      "price_quality": 2.23,
      "volume_quality": 12.0,
      "rvol": 1.69,
      "volume_acceleration": 3.21,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.82,
      "spread_liquidity": 4.74,
      "momentum_consistency": 3.17,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.765,
      "vwap": 12.7527,
      "vwap_slope": 0.0053,
      "rvol": 0.71,
      "volume_acceleration": 1.32,
      "premarket_volume": 353030.0,
      "momentum_pct": -0.08,
      "consolidation_tightness_pct": 0.16,
      "distance_from_pm_high_pct": 0.23,
      "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.795,
    "pm_low": 12.71
  },
  {
    "symbol": "ACHR",
    "total_score": 55.85,
    "raw_score": 59.2,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 12.0,
      "volume_acceleration": 8.37,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.24,
      "spread_liquidity": 4.43,
      "momentum_consistency": 3.25,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.8899,
      "vwap": 5.9204,
      "vwap_slope": -0.007,
      "rvol": 4.73,
      "volume_acceleration": 1.84,
      "premarket_volume": 2363665.0,
      "momentum_pct": -0.17,
      "consolidation_tightness_pct": 0.34,
      "distance_from_pm_high_pct": 1.01,
      "extension_from_vwap_pct": -0.52,
      "spread_pct": 0.17
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 5.95,
    "pm_low": 5.88
  },
  {
    "symbol": "VYX",
    "total_score": 55.83,
    "raw_score": 59.18,
    "breakdown": {
      "price_quality": 3.77,
      "volume_quality": 12.0,
      "rvol": 1.93,
      "volume_acceleration": 1.91,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.66,
      "spread_liquidity": 4.62,
      "momentum_consistency": 2.9,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.765,
      "vwap": 8.7594,
      "vwap_slope": 0.0036,
      "rvol": 0.81,
      "volume_acceleration": 1.19,
      "premarket_volume": 403062.0,
      "momentum_pct": -0.11,
      "consolidation_tightness_pct": 0.34,
      "distance_from_pm_high_pct": 0.45,
      "extension_from_vwap_pct": 0.06,
      "spread_pct": 0.11
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 8.805,
    "pm_low": 8.705
  },
  {
    "symbol": "CRGY",
    "total_score": 55.81,
    "raw_score": 59.16,
    "breakdown": {
      "price_quality": 1.69,
      "volume_quality": 12.0,
      "rvol": 4.04,
      "volume_acceleration": 1.61,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.72,
      "spread_liquidity": 4.75,
      "momentum_consistency": 2.95,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.311,
      "vwap": 13.3035,
      "vwap_slope": 0.0025,
      "rvol": 1.51,
      "volume_acceleration": 0.46,
      "premarket_volume": 757111.0,
      "momentum_pct": -0.13,
      "consolidation_tightness_pct": 0.15,
      "distance_from_pm_high_pct": 0.37,
      "extension_from_vwap_pct": 0.06,
      "spread_pct": 0.08
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 13.36,
    "pm_low": 13.27
  },
  {
    "symbol": "SUJA",
    "total_score": 55.67,
    "raw_score": 59.01,
    "breakdown": {
      "price_quality": 4.59,
      "volume_quality": 12.0,
      "rvol": 0.79,
      "volume_acceleration": 10,
      "price_momentum": 0.16,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.69,
      "spread_liquidity": 2.91,
      "momentum_consistency": 3.27,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.59,
      "vwap": 9.6035,
      "vwap_slope": 0.0012,
      "rvol": 0.33,
      "volume_acceleration": 2.55,
      "premarket_volume": 164974.0,
      "momentum_pct": 0.1,
      "consolidation_tightness_pct": 0.42,
      "distance_from_pm_high_pct": 0.42,
      "extension_from_vwap_pct": -0.14,
      "spread_pct": 0.63
    },
    "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.63,
    "pm_low": 9.57
  },
  {
    "symbol": "SLS",
    "total_score": 55.66,
    "raw_score": 59.0,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 1.35,
      "volume_acceleration": 3.77,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.8,
      "spread_liquidity": 4.51,
      "momentum_consistency": 3.66,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.72,
      "vwap": 13.6984,
      "vwap_slope": 0.0059,
      "rvol": 0.56,
      "volume_acceleration": 1.09,
      "premarket_volume": 281515.0,
      "momentum_pct": -0.07,
      "consolidation_tightness_pct": 0.24,
      "distance_from_pm_high_pct": 0.26,
      "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": 13.7561,
    "pm_low": 13.6
  },
  {
    "symbol": "MFA",
    "total_score": 55.45,
    "raw_score": 58.77,
    "breakdown": {
      "price_quality": 3.84,
      "volume_quality": 12.0,
      "rvol": 0.68,
      "volume_acceleration": 2.75,
      "price_momentum": 0.08,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.96,
      "spread_liquidity": 4.62,
      "momentum_consistency": 2.43,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.835,
      "vwap": 8.8213,
      "vwap_slope": 0.0059,
      "rvol": 0.28,
      "volume_acceleration": 1.28,
      "premarket_volume": 142386.0,
      "momentum_pct": 0.06,
      "consolidation_tightness_pct": 0.06,
      "distance_from_pm_high_pct": 0.06,
      "extension_from_vwap_pct": 0.15,
      "spread_pct": 0.11
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 8.84,
    "pm_low": 8.805
  },
  {
    "symbol": "DAIC",
    "total_score": 55.15,
    "raw_score": 58.45,
    "breakdown": {
      "price_quality": 0.0,
      "volume_quality": 12.0,
      "rvol": 11.14,
      "volume_acceleration": 2.35,
      "price_momentum": 2.65,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 7.37,
      "distance_from_pm_high": 2.97,
      "spread_liquidity": 4.31,
      "momentum_consistency": 4.47,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 4.865,
      "vwap": 4.8321,
      "vwap_slope": -0.0086,
      "rvol": 4.18,
      "volume_acceleration": 0.67,
      "premarket_volume": 2088232.0,
      "momentum_pct": 1.77,
      "consolidation_tightness_pct": 3.95,
      "distance_from_pm_high_pct": 4.04,
      "extension_from_vwap_pct": 0.68,
      "spread_pct": 0.21
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 5.07,
    "pm_low": 4.53
  },
  {
    "symbol": "OWL",
    "total_score": 55.07,
    "raw_score": 58.37,
    "breakdown": {
      "price_quality": 3.06,
      "volume_quality": 12.0,
      "rvol": 6.8,
      "volume_acceleration": 3.56,
      "price_momentum": 0.13,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.87,
      "spread_liquidity": 4.72,
      "momentum_consistency": 3.03,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.94,
      "vwap": 11.9336,
      "vwap_slope": -0.0002,
      "rvol": 2.55,
      "volume_acceleration": 1.02,
      "premarket_volume": 1274836.0,
      "momentum_pct": 0.08,
      "consolidation_tightness_pct": 0.17,
      "distance_from_pm_high_pct": 0.17,
      "extension_from_vwap_pct": 0.05,
      "spread_pct": 0.08
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 11.96,
    "pm_low": 11.9
  },
  {
    "symbol": "TAC",
    "total_score": 54.99,
    "raw_score": 58.29,
    "breakdown": {
      "price_quality": 2.27,
      "volume_quality": 12.0,
      "rvol": 0.81,
      "volume_acceleration": 2.89,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.91,
      "spread_liquidity": 4.74,
      "momentum_consistency": 3.27,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.735,
      "vwap": 12.7009,
      "vwap_slope": 0.0094,
      "rvol": 0.34,
      "volume_acceleration": 0.83,
      "premarket_volume": 169783.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.2,
      "distance_from_pm_high_pct": 0.12,
      "extension_from_vwap_pct": 0.27,
      "spread_pct": 0.08
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 12.75,
    "pm_low": 12.655
  },
  {
    "symbol": "RIG",
    "total_score": 54.96,
    "raw_score": 58.25,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 12.0,
      "volume_acceleration": 8.07,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.53,
      "spread_liquidity": 4.4,
      "momentum_consistency": 2.34,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.585,
      "vwap": 5.6057,
      "vwap_slope": -0.005,
      "rvol": 6.61,
      "volume_acceleration": 1.81,
      "premarket_volume": 3303152.0,
      "momentum_pct": -0.27,
      "consolidation_tightness_pct": 0.54,
      "distance_from_pm_high_pct": 0.62,
      "extension_from_vwap_pct": -0.37,
      "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.58
  },
  {
    "symbol": "LWLG",
    "total_score": 54.91,
    "raw_score": 58.21,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 0.75,
      "volume_acceleration": 3.83,
      "price_momentum": 0.24,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.87,
      "spread_liquidity": 4.43,
      "momentum_consistency": 3.17,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.895,
      "vwap": 5.8694,
      "vwap_slope": 0.0045,
      "rvol": 0.31,
      "volume_acceleration": 1.1,
      "premarket_volume": 156031.0,
      "momentum_pct": 0.16,
      "consolidation_tightness_pct": 0.25,
      "distance_from_pm_high_pct": 0.17,
      "extension_from_vwap_pct": 0.44,
      "spread_pct": 0.17
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 5.905,
    "pm_low": 5.82
  },
  {
    "symbol": "UNIT",
    "total_score": 54.85,
    "raw_score": 58.14,
    "breakdown": {
      "price_quality": 4.8,
      "volume_quality": 9.42,
      "rvol": 0.38,
      "volume_acceleration": 3.17,
      "price_momentum": 0.07,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.96,
      "spread_liquidity": 4.67,
      "momentum_consistency": 3.26,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.195,
      "vwap": 10.1876,
      "vwap_slope": 0.0018,
      "rvol": 0.16,
      "volume_acceleration": 0.91,
      "premarket_volume": 78533.0,
      "momentum_pct": 0.05,
      "consolidation_tightness_pct": 0.15,
      "distance_from_pm_high_pct": 0.05,
      "extension_from_vwap_pct": 0.07,
      "spread_pct": 0.1
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 10.2,
    "pm_low": 10.1609
  },
  {
    "symbol": "SENS",
    "total_score": 54.85,
    "raw_score": 58.14,
    "breakdown": {
      "price_quality": 4.36,
      "volume_quality": 4.07,
      "rvol": 0.16,
      "volume_acceleration": 10,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.72,
      "spread_liquidity": 3.93,
      "momentum_consistency": 3.5,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.36,
      "vwap": 9.3469,
      "vwap_slope": 0.0271,
      "rvol": 0.07,
      "volume_acceleration": 3.14,
      "premarket_volume": 33907.0,
      "momentum_pct": -0.21,
      "consolidation_tightness_pct": 0.8,
      "distance_from_pm_high_pct": 0.37,
      "extension_from_vwap_pct": 0.14,
      "spread_pct": 0.32
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 9.395,
    "pm_low": 9.2642
  },
  {
    "symbol": "CRNC",
    "total_score": 54.65,
    "raw_score": 57.93,
    "breakdown": {
      "price_quality": 3.1,
      "volume_quality": 12.0,
      "rvol": 0.66,
      "volume_acceleration": 3.0,
      "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.18,
      "momentum_consistency": 3.24,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.1,
      "vwap": 8.0673,
      "vwap_slope": 0.0414,
      "rvol": 0.27,
      "volume_acceleration": 0.86,
      "premarket_volume": 136768.0,
      "momentum_pct": -0.25,
      "consolidation_tightness_pct": 0.37,
      "distance_from_pm_high_pct": 0.86,
      "extension_from_vwap_pct": 0.41,
      "spread_pct": 0.25
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 8.17,
    "pm_low": 7.915
  },
  {
    "symbol": "SATL",
    "total_score": 54.57,
    "raw_score": 57.84,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 2.28,
      "volume_acceleration": 2.36,
      "price_momentum": 0.14,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.86,
      "spread_liquidity": 4.36,
      "momentum_consistency": 2.95,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.18,
      "vwap": 5.156,
      "vwap_slope": 0.0031,
      "rvol": 0.95,
      "volume_acceleration": 0.68,
      "premarket_volume": 475146.0,
      "momentum_pct": 0.1,
      "consolidation_tightness_pct": 0.39,
      "distance_from_pm_high_pct": 0.19,
      "extension_from_vwap_pct": 0.47,
      "spread_pct": 0.19
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 5.19,
    "pm_low": 5.102
  },
  {
    "symbol": "IMMX",
    "total_score": 54.54,
    "raw_score": 57.81,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 0.57,
      "volume_acceleration": 2.45,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.89,
      "spread_liquidity": 4.53,
      "momentum_consistency": 4.47,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.23,
      "vwap": 14.1425,
      "vwap_slope": 0.0195,
      "rvol": 0.24,
      "volume_acceleration": 0.7,
      "premarket_volume": 119538.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.21,
      "distance_from_pm_high_pct": 0.14,
      "extension_from_vwap_pct": 0.62,
      "spread_pct": 0.14
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 14.25,
    "pm_low": 14.06
  },
  {
    "symbol": "DX",
    "total_score": 54.53,
    "raw_score": 57.8,
    "breakdown": {
      "price_quality": 2.09,
      "volume_quality": 12.0,
      "rvol": 1.38,
      "volume_acceleration": 2.69,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.97,
      "spread_liquidity": 4.74,
      "momentum_consistency": 2.53,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.915,
      "vwap": 12.9098,
      "vwap_slope": 0.0012,
      "rvol": 0.58,
      "volume_acceleration": 0.77,
      "premarket_volume": 288399.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.08,
      "distance_from_pm_high_pct": 0.04,
      "extension_from_vwap_pct": 0.04,
      "spread_pct": 0.08
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 12.92,
    "pm_low": 12.89
  },
  {
    "symbol": "AEG",
    "total_score": 54.45,
    "raw_score": 57.72,
    "breakdown": {
      "price_quality": 4.22,
      "volume_quality": 11.53,
      "rvol": 0.46,
      "volume_acceleration": 2.33,
      "price_momentum": 0.08,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.96,
      "spread_liquidity": 4.64,
      "momentum_consistency": 2.09,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.225,
      "vwap": 9.2249,
      "vwap_slope": 0.0002,
      "rvol": 0.19,
      "volume_acceleration": 1.23,
      "premarket_volume": 96085.0,
      "momentum_pct": 0.05,
      "consolidation_tightness_pct": 0.11,
      "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": true
    },
    "pm_high": 9.23,
    "pm_low": 9.22
  },
  {
    "symbol": "SRAD",
    "total_score": 54.41,
    "raw_score": 57.68,
    "breakdown": {
      "price_quality": 2.02,
      "volume_quality": 12.0,
      "rvol": 0.72,
      "volume_acceleration": 3.11,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.83,
      "spread_liquidity": 4.74,
      "momentum_consistency": 2.87,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.985,
      "vwap": 12.9559,
      "vwap_slope": 0.0131,
      "rvol": 0.3,
      "volume_acceleration": 0.89,
      "premarket_volume": 150132.0,
      "momentum_pct": -0.04,
      "consolidation_tightness_pct": 0.23,
      "distance_from_pm_high_pct": 0.23,
      "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": 13.015,
    "pm_low": 12.89
  },
  {
    "symbol": "ARHS",
    "total_score": 54.15,
    "raw_score": 57.39,
    "breakdown": {
      "price_quality": 4.05,
      "volume_quality": 12.0,
      "rvol": 0.53,
      "volume_acceleration": 1.67,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.75,
      "spread_liquidity": 4.63,
      "momentum_consistency": 2.35,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.055,
      "vwap": 9.0474,
      "vwap_slope": 0.0043,
      "rvol": 0.22,
      "volume_acceleration": 0.48,
      "premarket_volume": 111192.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.22,
      "distance_from_pm_high_pct": 0.33,
      "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.085,
    "pm_low": 9.015
  },
  {
    "symbol": "SVRA",
    "total_score": 53.92,
    "raw_score": 57.15,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 0.97,
      "volume_acceleration": 10,
      "price_momentum": 0.67,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.93,
      "spread_liquidity": 4.41,
      "momentum_consistency": 2.47,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.655,
      "vwap": 5.6264,
      "vwap_slope": -0.0064,
      "rvol": 0.4,
      "volume_acceleration": 5.47,
      "premarket_volume": 201729.0,
      "momentum_pct": 0.44,
      "consolidation_tightness_pct": 0.53,
      "distance_from_pm_high_pct": 0.09,
      "extension_from_vwap_pct": 0.51,
      "spread_pct": 0.18
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 5.66,
    "pm_low": 5.59
  },
  {
    "symbol": "GSBD",
    "total_score": 53.92,
    "raw_score": 57.15,
    "breakdown": {
      "price_quality": 4.99,
      "volume_quality": 9.85,
      "rvol": 0.39,
      "volume_acceleration": 2.22,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.96,
      "spread_liquidity": 4.67,
      "momentum_consistency": 2.67,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.005,
      "vwap": 9.9859,
      "vwap_slope": 0.0033,
      "rvol": 0.16,
      "volume_acceleration": 0.64,
      "premarket_volume": 82064.0,
      "momentum_pct": -0.05,
      "consolidation_tightness_pct": 0.15,
      "distance_from_pm_high_pct": 0.05,
      "extension_from_vwap_pct": 0.19,
      "spread_pct": 0.1
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 10.01,
    "pm_low": 9.975
  },
  {
    "symbol": "EYPT",
    "total_score": 53.77,
    "raw_score": 57.0,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 1.23,
      "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.93,
      "spread_liquidity": 4.34,
      "momentum_consistency": 2.43,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.035,
      "vwap": 5.0201,
      "vwap_slope": 0.0035,
      "rvol": 0.51,
      "volume_acceleration": 1.32,
      "premarket_volume": 257233.0,
      "momentum_pct": -0.1,
      "consolidation_tightness_pct": 0.4,
      "distance_from_pm_high_pct": 0.1,
      "extension_from_vwap_pct": 0.3,
      "spread_pct": 0.2
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 5.04,
    "pm_low": 4.995
  },
  {
    "symbol": "CRMD",
    "total_score": 53.77,
    "raw_score": 57.0,
    "breakdown": {
      "price_quality": 3.44,
      "volume_quality": 12.0,
      "rvol": 0.49,
      "volume_acceleration": 1.82,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.65,
      "spread_liquidity": 4.6,
      "momentum_consistency": 2.6,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.435,
      "vwap": 8.4326,
      "vwap_slope": 0.001,
      "rvol": 0.21,
      "volume_acceleration": 0.52,
      "premarket_volume": 102543.0,
      "momentum_pct": -0.06,
      "consolidation_tightness_pct": 0.24,
      "distance_from_pm_high_pct": 0.47,
      "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.475,
    "pm_low": 8.39
  },
  {
    "symbol": "GNL",
    "total_score": 53.74,
    "raw_score": 56.96,
    "breakdown": {
      "price_quality": 4.14,
      "volume_quality": 12.0,
      "rvol": 0.89,
      "volume_acceleration": 1.69,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.96,
      "spread_liquidity": 4.64,
      "momentum_consistency": 1.24,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.145,
      "vwap": 9.134,
      "vwap_slope": 0.0026,
      "rvol": 0.37,
      "volume_acceleration": 1.17,
      "premarket_volume": 185192.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.05,
      "distance_from_pm_high_pct": 0.05,
      "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.12
  },
  {
    "symbol": "CRK",
    "total_score": 53.69,
    "raw_score": 56.92,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 0.92,
      "volume_acceleration": 2.56,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.77,
      "spread_liquidity": 4.77,
      "momentum_consistency": 3.0,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.545,
      "vwap": 14.54,
      "vwap_slope": 0.0025,
      "rvol": 0.38,
      "volume_acceleration": 1.26,
      "premarket_volume": 191801.0,
      "momentum_pct": -0.03,
      "consolidation_tightness_pct": 0.14,
      "distance_from_pm_high_pct": 0.31,
      "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": true,
      "vwap_rising": true
    },
    "pm_high": 14.59,
    "pm_low": 14.5
  },
  {
    "symbol": "TGB",
    "total_score": 53.67,
    "raw_score": 56.89,
    "breakdown": {
      "price_quality": 4.24,
      "volume_quality": 12.0,
      "rvol": 5.51,
      "volume_acceleration": 10,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.48,
      "spread_liquidity": 4.64,
      "momentum_consistency": 2.62,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.245,
      "vwap": 9.2646,
      "vwap_slope": -0.0199,
      "rvol": 2.06,
      "volume_acceleration": 4.44,
      "premarket_volume": 1032459.0,
      "momentum_pct": -0.11,
      "consolidation_tightness_pct": 0.31,
      "distance_from_pm_high_pct": 0.7,
      "extension_from_vwap_pct": -0.21,
      "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.31,
    "pm_low": 9.24
  },
  {
    "symbol": "HLIT",
    "total_score": 53.56,
    "raw_score": 56.77,
    "breakdown": {
      "price_quality": 2.48,
      "volume_quality": 10.25,
      "rvol": 0.41,
      "volume_acceleration": 3.29,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.73,
      "spread_liquidity": 4.73,
      "momentum_consistency": 3.47,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.515,
      "vwap": 12.514,
      "vwap_slope": 0.0071,
      "rvol": 0.17,
      "volume_acceleration": 0.94,
      "premarket_volume": 85458.0,
      "momentum_pct": -0.2,
      "consolidation_tightness_pct": 0.2,
      "distance_from_pm_high_pct": 0.36,
      "extension_from_vwap_pct": 0.01,
      "spread_pct": 0.08
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 12.56,
    "pm_low": 12.45
  },
  {
    "symbol": "COMP",
    "total_score": 53.45,
    "raw_score": 56.65,
    "breakdown": {
      "price_quality": 3.62,
      "volume_quality": 12.0,
      "rvol": 3.09,
      "volume_acceleration": 2.89,
      "price_momentum": 0.33,
      "price_structure": 12,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.67,
      "spread_liquidity": 4.71,
      "momentum_consistency": 2.34,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.385,
      "vwap": 11.3881,
      "vwap_slope": -0.0021,
      "rvol": 1.29,
      "volume_acceleration": 0.83,
      "premarket_volume": 644407.0,
      "momentum_pct": 0.22,
      "consolidation_tightness_pct": 0.26,
      "distance_from_pm_high_pct": 0.44,
      "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": true,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 11.435,
    "pm_low": 11.35
  },
  {
    "symbol": "SECZ",
    "total_score": 53.31,
    "raw_score": 56.51,
    "breakdown": {
      "price_quality": 1.68,
      "volume_quality": 12.0,
      "rvol": 0.7,
      "volume_acceleration": 1.59,
      "price_momentum": 1.36,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.66,
      "spread_liquidity": 3.51,
      "momentum_consistency": 3.61,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.685,
      "vwap": 6.619,
      "vwap_slope": 0.0066,
      "rvol": 0.29,
      "volume_acceleration": 0.46,
      "premarket_volume": 145538.0,
      "momentum_pct": 0.91,
      "consolidation_tightness_pct": 1.13,
      "distance_from_pm_high_pct": 0.45,
      "extension_from_vwap_pct": 1.0,
      "spread_pct": 0.45
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 6.715,
    "pm_low": 6.55
  },
  {
    "symbol": "JOBY",
    "total_score": 53.3,
    "raw_score": 56.5,
    "breakdown": {
      "price_quality": 2.15,
      "volume_quality": 12.0,
      "rvol": 7.15,
      "volume_acceleration": 9.56,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.68,
      "spread_liquidity": 4.53,
      "momentum_consistency": 3.03,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.1491,
      "vwap": 7.1586,
      "vwap_slope": -0.0024,
      "rvol": 2.68,
      "volume_acceleration": 1.96,
      "premarket_volume": 1340779.0,
      "momentum_pct": -0.22,
      "consolidation_tightness_pct": 0.56,
      "distance_from_pm_high_pct": 0.43,
      "extension_from_vwap_pct": -0.13,
      "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.18,
    "pm_low": 7.135
  },
  {
    "symbol": "OBIO",
    "total_score": 53.11,
    "raw_score": 56.3,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 1.24,
      "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.59,
      "spread_liquidity": 3.16,
      "momentum_consistency": 3.6,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.42,
      "vwap": 5.3369,
      "vwap_slope": 0.0017,
      "rvol": 0.52,
      "volume_acceleration": 0.81,
      "premarket_volume": 258597.0,
      "momentum_pct": -0.55,
      "consolidation_tightness_pct": 0.55,
      "distance_from_pm_high_pct": 0.55,
      "extension_from_vwap_pct": 1.56,
      "spread_pct": 0.55
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 5.45,
    "pm_low": 5.27
  },
  {
    "symbol": "SOUN",
    "total_score": 52.98,
    "raw_score": 56.16,
    "breakdown": {
      "price_quality": 2.03,
      "volume_quality": 12.0,
      "rvol": 12.0,
      "volume_acceleration": 4.59,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.58,
      "spread_liquidity": 4.53,
      "momentum_consistency": 3.03,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.03,
      "vwap": 7.04,
      "vwap_slope": -0.0012,
      "rvol": 10.0,
      "volume_acceleration": 1.46,
      "premarket_volume": 4999597.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.28,
      "distance_from_pm_high_pct": 0.57,
      "extension_from_vwap_pct": -0.14,
      "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.07,
    "pm_low": 7.01
  },
  {
    "symbol": "WU",
    "total_score": 52.96,
    "raw_score": 56.14,
    "breakdown": {
      "price_quality": 2.26,
      "volume_quality": 12.0,
      "rvol": 2.23,
      "volume_acceleration": 7.18,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.85,
      "spread_liquidity": 4.54,
      "momentum_consistency": 2.48,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.265,
      "vwap": 7.2657,
      "vwap_slope": 0.0025,
      "rvol": 0.93,
      "volume_acceleration": 1.72,
      "premarket_volume": 464107.0,
      "momentum_pct": -0.14,
      "consolidation_tightness_pct": 0.28,
      "distance_from_pm_high_pct": 0.21,
      "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.28,
    "pm_low": 7.25
  },
  {
    "symbol": "SSL",
    "total_score": 52.91,
    "raw_score": 56.08,
    "breakdown": {
      "price_quality": 3.69,
      "volume_quality": 12.0,
      "rvol": 1.0,
      "volume_acceleration": 0.57,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.8,
      "spread_liquidity": 4.71,
      "momentum_consistency": 1.92,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.31,
      "vwap": 11.3061,
      "vwap_slope": 0.001,
      "rvol": 0.42,
      "volume_acceleration": 0.16,
      "premarket_volume": 207920.0,
      "momentum_pct": -0.04,
      "consolidation_tightness_pct": 0.09,
      "distance_from_pm_high_pct": 0.26,
      "extension_from_vwap_pct": 0.03,
      "spread_pct": 0.09
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 11.34,
    "pm_low": 11.28
  },
  {
    "symbol": "GPK",
    "total_score": 52.86,
    "raw_score": 56.03,
    "breakdown": {
      "price_quality": 3.54,
      "volume_quality": 12.0,
      "rvol": 1.83,
      "volume_acceleration": 3.55,
      "price_momentum": 0.46,
      "price_structure": 12,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.46,
      "spread_liquidity": 4.71,
      "momentum_consistency": 2.48,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.455,
      "vwap": 11.4683,
      "vwap_slope": -0.0122,
      "rvol": 0.76,
      "volume_acceleration": 1.02,
      "premarket_volume": 380758.0,
      "momentum_pct": 0.31,
      "consolidation_tightness_pct": 0.31,
      "distance_from_pm_high_pct": 0.72,
      "extension_from_vwap_pct": -0.12,
      "spread_pct": 0.09
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 11.5377,
    "pm_low": 11.41
  },
  {
    "symbol": "FWDI",
    "total_score": 52.85,
    "raw_score": 56.02,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 11.43,
      "rvol": 0.46,
      "volume_acceleration": 2.06,
      "price_momentum": 0.51,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 6,
      "spread_liquidity": 4.44,
      "momentum_consistency": 3.23,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.96,
      "vwap": 5.9225,
      "vwap_slope": 0.0034,
      "rvol": 0.19,
      "volume_acceleration": 0.59,
      "premarket_volume": 95223.0,
      "momentum_pct": 0.34,
      "consolidation_tightness_pct": 0.5,
      "distance_from_pm_high_pct": 0.0,
      "extension_from_vwap_pct": 0.63,
      "spread_pct": 0.17
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 5.96,
    "pm_low": 5.89
  },
  {
    "symbol": "SWIM",
    "total_score": 52.69,
    "raw_score": 55.85,
    "breakdown": {
      "price_quality": 2.15,
      "volume_quality": 5.23,
      "rvol": 0.21,
      "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.74,
      "spread_liquidity": 4.07,
      "momentum_consistency": 2.06,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.15,
      "vwap": 7.1423,
      "vwap_slope": 0.0198,
      "rvol": 0.09,
      "volume_acceleration": 2.0,
      "premarket_volume": 43543.0,
      "momentum_pct": -0.14,
      "consolidation_tightness_pct": 0.14,
      "distance_from_pm_high_pct": 0.35,
      "extension_from_vwap_pct": 0.11,
      "spread_pct": 0.28
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 7.175,
    "pm_low": 7.105
  },
  {
    "symbol": "FOSL",
    "total_score": 52.63,
    "raw_score": 55.79,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 4.4,
      "rvol": 0.18,
      "volume_acceleration": 10,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.73,
      "spread_liquidity": 4.39,
      "momentum_consistency": 3.2,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.46,
      "vwap": 5.4552,
      "vwap_slope": 0.0007,
      "rvol": 0.07,
      "volume_acceleration": 2.4,
      "premarket_volume": 36681.0,
      "momentum_pct": -0.18,
      "consolidation_tightness_pct": 0.55,
      "distance_from_pm_high_pct": 0.36,
      "extension_from_vwap_pct": 0.09,
      "spread_pct": 0.18
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 5.48,
    "pm_low": 5.43
  },
  {
    "symbol": "LEG",
    "total_score": 52.56,
    "raw_score": 55.71,
    "breakdown": {
      "price_quality": 4.22,
      "volume_quality": 12.0,
      "rvol": 9.95,
      "volume_acceleration": 5.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.35,
      "spread_liquidity": 4.64,
      "momentum_consistency": 1.66,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.22,
      "vwap": 9.2563,
      "vwap_slope": -0.0101,
      "rvol": 3.73,
      "volume_acceleration": 1.55,
      "premarket_volume": 1865807.0,
      "momentum_pct": -0.16,
      "consolidation_tightness_pct": 0.43,
      "distance_from_pm_high_pct": 0.86,
      "extension_from_vwap_pct": -0.39,
      "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.3,
    "pm_low": 9.21
  },
  {
    "symbol": "AHCO",
    "total_score": 52.4,
    "raw_score": 55.54,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 1.38,
      "volume_acceleration": 1.52,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.67,
      "spread_liquidity": 4.41,
      "momentum_consistency": 2.67,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.605,
      "vwap": 5.5905,
      "vwap_slope": 0.0054,
      "rvol": 0.58,
      "volume_acceleration": 1.15,
      "premarket_volume": 287845.0,
      "momentum_pct": -0.18,
      "consolidation_tightness_pct": 0.53,
      "distance_from_pm_high_pct": 0.44,
      "extension_from_vwap_pct": 0.26,
      "spread_pct": 0.18
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 5.63,
    "pm_low": 5.56
  },
  {
    "symbol": "RUM",
    "total_score": 52.37,
    "raw_score": 55.51,
    "breakdown": {
      "price_quality": 4.36,
      "volume_quality": 12.0,
      "rvol": 1.58,
      "volume_acceleration": 4.3,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.57,
      "spread_liquidity": 4.64,
      "momentum_consistency": 3.45,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.3611,
      "vwap": 9.3639,
      "vwap_slope": 0.0026,
      "rvol": 0.66,
      "volume_acceleration": 1.43,
      "premarket_volume": 329891.0,
      "momentum_pct": -0.15,
      "consolidation_tightness_pct": 0.32,
      "distance_from_pm_high_pct": 0.57,
      "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": false,
      "vwap_rising": true
    },
    "pm_high": 9.415,
    "pm_low": 9.305
  },
  {
    "symbol": "TTD",
    "total_score": 52.37,
    "raw_score": 55.51,
    "breakdown": {
      "price_quality": 1.91,
      "volume_quality": 12.0,
      "rvol": 5.53,
      "volume_acceleration": 3.78,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.74,
      "spread_liquidity": 4.75,
      "momentum_consistency": 2.21,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.085,
      "vwap": 13.1012,
      "vwap_slope": 0.0007,
      "rvol": 2.07,
      "volume_acceleration": 1.09,
      "premarket_volume": 1036380.0,
      "momentum_pct": -0.23,
      "consolidation_tightness_pct": 0.38,
      "distance_from_pm_high_pct": 0.34,
      "extension_from_vwap_pct": -0.12,
      "spread_pct": 0.08
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": true
    },
    "pm_high": 13.13,
    "pm_low": 13.065
  },
  {
    "symbol": "HOPE",
    "total_score": 52.36,
    "raw_score": 55.5,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 7.87,
      "rvol": 0.31,
      "volume_acceleration": 6.82,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.92,
      "spread_liquidity": 4.76,
      "momentum_consistency": 1.91,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.905,
      "vwap": 13.9044,
      "vwap_slope": 0.0029,
      "rvol": 0.13,
      "volume_acceleration": 1.68,
      "premarket_volume": 65603.0,
      "momentum_pct": -0.07,
      "consolidation_tightness_pct": 0.07,
      "distance_from_pm_high_pct": 0.11,
      "extension_from_vwap_pct": 0.0,
      "spread_pct": 0.07
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 13.92,
    "pm_low": 13.885
  },
  {
    "symbol": "WSE",
    "total_score": 52.14,
    "raw_score": 55.27,
    "breakdown": {
      "price_quality": 1.74,
      "volume_quality": 10.16,
      "rvol": 0.41,
      "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.75,
      "momentum_consistency": 3.12,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.255,
      "vwap": 13.2378,
      "vwap_slope": 0.0094,
      "rvol": 0.17,
      "volume_acceleration": 1.28,
      "premarket_volume": 84631.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.15,
      "distance_from_pm_high_pct": 0.15,
      "extension_from_vwap_pct": 0.13,
      "spread_pct": 0.08
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 13.275,
    "pm_low": 13.205
  },
  {
    "symbol": "SHOE",
    "total_score": 52.01,
    "raw_score": 55.13,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 10.26,
      "rvol": 0.41,
      "volume_acceleration": 3.73,
      "price_momentum": 0.41,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.85,
      "spread_liquidity": 4.08,
      "momentum_consistency": 2.49,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.52,
      "vwap": 14.5093,
      "vwap_slope": 0.0006,
      "rvol": 0.17,
      "volume_acceleration": 1.37,
      "premarket_volume": 85529.0,
      "momentum_pct": 0.28,
      "consolidation_tightness_pct": 0.48,
      "distance_from_pm_high_pct": 0.21,
      "extension_from_vwap_pct": 0.07,
      "spread_pct": 0.28
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 14.55,
    "pm_low": 14.47
  },
  {
    "symbol": "AURA",
    "total_score": 52.0,
    "raw_score": 55.12,
    "breakdown": {
      "price_quality": 2.72,
      "volume_quality": 12.0,
      "rvol": 0.75,
      "volume_acceleration": 0.31,
      "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.14,
      "momentum_consistency": 3.08,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.723,
      "vwap": 7.6898,
      "vwap_slope": 0.004,
      "rvol": 0.31,
      "volume_acceleration": 0.09,
      "premarket_volume": 155870.0,
      "momentum_pct": -0.35,
      "consolidation_tightness_pct": 0.4,
      "distance_from_pm_high_pct": 0.36,
      "extension_from_vwap_pct": 0.43,
      "spread_pct": 0.26
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 7.7511,
    "pm_low": 7.65
  },
  {
    "symbol": "MGTX",
    "total_score": 52.0,
    "raw_score": 55.12,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 10.97,
      "rvol": 0.44,
      "volume_acceleration": 1.44,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.9,
      "spread_liquidity": 4.54,
      "momentum_consistency": 3.92,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.66,
      "vwap": 14.5883,
      "vwap_slope": 0.0095,
      "rvol": 0.18,
      "volume_acceleration": 0.42,
      "premarket_volume": 91450.0,
      "momentum_pct": -0.07,
      "consolidation_tightness_pct": 0.2,
      "distance_from_pm_high_pct": 0.14,
      "extension_from_vwap_pct": 0.49,
      "spread_pct": 0.14
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 14.68,
    "pm_low": 14.44
  },
  {
    "symbol": "F",
    "total_score": 51.92,
    "raw_score": 55.04,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 12.0,
      "volume_acceleration": 3.62,
      "price_momentum": 0.05,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.81,
      "spread_liquidity": 4.76,
      "momentum_consistency": 2.9,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.855,
      "vwap": 13.8612,
      "vwap_slope": -0.001,
      "rvol": 5.2,
      "volume_acceleration": 1.04,
      "premarket_volume": 2598908.0,
      "momentum_pct": 0.04,
      "consolidation_tightness_pct": 0.07,
      "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": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 13.89,
    "pm_low": 13.84
  },
  {
    "symbol": "JBLU",
    "total_score": 51.78,
    "raw_score": 54.89,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 9.4,
      "volume_acceleration": 7.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.56,
      "spread_liquidity": 4.34,
      "momentum_consistency": 2.34,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.04,
      "vwap": 5.0516,
      "vwap_slope": -0.0005,
      "rvol": 3.52,
      "volume_acceleration": 1.73,
      "premarket_volume": 1762407.0,
      "momentum_pct": -0.3,
      "consolidation_tightness_pct": 0.4,
      "distance_from_pm_high_pct": 0.59,
      "extension_from_vwap_pct": -0.23,
      "spread_pct": 0.2
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 5.07,
    "pm_low": 5.03
  },
  {
    "symbol": "CRML",
    "total_score": 51.78,
    "raw_score": 54.89,
    "breakdown": {
      "price_quality": 3.12,
      "volume_quality": 12.0,
      "rvol": 2.92,
      "volume_acceleration": 4.27,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.63,
      "spread_liquidity": 4.59,
      "momentum_consistency": 2.76,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.125,
      "vwap": 8.1251,
      "vwap_slope": 0.0005,
      "rvol": 1.22,
      "volume_acceleration": 1.43,
      "premarket_volume": 607739.0,
      "momentum_pct": -0.17,
      "consolidation_tightness_pct": 0.62,
      "distance_from_pm_high_pct": 0.49,
      "extension_from_vwap_pct": -0.0,
      "spread_pct": 0.12
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": true
    },
    "pm_high": 8.165,
    "pm_low": 8.08
  },
  {
    "symbol": "CGNT",
    "total_score": 51.64,
    "raw_score": 54.73,
    "breakdown": {
      "price_quality": 3.57,
      "volume_quality": 6.78,
      "rvol": 0.27,
      "volume_acceleration": 4.07,
      "price_momentum": 0.26,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.96,
      "spread_liquidity": 4.61,
      "momentum_consistency": 2.81,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.57,
      "vwap": 8.5365,
      "vwap_slope": 0.017,
      "rvol": 0.11,
      "volume_acceleration": 1.41,
      "premarket_volume": 56515.0,
      "momentum_pct": 0.18,
      "consolidation_tightness_pct": 0.53,
      "distance_from_pm_high_pct": 0.06,
      "extension_from_vwap_pct": 0.39,
      "spread_pct": 0.12
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 8.575,
    "pm_low": 8.47
  },
  {
    "symbol": "FWRG",
    "total_score": 51.46,
    "raw_score": 54.55,
    "breakdown": {
      "price_quality": 2.02,
      "volume_quality": 9.66,
      "rvol": 0.39,
      "volume_acceleration": 3.14,
      "price_momentum": 0.29,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.88,
      "spread_liquidity": 4.49,
      "momentum_consistency": 2.29,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.98,
      "vwap": 12.9588,
      "vwap_slope": 0.0027,
      "rvol": 0.16,
      "volume_acceleration": 1.31,
      "premarket_volume": 80505.0,
      "momentum_pct": 0.19,
      "consolidation_tightness_pct": 0.39,
      "distance_from_pm_high_pct": 0.15,
      "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": 13.0,
    "pm_low": 12.92
  },
  {
    "symbol": "DOLE",
    "total_score": 51.39,
    "raw_score": 54.47,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 10.02,
      "rvol": 0.4,
      "volume_acceleration": 3.88,
      "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.75,
      "momentum_consistency": 1.57,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.61,
      "vwap": 13.5895,
      "vwap_slope": 0.0087,
      "rvol": 0.17,
      "volume_acceleration": 1.39,
      "premarket_volume": 83476.0,
      "momentum_pct": -0.07,
      "consolidation_tightness_pct": 0.15,
      "distance_from_pm_high_pct": 0.07,
      "extension_from_vwap_pct": 0.15,
      "spread_pct": 0.07
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 13.62,
    "pm_low": 13.565
  },
  {
    "symbol": "NXE",
    "total_score": 51.32,
    "raw_score": 54.4,
    "breakdown": {
      "price_quality": 3.85,
      "volume_quality": 12.0,
      "rvol": 1.84,
      "volume_acceleration": 3.68,
      "price_momentum": 0.07,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.9,
      "spread_liquidity": 4.7,
      "momentum_consistency": 3.17,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.155,
      "vwap": 11.1452,
      "vwap_slope": -0.0019,
      "rvol": 0.77,
      "volume_acceleration": 1.06,
      "premarket_volume": 382592.0,
      "momentum_pct": 0.04,
      "consolidation_tightness_pct": 0.27,
      "distance_from_pm_high_pct": 0.13,
      "extension_from_vwap_pct": 0.09,
      "spread_pct": 0.09
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 11.17,
    "pm_low": 11.1
  },
  {
    "symbol": "OWLT",
    "total_score": 51.12,
    "raw_score": 54.18,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 0.57,
      "volume_acceleration": 10,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 4.51,
      "spread_liquidity": 3.07,
      "momentum_consistency": 2.93,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.175,
      "vwap": 5.2235,
      "vwap_slope": 0.0131,
      "rvol": 0.24,
      "volume_acceleration": 3.69,
      "premarket_volume": 119760.0,
      "momentum_pct": -0.38,
      "consolidation_tightness_pct": 1.25,
      "distance_from_pm_high_pct": 1.99,
      "extension_from_vwap_pct": -0.93,
      "spread_pct": 0.58
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": true
    },
    "pm_high": 5.28,
    "pm_low": 5.175
  },
  {
    "symbol": "ADT",
    "total_score": 51.01,
    "raw_score": 54.07,
    "breakdown": {
      "price_quality": 2.41,
      "volume_quality": 12.0,
      "rvol": 2.63,
      "volume_acceleration": 4.55,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.85,
      "spread_liquidity": 4.55,
      "momentum_consistency": 2.48,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.41,
      "vwap": 7.4126,
      "vwap_slope": 0.0022,
      "rvol": 1.1,
      "volume_acceleration": 1.45,
      "premarket_volume": 548608.0,
      "momentum_pct": -0.13,
      "consolidation_tightness_pct": 0.2,
      "distance_from_pm_high_pct": 0.2,
      "extension_from_vwap_pct": -0.04,
      "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.425,
    "pm_low": 7.39
  },
  {
    "symbol": "YSS",
    "total_score": 50.69,
    "raw_score": 53.74,
    "breakdown": {
      "price_quality": 4.23,
      "volume_quality": 12.0,
      "rvol": 0.88,
      "volume_acceleration": 5.16,
      "price_momentum": 0.33,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.52,
      "spread_liquidity": 4.28,
      "momentum_consistency": 2.14,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.23,
      "vwap": 9.2299,
      "vwap_slope": -0.0101,
      "rvol": 0.37,
      "volume_acceleration": 1.52,
      "premarket_volume": 184099.0,
      "momentum_pct": 0.22,
      "consolidation_tightness_pct": 0.49,
      "distance_from_pm_high_pct": 0.65,
      "extension_from_vwap_pct": 0.0,
      "spread_pct": 0.22
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 9.29,
    "pm_low": 9.17
  },
  {
    "symbol": "PUMP",
    "total_score": 50.67,
    "raw_score": 53.71,
    "breakdown": {
      "price_quality": 4.45,
      "volume_quality": 12.0,
      "rvol": 1.33,
      "volume_acceleration": 3.21,
      "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.68,
      "momentum_consistency": 3.05,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.555,
      "vwap": 10.5369,
      "vwap_slope": -0.0014,
      "rvol": 0.55,
      "volume_acceleration": 0.92,
      "premarket_volume": 276440.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.09,
      "distance_from_pm_high_pct": 0.28,
      "extension_from_vwap_pct": 0.17,
      "spread_pct": 0.09
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 10.585,
    "pm_low": 10.48
  },
  {
    "symbol": "TROX",
    "total_score": 50.53,
    "raw_score": 53.56,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 9.08,
      "rvol": 0.36,
      "volume_acceleration": 3.43,
      "price_momentum": 0.28,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.93,
      "spread_liquidity": 4.39,
      "momentum_consistency": 2.2,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.425,
      "vwap": 5.4157,
      "vwap_slope": 0.0011,
      "rvol": 0.15,
      "volume_acceleration": 0.99,
      "premarket_volume": 75691.0,
      "momentum_pct": 0.18,
      "consolidation_tightness_pct": 0.37,
      "distance_from_pm_high_pct": 0.09,
      "extension_from_vwap_pct": 0.17,
      "spread_pct": 0.18
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 5.43,
    "pm_low": 5.4049
  },
  {
    "symbol": "OSS",
    "total_score": 50.46,
    "raw_score": 53.49,
    "breakdown": {
      "price_quality": 3.85,
      "volume_quality": 4.0,
      "rvol": 0.16,
      "volume_acceleration": 5.38,
      "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.7,
      "momentum_consistency": 3.24,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.155,
      "vwap": 11.1541,
      "vwap_slope": 0.0022,
      "rvol": 0.07,
      "volume_acceleration": 1.54,
      "premarket_volume": 33341.0,
      "momentum_pct": -0.04,
      "consolidation_tightness_pct": 0.18,
      "distance_from_pm_high_pct": 0.31,
      "extension_from_vwap_pct": 0.01,
      "spread_pct": 0.09
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 11.19,
    "pm_low": 11.1095
  },
  {
    "symbol": "DXC",
    "total_score": 50.41,
    "raw_score": 53.43,
    "breakdown": {
      "price_quality": 4.4,
      "volume_quality": 12.0,
      "rvol": 0.82,
      "volume_acceleration": 3.7,
      "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.69,
      "momentum_consistency": 2.77,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.595,
      "vwap": 10.5939,
      "vwap_slope": -0.002,
      "rvol": 0.34,
      "volume_acceleration": 1.06,
      "premarket_volume": 170810.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.18,
      "distance_from_pm_high_pct": 0.19,
      "extension_from_vwap_pct": 0.01,
      "spread_pct": 0.09
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 10.615,
    "pm_low": 10.58
  },
  {
    "symbol": "QDEL",
    "total_score": 50.16,
    "raw_score": 53.17,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 1.25,
      "volume_acceleration": 6.71,
      "price_momentum": 0.05,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.65,
      "spread_liquidity": 3.87,
      "momentum_consistency": 2.95,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.815,
      "vwap": 14.7816,
      "vwap_slope": -0.0143,
      "rvol": 0.52,
      "volume_acceleration": 1.67,
      "premarket_volume": 259715.0,
      "momentum_pct": 0.03,
      "consolidation_tightness_pct": 0.81,
      "distance_from_pm_high_pct": 0.47,
      "extension_from_vwap_pct": 0.23,
      "spread_pct": 0.34
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 14.885,
    "pm_low": 14.71
  },
  {
    "symbol": "MNTN",
    "total_score": 49.89,
    "raw_score": 52.89,
    "breakdown": {
      "price_quality": 1.89,
      "volume_quality": 12.0,
      "rvol": 0.98,
      "volume_acceleration": 2.51,
      "price_momentum": 0.23,
      "price_structure": 12,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.26,
      "spread_liquidity": 4.49,
      "momentum_consistency": 3.52,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.11,
      "vwap": 13.1636,
      "vwap_slope": -0.0093,
      "rvol": 0.41,
      "volume_acceleration": 0.72,
      "premarket_volume": 203889.0,
      "momentum_pct": 0.15,
      "consolidation_tightness_pct": 0.23,
      "distance_from_pm_high_pct": 0.98,
      "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": true,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 13.24,
    "pm_low": 13.08
  },
  {
    "symbol": "EGY",
    "total_score": 49.7,
    "raw_score": 52.69,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 11.31,
      "rvol": 0.45,
      "volume_acceleration": 1.45,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.93,
      "spread_liquidity": 4.41,
      "momentum_consistency": 1.23,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.695,
      "vwap": 5.6844,
      "vwap_slope": 0.0018,
      "rvol": 0.19,
      "volume_acceleration": 0.42,
      "premarket_volume": 94224.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.09,
      "distance_from_pm_high_pct": 0.09,
      "extension_from_vwap_pct": 0.19,
      "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.7,
    "pm_low": 5.671
  },
  {
    "symbol": "SMPL",
    "total_score": 49.55,
    "raw_score": 52.52,
    "breakdown": {
      "price_quality": 4.42,
      "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.26,
      "spread_liquidity": 4.68,
      "momentum_consistency": 3.02,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.58,
      "vwap": 10.6194,
      "vwap_slope": -0.0327,
      "rvol": 0.3,
      "volume_acceleration": 2.2,
      "premarket_volume": 152275.0,
      "momentum_pct": -0.09,
      "consolidation_tightness_pct": 0.47,
      "distance_from_pm_high_pct": 0.98,
      "extension_from_vwap_pct": -0.37,
      "spread_pct": 0.09
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 10.685,
    "pm_low": 10.545
  },
  {
    "symbol": "COUR",
    "total_score": 49.5,
    "raw_score": 52.47,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 3.08,
      "volume_acceleration": 3.39,
      "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.45,
      "momentum_consistency": 2.76,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.075,
      "vwap": 6.0805,
      "vwap_slope": 0.0012,
      "rvol": 1.28,
      "volume_acceleration": 1.34,
      "premarket_volume": 641947.0,
      "momentum_pct": -0.25,
      "consolidation_tightness_pct": 0.49,
      "distance_from_pm_high_pct": 0.41,
      "extension_from_vwap_pct": -0.09,
      "spread_pct": 0.16
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": true
    },
    "pm_high": 6.1,
    "pm_low": 6.06
  },
  {
    "symbol": "ASAN",
    "total_score": 49.24,
    "raw_score": 52.19,
    "breakdown": {
      "price_quality": 4.47,
      "volume_quality": 12.0,
      "rvol": 1.23,
      "volume_acceleration": 1.62,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.76,
      "spread_liquidity": 4.65,
      "momentum_consistency": 2.86,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.475,
      "vwap": 9.4851,
      "vwap_slope": 0.0018,
      "rvol": 0.51,
      "volume_acceleration": 1.16,
      "premarket_volume": 256619.0,
      "momentum_pct": -0.21,
      "consolidation_tightness_pct": 0.32,
      "distance_from_pm_high_pct": 0.32,
      "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": false,
      "vwap_rising": true
    },
    "pm_high": 9.505,
    "pm_low": 9.465
  },
  {
    "symbol": "XRAY",
    "total_score": 49.14,
    "raw_score": 52.09,
    "breakdown": {
      "price_quality": 4.11,
      "volume_quality": 12.0,
      "rvol": 2.82,
      "volume_acceleration": 8.19,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.73,
      "spread_liquidity": 4.69,
      "momentum_consistency": 2.14,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.89,
      "vwap": 10.9028,
      "vwap_slope": -0.0021,
      "rvol": 1.18,
      "volume_acceleration": 1.82,
      "premarket_volume": 587812.0,
      "momentum_pct": -0.14,
      "consolidation_tightness_pct": 0.28,
      "distance_from_pm_high_pct": 0.37,
      "extension_from_vwap_pct": -0.12,
      "spread_pct": 0.09
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 10.93,
    "pm_low": 10.87
  },
  {
    "symbol": "BTG",
    "total_score": 49.0,
    "raw_score": 51.94,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 11.5,
      "volume_acceleration": 1.54,
      "price_momentum": 0.26,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.7,
      "spread_liquidity": 4.43,
      "momentum_consistency": 2.62,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.805,
      "vwap": 5.8099,
      "vwap_slope": -0.0044,
      "rvol": 4.31,
      "volume_acceleration": 1.15,
      "premarket_volume": 2156714.0,
      "momentum_pct": 0.17,
      "consolidation_tightness_pct": 0.35,
      "distance_from_pm_high_pct": 0.4,
      "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": false
    },
    "pm_high": 5.8286,
    "pm_low": 5.78
  },
  {
    "symbol": "VG",
    "total_score": 48.96,
    "raw_score": 51.9,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 8.23,
      "volume_acceleration": 3.88,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.53,
      "spread_liquidity": 4.77,
      "momentum_consistency": 3.59,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.185,
      "vwap": 14.1888,
      "vwap_slope": -0.0002,
      "rvol": 3.09,
      "volume_acceleration": 1.39,
      "premarket_volume": 1543987.0,
      "momentum_pct": -0.07,
      "consolidation_tightness_pct": 0.21,
      "distance_from_pm_high_pct": 0.63,
      "extension_from_vwap_pct": -0.03,
      "spread_pct": 0.07
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 14.275,
    "pm_low": 14.14
  },
  {
    "symbol": "BVS",
    "total_score": 48.95,
    "raw_score": 51.89,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 7.04,
      "rvol": 0.28,
      "volume_acceleration": 2.59,
      "price_momentum": 0.16,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.81,
      "spread_liquidity": 4.76,
      "momentum_consistency": 3.35,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.935,
      "vwap": 13.9031,
      "vwap_slope": 0.0097,
      "rvol": 0.12,
      "volume_acceleration": 1.26,
      "premarket_volume": 58659.0,
      "momentum_pct": 0.11,
      "consolidation_tightness_pct": 0.14,
      "distance_from_pm_high_pct": 0.25,
      "extension_from_vwap_pct": 0.23,
      "spread_pct": 0.07
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 13.97,
    "pm_low": 13.795
  },
  {
    "symbol": "ATEC",
    "total_score": 48.88,
    "raw_score": 51.81,
    "breakdown": {
      "price_quality": 4.4,
      "volume_quality": 12.0,
      "rvol": 0.72,
      "volume_acceleration": 2.13,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.68,
      "spread_liquidity": 4.65,
      "momentum_consistency": 2.62,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.405,
      "vwap": 9.4109,
      "vwap_slope": 0.0035,
      "rvol": 0.3,
      "volume_acceleration": 1.21,
      "premarket_volume": 150477.0,
      "momentum_pct": -0.11,
      "consolidation_tightness_pct": 0.21,
      "distance_from_pm_high_pct": 0.42,
      "extension_from_vwap_pct": -0.06,
      "spread_pct": 0.11
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": true
    },
    "pm_high": 9.445,
    "pm_low": 9.335
  },
  {
    "symbol": "WLTH",
    "total_score": 48.79,
    "raw_score": 51.71,
    "breakdown": {
      "price_quality": 4.38,
      "volume_quality": 12.0,
      "rvol": 0.64,
      "volume_acceleration": 9.8,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.8,
      "spread_liquidity": 4.64,
      "momentum_consistency": 2.04,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.385,
      "vwap": 9.3908,
      "vwap_slope": -0.0028,
      "rvol": 0.27,
      "volume_acceleration": 1.98,
      "premarket_volume": 134140.0,
      "momentum_pct": -0.05,
      "consolidation_tightness_pct": 0.21,
      "distance_from_pm_high_pct": 0.27,
      "extension_from_vwap_pct": -0.06,
      "spread_pct": 0.11
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 9.41,
    "pm_low": 9.365
  },
  {
    "symbol": "FPI",
    "total_score": 48.74,
    "raw_score": 51.67,
    "breakdown": {
      "price_quality": 4.63,
      "volume_quality": 12.0,
      "rvol": 0.54,
      "volume_acceleration": 10,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.32,
      "spread_liquidity": 4.68,
      "momentum_consistency": 2.1,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.37,
      "vwap": 10.4206,
      "vwap_slope": -0.0138,
      "rvol": 0.23,
      "volume_acceleration": 2.33,
      "premarket_volume": 113224.0,
      "momentum_pct": -0.38,
      "consolidation_tightness_pct": 0.48,
      "distance_from_pm_high_pct": 0.91,
      "extension_from_vwap_pct": -0.49,
      "spread_pct": 0.1
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 10.465,
    "pm_low": 10.37
  },
  {
    "symbol": "AES",
    "total_score": 48.57,
    "raw_score": 51.48,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 2.69,
      "volume_acceleration": 2.92,
      "price_momentum": 0.05,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 6,
      "spread_liquidity": 4.77,
      "momentum_consistency": 2.34,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.73,
      "vwap": 14.7256,
      "vwap_slope": -0.0004,
      "rvol": 1.12,
      "volume_acceleration": 1.29,
      "premarket_volume": 560816.0,
      "momentum_pct": 0.03,
      "consolidation_tightness_pct": 0.07,
      "distance_from_pm_high_pct": 0.0,
      "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": true,
      "vwap_rising": false
    },
    "pm_high": 14.73,
    "pm_low": 14.72
  },
  {
    "symbol": "AVTR",
    "total_score": 48.54,
    "raw_score": 51.45,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 2.89,
      "volume_acceleration": 2.97,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.79,
      "spread_liquidity": 4.77,
      "momentum_consistency": 1.93,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.525,
      "vwap": 14.5363,
      "vwap_slope": 0.0008,
      "rvol": 1.2,
      "volume_acceleration": 0.85,
      "premarket_volume": 601231.0,
      "momentum_pct": -0.11,
      "consolidation_tightness_pct": 0.17,
      "distance_from_pm_high_pct": 0.27,
      "extension_from_vwap_pct": -0.08,
      "spread_pct": 0.07
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": true
    },
    "pm_high": 14.565,
    "pm_low": 14.515
  },
  {
    "symbol": "MBLY",
    "total_score": 48.52,
    "raw_score": 51.43,
    "breakdown": {
      "price_quality": 3.53,
      "volume_quality": 12.0,
      "rvol": 0.75,
      "volume_acceleration": 10,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.74,
      "spread_liquidity": 4.61,
      "momentum_consistency": 2.42,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.525,
      "vwap": 8.5333,
      "vwap_slope": -0.0011,
      "rvol": 0.31,
      "volume_acceleration": 2.45,
      "premarket_volume": 155615.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.12,
      "distance_from_pm_high_pct": 0.35,
      "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": false,
      "vwap_rising": false
    },
    "pm_high": 8.555,
    "pm_low": 8.51
  },
  {
    "symbol": "FSM",
    "total_score": 48.34,
    "raw_score": 51.24,
    "breakdown": {
      "price_quality": 2.55,
      "volume_quality": 12.0,
      "rvol": 3.28,
      "volume_acceleration": 8.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.7,
      "spread_liquidity": 4.73,
      "momentum_consistency": 2.43,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.445,
      "vwap": 12.4644,
      "vwap_slope": -0.0051,
      "rvol": 1.37,
      "volume_acceleration": 1.81,
      "premarket_volume": 682905.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.12,
      "distance_from_pm_high_pct": 0.4,
      "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": false,
      "vwap_rising": false
    },
    "pm_high": 12.495,
    "pm_low": 12.43
  },
  {
    "symbol": "CRSR",
    "total_score": 48.32,
    "raw_score": 51.22,
    "breakdown": {
      "price_quality": 3.18,
      "volume_quality": 12.0,
      "rvol": 0.55,
      "volume_acceleration": 2.45,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.65,
      "spread_liquidity": 4.72,
      "momentum_consistency": 3.08,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.825,
      "vwap": 11.8364,
      "vwap_slope": 0.0022,
      "rvol": 0.23,
      "volume_acceleration": 1.24,
      "premarket_volume": 113812.0,
      "momentum_pct": -0.21,
      "consolidation_tightness_pct": 0.34,
      "distance_from_pm_high_pct": 0.46,
      "extension_from_vwap_pct": -0.1,
      "spread_pct": 0.08
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": true
    },
    "pm_high": 11.88,
    "pm_low": 11.75
  },
  {
    "symbol": "RXST",
    "total_score": 48.14,
    "raw_score": 51.03,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 0.71,
      "volume_acceleration": 4.34,
      "price_momentum": 0.7,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.37,
      "spread_liquidity": 4.49,
      "momentum_consistency": 2.73,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.47,
      "vwap": 6.4691,
      "vwap_slope": -0.0035,
      "rvol": 0.3,
      "volume_acceleration": 1.43,
      "premarket_volume": 147555.0,
      "momentum_pct": 0.47,
      "consolidation_tightness_pct": 0.7,
      "distance_from_pm_high_pct": 0.84,
      "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.525,
    "pm_low": 6.415
  },
  {
    "symbol": "TRIP",
    "total_score": 48.11,
    "raw_score": 50.99,
    "breakdown": {
      "price_quality": 4.99,
      "volume_quality": 12.0,
      "rvol": 1.35,
      "volume_acceleration": 8.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.18,
      "spread_liquidity": 4.67,
      "momentum_consistency": 1.68,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.99,
      "vwap": 10.0384,
      "vwap_slope": -0.0159,
      "rvol": 0.56,
      "volume_acceleration": 1.87,
      "premarket_volume": 281221.0,
      "momentum_pct": -0.2,
      "consolidation_tightness_pct": 0.3,
      "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.1,
    "pm_low": 9.99
  },
  {
    "symbol": "TU",
    "total_score": 48.02,
    "raw_score": 50.91,
    "breakdown": {
      "price_quality": 4.71,
      "volume_quality": 12.0,
      "rvol": 5.42,
      "volume_acceleration": 3.79,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.73,
      "spread_liquidity": 4.66,
      "momentum_consistency": 2.21,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.705,
      "vwap": 9.7103,
      "vwap_slope": -0.0008,
      "rvol": 2.03,
      "volume_acceleration": 1.38,
      "premarket_volume": 1016302.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.1,
      "distance_from_pm_high_pct": 0.36,
      "extension_from_vwap_pct": -0.05,
      "spread_pct": 0.1
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 9.7399,
    "pm_low": 9.685
  },
  {
    "symbol": "SWBI",
    "total_score": 47.97,
    "raw_score": 50.85,
    "breakdown": {
      "price_quality": 1.54,
      "volume_quality": 3.99,
      "rvol": 0.16,
      "volume_acceleration": 5.14,
      "price_momentum": 0.11,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.89,
      "spread_liquidity": 4.5,
      "momentum_consistency": 3.11,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.46,
      "vwap": 13.4575,
      "vwap_slope": 0.0025,
      "rvol": 0.07,
      "volume_acceleration": 1.51,
      "premarket_volume": 33280.0,
      "momentum_pct": 0.07,
      "consolidation_tightness_pct": 0.15,
      "distance_from_pm_high_pct": 0.15,
      "extension_from_vwap_pct": 0.02,
      "spread_pct": 0.15
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 13.48,
    "pm_low": 13.42
  },
  {
    "symbol": "CXM",
    "total_score": 47.87,
    "raw_score": 50.75,
    "breakdown": {
      "price_quality": 2.48,
      "volume_quality": 12.0,
      "rvol": 1.49,
      "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.45,
      "spread_liquidity": 4.55,
      "momentum_consistency": 2.37,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.48,
      "vwap": 7.5088,
      "vwap_slope": -0.0029,
      "rvol": 0.62,
      "volume_acceleration": 2.26,
      "premarket_volume": 310017.0,
      "momentum_pct": -0.53,
      "consolidation_tightness_pct": 0.6,
      "distance_from_pm_high_pct": 0.73,
      "extension_from_vwap_pct": -0.38,
      "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.535,
    "pm_low": 7.48
  },
  {
    "symbol": "DRVN",
    "total_score": 47.78,
    "raw_score": 50.65,
    "breakdown": {
      "price_quality": 2.04,
      "volume_quality": 12.0,
      "rvol": 0.69,
      "volume_acceleration": 4.02,
      "price_momentum": 0.35,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.31,
      "spread_liquidity": 4.74,
      "momentum_consistency": 2.31,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.965,
      "vwap": 12.9471,
      "vwap_slope": -0.0014,
      "rvol": 0.29,
      "volume_acceleration": 1.4,
      "premarket_volume": 143420.0,
      "momentum_pct": 0.23,
      "consolidation_tightness_pct": 0.54,
      "distance_from_pm_high_pct": 0.92,
      "extension_from_vwap_pct": 0.14,
      "spread_pct": 0.08
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 13.085,
    "pm_low": 12.84
  },
  {
    "symbol": "FMC",
    "total_score": 47.77,
    "raw_score": 50.64,
    "breakdown": {
      "price_quality": 3.91,
      "volume_quality": 12.0,
      "rvol": 1.25,
      "volume_acceleration": 7.61,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.6,
      "spread_liquidity": 4.7,
      "momentum_consistency": 3.17,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.085,
      "vwap": 11.086,
      "vwap_slope": -0.0029,
      "rvol": 0.52,
      "volume_acceleration": 1.76,
      "premarket_volume": 259424.0,
      "momentum_pct": -0.05,
      "consolidation_tightness_pct": 0.4,
      "distance_from_pm_high_pct": 0.54,
      "extension_from_vwap_pct": -0.01,
      "spread_pct": 0.09
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 11.145,
    "pm_low": 11.05
  },
  {
    "symbol": "HLF",
    "total_score": 47.69,
    "raw_score": 50.55,
    "breakdown": {
      "price_quality": 2.62,
      "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": 5.4,
      "spread_liquidity": 4.73,
      "momentum_consistency": 2.78,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.38,
      "vwap": 12.4122,
      "vwap_slope": -0.0243,
      "rvol": 0.26,
      "volume_acceleration": 2.25,
      "premarket_volume": 129975.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.16,
      "distance_from_pm_high_pct": 0.8,
      "extension_from_vwap_pct": -0.26,
      "spread_pct": 0.08
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 12.48,
    "pm_low": 12.36
  },
  {
    "symbol": "LION",
    "total_score": 47.68,
    "raw_score": 50.54,
    "breakdown": {
      "price_quality": 3.47,
      "volume_quality": 12.0,
      "rvol": 0.97,
      "volume_acceleration": 9.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.42,
      "spread_liquidity": 4.42,
      "momentum_consistency": 2.29,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.53,
      "vwap": 11.5662,
      "vwap_slope": -0.0104,
      "rvol": 0.4,
      "volume_acceleration": 1.96,
      "premarket_volume": 201852.0,
      "momentum_pct": -0.3,
      "consolidation_tightness_pct": 0.35,
      "distance_from_pm_high_pct": 0.77,
      "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": 11.62,
    "pm_low": 11.53
  },
  {
    "symbol": "AEBI",
    "total_score": 47.61,
    "raw_score": 50.46,
    "breakdown": {
      "price_quality": 2.91,
      "volume_quality": 4.02,
      "rvol": 0.16,
      "volume_acceleration": 4.0,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.88,
      "spread_liquidity": 3.9,
      "momentum_consistency": 3.2,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.09,
      "vwap": 12.0609,
      "vwap_slope": 0.0132,
      "rvol": 0.07,
      "volume_acceleration": 1.15,
      "premarket_volume": 33504.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.29,
      "distance_from_pm_high_pct": 0.17,
      "extension_from_vwap_pct": 0.24,
      "spread_pct": 0.33
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 12.11,
    "pm_low": 11.9945
  },
  {
    "symbol": "SLRC",
    "total_score": 47.59,
    "raw_score": 50.45,
    "breakdown": {
      "price_quality": 2.47,
      "volume_quality": 3.53,
      "rvol": 0.14,
      "volume_acceleration": 4.96,
      "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.73,
      "momentum_consistency": 2.18,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.525,
      "vwap": 12.5178,
      "vwap_slope": 0.0032,
      "rvol": 0.06,
      "volume_acceleration": 1.5,
      "premarket_volume": 29415.0,
      "momentum_pct": 0.04,
      "consolidation_tightness_pct": 0.08,
      "distance_from_pm_high_pct": 0.04,
      "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": true
    },
    "pm_high": 12.53,
    "pm_low": 12.505
  },
  {
    "symbol": "ASLE",
    "total_score": 47.47,
    "raw_score": 50.32,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 6.03,
      "rvol": 0.24,
      "volume_acceleration": 3.26,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.8,
      "spread_liquidity": 4.42,
      "momentum_consistency": 2.67,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.715,
      "vwap": 5.7104,
      "vwap_slope": 0.0022,
      "rvol": 0.1,
      "volume_acceleration": 0.94,
      "premarket_volume": 50249.0,
      "momentum_pct": -0.09,
      "consolidation_tightness_pct": 0.17,
      "distance_from_pm_high_pct": 0.26,
      "extension_from_vwap_pct": 0.08,
      "spread_pct": 0.17
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 5.73,
    "pm_low": 5.685
  },
  {
    "symbol": "VERX",
    "total_score": 47.43,
    "raw_score": 50.28,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 0.68,
      "volume_acceleration": 3.8,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.79,
      "spread_liquidity": 4.75,
      "momentum_consistency": 2.15,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.52,
      "vwap": 13.5351,
      "vwap_slope": 0.0005,
      "rvol": 0.28,
      "volume_acceleration": 1.38,
      "premarket_volume": 140882.0,
      "momentum_pct": -0.07,
      "consolidation_tightness_pct": 0.11,
      "distance_from_pm_high_pct": 0.28,
      "extension_from_vwap_pct": -0.11,
      "spread_pct": 0.07
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": true
    },
    "pm_high": 13.5577,
    "pm_low": 13.505
  },
  {
    "symbol": "EROC",
    "total_score": 47.22,
    "raw_score": 50.06,
    "breakdown": {
      "price_quality": 1.88,
      "volume_quality": 12.0,
      "rvol": 1.02,
      "volume_acceleration": 3.2,
      "price_momentum": 0.52,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.18,
      "spread_liquidity": 3.98,
      "momentum_consistency": 3.09,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.125,
      "vwap": 13.1242,
      "vwap_slope": -0.002,
      "rvol": 0.42,
      "volume_acceleration": 0.92,
      "premarket_volume": 212039.0,
      "momentum_pct": 0.34,
      "consolidation_tightness_pct": 0.38,
      "distance_from_pm_high_pct": 1.09,
      "extension_from_vwap_pct": 0.01,
      "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": false
    },
    "pm_high": 13.27,
    "pm_low": 13.03
  },
  {
    "symbol": "XGN",
    "total_score": 47.07,
    "raw_score": 49.9,
    "breakdown": {
      "price_quality": 2.66,
      "volume_quality": 6.29,
      "rvol": 0.25,
      "volume_acceleration": 10,
      "price_momentum": 0.29,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.66,
      "spread_liquidity": 3.26,
      "momentum_consistency": 2.29,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.655,
      "vwap": 7.6344,
      "vwap_slope": -0.0434,
      "rvol": 0.1,
      "volume_acceleration": 7.33,
      "premarket_volume": 52420.0,
      "momentum_pct": 0.2,
      "consolidation_tightness_pct": 0.95,
      "distance_from_pm_high_pct": 0.46,
      "extension_from_vwap_pct": 0.27,
      "spread_pct": 0.52
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 7.69,
    "pm_low": 7.59
  },
  {
    "symbol": "ALVO",
    "total_score": 47.02,
    "raw_score": 49.84,
    "breakdown": {
      "price_quality": 0.0,
      "volume_quality": 7.34,
      "rvol": 0.29,
      "volume_acceleration": 2.35,
      "price_momentum": 0.15,
      "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.2,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 4.97,
      "vwap": 4.9439,
      "vwap_slope": 0.0079,
      "rvol": 0.12,
      "volume_acceleration": 0.67,
      "premarket_volume": 61188.0,
      "momentum_pct": 0.1,
      "consolidation_tightness_pct": 0.1,
      "distance_from_pm_high_pct": 0.3,
      "extension_from_vwap_pct": 0.53,
      "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": 4.985,
    "pm_low": 4.9
  },
  {
    "symbol": "LYNX",
    "total_score": 46.95,
    "raw_score": 49.76,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 1.57,
      "volume_acceleration": 3.86,
      "price_momentum": 0.44,
      "price_structure": 12,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 3.89,
      "spread_liquidity": 1.14,
      "momentum_consistency": 3.37,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.82,
      "vwap": 13.9338,
      "vwap_slope": -0.0211,
      "rvol": 0.65,
      "volume_acceleration": 1.11,
      "premarket_volume": 326934.0,
      "momentum_pct": 0.29,
      "consolidation_tightness_pct": 1.6,
      "distance_from_pm_high_pct": 2.81,
      "extension_from_vwap_pct": -0.82,
      "spread_pct": 1.16
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 14.22,
    "pm_low": 13.45
  },
  {
    "symbol": "AIRO",
    "total_score": 46.88,
    "raw_score": 49.7,
    "breakdown": {
      "price_quality": 3.01,
      "volume_quality": 2.75,
      "rvol": 0.11,
      "volume_acceleration": 4.6,
      "price_momentum": 0.19,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.91,
      "spread_liquidity": 4.17,
      "momentum_consistency": 2.57,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.01,
      "vwap": 7.9799,
      "vwap_slope": 0.0077,
      "rvol": 0.05,
      "volume_acceleration": 1.46,
      "premarket_volume": 22885.0,
      "momentum_pct": 0.12,
      "consolidation_tightness_pct": 0.12,
      "distance_from_pm_high_pct": 0.12,
      "extension_from_vwap_pct": 0.38,
      "spread_pct": 0.25
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 8.02,
    "pm_low": 7.94
  },
  {
    "symbol": "CION",
    "total_score": 46.81,
    "raw_score": 49.61,
    "breakdown": {
      "price_quality": 2.36,
      "volume_quality": 5.7,
      "rvol": 0.23,
      "volume_acceleration": 1.73,
      "price_momentum": 0.59,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 6,
      "spread_liquidity": 4.55,
      "momentum_consistency": 2.05,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.36,
      "vwap": 7.3366,
      "vwap_slope": 0.0026,
      "rvol": 0.1,
      "volume_acceleration": 0.5,
      "premarket_volume": 47531.0,
      "momentum_pct": 0.4,
      "consolidation_tightness_pct": 0.39,
      "distance_from_pm_high_pct": 0.0,
      "extension_from_vwap_pct": 0.32,
      "spread_pct": 0.14
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 7.36,
    "pm_low": 7.325
  },
  {
    "symbol": "ODD",
    "total_score": 46.73,
    "raw_score": 49.53,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 0.81,
      "volume_acceleration": 2.5,
      "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.55,
      "momentum_consistency": 3.14,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.79,
      "vwap": 14.8221,
      "vwap_slope": 0.0021,
      "rvol": 0.34,
      "volume_acceleration": 0.72,
      "premarket_volume": 167710.0,
      "momentum_pct": -0.2,
      "consolidation_tightness_pct": 0.3,
      "distance_from_pm_high_pct": 0.74,
      "extension_from_vwap_pct": -0.22,
      "spread_pct": 0.14
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": true
    },
    "pm_high": 14.9,
    "pm_low": 14.75
  },
  {
    "symbol": "TSSI",
    "total_score": 46.71,
    "raw_score": 49.51,
    "breakdown": {
      "price_quality": 3.62,
      "volume_quality": 10.08,
      "rvol": 0.4,
      "volume_acceleration": 10,
      "price_momentum": 0.09,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.18,
      "spread_liquidity": 4.61,
      "momentum_consistency": 3.12,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.625,
      "vwap": 8.6494,
      "vwap_slope": -0.0094,
      "rvol": 0.17,
      "volume_acceleration": 2.03,
      "premarket_volume": 84005.0,
      "momentum_pct": 0.06,
      "consolidation_tightness_pct": 0.29,
      "distance_from_pm_high_pct": 1.09,
      "extension_from_vwap_pct": -0.28,
      "spread_pct": 0.12
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 8.72,
    "pm_low": 8.6
  },
  {
    "symbol": "OPTX",
    "total_score": 46.6,
    "raw_score": 49.39,
    "breakdown": {
      "price_quality": 3.59,
      "volume_quality": 5.67,
      "rvol": 0.23,
      "volume_acceleration": 0.9,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.05,
      "spread_liquidity": 3.45,
      "momentum_consistency": 4.11,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.59,
      "vwap": 8.5831,
      "vwap_slope": 0.0069,
      "rvol": 0.09,
      "volume_acceleration": 0.26,
      "premarket_volume": 47210.0,
      "momentum_pct": -0.23,
      "consolidation_tightness_pct": 0.93,
      "distance_from_pm_high_pct": 1.26,
      "extension_from_vwap_pct": 0.08,
      "spread_pct": 0.47
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 8.7,
    "pm_low": 8.425
  },
  {
    "symbol": "DFNS",
    "total_score": 46.54,
    "raw_score": 49.33,
    "breakdown": {
      "price_quality": 3.07,
      "volume_quality": 12.0,
      "rvol": 0.61,
      "volume_acceleration": 3.24,
      "price_momentum": 2.04,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 4.89,
      "spread_liquidity": 0.51,
      "momentum_consistency": 3.77,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.9299,
      "vwap": 11.9111,
      "vwap_slope": -0.0618,
      "rvol": 0.25,
      "volume_acceleration": 0.93,
      "premarket_volume": 127080.0,
      "momentum_pct": 1.36,
      "consolidation_tightness_pct": 1.78,
      "distance_from_pm_high_pct": 1.49,
      "extension_from_vwap_pct": 0.16,
      "spread_pct": 1.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": 12.1099,
    "pm_low": 11.6
  },
  {
    "symbol": "LYG",
    "total_score": 46.35,
    "raw_score": 49.13,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 2.77,
      "volume_acceleration": 1.01,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.88,
      "spread_liquidity": 4.45,
      "momentum_consistency": 1.93,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.04,
      "vwap": 6.0436,
      "vwap_slope": 0.0002,
      "rvol": 1.15,
      "volume_acceleration": 0.29,
      "premarket_volume": 576174.0,
      "momentum_pct": -0.17,
      "consolidation_tightness_pct": 0.17,
      "distance_from_pm_high_pct": 0.17,
      "extension_from_vwap_pct": -0.06,
      "spread_pct": 0.17
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": true
    },
    "pm_high": 6.05,
    "pm_low": 6.035
  },
  {
    "symbol": "BHVN",
    "total_score": 46.28,
    "raw_score": 49.06,
    "breakdown": {
      "price_quality": 0.0,
      "volume_quality": 12.0,
      "rvol": 10.79,
      "volume_acceleration": 2.85,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 3.28,
      "spread_liquidity": 4.42,
      "momentum_consistency": 3.31,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 17.26,
      "vwap": 17.5891,
      "vwap_slope": -0.0157,
      "rvol": 4.05,
      "volume_acceleration": 0.82,
      "premarket_volume": 2023399.0,
      "momentum_pct": -0.4,
      "consolidation_tightness_pct": 2.05,
      "distance_from_pm_high_pct": 3.63,
      "extension_from_vwap_pct": -1.87,
      "spread_pct": 0.17
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 17.91,
    "pm_low": 17.2444
  },
  {
    "symbol": "IMRX",
    "total_score": 46.28,
    "raw_score": 49.06,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 3.5,
      "rvol": 0.14,
      "volume_acceleration": 4.16,
      "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.36,
      "momentum_consistency": 2.93,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.16,
      "vwap": 5.149,
      "vwap_slope": 0.0055,
      "rvol": 0.06,
      "volume_acceleration": 1.42,
      "premarket_volume": 29178.0,
      "momentum_pct": 0.1,
      "consolidation_tightness_pct": 0.19,
      "distance_from_pm_high_pct": 0.1,
      "extension_from_vwap_pct": 0.21,
      "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.165,
    "pm_low": 5.13
  },
  {
    "symbol": "CWK",
    "total_score": 46.24,
    "raw_score": 49.01,
    "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": 5.54,
      "spread_liquidity": 4.77,
      "momentum_consistency": 2.18,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.51,
      "vwap": 14.5553,
      "vwap_slope": -0.0117,
      "rvol": 0.26,
      "volume_acceleration": 2.16,
      "premarket_volume": 129346.0,
      "momentum_pct": -0.17,
      "consolidation_tightness_pct": 0.41,
      "distance_from_pm_high_pct": 0.62,
      "extension_from_vwap_pct": -0.31,
      "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.6,
    "pm_low": 14.5
  },
  {
    "symbol": "CTOS",
    "total_score": 46.17,
    "raw_score": 48.94,
    "breakdown": {
      "price_quality": 4.55,
      "volume_quality": 6.79,
      "rvol": 0.27,
      "volume_acceleration": 3.88,
      "price_momentum": 0.3,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.77,
      "spread_liquidity": 4.65,
      "momentum_consistency": 3.53,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.55,
      "vwap": 9.5471,
      "vwap_slope": -0.0048,
      "rvol": 0.11,
      "volume_acceleration": 1.12,
      "premarket_volume": 56602.0,
      "momentum_pct": 0.2,
      "consolidation_tightness_pct": 0.3,
      "distance_from_pm_high_pct": 0.31,
      "extension_from_vwap_pct": 0.03,
      "spread_pct": 0.1
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 9.58,
    "pm_low": 9.521
  },
  {
    "symbol": "CLF",
    "total_score": 45.89,
    "raw_score": 48.64,
    "breakdown": {
      "price_quality": 3.38,
      "volume_quality": 12.0,
      "rvol": 5.05,
      "volume_acceleration": 3.36,
      "price_momentum": 0.13,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.67,
      "spread_liquidity": 4.71,
      "momentum_consistency": 1.93,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.615,
      "vwap": 11.6299,
      "vwap_slope": -0.0061,
      "rvol": 1.89,
      "volume_acceleration": 0.97,
      "premarket_volume": 946480.0,
      "momentum_pct": 0.09,
      "consolidation_tightness_pct": 0.17,
      "distance_from_pm_high_pct": 0.44,
      "extension_from_vwap_pct": -0.13,
      "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.666,
    "pm_low": 11.595
  },
  {
    "symbol": "XHLD",
    "total_score": 45.72,
    "raw_score": 48.47,
    "breakdown": {
      "price_quality": 3.27,
      "volume_quality": 3.2,
      "rvol": 0.13,
      "volume_acceleration": 3.75,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.64,
      "spread_liquidity": 2.99,
      "momentum_consistency": 3.1,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.27,
      "vwap": 8.2578,
      "vwap_slope": 0.0063,
      "rvol": 0.05,
      "volume_acceleration": 1.08,
      "premarket_volume": 26652.0,
      "momentum_pct": -0.24,
      "consolidation_tightness_pct": 0.48,
      "distance_from_pm_high_pct": 0.48,
      "extension_from_vwap_pct": 0.15,
      "spread_pct": 0.6
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 8.31,
    "pm_low": 8.23
  },
  {
    "symbol": "PERI",
    "total_score": 45.56,
    "raw_score": 48.29,
    "breakdown": {
      "price_quality": 4.48,
      "volume_quality": 7.84,
      "rvol": 0.31,
      "volume_acceleration": 3.22,
      "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.65,
      "momentum_consistency": 2.67,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.48,
      "vwap": 9.4985,
      "vwap_slope": 0.0,
      "rvol": 0.13,
      "volume_acceleration": 0.93,
      "premarket_volume": 65308.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.32,
      "distance_from_pm_high_pct": 0.63,
      "extension_from_vwap_pct": -0.19,
      "spread_pct": 0.11
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": true
    },
    "pm_high": 9.54,
    "pm_low": 9.46
  },
  {
    "symbol": "IHS",
    "total_score": 45.47,
    "raw_score": 48.2,
    "breakdown": {
      "price_quality": 3.34,
      "volume_quality": 12.0,
      "rvol": 0.49,
      "volume_acceleration": 1.07,
      "price_momentum": 0.09,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.96,
      "spread_liquidity": 4.6,
      "momentum_consistency": 1.45,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.335,
      "vwap": 8.3325,
      "vwap_slope": -0.0,
      "rvol": 0.2,
      "volume_acceleration": 0.31,
      "premarket_volume": 102437.0,
      "momentum_pct": 0.06,
      "consolidation_tightness_pct": 0.12,
      "distance_from_pm_high_pct": 0.06,
      "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": false
    },
    "pm_high": 8.34,
    "pm_low": 8.33
  },
  {
    "symbol": "CHPT",
    "total_score": 45.46,
    "raw_score": 48.18,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 6.54,
      "rvol": 0.26,
      "volume_acceleration": 8.26,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.49,
      "spread_liquidity": 3.86,
      "momentum_consistency": 2.67,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.89,
      "vwap": 5.8997,
      "vwap_slope": 0.0199,
      "rvol": 0.11,
      "volume_acceleration": 1.83,
      "premarket_volume": 54490.0,
      "momentum_pct": -0.42,
      "consolidation_tightness_pct": 0.85,
      "distance_from_pm_high_pct": 0.67,
      "extension_from_vwap_pct": -0.17,
      "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": true
    },
    "pm_high": 5.93,
    "pm_low": 5.86
  },
  {
    "symbol": "SB",
    "total_score": 45.38,
    "raw_score": 48.11,
    "breakdown": {
      "price_quality": 3.3,
      "volume_quality": 12.0,
      "rvol": 0.62,
      "volume_acceleration": 8.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.15,
      "spread_liquidity": 4.6,
      "momentum_consistency": 1.71,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.305,
      "vwap": 8.3465,
      "vwap_slope": -0.0043,
      "rvol": 0.26,
      "volume_acceleration": 1.83,
      "premarket_volume": 129460.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.06,
      "distance_from_pm_high_pct": 1.13,
      "extension_from_vwap_pct": -0.5,
      "spread_pct": 0.12
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 8.4,
    "pm_low": 8.305
  },
  {
    "symbol": "KRO",
    "total_score": 45.34,
    "raw_score": 48.06,
    "breakdown": {
      "price_quality": 3.72,
      "volume_quality": 3.17,
      "rvol": 0.13,
      "volume_acceleration": 1.65,
      "price_momentum": 0.17,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.91,
      "spread_liquidity": 4.24,
      "momentum_consistency": 2.67,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.72,
      "vwap": 8.7101,
      "vwap_slope": 0.0029,
      "rvol": 0.05,
      "volume_acceleration": 0.47,
      "premarket_volume": 26405.0,
      "momentum_pct": 0.11,
      "consolidation_tightness_pct": 0.11,
      "distance_from_pm_high_pct": 0.11,
      "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": true
    },
    "pm_high": 8.73,
    "pm_low": 8.68
  },
  {
    "symbol": "SSTK",
    "total_score": 45.31,
    "raw_score": 48.02,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 10.38,
      "rvol": 0.42,
      "volume_acceleration": 3.39,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.39,
      "spread_liquidity": 4.39,
      "momentum_consistency": 2.96,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.49,
      "vwap": 5.4922,
      "vwap_slope": 0.0009,
      "rvol": 0.17,
      "volume_acceleration": 0.98,
      "premarket_volume": 86486.0,
      "momentum_pct": -0.27,
      "consolidation_tightness_pct": 0.36,
      "distance_from_pm_high_pct": 0.81,
      "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": true
    },
    "pm_high": 5.535,
    "pm_low": 5.4415
  },
  {
    "symbol": "IMTX",
    "total_score": 45.3,
    "raw_score": 48.01,
    "breakdown": {
      "price_quality": 4.34,
      "volume_quality": 3.59,
      "rvol": 0.14,
      "volume_acceleration": 7.49,
      "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.64,
      "momentum_consistency": 2.29,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.34,
      "vwap": 9.3411,
      "vwap_slope": 0.001,
      "rvol": 0.06,
      "volume_acceleration": 1.75,
      "premarket_volume": 29957.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.21,
      "distance_from_pm_high_pct": 0.11,
      "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": false,
      "vwap_rising": true
    },
    "pm_high": 9.35,
    "pm_low": 9.325
  },
  {
    "symbol": "STLA",
    "total_score": 45.29,
    "raw_score": 48.01,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 7.27,
      "volume_acceleration": 2.22,
      "price_momentum": 0.15,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.78,
      "spread_liquidity": 4.35,
      "momentum_consistency": 2.34,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.155,
      "vwap": 5.1597,
      "vwap_slope": -0.0016,
      "rvol": 2.72,
      "volume_acceleration": 1.22,
      "premarket_volume": 1362322.0,
      "momentum_pct": 0.1,
      "consolidation_tightness_pct": 0.19,
      "distance_from_pm_high_pct": 0.29,
      "extension_from_vwap_pct": -0.09,
      "spread_pct": 0.19
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 5.17,
    "pm_low": 5.15
  },
  {
    "symbol": "FRMI",
    "total_score": 45.28,
    "raw_score": 48.0,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 6.04,
      "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.6,
      "spread_liquidity": 4.41,
      "momentum_consistency": 2.71,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.6699,
      "vwap": 5.6734,
      "vwap_slope": -0.0012,
      "rvol": 2.27,
      "volume_acceleration": 1.33,
      "premarket_volume": 1133202.0,
      "momentum_pct": -0.09,
      "consolidation_tightness_pct": 0.53,
      "distance_from_pm_high_pct": 0.53,
      "extension_from_vwap_pct": -0.06,
      "spread_pct": 0.18
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 5.7,
    "pm_low": 5.65
  },
  {
    "symbol": "SGHC",
    "total_score": 45.27,
    "raw_score": 47.98,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 0.82,
      "volume_acceleration": 8.23,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.81,
      "spread_liquidity": 4.76,
      "momentum_consistency": 2.46,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.895,
      "vwap": 13.9098,
      "vwap_slope": -0.001,
      "rvol": 0.34,
      "volume_acceleration": 1.82,
      "premarket_volume": 170427.0,
      "momentum_pct": -0.07,
      "consolidation_tightness_pct": 0.25,
      "distance_from_pm_high_pct": 0.25,
      "extension_from_vwap_pct": -0.11,
      "spread_pct": 0.07
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 13.93,
    "pm_low": 13.855
  },
  {
    "symbol": "DC",
    "total_score": 45.07,
    "raw_score": 47.78,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 1.01,
      "volume_acceleration": 8.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.7,
      "spread_liquidity": 4.46,
      "momentum_consistency": 2.43,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.125,
      "vwap": 6.1294,
      "vwap_slope": -0.0017,
      "rvol": 0.42,
      "volume_acceleration": 1.83,
      "premarket_volume": 211007.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.33,
      "distance_from_pm_high_pct": 0.41,
      "extension_from_vwap_pct": -0.07,
      "spread_pct": 0.16
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 6.15,
    "pm_low": 6.11
  },
  {
    "symbol": "VMET",
    "total_score": 44.99,
    "raw_score": 47.69,
    "breakdown": {
      "price_quality": 4.55,
      "volume_quality": 7.32,
      "rvol": 0.29,
      "volume_acceleration": 3.12,
      "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.36,
      "momentum_consistency": 3.06,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.45,
      "vwap": 10.4451,
      "vwap_slope": -0.0014,
      "rvol": 0.12,
      "volume_acceleration": 0.9,
      "premarket_volume": 60967.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.24,
      "distance_from_pm_high_pct": 0.29,
      "extension_from_vwap_pct": 0.05,
      "spread_pct": 0.19
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 10.48,
    "pm_low": 10.42
  },
  {
    "symbol": "DFH",
    "total_score": 44.92,
    "raw_score": 47.62,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 3.62,
      "rvol": 0.14,
      "volume_acceleration": 1.95,
      "price_momentum": 0.05,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.85,
      "spread_liquidity": 4.1,
      "momentum_consistency": 4.0,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.785,
      "vwap": 14.783,
      "vwap_slope": 0.0038,
      "rvol": 0.06,
      "volume_acceleration": 1.2,
      "premarket_volume": 30183.0,
      "momentum_pct": 0.03,
      "consolidation_tightness_pct": 0.37,
      "distance_from_pm_high_pct": 0.2,
      "extension_from_vwap_pct": 0.01,
      "spread_pct": 0.27
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 14.815,
    "pm_low": 14.74
  },
  {
    "symbol": "LTRX",
    "total_score": 44.79,
    "raw_score": 47.47,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 1.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": 3.84,
      "spread_liquidity": 3.81,
      "momentum_consistency": 2.78,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.575,
      "vwap": 5.6684,
      "vwap_slope": -0.0276,
      "rvol": 0.48,
      "volume_acceleration": 2.23,
      "premarket_volume": 238101.0,
      "momentum_pct": -1.06,
      "consolidation_tightness_pct": 1.69,
      "distance_from_pm_high_pct": 2.87,
      "extension_from_vwap_pct": -1.65,
      "spread_pct": 0.36
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 5.74,
    "pm_low": 5.555
  },
  {
    "symbol": "HUN",
    "total_score": 44.68,
    "raw_score": 47.36,
    "breakdown": {
      "price_quality": 4.53,
      "volume_quality": 12.0,
      "rvol": 1.73,
      "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.76,
      "spread_liquidity": 4.65,
      "momentum_consistency": 2.86,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.525,
      "vwap": 9.5376,
      "vwap_slope": -0.0006,
      "rvol": 0.72,
      "volume_acceleration": 0.99,
      "premarket_volume": 360102.0,
      "momentum_pct": -0.05,
      "consolidation_tightness_pct": 0.21,
      "distance_from_pm_high_pct": 0.31,
      "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": 9.555,
    "pm_low": 9.515
  },
  {
    "symbol": "UPB",
    "total_score": 44.64,
    "raw_score": 47.32,
    "breakdown": {
      "price_quality": 2.17,
      "volume_quality": 5.69,
      "rvol": 0.23,
      "volume_acceleration": 8.41,
      "price_momentum": 0.21,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.69,
      "spread_liquidity": 4.07,
      "momentum_consistency": 1.25,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.17,
      "vwap": 7.173,
      "vwap_slope": 0.0008,
      "rvol": 0.09,
      "volume_acceleration": 1.84,
      "premarket_volume": 47414.0,
      "momentum_pct": 0.14,
      "consolidation_tightness_pct": 0.28,
      "distance_from_pm_high_pct": 0.42,
      "extension_from_vwap_pct": -0.04,
      "spread_pct": 0.28
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": true
    },
    "pm_high": 7.2,
    "pm_low": 7.14
  },
  {
    "symbol": "BCBP",
    "total_score": 44.61,
    "raw_score": 47.29,
    "breakdown": {
      "price_quality": 3.66,
      "volume_quality": 3.3,
      "rvol": 0.13,
      "volume_acceleration": 1.03,
      "price_momentum": 0.09,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.96,
      "spread_liquidity": 4.23,
      "momentum_consistency": 2.48,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.665,
      "vwap": 8.6534,
      "vwap_slope": 0.0013,
      "rvol": 0.06,
      "volume_acceleration": 0.3,
      "premarket_volume": 27509.0,
      "momentum_pct": 0.06,
      "consolidation_tightness_pct": 0.06,
      "distance_from_pm_high_pct": 0.06,
      "extension_from_vwap_pct": 0.13,
      "spread_pct": 0.23
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 8.67,
    "pm_low": 8.64
  },
  {
    "symbol": "AVO",
    "total_score": 44.61,
    "raw_score": 47.28,
    "breakdown": {
      "price_quality": 2.02,
      "volume_quality": 3.19,
      "rvol": 0.13,
      "volume_acceleration": 2.03,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.94,
      "spread_liquidity": 4.49,
      "momentum_consistency": 3.08,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.98,
      "vwap": 12.9736,
      "vwap_slope": 0.0047,
      "rvol": 0.05,
      "volume_acceleration": 0.58,
      "premarket_volume": 26616.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.12,
      "distance_from_pm_high_pct": 0.08,
      "extension_from_vwap_pct": 0.05,
      "spread_pct": 0.15
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 12.99,
    "pm_low": 12.93
  },
  {
    "symbol": "RMNI",
    "total_score": 44.54,
    "raw_score": 47.22,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 0.5,
      "volume_acceleration": 1.63,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.43,
      "spread_liquidity": 4.36,
      "momentum_consistency": 2.21,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.18,
      "vwap": 5.1983,
      "vwap_slope": 0.0044,
      "rvol": 0.21,
      "volume_acceleration": 1.16,
      "premarket_volume": 104062.0,
      "momentum_pct": -0.38,
      "consolidation_tightness_pct": 0.96,
      "distance_from_pm_high_pct": 0.77,
      "extension_from_vwap_pct": -0.35,
      "spread_pct": 0.19
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": true
    },
    "pm_high": 5.22,
    "pm_low": 5.17
  },
  {
    "symbol": "BGC",
    "total_score": 44.47,
    "raw_score": 47.13,
    "breakdown": {
      "price_quality": 3.13,
      "volume_quality": 12.0,
      "rvol": 0.93,
      "volume_acceleration": 6.4,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.62,
      "spread_liquidity": 4.72,
      "momentum_consistency": 1.93,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.87,
      "vwap": 11.9002,
      "vwap_slope": -0.0013,
      "rvol": 0.39,
      "volume_acceleration": 1.64,
      "premarket_volume": 193632.0,
      "momentum_pct": -0.17,
      "consolidation_tightness_pct": 0.29,
      "distance_from_pm_high_pct": 0.5,
      "extension_from_vwap_pct": -0.25,
      "spread_pct": 0.08
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 11.93,
    "pm_low": 11.865
  },
  {
    "symbol": "PHR",
    "total_score": 44.46,
    "raw_score": 47.13,
    "breakdown": {
      "price_quality": 3.33,
      "volume_quality": 8.54,
      "rvol": 0.34,
      "volume_acceleration": 10,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.68,
      "spread_liquidity": 4.71,
      "momentum_consistency": 2.12,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.67,
      "vwap": 11.6862,
      "vwap_slope": -0.0008,
      "rvol": 0.14,
      "volume_acceleration": 2.04,
      "premarket_volume": 71181.0,
      "momentum_pct": -0.13,
      "consolidation_tightness_pct": 0.17,
      "distance_from_pm_high_pct": 0.43,
      "extension_from_vwap_pct": -0.14,
      "spread_pct": 0.09
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 11.72,
    "pm_low": 11.6601
  },
  {
    "symbol": "MBC",
    "total_score": 44.46,
    "raw_score": 47.13,
    "breakdown": {
      "price_quality": 3.82,
      "volume_quality": 12.0,
      "rvol": 0.65,
      "volume_acceleration": 5.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.7,
      "spread_liquidity": 4.62,
      "momentum_consistency": 2.33,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.825,
      "vwap": 8.8342,
      "vwap_slope": -0.0035,
      "rvol": 0.27,
      "volume_acceleration": 1.56,
      "premarket_volume": 136073.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.17,
      "distance_from_pm_high_pct": 0.4,
      "extension_from_vwap_pct": -0.1,
      "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.86,
    "pm_low": 8.815
  },
  {
    "symbol": "EXK",
    "total_score": 44.2,
    "raw_score": 46.85,
    "breakdown": {
      "price_quality": 4.06,
      "volume_quality": 12.0,
      "rvol": 2.35,
      "volume_acceleration": 2.5,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.39,
      "spread_liquidity": 4.7,
      "momentum_consistency": 3.45,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.935,
      "vwap": 10.9602,
      "vwap_slope": -0.0091,
      "rvol": 0.98,
      "volume_acceleration": 0.72,
      "premarket_volume": 490100.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.27,
      "distance_from_pm_high_pct": 0.82,
      "extension_from_vwap_pct": -0.23,
      "spread_pct": 0.09
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 11.025,
    "pm_low": 10.91
  },
  {
    "symbol": "ALMU",
    "total_score": 44.17,
    "raw_score": 46.82,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 3.02,
      "rvol": 0.12,
      "volume_acceleration": 9.76,
      "price_momentum": 0.22,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.78,
      "spread_liquidity": 4.28,
      "momentum_consistency": 2.95,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.83,
      "vwap": 13.824,
      "vwap_slope": -0.0042,
      "rvol": 0.05,
      "volume_acceleration": 1.98,
      "premarket_volume": 25159.0,
      "momentum_pct": 0.14,
      "consolidation_tightness_pct": 0.43,
      "distance_from_pm_high_pct": 0.29,
      "extension_from_vwap_pct": 0.04,
      "spread_pct": 0.22
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 13.87,
    "pm_low": 13.79
  },
  {
    "symbol": "NVAX",
    "total_score": 44.13,
    "raw_score": 46.78,
    "breakdown": {
      "price_quality": 4.15,
      "volume_quality": 12.0,
      "rvol": 1.01,
      "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.64,
      "spread_liquidity": 4.64,
      "momentum_consistency": 3.37,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.1456,
      "vwap": 9.1608,
      "vwap_slope": -0.0012,
      "rvol": 0.42,
      "volume_acceleration": 1.03,
      "premarket_volume": 210946.0,
      "momentum_pct": -0.1,
      "consolidation_tightness_pct": 0.33,
      "distance_from_pm_high_pct": 0.48,
      "extension_from_vwap_pct": -0.17,
      "spread_pct": 0.11
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 9.19,
    "pm_low": 9.13
  },
  {
    "symbol": "ABSI",
    "total_score": 44.05,
    "raw_score": 46.7,
    "breakdown": {
      "price_quality": 4.21,
      "volume_quality": 12.0,
      "rvol": 0.94,
      "volume_acceleration": 4.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.43,
      "spread_liquidity": 4.64,
      "momentum_consistency": 2.95,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.205,
      "vwap": 9.2237,
      "vwap_slope": -0.0129,
      "rvol": 0.39,
      "volume_acceleration": 1.41,
      "premarket_volume": 194902.0,
      "momentum_pct": -0.16,
      "consolidation_tightness_pct": 0.6,
      "distance_from_pm_high_pct": 0.75,
      "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": false,
      "vwap_rising": false
    },
    "pm_high": 9.275,
    "pm_low": 9.17
  },
  {
    "symbol": "LNSR",
    "total_score": 43.86,
    "raw_score": 46.49,
    "breakdown": {
      "price_quality": 3.67,
      "volume_quality": 2.68,
      "rvol": 0.11,
      "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.36,
      "spread_liquidity": 1.92,
      "momentum_consistency": 3.56,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.67,
      "vwap": 8.666,
      "vwap_slope": -0.044,
      "rvol": 0.04,
      "volume_acceleration": 4.73,
      "premarket_volume": 22349.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 1.9,
      "distance_from_pm_high_pct": 0.86,
      "extension_from_vwap_pct": 0.05,
      "spread_pct": 0.92
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 8.745,
    "pm_low": 8.58
  },
  {
    "symbol": "PAYO",
    "total_score": 43.81,
    "raw_score": 46.43,
    "breakdown": {
      "price_quality": 2.12,
      "volume_quality": 12.0,
      "rvol": 0.78,
      "volume_acceleration": 7.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.95,
      "spread_liquidity": 4.53,
      "momentum_consistency": 1.54,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.115,
      "vwap": 7.1164,
      "vwap_slope": -0.0003,
      "rvol": 0.32,
      "volume_acceleration": 1.71,
      "premarket_volume": 162221.0,
      "momentum_pct": -0.07,
      "consolidation_tightness_pct": 0.14,
      "distance_from_pm_high_pct": 0.07,
      "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.12,
    "pm_low": 7.11
  },
  {
    "symbol": "QUBT",
    "total_score": 43.73,
    "raw_score": 46.35,
    "breakdown": {
      "price_quality": 3.38,
      "volume_quality": 12.0,
      "rvol": 1.49,
      "volume_acceleration": 3.43,
      "price_momentum": 0.18,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.6,
      "spread_liquidity": 4.6,
      "momentum_consistency": 3.26,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.385,
      "vwap": 8.388,
      "vwap_slope": -0.001,
      "rvol": 0.62,
      "volume_acceleration": 0.99,
      "premarket_volume": 310443.0,
      "momentum_pct": 0.12,
      "consolidation_tightness_pct": 0.24,
      "distance_from_pm_high_pct": 0.53,
      "extension_from_vwap_pct": -0.04,
      "spread_pct": 0.12
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 8.43,
    "pm_low": 8.34
  },
  {
    "symbol": "PSFE",
    "total_score": 43.71,
    "raw_score": 46.34,
    "breakdown": {
      "price_quality": 1.76,
      "volume_quality": 3.27,
      "rvol": 0.13,
      "volume_acceleration": 2.23,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.72,
      "spread_liquidity": 4.51,
      "momentum_consistency": 2.32,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.76,
      "vwap": 6.7559,
      "vwap_slope": 0.0019,
      "rvol": 0.05,
      "volume_acceleration": 0.64,
      "premarket_volume": 27217.0,
      "momentum_pct": -0.07,
      "consolidation_tightness_pct": 0.3,
      "distance_from_pm_high_pct": 0.37,
      "extension_from_vwap_pct": 0.06,
      "spread_pct": 0.15
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 6.785,
    "pm_low": 6.71
  },
  {
    "symbol": "OCS",
    "total_score": 43.53,
    "raw_score": 46.14,
    "breakdown": {
      "price_quality": 2.04,
      "volume_quality": 2.66,
      "rvol": 0.11,
      "volume_acceleration": 1.48,
      "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": 3.97,
      "momentum_consistency": 3.71,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.96,
      "vwap": 12.9568,
      "vwap_slope": 0.0058,
      "rvol": 0.04,
      "volume_acceleration": 0.42,
      "premarket_volume": 22185.0,
      "momentum_pct": -0.23,
      "consolidation_tightness_pct": 0.31,
      "distance_from_pm_high_pct": 0.31,
      "extension_from_vwap_pct": 0.02,
      "spread_pct": 0.31
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 13.0,
    "pm_low": 12.905
  },
  {
    "symbol": "BRSL",
    "total_score": 43.51,
    "raw_score": 46.12,
    "breakdown": {
      "price_quality": 3.5,
      "volume_quality": 12.0,
      "rvol": 0.63,
      "volume_acceleration": 5.41,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.58,
      "spread_liquidity": 4.71,
      "momentum_consistency": 1.89,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.5,
      "vwap": 11.526,
      "vwap_slope": -0.0096,
      "rvol": 0.26,
      "volume_acceleration": 1.54,
      "premarket_volume": 132120.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.09,
      "distance_from_pm_high_pct": 0.56,
      "extension_from_vwap_pct": -0.23,
      "spread_pct": 0.09
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 11.565,
    "pm_low": 11.5
  },
  {
    "symbol": "HNST",
    "total_score": 43.5,
    "raw_score": 46.11,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 3.03,
      "volume_acceleration": 3.65,
      "price_momentum": 0.39,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 4.98,
      "spread_liquidity": 4.43,
      "momentum_consistency": 3.72,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.83,
      "vwap": 5.8473,
      "vwap_slope": -0.0026,
      "rvol": 1.26,
      "volume_acceleration": 1.05,
      "premarket_volume": 631679.0,
      "momentum_pct": 0.26,
      "consolidation_tightness_pct": 0.43,
      "distance_from_pm_high_pct": 1.35,
      "extension_from_vwap_pct": -0.3,
      "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.78
  },
  {
    "symbol": "SFL",
    "total_score": 43.47,
    "raw_score": 46.07,
    "breakdown": {
      "price_quality": 3.07,
      "volume_quality": 12.0,
      "rvol": 0.85,
      "volume_acceleration": 5.68,
      "price_momentum": 0.13,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.22,
      "spread_liquidity": 4.72,
      "momentum_consistency": 2.0,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.925,
      "vwap": 11.9794,
      "vwap_slope": -0.0204,
      "rvol": 0.35,
      "volume_acceleration": 1.57,
      "premarket_volume": 177296.0,
      "momentum_pct": 0.08,
      "consolidation_tightness_pct": 0.21,
      "distance_from_pm_high_pct": 1.04,
      "extension_from_vwap_pct": -0.45,
      "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.05,
    "pm_low": 11.905
  },
  {
    "symbol": "GFR",
    "total_score": 43.43,
    "raw_score": 46.03,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 10.64,
      "rvol": 0.43,
      "volume_acceleration": 1.91,
      "price_momentum": 0.12,
      "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": 1.96,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.125,
      "vwap": 6.1214,
      "vwap_slope": -0.0004,
      "rvol": 0.18,
      "volume_acceleration": 1.19,
      "premarket_volume": 88661.0,
      "momentum_pct": 0.08,
      "consolidation_tightness_pct": 0.25,
      "distance_from_pm_high_pct": 0.24,
      "extension_from_vwap_pct": 0.06,
      "spread_pct": 0.16
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 6.14,
    "pm_low": 6.105
  },
  {
    "symbol": "LCID",
    "total_score": 43.42,
    "raw_score": 46.02,
    "breakdown": {
      "price_quality": 0.0,
      "volume_quality": 12.0,
      "rvol": 5.05,
      "volume_acceleration": 3.97,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.24,
      "spread_liquidity": 4.32,
      "momentum_consistency": 3.03,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 4.915,
      "vwap": 4.9297,
      "vwap_slope": -0.0064,
      "rvol": 1.89,
      "volume_acceleration": 1.14,
      "premarket_volume": 947242.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.41,
      "distance_from_pm_high_pct": 1.01,
      "extension_from_vwap_pct": -0.3,
      "spread_pct": 0.2
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 4.965,
    "pm_low": 4.9
  },
  {
    "symbol": "ASYS",
    "total_score": 43.41,
    "raw_score": 46.02,
    "breakdown": {
      "price_quality": 0.0,
      "volume_quality": 3.94,
      "rvol": 0.16,
      "volume_acceleration": 1.83,
      "price_momentum": 0.08,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.98,
      "spread_liquidity": 4.35,
      "momentum_consistency": 3.28,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 15.33,
      "vwap": 15.2739,
      "vwap_slope": 0.0098,
      "rvol": 0.07,
      "volume_acceleration": 0.53,
      "premarket_volume": 32836.0,
      "momentum_pct": 0.06,
      "consolidation_tightness_pct": 0.23,
      "distance_from_pm_high_pct": 0.03,
      "extension_from_vwap_pct": 0.37,
      "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": 15.335,
    "pm_low": 15.195
  },
  {
    "symbol": "GNW",
    "total_score": 43.33,
    "raw_score": 45.93,
    "breakdown": {
      "price_quality": 4.88,
      "volume_quality": 12.0,
      "rvol": 1.32,
      "volume_acceleration": 3.31,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.85,
      "spread_liquidity": 4.66,
      "momentum_consistency": 1.52,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.875,
      "vwap": 9.8805,
      "vwap_slope": -0.0015,
      "rvol": 0.55,
      "volume_acceleration": 1.33,
      "premarket_volume": 274060.0,
      "momentum_pct": -0.05,
      "consolidation_tightness_pct": 0.1,
      "distance_from_pm_high_pct": 0.2,
      "extension_from_vwap_pct": -0.06,
      "spread_pct": 0.1
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 9.895,
    "pm_low": 9.865
  },
  {
    "symbol": "SXC",
    "total_score": 43.24,
    "raw_score": 45.83,
    "breakdown": {
      "price_quality": 4.79,
      "volume_quality": 12.0,
      "rvol": 0.7,
      "volume_acceleration": 2.28,
      "price_momentum": 0.15,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.66,
      "spread_liquidity": 4.66,
      "momentum_consistency": 3.2,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.785,
      "vwap": 9.7903,
      "vwap_slope": -0.0059,
      "rvol": 0.29,
      "volume_acceleration": 1.23,
      "premarket_volume": 145060.0,
      "momentum_pct": 0.1,
      "consolidation_tightness_pct": 0.26,
      "distance_from_pm_high_pct": 0.46,
      "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.83,
    "pm_low": 9.755
  },
  {
    "symbol": "SG",
    "total_score": 43.18,
    "raw_score": 45.78,
    "breakdown": {
      "price_quality": 1.88,
      "volume_quality": 12.0,
      "rvol": 1.38,
      "volume_acceleration": 5.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.78,
      "spread_liquidity": 4.52,
      "momentum_consistency": 2.57,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.875,
      "vwap": 6.8784,
      "vwap_slope": -0.0002,
      "rvol": 0.58,
      "volume_acceleration": 1.51,
      "premarket_volume": 288369.0,
      "momentum_pct": 0.07,
      "consolidation_tightness_pct": 0.36,
      "distance_from_pm_high_pct": 0.29,
      "extension_from_vwap_pct": -0.05,
      "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.895,
    "pm_low": 6.855
  },
  {
    "symbol": "FUBO",
    "total_score": 43.17,
    "raw_score": 45.76,
    "breakdown": {
      "price_quality": 4.75,
      "volume_quality": 12.0,
      "rvol": 0.52,
      "volume_acceleration": 3.76,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 4.96,
      "spread_liquidity": 4.35,
      "momentum_consistency": 3.02,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.2505,
      "vwap": 10.3171,
      "vwap_slope": -0.0152,
      "rvol": 0.22,
      "volume_acceleration": 1.38,
      "premarket_volume": 108775.0,
      "momentum_pct": -0.46,
      "consolidation_tightness_pct": 0.54,
      "distance_from_pm_high_pct": 1.39,
      "extension_from_vwap_pct": -0.65,
      "spread_pct": 0.19
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 10.395,
    "pm_low": 10.25
  },
  {
    "symbol": "MTRX",
    "total_score": 42.94,
    "raw_score": 45.51,
    "breakdown": {
      "price_quality": 4.27,
      "volume_quality": 5.81,
      "rvol": 0.23,
      "volume_acceleration": 3.08,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.72,
      "spread_liquidity": 4.38,
      "momentum_consistency": 2.42,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.73,
      "vwap": 10.7448,
      "vwap_slope": 0.0,
      "rvol": 0.1,
      "volume_acceleration": 1.31,
      "premarket_volume": 48400.0,
      "momentum_pct": -0.19,
      "consolidation_tightness_pct": 0.28,
      "distance_from_pm_high_pct": 0.37,
      "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": true
    },
    "pm_high": 10.77,
    "pm_low": 10.72
  },
  {
    "symbol": "ICL",
    "total_score": 42.82,
    "raw_score": 45.39,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 0.6,
      "volume_acceleration": 6.71,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.82,
      "spread_liquidity": 4.41,
      "momentum_consistency": 1.96,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.685,
      "vwap": 5.6875,
      "vwap_slope": -0.001,
      "rvol": 0.25,
      "volume_acceleration": 1.67,
      "premarket_volume": 124288.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.11,
      "distance_from_pm_high_pct": 0.25,
      "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.699,
    "pm_low": 5.68
  },
  {
    "symbol": "KRNY",
    "total_score": 42.73,
    "raw_score": 45.29,
    "breakdown": {
      "price_quality": 4.88,
      "volume_quality": 12.0,
      "rvol": 0.82,
      "volume_acceleration": 3.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.62,
      "spread_liquidity": 4.66,
      "momentum_consistency": 1.19,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.88,
      "vwap": 9.891,
      "vwap_slope": -0.0008,
      "rvol": 0.34,
      "volume_acceleration": 1.37,
      "premarket_volume": 169875.0,
      "momentum_pct": -0.05,
      "consolidation_tightness_pct": 0.1,
      "distance_from_pm_high_pct": 0.5,
      "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.93,
    "pm_low": 9.86
  },
  {
    "symbol": "BLMN",
    "total_score": 42.7,
    "raw_score": 45.26,
    "breakdown": {
      "price_quality": 3.71,
      "volume_quality": 12.0,
      "rvol": 1.0,
      "volume_acceleration": 1.83,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.47,
      "spread_liquidity": 4.7,
      "momentum_consistency": 4.14,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.285,
      "vwap": 11.3097,
      "vwap_slope": -0.0008,
      "rvol": 0.42,
      "volume_acceleration": 0.53,
      "premarket_volume": 208484.0,
      "momentum_pct": -0.15,
      "consolidation_tightness_pct": 0.31,
      "distance_from_pm_high_pct": 0.7,
      "extension_from_vwap_pct": -0.22,
      "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.365,
    "pm_low": 11.271
  },
  {
    "symbol": "VOXR",
    "total_score": 42.66,
    "raw_score": 45.22,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 3.14,
      "rvol": 0.13,
      "volume_acceleration": 1.97,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.87,
      "spread_liquidity": 3.84,
      "momentum_consistency": 2.37,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.75,
      "vwap": 5.7388,
      "vwap_slope": 0.0042,
      "rvol": 0.05,
      "volume_acceleration": 1.2,
      "premarket_volume": 26200.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.35,
      "distance_from_pm_high_pct": 0.17,
      "extension_from_vwap_pct": 0.19,
      "spread_pct": 0.35
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 5.76,
    "pm_low": 5.7145
  },
  {
    "symbol": "QUAD",
    "total_score": 42.66,
    "raw_score": 45.22,
    "breakdown": {
      "price_quality": 4.98,
      "volume_quality": 5.33,
      "rvol": 0.21,
      "volume_acceleration": 10,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.55,
      "spread_liquidity": 4.67,
      "momentum_consistency": 2.07,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.02,
      "vwap": 10.0415,
      "vwap_slope": -0.0154,
      "rvol": 0.09,
      "volume_acceleration": 2.59,
      "premarket_volume": 44444.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.1,
      "distance_from_pm_high_pct": 0.6,
      "extension_from_vwap_pct": -0.21,
      "spread_pct": 0.1
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 10.08,
    "pm_low": 10.02
  },
  {
    "symbol": "NWL",
    "total_score": 42.63,
    "raw_score": 45.18,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 2.88,
      "volume_acceleration": 3.97,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.38,
      "spread_liquidity": 4.44,
      "momentum_consistency": 2.62,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.985,
      "vwap": 5.9996,
      "vwap_slope": -0.0031,
      "rvol": 1.2,
      "volume_acceleration": 1.4,
      "premarket_volume": 599195.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.17,
      "distance_from_pm_high_pct": 0.83,
      "extension_from_vwap_pct": -0.24,
      "spread_pct": 0.17
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 6.035,
    "pm_low": 5.98
  },
  {
    "symbol": "SPT",
    "total_score": 42.53,
    "raw_score": 45.08,
    "breakdown": {
      "price_quality": 4.43,
      "volume_quality": 12.0,
      "rvol": 0.53,
      "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": 5.04,
      "spread_liquidity": 4.68,
      "momentum_consistency": 2.15,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.573,
      "vwap": 10.6641,
      "vwap_slope": -0.0138,
      "rvol": 0.22,
      "volume_acceleration": 1.11,
      "premarket_volume": 110197.0,
      "momentum_pct": -0.49,
      "consolidation_tightness_pct": 0.61,
      "distance_from_pm_high_pct": 1.28,
      "extension_from_vwap_pct": -0.85,
      "spread_pct": 0.09
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 10.71,
    "pm_low": 10.57
  },
  {
    "symbol": "APPS",
    "total_score": 42.51,
    "raw_score": 45.06,
    "breakdown": {
      "price_quality": 3.93,
      "volume_quality": 12.0,
      "rvol": 1.9,
      "volume_acceleration": 2.41,
      "price_momentum": 0.07,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 4.8,
      "spread_liquidity": 4.7,
      "momentum_consistency": 2.86,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.07,
      "vwap": 11.1469,
      "vwap_slope": -0.0145,
      "rvol": 0.79,
      "volume_acceleration": 0.69,
      "premarket_volume": 395023.0,
      "momentum_pct": 0.05,
      "consolidation_tightness_pct": 0.18,
      "distance_from_pm_high_pct": 1.6,
      "extension_from_vwap_pct": -0.69,
      "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.25,
    "pm_low": 11.05
  },
  {
    "symbol": "FATN",
    "total_score": 42.47,
    "raw_score": 45.02,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 3.4,
      "rvol": 0.14,
      "volume_acceleration": 1.32,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.75,
      "spread_liquidity": 2.79,
      "momentum_consistency": 3.73,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.0,
      "vwap": 5.9842,
      "vwap_slope": 0.0193,
      "rvol": 0.06,
      "volume_acceleration": 0.38,
      "premarket_volume": 28320.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.42,
      "distance_from_pm_high_pct": 0.33,
      "extension_from_vwap_pct": 0.26,
      "spread_pct": 0.66
    },
    "flags": {
      "meets_min_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.02,
    "pm_low": 5.94
  },
  {
    "symbol": "NEOG",
    "total_score": 42.46,
    "raw_score": 45.01,
    "breakdown": {
      "price_quality": 3.24,
      "volume_quality": 12.0,
      "rvol": 0.54,
      "volume_acceleration": 3.71,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.68,
      "spread_liquidity": 4.72,
      "momentum_consistency": 2.72,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.76,
      "vwap": 11.7889,
      "vwap_slope": -0.0007,
      "rvol": 0.22,
      "volume_acceleration": 1.07,
      "premarket_volume": 112071.0,
      "momentum_pct": -0.21,
      "consolidation_tightness_pct": 0.25,
      "distance_from_pm_high_pct": 0.42,
      "extension_from_vwap_pct": -0.24,
      "spread_pct": 0.09
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 11.81,
    "pm_low": 11.76
  },
  {
    "symbol": "INGN",
    "total_score": 42.36,
    "raw_score": 44.9,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 2.77,
      "rvol": 0.11,
      "volume_acceleration": 1.56,
      "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.22,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.58,
      "vwap": 5.5786,
      "vwap_slope": 0.0013,
      "rvol": 0.05,
      "volume_acceleration": 0.45,
      "premarket_volume": 23051.0,
      "momentum_pct": -0.09,
      "consolidation_tightness_pct": 0.09,
      "distance_from_pm_high_pct": 0.09,
      "extension_from_vwap_pct": 0.02,
      "spread_pct": 0.18
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 5.585,
    "pm_low": 5.57
  },
  {
    "symbol": "HTLD",
    "total_score": 42.23,
    "raw_score": 44.76,
    "breakdown": {
      "price_quality": 2.63,
      "volume_quality": 6.31,
      "rvol": 0.25,
      "volume_acceleration": 3.98,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.67,
      "spread_liquidity": 4.19,
      "momentum_consistency": 2.13,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.37,
      "vwap": 12.3905,
      "vwap_slope": 0.0,
      "rvol": 0.11,
      "volume_acceleration": 1.15,
      "premarket_volume": 52554.0,
      "momentum_pct": -0.32,
      "consolidation_tightness_pct": 0.4,
      "distance_from_pm_high_pct": 0.44,
      "extension_from_vwap_pct": -0.17,
      "spread_pct": 0.24
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": true
    },
    "pm_high": 12.425,
    "pm_low": 12.36
  },
  {
    "symbol": "ARVN",
    "total_score": 42.22,
    "raw_score": 44.75,
    "breakdown": {
      "price_quality": 4.34,
      "volume_quality": 4.08,
      "rvol": 0.16,
      "volume_acceleration": 3.84,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.8,
      "spread_liquidity": 4.64,
      "momentum_consistency": 2.29,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.335,
      "vwap": 9.3411,
      "vwap_slope": 0.0017,
      "rvol": 0.07,
      "volume_acceleration": 1.1,
      "premarket_volume": 33990.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.05,
      "distance_from_pm_high_pct": 0.27,
      "extension_from_vwap_pct": -0.07,
      "spread_pct": 0.11
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": true
    },
    "pm_high": 9.36,
    "pm_low": 9.32
  },
  {
    "symbol": "YEXT",
    "total_score": 42.22,
    "raw_score": 44.76,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 8.02,
      "rvol": 0.32,
      "volume_acceleration": 3.38,
      "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": 1.85,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.485,
      "vwap": 6.4974,
      "vwap_slope": 0.0023,
      "rvol": 0.13,
      "volume_acceleration": 1.34,
      "premarket_volume": 66844.0,
      "momentum_pct": -0.31,
      "consolidation_tightness_pct": 0.31,
      "distance_from_pm_high_pct": 0.54,
      "extension_from_vwap_pct": -0.19,
      "spread_pct": 0.15
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": true
    },
    "pm_high": 6.52,
    "pm_low": 6.465
  },
  {
    "symbol": "ACVA",
    "total_score": 42.13,
    "raw_score": 44.66,
    "breakdown": {
      "price_quality": 2.42,
      "volume_quality": 12.0,
      "rvol": 0.84,
      "volume_acceleration": 4.33,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.4,
      "spread_liquidity": 4.55,
      "momentum_consistency": 2.72,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.42,
      "vwap": 7.4589,
      "vwap_slope": -0.0039,
      "rvol": 0.35,
      "volume_acceleration": 1.43,
      "premarket_volume": 176009.0,
      "momentum_pct": -0.47,
      "consolidation_tightness_pct": 0.6,
      "distance_from_pm_high_pct": 0.8,
      "extension_from_vwap_pct": -0.52,
      "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.48,
    "pm_low": 7.415
  },
  {
    "symbol": "NAVI",
    "total_score": 42.02,
    "raw_score": 44.55,
    "breakdown": {
      "price_quality": 4.37,
      "volume_quality": 6.67,
      "rvol": 0.27,
      "volume_acceleration": 7.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.68,
      "spread_liquidity": 4.64,
      "momentum_consistency": 2.8,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.365,
      "vwap": 9.387,
      "vwap_slope": -0.0064,
      "rvol": 0.11,
      "volume_acceleration": 1.77,
      "premarket_volume": 55564.0,
      "momentum_pct": -0.16,
      "consolidation_tightness_pct": 0.48,
      "distance_from_pm_high_pct": 0.43,
      "extension_from_vwap_pct": -0.23,
      "spread_pct": 0.11
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 9.405,
    "pm_low": 9.35
  },
  {
    "symbol": "JBS",
    "total_score": 41.99,
    "raw_score": 44.51,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 3.56,
      "volume_acceleration": 2.5,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.58,
      "spread_liquidity": 4.76,
      "momentum_consistency": 2.21,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.81,
      "vwap": 13.834,
      "vwap_slope": -0.003,
      "rvol": 1.48,
      "volume_acceleration": 0.72,
      "premarket_volume": 741585.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.18,
      "distance_from_pm_high_pct": 0.56,
      "extension_from_vwap_pct": -0.17,
      "spread_pct": 0.07
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 13.8875,
    "pm_low": 13.79
  },
  {
    "symbol": "REAL",
    "total_score": 41.98,
    "raw_score": 44.5,
    "breakdown": {
      "price_quality": 4.03,
      "volume_quality": 12.0,
      "rvol": 0.71,
      "volume_acceleration": 3.59,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.46,
      "spread_liquidity": 4.39,
      "momentum_consistency": 1.93,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.97,
      "vwap": 11.0071,
      "vwap_slope": -0.0099,
      "rvol": 0.29,
      "volume_acceleration": 1.36,
      "premarket_volume": 146951.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.18,
      "distance_from_pm_high_pct": 0.72,
      "extension_from_vwap_pct": -0.34,
      "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.05,
    "pm_low": 10.96
  },
  {
    "symbol": "PGEN",
    "total_score": 41.86,
    "raw_score": 44.37,
    "breakdown": {
      "price_quality": 2.54,
      "volume_quality": 12.0,
      "rvol": 2.33,
      "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.16,
      "spread_liquidity": 4.56,
      "momentum_consistency": 2.95,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.545,
      "vwap": 7.5776,
      "vwap_slope": -0.0041,
      "rvol": 0.97,
      "volume_acceleration": 0.7,
      "premarket_volume": 486215.0,
      "momentum_pct": -0.2,
      "consolidation_tightness_pct": 0.4,
      "distance_from_pm_high_pct": 1.11,
      "extension_from_vwap_pct": -0.43,
      "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.63,
    "pm_low": 7.54
  },
  {
    "symbol": "ADTN",
    "total_score": 41.84,
    "raw_score": 44.35,
    "breakdown": {
      "price_quality": 2.9,
      "volume_quality": 12.0,
      "rvol": 0.69,
      "volume_acceleration": 3.99,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.53,
      "spread_liquidity": 4.58,
      "momentum_consistency": 2.26,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.9,
      "vwap": 7.9287,
      "vwap_slope": -0.0033,
      "rvol": 0.29,
      "volume_acceleration": 1.15,
      "premarket_volume": 143509.0,
      "momentum_pct": -0.19,
      "consolidation_tightness_pct": 0.38,
      "distance_from_pm_high_pct": 0.63,
      "extension_from_vwap_pct": -0.36,
      "spread_pct": 0.13
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 7.95,
    "pm_low": 7.89
  },
  {
    "symbol": "DEI",
    "total_score": 41.79,
    "raw_score": 44.3,
    "breakdown": {
      "price_quality": 2.94,
      "volume_quality": 12.0,
      "rvol": 0.75,
      "volume_acceleration": 3.99,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.57,
      "spread_liquidity": 4.72,
      "momentum_consistency": 1.93,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.065,
      "vwap": 12.0922,
      "vwap_slope": -0.005,
      "rvol": 0.31,
      "volume_acceleration": 1.15,
      "premarket_volume": 156004.0,
      "momentum_pct": -0.12,
      "consolidation_tightness_pct": 0.25,
      "distance_from_pm_high_pct": 0.58,
      "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.135,
    "pm_low": 12.06
  },
  {
    "symbol": "KLAR",
    "total_score": 41.76,
    "raw_score": 44.26,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 2.74,
      "volume_acceleration": 2.32,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.64,
      "spread_liquidity": 4.77,
      "momentum_consistency": 2.9,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.35,
      "vwap": 14.3641,
      "vwap_slope": -0.0009,
      "rvol": 1.14,
      "volume_acceleration": 0.67,
      "premarket_volume": 571652.0,
      "momentum_pct": -0.07,
      "consolidation_tightness_pct": 0.21,
      "distance_from_pm_high_pct": 0.49,
      "extension_from_vwap_pct": -0.1,
      "spread_pct": 0.07
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 14.42,
    "pm_low": 14.305
  },
  {
    "symbol": "STTK",
    "total_score": 41.74,
    "raw_score": 44.25,
    "breakdown": {
      "price_quality": 2.91,
      "volume_quality": 10.11,
      "rvol": 0.4,
      "volume_acceleration": 6.16,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.44,
      "spread_liquidity": 4.16,
      "momentum_consistency": 2.67,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.91,
      "vwap": 7.9261,
      "vwap_slope": -0.0022,
      "rvol": 0.17,
      "volume_acceleration": 1.62,
      "premarket_volume": 84257.0,
      "momentum_pct": -0.06,
      "consolidation_tightness_pct": 0.57,
      "distance_from_pm_high_pct": 0.75,
      "extension_from_vwap_pct": -0.2,
      "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.875
  },
  {
    "symbol": "PD",
    "total_score": 41.53,
    "raw_score": 44.02,
    "breakdown": {
      "price_quality": 2.88,
      "volume_quality": 12.0,
      "rvol": 0.53,
      "volume_acceleration": 3.74,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.23,
      "spread_liquidity": 4.72,
      "momentum_consistency": 2.52,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.12,
      "vwap": 12.2015,
      "vwap_slope": -0.0136,
      "rvol": 0.22,
      "volume_acceleration": 1.08,
      "premarket_volume": 109431.0,
      "momentum_pct": -0.29,
      "consolidation_tightness_pct": 0.49,
      "distance_from_pm_high_pct": 1.02,
      "extension_from_vwap_pct": -0.67,
      "spread_pct": 0.08
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 12.245,
    "pm_low": 12.12
  },
  {
    "symbol": "HSLV",
    "total_score": 41.51,
    "raw_score": 44.0,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 7.98,
      "rvol": 0.32,
      "volume_acceleration": 2.14,
      "price_momentum": 0.4,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.67,
      "spread_liquidity": 4.4,
      "momentum_consistency": 2.39,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.595,
      "vwap": 5.5947,
      "vwap_slope": -0.0015,
      "rvol": 0.13,
      "volume_acceleration": 1.21,
      "premarket_volume": 66537.0,
      "momentum_pct": 0.27,
      "consolidation_tightness_pct": 0.27,
      "distance_from_pm_high_pct": 0.44,
      "extension_from_vwap_pct": 0.01,
      "spread_pct": 0.18
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 5.62,
    "pm_low": 5.57
  },
  {
    "symbol": "UAA",
    "total_score": 41.32,
    "raw_score": 43.8,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 3.29,
      "volume_acceleration": 2.26,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.8,
      "spread_liquidity": 4.36,
      "momentum_consistency": 2.21,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.175,
      "vwap": 5.1776,
      "vwap_slope": -0.0,
      "rvol": 1.37,
      "volume_acceleration": 0.65,
      "premarket_volume": 684600.0,
      "momentum_pct": -0.1,
      "consolidation_tightness_pct": 0.1,
      "distance_from_pm_high_pct": 0.27,
      "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": false,
      "vwap_rising": false
    },
    "pm_high": 5.189,
    "pm_low": 5.165
  },
  {
    "symbol": "STUB",
    "total_score": 41.24,
    "raw_score": 43.71,
    "breakdown": {
      "price_quality": 1.72,
      "volume_quality": 12.0,
      "rvol": 1.39,
      "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.72,
      "spread_liquidity": 4.5,
      "momentum_consistency": 1.82,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.725,
      "vwap": 6.7315,
      "vwap_slope": -0.0021,
      "rvol": 0.58,
      "volume_acceleration": 1.41,
      "premarket_volume": 288921.0,
      "momentum_pct": -0.07,
      "consolidation_tightness_pct": 0.15,
      "distance_from_pm_high_pct": 0.37,
      "extension_from_vwap_pct": -0.1,
      "spread_pct": 0.15
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 6.75,
    "pm_low": 6.715
  },
  {
    "symbol": "GDYN",
    "total_score": 41.22,
    "raw_score": 43.7,
    "breakdown": {
      "price_quality": 2.71,
      "volume_quality": 12.0,
      "rvol": 0.5,
      "volume_acceleration": 3.9,
      "price_momentum": 0.1,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.56,
      "spread_liquidity": 4.57,
      "momentum_consistency": 1.96,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.705,
      "vwap": 7.7202,
      "vwap_slope": -0.003,
      "rvol": 0.21,
      "volume_acceleration": 1.12,
      "premarket_volume": 103663.0,
      "momentum_pct": 0.06,
      "consolidation_tightness_pct": 0.06,
      "distance_from_pm_high_pct": 0.58,
      "extension_from_vwap_pct": -0.2,
      "spread_pct": 0.13
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 7.75,
    "pm_low": 7.69
  },
  {
    "symbol": "TDOC",
    "total_score": 41.19,
    "raw_score": 43.66,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 1.77,
      "volume_acceleration": 4.25,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.29,
      "spread_liquidity": 4.47,
      "momentum_consistency": 1.96,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.31,
      "vwap": 6.3348,
      "vwap_slope": -0.0059,
      "rvol": 0.74,
      "volume_acceleration": 1.43,
      "premarket_volume": 369739.0,
      "momentum_pct": -0.24,
      "consolidation_tightness_pct": 0.32,
      "distance_from_pm_high_pct": 0.94,
      "extension_from_vwap_pct": -0.39,
      "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.37,
    "pm_low": 6.31
  },
  {
    "symbol": "NMR",
    "total_score": 41.18,
    "raw_score": 43.65,
    "breakdown": {
      "price_quality": 4.95,
      "volume_quality": 3.82,
      "rvol": 0.15,
      "volume_acceleration": 3.78,
      "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.67,
      "momentum_consistency": 1.11,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.055,
      "vwap": 10.0546,
      "vwap_slope": -0.0,
      "rvol": 0.06,
      "volume_acceleration": 1.09,
      "premarket_volume": 31864.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.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.06,
    "pm_low": 10.05
  },
  {
    "symbol": "GENI",
    "total_score": 41.18,
    "raw_score": 43.65,
    "breakdown": {
      "price_quality": 2.66,
      "volume_quality": 12.0,
      "rvol": 1.76,
      "volume_acceleration": 2.95,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.22,
      "spread_liquidity": 4.56,
      "momentum_consistency": 2.11,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.655,
      "vwap": 7.6953,
      "vwap_slope": -0.0063,
      "rvol": 0.73,
      "volume_acceleration": 0.85,
      "premarket_volume": 366655.0,
      "momentum_pct": -0.2,
      "consolidation_tightness_pct": 0.33,
      "distance_from_pm_high_pct": 1.03,
      "extension_from_vwap_pct": -0.52,
      "spread_pct": 0.13
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 7.735,
    "pm_low": 7.65
  },
  {
    "symbol": "ALHC",
    "total_score": 41.16,
    "raw_score": 43.63,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 3.58,
      "volume_acceleration": 2.17,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 4.45,
      "spread_liquidity": 4.76,
      "momentum_consistency": 2.76,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.045,
      "vwap": 14.2086,
      "vwap_slope": -0.0248,
      "rvol": 1.49,
      "volume_acceleration": 0.62,
      "premarket_volume": 746459.0,
      "momentum_pct": -0.07,
      "consolidation_tightness_pct": 0.5,
      "distance_from_pm_high_pct": 2.06,
      "extension_from_vwap_pct": -1.15,
      "spread_pct": 0.07
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 14.3405,
    "pm_low": 14.04
  },
  {
    "symbol": "AMPL",
    "total_score": 41.09,
    "raw_score": 43.55,
    "breakdown": {
      "price_quality": 2.04,
      "volume_quality": 12.0,
      "rvol": 0.54,
      "volume_acceleration": 2.87,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.74,
      "spread_liquidity": 4.74,
      "momentum_consistency": 3.23,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.965,
      "vwap": 12.9887,
      "vwap_slope": -0.0004,
      "rvol": 0.22,
      "volume_acceleration": 0.82,
      "premarket_volume": 112103.0,
      "momentum_pct": -0.08,
      "consolidation_tightness_pct": 0.19,
      "distance_from_pm_high_pct": 0.35,
      "extension_from_vwap_pct": -0.18,
      "spread_pct": 0.08
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 13.01,
    "pm_low": 12.96
  },
  {
    "symbol": "VSTM",
    "total_score": 41.08,
    "raw_score": 43.54,
    "breakdown": {
      "price_quality": 2.2,
      "volume_quality": 12.0,
      "rvol": 0.87,
      "volume_acceleration": 3.01,
      "price_momentum": 0.42,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.79,
      "spread_liquidity": 4.54,
      "momentum_consistency": 2.33,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.195,
      "vwap": 7.1953,
      "vwap_slope": -0.0041,
      "rvol": 0.36,
      "volume_acceleration": 0.86,
      "premarket_volume": 181256.0,
      "momentum_pct": 0.28,
      "consolidation_tightness_pct": 0.56,
      "distance_from_pm_high_pct": 0.28,
      "extension_from_vwap_pct": -0.0,
      "spread_pct": 0.14
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 7.215,
    "pm_low": 7.16
  },
  {
    "symbol": "PDYN",
    "total_score": 41.05,
    "raw_score": 43.51,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 10.08,
      "rvol": 0.4,
      "volume_acceleration": 6.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.01,
      "spread_liquidity": 4.44,
      "momentum_consistency": 3.45,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.985,
      "vwap": 6.0246,
      "vwap_slope": -0.02,
      "rvol": 0.17,
      "volume_acceleration": 1.62,
      "premarket_volume": 83960.0,
      "momentum_pct": -0.91,
      "consolidation_tightness_pct": 0.93,
      "distance_from_pm_high_pct": 1.32,
      "extension_from_vwap_pct": -0.66,
      "spread_pct": 0.17
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 6.065,
    "pm_low": 5.985
  },
  {
    "symbol": "GLAS",
    "total_score": 40.99,
    "raw_score": 43.45,
    "breakdown": {
      "price_quality": 4.74,
      "volume_quality": 2.41,
      "rvol": 0.1,
      "volume_acceleration": 3.71,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.56,
      "spread_liquidity": 3.7,
      "momentum_consistency": 3.64,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.2599,
      "vwap": 10.2761,
      "vwap_slope": 0.008,
      "rvol": 0.04,
      "volume_acceleration": 1.07,
      "premarket_volume": 20089.0,
      "momentum_pct": -0.05,
      "consolidation_tightness_pct": 0.34,
      "distance_from_pm_high_pct": 0.58,
      "extension_from_vwap_pct": -0.16,
      "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": true
    },
    "pm_high": 10.32,
    "pm_low": 10.22
  },
  {
    "symbol": "TRLV",
    "total_score": 40.97,
    "raw_score": 43.43,
    "breakdown": {
      "price_quality": 3.6,
      "volume_quality": 12.0,
      "rvol": 0.6,
      "volume_acceleration": 2.89,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 4.96,
      "spread_liquidity": 3.83,
      "momentum_consistency": 3.14,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.4,
      "vwap": 11.4693,
      "vwap_slope": -0.0196,
      "rvol": 0.25,
      "volume_acceleration": 0.83,
      "premarket_volume": 124888.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.26,
      "distance_from_pm_high_pct": 1.38,
      "extension_from_vwap_pct": -0.6,
      "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": 11.56,
    "pm_low": 11.34
  },
  {
    "symbol": "BV",
    "total_score": 40.9,
    "raw_score": 43.36,
    "breakdown": {
      "price_quality": 4.0,
      "volume_quality": 12.0,
      "rvol": 0.51,
      "volume_acceleration": 2.3,
      "price_momentum": 0.03,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.5,
      "spread_liquidity": 4.7,
      "momentum_consistency": 1.93,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.001,
      "vwap": 11.0146,
      "vwap_slope": -0.0054,
      "rvol": 0.21,
      "volume_acceleration": 1.23,
      "premarket_volume": 106404.0,
      "momentum_pct": 0.02,
      "consolidation_tightness_pct": 0.14,
      "distance_from_pm_high_pct": 0.67,
      "extension_from_vwap_pct": -0.12,
      "spread_pct": 0.09
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 11.075,
    "pm_low": 10.99
  },
  {
    "symbol": "HLMN",
    "total_score": 40.82,
    "raw_score": 43.27,
    "breakdown": {
      "price_quality": 3.06,
      "volume_quality": 12.0,
      "rvol": 0.51,
      "volume_acceleration": 2.96,
      "price_momentum": 0.09,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.86,
      "spread_liquidity": 4.59,
      "momentum_consistency": 1.81,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.06,
      "vwap": 8.0602,
      "vwap_slope": -0.0006,
      "rvol": 0.21,
      "volume_acceleration": 1.3,
      "premarket_volume": 105516.0,
      "momentum_pct": 0.06,
      "consolidation_tightness_pct": 0.19,
      "distance_from_pm_high_pct": 0.19,
      "extension_from_vwap_pct": -0.0,
      "spread_pct": 0.12
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 8.075,
    "pm_low": 8.05
  },
  {
    "symbol": "SBGI",
    "total_score": 40.8,
    "raw_score": 43.25,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 7.14,
      "rvol": 0.29,
      "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.51,
      "spread_liquidity": 4.77,
      "momentum_consistency": 1.65,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.385,
      "vwap": 14.4217,
      "vwap_slope": -0.0298,
      "rvol": 0.12,
      "volume_acceleration": 2.22,
      "premarket_volume": 59496.0,
      "momentum_pct": -0.24,
      "consolidation_tightness_pct": 0.35,
      "distance_from_pm_high_pct": 0.66,
      "extension_from_vwap_pct": -0.25,
      "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.4801,
    "pm_low": 14.37
  },
  {
    "symbol": "SGRY",
    "total_score": 40.79,
    "raw_score": 43.24,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 0.5,
      "volume_acceleration": 3.68,
      "price_momentum": 0.21,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.68,
      "spread_liquidity": 4.76,
      "momentum_consistency": 2.5,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.135,
      "vwap": 14.1527,
      "vwap_slope": -0.0112,
      "rvol": 0.21,
      "volume_acceleration": 1.06,
      "premarket_volume": 104875.0,
      "momentum_pct": 0.14,
      "consolidation_tightness_pct": 0.21,
      "distance_from_pm_high_pct": 0.42,
      "extension_from_vwap_pct": -0.13,
      "spread_pct": 0.07
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 14.195,
    "pm_low": 14.11
  },
  {
    "symbol": "BOC",
    "total_score": 40.76,
    "raw_score": 43.21,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 5.89,
      "rvol": 0.24,
      "volume_acceleration": 1.48,
      "price_momentum": 0.21,
      "price_structure": 12,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.52,
      "spread_liquidity": 4.05,
      "momentum_consistency": 2.32,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.03,
      "vwap": 14.0828,
      "vwap_slope": -0.0197,
      "rvol": 0.1,
      "volume_acceleration": 0.42,
      "premarket_volume": 49087.0,
      "momentum_pct": 0.14,
      "consolidation_tightness_pct": 0.39,
      "distance_from_pm_high_pct": 0.64,
      "extension_from_vwap_pct": -0.37,
      "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": false,
      "vwap_rising": false
    },
    "pm_high": 14.12,
    "pm_low": 13.985
  },
  {
    "symbol": "HAYW",
    "total_score": 40.76,
    "raw_score": 43.21,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 1.42,
      "volume_acceleration": 2.64,
      "price_momentum": 0.05,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.49,
      "spread_liquidity": 4.77,
      "momentum_consistency": 2.95,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.5,
      "vwap": 14.5463,
      "vwap_slope": -0.021,
      "rvol": 0.59,
      "volume_acceleration": 1.26,
      "premarket_volume": 295277.0,
      "momentum_pct": 0.03,
      "consolidation_tightness_pct": 0.14,
      "distance_from_pm_high_pct": 0.68,
      "extension_from_vwap_pct": -0.32,
      "spread_pct": 0.07
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 14.6,
    "pm_low": 14.485
  },
  {
    "symbol": "NUVB",
    "total_score": 40.75,
    "raw_score": 43.19,
    "breakdown": {
      "price_quality": 1.96,
      "volume_quality": 12.0,
      "rvol": 1.91,
      "volume_acceleration": 3.77,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.09,
      "spread_liquidity": 4.52,
      "momentum_consistency": 1.54,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.955,
      "vwap": 7.0117,
      "vwap_slope": -0.014,
      "rvol": 0.8,
      "volume_acceleration": 1.08,
      "premarket_volume": 397759.0,
      "momentum_pct": -0.14,
      "consolidation_tightness_pct": 0.93,
      "distance_from_pm_high_pct": 1.21,
      "extension_from_vwap_pct": -0.81,
      "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.04,
    "pm_low": 6.95
  },
  {
    "symbol": "FRSH",
    "total_score": 40.69,
    "raw_score": 43.14,
    "breakdown": {
      "price_quality": 2.09,
      "volume_quality": 12.0,
      "rvol": 1.69,
      "volume_acceleration": 2.66,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.62,
      "spread_liquidity": 4.74,
      "momentum_consistency": 1.93,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.91,
      "vwap": 12.9428,
      "vwap_slope": -0.0031,
      "rvol": 0.7,
      "volume_acceleration": 1.27,
      "premarket_volume": 351284.0,
      "momentum_pct": -0.19,
      "consolidation_tightness_pct": 0.27,
      "distance_from_pm_high_pct": 0.5,
      "extension_from_vwap_pct": -0.25,
      "spread_pct": 0.08
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 12.975,
    "pm_low": 12.91
  },
  {
    "symbol": "BHK",
    "total_score": 40.66,
    "raw_score": 43.1,
    "breakdown": {
      "price_quality": 4.06,
      "volume_quality": 5.08,
      "rvol": 0.2,
      "volume_acceleration": 10,
      "price_momentum": 0.08,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.79,
      "spread_liquidity": 4.63,
      "momentum_consistency": 0.84,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.06,
      "vwap": 9.0671,
      "vwap_slope": -0.0063,
      "rvol": 0.08,
      "volume_acceleration": 2.85,
      "premarket_volume": 42351.0,
      "momentum_pct": 0.06,
      "consolidation_tightness_pct": 0.11,
      "distance_from_pm_high_pct": 0.28,
      "extension_from_vwap_pct": -0.08,
      "spread_pct": 0.11
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 9.085,
    "pm_low": 9.05
  },
  {
    "symbol": "CERT",
    "total_score": 40.63,
    "raw_score": 43.07,
    "breakdown": {
      "price_quality": 3.17,
      "volume_quality": 12.0,
      "rvol": 0.57,
      "volume_acceleration": 2.84,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.5,
      "spread_liquidity": 4.59,
      "momentum_consistency": 2.0,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.17,
      "vwap": 8.2017,
      "vwap_slope": -0.0086,
      "rvol": 0.24,
      "volume_acceleration": 1.28,
      "premarket_volume": 118867.0,
      "momentum_pct": -0.06,
      "consolidation_tightness_pct": 0.24,
      "distance_from_pm_high_pct": 0.67,
      "extension_from_vwap_pct": -0.39,
      "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.225,
    "pm_low": 8.17
  },
  {
    "symbol": "CWH",
    "total_score": 40.5,
    "raw_score": 42.93,
    "breakdown": {
      "price_quality": 1.53,
      "volume_quality": 11.31,
      "rvol": 0.45,
      "volume_acceleration": 4.32,
      "price_momentum": 0.02,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.71,
      "spread_liquidity": 4.49,
      "momentum_consistency": 2.71,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.525,
      "vwap": 6.5362,
      "vwap_slope": -0.0002,
      "rvol": 0.19,
      "volume_acceleration": 1.43,
      "premarket_volume": 94243.0,
      "momentum_pct": 0.01,
      "consolidation_tightness_pct": 0.16,
      "distance_from_pm_high_pct": 0.38,
      "extension_from_vwap_pct": -0.17,
      "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.55,
    "pm_low": 6.5191
  },
  {
    "symbol": "AVAH",
    "total_score": 40.49,
    "raw_score": 42.92,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 1.6,
      "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.0,
      "spread_liquidity": 4.76,
      "momentum_consistency": 2.67,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.72,
      "vwap": 13.8056,
      "vwap_slope": -0.0162,
      "rvol": 0.67,
      "volume_acceleration": 0.86,
      "premarket_volume": 333679.0,
      "momentum_pct": -0.29,
      "consolidation_tightness_pct": 0.29,
      "distance_from_pm_high_pct": 1.33,
      "extension_from_vwap_pct": -0.62,
      "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.905,
    "pm_low": 13.72
  },
  {
    "symbol": "WVE",
    "total_score": 40.46,
    "raw_score": 42.89,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 1.14,
      "volume_acceleration": 3.61,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.71,
      "spread_liquidity": 4.36,
      "momentum_consistency": 2.17,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.24,
      "vwap": 5.2455,
      "vwap_slope": -0.0017,
      "rvol": 0.47,
      "volume_acceleration": 1.04,
      "premarket_volume": 236610.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.38,
      "distance_from_pm_high_pct": 0.38,
      "extension_from_vwap_pct": -0.1,
      "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.26,
    "pm_low": 5.23
  },
  {
    "symbol": "ZURA",
    "total_score": 40.45,
    "raw_score": 42.88,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 0.62,
      "volume_acceleration": 4.42,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.37,
      "spread_liquidity": 4.45,
      "momentum_consistency": 2.12,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.0484,
      "vwap": 6.0686,
      "vwap_slope": -0.0029,
      "rvol": 0.26,
      "volume_acceleration": 1.44,
      "premarket_volume": 129097.0,
      "momentum_pct": -0.27,
      "consolidation_tightness_pct": 0.5,
      "distance_from_pm_high_pct": 0.85,
      "extension_from_vwap_pct": -0.33,
      "spread_pct": 0.17
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 6.1,
    "pm_low": 6.04
  },
  {
    "symbol": "ATAI",
    "total_score": 40.44,
    "raw_score": 42.87,
    "breakdown": {
      "price_quality": 2.41,
      "volume_quality": 12.0,
      "rvol": 0.83,
      "volume_acceleration": 3.34,
      "price_momentum": 0.08,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.95,
      "spread_liquidity": 4.55,
      "momentum_consistency": 1.31,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.405,
      "vwap": 7.4053,
      "vwap_slope": -0.0001,
      "rvol": 0.34,
      "volume_acceleration": 1.33,
      "premarket_volume": 172312.0,
      "momentum_pct": 0.05,
      "consolidation_tightness_pct": 0.14,
      "distance_from_pm_high_pct": 0.07,
      "extension_from_vwap_pct": -0.0,
      "spread_pct": 0.14
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 7.41,
    "pm_low": 7.4
  },
  {
    "symbol": "PRGO",
    "total_score": 40.38,
    "raw_score": 42.8,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 1.75,
      "volume_acceleration": 2.52,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.29,
      "spread_liquidity": 4.77,
      "momentum_consistency": 2.57,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.575,
      "vwap": 14.6442,
      "vwap_slope": -0.0158,
      "rvol": 0.73,
      "volume_acceleration": 1.25,
      "premarket_volume": 363927.0,
      "momentum_pct": -0.1,
      "consolidation_tightness_pct": 0.27,
      "distance_from_pm_high_pct": 0.95,
      "extension_from_vwap_pct": -0.47,
      "spread_pct": 0.07
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 14.715,
    "pm_low": 14.56
  },
  {
    "symbol": "LZ",
    "total_score": 40.33,
    "raw_score": 42.75,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 0.73,
      "volume_acceleration": 4.29,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.68,
      "spread_liquidity": 4.44,
      "momentum_consistency": 1.71,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.905,
      "vwap": 5.9179,
      "vwap_slope": -0.0023,
      "rvol": 0.3,
      "volume_acceleration": 1.43,
      "premarket_volume": 151233.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.25,
      "distance_from_pm_high_pct": 0.42,
      "extension_from_vwap_pct": -0.22,
      "spread_pct": 0.17
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 5.93,
    "pm_low": 5.9
  },
  {
    "symbol": "DCH",
    "total_score": 40.21,
    "raw_score": 42.62,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 0.95,
      "volume_acceleration": 3.8,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.41,
      "spread_liquidity": 4.47,
      "momentum_consistency": 2.09,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.32,
      "vwap": 6.3459,
      "vwap_slope": -0.003,
      "rvol": 0.39,
      "volume_acceleration": 1.09,
      "premarket_volume": 197250.0,
      "momentum_pct": -0.3,
      "consolidation_tightness_pct": 0.39,
      "distance_from_pm_high_pct": 0.78,
      "extension_from_vwap_pct": -0.41,
      "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.37,
    "pm_low": 6.32
  },
  {
    "symbol": "GOOS",
    "total_score": 40.21,
    "raw_score": 42.62,
    "breakdown": {
      "price_quality": 3.19,
      "volume_quality": 6.08,
      "rvol": 0.24,
      "volume_acceleration": 9.06,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.68,
      "spread_liquidity": 4.59,
      "momentum_consistency": 1.37,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.19,
      "vwap": 8.2046,
      "vwap_slope": -0.0023,
      "rvol": 0.1,
      "volume_acceleration": 1.91,
      "premarket_volume": 50671.0,
      "momentum_pct": -0.11,
      "consolidation_tightness_pct": 0.18,
      "distance_from_pm_high_pct": 0.43,
      "extension_from_vwap_pct": -0.18,
      "spread_pct": 0.12
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 8.225,
    "pm_low": 8.185
  },
  {
    "symbol": "XERS",
    "total_score": 40.17,
    "raw_score": 42.58,
    "breakdown": {
      "price_quality": 3.72,
      "volume_quality": 12.0,
      "rvol": 0.6,
      "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.02,
      "spread_liquidity": 4.62,
      "momentum_consistency": 1.29,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.725,
      "vwap": 8.7794,
      "vwap_slope": -0.0178,
      "rvol": 0.25,
      "volume_acceleration": 1.29,
      "premarket_volume": 124312.0,
      "momentum_pct": -0.11,
      "consolidation_tightness_pct": 0.34,
      "distance_from_pm_high_pct": 1.3,
      "extension_from_vwap_pct": -0.62,
      "spread_pct": 0.11
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 8.84,
    "pm_low": 8.725
  },
  {
    "symbol": "TBCH",
    "total_score": 40.08,
    "raw_score": 42.49,
    "breakdown": {
      "price_quality": 2.19,
      "volume_quality": 7.2,
      "rvol": 0.29,
      "volume_acceleration": 0.97,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.48,
      "spread_liquidity": 4.48,
      "momentum_consistency": 2.29,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.81,
      "vwap": 12.8239,
      "vwap_slope": 0.0016,
      "rvol": 0.12,
      "volume_acceleration": 0.28,
      "premarket_volume": 60001.0,
      "momentum_pct": -0.08,
      "consolidation_tightness_pct": 0.31,
      "distance_from_pm_high_pct": 0.7,
      "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": true
    },
    "pm_high": 12.9,
    "pm_low": 12.75
  },
  {
    "symbol": "MASS",
    "total_score": 39.98,
    "raw_score": 42.38,
    "breakdown": {
      "price_quality": 4.57,
      "volume_quality": 3.2,
      "rvol": 0.13,
      "volume_acceleration": 3.14,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.5,
      "spread_liquidity": 3.72,
      "momentum_consistency": 2.51,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.43,
      "vwap": 10.4674,
      "vwap_slope": 0.0096,
      "rvol": 0.05,
      "volume_acceleration": 1.31,
      "premarket_volume": 26694.0,
      "momentum_pct": -0.62,
      "consolidation_tightness_pct": 0.67,
      "distance_from_pm_high_pct": 0.67,
      "extension_from_vwap_pct": -0.36,
      "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": true
    },
    "pm_high": 10.5,
    "pm_low": 10.43
  },
  {
    "symbol": "FNKO",
    "total_score": 39.95,
    "raw_score": 42.34,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 5.72,
      "rvol": 0.23,
      "volume_acceleration": 10,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.42,
      "spread_liquidity": 4.48,
      "momentum_consistency": 2.59,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.435,
      "vwap": 6.4567,
      "vwap_slope": -0.0055,
      "rvol": 0.1,
      "volume_acceleration": 2.46,
      "premarket_volume": 47685.0,
      "momentum_pct": -0.08,
      "consolidation_tightness_pct": 0.39,
      "distance_from_pm_high_pct": 0.77,
      "extension_from_vwap_pct": -0.34,
      "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.485,
    "pm_low": 6.435
  },
  {
    "symbol": "MAGN",
    "total_score": 39.86,
    "raw_score": 42.26,
    "breakdown": {
      "price_quality": 2.53,
      "volume_quality": 5.06,
      "rvol": 0.2,
      "volume_acceleration": 10,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.2,
      "spread_liquidity": 4.2,
      "momentum_consistency": 2.67,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.47,
      "vwap": 12.5489,
      "vwap_slope": -0.028,
      "rvol": 0.08,
      "volume_acceleration": 2.72,
      "premarket_volume": 42180.0,
      "momentum_pct": -0.32,
      "consolidation_tightness_pct": 0.56,
      "distance_from_pm_high_pct": 1.07,
      "extension_from_vwap_pct": -0.63,
      "spread_pct": 0.24
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 12.605,
    "pm_low": 12.47
  },
  {
    "symbol": "MNRO",
    "total_score": 39.82,
    "raw_score": 42.21,
    "breakdown": {
      "price_quality": 2.37,
      "volume_quality": 12.0,
      "rvol": 0.98,
      "volume_acceleration": 2.6,
      "price_momentum": 0.17,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 4.86,
      "spread_liquidity": 4.21,
      "momentum_consistency": 2.62,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.635,
      "vwap": 12.7016,
      "vwap_slope": -0.0166,
      "rvol": 0.41,
      "volume_acceleration": 0.75,
      "premarket_volume": 204553.0,
      "momentum_pct": 0.12,
      "consolidation_tightness_pct": 0.24,
      "distance_from_pm_high_pct": 1.52,
      "extension_from_vwap_pct": -0.52,
      "spread_pct": 0.24
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 12.83,
    "pm_low": 12.56
  },
  {
    "symbol": "LAND",
    "total_score": 39.82,
    "raw_score": 42.21,
    "breakdown": {
      "price_quality": 3.84,
      "volume_quality": 11.41,
      "rvol": 0.46,
      "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.58,
      "spread_liquidity": 4.62,
      "momentum_consistency": 2.09,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.84,
      "vwap": 8.8617,
      "vwap_slope": -0.004,
      "rvol": 0.19,
      "volume_acceleration": 0.52,
      "premarket_volume": 95098.0,
      "momentum_pct": -0.06,
      "consolidation_tightness_pct": 0.11,
      "distance_from_pm_high_pct": 0.56,
      "extension_from_vwap_pct": -0.25,
      "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.89,
    "pm_low": 8.83
  },
  {
    "symbol": "STGW",
    "total_score": 39.81,
    "raw_score": 42.19,
    "breakdown": {
      "price_quality": 3.63,
      "volume_quality": 6.3,
      "rvol": 0.25,
      "volume_acceleration": 7.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.48,
      "spread_liquidity": 4.61,
      "momentum_consistency": 1.68,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.635,
      "vwap": 8.6731,
      "vwap_slope": -0.0075,
      "rvol": 0.1,
      "volume_acceleration": 1.78,
      "premarket_volume": 52487.0,
      "momentum_pct": -0.4,
      "consolidation_tightness_pct": 0.46,
      "distance_from_pm_high_pct": 0.69,
      "extension_from_vwap_pct": -0.44,
      "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.695,
    "pm_low": 8.635
  },
  {
    "symbol": "ULCC",
    "total_score": 39.66,
    "raw_score": 42.04,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 0.72,
      "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.63,
      "spread_liquidity": 4.45,
      "momentum_consistency": 2.62,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.025,
      "vwap": 6.0269,
      "vwap_slope": -0.0009,
      "rvol": 0.3,
      "volume_acceleration": 0.78,
      "premarket_volume": 150080.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.16,
      "distance_from_pm_high_pct": 0.5,
      "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": 6.055,
    "pm_low": 5.995
  },
  {
    "symbol": "SSYS",
    "total_score": 39.34,
    "raw_score": 41.7,
    "breakdown": {
      "price_quality": 2.96,
      "volume_quality": 3.84,
      "rvol": 0.15,
      "volume_acceleration": 2.55,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.58,
      "spread_liquidity": 4.58,
      "momentum_consistency": 2.43,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.965,
      "vwap": 7.9777,
      "vwap_slope": 0.0057,
      "rvol": 0.06,
      "volume_acceleration": 0.73,
      "premarket_volume": 32025.0,
      "momentum_pct": -0.06,
      "consolidation_tightness_pct": 0.13,
      "distance_from_pm_high_pct": 0.56,
      "extension_from_vwap_pct": -0.16,
      "spread_pct": 0.13
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": true
    },
    "pm_high": 8.01,
    "pm_low": 7.9506
  },
  {
    "symbol": "HAFN",
    "total_score": 39.2,
    "raw_score": 41.56,
    "breakdown": {
      "price_quality": 2.78,
      "volume_quality": 12.0,
      "rvol": 1.25,
      "volume_acceleration": 1.34,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.62,
      "spread_liquidity": 4.57,
      "momentum_consistency": 1.6,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.775,
      "vwap": 7.7925,
      "vwap_slope": -0.0013,
      "rvol": 0.52,
      "volume_acceleration": 0.39,
      "premarket_volume": 261006.0,
      "momentum_pct": -0.13,
      "consolidation_tightness_pct": 0.25,
      "distance_from_pm_high_pct": 0.51,
      "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": false,
      "vwap_rising": false
    },
    "pm_high": 7.815,
    "pm_low": 7.7702
  },
  {
    "symbol": "OI",
    "total_score": 39.17,
    "raw_score": 41.52,
    "breakdown": {
      "price_quality": 2.45,
      "volume_quality": 12.0,
      "rvol": 0.92,
      "volume_acceleration": 2.45,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.15,
      "spread_liquidity": 4.55,
      "momentum_consistency": 1.6,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.445,
      "vwap": 7.4898,
      "vwap_slope": -0.0063,
      "rvol": 0.38,
      "volume_acceleration": 0.71,
      "premarket_volume": 190922.0,
      "momentum_pct": -0.27,
      "consolidation_tightness_pct": 0.34,
      "distance_from_pm_high_pct": 1.13,
      "extension_from_vwap_pct": -0.6,
      "spread_pct": 0.13
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 7.53,
    "pm_low": 7.445
  },
  {
    "symbol": "ANNX",
    "total_score": 39.08,
    "raw_score": 41.43,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 1.51,
      "volume_acceleration": 2.98,
      "price_momentum": 0.15,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.19,
      "spread_liquidity": 4.34,
      "momentum_consistency": 1.36,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.015,
      "vwap": 5.0418,
      "vwap_slope": -0.0052,
      "rvol": 0.63,
      "volume_acceleration": 0.86,
      "premarket_volume": 315146.0,
      "momentum_pct": 0.1,
      "consolidation_tightness_pct": 0.2,
      "distance_from_pm_high_pct": 1.08,
      "extension_from_vwap_pct": -0.53,
      "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.07,
    "pm_low": 5.01
  },
  {
    "symbol": "BHC",
    "total_score": 39.08,
    "raw_score": 41.42,
    "breakdown": {
      "price_quality": 1.63,
      "volume_quality": 12.0,
      "rvol": 2.33,
      "volume_acceleration": 0.7,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.44,
      "spread_liquidity": 4.5,
      "momentum_consistency": 2.43,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.63,
      "vwap": 6.659,
      "vwap_slope": -0.0018,
      "rvol": 0.97,
      "volume_acceleration": 0.2,
      "premarket_volume": 486016.0,
      "momentum_pct": -0.08,
      "consolidation_tightness_pct": 0.3,
      "distance_from_pm_high_pct": 0.75,
      "extension_from_vwap_pct": -0.44,
      "spread_pct": 0.15
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 6.68,
    "pm_low": 6.63
  },
  {
    "symbol": "HELP",
    "total_score": 38.98,
    "raw_score": 41.32,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 0.62,
      "volume_acceleration": 2.69,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.49,
      "spread_liquidity": 4.52,
      "momentum_consistency": 2.11,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.86,
      "vwap": 13.9028,
      "vwap_slope": -0.0033,
      "rvol": 0.26,
      "volume_acceleration": 0.77,
      "premarket_volume": 128204.0,
      "momentum_pct": -0.29,
      "consolidation_tightness_pct": 0.43,
      "distance_from_pm_high_pct": 0.68,
      "extension_from_vwap_pct": -0.31,
      "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": 13.955,
    "pm_low": 13.85
  },
  {
    "symbol": "AVPT",
    "total_score": 38.85,
    "raw_score": 41.18,
    "breakdown": {
      "price_quality": 1.68,
      "volume_quality": 11.24,
      "rvol": 0.45,
      "volume_acceleration": 2.36,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.64,
      "spread_liquidity": 4.75,
      "momentum_consistency": 2.67,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.32,
      "vwap": 13.3497,
      "vwap_slope": -0.0038,
      "rvol": 0.19,
      "volume_acceleration": 0.68,
      "premarket_volume": 93641.0,
      "momentum_pct": -0.11,
      "consolidation_tightness_pct": 0.19,
      "distance_from_pm_high_pct": 0.49,
      "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": false,
      "vwap_rising": false
    },
    "pm_high": 13.385,
    "pm_low": 13.32
  },
  {
    "symbol": "RPD",
    "total_score": 38.81,
    "raw_score": 41.14,
    "breakdown": {
      "price_quality": 3.11,
      "volume_quality": 9.15,
      "rvol": 0.37,
      "volume_acceleration": 3.34,
      "price_momentum": 0.06,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.47,
      "spread_liquidity": 4.44,
      "momentum_consistency": 2.81,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.895,
      "vwap": 11.9307,
      "vwap_slope": -0.0074,
      "rvol": 0.15,
      "volume_acceleration": 1.33,
      "premarket_volume": 76214.0,
      "momentum_pct": 0.04,
      "consolidation_tightness_pct": 0.34,
      "distance_from_pm_high_pct": 0.71,
      "extension_from_vwap_pct": -0.3,
      "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.98,
    "pm_low": 11.87
  },
  {
    "symbol": "ACOG",
    "total_score": 38.81,
    "raw_score": 41.14,
    "breakdown": {
      "price_quality": 4.54,
      "volume_quality": 2.48,
      "rvol": 0.1,
      "volume_acceleration": 10,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.22,
      "spread_liquidity": 1.51,
      "momentum_consistency": 4.89,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.54,
      "vwap": 9.5498,
      "vwap_slope": -0.0071,
      "rvol": 0.04,
      "volume_acceleration": 6.52,
      "premarket_volume": 20674.0,
      "momentum_pct": -1.04,
      "consolidation_tightness_pct": 1.78,
      "distance_from_pm_high_pct": 1.04,
      "extension_from_vwap_pct": -0.1,
      "spread_pct": 1.05
    },
    "flags": {
      "meets_min_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.64,
    "pm_low": 9.47
  },
  {
    "symbol": "MH",
    "total_score": 38.65,
    "raw_score": 40.97,
    "breakdown": {
      "price_quality": 1.98,
      "volume_quality": 5.69,
      "rvol": 0.23,
      "volume_acceleration": 8.82,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.49,
      "spread_liquidity": 4.49,
      "momentum_consistency": 1.88,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.02,
      "vwap": 13.0647,
      "vwap_slope": -0.0155,
      "rvol": 0.09,
      "volume_acceleration": 1.88,
      "premarket_volume": 47398.0,
      "momentum_pct": -0.23,
      "consolidation_tightness_pct": 0.31,
      "distance_from_pm_high_pct": 0.69,
      "extension_from_vwap_pct": -0.34,
      "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.11,
    "pm_low": 13.02
  },
  {
    "symbol": "LXU",
    "total_score": 38.62,
    "raw_score": 40.93,
    "breakdown": {
      "price_quality": 4.58,
      "volume_quality": 8.55,
      "rvol": 0.34,
      "volume_acceleration": 1.63,
      "price_momentum": 0.33,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.7,
      "spread_liquidity": 4.68,
      "momentum_consistency": 2.72,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.418,
      "vwap": 10.418,
      "vwap_slope": -0.0078,
      "rvol": 0.14,
      "volume_acceleration": 1.16,
      "premarket_volume": 71244.0,
      "momentum_pct": 0.22,
      "consolidation_tightness_pct": 0.27,
      "distance_from_pm_high_pct": 0.4,
      "extension_from_vwap_pct": -0.0,
      "spread_pct": 0.1
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 10.46,
    "pm_low": 10.38
  },
  {
    "symbol": "RES",
    "total_score": 38.53,
    "raw_score": 40.84,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 0.53,
      "volume_acceleration": 1.97,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.63,
      "spread_liquidity": 4.45,
      "momentum_consistency": 2.35,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.115,
      "vwap": 6.1227,
      "vwap_slope": -0.0021,
      "rvol": 0.22,
      "volume_acceleration": 1.2,
      "premarket_volume": 110473.0,
      "momentum_pct": -0.16,
      "consolidation_tightness_pct": 0.16,
      "distance_from_pm_high_pct": 0.49,
      "extension_from_vwap_pct": -0.13,
      "spread_pct": 0.16
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 6.145,
    "pm_low": 6.11
  },
  {
    "symbol": "VSTS",
    "total_score": 38.5,
    "raw_score": 40.81,
    "breakdown": {
      "price_quality": 2.03,
      "volume_quality": 9.97,
      "rvol": 0.4,
      "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.6,
      "spread_liquidity": 4.74,
      "momentum_consistency": 2.55,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.975,
      "vwap": 13.0077,
      "vwap_slope": -0.0095,
      "rvol": 0.17,
      "volume_acceleration": 0.9,
      "premarket_volume": 83107.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.12,
      "distance_from_pm_high_pct": 0.54,
      "extension_from_vwap_pct": -0.25,
      "spread_pct": 0.08
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 13.045,
    "pm_low": 12.97
  },
  {
    "symbol": "PACK",
    "total_score": 38.38,
    "raw_score": 40.69,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 3.3,
      "rvol": 0.13,
      "volume_acceleration": 4.16,
      "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.34,
      "momentum_consistency": 1.89,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.08,
      "vwap": 5.0767,
      "vwap_slope": -0.0001,
      "rvol": 0.06,
      "volume_acceleration": 1.42,
      "premarket_volume": 27527.0,
      "momentum_pct": 0.2,
      "consolidation_tightness_pct": 0.2,
      "distance_from_pm_high_pct": 0.2,
      "extension_from_vwap_pct": 0.07,
      "spread_pct": 0.2
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 5.09,
    "pm_low": 5.065
  },
  {
    "symbol": "ARDT",
    "total_score": 38.34,
    "raw_score": 40.64,
    "breakdown": {
      "price_quality": 3.68,
      "volume_quality": 3.05,
      "rvol": 0.12,
      "volume_acceleration": 10,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.34,
      "spread_liquidity": 4.12,
      "momentum_consistency": 1.93,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.32,
      "vwap": 11.3685,
      "vwap_slope": -0.0196,
      "rvol": 0.05,
      "volume_acceleration": 2.34,
      "premarket_volume": 25419.0,
      "momentum_pct": -0.31,
      "consolidation_tightness_pct": 0.31,
      "distance_from_pm_high_pct": 0.88,
      "extension_from_vwap_pct": -0.43,
      "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.42,
    "pm_low": 11.32
  },
  {
    "symbol": "GRML",
    "total_score": 38.33,
    "raw_score": 40.63,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 1.1,
      "volume_acceleration": 5.98,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 3.46,
      "spread_liquidity": 1.84,
      "momentum_consistency": 2.34,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.28,
      "vwap": 5.3394,
      "vwap_slope": -0.0088,
      "rvol": 0.46,
      "volume_acceleration": 1.6,
      "premarket_volume": 229477.0,
      "momentum_pct": -0.09,
      "consolidation_tightness_pct": 0.85,
      "distance_from_pm_high_pct": 3.39,
      "extension_from_vwap_pct": -1.11,
      "spread_pct": 0.95
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 5.465,
    "pm_low": 5.25
  },
  {
    "symbol": "CARS",
    "total_score": 38.23,
    "raw_score": 40.52,
    "breakdown": {
      "price_quality": 3.03,
      "volume_quality": 8.95,
      "rvol": 0.36,
      "volume_acceleration": 3.87,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 4.98,
      "spread_liquidity": 4.72,
      "momentum_consistency": 2.21,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.97,
      "vwap": 12.0831,
      "vwap_slope": -0.0212,
      "rvol": 0.15,
      "volume_acceleration": 1.11,
      "premarket_volume": 74615.0,
      "momentum_pct": -0.21,
      "consolidation_tightness_pct": 0.54,
      "distance_from_pm_high_pct": 1.36,
      "extension_from_vwap_pct": -0.94,
      "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.135,
    "pm_low": 11.96
  },
  {
    "symbol": "MATV",
    "total_score": 37.98,
    "raw_score": 40.26,
    "breakdown": {
      "price_quality": 2.86,
      "volume_quality": 10.23,
      "rvol": 0.41,
      "volume_acceleration": 1.99,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.33,
      "spread_liquidity": 4.73,
      "momentum_consistency": 2.31,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.14,
      "vwap": 12.2018,
      "vwap_slope": -0.0172,
      "rvol": 0.17,
      "volume_acceleration": 0.57,
      "premarket_volume": 85221.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.16,
      "distance_from_pm_high_pct": 0.89,
      "extension_from_vwap_pct": -0.51,
      "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.249,
    "pm_low": 12.12
  },
  {
    "symbol": "AMCI",
    "total_score": 37.9,
    "raw_score": 40.17,
    "breakdown": {
      "price_quality": 0.0,
      "volume_quality": 4.07,
      "rvol": 0.16,
      "volume_acceleration": 2.97,
      "price_momentum": 0.37,
      "price_structure": 12,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 4.35,
      "spread_liquidity": 2.5,
      "momentum_consistency": 3.75,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 4.02,
      "vwap": 4.0384,
      "vwap_slope": -0.0059,
      "rvol": 0.07,
      "volume_acceleration": 0.85,
      "premarket_volume": 33937.0,
      "momentum_pct": 0.25,
      "consolidation_tightness_pct": 0.5,
      "distance_from_pm_high_pct": 2.21,
      "extension_from_vwap_pct": -0.46,
      "spread_pct": 0.75
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 4.1107,
    "pm_low": 3.985
  },
  {
    "symbol": "DBI",
    "total_score": 37.86,
    "raw_score": 40.13,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 10.46,
      "rvol": 0.42,
      "volume_acceleration": 3.84,
      "price_momentum": 0.13,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.55,
      "spread_liquidity": 3.84,
      "momentum_consistency": 2.0,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.75,
      "vwap": 5.7548,
      "vwap_slope": -0.0034,
      "rvol": 0.17,
      "volume_acceleration": 1.38,
      "premarket_volume": 87155.0,
      "momentum_pct": 0.09,
      "consolidation_tightness_pct": 0.26,
      "distance_from_pm_high_pct": 0.61,
      "extension_from_vwap_pct": -0.08,
      "spread_pct": 0.35
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 5.785,
    "pm_low": 5.735
  },
  {
    "symbol": "PAYS",
    "total_score": 37.85,
    "raw_score": 40.12,
    "breakdown": {
      "price_quality": 1.64,
      "volume_quality": 12.0,
      "rvol": 0.64,
      "volume_acceleration": 0.75,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 4.78,
      "spread_liquidity": 4.5,
      "momentum_consistency": 3.4,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.36,
      "vwap": 13.4712,
      "vwap_slope": -0.0085,
      "rvol": 0.27,
      "volume_acceleration": 0.22,
      "premarket_volume": 133062.0,
      "momentum_pct": -0.15,
      "consolidation_tightness_pct": 0.15,
      "distance_from_pm_high_pct": 1.62,
      "extension_from_vwap_pct": -0.83,
      "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.58,
    "pm_low": 13.33
  },
  {
    "symbol": "NEWT",
    "total_score": 37.48,
    "raw_score": 39.73,
    "breakdown": {
      "price_quality": 2.54,
      "volume_quality": 5.08,
      "rvol": 0.2,
      "volume_acceleration": 6.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.73,
      "spread_liquidity": 4.73,
      "momentum_consistency": 2.25,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.465,
      "vwap": 12.474,
      "vwap_slope": -0.003,
      "rvol": 0.08,
      "volume_acceleration": 1.68,
      "premarket_volume": 42362.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.08,
      "distance_from_pm_high_pct": 0.36,
      "extension_from_vwap_pct": -0.07,
      "spread_pct": 0.08
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 12.51,
    "pm_low": 12.46
  },
  {
    "symbol": "SD",
    "total_score": 37.43,
    "raw_score": 39.68,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 2.89,
      "rvol": 0.12,
      "volume_acceleration": 2.83,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.85,
      "spread_liquidity": 4.52,
      "momentum_consistency": 2.37,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.8516,
      "vwap": 13.8543,
      "vwap_slope": 0.0062,
      "rvol": 0.05,
      "volume_acceleration": 0.81,
      "premarket_volume": 24077.0,
      "momentum_pct": -0.06,
      "consolidation_tightness_pct": 0.13,
      "distance_from_pm_high_pct": 0.2,
      "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": true
    },
    "pm_high": 13.88,
    "pm_low": 13.83
  },
  {
    "symbol": "BOOM",
    "total_score": 37.36,
    "raw_score": 39.6,
    "breakdown": {
      "price_quality": 1.66,
      "volume_quality": 2.71,
      "rvol": 0.11,
      "volume_acceleration": 10,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.22,
      "spread_liquidity": 3.5,
      "momentum_consistency": 4.0,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.66,
      "vwap": 6.6928,
      "vwap_slope": -0.0272,
      "rvol": 0.05,
      "volume_acceleration": 20.75,
      "premarket_volume": 22560.0,
      "momentum_pct": -0.6,
      "consolidation_tightness_pct": 1.04,
      "distance_from_pm_high_pct": 1.04,
      "extension_from_vwap_pct": -0.49,
      "spread_pct": 0.45
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 6.73,
    "pm_low": 6.66
  },
  {
    "symbol": "CRCT",
    "total_score": 37.31,
    "raw_score": 39.55,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 0.52,
      "volume_acceleration": 1.82,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.68,
      "spread_liquidity": 4.42,
      "momentum_consistency": 1.21,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.77,
      "vwap": 5.7788,
      "vwap_slope": -0.0,
      "rvol": 0.22,
      "volume_acceleration": 0.52,
      "premarket_volume": 109323.0,
      "momentum_pct": -0.26,
      "consolidation_tightness_pct": 0.26,
      "distance_from_pm_high_pct": 0.43,
      "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": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 5.795,
    "pm_low": 5.75
  },
  {
    "symbol": "AMCX",
    "total_score": 37.3,
    "raw_score": 39.53,
    "breakdown": {
      "price_quality": 2.2,
      "volume_quality": 6.08,
      "rvol": 0.24,
      "volume_acceleration": 4.69,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.77,
      "spread_liquidity": 4.74,
      "momentum_consistency": 3.41,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.8,
      "vwap": 12.805,
      "vwap_slope": -0.0029,
      "rvol": 0.1,
      "volume_acceleration": 1.47,
      "premarket_volume": 50692.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.31,
      "distance_from_pm_high_pct": 0.31,
      "extension_from_vwap_pct": -0.04,
      "spread_pct": 0.08
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 12.84,
    "pm_low": 12.745
  },
  {
    "symbol": "NRDS",
    "total_score": 37.24,
    "raw_score": 39.48,
    "breakdown": {
      "price_quality": 4.8,
      "volume_quality": 5.96,
      "rvol": 0.24,
      "volume_acceleration": 4.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.32,
      "spread_liquidity": 4.66,
      "momentum_consistency": 1.49,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.805,
      "vwap": 9.853,
      "vwap_slope": -0.0237,
      "rvol": 0.1,
      "volume_acceleration": 1.46,
      "premarket_volume": 49698.0,
      "momentum_pct": -0.1,
      "consolidation_tightness_pct": 0.25,
      "distance_from_pm_high_pct": 0.91,
      "extension_from_vwap_pct": -0.49,
      "spread_pct": 0.1
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 9.895,
    "pm_low": 9.805
  },
  {
    "symbol": "UTZ",
    "total_score": 37.23,
    "raw_score": 39.46,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 0.71,
      "volume_acceleration": 1.26,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.95,
      "spread_liquidity": 4.77,
      "momentum_consistency": 0.87,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.225,
      "vwap": 14.2281,
      "vwap_slope": -0.0005,
      "rvol": 0.3,
      "volume_acceleration": 0.36,
      "premarket_volume": 148828.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.07,
      "distance_from_pm_high_pct": 0.07,
      "extension_from_vwap_pct": -0.02,
      "spread_pct": 0.07
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 14.235,
    "pm_low": 14.22
  },
  {
    "symbol": "VELO",
    "total_score": 36.67,
    "raw_score": 38.87,
    "breakdown": {
      "price_quality": 2.55,
      "volume_quality": 7.09,
      "rvol": 0.28,
      "volume_acceleration": 3.66,
      "price_momentum": 0.12,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.7,
      "spread_liquidity": 4.46,
      "momentum_consistency": 2.61,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.45,
      "vwap": 12.4529,
      "vwap_slope": -0.0023,
      "rvol": 0.12,
      "volume_acceleration": 1.05,
      "premarket_volume": 59044.0,
      "momentum_pct": 0.08,
      "consolidation_tightness_pct": 0.32,
      "distance_from_pm_high_pct": 0.4,
      "extension_from_vwap_pct": -0.02,
      "spread_pct": 0.16
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 12.5,
    "pm_low": 12.3895
  },
  {
    "symbol": "MDWD",
    "total_score": 36.28,
    "raw_score": 38.46,
    "breakdown": {
      "price_quality": 2.24,
      "volume_quality": 3.92,
      "rvol": 0.16,
      "volume_acceleration": 0.63,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.59,
      "spread_liquidity": 3.44,
      "momentum_consistency": 2.88,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.76,
      "vwap": 12.7606,
      "vwap_slope": 0.0047,
      "rvol": 0.07,
      "volume_acceleration": 0.18,
      "premarket_volume": 32671.0,
      "momentum_pct": -0.27,
      "consolidation_tightness_pct": 0.47,
      "distance_from_pm_high_pct": 0.55,
      "extension_from_vwap_pct": -0.0,
      "spread_pct": 0.47
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": true
    },
    "pm_high": 12.83,
    "pm_low": 12.7
  },
  {
    "symbol": "EMBC",
    "total_score": 36.15,
    "raw_score": 38.32,
    "breakdown": {
      "price_quality": 0.0,
      "volume_quality": 12.0,
      "rvol": 0.6,
      "volume_acceleration": 1.56,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.4,
      "spread_liquidity": 4.33,
      "momentum_consistency": 2.04,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 4.96,
      "vwap": 4.9872,
      "vwap_slope": -0.0025,
      "rvol": 0.25,
      "volume_acceleration": 0.45,
      "premarket_volume": 124638.0,
      "momentum_pct": -0.3,
      "consolidation_tightness_pct": 0.3,
      "distance_from_pm_high_pct": 0.8,
      "extension_from_vwap_pct": -0.55,
      "spread_pct": 0.2
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 5.0,
    "pm_low": 4.96
  },
  {
    "symbol": "STDN",
    "total_score": 36.13,
    "raw_score": 38.3,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 11.0,
      "rvol": 0.44,
      "volume_acceleration": 3.46,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 3.64,
      "spread_liquidity": 2.3,
      "momentum_consistency": 3.56,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.55,
      "vwap": 13.684,
      "vwap_slope": -0.0522,
      "rvol": 0.18,
      "volume_acceleration": 1.35,
      "premarket_volume": 91657.0,
      "momentum_pct": -0.15,
      "consolidation_tightness_pct": 0.62,
      "distance_from_pm_high_pct": 3.15,
      "extension_from_vwap_pct": -0.98,
      "spread_pct": 0.81
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 13.99,
    "pm_low": 13.45
  },
  {
    "symbol": "OEC",
    "total_score": 35.97,
    "raw_score": 38.12,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 7.85,
      "rvol": 0.31,
      "volume_acceleration": 3.87,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.57,
      "spread_liquidity": 4.45,
      "momentum_consistency": 2.17,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.115,
      "vwap": 6.1244,
      "vwap_slope": -0.0024,
      "rvol": 0.13,
      "volume_acceleration": 1.11,
      "premarket_volume": 65420.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.16,
      "distance_from_pm_high_pct": 0.57,
      "extension_from_vwap_pct": -0.15,
      "spread_pct": 0.16
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 6.15,
    "pm_low": 6.1
  },
  {
    "symbol": "REF",
    "total_score": 35.96,
    "raw_score": 38.12,
    "breakdown": {
      "price_quality": 1.7,
      "volume_quality": 12.0,
      "rvol": 2.25,
      "volume_acceleration": 2.34,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 2.25,
      "spread_liquidity": 1.49,
      "momentum_consistency": 3.69,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.3,
      "vwap": 13.5466,
      "vwap_slope": -0.0149,
      "rvol": 0.94,
      "volume_acceleration": 0.67,
      "premarket_volume": 469481.0,
      "momentum_pct": -1.12,
      "consolidation_tightness_pct": 2.17,
      "distance_from_pm_high_pct": 5.0,
      "extension_from_vwap_pct": -1.82,
      "spread_pct": 1.05
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 14.0,
    "pm_low": 13.23
  },
  {
    "symbol": "WEST",
    "total_score": 35.93,
    "raw_score": 38.08,
    "breakdown": {
      "price_quality": 3.15,
      "volume_quality": 4.84,
      "rvol": 0.19,
      "volume_acceleration": 5.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.41,
      "spread_liquidity": 3.77,
      "momentum_consistency": 3.2,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.15,
      "vwap": 8.1798,
      "vwap_slope": -0.0035,
      "rvol": 0.08,
      "volume_acceleration": 1.51,
      "premarket_volume": 40323.0,
      "momentum_pct": -0.18,
      "consolidation_tightness_pct": 0.31,
      "distance_from_pm_high_pct": 0.79,
      "extension_from_vwap_pct": -0.36,
      "spread_pct": 0.37
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 8.215,
    "pm_low": 8.13
  },
  {
    "symbol": "ORN",
    "total_score": 35.87,
    "raw_score": 38.02,
    "breakdown": {
      "price_quality": 4.28,
      "volume_quality": 6.43,
      "rvol": 0.26,
      "volume_acceleration": 2.19,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.6,
      "spread_liquidity": 4.28,
      "momentum_consistency": 2.59,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.28,
      "vwap": 9.2951,
      "vwap_slope": -0.0032,
      "rvol": 0.11,
      "volume_acceleration": 0.63,
      "premarket_volume": 53612.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.11,
      "distance_from_pm_high_pct": 0.54,
      "extension_from_vwap_pct": -0.16,
      "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.33,
    "pm_low": 9.2501
  },
  {
    "symbol": "AGEN",
    "total_score": 35.75,
    "raw_score": 37.9,
    "breakdown": {
      "price_quality": 3.22,
      "volume_quality": 8.79,
      "rvol": 0.35,
      "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.23,
      "spread_liquidity": 4.19,
      "momentum_consistency": 1.9,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.22,
      "vwap": 8.2632,
      "vwap_slope": -0.0028,
      "rvol": 0.15,
      "volume_acceleration": 0.52,
      "premarket_volume": 73261.0,
      "momentum_pct": -0.24,
      "consolidation_tightness_pct": 0.36,
      "distance_from_pm_high_pct": 1.02,
      "extension_from_vwap_pct": -0.52,
      "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.305,
    "pm_low": 8.22
  },
  {
    "symbol": "OPFI",
    "total_score": 35.45,
    "raw_score": 37.58,
    "breakdown": {
      "price_quality": 2.14,
      "volume_quality": 7.3,
      "rvol": 0.29,
      "volume_acceleration": 3.77,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.43,
      "spread_liquidity": 4.53,
      "momentum_consistency": 1.7,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.145,
      "vwap": 7.1759,
      "vwap_slope": -0.0077,
      "rvol": 0.12,
      "volume_acceleration": 1.08,
      "premarket_volume": 60869.0,
      "momentum_pct": -0.14,
      "consolidation_tightness_pct": 0.21,
      "distance_from_pm_high_pct": 0.76,
      "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.2,
    "pm_low": 7.14
  },
  {
    "symbol": "ARCO",
    "total_score": 35.36,
    "raw_score": 37.48,
    "breakdown": {
      "price_quality": 3.04,
      "volume_quality": 6.99,
      "rvol": 0.28,
      "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.58,
      "spread_liquidity": 4.59,
      "momentum_consistency": 1.88,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.035,
      "vwap": 8.0572,
      "vwap_slope": -0.007,
      "rvol": 0.12,
      "volume_acceleration": 0.78,
      "premarket_volume": 58235.0,
      "momentum_pct": -0.12,
      "consolidation_tightness_pct": 0.19,
      "distance_from_pm_high_pct": 0.56,
      "extension_from_vwap_pct": -0.28,
      "spread_pct": 0.12
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 8.08,
    "pm_low": 8.035
  },
  {
    "symbol": "XPER",
    "total_score": 35.13,
    "raw_score": 37.24,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 3.76,
      "rvol": 0.15,
      "volume_acceleration": 8.75,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.27,
      "spread_liquidity": 4.45,
      "momentum_consistency": 0.95,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.11,
      "vwap": 6.1333,
      "vwap_slope": -0.0046,
      "rvol": 0.06,
      "volume_acceleration": 1.88,
      "premarket_volume": 31333.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.16,
      "distance_from_pm_high_pct": 0.97,
      "extension_from_vwap_pct": -0.38,
      "spread_pct": 0.16
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 6.17,
    "pm_low": 6.11
  },
  {
    "symbol": "DNA",
    "total_score": 35.04,
    "raw_score": 37.15,
    "breakdown": {
      "price_quality": 2.26,
      "volume_quality": 6.02,
      "rvol": 0.24,
      "volume_acceleration": 3.94,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.49,
      "spread_liquidity": 4.54,
      "momentum_consistency": 2.26,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.26,
      "vwap": 7.2937,
      "vwap_slope": -0.0034,
      "rvol": 0.1,
      "volume_acceleration": 1.13,
      "premarket_volume": 50184.0,
      "momentum_pct": -0.55,
      "consolidation_tightness_pct": 0.62,
      "distance_from_pm_high_pct": 0.68,
      "extension_from_vwap_pct": -0.46,
      "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.31,
    "pm_low": 7.26
  },
  {
    "symbol": "SPIR",
    "total_score": 35.01,
    "raw_score": 37.11,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 6.16,
      "rvol": 0.25,
      "volume_acceleration": 3.15,
      "price_momentum": 0.28,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.43,
      "spread_liquidity": 4.26,
      "momentum_consistency": 3.69,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.605,
      "vwap": 13.6454,
      "vwap_slope": -0.0117,
      "rvol": 0.1,
      "volume_acceleration": 0.91,
      "premarket_volume": 51299.0,
      "momentum_pct": 0.18,
      "consolidation_tightness_pct": 0.29,
      "distance_from_pm_high_pct": 0.77,
      "extension_from_vwap_pct": -0.3,
      "spread_pct": 0.22
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 13.71,
    "pm_low": 13.58
  },
  {
    "symbol": "USDE",
    "total_score": 34.96,
    "raw_score": 37.06,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 10.54,
      "rvol": 0.42,
      "volume_acceleration": 2.92,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 3.44,
      "spread_liquidity": 2.2,
      "momentum_consistency": 3.64,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.95,
      "vwap": 6.032,
      "vwap_slope": -0.0109,
      "rvol": 0.18,
      "volume_acceleration": 0.84,
      "premarket_volume": 87860.0,
      "momentum_pct": -0.83,
      "consolidation_tightness_pct": 1.17,
      "distance_from_pm_high_pct": 3.41,
      "extension_from_vwap_pct": -1.36,
      "spread_pct": 0.84
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 6.16,
    "pm_low": 5.9101
  },
  {
    "symbol": "LSPD",
    "total_score": 34.81,
    "raw_score": 36.89,
    "breakdown": {
      "price_quality": 4.42,
      "volume_quality": 4.29,
      "rvol": 0.17,
      "volume_acceleration": 3.42,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.68,
      "spread_liquidity": 4.68,
      "momentum_consistency": 1.83,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.58,
      "vwap": 10.5904,
      "vwap_slope": -0.002,
      "rvol": 0.07,
      "volume_acceleration": 0.98,
      "premarket_volume": 35762.0,
      "momentum_pct": -0.09,
      "consolidation_tightness_pct": 0.14,
      "distance_from_pm_high_pct": 0.42,
      "extension_from_vwap_pct": -0.1,
      "spread_pct": 0.09
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 10.625,
    "pm_low": 10.56
  },
  {
    "symbol": "ANTX",
    "total_score": 34.8,
    "raw_score": 36.89,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 2.66,
      "rvol": 0.11,
      "volume_acceleration": 10,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 4.81,
      "spread_liquidity": 3.81,
      "momentum_consistency": 1.6,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.6,
      "vwap": 5.6302,
      "vwap_slope": -0.0502,
      "rvol": 0.04,
      "volume_acceleration": 5.98,
      "premarket_volume": 22176.0,
      "momentum_pct": -0.53,
      "consolidation_tightness_pct": 1.78,
      "distance_from_pm_high_pct": 1.58,
      "extension_from_vwap_pct": -0.54,
      "spread_pct": 0.36
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 5.69,
    "pm_low": 5.57
  },
  {
    "symbol": "AUNA",
    "total_score": 34.69,
    "raw_score": 36.77,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 2.68,
      "rvol": 0.11,
      "volume_acceleration": 0.89,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.72,
      "spread_liquidity": 4.37,
      "momentum_consistency": 1.9,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.27,
      "vwap": 5.2724,
      "vwap_slope": 0.0016,
      "rvol": 0.04,
      "volume_acceleration": 0.26,
      "premarket_volume": 22374.0,
      "momentum_pct": -0.19,
      "consolidation_tightness_pct": 0.38,
      "distance_from_pm_high_pct": 0.38,
      "extension_from_vwap_pct": -0.04,
      "spread_pct": 0.19
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": true
    },
    "pm_high": 5.29,
    "pm_low": 5.25
  },
  {
    "symbol": "CING",
    "total_score": 34.5,
    "raw_score": 36.57,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 2.97,
      "rvol": 0.12,
      "volume_acceleration": 1.01,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.18,
      "spread_liquidity": 3.15,
      "momentum_consistency": 3.05,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.4,
      "vwap": 5.4301,
      "vwap_slope": 0.0012,
      "rvol": 0.05,
      "volume_acceleration": 0.29,
      "premarket_volume": 24748.0,
      "momentum_pct": -0.92,
      "consolidation_tightness_pct": 0.92,
      "distance_from_pm_high_pct": 1.1,
      "extension_from_vwap_pct": -0.56,
      "spread_pct": 0.55
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": true
    },
    "pm_high": 5.46,
    "pm_low": 5.4
  },
  {
    "symbol": "MRTN",
    "total_score": 34.27,
    "raw_score": 36.32,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 5.49,
      "rvol": 0.22,
      "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.79,
      "spread_liquidity": 4.77,
      "momentum_consistency": 2.67,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.44,
      "vwap": 14.4552,
      "vwap_slope": -0.002,
      "rvol": 0.09,
      "volume_acceleration": 1.0,
      "premarket_volume": 45730.0,
      "momentum_pct": -0.07,
      "consolidation_tightness_pct": 0.14,
      "distance_from_pm_high_pct": 0.28,
      "extension_from_vwap_pct": -0.11,
      "spread_pct": 0.07
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 14.48,
    "pm_low": 14.44
  },
  {
    "symbol": "KODK",
    "total_score": 33.93,
    "raw_score": 35.97,
    "breakdown": {
      "price_quality": 4.41,
      "volume_quality": 3.79,
      "rvol": 0.15,
      "volume_acceleration": 2.13,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.68,
      "spread_liquidity": 4.65,
      "momentum_consistency": 2.76,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.41,
      "vwap": 9.4307,
      "vwap_slope": -0.003,
      "rvol": 0.06,
      "volume_acceleration": 1.21,
      "premarket_volume": 31571.0,
      "momentum_pct": -0.05,
      "consolidation_tightness_pct": 0.16,
      "distance_from_pm_high_pct": 0.42,
      "extension_from_vwap_pct": -0.22,
      "spread_pct": 0.11
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 9.45,
    "pm_low": 9.41
  },
  {
    "symbol": "XPOF",
    "total_score": 33.55,
    "raw_score": 35.56,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 7.2,
      "rvol": 0.29,
      "volume_acceleration": 2.38,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.09,
      "spread_liquidity": 3.83,
      "momentum_consistency": 2.87,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.71,
      "vwap": 5.7286,
      "vwap_slope": -0.003,
      "rvol": 0.12,
      "volume_acceleration": 1.24,
      "premarket_volume": 60001.0,
      "momentum_pct": -0.17,
      "consolidation_tightness_pct": 0.4,
      "distance_from_pm_high_pct": 1.21,
      "extension_from_vwap_pct": -0.32,
      "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": 5.78,
    "pm_low": 5.665
  },
  {
    "symbol": "BSM",
    "total_score": 33.14,
    "raw_score": 35.12,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 5.46,
      "rvol": 0.22,
      "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.52,
      "spread_liquidity": 4.78,
      "momentum_consistency": 2.12,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.845,
      "vwap": 14.8806,
      "vwap_slope": -0.0067,
      "rvol": 0.09,
      "volume_acceleration": 0.9,
      "premarket_volume": 45487.0,
      "momentum_pct": -0.1,
      "consolidation_tightness_pct": 0.1,
      "distance_from_pm_high_pct": 0.64,
      "extension_from_vwap_pct": -0.24,
      "spread_pct": 0.07
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 14.94,
    "pm_low": 14.845
  },
  {
    "symbol": "MAX",
    "total_score": 33.04,
    "raw_score": 35.02,
    "breakdown": {
      "price_quality": 2.37,
      "volume_quality": 4.68,
      "rvol": 0.19,
      "volume_acceleration": 4.83,
      "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.21,
      "momentum_consistency": 1.4,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.63,
      "vwap": 12.7301,
      "vwap_slope": -0.0442,
      "rvol": 0.08,
      "volume_acceleration": 1.48,
      "premarket_volume": 38985.0,
      "momentum_pct": -0.08,
      "consolidation_tightness_pct": 0.24,
      "distance_from_pm_high_pct": 1.41,
      "extension_from_vwap_pct": -0.79,
      "spread_pct": 0.24
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 12.81,
    "pm_low": 12.63
  },
  {
    "symbol": "KBDC",
    "total_score": 33.04,
    "raw_score": 35.02,
    "breakdown": {
      "price_quality": 1.51,
      "volume_quality": 6.5,
      "rvol": 0.26,
      "volume_acceleration": 2.37,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.82,
      "spread_liquidity": 4.75,
      "momentum_consistency": 1.41,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.495,
      "vwap": 13.5072,
      "vwap_slope": -0.0007,
      "rvol": 0.11,
      "volume_acceleration": 0.68,
      "premarket_volume": 54186.0,
      "momentum_pct": -0.04,
      "consolidation_tightness_pct": 0.07,
      "distance_from_pm_high_pct": 0.24,
      "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": 13.5273,
    "pm_low": 13.49
  },
  {
    "symbol": "SOPH",
    "total_score": 32.73,
    "raw_score": 34.7,
    "breakdown": {
      "price_quality": 3.49,
      "volume_quality": 3.89,
      "rvol": 0.16,
      "volume_acceleration": 3.36,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 4.91,
      "spread_liquidity": 3.82,
      "momentum_consistency": 2.67,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.495,
      "vwap": 8.5383,
      "vwap_slope": -0.0131,
      "rvol": 0.06,
      "volume_acceleration": 0.97,
      "premarket_volume": 32397.0,
      "momentum_pct": -0.35,
      "consolidation_tightness_pct": 0.46,
      "distance_from_pm_high_pct": 1.45,
      "extension_from_vwap_pct": -0.51,
      "spread_pct": 0.35
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 8.62,
    "pm_low": 8.48
  },
  {
    "symbol": "CAL",
    "total_score": 32.61,
    "raw_score": 34.56,
    "breakdown": {
      "price_quality": 1.72,
      "volume_quality": 4.8,
      "rvol": 0.19,
      "volume_acceleration": 3.09,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.44,
      "spread_liquidity": 4.25,
      "momentum_consistency": 2.67,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.28,
      "vwap": 13.3386,
      "vwap_slope": -0.0169,
      "rvol": 0.08,
      "volume_acceleration": 0.89,
      "premarket_volume": 40028.0,
      "momentum_pct": -0.08,
      "consolidation_tightness_pct": 0.23,
      "distance_from_pm_high_pct": 0.75,
      "extension_from_vwap_pct": -0.44,
      "spread_pct": 0.23
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 13.38,
    "pm_low": 13.28
  },
  {
    "symbol": "BYND",
    "total_score": 32.58,
    "raw_score": 34.53,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 5.83,
      "rvol": 0.23,
      "volume_acceleration": 2.17,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.07,
      "spread_liquidity": 4.07,
      "momentum_consistency": 3.27,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.28,
      "vwap": 14.3485,
      "vwap_slope": -0.015,
      "rvol": 0.1,
      "volume_acceleration": 0.62,
      "premarket_volume": 48561.0,
      "momentum_pct": -0.17,
      "consolidation_tightness_pct": 0.42,
      "distance_from_pm_high_pct": 1.24,
      "extension_from_vwap_pct": -0.48,
      "spread_pct": 0.28
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 14.46,
    "pm_low": 14.26
  },
  {
    "symbol": "FRNM",
    "total_score": 32.55,
    "raw_score": 34.5,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 4.32,
      "rvol": 0.17,
      "volume_acceleration": 2.71,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.73,
      "spread_liquidity": 4.29,
      "momentum_consistency": 3.37,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.07,
      "vwap": 14.0937,
      "vwap_slope": -0.0022,
      "rvol": 0.07,
      "volume_acceleration": 0.78,
      "premarket_volume": 36033.0,
      "momentum_pct": -0.14,
      "consolidation_tightness_pct": 0.21,
      "distance_from_pm_high_pct": 0.35,
      "extension_from_vwap_pct": -0.17,
      "spread_pct": 0.21
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 14.12,
    "pm_low": 14.07
  },
  {
    "symbol": "LE",
    "total_score": 32.52,
    "raw_score": 34.47,
    "breakdown": {
      "price_quality": 2.78,
      "volume_quality": 3.52,
      "rvol": 0.14,
      "volume_acceleration": 3.79,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.45,
      "spread_liquidity": 3.64,
      "momentum_consistency": 2.76,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.22,
      "vwap": 12.2695,
      "vwap_slope": -0.007,
      "rvol": 0.06,
      "volume_acceleration": 1.09,
      "premarket_volume": 29305.0,
      "momentum_pct": -0.24,
      "consolidation_tightness_pct": 0.25,
      "distance_from_pm_high_pct": 0.73,
      "extension_from_vwap_pct": -0.4,
      "spread_pct": 0.41
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 12.31,
    "pm_low": 12.22
  },
  {
    "symbol": "WNC",
    "total_score": 32.52,
    "raw_score": 34.47,
    "breakdown": {
      "price_quality": 2.55,
      "volume_quality": 4.67,
      "rvol": 0.19,
      "volume_acceleration": 2.27,
      "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.46,
      "momentum_consistency": 2.42,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.451,
      "vwap": 12.4844,
      "vwap_slope": -0.0126,
      "rvol": 0.08,
      "volume_acceleration": 1.23,
      "premarket_volume": 38932.0,
      "momentum_pct": -0.31,
      "consolidation_tightness_pct": 0.32,
      "distance_from_pm_high_pct": 0.67,
      "extension_from_vwap_pct": -0.27,
      "spread_pct": 0.16
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 12.535,
    "pm_low": 12.45
  },
  {
    "symbol": "IMMR",
    "total_score": 32.16,
    "raw_score": 34.09,
    "breakdown": {
      "price_quality": 2.68,
      "volume_quality": 5.67,
      "rvol": 0.23,
      "volume_acceleration": 1.05,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.32,
      "spread_liquidity": 4.57,
      "momentum_consistency": 2.18,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.68,
      "vwap": 7.723,
      "vwap_slope": -0.0026,
      "rvol": 0.09,
      "volume_acceleration": 0.3,
      "premarket_volume": 47209.0,
      "momentum_pct": -0.26,
      "consolidation_tightness_pct": 0.39,
      "distance_from_pm_high_pct": 0.9,
      "extension_from_vwap_pct": -0.56,
      "spread_pct": 0.13
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 7.75,
    "pm_low": 7.68
  },
  {
    "symbol": "ASPN",
    "total_score": 31.21,
    "raw_score": 33.08,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 4.81,
      "rvol": 0.19,
      "volume_acceleration": 2.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.71,
      "spread_liquidity": 4.36,
      "momentum_consistency": 2.0,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.225,
      "vwap": 5.2279,
      "vwap_slope": -0.0001,
      "rvol": 0.08,
      "volume_acceleration": 1.21,
      "premarket_volume": 40074.0,
      "momentum_pct": -0.07,
      "consolidation_tightness_pct": 0.1,
      "distance_from_pm_high_pct": 0.38,
      "extension_from_vwap_pct": -0.06,
      "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.245,
    "pm_low": 5.205
  },
  {
    "symbol": "RILY",
    "total_score": 31.21,
    "raw_score": 33.09,
    "breakdown": {
      "price_quality": 2.05,
      "volume_quality": 6.21,
      "rvol": 0.25,
      "volume_acceleration": 1.23,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.16,
      "spread_liquidity": 3.58,
      "momentum_consistency": 2.2,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.055,
      "vwap": 7.0838,
      "vwap_slope": -0.0029,
      "rvol": 0.1,
      "volume_acceleration": 0.35,
      "premarket_volume": 51737.0,
      "momentum_pct": -0.35,
      "consolidation_tightness_pct": 0.35,
      "distance_from_pm_high_pct": 1.12,
      "extension_from_vwap_pct": -0.41,
      "spread_pct": 0.43
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 7.135,
    "pm_low": 7.05
  },
  {
    "symbol": "GMRS",
    "total_score": 31.2,
    "raw_score": 33.08,
    "breakdown": {
      "price_quality": 2.12,
      "volume_quality": 4.44,
      "rvol": 0.18,
      "volume_acceleration": 2.37,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.14,
      "spread_liquidity": 4.48,
      "momentum_consistency": 1.96,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.88,
      "vwap": 12.9615,
      "vwap_slope": -0.0177,
      "rvol": 0.07,
      "volume_acceleration": 0.68,
      "premarket_volume": 36990.0,
      "momentum_pct": -0.08,
      "consolidation_tightness_pct": 0.16,
      "distance_from_pm_high_pct": 1.15,
      "extension_from_vwap_pct": -0.63,
      "spread_pct": 0.16
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 13.03,
    "pm_low": 12.87
  },
  {
    "symbol": "CXDO",
    "total_score": 30.46,
    "raw_score": 32.28,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 2.87,
      "rvol": 0.11,
      "volume_acceleration": 1.95,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.77,
      "spread_liquidity": 4.48,
      "momentum_consistency": 3.2,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.41,
      "vwap": 6.411,
      "vwap_slope": -0.0018,
      "rvol": 0.05,
      "volume_acceleration": 0.56,
      "premarket_volume": 23955.0,
      "momentum_pct": -0.02,
      "consolidation_tightness_pct": 0.16,
      "distance_from_pm_high_pct": 0.31,
      "extension_from_vwap_pct": -0.02,
      "spread_pct": 0.16
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 6.43,
    "pm_low": 6.37
  },
  {
    "symbol": "SVCO",
    "total_score": 28.82,
    "raw_score": 30.55,
    "breakdown": {
      "price_quality": 1.88,
      "volume_quality": 2.68,
      "rvol": 0.11,
      "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.19,
      "spread_liquidity": 3.55,
      "momentum_consistency": 2.07,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.875,
      "vwap": 6.913,
      "vwap_slope": -0.014,
      "rvol": 0.04,
      "volume_acceleration": 0.77,
      "premarket_volume": 22314.0,
      "momentum_pct": -0.51,
      "consolidation_tightness_pct": 0.73,
      "distance_from_pm_high_pct": 1.08,
      "extension_from_vwap_pct": -0.55,
      "spread_pct": 0.44
    },
    "flags": {
      "meets_min_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.95,
    "pm_low": 6.86
  },
  {
    "symbol": "GTN",
    "total_score": 28.8,
    "raw_score": 30.53,
    "breakdown": {
      "price_quality": 0.0,
      "volume_quality": 4.24,
      "rvol": 0.17,
      "volume_acceleration": 2.15,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.55,
      "spread_liquidity": 4.32,
      "momentum_consistency": 1.7,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 4.93,
      "vwap": 4.9434,
      "vwap_slope": -0.0023,
      "rvol": 0.07,
      "volume_acceleration": 1.21,
      "premarket_volume": 35335.0,
      "momentum_pct": -0.1,
      "consolidation_tightness_pct": 0.1,
      "distance_from_pm_high_pct": 0.6,
      "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": false,
      "vwap_rising": false
    },
    "pm_high": 4.96,
    "pm_low": 4.93
  }
]