[
  {
    "symbol": "IBRX",
    "total_score": 80.33,
    "raw_score": 85.15,
    "breakdown": {
      "price_quality": 3.13,
      "volume_quality": 12.0,
      "rvol": 9.15,
      "volume_acceleration": 10,
      "price_momentum": 0.93,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.91,
      "spread_liquidity": 4.59,
      "momentum_consistency": 3.45,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.13,
      "vwap": 8.0383,
      "vwap_slope": 0.0377,
      "rvol": 3.43,
      "volume_acceleration": 5.25,
      "premarket_volume": 1715615.0,
      "momentum_pct": 0.62,
      "consolidation_tightness_pct": 1.05,
      "distance_from_pm_high_pct": 0.12,
      "extension_from_vwap_pct": 1.14,
      "spread_pct": 0.12
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 8.14,
    "pm_low": 7.94
  },
  {
    "symbol": "LFST",
    "total_score": 75.62,
    "raw_score": 80.16,
    "breakdown": {
      "price_quality": 2.81,
      "volume_quality": 12.0,
      "rvol": 4.43,
      "volume_acceleration": 10,
      "price_momentum": 0.74,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.88,
      "spread_liquidity": 4.73,
      "momentum_consistency": 3.57,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.185,
      "vwap": 12.0909,
      "vwap_slope": 0.1433,
      "rvol": 1.66,
      "volume_acceleration": 6.71,
      "premarket_volume": 830751.0,
      "momentum_pct": 0.49,
      "consolidation_tightness_pct": 0.74,
      "distance_from_pm_high_pct": 0.16,
      "extension_from_vwap_pct": 0.78,
      "spread_pct": 0.08
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 12.205,
    "pm_low": 11.92
  },
  {
    "symbol": "VITL",
    "total_score": 73.29,
    "raw_score": 77.69,
    "breakdown": {
      "price_quality": 3.85,
      "volume_quality": 12.0,
      "rvol": 1.26,
      "volume_acceleration": 10,
      "price_momentum": 0.61,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.97,
      "spread_liquidity": 4.4,
      "momentum_consistency": 3.61,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.155,
      "vwap": 11.0269,
      "vwap_slope": 0.0173,
      "rvol": 0.52,
      "volume_acceleration": 2.19,
      "premarket_volume": 262196.0,
      "momentum_pct": 0.41,
      "consolidation_tightness_pct": 1.35,
      "distance_from_pm_high_pct": 0.04,
      "extension_from_vwap_pct": 1.16,
      "spread_pct": 0.18
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 11.16,
    "pm_low": 10.97
  },
  {
    "symbol": "PUMP",
    "total_score": 73.06,
    "raw_score": 77.45,
    "breakdown": {
      "price_quality": 4.29,
      "volume_quality": 12.0,
      "rvol": 1.19,
      "volume_acceleration": 10,
      "price_momentum": 0.63,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.93,
      "spread_liquidity": 4.69,
      "momentum_consistency": 2.71,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.71,
      "vwap": 10.6811,
      "vwap_slope": 0.0015,
      "rvol": 0.5,
      "volume_acceleration": 2.08,
      "premarket_volume": 248208.0,
      "momentum_pct": 0.42,
      "consolidation_tightness_pct": 0.66,
      "distance_from_pm_high_pct": 0.09,
      "extension_from_vwap_pct": 0.27,
      "spread_pct": 0.09
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 10.72,
    "pm_low": 10.63
  },
  {
    "symbol": "ALOY",
    "total_score": 72.57,
    "raw_score": 76.93,
    "breakdown": {
      "price_quality": 3.14,
      "volume_quality": 12.0,
      "rvol": 1.15,
      "volume_acceleration": 10,
      "price_momentum": 1.99,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 6,
      "spread_liquidity": 3.88,
      "momentum_consistency": 2.76,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.855,
      "vwap": 11.7372,
      "vwap_slope": 0.0105,
      "rvol": 0.48,
      "volume_acceleration": 2.15,
      "premarket_volume": 240435.0,
      "momentum_pct": 1.32,
      "consolidation_tightness_pct": 1.49,
      "distance_from_pm_high_pct": 0.0,
      "extension_from_vwap_pct": 1.0,
      "spread_pct": 0.34
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 11.855,
    "pm_low": 11.62
  },
  {
    "symbol": "TIC",
    "total_score": 71.46,
    "raw_score": 75.75,
    "breakdown": {
      "price_quality": 4.48,
      "volume_quality": 12.0,
      "rvol": 1.03,
      "volume_acceleration": 9.56,
      "price_momentum": 0.4,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.84,
      "spread_liquidity": 4.65,
      "momentum_consistency": 1.79,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.485,
      "vwap": 9.4535,
      "vwap_slope": 0.0021,
      "rvol": 0.43,
      "volume_acceleration": 1.96,
      "premarket_volume": 213820.0,
      "momentum_pct": 0.26,
      "consolidation_tightness_pct": 0.95,
      "distance_from_pm_high_pct": 0.21,
      "extension_from_vwap_pct": 0.33,
      "spread_pct": 0.11
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 9.505,
    "pm_low": 9.41
  },
  {
    "symbol": "TDAY",
    "total_score": 69.92,
    "raw_score": 74.12,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 0.88,
      "volume_acceleration": 10,
      "price_momentum": 0.35,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 6,
      "spread_liquidity": 4.48,
      "momentum_consistency": 2.91,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.475,
      "vwap": 6.439,
      "vwap_slope": 0.0046,
      "rvol": 0.36,
      "volume_acceleration": 3.19,
      "premarket_volume": 182359.0,
      "momentum_pct": 0.23,
      "consolidation_tightness_pct": 0.39,
      "distance_from_pm_high_pct": 0.0,
      "extension_from_vwap_pct": 0.56,
      "spread_pct": 0.15
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 6.475,
    "pm_low": 6.415
  },
  {
    "symbol": "GNL",
    "total_score": 69.56,
    "raw_score": 73.73,
    "breakdown": {
      "price_quality": 4.26,
      "volume_quality": 12.0,
      "rvol": 0.73,
      "volume_acceleration": 7.92,
      "price_momentum": 0.08,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.96,
      "spread_liquidity": 4.64,
      "momentum_consistency": 2.14,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.26,
      "vwap": 9.2464,
      "vwap_slope": 0.0062,
      "rvol": 0.31,
      "volume_acceleration": 1.79,
      "premarket_volume": 152615.0,
      "momentum_pct": 0.05,
      "consolidation_tightness_pct": 0.05,
      "distance_from_pm_high_pct": 0.05,
      "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": true,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 9.265,
    "pm_low": 9.2209
  },
  {
    "symbol": "HSLV",
    "total_score": 69.47,
    "raw_score": 73.64,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 0.56,
      "volume_acceleration": 10,
      "price_momentum": 0.68,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 6,
      "spread_liquidity": 4.4,
      "momentum_consistency": 2.5,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.54,
      "vwap": 5.4757,
      "vwap_slope": 0.0349,
      "rvol": 0.23,
      "volume_acceleration": 3.79,
      "premarket_volume": 116854.0,
      "momentum_pct": 0.45,
      "consolidation_tightness_pct": 0.91,
      "distance_from_pm_high_pct": 0.0,
      "extension_from_vwap_pct": 1.17,
      "spread_pct": 0.18
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 5.54,
    "pm_low": 5.42
  },
  {
    "symbol": "EH",
    "total_score": 68.46,
    "raw_score": 72.56,
    "breakdown": {
      "price_quality": 0.0,
      "volume_quality": 12.0,
      "rvol": 1.25,
      "volume_acceleration": 10,
      "price_momentum": 0.0,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.84,
      "spread_liquidity": 3.61,
      "momentum_consistency": 3.86,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 4.81,
      "vwap": 4.7069,
      "vwap_slope": 0.0103,
      "rvol": 0.52,
      "volume_acceleration": 2.24,
      "premarket_volume": 260127.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.83,
      "distance_from_pm_high_pct": 0.21,
      "extension_from_vwap_pct": 2.19,
      "spread_pct": 0.42
    },
    "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": 4.82,
    "pm_low": 4.6501
  },
  {
    "symbol": "ECVT",
    "total_score": 67.09,
    "raw_score": 71.12,
    "breakdown": {
      "price_quality": 4.79,
      "volume_quality": 8.57,
      "rvol": 0.34,
      "volume_acceleration": 8.21,
      "price_momentum": 0.29,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.89,
      "spread_liquidity": 4.67,
      "momentum_consistency": 2.35,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.215,
      "vwap": 10.2053,
      "vwap_slope": 0.0015,
      "rvol": 0.14,
      "volume_acceleration": 1.82,
      "premarket_volume": 71400.0,
      "momentum_pct": 0.2,
      "consolidation_tightness_pct": 0.35,
      "distance_from_pm_high_pct": 0.15,
      "extension_from_vwap_pct": 0.09,
      "spread_pct": 0.1
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 10.23,
    "pm_low": 10.18
  },
  {
    "symbol": "ONDS",
    "total_score": 67.07,
    "raw_score": 71.09,
    "breakdown": {
      "price_quality": 3.26,
      "volume_quality": 12.0,
      "rvol": 12.0,
      "volume_acceleration": 3.71,
      "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": 3.17,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.255,
      "vwap": 8.2404,
      "vwap_slope": 0.0004,
      "rvol": 7.57,
      "volume_acceleration": 1.07,
      "premarket_volume": 3783935.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.24,
      "distance_from_pm_high_pct": 0.06,
      "extension_from_vwap_pct": 0.18,
      "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.26,
    "pm_low": 8.21
  },
  {
    "symbol": "BTG",
    "total_score": 66.85,
    "raw_score": 70.86,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 12.0,
      "volume_acceleration": 6.06,
      "price_momentum": 0.12,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 6.0,
      "spread_liquidity": 4.43,
      "momentum_consistency": 2.34,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.8999,
      "vwap": 5.8782,
      "vwap_slope": 0.0025,
      "rvol": 5.04,
      "volume_acceleration": 1.61,
      "premarket_volume": 2520257.0,
      "momentum_pct": 0.08,
      "consolidation_tightness_pct": 0.17,
      "distance_from_pm_high_pct": 0.0,
      "extension_from_vwap_pct": 0.37,
      "spread_pct": 0.17
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 5.9,
    "pm_low": 5.85
  },
  {
    "symbol": "PD",
    "total_score": 66.84,
    "raw_score": 70.85,
    "breakdown": {
      "price_quality": 2.86,
      "volume_quality": 12.0,
      "rvol": 0.59,
      "volume_acceleration": 4.79,
      "price_momentum": 0.62,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 6,
      "spread_liquidity": 4.73,
      "momentum_consistency": 3.26,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.14,
      "vwap": 12.1018,
      "vwap_slope": 0.0026,
      "rvol": 0.25,
      "volume_acceleration": 1.48,
      "premarket_volume": 123512.0,
      "momentum_pct": 0.41,
      "consolidation_tightness_pct": 0.45,
      "distance_from_pm_high_pct": 0.0,
      "extension_from_vwap_pct": 0.32,
      "spread_pct": 0.08
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 12.14,
    "pm_low": 12.06
  },
  {
    "symbol": "JBLU",
    "total_score": 66.79,
    "raw_score": 70.8,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 12.0,
      "volume_acceleration": 4.46,
      "price_momentum": 0.45,
      "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": 3.72,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.06,
      "vwap": 5.0253,
      "vwap_slope": 0.0145,
      "rvol": 4.6,
      "volume_acceleration": 1.45,
      "premarket_volume": 2301598.0,
      "momentum_pct": 0.3,
      "consolidation_tightness_pct": 0.49,
      "distance_from_pm_high_pct": 0.1,
      "extension_from_vwap_pct": 0.69,
      "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": true,
      "vwap_rising": true
    },
    "pm_high": 5.065,
    "pm_low": 5.0
  },
  {
    "symbol": "PMI",
    "total_score": 66.52,
    "raw_score": 70.51,
    "breakdown": {
      "price_quality": 4.96,
      "volume_quality": 12.0,
      "rvol": 12.0,
      "volume_acceleration": 5.09,
      "price_momentum": 2.67,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 5.41,
      "distance_from_pm_high": 2.18,
      "spread_liquidity": 3.66,
      "momentum_consistency": 4.14,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.041,
      "vwap": 9.7922,
      "vwap_slope": 0.1863,
      "rvol": 8.8,
      "volume_acceleration": 1.51,
      "premarket_volume": 4402354.0,
      "momentum_pct": 1.78,
      "consolidation_tightness_pct": 6.88,
      "distance_from_pm_high_pct": 5.09,
      "extension_from_vwap_pct": 2.54,
      "spread_pct": 0.4
    },
    "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.58,
    "pm_low": 9.06
  },
  {
    "symbol": "PSKY",
    "total_score": 66.28,
    "raw_score": 70.25,
    "breakdown": {
      "price_quality": 4.34,
      "volume_quality": 12.0,
      "rvol": 5.07,
      "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.68,
      "spread_liquidity": 4.69,
      "momentum_consistency": 2.07,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.66,
      "vwap": 10.6557,
      "vwap_slope": 0.001,
      "rvol": 1.9,
      "volume_acceleration": 3.11,
      "premarket_volume": 950975.0,
      "momentum_pct": -0.05,
      "consolidation_tightness_pct": 0.19,
      "distance_from_pm_high_pct": 0.42,
      "extension_from_vwap_pct": 0.04,
      "spread_pct": 0.09
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 10.705,
    "pm_low": 10.62
  },
  {
    "symbol": "PHR",
    "total_score": 65.81,
    "raw_score": 69.75,
    "breakdown": {
      "price_quality": 3.51,
      "volume_quality": 10.81,
      "rvol": 0.43,
      "volume_acceleration": 6.58,
      "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.42,
      "momentum_consistency": 2.23,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.49,
      "vwap": 11.4625,
      "vwap_slope": 0.0181,
      "rvol": 0.18,
      "volume_acceleration": 1.66,
      "premarket_volume": 90048.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.52,
      "distance_from_pm_high_pct": 0.3,
      "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": true,
      "vwap_rising": true
    },
    "pm_high": 11.525,
    "pm_low": 11.405
  },
  {
    "symbol": "VISN",
    "total_score": 65.64,
    "raw_score": 69.58,
    "breakdown": {
      "price_quality": 3.97,
      "volume_quality": 12.0,
      "rvol": 3.6,
      "volume_acceleration": 10,
      "price_momentum": 0.34,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 6,
      "spread_liquidity": 4.7,
      "momentum_consistency": 2.57,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.03,
      "vwap": 10.9408,
      "vwap_slope": 0.0207,
      "rvol": 1.5,
      "volume_acceleration": 2.16,
      "premarket_volume": 749574.0,
      "momentum_pct": 0.23,
      "consolidation_tightness_pct": 0.36,
      "distance_from_pm_high_pct": 0.0,
      "extension_from_vwap_pct": 0.82,
      "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.03,
    "pm_low": 10.885
  },
  {
    "symbol": "SXC",
    "total_score": 65.63,
    "raw_score": 69.56,
    "breakdown": {
      "price_quality": 4.71,
      "volume_quality": 9.84,
      "rvol": 0.39,
      "volume_acceleration": 4.28,
      "price_momentum": 0.39,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.96,
      "spread_liquidity": 4.66,
      "momentum_consistency": 3.33,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.71,
      "vwap": 9.6568,
      "vwap_slope": 0.0079,
      "rvol": 0.16,
      "volume_acceleration": 1.43,
      "premarket_volume": 82035.0,
      "momentum_pct": 0.26,
      "consolidation_tightness_pct": 0.36,
      "distance_from_pm_high_pct": 0.05,
      "extension_from_vwap_pct": 0.55,
      "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.715,
    "pm_low": 9.615
  },
  {
    "symbol": "F",
    "total_score": 65.57,
    "raw_score": 69.5,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 12.0,
      "volume_acceleration": 3.75,
      "price_momentum": 0.11,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.95,
      "spread_liquidity": 4.76,
      "momentum_consistency": 3.03,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.955,
      "vwap": 13.9474,
      "vwap_slope": 0.0005,
      "rvol": 5.63,
      "volume_acceleration": 1.08,
      "premarket_volume": 2816978.0,
      "momentum_pct": 0.07,
      "consolidation_tightness_pct": 0.14,
      "distance_from_pm_high_pct": 0.07,
      "extension_from_vwap_pct": 0.05,
      "spread_pct": 0.07
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 13.965,
    "pm_low": 13.92
  },
  {
    "symbol": "EXK",
    "total_score": 65.56,
    "raw_score": 69.49,
    "breakdown": {
      "price_quality": 3.87,
      "volume_quality": 12.0,
      "rvol": 4.46,
      "volume_acceleration": 9.2,
      "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.7,
      "momentum_consistency": 2.9,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.135,
      "vwap": 11.0886,
      "vwap_slope": 0.0199,
      "rvol": 1.67,
      "volume_acceleration": 1.92,
      "premarket_volume": 836243.0,
      "momentum_pct": -0.04,
      "consolidation_tightness_pct": 0.18,
      "distance_from_pm_high_pct": 0.04,
      "extension_from_vwap_pct": 0.42,
      "spread_pct": 0.09
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 11.14,
    "pm_low": 11.04
  },
  {
    "symbol": "AGNC",
    "total_score": 65.43,
    "raw_score": 69.35,
    "breakdown": {
      "price_quality": 4.08,
      "volume_quality": 12.0,
      "rvol": 8.96,
      "volume_acceleration": 3.98,
      "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.69,
      "momentum_consistency": 3.31,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.92,
      "vwap": 10.9055,
      "vwap_slope": 0.0024,
      "rvol": 3.36,
      "volume_acceleration": 1.14,
      "premarket_volume": 1679980.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.18,
      "distance_from_pm_high_pct": 0.09,
      "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": true,
      "vwap_rising": true
    },
    "pm_high": 10.93,
    "pm_low": 10.89
  },
  {
    "symbol": "TU",
    "total_score": 65.36,
    "raw_score": 69.28,
    "breakdown": {
      "price_quality": 4.83,
      "volume_quality": 12.0,
      "rvol": 2.86,
      "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.66,
      "momentum_consistency": 2.76,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.83,
      "vwap": 9.8242,
      "vwap_slope": 0.0022,
      "rvol": 1.19,
      "volume_acceleration": 2.15,
      "premarket_volume": 595213.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.1,
      "distance_from_pm_high_pct": 0.3,
      "extension_from_vwap_pct": 0.06,
      "spread_pct": 0.1
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 9.86,
    "pm_low": 9.775
  },
  {
    "symbol": "STUB",
    "total_score": 65.18,
    "raw_score": 69.09,
    "breakdown": {
      "price_quality": 1.84,
      "volume_quality": 12.0,
      "rvol": 6.19,
      "volume_acceleration": 9.25,
      "price_momentum": 0.22,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 6,
      "spread_liquidity": 4.51,
      "momentum_consistency": 2.67,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.845,
      "vwap": 6.7746,
      "vwap_slope": 0.006,
      "rvol": 2.32,
      "volume_acceleration": 1.93,
      "premarket_volume": 1160978.0,
      "momentum_pct": 0.15,
      "consolidation_tightness_pct": 1.39,
      "distance_from_pm_high_pct": 0.0,
      "extension_from_vwap_pct": 1.04,
      "spread_pct": 0.15
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 6.845,
    "pm_low": 6.72
  },
  {
    "symbol": "NU",
    "total_score": 64.89,
    "raw_score": 68.78,
    "breakdown": {
      "price_quality": 0.0,
      "volume_quality": 12.0,
      "rvol": 12.0,
      "volume_acceleration": 3.65,
      "price_momentum": 0.15,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.8,
      "spread_liquidity": 4.78,
      "momentum_consistency": 4.0,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 15.0501,
      "vwap": 14.9796,
      "vwap_slope": 0.0188,
      "rvol": 21.15,
      "volume_acceleration": 1.05,
      "premarket_volume": 10573985.0,
      "momentum_pct": 0.1,
      "consolidation_tightness_pct": 0.17,
      "distance_from_pm_high_pct": 0.26,
      "extension_from_vwap_pct": 0.47,
      "spread_pct": 0.07
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 15.09,
    "pm_low": 14.82
  },
  {
    "symbol": "RKT",
    "total_score": 64.83,
    "raw_score": 68.72,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 12.0,
      "volume_acceleration": 2.38,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.82,
      "spread_liquidity": 4.77,
      "momentum_consistency": 3.86,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.275,
      "vwap": 14.205,
      "vwap_slope": 0.019,
      "rvol": 6.48,
      "volume_acceleration": 1.24,
      "premarket_volume": 3241631.0,
      "momentum_pct": -0.15,
      "consolidation_tightness_pct": 0.35,
      "distance_from_pm_high_pct": 0.24,
      "extension_from_vwap_pct": 0.49,
      "spread_pct": 0.07
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 14.31,
    "pm_low": 14.115
  },
  {
    "symbol": "SNAP",
    "total_score": 64.8,
    "raw_score": 68.69,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 12.0,
      "volume_acceleration": 3.07,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.56,
      "spread_liquidity": 4.44,
      "momentum_consistency": 3.72,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.915,
      "vwap": 5.877,
      "vwap_slope": 0.0088,
      "rvol": 19.28,
      "volume_acceleration": 0.88,
      "premarket_volume": 9642490.0,
      "momentum_pct": -0.08,
      "consolidation_tightness_pct": 0.85,
      "distance_from_pm_high_pct": 0.59,
      "extension_from_vwap_pct": 0.65,
      "spread_pct": 0.17
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 5.95,
    "pm_low": 5.735
  },
  {
    "symbol": "ALHC",
    "total_score": 64.74,
    "raw_score": 68.62,
    "breakdown": {
      "price_quality": 1.6,
      "volume_quality": 12.0,
      "rvol": 1.73,
      "volume_acceleration": 3.7,
      "price_momentum": 0.28,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.94,
      "spread_liquidity": 4.75,
      "momentum_consistency": 2.62,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.4,
      "vwap": 13.383,
      "vwap_slope": 0.001,
      "rvol": 0.72,
      "volume_acceleration": 1.06,
      "premarket_volume": 360484.0,
      "momentum_pct": 0.19,
      "consolidation_tightness_pct": 0.26,
      "distance_from_pm_high_pct": 0.07,
      "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": true,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 13.41,
    "pm_low": 13.36
  },
  {
    "symbol": "EQX",
    "total_score": 64.7,
    "raw_score": 68.59,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 6.96,
      "volume_acceleration": 7.37,
      "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.76,
      "momentum_consistency": 3.72,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.055,
      "vwap": 13.9687,
      "vwap_slope": 0.0271,
      "rvol": 2.61,
      "volume_acceleration": 1.74,
      "premarket_volume": 1305663.0,
      "momentum_pct": -0.07,
      "consolidation_tightness_pct": 0.25,
      "distance_from_pm_high_pct": 0.18,
      "extension_from_vwap_pct": 0.62,
      "spread_pct": 0.07
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 14.08,
    "pm_low": 13.815
  },
  {
    "symbol": "RIG",
    "total_score": 64.66,
    "raw_score": 68.54,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 12.0,
      "volume_acceleration": 3.39,
      "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.42,
      "momentum_consistency": 2.9,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.755,
      "vwap": 5.7475,
      "vwap_slope": 0.0009,
      "rvol": 4.96,
      "volume_acceleration": 0.97,
      "premarket_volume": 2479482.0,
      "momentum_pct": -0.09,
      "consolidation_tightness_pct": 0.35,
      "distance_from_pm_high_pct": 0.09,
      "extension_from_vwap_pct": 0.13,
      "spread_pct": 0.17
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 5.76,
    "pm_low": 5.73
  },
  {
    "symbol": "SVV",
    "total_score": 63.57,
    "raw_score": 67.38,
    "breakdown": {
      "price_quality": 4.34,
      "volume_quality": 12.0,
      "rvol": 0.63,
      "volume_acceleration": 9.82,
      "price_momentum": 0.64,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.93,
      "spread_liquidity": 4.69,
      "momentum_consistency": 2.95,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.66,
      "vwap": 10.6204,
      "vwap_slope": 0.0046,
      "rvol": 0.26,
      "volume_acceleration": 1.98,
      "premarket_volume": 130641.0,
      "momentum_pct": 0.42,
      "consolidation_tightness_pct": 0.61,
      "distance_from_pm_high_pct": 0.09,
      "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": true,
      "vwap_rising": true
    },
    "pm_high": 10.67,
    "pm_low": 10.58
  },
  {
    "symbol": "TAC",
    "total_score": 63.56,
    "raw_score": 67.38,
    "breakdown": {
      "price_quality": 2.73,
      "volume_quality": 12.0,
      "rvol": 0.58,
      "volume_acceleration": 10,
      "price_momentum": 0.12,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.85,
      "spread_liquidity": 4.73,
      "momentum_consistency": 2.57,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.265,
      "vwap": 12.2543,
      "vwap_slope": -0.0007,
      "rvol": 0.24,
      "volume_acceleration": 2.12,
      "premarket_volume": 120440.0,
      "momentum_pct": 0.08,
      "consolidation_tightness_pct": 0.16,
      "distance_from_pm_high_pct": 0.2,
      "extension_from_vwap_pct": 0.09,
      "spread_pct": 0.08
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 12.29,
    "pm_low": 12.235
  },
  {
    "symbol": "OWL",
    "total_score": 63.47,
    "raw_score": 67.28,
    "breakdown": {
      "price_quality": 3.18,
      "volume_quality": 12.0,
      "rvol": 8.09,
      "volume_acceleration": 3.62,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.96,
      "spread_liquidity": 4.72,
      "momentum_consistency": 3.31,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.8232,
      "vwap": 11.7925,
      "vwap_slope": 0.0061,
      "rvol": 3.03,
      "volume_acceleration": 1.36,
      "premarket_volume": 1517454.0,
      "momentum_pct": -0.02,
      "consolidation_tightness_pct": 0.17,
      "distance_from_pm_high_pct": 0.06,
      "extension_from_vwap_pct": 0.26,
      "spread_pct": 0.08
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 11.83,
    "pm_low": 11.745
  },
  {
    "symbol": "VG",
    "total_score": 63.39,
    "raw_score": 67.19,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 9.93,
      "volume_acceleration": 3.41,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.6,
      "spread_liquidity": 4.76,
      "momentum_consistency": 3.59,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.145,
      "vwap": 14.083,
      "vwap_slope": 0.0251,
      "rvol": 3.72,
      "volume_acceleration": 0.98,
      "premarket_volume": 1861346.0,
      "momentum_pct": -0.28,
      "consolidation_tightness_pct": 0.35,
      "distance_from_pm_high_pct": 0.53,
      "extension_from_vwap_pct": 0.44,
      "spread_pct": 0.07
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 14.22,
    "pm_low": 13.975
  },
  {
    "symbol": "LWLG",
    "total_score": 63.13,
    "raw_score": 66.92,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 0.58,
      "volume_acceleration": 3.47,
      "price_momentum": 0.02,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.89,
      "spread_liquidity": 4.44,
      "momentum_consistency": 3.02,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.9609,
      "vwap": 5.95,
      "vwap_slope": 0.0006,
      "rvol": 0.24,
      "volume_acceleration": 1.0,
      "premarket_volume": 120944.0,
      "momentum_pct": 0.02,
      "consolidation_tightness_pct": 0.25,
      "distance_from_pm_high_pct": 0.15,
      "extension_from_vwap_pct": 0.18,
      "spread_pct": 0.17
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 5.9699,
    "pm_low": 5.935
  },
  {
    "symbol": "STLA",
    "total_score": 62.71,
    "raw_score": 66.47,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 10.77,
      "volume_acceleration": 10,
      "price_momentum": 0.43,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 6,
      "spread_liquidity": 4.37,
      "momentum_consistency": 2.21,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.28,
      "vwap": 5.274,
      "vwap_slope": -0.0003,
      "rvol": 4.04,
      "volume_acceleration": 2.72,
      "premarket_volume": 2019219.0,
      "momentum_pct": 0.28,
      "consolidation_tightness_pct": 0.38,
      "distance_from_pm_high_pct": 0.0,
      "extension_from_vwap_pct": 0.11,
      "spread_pct": 0.19
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 5.28,
    "pm_low": 5.26
  },
  {
    "symbol": "ARCO",
    "total_score": 62.48,
    "raw_score": 66.23,
    "breakdown": {
      "price_quality": 3.12,
      "volume_quality": 12.0,
      "rvol": 1.0,
      "volume_acceleration": 10,
      "price_momentum": 1.21,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.91,
      "spread_liquidity": 4.59,
      "momentum_consistency": 2.0,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.125,
      "vwap": 8.098,
      "vwap_slope": 0.0321,
      "rvol": 0.42,
      "volume_acceleration": 3.24,
      "premarket_volume": 208375.0,
      "momentum_pct": 0.81,
      "consolidation_tightness_pct": 0.93,
      "distance_from_pm_high_pct": 0.12,
      "extension_from_vwap_pct": 0.33,
      "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.135,
    "pm_low": 8.05
  },
  {
    "symbol": "OGN",
    "total_score": 62.39,
    "raw_score": 66.13,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 3.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.97,
      "spread_liquidity": 4.76,
      "momentum_consistency": 2.34,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.755,
      "vwap": 13.7496,
      "vwap_slope": 0.0022,
      "rvol": 1.32,
      "volume_acceleration": 3.43,
      "premarket_volume": 657614.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.07,
      "distance_from_pm_high_pct": 0.04,
      "extension_from_vwap_pct": 0.04,
      "spread_pct": 0.07
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 13.76,
    "pm_low": 13.74
  },
  {
    "symbol": "CLF",
    "total_score": 62.24,
    "raw_score": 65.97,
    "breakdown": {
      "price_quality": 3.53,
      "volume_quality": 12.0,
      "rvol": 5.65,
      "volume_acceleration": 2.83,
      "price_momentum": 0.26,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.58,
      "spread_liquidity": 4.71,
      "momentum_consistency": 2.62,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.475,
      "vwap": 11.4746,
      "vwap_slope": -0.009,
      "rvol": 2.12,
      "volume_acceleration": 0.81,
      "premarket_volume": 1059804.0,
      "momentum_pct": 0.17,
      "consolidation_tightness_pct": 0.52,
      "distance_from_pm_high_pct": 0.56,
      "extension_from_vwap_pct": 0.0,
      "spread_pct": 0.09
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 11.54,
    "pm_low": 11.3701
  },
  {
    "symbol": "ARHS",
    "total_score": 62.21,
    "raw_score": 65.94,
    "breakdown": {
      "price_quality": 3.94,
      "volume_quality": 12.0,
      "rvol": 0.89,
      "volume_acceleration": 7.28,
      "price_momentum": 0.08,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.95,
      "spread_liquidity": 4.63,
      "momentum_consistency": 2.39,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.935,
      "vwap": 8.9133,
      "vwap_slope": -0.0,
      "rvol": 0.37,
      "volume_acceleration": 1.73,
      "premarket_volume": 184588.0,
      "momentum_pct": 0.06,
      "consolidation_tightness_pct": 0.22,
      "distance_from_pm_high_pct": 0.07,
      "extension_from_vwap_pct": 0.24,
      "spread_pct": 0.11
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 8.941,
    "pm_low": 8.89
  },
  {
    "symbol": "NUVB",
    "total_score": 62.06,
    "raw_score": 65.78,
    "breakdown": {
      "price_quality": 2.02,
      "volume_quality": 12.0,
      "rvol": 2.38,
      "volume_acceleration": 10,
      "price_momentum": 0.18,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.99,
      "spread_liquidity": 4.53,
      "momentum_consistency": 2.29,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.0186,
      "vwap": 6.9886,
      "vwap_slope": 0.0276,
      "rvol": 0.99,
      "volume_acceleration": 3.25,
      "premarket_volume": 496779.0,
      "momentum_pct": 0.12,
      "consolidation_tightness_pct": 0.21,
      "distance_from_pm_high_pct": 0.02,
      "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": true,
      "vwap_rising": true
    },
    "pm_high": 7.02,
    "pm_low": 6.93
  },
  {
    "symbol": "RES",
    "total_score": 62.01,
    "raw_score": 65.73,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 0.52,
      "volume_acceleration": 10,
      "price_momentum": 0.46,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.86,
      "spread_liquidity": 4.46,
      "momentum_consistency": 2.13,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.1537,
      "vwap": 6.1513,
      "vwap_slope": -0.0038,
      "rvol": 0.22,
      "volume_acceleration": 2.07,
      "premarket_volume": 108747.0,
      "momentum_pct": 0.3,
      "consolidation_tightness_pct": 0.33,
      "distance_from_pm_high_pct": 0.18,
      "extension_from_vwap_pct": 0.04,
      "spread_pct": 0.16
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 6.165,
    "pm_low": 6.135
  },
  {
    "symbol": "SUJA",
    "total_score": 62.0,
    "raw_score": 65.72,
    "breakdown": {
      "price_quality": 4.34,
      "volume_quality": 12.0,
      "rvol": 0.67,
      "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.64,
      "spread_liquidity": 2.5,
      "momentum_consistency": 4.18,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.335,
      "vwap": 9.3149,
      "vwap_slope": 0.0447,
      "rvol": 0.28,
      "volume_acceleration": 3.52,
      "premarket_volume": 139004.0,
      "momentum_pct": -0.11,
      "consolidation_tightness_pct": 1.07,
      "distance_from_pm_high_pct": 0.48,
      "extension_from_vwap_pct": 0.22,
      "spread_pct": 0.75
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 9.38,
    "pm_low": 9.22
  },
  {
    "symbol": "DOLE",
    "total_score": 61.99,
    "raw_score": 65.71,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 0.87,
      "volume_acceleration": 10,
      "price_momentum": 0.06,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.94,
      "spread_liquidity": 4.75,
      "momentum_consistency": 4.19,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.505,
      "vwap": 13.4836,
      "vwap_slope": 0.0065,
      "rvol": 0.36,
      "volume_acceleration": 2.84,
      "premarket_volume": 180520.0,
      "momentum_pct": 0.04,
      "consolidation_tightness_pct": 0.15,
      "distance_from_pm_high_pct": 0.07,
      "extension_from_vwap_pct": 0.16,
      "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.515,
    "pm_low": 13.44
  },
  {
    "symbol": "SOUN",
    "total_score": 61.97,
    "raw_score": 65.69,
    "breakdown": {
      "price_quality": 2.01,
      "volume_quality": 12.0,
      "rvol": 11.78,
      "volume_acceleration": 3.64,
      "price_momentum": 0.32,
      "price_structure": 12,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.68,
      "spread_liquidity": 4.52,
      "momentum_consistency": 3.72,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.01,
      "vwap": 7.0127,
      "vwap_slope": -0.0035,
      "rvol": 4.42,
      "volume_acceleration": 1.05,
      "premarket_volume": 2209405.0,
      "momentum_pct": 0.21,
      "consolidation_tightness_pct": 0.36,
      "distance_from_pm_high_pct": 0.43,
      "extension_from_vwap_pct": -0.04,
      "spread_pct": 0.14
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 7.04,
    "pm_low": 6.97
  },
  {
    "symbol": "BHC",
    "total_score": 61.95,
    "raw_score": 65.67,
    "breakdown": {
      "price_quality": 1.66,
      "volume_quality": 12.0,
      "rvol": 2.52,
      "volume_acceleration": 8.5,
      "price_momentum": 0.45,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 6,
      "spread_liquidity": 4.5,
      "momentum_consistency": 3.64,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.655,
      "vwap": 6.5885,
      "vwap_slope": 0.0304,
      "rvol": 1.05,
      "volume_acceleration": 1.85,
      "premarket_volume": 525761.0,
      "momentum_pct": 0.3,
      "consolidation_tightness_pct": 0.75,
      "distance_from_pm_high_pct": 0.0,
      "extension_from_vwap_pct": 1.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": true
    },
    "pm_high": 6.655,
    "pm_low": 6.535
  },
  {
    "symbol": "HLF",
    "total_score": 61.94,
    "raw_score": 65.65,
    "breakdown": {
      "price_quality": 2.18,
      "volume_quality": 12.0,
      "rvol": 0.68,
      "volume_acceleration": 10,
      "price_momentum": 0.41,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.97,
      "spread_liquidity": 4.48,
      "momentum_consistency": 3.54,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.825,
      "vwap": 12.7646,
      "vwap_slope": 0.0251,
      "rvol": 0.28,
      "volume_acceleration": 2.73,
      "premarket_volume": 141424.0,
      "momentum_pct": 0.27,
      "consolidation_tightness_pct": 0.35,
      "distance_from_pm_high_pct": 0.04,
      "extension_from_vwap_pct": 0.47,
      "spread_pct": 0.16
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 12.83,
    "pm_low": 12.6824
  },
  {
    "symbol": "FUBO",
    "total_score": 61.91,
    "raw_score": 65.62,
    "breakdown": {
      "price_quality": 3.86,
      "volume_quality": 11.86,
      "rvol": 0.47,
      "volume_acceleration": 9.23,
      "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.4,
      "momentum_consistency": 3.65,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.1428,
      "vwap": 11.1166,
      "vwap_slope": 0.0156,
      "rvol": 0.2,
      "volume_acceleration": 1.92,
      "premarket_volume": 98827.0,
      "momentum_pct": -0.24,
      "consolidation_tightness_pct": 0.33,
      "distance_from_pm_high_pct": 0.33,
      "extension_from_vwap_pct": 0.24,
      "spread_pct": 0.18
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 11.18,
    "pm_low": 11.0301
  },
  {
    "symbol": "PGEN",
    "total_score": 61.86,
    "raw_score": 65.57,
    "breakdown": {
      "price_quality": 2.4,
      "volume_quality": 12.0,
      "rvol": 1.69,
      "volume_acceleration": 9.68,
      "price_momentum": 0.1,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.9,
      "spread_liquidity": 4.55,
      "momentum_consistency": 2.86,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.4,
      "vwap": 7.3889,
      "vwap_slope": 0.0016,
      "rvol": 0.7,
      "volume_acceleration": 1.97,
      "premarket_volume": 351331.0,
      "momentum_pct": 0.07,
      "consolidation_tightness_pct": 0.14,
      "distance_from_pm_high_pct": 0.13,
      "extension_from_vwap_pct": 0.15,
      "spread_pct": 0.14
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 7.41,
    "pm_low": 7.36
  },
  {
    "symbol": "APPS",
    "total_score": 61.48,
    "raw_score": 65.17,
    "breakdown": {
      "price_quality": 4.36,
      "volume_quality": 12.0,
      "rvol": 0.81,
      "volume_acceleration": 6.91,
      "price_momentum": 1.28,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.96,
      "spread_liquidity": 4.37,
      "momentum_consistency": 3.08,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.645,
      "vwap": 10.5441,
      "vwap_slope": 0.0275,
      "rvol": 0.34,
      "volume_acceleration": 1.69,
      "premarket_volume": 168855.0,
      "momentum_pct": 0.85,
      "consolidation_tightness_pct": 0.99,
      "distance_from_pm_high_pct": 0.05,
      "extension_from_vwap_pct": 0.96,
      "spread_pct": 0.19
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 10.6501,
    "pm_low": 10.45
  },
  {
    "symbol": "ATAI",
    "total_score": 61.41,
    "raw_score": 65.09,
    "breakdown": {
      "price_quality": 2.42,
      "volume_quality": 12.0,
      "rvol": 1.43,
      "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.95,
      "spread_liquidity": 4.55,
      "momentum_consistency": 2.34,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.415,
      "vwap": 7.4127,
      "vwap_slope": 0.0013,
      "rvol": 0.6,
      "volume_acceleration": 3.13,
      "premarket_volume": 298611.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.13,
      "distance_from_pm_high_pct": 0.07,
      "extension_from_vwap_pct": 0.03,
      "spread_pct": 0.13
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 7.42,
    "pm_low": 7.4
  },
  {
    "symbol": "NOMD",
    "total_score": 61.37,
    "raw_score": 65.05,
    "breakdown": {
      "price_quality": 3.14,
      "volume_quality": 12.0,
      "rvol": 0.7,
      "volume_acceleration": 10,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.91,
      "spread_liquidity": 4.72,
      "momentum_consistency": 2.18,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.855,
      "vwap": 11.8501,
      "vwap_slope": 0.0021,
      "rvol": 0.29,
      "volume_acceleration": 2.93,
      "premarket_volume": 146245.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.17,
      "distance_from_pm_high_pct": 0.13,
      "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": 11.87,
    "pm_low": 11.81
  },
  {
    "symbol": "KODK",
    "total_score": 61.25,
    "raw_score": 64.93,
    "breakdown": {
      "price_quality": 4.46,
      "volume_quality": 7.06,
      "rvol": 0.28,
      "volume_acceleration": 3.14,
      "price_momentum": 0.88,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 6,
      "spread_liquidity": 3.94,
      "momentum_consistency": 3.15,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.465,
      "vwap": 9.4001,
      "vwap_slope": 0.0081,
      "rvol": 0.12,
      "volume_acceleration": 0.9,
      "premarket_volume": 58869.0,
      "momentum_pct": 0.58,
      "consolidation_tightness_pct": 0.69,
      "distance_from_pm_high_pct": 0.0,
      "extension_from_vwap_pct": 0.69,
      "spread_pct": 0.32
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 9.465,
    "pm_low": 9.36
  },
  {
    "symbol": "STTK",
    "total_score": 61.08,
    "raw_score": 64.75,
    "breakdown": {
      "price_quality": 3.0,
      "volume_quality": 12.0,
      "rvol": 0.55,
      "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.58,
      "momentum_consistency": 2.59,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.0,
      "vwap": 7.9874,
      "vwap_slope": 0.0226,
      "rvol": 0.23,
      "volume_acceleration": 2.9,
      "premarket_volume": 113542.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.25,
      "distance_from_pm_high_pct": 0.5,
      "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": true,
      "vwap_rising": true
    },
    "pm_high": 8.04,
    "pm_low": 7.94
  },
  {
    "symbol": "BYND",
    "total_score": 60.79,
    "raw_score": 64.43,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 0.48,
      "volume_acceleration": 10,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.76,
      "spread_liquidity": 4.29,
      "momentum_consistency": 4.0,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.1151,
      "vwap": 14.0531,
      "vwap_slope": 0.0372,
      "rvol": 0.2,
      "volume_acceleration": 2.22,
      "premarket_volume": 100043.0,
      "momentum_pct": -0.03,
      "consolidation_tightness_pct": 0.53,
      "distance_from_pm_high_pct": 0.32,
      "extension_from_vwap_pct": 0.44,
      "spread_pct": 0.21
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 14.16,
    "pm_low": 13.93
  },
  {
    "symbol": "XRAY",
    "total_score": 60.65,
    "raw_score": 64.29,
    "breakdown": {
      "price_quality": 4.11,
      "volume_quality": 12.0,
      "rvol": 1.67,
      "volume_acceleration": 6.79,
      "price_momentum": 0.14,
      "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": 2.53,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.895,
      "vwap": 10.8456,
      "vwap_slope": 0.0124,
      "rvol": 0.7,
      "volume_acceleration": 1.68,
      "premarket_volume": 348691.0,
      "momentum_pct": 0.09,
      "consolidation_tightness_pct": 0.18,
      "distance_from_pm_high_pct": 0.05,
      "extension_from_vwap_pct": 0.46,
      "spread_pct": 0.09
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 10.9,
    "pm_low": 10.79
  },
  {
    "symbol": "RXST",
    "total_score": 60.57,
    "raw_score": 64.2,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 3.44,
      "rvol": 0.14,
      "volume_acceleration": 10,
      "price_momentum": 0.72,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 6,
      "spread_liquidity": 4.47,
      "momentum_consistency": 1.94,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.275,
      "vwap": 6.248,
      "vwap_slope": 0.0026,
      "rvol": 0.06,
      "volume_acceleration": 2.34,
      "premarket_volume": 28647.0,
      "momentum_pct": 0.48,
      "consolidation_tightness_pct": 0.64,
      "distance_from_pm_high_pct": 0.0,
      "extension_from_vwap_pct": 0.43,
      "spread_pct": 0.16
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 6.275,
    "pm_low": 6.23
  },
  {
    "symbol": "LCID",
    "total_score": 60.49,
    "raw_score": 64.12,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 7.9,
      "volume_acceleration": 1.87,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.79,
      "spread_liquidity": 4.38,
      "momentum_consistency": 4.28,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.385,
      "vwap": 5.3368,
      "vwap_slope": 0.0079,
      "rvol": 2.96,
      "volume_acceleration": 0.54,
      "premarket_volume": 1480494.0,
      "momentum_pct": -0.19,
      "consolidation_tightness_pct": 0.37,
      "distance_from_pm_high_pct": 0.28,
      "extension_from_vwap_pct": 0.9,
      "spread_pct": 0.19
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 5.4,
    "pm_low": 5.27
  },
  {
    "symbol": "QXO",
    "total_score": 60.28,
    "raw_score": 63.9,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 4.56,
      "volume_acceleration": 6.09,
      "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.76,
      "momentum_consistency": 2.62,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.85,
      "vwap": 13.8101,
      "vwap_slope": 0.0066,
      "rvol": 1.71,
      "volume_acceleration": 1.61,
      "premarket_volume": 854099.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.29,
      "distance_from_pm_high_pct": 0.04,
      "extension_from_vwap_pct": 0.29,
      "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.855,
    "pm_low": 13.76
  },
  {
    "symbol": "MAT",
    "total_score": 60.1,
    "raw_score": 63.71,
    "breakdown": {
      "price_quality": 0.0,
      "volume_quality": 12.0,
      "rvol": 2.31,
      "volume_acceleration": 9.39,
      "price_momentum": 0.1,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.98,
      "spread_liquidity": 4.78,
      "momentum_consistency": 2.76,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 15.285,
      "vwap": 15.2223,
      "vwap_slope": 0.0187,
      "rvol": 0.96,
      "volume_acceleration": 1.94,
      "premarket_volume": 481200.0,
      "momentum_pct": 0.07,
      "consolidation_tightness_pct": 0.26,
      "distance_from_pm_high_pct": 0.03,
      "extension_from_vwap_pct": 0.41,
      "spread_pct": 0.07
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 15.29,
    "pm_low": 15.16
  },
  {
    "symbol": "WLTH",
    "total_score": 60.05,
    "raw_score": 63.65,
    "breakdown": {
      "price_quality": 4.38,
      "volume_quality": 12.0,
      "rvol": 0.57,
      "volume_acceleration": 7.5,
      "price_momentum": 0.4,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 6,
      "spread_liquidity": 4.29,
      "momentum_consistency": 2.11,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.375,
      "vwap": 9.3418,
      "vwap_slope": 0.004,
      "rvol": 0.24,
      "volume_acceleration": 1.75,
      "premarket_volume": 119752.0,
      "momentum_pct": 0.27,
      "consolidation_tightness_pct": 0.37,
      "distance_from_pm_high_pct": 0.0,
      "extension_from_vwap_pct": 0.36,
      "spread_pct": 0.21
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 9.375,
    "pm_low": 9.305
  },
  {
    "symbol": "SLDB",
    "total_score": 59.91,
    "raw_score": 63.5,
    "breakdown": {
      "price_quality": 4.83,
      "volume_quality": 12.0,
      "rvol": 0.56,
      "volume_acceleration": 6.83,
      "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.32,
      "momentum_consistency": 2.67,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.83,
      "vwap": 9.7889,
      "vwap_slope": 0.0136,
      "rvol": 0.23,
      "volume_acceleration": 1.68,
      "premarket_volume": 117458.0,
      "momentum_pct": -0.15,
      "consolidation_tightness_pct": 0.15,
      "distance_from_pm_high_pct": 0.15,
      "extension_from_vwap_pct": 0.42,
      "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.845,
    "pm_low": 9.72
  },
  {
    "symbol": "NVAX",
    "total_score": 59.43,
    "raw_score": 62.99,
    "breakdown": {
      "price_quality": 4.46,
      "volume_quality": 12.0,
      "rvol": 2.47,
      "volume_acceleration": 3.63,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.88,
      "spread_liquidity": 4.65,
      "momentum_consistency": 3.51,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.455,
      "vwap": 9.425,
      "vwap_slope": 0.0045,
      "rvol": 1.03,
      "volume_acceleration": 1.04,
      "premarket_volume": 513618.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.32,
      "distance_from_pm_high_pct": 0.16,
      "extension_from_vwap_pct": 0.32,
      "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.47,
    "pm_low": 9.325
  },
  {
    "symbol": "INGN",
    "total_score": 59.34,
    "raw_score": 62.9,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 2.69,
      "rvol": 0.11,
      "volume_acceleration": 9.79,
      "price_momentum": 0.4,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.93,
      "spread_liquidity": 4.4,
      "momentum_consistency": 2.07,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.585,
      "vwap": 5.5635,
      "vwap_slope": 0.0099,
      "rvol": 0.04,
      "volume_acceleration": 1.98,
      "premarket_volume": 22419.0,
      "momentum_pct": 0.27,
      "consolidation_tightness_pct": 0.45,
      "distance_from_pm_high_pct": 0.09,
      "extension_from_vwap_pct": 0.39,
      "spread_pct": 0.18
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 5.59,
    "pm_low": 5.54
  },
  {
    "symbol": "NEXT",
    "total_score": 59.09,
    "raw_score": 62.64,
    "breakdown": {
      "price_quality": 2.5,
      "volume_quality": 12.0,
      "rvol": 0.77,
      "volume_acceleration": 8.09,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.7,
      "spread_liquidity": 4.56,
      "momentum_consistency": 2.62,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.505,
      "vwap": 7.4935,
      "vwap_slope": 0.0113,
      "rvol": 0.32,
      "volume_acceleration": 1.81,
      "premarket_volume": 159864.0,
      "momentum_pct": -0.33,
      "consolidation_tightness_pct": 0.4,
      "distance_from_pm_high_pct": 0.4,
      "extension_from_vwap_pct": 0.15,
      "spread_pct": 0.13
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 7.535,
    "pm_low": 7.4401
  },
  {
    "symbol": "WU",
    "total_score": 59.03,
    "raw_score": 62.57,
    "breakdown": {
      "price_quality": 2.29,
      "volume_quality": 12.0,
      "rvol": 3.37,
      "volume_acceleration": 5.32,
      "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.54,
      "momentum_consistency": 2.76,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.2895,
      "vwap": 7.2692,
      "vwap_slope": 0.0108,
      "rvol": 1.4,
      "volume_acceleration": 1.53,
      "premarket_volume": 702039.0,
      "momentum_pct": -0.08,
      "consolidation_tightness_pct": 0.21,
      "distance_from_pm_high_pct": 0.14,
      "extension_from_vwap_pct": 0.28,
      "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.3,
    "pm_low": 7.225
  },
  {
    "symbol": "NMR",
    "total_score": 58.95,
    "raw_score": 62.49,
    "breakdown": {
      "price_quality": 4.91,
      "volume_quality": 7.83,
      "rvol": 0.31,
      "volume_acceleration": 10,
      "price_momentum": 0.15,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.96,
      "spread_liquidity": 4.66,
      "momentum_consistency": 2.26,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.915,
      "vwap": 9.9103,
      "vwap_slope": 0.0074,
      "rvol": 0.13,
      "volume_acceleration": 3.13,
      "premarket_volume": 65243.0,
      "momentum_pct": 0.1,
      "consolidation_tightness_pct": 0.2,
      "distance_from_pm_high_pct": 0.05,
      "extension_from_vwap_pct": 0.05,
      "spread_pct": 0.1
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 9.92,
    "pm_low": 9.89
  },
  {
    "symbol": "TTD",
    "total_score": 58.82,
    "raw_score": 62.35,
    "breakdown": {
      "price_quality": 1.78,
      "volume_quality": 12.0,
      "rvol": 5.23,
      "volume_acceleration": 3.4,
      "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": 2.9,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.215,
      "vwap": 13.1695,
      "vwap_slope": 0.0131,
      "rvol": 1.96,
      "volume_acceleration": 1.34,
      "premarket_volume": 980582.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.3,
      "distance_from_pm_high_pct": 0.15,
      "extension_from_vwap_pct": 0.35,
      "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.235,
    "pm_low": 13.115
  },
  {
    "symbol": "BRBR",
    "total_score": 58.81,
    "raw_score": 62.34,
    "breakdown": {
      "price_quality": 4.27,
      "volume_quality": 12.0,
      "rvol": 1.39,
      "volume_acceleration": 4.6,
      "price_momentum": 0.28,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 6,
      "spread_liquidity": 4.69,
      "momentum_consistency": 2.71,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.735,
      "vwap": 10.6548,
      "vwap_slope": 0.0206,
      "rvol": 0.58,
      "volume_acceleration": 1.46,
      "premarket_volume": 290134.0,
      "momentum_pct": 0.19,
      "consolidation_tightness_pct": 0.28,
      "distance_from_pm_high_pct": 0.0,
      "extension_from_vwap_pct": 0.75,
      "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.735,
    "pm_low": 10.61
  },
  {
    "symbol": "AHCO",
    "total_score": 58.72,
    "raw_score": 62.24,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 1.56,
      "volume_acceleration": 7.95,
      "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.4,
      "momentum_consistency": 2.77,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.545,
      "vwap": 5.5331,
      "vwap_slope": 0.0025,
      "rvol": 0.65,
      "volume_acceleration": 1.79,
      "premarket_volume": 325670.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.36,
      "distance_from_pm_high_pct": 0.45,
      "extension_from_vwap_pct": 0.22,
      "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.57,
    "pm_low": 5.5
  },
  {
    "symbol": "DX",
    "total_score": 58.63,
    "raw_score": 62.15,
    "breakdown": {
      "price_quality": 2.03,
      "volume_quality": 12.0,
      "rvol": 1.95,
      "volume_acceleration": 6.57,
      "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.48,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.975,
      "vwap": 12.9596,
      "vwap_slope": 0.0047,
      "rvol": 0.81,
      "volume_acceleration": 1.66,
      "premarket_volume": 407281.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.15,
      "distance_from_pm_high_pct": 0.04,
      "extension_from_vwap_pct": 0.12,
      "spread_pct": 0.08
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 12.98,
    "pm_low": 12.94
  },
  {
    "symbol": "HLIT",
    "total_score": 58.62,
    "raw_score": 62.14,
    "breakdown": {
      "price_quality": 2.76,
      "volume_quality": 12.0,
      "rvol": 0.9,
      "volume_acceleration": 2.6,
      "price_momentum": 0.62,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 6,
      "spread_liquidity": 4.73,
      "momentum_consistency": 3.74,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.24,
      "vwap": 12.2142,
      "vwap_slope": -0.0048,
      "rvol": 0.37,
      "volume_acceleration": 0.75,
      "premarket_volume": 186540.0,
      "momentum_pct": 0.41,
      "consolidation_tightness_pct": 0.45,
      "distance_from_pm_high_pct": 0.0,
      "extension_from_vwap_pct": 0.21,
      "spread_pct": 0.08
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 12.24,
    "pm_low": 12.18
  },
  {
    "symbol": "INFQ",
    "total_score": 58.46,
    "raw_score": 61.97,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 4.08,
      "volume_acceleration": 4.37,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.55,
      "spread_liquidity": 4.76,
      "momentum_consistency": 3.31,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.965,
      "vwap": 13.9492,
      "vwap_slope": 0.0245,
      "rvol": 1.53,
      "volume_acceleration": 1.44,
      "premarket_volume": 765714.0,
      "momentum_pct": -0.07,
      "consolidation_tightness_pct": 0.64,
      "distance_from_pm_high_pct": 0.6,
      "extension_from_vwap_pct": 0.11,
      "spread_pct": 0.07
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 14.05,
    "pm_low": 13.845
  },
  {
    "symbol": "JBS",
    "total_score": 58.45,
    "raw_score": 61.96,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 2.16,
      "volume_acceleration": 5.88,
      "price_momentum": 0.11,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.97,
      "spread_liquidity": 4.76,
      "momentum_consistency": 3.17,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.065,
      "vwap": 13.9847,
      "vwap_slope": 0.0148,
      "rvol": 0.9,
      "volume_acceleration": 1.59,
      "premarket_volume": 449575.0,
      "momentum_pct": 0.07,
      "consolidation_tightness_pct": 0.14,
      "distance_from_pm_high_pct": 0.04,
      "extension_from_vwap_pct": 0.57,
      "spread_pct": 0.07
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 14.07,
    "pm_low": 13.905
  },
  {
    "symbol": "GENI",
    "total_score": 58.35,
    "raw_score": 61.86,
    "breakdown": {
      "price_quality": 2.87,
      "volume_quality": 12.0,
      "rvol": 3.56,
      "volume_acceleration": 3.86,
      "price_momentum": 0.1,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.57,
      "spread_liquidity": 4.58,
      "momentum_consistency": 2.92,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.865,
      "vwap": 7.8645,
      "vwap_slope": 0.0113,
      "rvol": 1.48,
      "volume_acceleration": 1.11,
      "premarket_volume": 741392.0,
      "momentum_pct": 0.06,
      "consolidation_tightness_pct": 0.32,
      "distance_from_pm_high_pct": 0.57,
      "extension_from_vwap_pct": 0.01,
      "spread_pct": 0.13
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 7.91,
    "pm_low": 7.8
  },
  {
    "symbol": "BHK",
    "total_score": 58.24,
    "raw_score": 61.73,
    "breakdown": {
      "price_quality": 4.08,
      "volume_quality": 8.42,
      "rvol": 0.34,
      "volume_acceleration": 10,
      "price_momentum": 0.08,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 6,
      "spread_liquidity": 4.63,
      "momentum_consistency": 1.78,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.08,
      "vwap": 9.0736,
      "vwap_slope": 0.009,
      "rvol": 0.14,
      "volume_acceleration": 2.7,
      "premarket_volume": 70168.0,
      "momentum_pct": 0.06,
      "consolidation_tightness_pct": 0.06,
      "distance_from_pm_high_pct": 0.0,
      "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": true,
      "vwap_rising": true
    },
    "pm_high": 9.08,
    "pm_low": 9.06
  },
  {
    "symbol": "CRML",
    "total_score": 58.19,
    "raw_score": 61.69,
    "breakdown": {
      "price_quality": 2.85,
      "volume_quality": 12.0,
      "rvol": 5.2,
      "volume_acceleration": 8.67,
      "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.58,
      "momentum_consistency": 3.45,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.85,
      "vwap": 7.8586,
      "vwap_slope": 0.0061,
      "rvol": 1.95,
      "volume_acceleration": 1.87,
      "premarket_volume": 975079.0,
      "momentum_pct": -0.38,
      "consolidation_tightness_pct": 1.01,
      "distance_from_pm_high_pct": 0.88,
      "extension_from_vwap_pct": -0.11,
      "spread_pct": 0.13
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": true
    },
    "pm_high": 7.92,
    "pm_low": 7.805
  },
  {
    "symbol": "HAFN",
    "total_score": 58.18,
    "raw_score": 61.68,
    "breakdown": {
      "price_quality": 3.21,
      "volume_quality": 8.46,
      "rvol": 0.34,
      "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.95,
      "spread_liquidity": 4.59,
      "momentum_consistency": 2.73,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.205,
      "vwap": 8.1996,
      "vwap_slope": 0.0015,
      "rvol": 0.14,
      "volume_acceleration": 2.19,
      "premarket_volume": 70475.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.11,
      "distance_from_pm_high_pct": 0.06,
      "extension_from_vwap_pct": 0.07,
      "spread_pct": 0.12
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 8.21,
    "pm_low": 8.19
  },
  {
    "symbol": "RCAT",
    "total_score": 58.05,
    "raw_score": 61.53,
    "breakdown": {
      "price_quality": 4.14,
      "volume_quality": 12.0,
      "rvol": 1.77,
      "volume_acceleration": 3.39,
      "price_momentum": 0.33,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.96,
      "spread_liquidity": 4.64,
      "momentum_consistency": 2.9,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.145,
      "vwap": 9.0979,
      "vwap_slope": 0.0057,
      "rvol": 0.74,
      "volume_acceleration": 1.34,
      "premarket_volume": 369547.0,
      "momentum_pct": 0.22,
      "consolidation_tightness_pct": 0.33,
      "distance_from_pm_high_pct": 0.05,
      "extension_from_vwap_pct": 0.52,
      "spread_pct": 0.11
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 9.15,
    "pm_low": 9.055
  },
  {
    "symbol": "FSM",
    "total_score": 58.0,
    "raw_score": 61.48,
    "breakdown": {
      "price_quality": 2.52,
      "volume_quality": 12.0,
      "rvol": 3.59,
      "volume_acceleration": 2.12,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.97,
      "spread_liquidity": 4.73,
      "momentum_consistency": 4.14,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.485,
      "vwap": 12.4417,
      "vwap_slope": 0.009,
      "rvol": 1.5,
      "volume_acceleration": 0.61,
      "premarket_volume": 748518.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.16,
      "distance_from_pm_high_pct": 0.04,
      "extension_from_vwap_pct": 0.35,
      "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.49,
    "pm_low": 12.39
  },
  {
    "symbol": "BFLY",
    "total_score": 57.91,
    "raw_score": 61.38,
    "breakdown": {
      "price_quality": 4.07,
      "volume_quality": 12.0,
      "rvol": 1.61,
      "volume_acceleration": 3.93,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.84,
      "spread_liquidity": 4.63,
      "momentum_consistency": 2.9,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.075,
      "vwap": 9.0556,
      "vwap_slope": 0.0051,
      "rvol": 0.67,
      "volume_acceleration": 1.13,
      "premarket_volume": 335176.0,
      "momentum_pct": -0.16,
      "consolidation_tightness_pct": 0.22,
      "distance_from_pm_high_pct": 0.22,
      "extension_from_vwap_pct": 0.21,
      "spread_pct": 0.11
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 9.095,
    "pm_low": 9.025
  },
  {
    "symbol": "ABSI",
    "total_score": 57.86,
    "raw_score": 61.33,
    "breakdown": {
      "price_quality": 4.66,
      "volume_quality": 12.0,
      "rvol": 0.81,
      "volume_acceleration": 4.3,
      "price_momentum": 0.08,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.81,
      "spread_liquidity": 4.66,
      "momentum_consistency": 2.62,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.665,
      "vwap": 9.6561,
      "vwap_slope": 0.0023,
      "rvol": 0.34,
      "volume_acceleration": 1.43,
      "premarket_volume": 167745.0,
      "momentum_pct": 0.05,
      "consolidation_tightness_pct": 0.36,
      "distance_from_pm_high_pct": 0.26,
      "extension_from_vwap_pct": 0.09,
      "spread_pct": 0.1
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 9.69,
    "pm_low": 9.6277
  },
  {
    "symbol": "LCUT",
    "total_score": 57.64,
    "raw_score": 61.1,
    "breakdown": {
      "price_quality": 4.35,
      "volume_quality": 3.21,
      "rvol": 0.13,
      "volume_acceleration": 3.39,
      "price_momentum": 0.48,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.92,
      "spread_liquidity": 4.29,
      "momentum_consistency": 3.33,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.35,
      "vwap": 9.2954,
      "vwap_slope": 0.0231,
      "rvol": 0.05,
      "volume_acceleration": 0.97,
      "premarket_volume": 26739.0,
      "momentum_pct": 0.32,
      "consolidation_tightness_pct": 0.54,
      "distance_from_pm_high_pct": 0.11,
      "extension_from_vwap_pct": 0.59,
      "spread_pct": 0.21
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 9.36,
    "pm_low": 9.19
  },
  {
    "symbol": "KD",
    "total_score": 57.63,
    "raw_score": 61.09,
    "breakdown": {
      "price_quality": 2.12,
      "volume_quality": 12.0,
      "rvol": 1.46,
      "volume_acceleration": 5.15,
      "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.31,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.885,
      "vwap": 12.8339,
      "vwap_slope": 0.0119,
      "rvol": 0.61,
      "volume_acceleration": 1.51,
      "premarket_volume": 303806.0,
      "momentum_pct": -0.03,
      "consolidation_tightness_pct": 0.31,
      "distance_from_pm_high_pct": 0.12,
      "extension_from_vwap_pct": 0.4,
      "spread_pct": 0.08
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 12.9,
    "pm_low": 12.74
  },
  {
    "symbol": "FRSH",
    "total_score": 57.42,
    "raw_score": 60.87,
    "breakdown": {
      "price_quality": 2.16,
      "volume_quality": 12.0,
      "rvol": 1.51,
      "volume_acceleration": 4.77,
      "price_momentum": 0.13,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.85,
      "spread_liquidity": 4.74,
      "momentum_consistency": 3.31,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.8409,
      "vwap": 12.8391,
      "vwap_slope": 0.0017,
      "rvol": 0.63,
      "volume_acceleration": 1.48,
      "premarket_volume": 313762.0,
      "momentum_pct": 0.08,
      "consolidation_tightness_pct": 0.19,
      "distance_from_pm_high_pct": 0.2,
      "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.866,
    "pm_low": 12.7808
  },
  {
    "symbol": "PACK",
    "total_score": 57.32,
    "raw_score": 60.76,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 6.17,
      "rvol": 0.25,
      "volume_acceleration": 3.58,
      "price_momentum": 0.74,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.93,
      "spread_liquidity": 4.34,
      "momentum_consistency": 2.26,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.09,
      "vwap": 5.0728,
      "vwap_slope": 0.0001,
      "rvol": 0.1,
      "volume_acceleration": 1.03,
      "premarket_volume": 51386.0,
      "momentum_pct": 0.49,
      "consolidation_tightness_pct": 0.59,
      "distance_from_pm_high_pct": 0.1,
      "extension_from_vwap_pct": 0.34,
      "spread_pct": 0.2
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 5.095,
    "pm_low": 5.055
  },
  {
    "symbol": "TRIP",
    "total_score": 57.27,
    "raw_score": 60.7,
    "breakdown": {
      "price_quality": 4.88,
      "volume_quality": 12.0,
      "rvol": 0.89,
      "volume_acceleration": 3.76,
      "price_momentum": 0.15,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.89,
      "spread_liquidity": 4.67,
      "momentum_consistency": 2.07,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.12,
      "vwap": 10.1137,
      "vwap_slope": 0.0001,
      "rvol": 0.37,
      "volume_acceleration": 1.08,
      "premarket_volume": 185283.0,
      "momentum_pct": 0.1,
      "consolidation_tightness_pct": 0.15,
      "distance_from_pm_high_pct": 0.15,
      "extension_from_vwap_pct": 0.06,
      "spread_pct": 0.1
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 10.135,
    "pm_low": 10.095
  },
  {
    "symbol": "BB",
    "total_score": 57.14,
    "raw_score": 60.57,
    "breakdown": {
      "price_quality": 2.78,
      "volume_quality": 12.0,
      "rvol": 2.42,
      "volume_acceleration": 3.78,
      "price_momentum": 0.1,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.86,
      "spread_liquidity": 4.57,
      "momentum_consistency": 2.67,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.775,
      "vwap": 7.7709,
      "vwap_slope": 0.0004,
      "rvol": 1.01,
      "volume_acceleration": 1.09,
      "premarket_volume": 504001.0,
      "momentum_pct": 0.06,
      "consolidation_tightness_pct": 0.13,
      "distance_from_pm_high_pct": 0.19,
      "extension_from_vwap_pct": 0.05,
      "spread_pct": 0.13
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 7.79,
    "pm_low": 7.75
  },
  {
    "symbol": "SOPH",
    "total_score": 57.11,
    "raw_score": 60.53,
    "breakdown": {
      "price_quality": 3.65,
      "volume_quality": 5.54,
      "rvol": 0.22,
      "volume_acceleration": 2.0,
      "price_momentum": 0.61,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.61,
      "spread_liquidity": 3.46,
      "momentum_consistency": 3.43,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.655,
      "vwap": 8.6392,
      "vwap_slope": 0.0008,
      "rvol": 0.09,
      "volume_acceleration": 0.58,
      "premarket_volume": 46191.0,
      "momentum_pct": 0.41,
      "consolidation_tightness_pct": 1.04,
      "distance_from_pm_high_pct": 0.52,
      "extension_from_vwap_pct": 0.18,
      "spread_pct": 0.46
    },
    "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.7,
    "pm_low": 8.57
  },
  {
    "symbol": "DC",
    "total_score": 56.97,
    "raw_score": 60.39,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 0.82,
      "volume_acceleration": 6.55,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.94,
      "spread_liquidity": 4.47,
      "momentum_consistency": 2.71,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.265,
      "vwap": 6.2497,
      "vwap_slope": 0.0021,
      "rvol": 0.34,
      "volume_acceleration": 1.66,
      "premarket_volume": 169837.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.08,
      "distance_from_pm_high_pct": 0.08,
      "extension_from_vwap_pct": 0.25,
      "spread_pct": 0.16
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 6.27,
    "pm_low": 6.23
  },
  {
    "symbol": "EMBC",
    "total_score": 56.8,
    "raw_score": 60.21,
    "breakdown": {
      "price_quality": 0.0,
      "volume_quality": 10.17,
      "rvol": 0.41,
      "volume_acceleration": 10,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.92,
      "spread_liquidity": 4.33,
      "momentum_consistency": 2.98,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 4.98,
      "vwap": 4.9508,
      "vwap_slope": 0.0093,
      "rvol": 0.17,
      "volume_acceleration": 2.43,
      "premarket_volume": 84737.0,
      "momentum_pct": -0.1,
      "consolidation_tightness_pct": 0.2,
      "distance_from_pm_high_pct": 0.1,
      "extension_from_vwap_pct": 0.59,
      "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.908
  },
  {
    "symbol": "TBCH",
    "total_score": 56.73,
    "raw_score": 60.13,
    "breakdown": {
      "price_quality": 2.1,
      "volume_quality": 8.21,
      "rvol": 0.33,
      "volume_acceleration": 10,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.8,
      "spread_liquidity": 4.23,
      "momentum_consistency": 3.08,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.905,
      "vwap": 12.8655,
      "vwap_slope": 0.013,
      "rvol": 0.14,
      "volume_acceleration": 3.61,
      "premarket_volume": 68388.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.15,
      "distance_from_pm_high_pct": 0.27,
      "extension_from_vwap_pct": 0.31,
      "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": 12.94,
    "pm_low": 12.82
  },
  {
    "symbol": "CRCT",
    "total_score": 56.71,
    "raw_score": 60.11,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 8.95,
      "rvol": 0.36,
      "volume_acceleration": 10,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.94,
      "spread_liquidity": 4.44,
      "momentum_consistency": 2.54,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.875,
      "vwap": 5.8297,
      "vwap_slope": 0.0155,
      "rvol": 0.15,
      "volume_acceleration": 3.31,
      "premarket_volume": 74565.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.6,
      "distance_from_pm_high_pct": 0.09,
      "extension_from_vwap_pct": 0.78,
      "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.88,
    "pm_low": 5.79
  },
  {
    "symbol": "AGEN",
    "total_score": 56.71,
    "raw_score": 60.11,
    "breakdown": {
      "price_quality": 3.25,
      "volume_quality": 7.1,
      "rvol": 0.28,
      "volume_acceleration": 10,
      "price_momentum": 0.18,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.82,
      "spread_liquidity": 3.79,
      "momentum_consistency": 3.28,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.25,
      "vwap": 8.2335,
      "vwap_slope": 0.0003,
      "rvol": 0.12,
      "volume_acceleration": 2.02,
      "premarket_volume": 59208.0,
      "momentum_pct": 0.12,
      "consolidation_tightness_pct": 0.36,
      "distance_from_pm_high_pct": 0.24,
      "extension_from_vwap_pct": 0.2,
      "spread_pct": 0.36
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 8.27,
    "pm_low": 8.18
  },
  {
    "symbol": "GNW",
    "total_score": 56.69,
    "raw_score": 60.09,
    "breakdown": {
      "price_quality": 4.89,
      "volume_quality": 12.0,
      "rvol": 0.68,
      "volume_acceleration": 3.59,
      "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.66,
      "momentum_consistency": 1.83,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.895,
      "vwap": 9.8813,
      "vwap_slope": 0.0021,
      "rvol": 0.28,
      "volume_acceleration": 1.03,
      "premarket_volume": 141083.0,
      "momentum_pct": 0.05,
      "consolidation_tightness_pct": 0.05,
      "distance_from_pm_high_pct": 0.05,
      "extension_from_vwap_pct": 0.14,
      "spread_pct": 0.1
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 9.9,
    "pm_low": 9.865
  },
  {
    "symbol": "HELP",
    "total_score": 56.68,
    "raw_score": 60.08,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 1.76,
      "volume_acceleration": 3.97,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.71,
      "spread_liquidity": 4.53,
      "momentum_consistency": 4.21,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.12,
      "vwap": 14.0824,
      "vwap_slope": 0.0151,
      "rvol": 0.73,
      "volume_acceleration": 1.14,
      "premarket_volume": 366361.0,
      "momentum_pct": -0.07,
      "consolidation_tightness_pct": 0.71,
      "distance_from_pm_high_pct": 0.39,
      "extension_from_vwap_pct": 0.27,
      "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.175,
    "pm_low": 13.96
  },
  {
    "symbol": "ADMA",
    "total_score": 56.65,
    "raw_score": 60.05,
    "breakdown": {
      "price_quality": 4.76,
      "volume_quality": 11.35,
      "rvol": 0.45,
      "volume_acceleration": 3.92,
      "price_momentum": 0.08,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.97,
      "spread_liquidity": 4.66,
      "momentum_consistency": 2.46,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.755,
      "vwap": 9.7285,
      "vwap_slope": 0.0065,
      "rvol": 0.19,
      "volume_acceleration": 1.13,
      "premarket_volume": 94618.0,
      "momentum_pct": 0.05,
      "consolidation_tightness_pct": 0.14,
      "distance_from_pm_high_pct": 0.03,
      "extension_from_vwap_pct": 0.27,
      "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.7583,
    "pm_low": 9.695
  },
  {
    "symbol": "BVS",
    "total_score": 56.64,
    "raw_score": 60.04,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 0.49,
      "volume_acceleration": 4.39,
      "price_momentum": 0.37,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 6,
      "spread_liquidity": 4.53,
      "momentum_consistency": 4.36,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.08,
      "vwap": 13.99,
      "vwap_slope": 0.0122,
      "rvol": 0.2,
      "volume_acceleration": 1.44,
      "premarket_volume": 101832.0,
      "momentum_pct": 0.25,
      "consolidation_tightness_pct": 0.25,
      "distance_from_pm_high_pct": 0.0,
      "extension_from_vwap_pct": 0.64,
      "spread_pct": 0.14
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 14.08,
    "pm_low": 13.84
  },
  {
    "symbol": "UFI",
    "total_score": 56.61,
    "raw_score": 60.01,
    "breakdown": {
      "price_quality": 2.47,
      "volume_quality": 3.93,
      "rvol": 0.16,
      "volume_acceleration": 5.23,
      "price_momentum": 0.36,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.75,
      "spread_liquidity": 2.77,
      "momentum_consistency": 3.33,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.475,
      "vwap": 7.4316,
      "vwap_slope": 0.0065,
      "rvol": 0.07,
      "volume_acceleration": 1.52,
      "premarket_volume": 32730.0,
      "momentum_pct": 0.24,
      "consolidation_tightness_pct": 1.34,
      "distance_from_pm_high_pct": 0.33,
      "extension_from_vwap_pct": 0.58,
      "spread_pct": 0.67
    },
    "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.5,
    "pm_low": 7.39
  },
  {
    "symbol": "BLMN",
    "total_score": 56.28,
    "raw_score": 59.65,
    "breakdown": {
      "price_quality": 4.21,
      "volume_quality": 12.0,
      "rvol": 1.07,
      "volume_acceleration": 10,
      "price_momentum": 0.56,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.62,
      "spread_liquidity": 4.69,
      "momentum_consistency": 2.31,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.79,
      "vwap": 10.7887,
      "vwap_slope": -0.0084,
      "rvol": 0.44,
      "volume_acceleration": 3.35,
      "premarket_volume": 222023.0,
      "momentum_pct": 0.37,
      "consolidation_tightness_pct": 0.46,
      "distance_from_pm_high_pct": 0.51,
      "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.845,
    "pm_low": 10.74
  },
  {
    "symbol": "RGNX",
    "total_score": 56.14,
    "raw_score": 59.51,
    "breakdown": {
      "price_quality": 3.92,
      "volume_quality": 12.0,
      "rvol": 0.58,
      "volume_acceleration": 1.89,
      "price_momentum": 0.51,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.83,
      "spread_liquidity": 4.63,
      "momentum_consistency": 3.76,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.92,
      "vwap": 8.8795,
      "vwap_slope": 0.0002,
      "rvol": 0.24,
      "volume_acceleration": 1.19,
      "premarket_volume": 121089.0,
      "momentum_pct": 0.34,
      "consolidation_tightness_pct": 0.56,
      "distance_from_pm_high_pct": 0.22,
      "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.82
  },
  {
    "symbol": "OBDC",
    "total_score": 56.06,
    "raw_score": 59.42,
    "breakdown": {
      "price_quality": 3.64,
      "volume_quality": 12.0,
      "rvol": 3.35,
      "volume_acceleration": 1.1,
      "price_momentum": 0.12,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.96,
      "spread_liquidity": 4.71,
      "momentum_consistency": 2.14,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.3591,
      "vwap": 11.3263,
      "vwap_slope": 0.0046,
      "rvol": 1.4,
      "volume_acceleration": 0.32,
      "premarket_volume": 697523.0,
      "momentum_pct": 0.08,
      "consolidation_tightness_pct": 0.13,
      "distance_from_pm_high_pct": 0.05,
      "extension_from_vwap_pct": 0.29,
      "spread_pct": 0.09
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 11.365,
    "pm_low": 11.3
  },
  {
    "symbol": "RPD",
    "total_score": 55.97,
    "raw_score": 59.33,
    "breakdown": {
      "price_quality": 3.06,
      "volume_quality": 11.56,
      "rvol": 0.46,
      "volume_acceleration": 3.78,
      "price_momentum": 0.25,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.84,
      "spread_liquidity": 4.72,
      "momentum_consistency": 3.26,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.94,
      "vwap": 11.9153,
      "vwap_slope": 0.0057,
      "rvol": 0.19,
      "volume_acceleration": 1.09,
      "premarket_volume": 96310.0,
      "momentum_pct": 0.17,
      "consolidation_tightness_pct": 0.29,
      "distance_from_pm_high_pct": 0.21,
      "extension_from_vwap_pct": 0.21,
      "spread_pct": 0.08
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 11.965,
    "pm_low": 11.83
  },
  {
    "symbol": "GSBD",
    "total_score": 55.92,
    "raw_score": 59.28,
    "breakdown": {
      "price_quality": 4.94,
      "volume_quality": 12.0,
      "rvol": 1.21,
      "volume_acceleration": 1.09,
      "price_momentum": 0.07,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.93,
      "spread_liquidity": 4.67,
      "momentum_consistency": 2.97,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.065,
      "vwap": 10.0122,
      "vwap_slope": 0.0081,
      "rvol": 0.5,
      "volume_acceleration": 0.31,
      "premarket_volume": 251212.0,
      "momentum_pct": 0.05,
      "consolidation_tightness_pct": 0.25,
      "distance_from_pm_high_pct": 0.1,
      "extension_from_vwap_pct": 0.53,
      "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.075,
    "pm_low": 9.971
  },
  {
    "symbol": "LADR",
    "total_score": 55.84,
    "raw_score": 59.19,
    "breakdown": {
      "price_quality": 4.97,
      "volume_quality": 5.63,
      "rvol": 0.23,
      "volume_acceleration": 9.46,
      "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.67,
      "momentum_consistency": 1.91,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.975,
      "vwap": 9.9735,
      "vwap_slope": 0.0005,
      "rvol": 0.09,
      "volume_acceleration": 1.95,
      "premarket_volume": 46918.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.09,
      "distance_from_pm_high_pct": 0.1,
      "extension_from_vwap_pct": 0.02,
      "spread_pct": 0.1
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 9.985,
    "pm_low": 9.96
  },
  {
    "symbol": "DXC",
    "total_score": 55.84,
    "raw_score": 59.19,
    "breakdown": {
      "price_quality": 4.32,
      "volume_quality": 12.0,
      "rvol": 0.7,
      "volume_acceleration": 1.82,
      "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.69,
      "momentum_consistency": 3.2,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.68,
      "vwap": 10.6473,
      "vwap_slope": 0.0079,
      "rvol": 0.29,
      "volume_acceleration": 1.18,
      "premarket_volume": 144917.0,
      "momentum_pct": 0.05,
      "consolidation_tightness_pct": 0.18,
      "distance_from_pm_high_pct": 0.0,
      "extension_from_vwap_pct": 0.31,
      "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.68,
    "pm_low": 10.61
  },
  {
    "symbol": "AEG",
    "total_score": 55.75,
    "raw_score": 59.1,
    "breakdown": {
      "price_quality": 4.21,
      "volume_quality": 12.0,
      "rvol": 0.64,
      "volume_acceleration": 2.84,
      "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.64,
      "momentum_consistency": 2.45,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.21,
      "vwap": 9.2071,
      "vwap_slope": 0.0045,
      "rvol": 0.27,
      "volume_acceleration": 1.28,
      "premarket_volume": 133089.0,
      "momentum_pct": -0.05,
      "consolidation_tightness_pct": 0.11,
      "distance_from_pm_high_pct": 0.11,
      "extension_from_vwap_pct": 0.03,
      "spread_pct": 0.11
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 9.22,
    "pm_low": 9.19
  },
  {
    "symbol": "ATEC",
    "total_score": 55.74,
    "raw_score": 59.09,
    "breakdown": {
      "price_quality": 4.31,
      "volume_quality": 12.0,
      "rvol": 1.03,
      "volume_acceleration": 3.42,
      "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.64,
      "momentum_consistency": 1.52,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.315,
      "vwap": 9.3087,
      "vwap_slope": 0.0035,
      "rvol": 0.43,
      "volume_acceleration": 0.98,
      "premarket_volume": 214058.0,
      "momentum_pct": -0.21,
      "consolidation_tightness_pct": 0.32,
      "distance_from_pm_high_pct": 0.32,
      "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": true,
      "vwap_rising": true
    },
    "pm_high": 9.345,
    "pm_low": 9.26
  },
  {
    "symbol": "RILY",
    "total_score": 55.72,
    "raw_score": 59.06,
    "breakdown": {
      "price_quality": 2.13,
      "volume_quality": 11.41,
      "rvol": 0.46,
      "volume_acceleration": 5.65,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.74,
      "spread_liquidity": 4.53,
      "momentum_consistency": 2.74,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.13,
      "vwap": 7.0856,
      "vwap_slope": 0.0193,
      "rvol": 0.19,
      "volume_acceleration": 1.57,
      "premarket_volume": 95092.0,
      "momentum_pct": -0.14,
      "consolidation_tightness_pct": 0.35,
      "distance_from_pm_high_pct": 0.35,
      "extension_from_vwap_pct": 0.63,
      "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.155,
    "pm_low": 7.04
  },
  {
    "symbol": "CXM",
    "total_score": 55.7,
    "raw_score": 59.04,
    "breakdown": {
      "price_quality": 2.41,
      "volume_quality": 12.0,
      "rvol": 1.96,
      "volume_acceleration": 3.41,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.9,
      "spread_liquidity": 4.55,
      "momentum_consistency": 2.42,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.405,
      "vwap": 7.3965,
      "vwap_slope": 0.0006,
      "rvol": 0.82,
      "volume_acceleration": 0.98,
      "premarket_volume": 408710.0,
      "momentum_pct": -0.07,
      "consolidation_tightness_pct": 0.2,
      "distance_from_pm_high_pct": 0.13,
      "extension_from_vwap_pct": 0.11,
      "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.415,
    "pm_low": 7.375
  },
  {
    "symbol": "KRNY",
    "total_score": 55.61,
    "raw_score": 58.94,
    "breakdown": {
      "price_quality": 4.88,
      "volume_quality": 10.05,
      "rvol": 0.4,
      "volume_acceleration": 4.97,
      "price_momentum": 0.15,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 6,
      "spread_liquidity": 4.66,
      "momentum_consistency": 1.44,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.875,
      "vwap": 9.8577,
      "vwap_slope": 0.0013,
      "rvol": 0.17,
      "volume_acceleration": 1.5,
      "premarket_volume": 83733.0,
      "momentum_pct": 0.1,
      "consolidation_tightness_pct": 0.1,
      "distance_from_pm_high_pct": 0.0,
      "extension_from_vwap_pct": 0.18,
      "spread_pct": 0.1
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 9.875,
    "pm_low": 9.83
  },
  {
    "symbol": "ADTN",
    "total_score": 55.57,
    "raw_score": 58.9,
    "breakdown": {
      "price_quality": 2.92,
      "volume_quality": 10.71,
      "rvol": 0.43,
      "volume_acceleration": 5.19,
      "price_momentum": 0.28,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.91,
      "spread_liquidity": 4.16,
      "momentum_consistency": 2.91,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.92,
      "vwap": 7.9111,
      "vwap_slope": 0.002,
      "rvol": 0.18,
      "volume_acceleration": 1.52,
      "premarket_volume": 89224.0,
      "momentum_pct": 0.19,
      "consolidation_tightness_pct": 0.38,
      "distance_from_pm_high_pct": 0.13,
      "extension_from_vwap_pct": 0.11,
      "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": 7.93,
    "pm_low": 7.88
  },
  {
    "symbol": "FMC",
    "total_score": 55.54,
    "raw_score": 58.87,
    "breakdown": {
      "price_quality": 3.9,
      "volume_quality": 12.0,
      "rvol": 0.99,
      "volume_acceleration": 2.36,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.9,
      "spread_liquidity": 4.7,
      "momentum_consistency": 2.62,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.095,
      "vwap": 11.0579,
      "vwap_slope": 0.0065,
      "rvol": 0.41,
      "volume_acceleration": 0.68,
      "premarket_volume": 205217.0,
      "momentum_pct": -0.05,
      "consolidation_tightness_pct": 0.5,
      "distance_from_pm_high_pct": 0.14,
      "extension_from_vwap_pct": 0.34,
      "spread_pct": 0.09
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 11.11,
    "pm_low": 11.015
  },
  {
    "symbol": "ADT",
    "total_score": 55.53,
    "raw_score": 58.86,
    "breakdown": {
      "price_quality": 2.47,
      "volume_quality": 12.0,
      "rvol": 3.08,
      "volume_acceleration": 2.2,
      "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.55,
      "momentum_consistency": 2.21,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.475,
      "vwap": 7.4637,
      "vwap_slope": 0.0025,
      "rvol": 1.28,
      "volume_acceleration": 1.22,
      "premarket_volume": 641468.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.13,
      "distance_from_pm_high_pct": 0.07,
      "extension_from_vwap_pct": 0.15,
      "spread_pct": 0.13
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 7.48,
    "pm_low": 7.445
  },
  {
    "symbol": "MASS",
    "total_score": 55.46,
    "raw_score": 58.79,
    "breakdown": {
      "price_quality": 4.1,
      "volume_quality": 4.79,
      "rvol": 0.19,
      "volume_acceleration": 9.6,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.86,
      "spread_liquidity": 4.39,
      "momentum_consistency": 3.45,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.9,
      "vwap": 10.8887,
      "vwap_slope": 0.0038,
      "rvol": 0.08,
      "volume_acceleration": 1.96,
      "premarket_volume": 39929.0,
      "momentum_pct": -0.08,
      "consolidation_tightness_pct": 0.36,
      "distance_from_pm_high_pct": 0.18,
      "extension_from_vwap_pct": 0.1,
      "spread_pct": 0.18
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 10.92,
    "pm_low": 10.83
  },
  {
    "symbol": "NWL",
    "total_score": 55.03,
    "raw_score": 58.33,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 2.84,
      "volume_acceleration": 2.94,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.69,
      "spread_liquidity": 4.44,
      "momentum_consistency": 2.53,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.975,
      "vwap": 5.9706,
      "vwap_slope": 0.0002,
      "rvol": 1.18,
      "volume_acceleration": 0.84,
      "premarket_volume": 590907.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.25,
      "distance_from_pm_high_pct": 0.42,
      "extension_from_vwap_pct": 0.07,
      "spread_pct": 0.17
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 6.0,
    "pm_low": 5.95
  },
  {
    "symbol": "MAX",
    "total_score": 54.95,
    "raw_score": 58.24,
    "breakdown": {
      "price_quality": 2.19,
      "volume_quality": 6.16,
      "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.77,
      "spread_liquidity": 3.96,
      "momentum_consistency": 3.52,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.81,
      "vwap": 12.7998,
      "vwap_slope": 0.0133,
      "rvol": 0.1,
      "volume_acceleration": 2.33,
      "premarket_volume": 51337.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.22,
      "distance_from_pm_high_pct": 0.31,
      "extension_from_vwap_pct": 0.08,
      "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": 12.85,
    "pm_low": 12.71
  },
  {
    "symbol": "AVAH",
    "total_score": 54.92,
    "raw_score": 58.22,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 1.49,
      "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.86,
      "spread_liquidity": 4.75,
      "momentum_consistency": 3.64,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.61,
      "vwap": 13.5432,
      "vwap_slope": 0.0174,
      "rvol": 0.62,
      "volume_acceleration": 0.74,
      "premarket_volume": 310480.0,
      "momentum_pct": -0.04,
      "consolidation_tightness_pct": 0.18,
      "distance_from_pm_high_pct": 0.18,
      "extension_from_vwap_pct": 0.49,
      "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.635,
    "pm_low": 13.475
  },
  {
    "symbol": "CRGY",
    "total_score": 54.85,
    "raw_score": 58.14,
    "breakdown": {
      "price_quality": 1.51,
      "volume_quality": 12.0,
      "rvol": 2.16,
      "volume_acceleration": 2.54,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.89,
      "spread_liquidity": 4.75,
      "momentum_consistency": 2.9,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.495,
      "vwap": 13.4933,
      "vwap_slope": 0.0008,
      "rvol": 0.9,
      "volume_acceleration": 1.25,
      "premarket_volume": 449912.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.11,
      "distance_from_pm_high_pct": 0.15,
      "extension_from_vwap_pct": 0.01,
      "spread_pct": 0.07
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 13.515,
    "pm_low": 13.465
  },
  {
    "symbol": "ACHR",
    "total_score": 54.82,
    "raw_score": 58.11,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 12.0,
      "volume_acceleration": 8.72,
      "price_momentum": 0.13,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.0,
      "spread_liquidity": 4.44,
      "momentum_consistency": 1.93,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.91,
      "vwap": 5.9322,
      "vwap_slope": -0.0123,
      "rvol": 5.86,
      "volume_acceleration": 1.87,
      "premarket_volume": 2929097.0,
      "momentum_pct": 0.08,
      "consolidation_tightness_pct": 0.63,
      "distance_from_pm_high_pct": 1.34,
      "extension_from_vwap_pct": -0.37,
      "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.99,
    "pm_low": 5.88
  },
  {
    "symbol": "SGRY",
    "total_score": 54.82,
    "raw_score": 58.1,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 1.7,
      "volume_acceleration": 3.82,
      "price_momentum": 0.11,
      "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": 2.0,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.875,
      "vwap": 13.866,
      "vwap_slope": 0.0013,
      "rvol": 0.71,
      "volume_acceleration": 1.1,
      "premarket_volume": 354378.0,
      "momentum_pct": 0.07,
      "consolidation_tightness_pct": 0.29,
      "distance_from_pm_high_pct": 0.25,
      "extension_from_vwap_pct": 0.06,
      "spread_pct": 0.07
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 13.91,
    "pm_low": 13.825
  },
  {
    "symbol": "CHPT",
    "total_score": 54.77,
    "raw_score": 58.06,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 4.86,
      "rvol": 0.19,
      "volume_acceleration": 10,
      "price_momentum": 0.38,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.68,
      "spread_liquidity": 3.87,
      "momentum_consistency": 2.77,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.905,
      "vwap": 5.9025,
      "vwap_slope": -0.0161,
      "rvol": 0.08,
      "volume_acceleration": 2.61,
      "premarket_volume": 40494.0,
      "momentum_pct": 0.25,
      "consolidation_tightness_pct": 0.63,
      "distance_from_pm_high_pct": 0.42,
      "extension_from_vwap_pct": 0.04,
      "spread_pct": 0.34
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 5.93,
    "pm_low": 5.88
  },
  {
    "symbol": "MNRO",
    "total_score": 54.62,
    "raw_score": 57.89,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 2.99,
      "volume_acceleration": 2.98,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 4.87,
      "spread_liquidity": 3.79,
      "momentum_consistency": 3.37,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.75,
      "vwap": 13.7481,
      "vwap_slope": 0.0114,
      "rvol": 1.25,
      "volume_acceleration": 1.3,
      "premarket_volume": 623510.0,
      "momentum_pct": -0.65,
      "consolidation_tightness_pct": 0.8,
      "distance_from_pm_high_pct": 1.5,
      "extension_from_vwap_pct": 0.01,
      "spread_pct": 0.36
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 13.96,
    "pm_low": 13.48
  },
  {
    "symbol": "ALMU",
    "total_score": 54.59,
    "raw_score": 57.87,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 0.49,
      "volume_acceleration": 8.42,
      "price_momentum": 0.32,
      "price_structure": 12,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 4.75,
      "spread_liquidity": 4.29,
      "momentum_consistency": 4.1,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.1499,
      "vwap": 14.2253,
      "vwap_slope": -0.1038,
      "rvol": 0.2,
      "volume_acceleration": 1.84,
      "premarket_volume": 101232.0,
      "momentum_pct": 0.21,
      "consolidation_tightness_pct": 0.35,
      "distance_from_pm_high_pct": 1.67,
      "extension_from_vwap_pct": -0.53,
      "spread_pct": 0.21
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 14.39,
    "pm_low": 14.08
  },
  {
    "symbol": "EOLS",
    "total_score": 54.58,
    "raw_score": 57.86,
    "breakdown": {
      "price_quality": 4.04,
      "volume_quality": 12.0,
      "rvol": 0.8,
      "volume_acceleration": 2.05,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.34,
      "spread_liquidity": 4.26,
      "momentum_consistency": 2.96,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.04,
      "vwap": 9.0394,
      "vwap_slope": 0.0027,
      "rvol": 0.33,
      "volume_acceleration": 0.59,
      "premarket_volume": 166092.0,
      "momentum_pct": -0.22,
      "consolidation_tightness_pct": 0.4,
      "distance_from_pm_high_pct": 0.88,
      "extension_from_vwap_pct": 0.01,
      "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.12,
    "pm_low": 8.92
  },
  {
    "symbol": "UPWK",
    "total_score": 54.4,
    "raw_score": 57.67,
    "breakdown": {
      "price_quality": 3.6,
      "volume_quality": 12.0,
      "rvol": 1.27,
      "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.74,
      "spread_liquidity": 4.61,
      "momentum_consistency": 2.62,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.595,
      "vwap": 8.5872,
      "vwap_slope": 0.0018,
      "rvol": 0.53,
      "volume_acceleration": 0.41,
      "premarket_volume": 264083.0,
      "momentum_pct": -0.12,
      "consolidation_tightness_pct": 0.12,
      "distance_from_pm_high_pct": 0.35,
      "extension_from_vwap_pct": 0.09,
      "spread_pct": 0.12
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 8.625,
    "pm_low": 8.515
  },
  {
    "symbol": "VMET",
    "total_score": 54.26,
    "raw_score": 57.51,
    "breakdown": {
      "price_quality": 4.19,
      "volume_quality": 12.0,
      "rvol": 0.77,
      "volume_acceleration": 1.51,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.86,
      "spread_liquidity": 4.38,
      "momentum_consistency": 2.4,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.81,
      "vwap": 10.8072,
      "vwap_slope": 0.0034,
      "rvol": 0.32,
      "volume_acceleration": 1.15,
      "premarket_volume": 159804.0,
      "momentum_pct": -0.14,
      "consolidation_tightness_pct": 0.18,
      "distance_from_pm_high_pct": 0.18,
      "extension_from_vwap_pct": 0.03,
      "spread_pct": 0.19
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 10.83,
    "pm_low": 10.78
  },
  {
    "symbol": "CRK",
    "total_score": 54.24,
    "raw_score": 57.5,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 0.56,
      "volume_acceleration": 3.12,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.95,
      "spread_liquidity": 4.77,
      "momentum_consistency": 3.2,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.3,
      "vwap": 14.2117,
      "vwap_slope": 0.0292,
      "rvol": 0.23,
      "volume_acceleration": 1.31,
      "premarket_volume": 116247.0,
      "momentum_pct": -0.03,
      "consolidation_tightness_pct": 0.24,
      "distance_from_pm_high_pct": 0.07,
      "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": true,
      "vwap_rising": true
    },
    "pm_high": 14.31,
    "pm_low": 14.1301
  },
  {
    "symbol": "FNKO",
    "total_score": 54.22,
    "raw_score": 57.48,
    "breakdown": {
      "price_quality": 1.7,
      "volume_quality": 11.93,
      "rvol": 0.48,
      "volume_acceleration": 1.57,
      "price_momentum": 0.45,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.72,
      "spread_liquidity": 4.5,
      "momentum_consistency": 2.33,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.695,
      "vwap": 6.6877,
      "vwap_slope": -0.0019,
      "rvol": 0.2,
      "volume_acceleration": 1.16,
      "premarket_volume": 99451.0,
      "momentum_pct": 0.3,
      "consolidation_tightness_pct": 0.37,
      "distance_from_pm_high_pct": 0.37,
      "extension_from_vwap_pct": 0.11,
      "spread_pct": 0.15
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 6.72,
    "pm_low": 6.655
  },
  {
    "symbol": "COYA",
    "total_score": 54.19,
    "raw_score": 57.44,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 5.13,
      "rvol": 0.21,
      "volume_acceleration": 10,
      "price_momentum": 1.48,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.13,
      "spread_liquidity": 2.4,
      "momentum_consistency": 5.2,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.12,
      "vwap": 5.1056,
      "vwap_slope": 0.0443,
      "rvol": 0.09,
      "volume_acceleration": 2.09,
      "premarket_volume": 42750.0,
      "momentum_pct": 0.99,
      "consolidation_tightness_pct": 0.98,
      "distance_from_pm_high_pct": 1.16,
      "extension_from_vwap_pct": 0.28,
      "spread_pct": 0.78
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 5.18,
    "pm_low": 5.0474
  },
  {
    "symbol": "BBDC",
    "total_score": 54.12,
    "raw_score": 57.36,
    "breakdown": {
      "price_quality": 4.4,
      "volume_quality": 8.04,
      "rvol": 0.32,
      "volume_acceleration": 3.82,
      "price_momentum": 0.08,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.92,
      "spread_liquidity": 4.65,
      "momentum_consistency": 1.33,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.3999,
      "vwap": 9.3971,
      "vwap_slope": -0.0005,
      "rvol": 0.13,
      "volume_acceleration": 1.38,
      "premarket_volume": 67014.0,
      "momentum_pct": 0.05,
      "consolidation_tightness_pct": 0.1,
      "distance_from_pm_high_pct": 0.11,
      "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": true,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 9.41,
    "pm_low": 9.39
  },
  {
    "symbol": "VERX",
    "total_score": 54.04,
    "raw_score": 57.29,
    "breakdown": {
      "price_quality": 1.59,
      "volume_quality": 12.0,
      "rvol": 1.13,
      "volume_acceleration": 2.72,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.78,
      "spread_liquidity": 4.75,
      "momentum_consistency": 2.92,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.415,
      "vwap": 13.4124,
      "vwap_slope": 0.0031,
      "rvol": 0.47,
      "volume_acceleration": 0.78,
      "premarket_volume": 235195.0,
      "momentum_pct": -0.15,
      "consolidation_tightness_pct": 0.26,
      "distance_from_pm_high_pct": 0.3,
      "extension_from_vwap_pct": 0.02,
      "spread_pct": 0.07
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 13.455,
    "pm_low": 13.36
  },
  {
    "symbol": "FSK",
    "total_score": 54.02,
    "raw_score": 57.26,
    "breakdown": {
      "price_quality": 2.95,
      "volume_quality": 12.0,
      "rvol": 0.55,
      "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.88,
      "spread_liquidity": 4.72,
      "momentum_consistency": 2.72,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.0501,
      "vwap": 12.047,
      "vwap_slope": 0.0086,
      "rvol": 0.23,
      "volume_acceleration": 1.2,
      "premarket_volume": 115015.0,
      "momentum_pct": -0.04,
      "consolidation_tightness_pct": 0.17,
      "distance_from_pm_high_pct": 0.16,
      "extension_from_vwap_pct": 0.03,
      "spread_pct": 0.08
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 12.07,
    "pm_low": 12.02
  },
  {
    "symbol": "BIOA",
    "total_score": 53.99,
    "raw_score": 57.23,
    "breakdown": {
      "price_quality": 4.97,
      "volume_quality": 9.46,
      "rvol": 0.38,
      "volume_acceleration": 4.45,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.55,
      "spread_liquidity": 3.67,
      "momentum_consistency": 2.36,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.97,
      "vwap": 9.9362,
      "vwap_slope": 0.0077,
      "rvol": 0.16,
      "volume_acceleration": 1.44,
      "premarket_volume": 78801.0,
      "momentum_pct": -0.05,
      "consolidation_tightness_pct": 0.2,
      "distance_from_pm_high_pct": 0.6,
      "extension_from_vwap_pct": 0.34,
      "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.03,
    "pm_low": 9.83
  },
  {
    "symbol": "MATV",
    "total_score": 53.97,
    "raw_score": 57.21,
    "breakdown": {
      "price_quality": 2.66,
      "volume_quality": 9.99,
      "rvol": 0.4,
      "volume_acceleration": 2.15,
      "price_momentum": 0.61,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.97,
      "spread_liquidity": 4.73,
      "momentum_consistency": 1.89,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.34,
      "vwap": 12.304,
      "vwap_slope": -0.0019,
      "rvol": 0.17,
      "volume_acceleration": 0.62,
      "premarket_volume": 83265.0,
      "momentum_pct": 0.41,
      "consolidation_tightness_pct": 0.65,
      "distance_from_pm_high_pct": 0.04,
      "extension_from_vwap_pct": 0.29,
      "spread_pct": 0.08
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 12.345,
    "pm_low": 12.25
  },
  {
    "symbol": "CWK",
    "total_score": 53.88,
    "raw_score": 57.11,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 0.57,
      "volume_acceleration": 2.25,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.92,
      "spread_liquidity": 4.77,
      "momentum_consistency": 3.7,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.615,
      "vwap": 14.5834,
      "vwap_slope": 0.0079,
      "rvol": 0.24,
      "volume_acceleration": 0.65,
      "premarket_volume": 118831.0,
      "momentum_pct": -0.03,
      "consolidation_tightness_pct": 0.14,
      "distance_from_pm_high_pct": 0.1,
      "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": 14.63,
    "pm_low": 14.52
  },
  {
    "symbol": "LAND",
    "total_score": 53.77,
    "raw_score": 56.99,
    "breakdown": {
      "price_quality": 3.73,
      "volume_quality": 8.1,
      "rvol": 0.32,
      "volume_acceleration": 5.47,
      "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.62,
      "momentum_consistency": 2.43,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.73,
      "vwap": 8.7138,
      "vwap_slope": 0.0075,
      "rvol": 0.13,
      "volume_acceleration": 1.55,
      "premarket_volume": 67486.0,
      "momentum_pct": -0.06,
      "consolidation_tightness_pct": 0.11,
      "distance_from_pm_high_pct": 0.11,
      "extension_from_vwap_pct": 0.19,
      "spread_pct": 0.11
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 8.74,
    "pm_low": 8.69
  },
  {
    "symbol": "NTSK",
    "total_score": 53.73,
    "raw_score": 56.95,
    "breakdown": {
      "price_quality": 1.55,
      "volume_quality": 12.0,
      "rvol": 1.62,
      "volume_acceleration": 8.19,
      "price_momentum": 0.39,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.67,
      "spread_liquidity": 4.75,
      "momentum_consistency": 3.57,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.445,
      "vwap": 13.4281,
      "vwap_slope": -0.0023,
      "rvol": 0.68,
      "volume_acceleration": 1.82,
      "premarket_volume": 338242.0,
      "momentum_pct": 0.26,
      "consolidation_tightness_pct": 0.41,
      "distance_from_pm_high_pct": 0.44,
      "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": true,
      "vwap_rising": false
    },
    "pm_high": 13.505,
    "pm_low": 13.38
  },
  {
    "symbol": "MAKO",
    "total_score": 53.71,
    "raw_score": 56.93,
    "breakdown": {
      "price_quality": 3.94,
      "volume_quality": 3.45,
      "rvol": 0.14,
      "volume_acceleration": 9.91,
      "price_momentum": 0.2,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.76,
      "spread_liquidity": 4.1,
      "momentum_consistency": 3.03,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.065,
      "vwap": 11.0283,
      "vwap_slope": 0.0325,
      "rvol": 0.06,
      "volume_acceleration": 1.99,
      "premarket_volume": 28781.0,
      "momentum_pct": 0.14,
      "consolidation_tightness_pct": 0.45,
      "distance_from_pm_high_pct": 0.32,
      "extension_from_vwap_pct": 0.33,
      "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": 11.1,
    "pm_low": 10.9799
  },
  {
    "symbol": "AVO",
    "total_score": 53.59,
    "raw_score": 56.81,
    "breakdown": {
      "price_quality": 2.05,
      "volume_quality": 3.06,
      "rvol": 0.12,
      "volume_acceleration": 9.64,
      "price_momentum": 0.32,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 6,
      "spread_liquidity": 4.48,
      "momentum_consistency": 4.73,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.95,
      "vwap": 12.8975,
      "vwap_slope": 0.0251,
      "rvol": 0.05,
      "volume_acceleration": 1.96,
      "premarket_volume": 25520.0,
      "momentum_pct": 0.21,
      "consolidation_tightness_pct": 0.39,
      "distance_from_pm_high_pct": 0.0,
      "extension_from_vwap_pct": 0.41,
      "spread_pct": 0.15
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 12.95,
    "pm_low": 12.8539
  },
  {
    "symbol": "WSE",
    "total_score": 53.56,
    "raw_score": 56.77,
    "breakdown": {
      "price_quality": 1.89,
      "volume_quality": 12.0,
      "rvol": 0.5,
      "volume_acceleration": 2.11,
      "price_momentum": 0.06,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.97,
      "spread_liquidity": 4.75,
      "momentum_consistency": 3.1,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.115,
      "vwap": 13.0713,
      "vwap_slope": 0.0056,
      "rvol": 0.21,
      "volume_acceleration": 1.21,
      "premarket_volume": 103700.0,
      "momentum_pct": 0.04,
      "consolidation_tightness_pct": 0.11,
      "distance_from_pm_high_pct": 0.04,
      "extension_from_vwap_pct": 0.33,
      "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.12,
    "pm_low": 13.015
  },
  {
    "symbol": "DUOT",
    "total_score": 53.5,
    "raw_score": 56.71,
    "breakdown": {
      "price_quality": 4.68,
      "volume_quality": 8.84,
      "rvol": 0.35,
      "volume_acceleration": 10,
      "price_momentum": 0.51,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.89,
      "spread_liquidity": 4.03,
      "momentum_consistency": 3.2,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.325,
      "vwap": 10.2932,
      "vwap_slope": -0.0017,
      "rvol": 0.15,
      "volume_acceleration": 2.37,
      "premarket_volume": 73708.0,
      "momentum_pct": 0.34,
      "consolidation_tightness_pct": 0.49,
      "distance_from_pm_high_pct": 0.15,
      "extension_from_vwap_pct": 0.31,
      "spread_pct": 0.29
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 10.34,
    "pm_low": 10.25
  },
  {
    "symbol": "USDE",
    "total_score": 53.49,
    "raw_score": 56.7,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 0.63,
      "volume_acceleration": 3.91,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 4.65,
      "spread_liquidity": 3.89,
      "momentum_consistency": 3.71,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.01,
      "vwap": 5.9326,
      "vwap_slope": 0.058,
      "rvol": 0.26,
      "volume_acceleration": 1.39,
      "premarket_volume": 132218.0,
      "momentum_pct": -0.0,
      "consolidation_tightness_pct": 0.71,
      "distance_from_pm_high_pct": 1.8,
      "extension_from_vwap_pct": 1.3,
      "spread_pct": 0.33
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 6.1199,
    "pm_low": 5.78
  },
  {
    "symbol": "SMR",
    "total_score": 53.48,
    "raw_score": 56.69,
    "breakdown": {
      "price_quality": 4.8,
      "volume_quality": 12.0,
      "rvol": 12.0,
      "volume_acceleration": 2.99,
      "price_momentum": 0.08,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 4.72,
      "spread_liquidity": 4.66,
      "momentum_consistency": 3.03,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.8001,
      "vwap": 9.8387,
      "vwap_slope": -0.0119,
      "rvol": 15.0,
      "volume_acceleration": 0.86,
      "premarket_volume": 7502342.0,
      "momentum_pct": 0.05,
      "consolidation_tightness_pct": 0.56,
      "distance_from_pm_high_pct": 1.7,
      "extension_from_vwap_pct": -0.39,
      "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.97,
    "pm_low": 9.725
  },
  {
    "symbol": "MFA",
    "total_score": 53.47,
    "raw_score": 56.68,
    "breakdown": {
      "price_quality": 3.83,
      "volume_quality": 10.58,
      "rvol": 0.42,
      "volume_acceleration": 2.26,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.83,
      "spread_liquidity": 4.62,
      "momentum_consistency": 2.73,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.83,
      "vwap": 8.8295,
      "vwap_slope": 0.0022,
      "rvol": 0.18,
      "volume_acceleration": 0.65,
      "premarket_volume": 88206.0,
      "momentum_pct": -0.11,
      "consolidation_tightness_pct": 0.17,
      "distance_from_pm_high_pct": 0.23,
      "extension_from_vwap_pct": 0.01,
      "spread_pct": 0.11
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 8.85,
    "pm_low": 8.82
  },
  {
    "symbol": "GPGI",
    "total_score": 53.44,
    "raw_score": 56.65,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 7.41,
      "rvol": 0.3,
      "volume_acceleration": 5.03,
      "price_momentum": 0.39,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.94,
      "spread_liquidity": 4.75,
      "momentum_consistency": 2.53,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.51,
      "vwap": 13.49,
      "vwap_slope": -0.0003,
      "rvol": 0.12,
      "volume_acceleration": 1.5,
      "premarket_volume": 61741.0,
      "momentum_pct": 0.26,
      "consolidation_tightness_pct": 0.33,
      "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": true,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 13.52,
    "pm_low": 13.45
  },
  {
    "symbol": "ANNX",
    "total_score": 53.36,
    "raw_score": 56.57,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 0.76,
      "volume_acceleration": 3.6,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.78,
      "spread_liquidity": 4.35,
      "momentum_consistency": 2.18,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.105,
      "vwap": 5.1003,
      "vwap_slope": 0.0001,
      "rvol": 0.32,
      "volume_acceleration": 1.04,
      "premarket_volume": 157588.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.29,
      "distance_from_pm_high_pct": 0.29,
      "extension_from_vwap_pct": 0.09,
      "spread_pct": 0.2
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 5.12,
    "pm_low": 5.09
  },
  {
    "symbol": "HNST",
    "total_score": 53.27,
    "raw_score": 56.46,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 1.38,
      "volume_acceleration": 1.9,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 6,
      "spread_liquidity": 4.39,
      "momentum_consistency": 2.9,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.48,
      "vwap": 5.4673,
      "vwap_slope": 0.0016,
      "rvol": 0.57,
      "volume_acceleration": 0.55,
      "premarket_volume": 286800.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.18,
      "distance_from_pm_high_pct": 0.0,
      "extension_from_vwap_pct": 0.23,
      "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.45
  },
  {
    "symbol": "MARA",
    "total_score": 52.75,
    "raw_score": 55.91,
    "breakdown": {
      "price_quality": 3.14,
      "volume_quality": 12.0,
      "rvol": 12.0,
      "volume_acceleration": 3.96,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 4.24,
      "spread_liquidity": 4.72,
      "momentum_consistency": 3.45,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.855,
      "vwap": 12.0349,
      "vwap_slope": -0.0177,
      "rvol": 9.99,
      "volume_acceleration": 1.14,
      "premarket_volume": 4996767.0,
      "momentum_pct": -0.96,
      "consolidation_tightness_pct": 1.17,
      "distance_from_pm_high_pct": 2.35,
      "extension_from_vwap_pct": -1.49,
      "spread_pct": 0.08
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 12.14,
    "pm_low": 11.85
  },
  {
    "symbol": "SSL",
    "total_score": 52.71,
    "raw_score": 55.87,
    "breakdown": {
      "price_quality": 3.55,
      "volume_quality": 10.12,
      "rvol": 0.4,
      "volume_acceleration": 10,
      "price_momentum": 0.07,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.93,
      "spread_liquidity": 4.71,
      "momentum_consistency": 1.88,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.45,
      "vwap": 11.4462,
      "vwap_slope": -0.0002,
      "rvol": 0.17,
      "volume_acceleration": 2.36,
      "premarket_volume": 84352.0,
      "momentum_pct": 0.04,
      "consolidation_tightness_pct": 0.17,
      "distance_from_pm_high_pct": 0.09,
      "extension_from_vwap_pct": 0.03,
      "spread_pct": 0.09
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 11.46,
    "pm_low": 11.43
  },
  {
    "symbol": "FRNM",
    "total_score": 52.68,
    "raw_score": 55.84,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 5.24,
      "rvol": 0.21,
      "volume_acceleration": 6.76,
      "price_momentum": 0.49,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.89,
      "spread_liquidity": 4.28,
      "momentum_consistency": 2.67,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.96,
      "vwap": 13.9187,
      "vwap_slope": -0.0089,
      "rvol": 0.09,
      "volume_acceleration": 1.68,
      "premarket_volume": 43671.0,
      "momentum_pct": 0.32,
      "consolidation_tightness_pct": 0.68,
      "distance_from_pm_high_pct": 0.14,
      "extension_from_vwap_pct": 0.3,
      "spread_pct": 0.21
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 13.98,
    "pm_low": 13.865
  },
  {
    "symbol": "ICL",
    "total_score": 52.58,
    "raw_score": 55.74,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 0.61,
      "volume_acceleration": 10,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.87,
      "spread_liquidity": 4.41,
      "momentum_consistency": 1.75,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.645,
      "vwap": 5.6461,
      "vwap_slope": 0.0015,
      "rvol": 0.26,
      "volume_acceleration": 3.58,
      "premarket_volume": 127967.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.09,
      "distance_from_pm_high_pct": 0.18,
      "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": false,
      "vwap_rising": true
    },
    "pm_high": 5.655,
    "pm_low": 5.635
  },
  {
    "symbol": "UTZ",
    "total_score": 52.38,
    "raw_score": 55.52,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 1.73,
      "volume_acceleration": 0.96,
      "price_momentum": 0.05,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 6,
      "spread_liquidity": 4.77,
      "momentum_consistency": 2.11,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.26,
      "vwap": 14.2544,
      "vwap_slope": 0.0003,
      "rvol": 0.72,
      "volume_acceleration": 0.28,
      "premarket_volume": 360564.0,
      "momentum_pct": 0.04,
      "consolidation_tightness_pct": 0.07,
      "distance_from_pm_high_pct": 0.0,
      "extension_from_vwap_pct": 0.04,
      "spread_pct": 0.07
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 14.26,
    "pm_low": 14.24
  },
  {
    "symbol": "ODD",
    "total_score": 52.36,
    "raw_score": 55.5,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 0.55,
      "volume_acceleration": 10,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.1,
      "spread_liquidity": 4.3,
      "momentum_consistency": 2.45,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.355,
      "vwap": 14.3992,
      "vwap_slope": 0.0061,
      "rvol": 0.23,
      "volume_acceleration": 2.47,
      "premarket_volume": 115234.0,
      "momentum_pct": -0.45,
      "consolidation_tightness_pct": 0.63,
      "distance_from_pm_high_pct": 1.2,
      "extension_from_vwap_pct": -0.31,
      "spread_pct": 0.21
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": true
    },
    "pm_high": 14.53,
    "pm_low": 14.28
  },
  {
    "symbol": "NRDS",
    "total_score": 52.18,
    "raw_score": 55.31,
    "breakdown": {
      "price_quality": 4.93,
      "volume_quality": 6.29,
      "rvol": 0.25,
      "volume_acceleration": 3.36,
      "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": 3.33,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.07,
      "vwap": 10.0467,
      "vwap_slope": 0.0058,
      "rvol": 0.1,
      "volume_acceleration": 0.96,
      "premarket_volume": 52438.0,
      "momentum_pct": 0.05,
      "consolidation_tightness_pct": 0.1,
      "distance_from_pm_high_pct": 0.0,
      "extension_from_vwap_pct": 0.23,
      "spread_pct": 0.1
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 10.07,
    "pm_low": 10.0101
  },
  {
    "symbol": "CION",
    "total_score": 52.17,
    "raw_score": 55.3,
    "breakdown": {
      "price_quality": 2.54,
      "volume_quality": 3.52,
      "rvol": 0.14,
      "volume_acceleration": 10,
      "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.56,
      "momentum_consistency": 1.93,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.545,
      "vwap": 7.5311,
      "vwap_slope": 0.0038,
      "rvol": 0.06,
      "volume_acceleration": 2.01,
      "premarket_volume": 29367.0,
      "momentum_pct": 0.13,
      "consolidation_tightness_pct": 0.13,
      "distance_from_pm_high_pct": 0.0,
      "extension_from_vwap_pct": 0.18,
      "spread_pct": 0.13
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 7.545,
    "pm_low": 7.52
  },
  {
    "symbol": "HUN",
    "total_score": 52.08,
    "raw_score": 55.2,
    "breakdown": {
      "price_quality": 4.46,
      "volume_quality": 12.0,
      "rvol": 1.09,
      "volume_acceleration": 3.16,
      "price_momentum": 0.08,
      "price_structure": 12,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.53,
      "spread_liquidity": 4.65,
      "momentum_consistency": 2.25,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.455,
      "vwap": 9.4588,
      "vwap_slope": -0.0074,
      "rvol": 0.45,
      "volume_acceleration": 0.91,
      "premarket_volume": 226462.0,
      "momentum_pct": 0.05,
      "consolidation_tightness_pct": 0.37,
      "distance_from_pm_high_pct": 0.63,
      "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": true,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 9.515,
    "pm_low": 9.41
  },
  {
    "symbol": "GDYN",
    "total_score": 52.05,
    "raw_score": 55.18,
    "breakdown": {
      "price_quality": 2.83,
      "volume_quality": 11.28,
      "rvol": 0.45,
      "volume_acceleration": 8.42,
      "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.57,
      "momentum_consistency": 2.56,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.835,
      "vwap": 7.8196,
      "vwap_slope": -0.0016,
      "rvol": 0.19,
      "volume_acceleration": 1.84,
      "premarket_volume": 94009.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.16,
      "distance_from_pm_high_pct": 0.19,
      "extension_from_vwap_pct": 0.2,
      "spread_pct": 0.13
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 7.85,
    "pm_low": 7.795
  },
  {
    "symbol": "XERS",
    "total_score": 52.03,
    "raw_score": 55.15,
    "breakdown": {
      "price_quality": 3.7,
      "volume_quality": 10.07,
      "rvol": 0.4,
      "volume_acceleration": 2.13,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.78,
      "spread_liquidity": 4.62,
      "momentum_consistency": 2.04,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.695,
      "vwap": 8.6941,
      "vwap_slope": 0.0016,
      "rvol": 0.17,
      "volume_acceleration": 0.61,
      "premarket_volume": 83955.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.06,
      "distance_from_pm_high_pct": 0.29,
      "extension_from_vwap_pct": 0.01,
      "spread_pct": 0.12
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 8.72,
    "pm_low": 8.675
  },
  {
    "symbol": "JOBY",
    "total_score": 51.89,
    "raw_score": 55.01,
    "breakdown": {
      "price_quality": 2.19,
      "volume_quality": 12.0,
      "rvol": 12.0,
      "volume_acceleration": 3.84,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.28,
      "spread_liquidity": 4.54,
      "momentum_consistency": 2.76,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.1901,
      "vwap": 7.2129,
      "vwap_slope": -0.0097,
      "rvol": 4.8,
      "volume_acceleration": 1.38,
      "premarket_volume": 2398239.0,
      "momentum_pct": -0.07,
      "consolidation_tightness_pct": 0.28,
      "distance_from_pm_high_pct": 0.96,
      "extension_from_vwap_pct": -0.32,
      "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.26,
    "pm_low": 7.17
  },
  {
    "symbol": "RITM",
    "total_score": 51.88,
    "raw_score": 54.99,
    "breakdown": {
      "price_quality": 4.79,
      "volume_quality": 12.0,
      "rvol": 1.42,
      "volume_acceleration": 4.69,
      "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.67,
      "momentum_consistency": 1.96,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.21,
      "vwap": 10.2103,
      "vwap_slope": 0.003,
      "rvol": 0.59,
      "volume_acceleration": 1.47,
      "premarket_volume": 296331.0,
      "momentum_pct": -0.05,
      "consolidation_tightness_pct": 0.15,
      "distance_from_pm_high_pct": 0.2,
      "extension_from_vwap_pct": -0.0,
      "spread_pct": 0.1
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": true
    },
    "pm_high": 10.23,
    "pm_low": 10.19
  },
  {
    "symbol": "FPI",
    "total_score": 51.84,
    "raw_score": 54.95,
    "breakdown": {
      "price_quality": 4.7,
      "volume_quality": 3.62,
      "rvol": 0.14,
      "volume_acceleration": 6.15,
      "price_momentum": 0.22,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 6,
      "spread_liquidity": 4.68,
      "momentum_consistency": 3.03,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.3,
      "vwap": 10.2804,
      "vwap_slope": 0.0114,
      "rvol": 0.06,
      "volume_acceleration": 1.62,
      "premarket_volume": 30133.0,
      "momentum_pct": 0.15,
      "consolidation_tightness_pct": 0.15,
      "distance_from_pm_high_pct": 0.0,
      "extension_from_vwap_pct": 0.19,
      "spread_pct": 0.1
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 10.3,
    "pm_low": 10.26
  },
  {
    "symbol": "BKKT",
    "total_score": 51.79,
    "raw_score": 54.9,
    "breakdown": {
      "price_quality": 3.64,
      "volume_quality": 12.0,
      "rvol": 0.71,
      "volume_acceleration": 6.23,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.14,
      "spread_liquidity": 4.23,
      "momentum_consistency": 3.35,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.64,
      "vwap": 8.6666,
      "vwap_slope": 0.0189,
      "rvol": 0.3,
      "volume_acceleration": 1.62,
      "premarket_volume": 148076.0,
      "momentum_pct": -0.69,
      "consolidation_tightness_pct": 1.13,
      "distance_from_pm_high_pct": 1.14,
      "extension_from_vwap_pct": -0.31,
      "spread_pct": 0.23
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": true
    },
    "pm_high": 8.74,
    "pm_low": 8.58
  },
  {
    "symbol": "NXE",
    "total_score": 51.74,
    "raw_score": 54.84,
    "breakdown": {
      "price_quality": 3.81,
      "volume_quality": 12.0,
      "rvol": 2.25,
      "volume_acceleration": 1.95,
      "price_momentum": 0.4,
      "price_structure": 12,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.37,
      "spread_liquidity": 4.7,
      "momentum_consistency": 2.34,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.185,
      "vwap": 11.1912,
      "vwap_slope": -0.0097,
      "rvol": 0.94,
      "volume_acceleration": 1.2,
      "premarket_volume": 469636.0,
      "momentum_pct": 0.27,
      "consolidation_tightness_pct": 0.38,
      "distance_from_pm_high_pct": 0.83,
      "extension_from_vwap_pct": -0.06,
      "spread_pct": 0.09
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 11.2791,
    "pm_low": 11.14
  },
  {
    "symbol": "FLO",
    "total_score": 51.29,
    "raw_score": 54.37,
    "breakdown": {
      "price_quality": 2.04,
      "volume_quality": 12.0,
      "rvol": 4.89,
      "volume_acceleration": 3.26,
      "price_momentum": 0.53,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.58,
      "spread_liquidity": 4.53,
      "momentum_consistency": 2.34,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.035,
      "vwap": 7.0267,
      "vwap_slope": -0.0018,
      "rvol": 1.84,
      "volume_acceleration": 0.94,
      "premarket_volume": 917557.0,
      "momentum_pct": 0.36,
      "consolidation_tightness_pct": 0.42,
      "distance_from_pm_high_pct": 0.57,
      "extension_from_vwap_pct": 0.12,
      "spread_pct": 0.14
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 7.075,
    "pm_low": 7.0
  },
  {
    "symbol": "INNV",
    "total_score": 51.09,
    "raw_score": 54.15,
    "breakdown": {
      "price_quality": 4.13,
      "volume_quality": 2.99,
      "rvol": 0.12,
      "volume_acceleration": 7.66,
      "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": 3.78,
      "momentum_consistency": 3.35,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.87,
      "vwap": 10.8674,
      "vwap_slope": 0.0026,
      "rvol": 0.05,
      "volume_acceleration": 1.77,
      "premarket_volume": 24905.0,
      "momentum_pct": -0.18,
      "consolidation_tightness_pct": 0.37,
      "distance_from_pm_high_pct": 0.37,
      "extension_from_vwap_pct": 0.02,
      "spread_pct": 0.37
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 10.91,
    "pm_low": 10.8374
  },
  {
    "symbol": "PDYN",
    "total_score": 50.95,
    "raw_score": 54.01,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 6.41,
      "rvol": 0.26,
      "volume_acceleration": 2.89,
      "price_momentum": 0.77,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.74,
      "spread_liquidity": 4.43,
      "momentum_consistency": 3.2,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.8699,
      "vwap": 5.856,
      "vwap_slope": -0.0037,
      "rvol": 0.11,
      "volume_acceleration": 1.29,
      "premarket_volume": 53446.0,
      "momentum_pct": 0.51,
      "consolidation_tightness_pct": 0.51,
      "distance_from_pm_high_pct": 0.34,
      "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": true,
      "vwap_rising": false
    },
    "pm_high": 5.89,
    "pm_low": 5.835
  },
  {
    "symbol": "JEM",
    "total_score": 50.91,
    "raw_score": 53.96,
    "breakdown": {
      "price_quality": 1.92,
      "volume_quality": 12.0,
      "rvol": 5.2,
      "volume_acceleration": 1.88,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 5.23,
      "distance_from_pm_high": 3.49,
      "spread_liquidity": 2.12,
      "momentum_consistency": 3.72,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.92,
      "vwap": 6.6974,
      "vwap_slope": 0.0757,
      "rvol": 1.95,
      "volume_acceleration": 1.19,
      "premarket_volume": 975893.0,
      "momentum_pct": -0.17,
      "consolidation_tightness_pct": 7.15,
      "distance_from_pm_high_pct": 3.35,
      "extension_from_vwap_pct": 3.32,
      "spread_pct": 0.86
    },
    "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.16,
    "pm_low": 6.2701
  },
  {
    "symbol": "EGY",
    "total_score": 50.84,
    "raw_score": 53.89,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 10.97,
      "rvol": 0.44,
      "volume_acceleration": 2.14,
      "price_momentum": 0.26,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 6,
      "spread_liquidity": 4.42,
      "momentum_consistency": 1.76,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.765,
      "vwap": 5.755,
      "vwap_slope": 0.0003,
      "rvol": 0.18,
      "volume_acceleration": 1.21,
      "premarket_volume": 91446.0,
      "momentum_pct": 0.17,
      "consolidation_tightness_pct": 0.17,
      "distance_from_pm_high_pct": 0.0,
      "extension_from_vwap_pct": 0.17,
      "spread_pct": 0.17
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 5.765,
    "pm_low": 5.74
  },
  {
    "symbol": "GRML",
    "total_score": 50.63,
    "raw_score": 53.67,
    "breakdown": {
      "price_quality": 4.89,
      "volume_quality": 8.75,
      "rvol": 0.35,
      "volume_acceleration": 2.55,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.18,
      "spread_liquidity": 1.63,
      "momentum_consistency": 3.92,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.89,
      "vwap": 9.8782,
      "vwap_slope": 0.0128,
      "rvol": 0.15,
      "volume_acceleration": 0.73,
      "premarket_volume": 72903.0,
      "momentum_pct": -0.59,
      "consolidation_tightness_pct": 1.31,
      "distance_from_pm_high_pct": 1.1,
      "extension_from_vwap_pct": 0.12,
      "spread_pct": 1.01
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 10.0,
    "pm_low": 9.71
  },
  {
    "symbol": "YSS",
    "total_score": 50.55,
    "raw_score": 53.58,
    "breakdown": {
      "price_quality": 4.27,
      "volume_quality": 12.0,
      "rvol": 1.03,
      "volume_acceleration": 3.59,
      "price_momentum": 0.16,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.88,
      "spread_liquidity": 4.28,
      "momentum_consistency": 3.17,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.27,
      "vwap": 9.2478,
      "vwap_slope": -0.0004,
      "rvol": 0.43,
      "volume_acceleration": 1.03,
      "premarket_volume": 213931.0,
      "momentum_pct": 0.11,
      "consolidation_tightness_pct": 0.22,
      "distance_from_pm_high_pct": 0.16,
      "extension_from_vwap_pct": 0.24,
      "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.285,
    "pm_low": 9.2
  },
  {
    "symbol": "LSPD",
    "total_score": 50.13,
    "raw_score": 53.13,
    "breakdown": {
      "price_quality": 4.36,
      "volume_quality": 4.78,
      "rvol": 0.19,
      "volume_acceleration": 3.95,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.86,
      "spread_liquidity": 4.69,
      "momentum_consistency": 2.91,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.645,
      "vwap": 10.6432,
      "vwap_slope": 0.0067,
      "rvol": 0.08,
      "volume_acceleration": 1.14,
      "premarket_volume": 39852.0,
      "momentum_pct": -0.05,
      "consolidation_tightness_pct": 0.14,
      "distance_from_pm_high_pct": 0.19,
      "extension_from_vwap_pct": 0.02,
      "spread_pct": 0.09
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 10.665,
    "pm_low": 10.6001
  },
  {
    "symbol": "CLSK",
    "total_score": 50.12,
    "raw_score": 53.13,
    "breakdown": {
      "price_quality": 2.29,
      "volume_quality": 12.0,
      "rvol": 11.61,
      "volume_acceleration": 2.16,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.04,
      "spread_liquidity": 4.74,
      "momentum_consistency": 2.9,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.715,
      "vwap": 12.812,
      "vwap_slope": -0.0145,
      "rvol": 4.35,
      "volume_acceleration": 0.62,
      "premarket_volume": 2177325.0,
      "momentum_pct": -0.47,
      "consolidation_tightness_pct": 0.59,
      "distance_from_pm_high_pct": 1.28,
      "extension_from_vwap_pct": -0.76,
      "spread_pct": 0.08
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 12.88,
    "pm_low": 12.685
  },
  {
    "symbol": "UAA",
    "total_score": 50.1,
    "raw_score": 53.1,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 4.11,
      "volume_acceleration": 2.66,
      "price_momentum": 0.15,
      "price_structure": 12,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.49,
      "spread_liquidity": 4.35,
      "momentum_consistency": 0.84,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.13,
      "vwap": 5.1395,
      "vwap_slope": -0.0049,
      "rvol": 1.54,
      "volume_acceleration": 1.27,
      "premarket_volume": 770385.0,
      "momentum_pct": 0.1,
      "consolidation_tightness_pct": 0.39,
      "distance_from_pm_high_pct": 0.68,
      "extension_from_vwap_pct": -0.19,
      "spread_pct": 0.19
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 5.165,
    "pm_low": 5.12
  },
  {
    "symbol": "MNTN",
    "total_score": 49.98,
    "raw_score": 52.97,
    "breakdown": {
      "price_quality": 1.76,
      "volume_quality": 12.0,
      "rvol": 0.52,
      "volume_acceleration": 6.63,
      "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": 4.5,
      "momentum_consistency": 2.48,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.24,
      "vwap": 13.2576,
      "vwap_slope": 0.022,
      "rvol": 0.22,
      "volume_acceleration": 1.66,
      "premarket_volume": 108260.0,
      "momentum_pct": -0.45,
      "consolidation_tightness_pct": 0.68,
      "distance_from_pm_high_pct": 0.68,
      "extension_from_vwap_pct": -0.13,
      "spread_pct": 0.15
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": true
    },
    "pm_high": 13.33,
    "pm_low": 13.1839
  },
  {
    "symbol": "XPOF",
    "total_score": 49.93,
    "raw_score": 52.93,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 8.74,
      "rvol": 0.35,
      "volume_acceleration": 2.65,
      "price_momentum": 0.14,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.78,
      "spread_liquidity": 4.36,
      "momentum_consistency": 3.0,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.18,
      "vwap": 5.1597,
      "vwap_slope": 0.0073,
      "rvol": 0.15,
      "volume_acceleration": 0.76,
      "premarket_volume": 72855.0,
      "momentum_pct": 0.1,
      "consolidation_tightness_pct": 0.48,
      "distance_from_pm_high_pct": 0.29,
      "extension_from_vwap_pct": 0.39,
      "spread_pct": 0.19
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 5.195,
    "pm_low": 5.135
  },
  {
    "symbol": "TK",
    "total_score": 49.81,
    "raw_score": 52.8,
    "breakdown": {
      "price_quality": 1.63,
      "volume_quality": 6.88,
      "rvol": 0.28,
      "volume_acceleration": 3.55,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.89,
      "spread_liquidity": 4.5,
      "momentum_consistency": 3.68,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.37,
      "vwap": 13.3639,
      "vwap_slope": 0.0033,
      "rvol": 0.11,
      "volume_acceleration": 1.02,
      "premarket_volume": 57349.0,
      "momentum_pct": -0.15,
      "consolidation_tightness_pct": 0.22,
      "distance_from_pm_high_pct": 0.15,
      "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": 13.39,
    "pm_low": 13.3299
  },
  {
    "symbol": "CERT",
    "total_score": 49.7,
    "raw_score": 52.68,
    "breakdown": {
      "price_quality": 3.15,
      "volume_quality": 12.0,
      "rvol": 0.98,
      "volume_acceleration": 3.82,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.73,
      "spread_liquidity": 4.59,
      "momentum_consistency": 2.81,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.155,
      "vwap": 8.164,
      "vwap_slope": 0.0052,
      "rvol": 0.41,
      "volume_acceleration": 1.38,
      "premarket_volume": 203604.0,
      "momentum_pct": -0.31,
      "consolidation_tightness_pct": 0.37,
      "distance_from_pm_high_pct": 0.37,
      "extension_from_vwap_pct": -0.11,
      "spread_pct": 0.12
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": true
    },
    "pm_high": 8.185,
    "pm_low": 8.13
  },
  {
    "symbol": "AI",
    "total_score": 49.69,
    "raw_score": 52.67,
    "breakdown": {
      "price_quality": 4.72,
      "volume_quality": 12.0,
      "rvol": 2.26,
      "volume_acceleration": 9.35,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 4.94,
      "spread_liquidity": 4.66,
      "momentum_consistency": 2.34,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.725,
      "vwap": 9.7862,
      "vwap_slope": -0.0198,
      "rvol": 0.94,
      "volume_acceleration": 1.94,
      "premarket_volume": 470083.0,
      "momentum_pct": -0.21,
      "consolidation_tightness_pct": 0.41,
      "distance_from_pm_high_pct": 1.42,
      "extension_from_vwap_pct": -0.62,
      "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.865,
    "pm_low": 9.71
  },
  {
    "symbol": "ASAN",
    "total_score": 49.61,
    "raw_score": 52.59,
    "breakdown": {
      "price_quality": 4.43,
      "volume_quality": 12.0,
      "rvol": 1.46,
      "volume_acceleration": 2.19,
      "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.65,
      "momentum_consistency": 2.67,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.425,
      "vwap": 9.433,
      "vwap_slope": 0.0008,
      "rvol": 0.61,
      "volume_acceleration": 0.63,
      "premarket_volume": 303134.0,
      "momentum_pct": -0.05,
      "consolidation_tightness_pct": 0.21,
      "distance_from_pm_high_pct": 0.53,
      "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": true
    },
    "pm_high": 9.475,
    "pm_low": 9.38
  },
  {
    "symbol": "NOK",
    "total_score": 49.58,
    "raw_score": 52.56,
    "breakdown": {
      "price_quality": 4.71,
      "volume_quality": 12.0,
      "rvol": 8.0,
      "volume_acceleration": 2.86,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.57,
      "spread_liquidity": 4.68,
      "momentum_consistency": 2.34,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.29,
      "vwap": 10.313,
      "vwap_slope": -0.0035,
      "rvol": 3.0,
      "volume_acceleration": 0.82,
      "premarket_volume": 1500914.0,
      "momentum_pct": -0.1,
      "consolidation_tightness_pct": 0.19,
      "distance_from_pm_high_pct": 0.58,
      "extension_from_vwap_pct": -0.22,
      "spread_pct": 0.1
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 10.35,
    "pm_low": 10.29
  },
  {
    "symbol": "FLNC",
    "total_score": 49.53,
    "raw_score": 52.51,
    "breakdown": {
      "price_quality": 3.82,
      "volume_quality": 12.0,
      "rvol": 2.32,
      "volume_acceleration": 10,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 4.78,
      "spread_liquidity": 4.7,
      "momentum_consistency": 2.48,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.175,
      "vwap": 11.2466,
      "vwap_slope": -0.0314,
      "rvol": 0.97,
      "volume_acceleration": 2.81,
      "premarket_volume": 482723.0,
      "momentum_pct": -0.27,
      "consolidation_tightness_pct": 0.31,
      "distance_from_pm_high_pct": 1.63,
      "extension_from_vwap_pct": -0.64,
      "spread_pct": 0.09
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 11.36,
    "pm_low": 11.175
  },
  {
    "symbol": "LEG",
    "total_score": 49.46,
    "raw_score": 52.43,
    "breakdown": {
      "price_quality": 4.29,
      "volume_quality": 12.0,
      "rvol": 0.82,
      "volume_acceleration": 3.67,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.72,
      "spread_liquidity": 4.64,
      "momentum_consistency": 1.68,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.29,
      "vwap": 9.2965,
      "vwap_slope": 0.0007,
      "rvol": 0.34,
      "volume_acceleration": 1.06,
      "premarket_volume": 171734.0,
      "momentum_pct": -0.11,
      "consolidation_tightness_pct": 0.16,
      "distance_from_pm_high_pct": 0.38,
      "extension_from_vwap_pct": -0.07,
      "spread_pct": 0.11
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": true
    },
    "pm_high": 9.325,
    "pm_low": 9.27
  },
  {
    "symbol": "PTLO",
    "total_score": 49.41,
    "raw_score": 52.37,
    "breakdown": {
      "price_quality": 0.0,
      "volume_quality": 12.0,
      "rvol": 0.68,
      "volume_acceleration": 7.59,
      "price_momentum": 0.15,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.62,
      "spread_liquidity": 4.31,
      "momentum_consistency": 2.42,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 4.855,
      "vwap": 4.8611,
      "vwap_slope": 0.0,
      "rvol": 0.28,
      "volume_acceleration": 1.76,
      "premarket_volume": 142026.0,
      "momentum_pct": 0.1,
      "consolidation_tightness_pct": 0.41,
      "distance_from_pm_high_pct": 0.51,
      "extension_from_vwap_pct": -0.13,
      "spread_pct": 0.21
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": true
    },
    "pm_high": 4.88,
    "pm_low": 4.84
  },
  {
    "symbol": "AIAI",
    "total_score": 49.36,
    "raw_score": 52.32,
    "breakdown": {
      "price_quality": 0.0,
      "volume_quality": 12.0,
      "rvol": 0.56,
      "volume_acceleration": 2.1,
      "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": 1.93,
      "momentum_consistency": 3.59,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 4.35,
      "vwap": 4.2792,
      "vwap_slope": 0.0132,
      "rvol": 0.23,
      "volume_acceleration": 0.6,
      "premarket_volume": 116310.0,
      "momentum_pct": -0.23,
      "consolidation_tightness_pct": 0.92,
      "distance_from_pm_high_pct": 0.34,
      "extension_from_vwap_pct": 1.65,
      "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": true
    },
    "pm_high": 4.365,
    "pm_low": 4.17
  },
  {
    "symbol": "DFH",
    "total_score": 49.18,
    "raw_score": 52.13,
    "breakdown": {
      "price_quality": 0.0,
      "volume_quality": 3.89,
      "rvol": 0.16,
      "volume_acceleration": 7.93,
      "price_momentum": 0.1,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.88,
      "spread_liquidity": 4.35,
      "momentum_consistency": 3.43,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 15.36,
      "vwap": 15.3456,
      "vwap_slope": 0.0118,
      "rvol": 0.06,
      "volume_acceleration": 1.79,
      "premarket_volume": 32431.0,
      "momentum_pct": 0.07,
      "consolidation_tightness_pct": 0.36,
      "distance_from_pm_high_pct": 0.16,
      "extension_from_vwap_pct": 0.09,
      "spread_pct": 0.2
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 15.385,
    "pm_low": 15.31
  },
  {
    "symbol": "CLBT",
    "total_score": 49.15,
    "raw_score": 52.1,
    "breakdown": {
      "price_quality": 3.75,
      "volume_quality": 12.0,
      "rvol": 0.77,
      "volume_acceleration": 3.67,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.62,
      "spread_liquidity": 4.41,
      "momentum_consistency": 2.29,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.25,
      "vwap": 11.2625,
      "vwap_slope": 0.0012,
      "rvol": 0.32,
      "volume_acceleration": 1.06,
      "premarket_volume": 160730.0,
      "momentum_pct": -0.22,
      "consolidation_tightness_pct": 0.25,
      "distance_from_pm_high_pct": 0.51,
      "extension_from_vwap_pct": -0.11,
      "spread_pct": 0.18
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": true
    },
    "pm_high": 11.3078,
    "pm_low": 11.22
  },
  {
    "symbol": "SVRA",
    "total_score": 49.14,
    "raw_score": 52.08,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 8.89,
      "rvol": 0.36,
      "volume_acceleration": 2.62,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.87,
      "spread_liquidity": 4.4,
      "momentum_consistency": 2.04,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.58,
      "vwap": 5.5726,
      "vwap_slope": 0.0025,
      "rvol": 0.15,
      "volume_acceleration": 1.26,
      "premarket_volume": 74117.0,
      "momentum_pct": -0.09,
      "consolidation_tightness_pct": 0.18,
      "distance_from_pm_high_pct": 0.18,
      "extension_from_vwap_pct": 0.13,
      "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.59,
    "pm_low": 5.555
  },
  {
    "symbol": "SFL",
    "total_score": 49.14,
    "raw_score": 52.09,
    "breakdown": {
      "price_quality": 2.72,
      "volume_quality": 10.8,
      "rvol": 0.43,
      "volume_acceleration": 3.7,
      "price_momentum": 0.36,
      "price_structure": 12,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.82,
      "spread_liquidity": 4.73,
      "momentum_consistency": 1.52,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.275,
      "vwap": 12.2786,
      "vwap_slope": -0.0104,
      "rvol": 0.18,
      "volume_acceleration": 1.06,
      "premarket_volume": 90029.0,
      "momentum_pct": 0.24,
      "consolidation_tightness_pct": 0.29,
      "distance_from_pm_high_pct": 0.24,
      "extension_from_vwap_pct": -0.03,
      "spread_pct": 0.08
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 12.305,
    "pm_low": 12.245
  },
  {
    "symbol": "QS",
    "total_score": 48.94,
    "raw_score": 51.88,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 10.61,
      "volume_acceleration": 2.96,
      "price_momentum": 0.13,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.23,
      "spread_liquidity": 4.43,
      "momentum_consistency": 2.62,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.81,
      "vwap": 5.826,
      "vwap_slope": -0.004,
      "rvol": 3.98,
      "volume_acceleration": 0.85,
      "premarket_volume": 1989748.0,
      "momentum_pct": 0.09,
      "consolidation_tightness_pct": 0.34,
      "distance_from_pm_high_pct": 1.02,
      "extension_from_vwap_pct": -0.27,
      "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.87,
    "pm_low": 5.7838
  },
  {
    "symbol": "BV",
    "total_score": 48.91,
    "raw_score": 51.85,
    "breakdown": {
      "price_quality": 3.88,
      "volume_quality": 12.0,
      "rvol": 0.71,
      "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.6,
      "spread_liquidity": 4.7,
      "momentum_consistency": 2.55,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.115,
      "vwap": 11.1428,
      "vwap_slope": -0.0051,
      "rvol": 0.3,
      "volume_acceleration": 4.19,
      "premarket_volume": 147837.0,
      "momentum_pct": -0.22,
      "consolidation_tightness_pct": 0.22,
      "distance_from_pm_high_pct": 0.54,
      "extension_from_vwap_pct": -0.25,
      "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.175,
    "pm_low": 11.1
  },
  {
    "symbol": "LZ",
    "total_score": 48.89,
    "raw_score": 51.83,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 0.84,
      "volume_acceleration": 5.69,
      "price_momentum": 0.13,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.74,
      "spread_liquidity": 4.43,
      "momentum_consistency": 2.29,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.86,
      "vwap": 5.8581,
      "vwap_slope": -0.0016,
      "rvol": 0.35,
      "volume_acceleration": 1.57,
      "premarket_volume": 175903.0,
      "momentum_pct": 0.09,
      "consolidation_tightness_pct": 0.17,
      "distance_from_pm_high_pct": 0.34,
      "extension_from_vwap_pct": 0.03,
      "spread_pct": 0.17
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 5.88,
    "pm_low": 5.835
  },
  {
    "symbol": "UNIT",
    "total_score": 48.83,
    "raw_score": 51.76,
    "breakdown": {
      "price_quality": 4.92,
      "volume_quality": 12.0,
      "rvol": 0.57,
      "volume_acceleration": 2.74,
      "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.67,
      "momentum_consistency": 1.63,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.08,
      "vwap": 10.0882,
      "vwap_slope": 0.0002,
      "rvol": 0.24,
      "volume_acceleration": 0.79,
      "premarket_volume": 118922.0,
      "momentum_pct": -0.15,
      "consolidation_tightness_pct": 0.2,
      "distance_from_pm_high_pct": 0.49,
      "extension_from_vwap_pct": -0.08,
      "spread_pct": 0.1
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": true
    },
    "pm_high": 10.13,
    "pm_low": 10.045
  },
  {
    "symbol": "AMCX",
    "total_score": 48.8,
    "raw_score": 51.72,
    "breakdown": {
      "price_quality": 2.16,
      "volume_quality": 6.68,
      "rvol": 0.27,
      "volume_acceleration": 2.68,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.85,
      "spread_liquidity": 4.48,
      "momentum_consistency": 3.2,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.84,
      "vwap": 12.8169,
      "vwap_slope": 0.0093,
      "rvol": 0.11,
      "volume_acceleration": 0.77,
      "premarket_volume": 55678.0,
      "momentum_pct": -0.04,
      "consolidation_tightness_pct": 0.16,
      "distance_from_pm_high_pct": 0.2,
      "extension_from_vwap_pct": 0.18,
      "spread_pct": 0.16
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 12.8659,
    "pm_low": 12.765
  },
  {
    "symbol": "IHS",
    "total_score": 48.78,
    "raw_score": 51.71,
    "breakdown": {
      "price_quality": 3.33,
      "volume_quality": 12.0,
      "rvol": 2.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.91,
      "spread_liquidity": 4.6,
      "momentum_consistency": 0.98,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.33,
      "vwap": 8.333,
      "vwap_slope": -0.0003,
      "rvol": 1.04,
      "volume_acceleration": 3.87,
      "premarket_volume": 518958.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.06,
      "distance_from_pm_high_pct": 0.12,
      "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.34,
    "pm_low": 8.33
  },
  {
    "symbol": "AES",
    "total_score": 48.77,
    "raw_score": 51.7,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 6.09,
      "volume_acceleration": 0.93,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.97,
      "spread_liquidity": 4.77,
      "momentum_consistency": 0.83,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.725,
      "vwap": 14.7253,
      "vwap_slope": 0.0,
      "rvol": 2.29,
      "volume_acceleration": 0.27,
      "premarket_volume": 1142803.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.07,
      "distance_from_pm_high_pct": 0.03,
      "extension_from_vwap_pct": -0.0,
      "spread_pct": 0.07
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": true
    },
    "pm_high": 14.73,
    "pm_low": 14.72
  },
  {
    "symbol": "BRSL",
    "total_score": 48.62,
    "raw_score": 51.54,
    "breakdown": {
      "price_quality": 3.43,
      "volume_quality": 12.0,
      "rvol": 0.69,
      "volume_acceleration": 10,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.58,
      "spread_liquidity": 4.71,
      "momentum_consistency": 2.72,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.57,
      "vwap": 11.5948,
      "vwap_slope": -0.0103,
      "rvol": 0.29,
      "volume_acceleration": 2.12,
      "premarket_volume": 143983.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.35,
      "distance_from_pm_high_pct": 0.56,
      "extension_from_vwap_pct": -0.21,
      "spread_pct": 0.09
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 11.635,
    "pm_low": 11.565
  },
  {
    "symbol": "GLAS",
    "total_score": 48.61,
    "raw_score": 51.53,
    "breakdown": {
      "price_quality": 4.77,
      "volume_quality": 4.24,
      "rvol": 0.17,
      "volume_acceleration": 3.1,
      "price_momentum": 0.51,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.89,
      "spread_liquidity": 3.37,
      "momentum_consistency": 3.08,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.235,
      "vwap": 10.1737,
      "vwap_slope": 0.0153,
      "rvol": 0.07,
      "volume_acceleration": 0.89,
      "premarket_volume": 35370.0,
      "momentum_pct": 0.34,
      "consolidation_tightness_pct": 0.44,
      "distance_from_pm_high_pct": 0.15,
      "extension_from_vwap_pct": 0.6,
      "spread_pct": 0.49
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 10.25,
    "pm_low": 10.06
  },
  {
    "symbol": "WEST",
    "total_score": 48.49,
    "raw_score": 51.4,
    "breakdown": {
      "price_quality": 3.12,
      "volume_quality": 2.99,
      "rvol": 0.12,
      "volume_acceleration": 6.14,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.86,
      "spread_liquidity": 4.18,
      "momentum_consistency": 2.59,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.12,
      "vwap": 8.1065,
      "vwap_slope": 0.0064,
      "rvol": 0.05,
      "volume_acceleration": 1.61,
      "premarket_volume": 24908.0,
      "momentum_pct": -0.18,
      "consolidation_tightness_pct": 0.55,
      "distance_from_pm_high_pct": 0.18,
      "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": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 8.135,
    "pm_low": 8.08
  },
  {
    "symbol": "AEBI",
    "total_score": 48.3,
    "raw_score": 51.2,
    "breakdown": {
      "price_quality": 2.7,
      "volume_quality": 5.11,
      "rvol": 0.2,
      "volume_acceleration": 10,
      "price_momentum": 0.61,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.73,
      "spread_liquidity": 4.19,
      "momentum_consistency": 3.46,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.3,
      "vwap": 12.2679,
      "vwap_slope": -0.0215,
      "rvol": 0.09,
      "volume_acceleration": 2.47,
      "premarket_volume": 42592.0,
      "momentum_pct": 0.41,
      "consolidation_tightness_pct": 0.77,
      "distance_from_pm_high_pct": 0.36,
      "extension_from_vwap_pct": 0.26,
      "spread_pct": 0.24
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 12.345,
    "pm_low": 12.2
  },
  {
    "symbol": "WEN",
    "total_score": 48.28,
    "raw_score": 51.18,
    "breakdown": {
      "price_quality": 4.03,
      "volume_quality": 12.0,
      "rvol": 2.81,
      "volume_acceleration": 7.51,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.18,
      "spread_liquidity": 4.63,
      "momentum_consistency": 2.62,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.025,
      "vwap": 9.0754,
      "vwap_slope": -0.0195,
      "rvol": 1.17,
      "volume_acceleration": 1.75,
      "premarket_volume": 585767.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.11,
      "distance_from_pm_high_pct": 1.1,
      "extension_from_vwap_pct": -0.56,
      "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.125,
    "pm_low": 9.01
  },
  {
    "symbol": "ARVN",
    "total_score": 48.21,
    "raw_score": 51.1,
    "breakdown": {
      "price_quality": 4.61,
      "volume_quality": 4.36,
      "rvol": 0.17,
      "volume_acceleration": 2.3,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.92,
      "spread_liquidity": 4.31,
      "momentum_consistency": 3.03,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.61,
      "vwap": 9.5891,
      "vwap_slope": 0.0056,
      "rvol": 0.07,
      "volume_acceleration": 0.66,
      "premarket_volume": 36345.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.12,
      "distance_from_pm_high_pct": 0.1,
      "extension_from_vwap_pct": 0.22,
      "spread_pct": 0.21
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 9.62,
    "pm_low": 9.54
  },
  {
    "symbol": "ULCC",
    "total_score": 47.94,
    "raw_score": 50.81,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 1.22,
      "volume_acceleration": 3.57,
      "price_momentum": 0.26,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.81,
      "spread_liquidity": 4.43,
      "momentum_consistency": 2.82,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.865,
      "vwap": 5.8552,
      "vwap_slope": -0.0004,
      "rvol": 0.51,
      "volume_acceleration": 1.03,
      "premarket_volume": 254578.0,
      "momentum_pct": 0.17,
      "consolidation_tightness_pct": 0.43,
      "distance_from_pm_high_pct": 0.26,
      "extension_from_vwap_pct": 0.17,
      "spread_pct": 0.17
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 5.88,
    "pm_low": 5.835
  },
  {
    "symbol": "NEOG",
    "total_score": 47.9,
    "raw_score": 50.77,
    "breakdown": {
      "price_quality": 3.38,
      "volume_quality": 8.81,
      "rvol": 0.35,
      "volume_acceleration": 6.46,
      "price_momentum": 0.13,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.94,
      "spread_liquidity": 4.71,
      "momentum_consistency": 1.8,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.625,
      "vwap": 11.6201,
      "vwap_slope": -0.0012,
      "rvol": 0.15,
      "volume_acceleration": 1.65,
      "premarket_volume": 73389.0,
      "momentum_pct": 0.09,
      "consolidation_tightness_pct": 0.17,
      "distance_from_pm_high_pct": 0.09,
      "extension_from_vwap_pct": 0.04,
      "spread_pct": 0.09
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 11.635,
    "pm_low": 11.605
  },
  {
    "symbol": "EROC",
    "total_score": 47.83,
    "raw_score": 50.7,
    "breakdown": {
      "price_quality": 1.97,
      "volume_quality": 12.0,
      "rvol": 1.04,
      "volume_acceleration": 10,
      "price_momentum": 0.35,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.2,
      "spread_liquidity": 4.23,
      "momentum_consistency": 3.51,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.03,
      "vwap": 13.0527,
      "vwap_slope": -0.0344,
      "rvol": 0.43,
      "volume_acceleration": 2.14,
      "premarket_volume": 215641.0,
      "momentum_pct": 0.23,
      "consolidation_tightness_pct": 0.38,
      "distance_from_pm_high_pct": 1.06,
      "extension_from_vwap_pct": -0.17,
      "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.17,
    "pm_low": 12.97
  },
  {
    "symbol": "RDW",
    "total_score": 47.79,
    "raw_score": 50.66,
    "breakdown": {
      "price_quality": 3.52,
      "volume_quality": 12.0,
      "rvol": 6.16,
      "volume_acceleration": 3.93,
      "price_momentum": 0.07,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 4.84,
      "spread_liquidity": 4.71,
      "momentum_consistency": 3.03,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.48,
      "vwap": 11.5407,
      "vwap_slope": -0.0153,
      "rvol": 2.31,
      "volume_acceleration": 1.13,
      "premarket_volume": 1154949.0,
      "momentum_pct": 0.04,
      "consolidation_tightness_pct": 0.35,
      "distance_from_pm_high_pct": 1.54,
      "extension_from_vwap_pct": -0.53,
      "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.66,
    "pm_low": 11.42
  },
  {
    "symbol": "RDCM",
    "total_score": 47.78,
    "raw_score": 50.65,
    "breakdown": {
      "price_quality": 4.84,
      "volume_quality": 2.47,
      "rvol": 0.1,
      "volume_acceleration": 4.33,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.85,
      "spread_liquidity": 4.34,
      "momentum_consistency": 2.32,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.16,
      "vwap": 10.1539,
      "vwap_slope": 0.007,
      "rvol": 0.04,
      "volume_acceleration": 1.43,
      "premarket_volume": 20558.0,
      "momentum_pct": -0.1,
      "consolidation_tightness_pct": 0.3,
      "distance_from_pm_high_pct": 0.2,
      "extension_from_vwap_pct": 0.06,
      "spread_pct": 0.2
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 10.18,
    "pm_low": 10.12
  },
  {
    "symbol": "SRAD",
    "total_score": 47.53,
    "raw_score": 50.38,
    "breakdown": {
      "price_quality": 2.09,
      "volume_quality": 12.0,
      "rvol": 0.71,
      "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.83,
      "spread_liquidity": 4.74,
      "momentum_consistency": 2.62,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.91,
      "vwap": 12.9173,
      "vwap_slope": -0.0014,
      "rvol": 0.29,
      "volume_acceleration": 2.49,
      "premarket_volume": 147180.0,
      "momentum_pct": -0.04,
      "consolidation_tightness_pct": 0.12,
      "distance_from_pm_high_pct": 0.23,
      "extension_from_vwap_pct": -0.06,
      "spread_pct": 0.08
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 12.94,
    "pm_low": 12.88
  },
  {
    "symbol": "WVE",
    "total_score": 47.35,
    "raw_score": 50.19,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 0.97,
      "volume_acceleration": 3.73,
      "price_momentum": 0.43,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.72,
      "spread_liquidity": 4.37,
      "momentum_consistency": 2.29,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.275,
      "vwap": 5.2728,
      "vwap_slope": -0.0022,
      "rvol": 0.4,
      "volume_acceleration": 1.07,
      "premarket_volume": 201839.0,
      "momentum_pct": 0.29,
      "consolidation_tightness_pct": 0.28,
      "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": true,
      "vwap_rising": false
    },
    "pm_high": 5.295,
    "pm_low": 5.26
  },
  {
    "symbol": "AVPT",
    "total_score": 47.15,
    "raw_score": 49.97,
    "breakdown": {
      "price_quality": 1.99,
      "volume_quality": 12.0,
      "rvol": 0.53,
      "volume_acceleration": 2.75,
      "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.74,
      "momentum_consistency": 2.61,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.005,
      "vwap": 13.016,
      "vwap_slope": 0.004,
      "rvol": 0.22,
      "volume_acceleration": 1.28,
      "premarket_volume": 109827.0,
      "momentum_pct": -0.08,
      "consolidation_tightness_pct": 0.15,
      "distance_from_pm_high_pct": 0.34,
      "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": false,
      "vwap_rising": true
    },
    "pm_high": 13.05,
    "pm_low": 12.96
  },
  {
    "symbol": "TAL",
    "total_score": 46.92,
    "raw_score": 49.74,
    "breakdown": {
      "price_quality": 3.39,
      "volume_quality": 12.0,
      "rvol": 3.46,
      "volume_acceleration": 5.31,
      "price_momentum": 0.32,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.65,
      "spread_liquidity": 4.71,
      "momentum_consistency": 2.48,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.605,
      "vwap": 11.6128,
      "vwap_slope": -0.0086,
      "rvol": 1.44,
      "volume_acceleration": 1.53,
      "premarket_volume": 721462.0,
      "momentum_pct": 0.22,
      "consolidation_tightness_pct": 0.35,
      "distance_from_pm_high_pct": 0.47,
      "extension_from_vwap_pct": -0.07,
      "spread_pct": 0.09
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 11.66,
    "pm_low": 11.57
  },
  {
    "symbol": "SKYH",
    "total_score": 46.9,
    "raw_score": 49.71,
    "breakdown": {
      "price_quality": 4.45,
      "volume_quality": 2.57,
      "rvol": 0.1,
      "volume_acceleration": 10,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.65,
      "spread_liquidity": 4.05,
      "momentum_consistency": 3.29,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.55,
      "vwap": 10.5861,
      "vwap_slope": 0.003,
      "rvol": 0.04,
      "volume_acceleration": 3.09,
      "premarket_volume": 21388.0,
      "momentum_pct": -0.38,
      "consolidation_tightness_pct": 0.47,
      "distance_from_pm_high_pct": 0.47,
      "extension_from_vwap_pct": -0.34,
      "spread_pct": 0.28
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": true
    },
    "pm_high": 10.6,
    "pm_low": 10.55
  },
  {
    "symbol": "CPRI",
    "total_score": 46.84,
    "raw_score": 49.65,
    "breakdown": {
      "price_quality": 1.76,
      "volume_quality": 12.0,
      "rvol": 2.37,
      "volume_acceleration": 8.32,
      "price_momentum": 0.11,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.61,
      "spread_liquidity": 4.75,
      "momentum_consistency": 2.34,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.245,
      "vwap": 13.2548,
      "vwap_slope": -0.0115,
      "rvol": 0.99,
      "volume_acceleration": 1.83,
      "premarket_volume": 493930.0,
      "momentum_pct": 0.08,
      "consolidation_tightness_pct": 0.19,
      "distance_from_pm_high_pct": 0.53,
      "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": 13.315,
    "pm_low": 13.21
  },
  {
    "symbol": "IMMR",
    "total_score": 46.81,
    "raw_score": 49.61,
    "breakdown": {
      "price_quality": 2.62,
      "volume_quality": 3.64,
      "rvol": 0.15,
      "volume_acceleration": 3.5,
      "price_momentum": 0.2,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.95,
      "spread_liquidity": 4.56,
      "momentum_consistency": 2.59,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.62,
      "vwap": 7.6083,
      "vwap_slope": 0.0033,
      "rvol": 0.06,
      "volume_acceleration": 1.01,
      "premarket_volume": 30340.0,
      "momentum_pct": 0.13,
      "consolidation_tightness_pct": 0.2,
      "distance_from_pm_high_pct": 0.07,
      "extension_from_vwap_pct": 0.15,
      "spread_pct": 0.13
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 7.625,
    "pm_low": 7.58
  },
  {
    "symbol": "COMP",
    "total_score": 46.78,
    "raw_score": 49.59,
    "breakdown": {
      "price_quality": 3.26,
      "volume_quality": 12.0,
      "rvol": 7.16,
      "volume_acceleration": 1.71,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.59,
      "spread_liquidity": 4.72,
      "momentum_consistency": 2.76,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.745,
      "vwap": 11.7641,
      "vwap_slope": -0.0006,
      "rvol": 2.68,
      "volume_acceleration": 0.49,
      "premarket_volume": 1341927.0,
      "momentum_pct": -0.17,
      "consolidation_tightness_pct": 0.32,
      "distance_from_pm_high_pct": 0.55,
      "extension_from_vwap_pct": -0.16,
      "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.81,
    "pm_low": 11.7
  },
  {
    "symbol": "VELO",
    "total_score": 46.51,
    "raw_score": 49.3,
    "breakdown": {
      "price_quality": 2.19,
      "volume_quality": 8.03,
      "rvol": 0.32,
      "volume_acceleration": 3.84,
      "price_momentum": 0.23,
      "price_structure": 12,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.25,
      "spread_liquidity": 4.48,
      "momentum_consistency": 2.96,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.81,
      "vwap": 12.8424,
      "vwap_slope": -0.0206,
      "rvol": 0.13,
      "volume_acceleration": 1.1,
      "premarket_volume": 66916.0,
      "momentum_pct": 0.16,
      "consolidation_tightness_pct": 0.31,
      "distance_from_pm_high_pct": 1.0,
      "extension_from_vwap_pct": -0.25,
      "spread_pct": 0.16
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 12.94,
    "pm_low": 12.74
  },
  {
    "symbol": "TSSI",
    "total_score": 46.35,
    "raw_score": 49.13,
    "breakdown": {
      "price_quality": 3.53,
      "volume_quality": 10.34,
      "rvol": 0.41,
      "volume_acceleration": 2.17,
      "price_momentum": 0.35,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.74,
      "spread_liquidity": 4.22,
      "momentum_consistency": 3.16,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.53,
      "vwap": 8.5265,
      "vwap_slope": -0.0018,
      "rvol": 0.17,
      "volume_acceleration": 0.62,
      "premarket_volume": 86205.0,
      "momentum_pct": 0.24,
      "consolidation_tightness_pct": 0.29,
      "distance_from_pm_high_pct": 0.35,
      "extension_from_vwap_pct": 0.04,
      "spread_pct": 0.23
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 8.56,
    "pm_low": 8.5
  },
  {
    "symbol": "NMFC",
    "total_score": 46.34,
    "raw_score": 49.12,
    "breakdown": {
      "price_quality": 2.64,
      "volume_quality": 3.69,
      "rvol": 0.15,
      "volume_acceleration": 2.94,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.95,
      "spread_liquidity": 4.56,
      "momentum_consistency": 2.78,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.64,
      "vwap": 7.6326,
      "vwap_slope": 0.0014,
      "rvol": 0.06,
      "volume_acceleration": 0.85,
      "premarket_volume": 30722.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.2,
      "distance_from_pm_high_pct": 0.07,
      "extension_from_vwap_pct": 0.1,
      "spread_pct": 0.13
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 7.645,
    "pm_low": 7.625
  },
  {
    "symbol": "HAYW",
    "total_score": 46.33,
    "raw_score": 49.11,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 0.56,
      "volume_acceleration": 3.55,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.92,
      "spread_liquidity": 4.77,
      "momentum_consistency": 1.6,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.49,
      "vwap": 14.4825,
      "vwap_slope": -0.0003,
      "rvol": 0.23,
      "volume_acceleration": 1.02,
      "premarket_volume": 117149.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.1,
      "distance_from_pm_high_pct": 0.1,
      "extension_from_vwap_pct": 0.05,
      "spread_pct": 0.07
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 14.505,
    "pm_low": 14.46
  },
  {
    "symbol": "MBC",
    "total_score": 46.23,
    "raw_score": 49.01,
    "breakdown": {
      "price_quality": 3.94,
      "volume_quality": 12.0,
      "rvol": 0.7,
      "volume_acceleration": 7.97,
      "price_momentum": 0.42,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.29,
      "spread_liquidity": 4.63,
      "momentum_consistency": 1.66,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.935,
      "vwap": 8.9458,
      "vwap_slope": -0.0146,
      "rvol": 0.29,
      "volume_acceleration": 1.8,
      "premarket_volume": 145862.0,
      "momentum_pct": 0.28,
      "consolidation_tightness_pct": 0.34,
      "distance_from_pm_high_pct": 0.94,
      "extension_from_vwap_pct": -0.12,
      "spread_pct": 0.11
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 9.02,
    "pm_low": 8.9
  },
  {
    "symbol": "BETR",
    "total_score": 46.19,
    "raw_score": 48.96,
    "breakdown": {
      "price_quality": 2.89,
      "volume_quality": 10.81,
      "rvol": 0.43,
      "volume_acceleration": 3.69,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 4.72,
      "spread_liquidity": 3.9,
      "momentum_consistency": 2.92,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.11,
      "vwap": 12.1307,
      "vwap_slope": 0.0009,
      "rvol": 0.18,
      "volume_acceleration": 1.06,
      "premarket_volume": 90054.0,
      "momentum_pct": -0.04,
      "consolidation_tightness_pct": 0.54,
      "distance_from_pm_high_pct": 1.7,
      "extension_from_vwap_pct": -0.17,
      "spread_pct": 0.33
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": true
    },
    "pm_high": 12.32,
    "pm_low": 11.99
  },
  {
    "symbol": "MRTN",
    "total_score": 46.18,
    "raw_score": 48.95,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 4.47,
      "rvol": 0.18,
      "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.79,
      "spread_liquidity": 4.77,
      "momentum_consistency": 3.03,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.54,
      "vwap": 14.5377,
      "vwap_slope": -0.0201,
      "rvol": 0.07,
      "volume_acceleration": 4.09,
      "premarket_volume": 37258.0,
      "momentum_pct": -0.07,
      "consolidation_tightness_pct": 0.07,
      "distance_from_pm_high_pct": 0.27,
      "extension_from_vwap_pct": 0.02,
      "spread_pct": 0.07
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 14.58,
    "pm_low": 14.51
  },
  {
    "symbol": "SGHC",
    "total_score": 46.11,
    "raw_score": 48.88,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 0.76,
      "volume_acceleration": 10,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.57,
      "spread_liquidity": 4.76,
      "momentum_consistency": 1.89,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.935,
      "vwap": 13.9735,
      "vwap_slope": -0.0066,
      "rvol": 0.32,
      "volume_acceleration": 2.41,
      "premarket_volume": 157677.0,
      "momentum_pct": -0.07,
      "consolidation_tightness_pct": 0.5,
      "distance_from_pm_high_pct": 0.57,
      "extension_from_vwap_pct": -0.28,
      "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.015,
    "pm_low": 13.92
  },
  {
    "symbol": "KMDA",
    "total_score": 45.94,
    "raw_score": 48.69,
    "breakdown": {
      "price_quality": 3.62,
      "volume_quality": 2.44,
      "rvol": 0.1,
      "volume_acceleration": 3.42,
      "price_momentum": 0.09,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.91,
      "spread_liquidity": 3.84,
      "momentum_consistency": 2.87,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.62,
      "vwap": 8.5856,
      "vwap_slope": 0.0094,
      "rvol": 0.04,
      "volume_acceleration": 0.98,
      "premarket_volume": 20327.0,
      "momentum_pct": 0.06,
      "consolidation_tightness_pct": 0.35,
      "distance_from_pm_high_pct": 0.12,
      "extension_from_vwap_pct": 0.4,
      "spread_pct": 0.35
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 8.63,
    "pm_low": 8.55
  },
  {
    "symbol": "VFC",
    "total_score": 45.84,
    "raw_score": 48.59,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 4.17,
      "volume_acceleration": 6.2,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.35,
      "spread_liquidity": 4.76,
      "momentum_consistency": 2.21,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.745,
      "vwap": 13.77,
      "vwap_slope": -0.0099,
      "rvol": 1.56,
      "volume_acceleration": 1.62,
      "premarket_volume": 781260.0,
      "momentum_pct": -0.07,
      "consolidation_tightness_pct": 0.22,
      "distance_from_pm_high_pct": 0.87,
      "extension_from_vwap_pct": -0.18,
      "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.865,
    "pm_low": 13.72
  },
  {
    "symbol": "RUM",
    "total_score": 45.68,
    "raw_score": 48.42,
    "breakdown": {
      "price_quality": 4.78,
      "volume_quality": 12.0,
      "rvol": 4.0,
      "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": 3.87,
      "spread_liquidity": 4.67,
      "momentum_consistency": 2.76,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.2208,
      "vwap": 10.3852,
      "vwap_slope": -0.0354,
      "rvol": 1.5,
      "volume_acceleration": 1.13,
      "premarket_volume": 750242.0,
      "momentum_pct": -0.53,
      "consolidation_tightness_pct": 1.12,
      "distance_from_pm_high_pct": 2.84,
      "extension_from_vwap_pct": -1.58,
      "spread_pct": 0.1
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 10.52,
    "pm_low": 10.215
  },
  {
    "symbol": "NMAX",
    "total_score": 45.43,
    "raw_score": 48.15,
    "breakdown": {
      "price_quality": 4.12,
      "volume_quality": 12.0,
      "rvol": 0.54,
      "volume_acceleration": 6.46,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.25,
      "spread_liquidity": 4.39,
      "momentum_consistency": 3.0,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.88,
      "vwap": 10.9122,
      "vwap_slope": -0.0046,
      "rvol": 0.22,
      "volume_acceleration": 1.65,
      "premarket_volume": 111825.0,
      "momentum_pct": -0.09,
      "consolidation_tightness_pct": 0.37,
      "distance_from_pm_high_pct": 1.0,
      "extension_from_vwap_pct": -0.3,
      "spread_pct": 0.18
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 10.99,
    "pm_low": 10.81
  },
  {
    "symbol": "YEXT",
    "total_score": 45.29,
    "raw_score": 48.0,
    "breakdown": {
      "price_quality": 1.54,
      "volume_quality": 10.69,
      "rvol": 0.43,
      "volume_acceleration": 2.92,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.71,
      "spread_liquidity": 4.49,
      "momentum_consistency": 2.62,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.545,
      "vwap": 6.55,
      "vwap_slope": 0.0004,
      "rvol": 0.18,
      "volume_acceleration": 0.84,
      "premarket_volume": 89107.0,
      "momentum_pct": -0.15,
      "consolidation_tightness_pct": 0.31,
      "distance_from_pm_high_pct": 0.38,
      "extension_from_vwap_pct": -0.08,
      "spread_pct": 0.15
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": true
    },
    "pm_high": 6.57,
    "pm_low": 6.52
  },
  {
    "symbol": "RWAY",
    "total_score": 45.26,
    "raw_score": 47.97,
    "breakdown": {
      "price_quality": 1.55,
      "volume_quality": 5.33,
      "rvol": 0.21,
      "volume_acceleration": 2.04,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.83,
      "spread_liquidity": 4.49,
      "momentum_consistency": 2.12,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.555,
      "vwap": 6.5505,
      "vwap_slope": 0.003,
      "rvol": 0.09,
      "volume_acceleration": 0.59,
      "premarket_volume": 44382.0,
      "momentum_pct": -0.23,
      "consolidation_tightness_pct": 0.23,
      "distance_from_pm_high_pct": 0.23,
      "extension_from_vwap_pct": 0.07,
      "spread_pct": 0.15
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 6.57,
    "pm_low": 6.54
  },
  {
    "symbol": "GCMG",
    "total_score": 45.26,
    "raw_score": 47.97,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 5.9,
      "rvol": 0.24,
      "volume_acceleration": 1.89,
      "price_momentum": 0.06,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.72,
      "spread_liquidity": 4.51,
      "momentum_consistency": 1.76,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.57,
      "vwap": 13.5665,
      "vwap_slope": 0.0003,
      "rvol": 0.1,
      "volume_acceleration": 0.54,
      "premarket_volume": 49132.0,
      "momentum_pct": 0.04,
      "consolidation_tightness_pct": 0.15,
      "distance_from_pm_high_pct": 0.37,
      "extension_from_vwap_pct": 0.03,
      "spread_pct": 0.15
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 13.62,
    "pm_low": 13.53
  },
  {
    "symbol": "DCH",
    "total_score": 45.14,
    "raw_score": 47.85,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 0.93,
      "volume_acceleration": 10,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.65,
      "spread_liquidity": 4.48,
      "momentum_consistency": 0.89,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.385,
      "vwap": 6.3949,
      "vwap_slope": -0.0003,
      "rvol": 0.39,
      "volume_acceleration": 4.9,
      "premarket_volume": 194672.0,
      "momentum_pct": -0.16,
      "consolidation_tightness_pct": 0.16,
      "distance_from_pm_high_pct": 0.47,
      "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.415,
    "pm_low": 6.365
  },
  {
    "symbol": "SBET",
    "total_score": 44.93,
    "raw_score": 47.63,
    "breakdown": {
      "price_quality": 3.36,
      "volume_quality": 12.0,
      "rvol": 4.86,
      "volume_acceleration": 3.11,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 4.82,
      "spread_liquidity": 4.6,
      "momentum_consistency": 2.48,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.355,
      "vwap": 8.4343,
      "vwap_slope": -0.0179,
      "rvol": 1.82,
      "volume_acceleration": 0.9,
      "premarket_volume": 911197.0,
      "momentum_pct": -0.71,
      "consolidation_tightness_pct": 0.89,
      "distance_from_pm_high_pct": 1.58,
      "extension_from_vwap_pct": -0.94,
      "spread_pct": 0.12
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 8.4891,
    "pm_low": 8.35
  },
  {
    "symbol": "SLRC",
    "total_score": 44.91,
    "raw_score": 47.6,
    "breakdown": {
      "price_quality": 2.34,
      "volume_quality": 2.43,
      "rvol": 0.1,
      "volume_acceleration": 1.77,
      "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": 3.86,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.665,
      "vwap": 12.6437,
      "vwap_slope": 0.0054,
      "rvol": 0.04,
      "volume_acceleration": 0.51,
      "premarket_volume": 20248.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.08,
      "distance_from_pm_high_pct": 0.04,
      "extension_from_vwap_pct": 0.17,
      "spread_pct": 0.08
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 12.67,
    "pm_low": 12.6101
  },
  {
    "symbol": "DNA",
    "total_score": 44.69,
    "raw_score": 47.37,
    "breakdown": {
      "price_quality": 2.48,
      "volume_quality": 12.0,
      "rvol": 0.73,
      "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.5,
      "spread_liquidity": 3.67,
      "momentum_consistency": 2.77,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.48,
      "vwap": 7.4833,
      "vwap_slope": -0.006,
      "rvol": 0.3,
      "volume_acceleration": 1.78,
      "premarket_volume": 151552.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.53,
      "distance_from_pm_high_pct": 0.66,
      "extension_from_vwap_pct": -0.04,
      "spread_pct": 0.4
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 7.53,
    "pm_low": 7.44
  },
  {
    "symbol": "ALVO",
    "total_score": 44.63,
    "raw_score": 47.31,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 0.65,
      "volume_acceleration": 10,
      "price_momentum": 0.6,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 4.38,
      "spread_liquidity": 4.34,
      "momentum_consistency": 1.44,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.06,
      "vwap": 5.092,
      "vwap_slope": -0.058,
      "rvol": 0.27,
      "volume_acceleration": 2.65,
      "premarket_volume": 136031.0,
      "momentum_pct": 0.4,
      "consolidation_tightness_pct": 0.99,
      "distance_from_pm_high_pct": 2.16,
      "extension_from_vwap_pct": -0.63,
      "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.1716,
    "pm_low": 5.02
  },
  {
    "symbol": "GPK",
    "total_score": 44.61,
    "raw_score": 47.29,
    "breakdown": {
      "price_quality": 3.49,
      "volume_quality": 12.0,
      "rvol": 1.69,
      "volume_acceleration": 5.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.61,
      "spread_liquidity": 4.71,
      "momentum_consistency": 1.93,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.505,
      "vwap": 11.5408,
      "vwap_slope": -0.0054,
      "rvol": 0.7,
      "volume_acceleration": 1.54,
      "premarket_volume": 352330.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.09,
      "distance_from_pm_high_pct": 0.52,
      "extension_from_vwap_pct": -0.31,
      "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": "EVMN",
    "total_score": 44.53,
    "raw_score": 47.2,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 4.0,
      "rvol": 0.16,
      "volume_acceleration": 10,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.62,
      "spread_liquidity": 3.06,
      "momentum_consistency": 3.26,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.69,
      "vwap": 13.6927,
      "vwap_slope": 0.026,
      "rvol": 0.07,
      "volume_acceleration": 2.8,
      "premarket_volume": 33363.0,
      "momentum_pct": -0.36,
      "consolidation_tightness_pct": 0.73,
      "distance_from_pm_high_pct": 0.51,
      "extension_from_vwap_pct": -0.02,
      "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": 13.76,
    "pm_low": 13.6
  },
  {
    "symbol": "APXT",
    "total_score": 44.53,
    "raw_score": 47.2,
    "breakdown": {
      "price_quality": 4.88,
      "volume_quality": 10.33,
      "rvol": 0.41,
      "volume_acceleration": 0.49,
      "price_momentum": 0.07,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 6,
      "spread_liquidity": 4.67,
      "momentum_consistency": 1.14,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.115,
      "vwap": 10.11,
      "vwap_slope": -0.005,
      "rvol": 0.17,
      "volume_acceleration": 0.14,
      "premarket_volume": 86056.0,
      "momentum_pct": 0.05,
      "consolidation_tightness_pct": 0.05,
      "distance_from_pm_high_pct": 0.0,
      "extension_from_vwap_pct": 0.05,
      "spread_pct": 0.1
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 10.115,
    "pm_low": 10.11
  },
  {
    "symbol": "RUN",
    "total_score": 44.5,
    "raw_score": 47.17,
    "breakdown": {
      "price_quality": 4.21,
      "volume_quality": 12.0,
      "rvol": 2.14,
      "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.56,
      "spread_liquidity": 4.64,
      "momentum_consistency": 2.34,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.215,
      "vwap": 9.2464,
      "vwap_slope": -0.0072,
      "rvol": 0.89,
      "volume_acceleration": 1.39,
      "premarket_volume": 444811.0,
      "momentum_pct": -0.22,
      "consolidation_tightness_pct": 0.33,
      "distance_from_pm_high_pct": 0.59,
      "extension_from_vwap_pct": -0.34,
      "spread_pct": 0.11
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 9.27,
    "pm_low": 9.205
  },
  {
    "symbol": "MBLY",
    "total_score": 44.43,
    "raw_score": 47.1,
    "breakdown": {
      "price_quality": 3.67,
      "volume_quality": 12.0,
      "rvol": 0.95,
      "volume_acceleration": 5.14,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.31,
      "spread_liquidity": 4.62,
      "momentum_consistency": 3.0,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.67,
      "vwap": 8.7213,
      "vwap_slope": -0.0089,
      "rvol": 0.4,
      "volume_acceleration": 1.51,
      "premarket_volume": 198703.0,
      "momentum_pct": -0.23,
      "consolidation_tightness_pct": 0.35,
      "distance_from_pm_high_pct": 0.91,
      "extension_from_vwap_pct": -0.59,
      "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.75,
    "pm_low": 8.67
  },
  {
    "symbol": "IMMX",
    "total_score": 44.32,
    "raw_score": 46.98,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 1.32,
      "volume_acceleration": 8.52,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 4.02,
      "spread_liquidity": 4.31,
      "momentum_consistency": 2.91,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.41,
      "vwap": 14.6262,
      "vwap_slope": -0.0566,
      "rvol": 0.55,
      "volume_acceleration": 1.85,
      "premarket_volume": 274843.0,
      "momentum_pct": -1.03,
      "consolidation_tightness_pct": 1.21,
      "distance_from_pm_high_pct": 2.64,
      "extension_from_vwap_pct": -1.48,
      "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.8,
    "pm_low": 14.41
  },
  {
    "symbol": "ORN",
    "total_score": 44.24,
    "raw_score": 46.89,
    "breakdown": {
      "price_quality": 4.2,
      "volume_quality": 9.38,
      "rvol": 0.38,
      "volume_acceleration": 1.91,
      "price_momentum": 0.08,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.63,
      "spread_liquidity": 3.91,
      "momentum_consistency": 2.2,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.195,
      "vwap": 9.187,
      "vwap_slope": -0.0074,
      "rvol": 0.16,
      "volume_acceleration": 1.19,
      "premarket_volume": 78153.0,
      "momentum_pct": 0.05,
      "consolidation_tightness_pct": 0.33,
      "distance_from_pm_high_pct": 0.49,
      "extension_from_vwap_pct": 0.09,
      "spread_pct": 0.33
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 9.24,
    "pm_low": 9.15
  },
  {
    "symbol": "ALLT",
    "total_score": 44.23,
    "raw_score": 46.89,
    "breakdown": {
      "price_quality": 2.58,
      "volume_quality": 2.68,
      "rvol": 0.11,
      "volume_acceleration": 2.14,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.75,
      "spread_liquidity": 4.56,
      "momentum_consistency": 2.67,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.585,
      "vwap": 7.5836,
      "vwap_slope": 0.0079,
      "rvol": 0.04,
      "volume_acceleration": 0.61,
      "premarket_volume": 22322.0,
      "momentum_pct": -0.07,
      "consolidation_tightness_pct": 0.13,
      "distance_from_pm_high_pct": 0.33,
      "extension_from_vwap_pct": 0.02,
      "spread_pct": 0.13
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 7.61,
    "pm_low": 7.525
  },
  {
    "symbol": "DSP",
    "total_score": 44.06,
    "raw_score": 46.7,
    "breakdown": {
      "price_quality": 2.77,
      "volume_quality": 2.43,
      "rvol": 0.1,
      "volume_acceleration": 9.13,
      "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": 3.91,
      "momentum_consistency": 3.2,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.23,
      "vwap": 12.271,
      "vwap_slope": 0.0054,
      "rvol": 0.04,
      "volume_acceleration": 1.91,
      "premarket_volume": 20212.0,
      "momentum_pct": -0.16,
      "consolidation_tightness_pct": 0.25,
      "distance_from_pm_high_pct": 0.57,
      "extension_from_vwap_pct": -0.33,
      "spread_pct": 0.33
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": true
    },
    "pm_high": 12.3,
    "pm_low": 12.22
  },
  {
    "symbol": "QUBT",
    "total_score": 44.02,
    "raw_score": 46.66,
    "breakdown": {
      "price_quality": 3.52,
      "volume_quality": 12.0,
      "rvol": 1.66,
      "volume_acceleration": 3.96,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.35,
      "spread_liquidity": 4.61,
      "momentum_consistency": 3.17,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.515,
      "vwap": 8.5366,
      "vwap_slope": -0.0049,
      "rvol": 0.69,
      "volume_acceleration": 1.14,
      "premarket_volume": 345842.0,
      "momentum_pct": -0.06,
      "consolidation_tightness_pct": 0.18,
      "distance_from_pm_high_pct": 0.87,
      "extension_from_vwap_pct": -0.25,
      "spread_pct": 0.12
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 8.59,
    "pm_low": 8.49
  },
  {
    "symbol": "DERM",
    "total_score": 43.97,
    "raw_score": 46.61,
    "breakdown": {
      "price_quality": 2.59,
      "volume_quality": 4.34,
      "rvol": 0.17,
      "volume_acceleration": 7.97,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.14,
      "spread_liquidity": 3.68,
      "momentum_consistency": 3.11,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.5923,
      "vwap": 7.5981,
      "vwap_slope": 0.0361,
      "rvol": 0.07,
      "volume_acceleration": 1.8,
      "premarket_volume": 36133.0,
      "momentum_pct": -0.1,
      "consolidation_tightness_pct": 1.31,
      "distance_from_pm_high_pct": 1.14,
      "extension_from_vwap_pct": -0.08,
      "spread_pct": 0.4
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": true
    },
    "pm_high": 7.68,
    "pm_low": 7.545
  },
  {
    "symbol": "TRAK",
    "total_score": 43.68,
    "raw_score": 46.3,
    "breakdown": {
      "price_quality": 3.14,
      "volume_quality": 3.31,
      "rvol": 0.13,
      "volume_acceleration": 1.54,
      "price_momentum": 0.37,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.77,
      "spread_liquidity": 1.32,
      "momentum_consistency": 4.31,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.145,
      "vwap": 7.9817,
      "vwap_slope": 0.0341,
      "rvol": 0.06,
      "volume_acceleration": 0.44,
      "premarket_volume": 27621.0,
      "momentum_pct": 0.25,
      "consolidation_tightness_pct": 0.55,
      "distance_from_pm_high_pct": 0.31,
      "extension_from_vwap_pct": 2.05,
      "spread_pct": 1.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": 8.17,
    "pm_low": 7.8488
  },
  {
    "symbol": "OI",
    "total_score": 43.28,
    "raw_score": 45.88,
    "breakdown": {
      "price_quality": 2.41,
      "volume_quality": 12.0,
      "rvol": 1.72,
      "volume_acceleration": 5.92,
      "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.55,
      "momentum_consistency": 1.38,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.405,
      "vwap": 7.4252,
      "vwap_slope": -0.0032,
      "rvol": 0.72,
      "volume_acceleration": 1.59,
      "premarket_volume": 359217.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.14,
      "distance_from_pm_high_pct": 0.67,
      "extension_from_vwap_pct": -0.27,
      "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.455,
    "pm_low": 7.4
  },
  {
    "symbol": "TGB",
    "total_score": 43.26,
    "raw_score": 45.85,
    "breakdown": {
      "price_quality": 4.54,
      "volume_quality": 12.0,
      "rvol": 1.62,
      "volume_acceleration": 2.37,
      "price_momentum": 0.08,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.57,
      "spread_liquidity": 4.65,
      "momentum_consistency": 2.62,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.54,
      "vwap": 9.5667,
      "vwap_slope": -0.0057,
      "rvol": 0.68,
      "volume_acceleration": 1.24,
      "premarket_volume": 337543.0,
      "momentum_pct": 0.05,
      "consolidation_tightness_pct": 0.1,
      "distance_from_pm_high_pct": 0.57,
      "extension_from_vwap_pct": -0.28,
      "spread_pct": 0.1
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 9.595,
    "pm_low": 9.53
  },
  {
    "symbol": "KRO",
    "total_score": 43.24,
    "raw_score": 45.83,
    "breakdown": {
      "price_quality": 3.86,
      "volume_quality": 4.12,
      "rvol": 0.16,
      "volume_acceleration": 5.44,
      "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": 3.87,
      "momentum_consistency": 3.2,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.86,
      "vwap": 8.8923,
      "vwap_slope": 0.0004,
      "rvol": 0.07,
      "volume_acceleration": 1.54,
      "premarket_volume": 34326.0,
      "momentum_pct": -0.34,
      "consolidation_tightness_pct": 0.45,
      "distance_from_pm_high_pct": 0.56,
      "extension_from_vwap_pct": -0.36,
      "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": 8.91,
    "pm_low": 8.86
  },
  {
    "symbol": "KBDC",
    "total_score": 43.1,
    "raw_score": 45.69,
    "breakdown": {
      "price_quality": 1.52,
      "volume_quality": 5.58,
      "rvol": 0.22,
      "volume_acceleration": 6.01,
      "price_momentum": 0.11,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.92,
      "spread_liquidity": 4.75,
      "momentum_consistency": 2.38,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.485,
      "vwap": 13.4756,
      "vwap_slope": -0.0002,
      "rvol": 0.09,
      "volume_acceleration": 1.6,
      "premarket_volume": 46501.0,
      "momentum_pct": 0.07,
      "consolidation_tightness_pct": 0.11,
      "distance_from_pm_high_pct": 0.11,
      "extension_from_vwap_pct": 0.07,
      "spread_pct": 0.07
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 13.5,
    "pm_low": 13.45
  },
  {
    "symbol": "AMRN",
    "total_score": 42.99,
    "raw_score": 45.57,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 11.59,
      "rvol": 0.46,
      "volume_acceleration": 1.55,
      "price_momentum": 0.11,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.52,
      "spread_liquidity": 2.63,
      "momentum_consistency": 3.0,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.08,
      "vwap": 14.0258,
      "vwap_slope": -0.0163,
      "rvol": 0.19,
      "volume_acceleration": 1.16,
      "premarket_volume": 96576.0,
      "momentum_pct": 0.07,
      "consolidation_tightness_pct": 0.57,
      "distance_from_pm_high_pct": 0.64,
      "extension_from_vwap_pct": 0.39,
      "spread_pct": 0.71
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 14.17,
    "pm_low": 13.99
  },
  {
    "symbol": "SHLS",
    "total_score": 42.99,
    "raw_score": 45.57,
    "breakdown": {
      "price_quality": 1.88,
      "volume_quality": 12.0,
      "rvol": 2.86,
      "volume_acceleration": 5.79,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 4.61,
      "spread_liquidity": 4.52,
      "momentum_consistency": 1.52,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.88,
      "vwap": 6.9342,
      "vwap_slope": -0.0227,
      "rvol": 1.19,
      "volume_acceleration": 1.58,
      "premarket_volume": 596043.0,
      "momentum_pct": -0.22,
      "consolidation_tightness_pct": 0.36,
      "distance_from_pm_high_pct": 1.85,
      "extension_from_vwap_pct": -0.78,
      "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": 7.01,
    "pm_low": 6.875
  },
  {
    "symbol": "GO",
    "total_score": 42.91,
    "raw_score": 45.48,
    "breakdown": {
      "price_quality": 3.03,
      "volume_quality": 12.0,
      "rvol": 1.43,
      "volume_acceleration": 3.65,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.63,
      "spread_liquidity": 4.72,
      "momentum_consistency": 2.62,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.97,
      "vwap": 11.9848,
      "vwap_slope": -0.0026,
      "rvol": 0.6,
      "volume_acceleration": 1.36,
      "premarket_volume": 298947.0,
      "momentum_pct": -0.04,
      "consolidation_tightness_pct": 0.17,
      "distance_from_pm_high_pct": 0.5,
      "extension_from_vwap_pct": -0.12,
      "spread_pct": 0.08
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 12.03,
    "pm_low": 11.955
  },
  {
    "symbol": "VSTS",
    "total_score": 42.89,
    "raw_score": 45.47,
    "breakdown": {
      "price_quality": 2.13,
      "volume_quality": 7.14,
      "rvol": 0.29,
      "volume_acceleration": 2.98,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.91,
      "spread_liquidity": 4.74,
      "momentum_consistency": 3.08,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.865,
      "vwap": 12.861,
      "vwap_slope": -0.0002,
      "rvol": 0.12,
      "volume_acceleration": 1.3,
      "premarket_volume": 59471.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.12,
      "distance_from_pm_high_pct": 0.12,
      "extension_from_vwap_pct": 0.03,
      "spread_pct": 0.08
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 12.88,
    "pm_low": 12.825
  },
  {
    "symbol": "AVTR",
    "total_score": 42.57,
    "raw_score": 45.12,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 2.3,
      "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.79,
      "spread_liquidity": 4.77,
      "momentum_consistency": 2.48,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.405,
      "vwap": 14.4159,
      "vwap_slope": -0.0021,
      "rvol": 0.96,
      "volume_acceleration": 1.11,
      "premarket_volume": 479034.0,
      "momentum_pct": -0.07,
      "consolidation_tightness_pct": 0.1,
      "distance_from_pm_high_pct": 0.28,
      "extension_from_vwap_pct": -0.08,
      "spread_pct": 0.07
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 14.445,
    "pm_low": 14.375
  },
  {
    "symbol": "GPRE",
    "total_score": 42.5,
    "raw_score": 45.05,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 0.85,
      "volume_acceleration": 5.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.17,
      "spread_liquidity": 4.77,
      "momentum_consistency": 2.52,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.765,
      "vwap": 14.8247,
      "vwap_slope": -0.0268,
      "rvol": 0.36,
      "volume_acceleration": 1.58,
      "premarket_volume": 177639.0,
      "momentum_pct": -0.02,
      "consolidation_tightness_pct": 0.2,
      "distance_from_pm_high_pct": 1.11,
      "extension_from_vwap_pct": -0.4,
      "spread_pct": 0.07
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 14.93,
    "pm_low": 14.73
  },
  {
    "symbol": "AIRG",
    "total_score": 42.47,
    "raw_score": 45.02,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 3.29,
      "rvol": 0.13,
      "volume_acceleration": 10,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.16,
      "spread_liquidity": 0.01,
      "momentum_consistency": 5.33,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.3,
      "vwap": 5.3385,
      "vwap_slope": 0.0335,
      "rvol": 0.05,
      "volume_acceleration": 31.14,
      "premarket_volume": 27423.0,
      "momentum_pct": -0.28,
      "consolidation_tightness_pct": 1.13,
      "distance_from_pm_high_pct": 1.12,
      "extension_from_vwap_pct": -0.72,
      "spread_pct": 1.5
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": true
    },
    "pm_high": 5.36,
    "pm_low": 5.3
  },
  {
    "symbol": "KLAR",
    "total_score": 42.43,
    "raw_score": 44.97,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 3.38,
      "volume_acceleration": 3.1,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.21,
      "spread_liquidity": 4.76,
      "momentum_consistency": 2.62,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.12,
      "vwap": 14.1952,
      "vwap_slope": -0.0154,
      "rvol": 1.41,
      "volume_acceleration": 1.31,
      "premarket_volume": 703599.0,
      "momentum_pct": -0.21,
      "consolidation_tightness_pct": 0.39,
      "distance_from_pm_high_pct": 1.05,
      "extension_from_vwap_pct": -0.53,
      "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.27,
    "pm_low": 14.11
  },
  {
    "symbol": "GFR",
    "total_score": 42.35,
    "raw_score": 44.89,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 0.84,
      "volume_acceleration": 6.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.46,
      "spread_liquidity": 3.94,
      "momentum_consistency": 1.78,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.26,
      "vwap": 6.2755,
      "vwap_slope": -0.0018,
      "rvol": 0.35,
      "volume_acceleration": 1.7,
      "premarket_volume": 174666.0,
      "momentum_pct": -0.16,
      "consolidation_tightness_pct": 0.56,
      "distance_from_pm_high_pct": 0.71,
      "extension_from_vwap_pct": -0.25,
      "spread_pct": 0.32
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 6.305,
    "pm_low": 6.24
  },
  {
    "symbol": "RMNI",
    "total_score": 42.22,
    "raw_score": 44.75,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 3.79,
      "rvol": 0.15,
      "volume_acceleration": 1.73,
      "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.36,
      "momentum_consistency": 0.89,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.215,
      "vwap": 5.2113,
      "vwap_slope": 0.0003,
      "rvol": 0.06,
      "volume_acceleration": 0.5,
      "premarket_volume": 31571.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.1,
      "distance_from_pm_high_pct": 0.1,
      "extension_from_vwap_pct": 0.07,
      "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.22,
    "pm_low": 5.2
  },
  {
    "symbol": "OSS",
    "total_score": 42.2,
    "raw_score": 44.73,
    "breakdown": {
      "price_quality": 3.97,
      "volume_quality": 11.8,
      "rvol": 0.47,
      "volume_acceleration": 3.57,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 4.99,
      "spread_liquidity": 4.4,
      "momentum_consistency": 3.13,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.03,
      "vwap": 11.0764,
      "vwap_slope": -0.0152,
      "rvol": 0.2,
      "volume_acceleration": 1.03,
      "premarket_volume": 98305.0,
      "momentum_pct": -0.09,
      "consolidation_tightness_pct": 0.45,
      "distance_from_pm_high_pct": 1.34,
      "extension_from_vwap_pct": -0.42,
      "spread_pct": 0.18
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 11.18,
    "pm_low": 11.01
  },
  {
    "symbol": "SATL",
    "total_score": 42.19,
    "raw_score": 44.72,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 1.65,
      "volume_acceleration": 5.63,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 4.54,
      "spread_liquidity": 4.37,
      "momentum_consistency": 2.62,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.305,
      "vwap": 5.3156,
      "vwap_slope": -0.0065,
      "rvol": 0.69,
      "volume_acceleration": 1.56,
      "premarket_volume": 343178.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.28,
      "distance_from_pm_high_pct": 1.94,
      "extension_from_vwap_pct": -0.2,
      "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.41,
    "pm_low": 5.265
  },
  {
    "symbol": "WATT",
    "total_score": 42.19,
    "raw_score": 44.72,
    "breakdown": {
      "price_quality": 3.57,
      "volume_quality": 3.46,
      "rvol": 0.14,
      "volume_acceleration": 3.41,
      "price_momentum": 0.99,
      "price_structure": 12,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 4.74,
      "spread_liquidity": 3.54,
      "momentum_consistency": 2.86,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.425,
      "vwap": 11.493,
      "vwap_slope": -0.0283,
      "rvol": 0.06,
      "volume_acceleration": 0.98,
      "premarket_volume": 28811.0,
      "momentum_pct": 0.66,
      "consolidation_tightness_pct": 0.66,
      "distance_from_pm_high_pct": 1.68,
      "extension_from_vwap_pct": -0.59,
      "spread_pct": 0.44
    },
    "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.62,
    "pm_low": 11.35
  },
  {
    "symbol": "REAL",
    "total_score": 42.14,
    "raw_score": 44.67,
    "breakdown": {
      "price_quality": 4.03,
      "volume_quality": 12.0,
      "rvol": 0.81,
      "volume_acceleration": 2.6,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.42,
      "spread_liquidity": 4.7,
      "momentum_consistency": 2.71,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.975,
      "vwap": 11.0229,
      "vwap_slope": -0.0058,
      "rvol": 0.34,
      "volume_acceleration": 0.75,
      "premarket_volume": 167969.0,
      "momentum_pct": -0.27,
      "consolidation_tightness_pct": 0.41,
      "distance_from_pm_high_pct": 0.77,
      "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": false,
      "vwap_rising": false
    },
    "pm_high": 11.06,
    "pm_low": 10.97
  },
  {
    "symbol": "XMAX",
    "total_score": 42.12,
    "raw_score": 44.65,
    "breakdown": {
      "price_quality": 4.23,
      "volume_quality": 5.46,
      "rvol": 0.22,
      "volume_acceleration": 10,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.84,
      "spread_liquidity": 4.28,
      "momentum_consistency": 2.22,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.23,
      "vwap": 9.2343,
      "vwap_slope": -0.0039,
      "rvol": 0.09,
      "volume_acceleration": 2.38,
      "premarket_volume": 45513.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.22,
      "distance_from_pm_high_pct": 0.22,
      "extension_from_vwap_pct": -0.05,
      "spread_pct": 0.22
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 9.25,
    "pm_low": 9.215
  },
  {
    "symbol": "SPT",
    "total_score": 42.11,
    "raw_score": 44.64,
    "breakdown": {
      "price_quality": 4.32,
      "volume_quality": 12.0,
      "rvol": 0.63,
      "volume_acceleration": 2.46,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.75,
      "spread_liquidity": 4.69,
      "momentum_consistency": 2.39,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.675,
      "vwap": 10.6801,
      "vwap_slope": -0.0022,
      "rvol": 0.26,
      "volume_acceleration": 1.25,
      "premarket_volume": 130739.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.14,
      "distance_from_pm_high_pct": 0.33,
      "extension_from_vwap_pct": -0.05,
      "spread_pct": 0.09
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 10.71,
    "pm_low": 10.65
  },
  {
    "symbol": "OEC",
    "total_score": 41.97,
    "raw_score": 44.48,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 4.61,
      "rvol": 0.18,
      "volume_acceleration": 3.51,
      "price_momentum": 0.25,
      "price_structure": 12,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.24,
      "spread_liquidity": 4.43,
      "momentum_consistency": 2.74,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.895,
      "vwap": 5.9167,
      "vwap_slope": -0.0182,
      "rvol": 0.08,
      "volume_acceleration": 1.01,
      "premarket_volume": 38456.0,
      "momentum_pct": 0.17,
      "consolidation_tightness_pct": 0.42,
      "distance_from_pm_high_pct": 1.01,
      "extension_from_vwap_pct": -0.37,
      "spread_pct": 0.17
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 5.955,
    "pm_low": 5.87
  },
  {
    "symbol": "FRMI",
    "total_score": 41.95,
    "raw_score": 44.47,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 4.71,
      "volume_acceleration": 1.57,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.5,
      "spread_liquidity": 4.44,
      "momentum_consistency": 2.34,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.975,
      "vwap": 5.9868,
      "vwap_slope": -0.0024,
      "rvol": 1.77,
      "volume_acceleration": 1.16,
      "premarket_volume": 883009.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.25,
      "distance_from_pm_high_pct": 0.67,
      "extension_from_vwap_pct": -0.2,
      "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": 6.015,
    "pm_low": 5.9502
  },
  {
    "symbol": "COUR",
    "total_score": 41.9,
    "raw_score": 44.41,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 1.96,
      "volume_acceleration": 3.98,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.76,
      "spread_liquidity": 4.46,
      "momentum_consistency": 2.34,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.21,
      "vwap": 6.2116,
      "vwap_slope": -0.001,
      "rvol": 0.82,
      "volume_acceleration": 1.15,
      "premarket_volume": 408309.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.16,
      "distance_from_pm_high_pct": 0.32,
      "extension_from_vwap_pct": -0.03,
      "spread_pct": 0.16
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 6.23,
    "pm_low": 6.19
  },
  {
    "symbol": "VIPS",
    "total_score": 41.89,
    "raw_score": 44.4,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 2.46,
      "volume_acceleration": 3.11,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.68,
      "spread_liquidity": 4.77,
      "momentum_consistency": 2.48,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.225,
      "vwap": 14.232,
      "vwap_slope": -0.0053,
      "rvol": 1.03,
      "volume_acceleration": 0.89,
      "premarket_volume": 513411.0,
      "momentum_pct": -0.07,
      "consolidation_tightness_pct": 0.42,
      "distance_from_pm_high_pct": 0.42,
      "extension_from_vwap_pct": -0.05,
      "spread_pct": 0.07
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 14.285,
    "pm_low": 14.175
  },
  {
    "symbol": "NPCE",
    "total_score": 41.75,
    "raw_score": 44.25,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 4.02,
      "rvol": 0.16,
      "volume_acceleration": 8.07,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.21,
      "spread_liquidity": 3.11,
      "momentum_consistency": 2.57,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.12,
      "vwap": 14.1965,
      "vwap_slope": 0.0134,
      "rvol": 0.07,
      "volume_acceleration": 1.81,
      "premarket_volume": 33512.0,
      "momentum_pct": -1.05,
      "consolidation_tightness_pct": 1.06,
      "distance_from_pm_high_pct": 1.05,
      "extension_from_vwap_pct": -0.54,
      "spread_pct": 0.57
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": true
    },
    "pm_high": 14.27,
    "pm_low": 14.085
  },
  {
    "symbol": "CRMD",
    "total_score": 41.68,
    "raw_score": 44.19,
    "breakdown": {
      "price_quality": 3.48,
      "volume_quality": 12.0,
      "rvol": 0.67,
      "volume_acceleration": 2.22,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.6,
      "spread_liquidity": 4.61,
      "momentum_consistency": 3.2,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.485,
      "vwap": 8.5026,
      "vwap_slope": -0.0001,
      "rvol": 0.28,
      "volume_acceleration": 0.64,
      "premarket_volume": 139396.0,
      "momentum_pct": -0.06,
      "consolidation_tightness_pct": 0.24,
      "distance_from_pm_high_pct": 0.53,
      "extension_from_vwap_pct": -0.21,
      "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.53,
    "pm_low": 8.465
  },
  {
    "symbol": "PRGO",
    "total_score": 41.66,
    "raw_score": 44.16,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 1.28,
      "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.14,
      "spread_liquidity": 4.53,
      "momentum_consistency": 3.31,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.215,
      "vwap": 14.2217,
      "vwap_slope": -0.0081,
      "rvol": 0.53,
      "volume_acceleration": 1.15,
      "premarket_volume": 267104.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.46,
      "distance_from_pm_high_pct": 1.15,
      "extension_from_vwap_pct": -0.05,
      "spread_pct": 0.14
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 14.38,
    "pm_low": 14.125
  },
  {
    "symbol": "DEI",
    "total_score": 41.54,
    "raw_score": 44.03,
    "breakdown": {
      "price_quality": 2.84,
      "volume_quality": 12.0,
      "rvol": 1.14,
      "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.75,
      "spread_liquidity": 4.73,
      "momentum_consistency": 2.48,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.16,
      "vwap": 12.1714,
      "vwap_slope": -0.0006,
      "rvol": 0.47,
      "volume_acceleration": 0.77,
      "premarket_volume": 237142.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.08,
      "distance_from_pm_high_pct": 0.33,
      "extension_from_vwap_pct": -0.09,
      "spread_pct": 0.08
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 12.2,
    "pm_low": 12.115
  },
  {
    "symbol": "CRSR",
    "total_score": 41.52,
    "raw_score": 44.01,
    "breakdown": {
      "price_quality": 3.27,
      "volume_quality": 12.0,
      "rvol": 0.83,
      "volume_acceleration": 2.0,
      "price_momentum": 0.26,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.18,
      "spread_liquidity": 4.72,
      "momentum_consistency": 3.36,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.73,
      "vwap": 11.7778,
      "vwap_slope": -0.0071,
      "rvol": 0.34,
      "volume_acceleration": 0.58,
      "premarket_volume": 172318.0,
      "momentum_pct": 0.17,
      "consolidation_tightness_pct": 0.17,
      "distance_from_pm_high_pct": 1.1,
      "extension_from_vwap_pct": -0.41,
      "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.8599,
    "pm_low": 11.685
  },
  {
    "symbol": "OWLT",
    "total_score": 41.44,
    "raw_score": 43.93,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 4.6,
      "rvol": 0.18,
      "volume_acceleration": 6.39,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.28,
      "spread_liquidity": 3.72,
      "momentum_consistency": 3.05,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.185,
      "vwap": 5.1827,
      "vwap_slope": -0.0152,
      "rvol": 0.08,
      "volume_acceleration": 1.64,
      "premarket_volume": 38360.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.58,
      "distance_from_pm_high_pct": 0.96,
      "extension_from_vwap_pct": 0.04,
      "spread_pct": 0.39
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 5.235,
    "pm_low": 5.14
  },
  {
    "symbol": "IMTX",
    "total_score": 41.4,
    "raw_score": 43.89,
    "breakdown": {
      "price_quality": 4.19,
      "volume_quality": 12.0,
      "rvol": 0.61,
      "volume_acceleration": 2.37,
      "price_momentum": 0.33,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.11,
      "spread_liquidity": 4.64,
      "momentum_consistency": 2.24,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.19,
      "vwap": 9.2172,
      "vwap_slope": -0.0171,
      "rvol": 0.25,
      "volume_acceleration": 1.24,
      "premarket_volume": 127081.0,
      "momentum_pct": 0.22,
      "consolidation_tightness_pct": 0.76,
      "distance_from_pm_high_pct": 1.18,
      "extension_from_vwap_pct": -0.3,
      "spread_pct": 0.11
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 9.3,
    "pm_low": 9.16
  },
  {
    "symbol": "SENS",
    "total_score": 41.37,
    "raw_score": 43.85,
    "breakdown": {
      "price_quality": 4.59,
      "volume_quality": 12.0,
      "rvol": 0.53,
      "volume_acceleration": 2.9,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.0,
      "spread_liquidity": 3.61,
      "momentum_consistency": 2.82,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.5901,
      "vwap": 9.6375,
      "vwap_slope": -0.0034,
      "rvol": 0.22,
      "volume_acceleration": 0.83,
      "premarket_volume": 109443.0,
      "momentum_pct": -0.52,
      "consolidation_tightness_pct": 0.62,
      "distance_from_pm_high_pct": 1.34,
      "extension_from_vwap_pct": -0.49,
      "spread_pct": 0.42
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 9.72,
    "pm_low": 9.58
  },
  {
    "symbol": "VYX",
    "total_score": 41.17,
    "raw_score": 43.64,
    "breakdown": {
      "price_quality": 3.05,
      "volume_quality": 12.0,
      "rvol": 1.12,
      "volume_acceleration": 3.07,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.26,
      "spread_liquidity": 4.59,
      "momentum_consistency": 2.14,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.055,
      "vwap": 8.0873,
      "vwap_slope": -0.0025,
      "rvol": 0.47,
      "volume_acceleration": 1.31,
      "premarket_volume": 232918.0,
      "momentum_pct": -0.25,
      "consolidation_tightness_pct": 0.37,
      "distance_from_pm_high_pct": 0.98,
      "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": false,
      "vwap_rising": false
    },
    "pm_high": 8.135,
    "pm_low": 8.05
  },
  {
    "symbol": "SVCO",
    "total_score": 41.05,
    "raw_score": 43.51,
    "breakdown": {
      "price_quality": 1.74,
      "volume_quality": 2.41,
      "rvol": 0.1,
      "volume_acceleration": 1.58,
      "price_momentum": 0.11,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.67,
      "spread_liquidity": 4.01,
      "momentum_consistency": 1.5,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.74,
      "vwap": 6.7358,
      "vwap_slope": 0.0011,
      "rvol": 0.04,
      "volume_acceleration": 0.45,
      "premarket_volume": 20047.0,
      "momentum_pct": 0.07,
      "consolidation_tightness_pct": 0.3,
      "distance_from_pm_high_pct": 0.44,
      "extension_from_vwap_pct": 0.06,
      "spread_pct": 0.3
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 6.77,
    "pm_low": 6.7
  },
  {
    "symbol": "SWIM",
    "total_score": 41.04,
    "raw_score": 43.51,
    "breakdown": {
      "price_quality": 2.1,
      "volume_quality": 5.58,
      "rvol": 0.22,
      "volume_acceleration": 2.04,
      "price_momentum": 0.74,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.89,
      "spread_liquidity": 4.53,
      "momentum_consistency": 3.2,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.1,
      "vwap": 7.0854,
      "vwap_slope": -0.0004,
      "rvol": 0.09,
      "volume_acceleration": 0.59,
      "premarket_volume": 46493.0,
      "momentum_pct": 0.5,
      "consolidation_tightness_pct": 0.56,
      "distance_from_pm_high_pct": 0.14,
      "extension_from_vwap_pct": 0.21,
      "spread_pct": 0.14
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 7.11,
    "pm_low": 7.05
  },
  {
    "symbol": "CTOS",
    "total_score": 41.02,
    "raw_score": 43.48,
    "breakdown": {
      "price_quality": 4.65,
      "volume_quality": 7.53,
      "rvol": 0.3,
      "volume_acceleration": 6.76,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.27,
      "spread_liquidity": 4.65,
      "momentum_consistency": 1.91,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.65,
      "vwap": 9.6992,
      "vwap_slope": -0.0138,
      "rvol": 0.13,
      "volume_acceleration": 1.68,
      "premarket_volume": 62733.0,
      "momentum_pct": -0.05,
      "consolidation_tightness_pct": 0.21,
      "distance_from_pm_high_pct": 0.97,
      "extension_from_vwap_pct": -0.51,
      "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.745,
    "pm_low": 9.645
  },
  {
    "symbol": "GOOS",
    "total_score": 41.01,
    "raw_score": 43.47,
    "breakdown": {
      "price_quality": 3.23,
      "volume_quality": 12.0,
      "rvol": 0.49,
      "volume_acceleration": 3.12,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.59,
      "spread_liquidity": 4.6,
      "momentum_consistency": 2.05,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.23,
      "vwap": 8.2488,
      "vwap_slope": -0.0037,
      "rvol": 0.2,
      "volume_acceleration": 0.9,
      "premarket_volume": 102466.0,
      "momentum_pct": -0.06,
      "consolidation_tightness_pct": 0.12,
      "distance_from_pm_high_pct": 0.54,
      "extension_from_vwap_pct": -0.23,
      "spread_pct": 0.12
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 8.275,
    "pm_low": 8.23
  },
  {
    "symbol": "SSYS",
    "total_score": 41.0,
    "raw_score": 43.46,
    "breakdown": {
      "price_quality": 2.82,
      "volume_quality": 12.0,
      "rvol": 1.04,
      "volume_acceleration": 2.91,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.38,
      "spread_liquidity": 4.57,
      "momentum_consistency": 2.34,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.815,
      "vwap": 7.8339,
      "vwap_slope": -0.004,
      "rvol": 0.43,
      "volume_acceleration": 0.84,
      "premarket_volume": 216582.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.13,
      "distance_from_pm_high_pct": 0.82,
      "extension_from_vwap_pct": -0.24,
      "spread_pct": 0.13
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 7.88,
    "pm_low": 7.7909
  },
  {
    "symbol": "SMWB",
    "total_score": 40.99,
    "raw_score": 43.45,
    "breakdown": {
      "price_quality": 3.9,
      "volume_quality": 11.61,
      "rvol": 0.46,
      "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": 5.37,
      "spread_liquidity": 4.25,
      "momentum_consistency": 3.11,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.9,
      "vwap": 8.9267,
      "vwap_slope": -0.0023,
      "rvol": 0.19,
      "volume_acceleration": 0.67,
      "premarket_volume": 96736.0,
      "momentum_pct": -0.11,
      "consolidation_tightness_pct": 0.34,
      "distance_from_pm_high_pct": 0.84,
      "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": 8.975,
    "pm_low": 8.87
  },
  {
    "symbol": "TRLV",
    "total_score": 40.97,
    "raw_score": 43.43,
    "breakdown": {
      "price_quality": 3.69,
      "volume_quality": 12.0,
      "rvol": 0.7,
      "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.02,
      "spread_liquidity": 3.82,
      "momentum_consistency": 3.29,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.3101,
      "vwap": 11.3395,
      "vwap_slope": -0.01,
      "rvol": 0.29,
      "volume_acceleration": 0.72,
      "premarket_volume": 146185.0,
      "momentum_pct": -0.53,
      "consolidation_tightness_pct": 0.97,
      "distance_from_pm_high_pct": 1.31,
      "extension_from_vwap_pct": -0.26,
      "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.46,
    "pm_low": 11.25
  },
  {
    "symbol": "SMPL",
    "total_score": 40.89,
    "raw_score": 43.34,
    "breakdown": {
      "price_quality": 4.21,
      "volume_quality": 12.0,
      "rvol": 0.89,
      "volume_acceleration": 1.46,
      "price_momentum": 0.07,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.31,
      "spread_liquidity": 4.69,
      "momentum_consistency": 2.31,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.79,
      "vwap": 10.8332,
      "vwap_slope": -0.0078,
      "rvol": 0.37,
      "volume_acceleration": 0.42,
      "premarket_volume": 185131.0,
      "momentum_pct": 0.05,
      "consolidation_tightness_pct": 0.09,
      "distance_from_pm_high_pct": 0.92,
      "extension_from_vwap_pct": -0.4,
      "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.89,
    "pm_low": 10.78
  },
  {
    "symbol": "BHVN",
    "total_score": 40.82,
    "raw_score": 43.27,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 2.41,
      "volume_acceleration": 1.84,
      "price_momentum": 0.31,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.38,
      "spread_liquidity": 4.54,
      "momentum_consistency": 2.9,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.35,
      "vwap": 14.3746,
      "vwap_slope": -0.0269,
      "rvol": 1.0,
      "volume_acceleration": 1.18,
      "premarket_volume": 501255.0,
      "momentum_pct": 0.21,
      "consolidation_tightness_pct": 0.56,
      "distance_from_pm_high_pct": 0.83,
      "extension_from_vwap_pct": -0.17,
      "spread_pct": 0.14
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 14.47,
    "pm_low": 14.28
  },
  {
    "symbol": "SLS",
    "total_score": 40.76,
    "raw_score": 43.2,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 2.93,
      "volume_acceleration": 2.24,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 4.4,
      "spread_liquidity": 4.29,
      "momentum_consistency": 3.45,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.0335,
      "vwap": 14.1794,
      "vwap_slope": -0.027,
      "rvol": 1.22,
      "volume_acceleration": 1.22,
      "premarket_volume": 610421.0,
      "momentum_pct": -0.29,
      "consolidation_tightness_pct": 0.6,
      "distance_from_pm_high_pct": 2.14,
      "extension_from_vwap_pct": -1.03,
      "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.3399,
    "pm_low": 14.015
  },
  {
    "symbol": "AMPL",
    "total_score": 40.74,
    "raw_score": 43.18,
    "breakdown": {
      "price_quality": 1.99,
      "volume_quality": 12.0,
      "rvol": 0.56,
      "volume_acceleration": 3.04,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.68,
      "spread_liquidity": 4.74,
      "momentum_consistency": 2.76,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.005,
      "vwap": 13.0161,
      "vwap_slope": -0.0023,
      "rvol": 0.23,
      "volume_acceleration": 1.3,
      "premarket_volume": 115995.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.15,
      "distance_from_pm_high_pct": 0.42,
      "extension_from_vwap_pct": -0.09,
      "spread_pct": 0.08
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 13.06,
    "pm_low": 12.955
  },
  {
    "symbol": "SG",
    "total_score": 40.61,
    "raw_score": 43.05,
    "breakdown": {
      "price_quality": 1.9,
      "volume_quality": 12.0,
      "rvol": 1.93,
      "volume_acceleration": 2.63,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.46,
      "spread_liquidity": 4.52,
      "momentum_consistency": 2.21,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.9,
      "vwap": 6.9076,
      "vwap_slope": -0.0018,
      "rvol": 0.8,
      "volume_acceleration": 0.76,
      "premarket_volume": 401293.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.14,
      "distance_from_pm_high_pct": 0.72,
      "extension_from_vwap_pct": -0.11,
      "spread_pct": 0.14
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 6.95,
    "pm_low": 6.8509
  },
  {
    "symbol": "BTGO",
    "total_score": 40.42,
    "raw_score": 42.84,
    "breakdown": {
      "price_quality": 2.2,
      "volume_quality": 12.0,
      "rvol": 1.47,
      "volume_acceleration": 1.98,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.28,
      "spread_liquidity": 4.07,
      "momentum_consistency": 3.45,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.2,
      "vwap": 7.2162,
      "vwap_slope": -0.0028,
      "rvol": 0.61,
      "volume_acceleration": 0.57,
      "premarket_volume": 305488.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.29,
      "distance_from_pm_high_pct": 0.96,
      "extension_from_vwap_pct": -0.22,
      "spread_pct": 0.28
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 7.27,
    "pm_low": 7.12
  },
  {
    "symbol": "IE",
    "total_score": 40.41,
    "raw_score": 42.84,
    "breakdown": {
      "price_quality": 3.19,
      "volume_quality": 12.0,
      "rvol": 0.87,
      "volume_acceleration": 1.69,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.46,
      "spread_liquidity": 4.72,
      "momentum_consistency": 2.51,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.81,
      "vwap": 11.8473,
      "vwap_slope": -0.0069,
      "rvol": 0.36,
      "volume_acceleration": 0.49,
      "premarket_volume": 181266.0,
      "momentum_pct": -0.16,
      "consolidation_tightness_pct": 0.3,
      "distance_from_pm_high_pct": 0.71,
      "extension_from_vwap_pct": -0.31,
      "spread_pct": 0.08
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 11.895,
    "pm_low": 11.795
  },
  {
    "symbol": "XGN",
    "total_score": 40.34,
    "raw_score": 42.76,
    "breakdown": {
      "price_quality": 2.68,
      "volume_quality": 3.71,
      "rvol": 0.15,
      "volume_acceleration": 3.12,
      "price_momentum": 0.47,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.47,
      "spread_liquidity": 3.7,
      "momentum_consistency": 3.86,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.685,
      "vwap": 7.6874,
      "vwap_slope": 0.0082,
      "rvol": 0.06,
      "volume_acceleration": 0.9,
      "premarket_volume": 30878.0,
      "momentum_pct": 0.31,
      "consolidation_tightness_pct": 1.04,
      "distance_from_pm_high_pct": 0.71,
      "extension_from_vwap_pct": -0.03,
      "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": 7.74,
    "pm_low": 7.62
  },
  {
    "symbol": "TDOC",
    "total_score": 40.33,
    "raw_score": 42.75,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 1.56,
      "volume_acceleration": 3.46,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.58,
      "spread_liquidity": 4.46,
      "momentum_consistency": 1.79,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.16,
      "vwap": 6.1759,
      "vwap_slope": -0.0015,
      "rvol": 0.65,
      "volume_acceleration": 0.99,
      "premarket_volume": 324265.0,
      "momentum_pct": -0.24,
      "consolidation_tightness_pct": 0.24,
      "distance_from_pm_high_pct": 0.56,
      "extension_from_vwap_pct": -0.26,
      "spread_pct": 0.16
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 6.195,
    "pm_low": 6.16
  },
  {
    "symbol": "ACVA",
    "total_score": 40.27,
    "raw_score": 42.68,
    "breakdown": {
      "price_quality": 2.29,
      "volume_quality": 12.0,
      "rvol": 1.15,
      "volume_acceleration": 2.38,
      "price_momentum": 0.1,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.29,
      "spread_liquidity": 4.54,
      "momentum_consistency": 2.53,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.29,
      "vwap": 7.3015,
      "vwap_slope": -0.005,
      "rvol": 0.48,
      "volume_acceleration": 1.24,
      "premarket_volume": 240086.0,
      "momentum_pct": 0.07,
      "consolidation_tightness_pct": 0.21,
      "distance_from_pm_high_pct": 0.95,
      "extension_from_vwap_pct": -0.16,
      "spread_pct": 0.14
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 7.36,
    "pm_low": 7.26
  },
  {
    "symbol": "ANTX",
    "total_score": 39.94,
    "raw_score": 42.33,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 6.11,
      "rvol": 0.24,
      "volume_acceleration": 10,
      "price_momentum": 0.13,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.54,
      "spread_liquidity": 4.41,
      "momentum_consistency": 2.0,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.635,
      "vwap": 5.6382,
      "vwap_slope": -0.0173,
      "rvol": 0.1,
      "volume_acceleration": 3.02,
      "premarket_volume": 50908.0,
      "momentum_pct": 0.09,
      "consolidation_tightness_pct": 0.98,
      "distance_from_pm_high_pct": 0.62,
      "extension_from_vwap_pct": -0.06,
      "spread_pct": 0.18
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 5.67,
    "pm_low": 5.6
  },
  {
    "symbol": "SECZ",
    "total_score": 39.91,
    "raw_score": 42.31,
    "breakdown": {
      "price_quality": 1.68,
      "volume_quality": 12.0,
      "rvol": 0.84,
      "volume_acceleration": 3.11,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.33,
      "spread_liquidity": 4.0,
      "momentum_consistency": 2.95,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.68,
      "vwap": 6.6984,
      "vwap_slope": -0.0031,
      "rvol": 0.35,
      "volume_acceleration": 0.89,
      "premarket_volume": 175113.0,
      "momentum_pct": -0.15,
      "consolidation_tightness_pct": 0.45,
      "distance_from_pm_high_pct": 0.89,
      "extension_from_vwap_pct": -0.28,
      "spread_pct": 0.3
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 6.74,
    "pm_low": 6.66
  },
  {
    "symbol": "FISN",
    "total_score": 39.9,
    "raw_score": 42.3,
    "breakdown": {
      "price_quality": 1.89,
      "volume_quality": 3.69,
      "rvol": 0.15,
      "volume_acceleration": 2.45,
      "price_momentum": 0.37,
      "price_structure": 12,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.32,
      "spread_liquidity": 3.54,
      "momentum_consistency": 2.89,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.8871,
      "vwap": 6.895,
      "vwap_slope": -0.0109,
      "rvol": 0.06,
      "volume_acceleration": 0.7,
      "premarket_volume": 30750.0,
      "momentum_pct": 0.25,
      "consolidation_tightness_pct": 0.58,
      "distance_from_pm_high_pct": 0.91,
      "extension_from_vwap_pct": -0.11,
      "spread_pct": 0.44
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 6.95,
    "pm_low": 6.85
  },
  {
    "symbol": "BGC",
    "total_score": 39.79,
    "raw_score": 42.17,
    "breakdown": {
      "price_quality": 3.12,
      "volume_quality": 12.0,
      "rvol": 0.62,
      "volume_acceleration": 2.26,
      "price_momentum": 0.06,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.65,
      "spread_liquidity": 4.72,
      "momentum_consistency": 1.33,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.875,
      "vwap": 11.8943,
      "vwap_slope": -0.0053,
      "rvol": 0.26,
      "volume_acceleration": 1.23,
      "premarket_volume": 128400.0,
      "momentum_pct": 0.04,
      "consolidation_tightness_pct": 0.08,
      "distance_from_pm_high_pct": 0.46,
      "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": 11.93,
    "pm_low": 11.87
  },
  {
    "symbol": "BRCC",
    "total_score": 39.76,
    "raw_score": 42.14,
    "breakdown": {
      "price_quality": 3.29,
      "volume_quality": 3.64,
      "rvol": 0.15,
      "volume_acceleration": 3.47,
      "price_momentum": 0.73,
      "price_structure": 12,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 3.7,
      "spread_liquidity": 2.17,
      "momentum_consistency": 3.0,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.29,
      "vwap": 8.3282,
      "vwap_slope": -0.1074,
      "rvol": 0.06,
      "volume_acceleration": 1.0,
      "premarket_volume": 30311.0,
      "momentum_pct": 0.48,
      "consolidation_tightness_pct": 1.7,
      "distance_from_pm_high_pct": 3.07,
      "extension_from_vwap_pct": -0.46,
      "spread_pct": 0.85
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 8.5525,
    "pm_low": 8.15
  },
  {
    "symbol": "STGW",
    "total_score": 39.76,
    "raw_score": 42.15,
    "breakdown": {
      "price_quality": 3.67,
      "volume_quality": 8.33,
      "rvol": 0.33,
      "volume_acceleration": 5.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.61,
      "spread_liquidity": 4.62,
      "momentum_consistency": 1.83,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.67,
      "vwap": 8.6954,
      "vwap_slope": -0.0072,
      "rvol": 0.14,
      "volume_acceleration": 1.53,
      "premarket_volume": 69425.0,
      "momentum_pct": -0.17,
      "consolidation_tightness_pct": 0.29,
      "distance_from_pm_high_pct": 0.52,
      "extension_from_vwap_pct": -0.29,
      "spread_pct": 0.12
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 8.715,
    "pm_low": 8.665
  },
  {
    "symbol": "FWDI",
    "total_score": 39.75,
    "raw_score": 42.13,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 1.01,
      "volume_acceleration": 3.27,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 4.79,
      "spread_liquidity": 4.45,
      "momentum_consistency": 2.72,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.08,
      "vwap": 6.1408,
      "vwap_slope": -0.0118,
      "rvol": 0.42,
      "volume_acceleration": 0.94,
      "premarket_volume": 209865.0,
      "momentum_pct": -0.41,
      "consolidation_tightness_pct": 0.57,
      "distance_from_pm_high_pct": 1.62,
      "extension_from_vwap_pct": -0.99,
      "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.18,
    "pm_low": 6.08
  },
  {
    "symbol": "SB",
    "total_score": 39.73,
    "raw_score": 42.11,
    "breakdown": {
      "price_quality": 3.71,
      "volume_quality": 9.06,
      "rvol": 0.36,
      "volume_acceleration": 3.88,
      "price_momentum": 0.17,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.66,
      "spread_liquidity": 4.62,
      "momentum_consistency": 2.26,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.715,
      "vwap": 8.7205,
      "vwap_slope": -0.0038,
      "rvol": 0.15,
      "volume_acceleration": 1.11,
      "premarket_volume": 75461.0,
      "momentum_pct": 0.11,
      "consolidation_tightness_pct": 0.11,
      "distance_from_pm_high_pct": 0.46,
      "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": 8.755,
    "pm_low": 8.7
  },
  {
    "symbol": "LION",
    "total_score": 39.67,
    "raw_score": 42.05,
    "breakdown": {
      "price_quality": 3.29,
      "volume_quality": 12.0,
      "rvol": 0.53,
      "volume_acceleration": 1.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.49,
      "spread_liquidity": 4.72,
      "momentum_consistency": 1.95,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.715,
      "vwap": 11.7529,
      "vwap_slope": -0.016,
      "rvol": 0.22,
      "volume_acceleration": 1.17,
      "premarket_volume": 109586.0,
      "momentum_pct": -0.09,
      "consolidation_tightness_pct": 0.3,
      "distance_from_pm_high_pct": 0.68,
      "extension_from_vwap_pct": -0.32,
      "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.795,
    "pm_low": 11.7
  },
  {
    "symbol": "FOSL",
    "total_score": 39.6,
    "raw_score": 41.98,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 5.26,
      "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.79,
      "spread_liquidity": 4.39,
      "momentum_consistency": 2.42,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.43,
      "vwap": 5.4355,
      "vwap_slope": -0.0011,
      "rvol": 0.09,
      "volume_acceleration": 2.27,
      "premarket_volume": 43863.0,
      "momentum_pct": -0.09,
      "consolidation_tightness_pct": 0.18,
      "distance_from_pm_high_pct": 0.28,
      "extension_from_vwap_pct": -0.1,
      "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.445,
    "pm_low": 5.425
  },
  {
    "symbol": "HOPE",
    "total_score": 39.6,
    "raw_score": 41.98,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 4.92,
      "rvol": 0.2,
      "volume_acceleration": 3.32,
      "price_momentum": 0.11,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.97,
      "spread_liquidity": 4.76,
      "momentum_consistency": 2.0,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.865,
      "vwap": 13.8609,
      "vwap_slope": -0.0003,
      "rvol": 0.08,
      "volume_acceleration": 0.95,
      "premarket_volume": 41006.0,
      "momentum_pct": 0.07,
      "consolidation_tightness_pct": 0.14,
      "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": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 13.87,
    "pm_low": 13.85
  },
  {
    "symbol": "ASYS",
    "total_score": 39.39,
    "raw_score": 41.75,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 3.42,
      "rvol": 0.14,
      "volume_acceleration": 2.58,
      "price_momentum": 0.16,
      "price_structure": 12,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.45,
      "spread_liquidity": 4.3,
      "momentum_consistency": 2.21,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.215,
      "vwap": 14.2485,
      "vwap_slope": -0.0251,
      "rvol": 0.06,
      "volume_acceleration": 0.74,
      "premarket_volume": 28463.0,
      "momentum_pct": 0.11,
      "consolidation_tightness_pct": 0.25,
      "distance_from_pm_high_pct": 0.73,
      "extension_from_vwap_pct": -0.23,
      "spread_pct": 0.21
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 14.32,
    "pm_low": 14.18
  },
  {
    "symbol": "DRVN",
    "total_score": 39.19,
    "raw_score": 41.54,
    "breakdown": {
      "price_quality": 1.89,
      "volume_quality": 12.0,
      "rvol": 0.99,
      "volume_acceleration": 2.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.66,
      "spread_liquidity": 4.75,
      "momentum_consistency": 0.97,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.105,
      "vwap": 13.1091,
      "vwap_slope": -0.0019,
      "rvol": 0.41,
      "volume_acceleration": 0.83,
      "premarket_volume": 206992.0,
      "momentum_pct": -0.04,
      "consolidation_tightness_pct": 0.15,
      "distance_from_pm_high_pct": 0.46,
      "extension_from_vwap_pct": -0.03,
      "spread_pct": 0.08
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 13.165,
    "pm_low": 13.06
  },
  {
    "symbol": "CNXU",
    "total_score": 39.06,
    "raw_score": 41.4,
    "breakdown": {
      "price_quality": 2.51,
      "volume_quality": 4.03,
      "rvol": 0.16,
      "volume_acceleration": 4.22,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.41,
      "spread_liquidity": 1.9,
      "momentum_consistency": 3.57,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.51,
      "vwap": 7.5104,
      "vwap_slope": 0.0078,
      "rvol": 0.07,
      "volume_acceleration": 1.42,
      "premarket_volume": 33571.0,
      "momentum_pct": -0.4,
      "consolidation_tightness_pct": 0.93,
      "distance_from_pm_high_pct": 0.79,
      "extension_from_vwap_pct": -0.01,
      "spread_pct": 0.93
    },
    "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.57,
    "pm_low": 7.45
  },
  {
    "symbol": "LYG",
    "total_score": 38.98,
    "raw_score": 41.32,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 2.72,
      "volume_acceleration": 0.54,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.88,
      "spread_liquidity": 4.45,
      "momentum_consistency": 1.82,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.07,
      "vwap": 6.0741,
      "vwap_slope": -0.0,
      "rvol": 1.13,
      "volume_acceleration": 0.16,
      "premarket_volume": 566472.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.16,
      "distance_from_pm_high_pct": 0.16,
      "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.08,
    "pm_low": 6.06
  },
  {
    "symbol": "PAYO",
    "total_score": 38.85,
    "raw_score": 41.18,
    "breakdown": {
      "price_quality": 2.12,
      "volume_quality": 10.0,
      "rvol": 0.4,
      "volume_acceleration": 3.65,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.95,
      "spread_liquidity": 4.53,
      "momentum_consistency": 2.14,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.115,
      "vwap": 7.1168,
      "vwap_slope": -0.0004,
      "rvol": 0.17,
      "volume_acceleration": 1.05,
      "premarket_volume": 83298.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.14,
      "distance_from_pm_high_pct": 0.07,
      "extension_from_vwap_pct": -0.03,
      "spread_pct": 0.14
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 7.12,
    "pm_low": 7.11
  },
  {
    "symbol": "QDEL",
    "total_score": 38.71,
    "raw_score": 41.04,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 0.62,
      "volume_acceleration": 1.85,
      "price_momentum": 0.1,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 4.61,
      "spread_liquidity": 4.78,
      "momentum_consistency": 3.17,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.86,
      "vwap": 14.9704,
      "vwap_slope": -0.0331,
      "rvol": 0.26,
      "volume_acceleration": 1.18,
      "premarket_volume": 130090.0,
      "momentum_pct": 0.07,
      "consolidation_tightness_pct": 0.17,
      "distance_from_pm_high_pct": 1.85,
      "extension_from_vwap_pct": -0.74,
      "spread_pct": 0.07
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 15.14,
    "pm_low": 14.824
  },
  {
    "symbol": "RZLT",
    "total_score": 38.59,
    "raw_score": 40.91,
    "breakdown": {
      "price_quality": 0.0,
      "volume_quality": 12.0,
      "rvol": 0.81,
      "volume_acceleration": 3.7,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.4,
      "spread_liquidity": 4.33,
      "momentum_consistency": 2.26,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 4.99,
      "vwap": 4.995,
      "vwap_slope": -0.001,
      "rvol": 0.34,
      "volume_acceleration": 1.37,
      "premarket_volume": 168841.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.3,
      "distance_from_pm_high_pct": 0.8,
      "extension_from_vwap_pct": -0.1,
      "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.03,
    "pm_low": 4.955
  },
  {
    "symbol": "REPL",
    "total_score": 38.51,
    "raw_score": 40.82,
    "breakdown": {
      "price_quality": 0.0,
      "volume_quality": 12.0,
      "rvol": 1.14,
      "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": 4.96,
      "spread_liquidity": 4.15,
      "momentum_consistency": 3.09,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 15.67,
      "vwap": 15.7661,
      "vwap_slope": -0.0241,
      "rvol": 0.47,
      "volume_acceleration": 1.31,
      "premarket_volume": 236883.0,
      "momentum_pct": -0.1,
      "consolidation_tightness_pct": 0.56,
      "distance_from_pm_high_pct": 1.38,
      "extension_from_vwap_pct": -0.61,
      "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": 15.89,
    "pm_low": 15.6401
  },
  {
    "symbol": "VOXR",
    "total_score": 38.49,
    "raw_score": 40.8,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 3.72,
      "rvol": 0.15,
      "volume_acceleration": 3.24,
      "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.43,
      "momentum_consistency": 2.4,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.87,
      "vwap": 5.872,
      "vwap_slope": 0.0036,
      "rvol": 0.06,
      "volume_acceleration": 0.93,
      "premarket_volume": 30959.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.32,
      "distance_from_pm_high_pct": 0.32,
      "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": true
    },
    "pm_high": 5.8888,
    "pm_low": 5.86
  },
  {
    "symbol": "CWH",
    "total_score": 38.32,
    "raw_score": 40.62,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 9.86,
      "rvol": 0.39,
      "volume_acceleration": 4.08,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.6,
      "spread_liquidity": 4.49,
      "momentum_consistency": 2.31,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.485,
      "vwap": 6.4975,
      "vwap_slope": -0.0027,
      "rvol": 0.16,
      "volume_acceleration": 1.41,
      "premarket_volume": 82197.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.08,
      "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": false
    },
    "pm_high": 6.52,
    "pm_low": 6.47
  },
  {
    "symbol": "IMRX",
    "total_score": 38.07,
    "raw_score": 40.36,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 2.82,
      "rvol": 0.11,
      "volume_acceleration": 10,
      "price_momentum": 0.43,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.79,
      "spread_liquidity": 4.37,
      "momentum_consistency": 2.95,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.255,
      "vwap": 5.2568,
      "vwap_slope": -0.0038,
      "rvol": 0.05,
      "volume_acceleration": 2.79,
      "premarket_volume": 23460.0,
      "momentum_pct": 0.29,
      "consolidation_tightness_pct": 0.67,
      "distance_from_pm_high_pct": 0.28,
      "extension_from_vwap_pct": -0.03,
      "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.27,
    "pm_low": 5.22
  },
  {
    "symbol": "PAYS",
    "total_score": 38.03,
    "raw_score": 40.32,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 10.62,
      "rvol": 0.42,
      "volume_acceleration": 2.75,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.21,
      "spread_liquidity": 4.53,
      "momentum_consistency": 2.88,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.13,
      "vwap": 14.1825,
      "vwap_slope": -0.003,
      "rvol": 0.18,
      "volume_acceleration": 0.79,
      "premarket_volume": 88507.0,
      "momentum_pct": -0.04,
      "consolidation_tightness_pct": 0.21,
      "distance_from_pm_high_pct": 1.05,
      "extension_from_vwap_pct": -0.37,
      "spread_pct": 0.14
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 14.28,
    "pm_low": 14.08
  },
  {
    "symbol": "ZURA",
    "total_score": 38.0,
    "raw_score": 40.28,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 0.96,
      "volume_acceleration": 1.84,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 4.84,
      "spread_liquidity": 4.47,
      "momentum_consistency": 2.26,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.35,
      "vwap": 6.4054,
      "vwap_slope": -0.0088,
      "rvol": 0.4,
      "volume_acceleration": 1.18,
      "premarket_volume": 199732.0,
      "momentum_pct": -0.63,
      "consolidation_tightness_pct": 0.86,
      "distance_from_pm_high_pct": 1.55,
      "extension_from_vwap_pct": -0.87,
      "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.45,
    "pm_low": 6.35
  },
  {
    "symbol": "REF",
    "total_score": 37.89,
    "raw_score": 40.16,
    "breakdown": {
      "price_quality": 1.74,
      "volume_quality": 6.92,
      "rvol": 0.28,
      "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.13,
      "spread_liquidity": 2.24,
      "momentum_consistency": 2.46,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.26,
      "vwap": 13.3772,
      "vwap_slope": -0.0879,
      "rvol": 0.12,
      "volume_acceleration": 2.53,
      "premarket_volume": 57628.0,
      "momentum_pct": -0.71,
      "consolidation_tightness_pct": 1.5,
      "distance_from_pm_high_pct": 2.5,
      "extension_from_vwap_pct": -0.88,
      "spread_pct": 0.83
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 13.6,
    "pm_low": 13.25
  },
  {
    "symbol": "RSKD",
    "total_score": 37.35,
    "raw_score": 39.6,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 10.84,
      "rvol": 0.43,
      "volume_acceleration": 2.57,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.68,
      "spread_liquidity": 4.44,
      "momentum_consistency": 1.73,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.905,
      "vwap": 5.913,
      "vwap_slope": -0.0003,
      "rvol": 0.18,
      "volume_acceleration": 0.74,
      "premarket_volume": 90369.0,
      "momentum_pct": -0.17,
      "consolidation_tightness_pct": 0.34,
      "distance_from_pm_high_pct": 0.42,
      "extension_from_vwap_pct": -0.14,
      "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": "CARS",
    "total_score": 37.32,
    "raw_score": 39.56,
    "breakdown": {
      "price_quality": 2.83,
      "volume_quality": 5.22,
      "rvol": 0.21,
      "volume_acceleration": 6.3,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.09,
      "spread_liquidity": 4.73,
      "momentum_consistency": 2.79,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.17,
      "vwap": 12.2657,
      "vwap_slope": -0.0172,
      "rvol": 0.09,
      "volume_acceleration": 1.63,
      "premarket_volume": 43522.0,
      "momentum_pct": -0.69,
      "consolidation_tightness_pct": 0.7,
      "distance_from_pm_high_pct": 1.22,
      "extension_from_vwap_pct": -0.78,
      "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.32,
    "pm_low": 12.17
  },
  {
    "symbol": "TROX",
    "total_score": 37.06,
    "raw_score": 39.28,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 1.06,
      "volume_acceleration": 2.03,
      "price_momentum": 0.28,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 4.65,
      "spread_liquidity": 4.39,
      "momentum_consistency": 0.98,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.455,
      "vwap": 5.5081,
      "vwap_slope": -0.0152,
      "rvol": 0.44,
      "volume_acceleration": 1.2,
      "premarket_volume": 221289.0,
      "momentum_pct": 0.18,
      "consolidation_tightness_pct": 0.28,
      "distance_from_pm_high_pct": 1.8,
      "extension_from_vwap_pct": -0.96,
      "spread_pct": 0.18
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 5.555,
    "pm_low": 5.44
  },
  {
    "symbol": "HLMN",
    "total_score": 37.01,
    "raw_score": 39.23,
    "breakdown": {
      "price_quality": 3.1,
      "volume_quality": 8.3,
      "rvol": 0.33,
      "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.68,
      "spread_liquidity": 4.59,
      "momentum_consistency": 1.75,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.095,
      "vwap": 8.1041,
      "vwap_slope": -0.0039,
      "rvol": 0.14,
      "volume_acceleration": 1.31,
      "premarket_volume": 69192.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.06,
      "distance_from_pm_high_pct": 0.43,
      "extension_from_vwap_pct": -0.11,
      "spread_pct": 0.12
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 8.13,
    "pm_low": 8.075
  },
  {
    "symbol": "LTRX",
    "total_score": 37.0,
    "raw_score": 39.22,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 6.29,
      "rvol": 0.25,
      "volume_acceleration": 6.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.55,
      "spread_liquidity": 4.42,
      "momentum_consistency": 2.08,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.795,
      "vwap": 5.8042,
      "vwap_slope": -0.0061,
      "rvol": 0.1,
      "volume_acceleration": 1.67,
      "premarket_volume": 52449.0,
      "momentum_pct": -0.09,
      "consolidation_tightness_pct": 0.43,
      "distance_from_pm_high_pct": 0.6,
      "extension_from_vwap_pct": -0.16,
      "spread_pct": 0.17
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 5.83,
    "pm_low": 5.78
  },
  {
    "symbol": "MH",
    "total_score": 36.98,
    "raw_score": 39.2,
    "breakdown": {
      "price_quality": 1.85,
      "volume_quality": 5.58,
      "rvol": 0.22,
      "volume_acceleration": 7.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.1,
      "spread_liquidity": 3.73,
      "momentum_consistency": 2.51,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.15,
      "vwap": 13.2673,
      "vwap_slope": -0.0221,
      "rvol": 0.09,
      "volume_acceleration": 1.78,
      "premarket_volume": 46487.0,
      "momentum_pct": -1.05,
      "consolidation_tightness_pct": 1.06,
      "distance_from_pm_high_pct": 1.2,
      "extension_from_vwap_pct": -0.88,
      "spread_pct": 0.38
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 13.31,
    "pm_low": 13.15
  },
  {
    "symbol": "ASPN",
    "total_score": 36.97,
    "raw_score": 39.19,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 0.63,
      "volume_acceleration": 2.52,
      "price_momentum": 0.3,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 4.05,
      "spread_liquidity": 4.36,
      "momentum_consistency": 1.42,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.2353,
      "vwap": 5.3141,
      "vwap_slope": -0.0178,
      "rvol": 0.26,
      "volume_acceleration": 0.73,
      "premarket_volume": 131982.0,
      "momentum_pct": 0.2,
      "consolidation_tightness_pct": 0.38,
      "distance_from_pm_high_pct": 2.6,
      "extension_from_vwap_pct": -1.48,
      "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.375,
    "pm_low": 5.225
  },
  {
    "symbol": "NAVI",
    "total_score": 36.82,
    "raw_score": 39.03,
    "breakdown": {
      "price_quality": 4.46,
      "volume_quality": 7.65,
      "rvol": 0.31,
      "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.68,
      "spread_liquidity": 4.65,
      "momentum_consistency": 1.9,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.465,
      "vwap": 9.4746,
      "vwap_slope": -0.0,
      "rvol": 0.13,
      "volume_acceleration": 0.56,
      "premarket_volume": 63774.0,
      "momentum_pct": -0.05,
      "consolidation_tightness_pct": 0.11,
      "distance_from_pm_high_pct": 0.42,
      "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": 9.505,
    "pm_low": 9.455
  },
  {
    "symbol": "VSTM",
    "total_score": 36.59,
    "raw_score": 38.79,
    "breakdown": {
      "price_quality": 2.05,
      "volume_quality": 8.04,
      "rvol": 0.32,
      "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.42,
      "spread_liquidity": 4.53,
      "momentum_consistency": 2.31,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.05,
      "vwap": 7.0885,
      "vwap_slope": -0.0055,
      "rvol": 0.13,
      "volume_acceleration": 1.07,
      "premarket_volume": 66963.0,
      "momentum_pct": -0.42,
      "consolidation_tightness_pct": 0.51,
      "distance_from_pm_high_pct": 0.77,
      "extension_from_vwap_pct": -0.54,
      "spread_pct": 0.14
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 7.105,
    "pm_low": 7.05
  },
  {
    "symbol": "FWRG",
    "total_score": 36.51,
    "raw_score": 38.7,
    "breakdown": {
      "price_quality": 2.0,
      "volume_quality": 7.6,
      "rvol": 0.3,
      "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.6,
      "spread_liquidity": 4.49,
      "momentum_consistency": 2.74,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.0,
      "vwap": 13.0246,
      "vwap_slope": -0.0027,
      "rvol": 0.13,
      "volume_acceleration": 1.03,
      "premarket_volume": 63309.0,
      "momentum_pct": -0.15,
      "consolidation_tightness_pct": 0.27,
      "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": false
    },
    "pm_high": 13.07,
    "pm_low": 12.99
  },
  {
    "symbol": "CRNC",
    "total_score": 36.28,
    "raw_score": 38.45,
    "breakdown": {
      "price_quality": 2.96,
      "volume_quality": 4.71,
      "rvol": 0.19,
      "volume_acceleration": 6.54,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.44,
      "spread_liquidity": 4.16,
      "momentum_consistency": 2.05,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.96,
      "vwap": 7.9718,
      "vwap_slope": -0.0055,
      "rvol": 0.08,
      "volume_acceleration": 1.65,
      "premarket_volume": 39280.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.12,
      "distance_from_pm_high_pct": 0.75,
      "extension_from_vwap_pct": -0.15,
      "spread_pct": 0.25
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 8.02,
    "pm_low": 7.94
  },
  {
    "symbol": "HTLD",
    "total_score": 36.06,
    "raw_score": 38.23,
    "breakdown": {
      "price_quality": 2.68,
      "volume_quality": 6.14,
      "rvol": 0.25,
      "volume_acceleration": 4.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.67,
      "spread_liquidity": 4.46,
      "momentum_consistency": 2.15,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.325,
      "vwap": 12.3265,
      "vwap_slope": -0.002,
      "rvol": 0.1,
      "volume_acceleration": 1.45,
      "premarket_volume": 51185.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.16,
      "distance_from_pm_high_pct": 0.44,
      "extension_from_vwap_pct": -0.01,
      "spread_pct": 0.16
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 12.38,
    "pm_low": 12.29
  },
  {
    "symbol": "OPFI",
    "total_score": 35.75,
    "raw_score": 37.9,
    "breakdown": {
      "price_quality": 2.29,
      "volume_quality": 7.69,
      "rvol": 0.31,
      "volume_acceleration": 2.76,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.69,
      "spread_liquidity": 4.09,
      "momentum_consistency": 2.67,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.29,
      "vwap": 7.3035,
      "vwap_slope": -0.0026,
      "rvol": 0.13,
      "volume_acceleration": 0.79,
      "premarket_volume": 64120.0,
      "momentum_pct": -0.14,
      "consolidation_tightness_pct": 0.14,
      "distance_from_pm_high_pct": 0.41,
      "extension_from_vwap_pct": -0.19,
      "spread_pct": 0.27
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 7.32,
    "pm_low": 7.285
  },
  {
    "symbol": "SSTK",
    "total_score": 35.32,
    "raw_score": 37.44,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 7.13,
      "rvol": 0.29,
      "volume_acceleration": 3.84,
      "price_momentum": 0.14,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.52,
      "spread_liquidity": 4.39,
      "momentum_consistency": 2.23,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.425,
      "vwap": 5.4385,
      "vwap_slope": -0.0029,
      "rvol": 0.12,
      "volume_acceleration": 1.1,
      "premarket_volume": 59442.0,
      "momentum_pct": 0.09,
      "consolidation_tightness_pct": 0.18,
      "distance_from_pm_high_pct": 0.64,
      "extension_from_vwap_pct": -0.25,
      "spread_pct": 0.18
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 5.46,
    "pm_low": 5.42
  },
  {
    "symbol": "LTBR",
    "total_score": 35.32,
    "raw_score": 37.44,
    "breakdown": {
      "price_quality": 3.23,
      "volume_quality": 6.41,
      "rvol": 0.26,
      "volume_acceleration": 2.81,
      "price_momentum": 0.18,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.01,
      "spread_liquidity": 4.6,
      "momentum_consistency": 2.55,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.23,
      "vwap": 8.2566,
      "vwap_slope": -0.0158,
      "rvol": 0.11,
      "volume_acceleration": 0.81,
      "premarket_volume": 53426.0,
      "momentum_pct": 0.12,
      "consolidation_tightness_pct": 0.24,
      "distance_from_pm_high_pct": 1.32,
      "extension_from_vwap_pct": -0.32,
      "spread_pct": 0.12
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 8.34,
    "pm_low": 8.1634
  },
  {
    "symbol": "WNC",
    "total_score": 35.28,
    "raw_score": 37.39,
    "breakdown": {
      "price_quality": 2.69,
      "volume_quality": 6.91,
      "rvol": 0.28,
      "volume_acceleration": 1.86,
      "price_momentum": 0.24,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.67,
      "spread_liquidity": 4.19,
      "momentum_consistency": 3.16,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.31,
      "vwap": 12.3116,
      "vwap_slope": -0.009,
      "rvol": 0.12,
      "volume_acceleration": 1.19,
      "premarket_volume": 57622.0,
      "momentum_pct": 0.16,
      "consolidation_tightness_pct": 0.16,
      "distance_from_pm_high_pct": 0.44,
      "extension_from_vwap_pct": -0.01,
      "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.365,
    "pm_low": 12.259
  },
  {
    "symbol": "EVCM",
    "total_score": 35.27,
    "raw_score": 37.38,
    "breakdown": {
      "price_quality": 3.98,
      "volume_quality": 8.61,
      "rvol": 0.34,
      "volume_acceleration": 2.49,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 4.65,
      "spread_liquidity": 2.41,
      "momentum_consistency": 2.5,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.98,
      "vwap": 9.058,
      "vwap_slope": -0.0391,
      "rvol": 0.14,
      "volume_acceleration": 0.72,
      "premarket_volume": 71724.0,
      "momentum_pct": -0.22,
      "consolidation_tightness_pct": 1.56,
      "distance_from_pm_high_pct": 1.8,
      "extension_from_vwap_pct": -0.86,
      "spread_pct": 0.78
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 9.145,
    "pm_low": 8.86
  },
  {
    "symbol": "LXU",
    "total_score": 35.09,
    "raw_score": 37.2,
    "breakdown": {
      "price_quality": 4.61,
      "volume_quality": 6.69,
      "rvol": 0.27,
      "volume_acceleration": 2.39,
      "price_momentum": 0.14,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.11,
      "spread_liquidity": 4.36,
      "momentum_consistency": 1.23,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.39,
      "vwap": 10.4416,
      "vwap_slope": -0.0208,
      "rvol": 0.11,
      "volume_acceleration": 0.69,
      "premarket_volume": 55731.0,
      "momentum_pct": 0.1,
      "consolidation_tightness_pct": 0.19,
      "distance_from_pm_high_pct": 1.19,
      "extension_from_vwap_pct": -0.49,
      "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.515,
    "pm_low": 10.37
  },
  {
    "symbol": "XPER",
    "total_score": 34.85,
    "raw_score": 36.94,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 6.84,
      "rvol": 0.27,
      "volume_acceleration": 3.06,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.58,
      "spread_liquidity": 4.47,
      "momentum_consistency": 2.82,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.265,
      "vwap": 6.278,
      "vwap_slope": -0.006,
      "rvol": 0.11,
      "volume_acceleration": 0.88,
      "premarket_volume": 56965.0,
      "momentum_pct": -0.16,
      "consolidation_tightness_pct": 0.32,
      "distance_from_pm_high_pct": 0.56,
      "extension_from_vwap_pct": -0.21,
      "spread_pct": 0.16
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 6.3,
    "pm_low": 6.26
  },
  {
    "symbol": "SPIR",
    "total_score": 34.72,
    "raw_score": 36.81,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 6.09,
      "rvol": 0.24,
      "volume_acceleration": 4.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.41,
      "spread_liquidity": 3.31,
      "momentum_consistency": 3.29,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.8,
      "vwap": 13.8352,
      "vwap_slope": -0.0222,
      "rvol": 0.1,
      "volume_acceleration": 1.46,
      "premarket_volume": 50777.0,
      "momentum_pct": -0.04,
      "consolidation_tightness_pct": 0.39,
      "distance_from_pm_high_pct": 0.79,
      "extension_from_vwap_pct": -0.25,
      "spread_pct": 0.51
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 13.91,
    "pm_low": 13.745
  },
  {
    "symbol": "PRTA",
    "total_score": 34.71,
    "raw_score": 36.79,
    "breakdown": {
      "price_quality": 4.51,
      "volume_quality": 3.31,
      "rvol": 0.13,
      "volume_acceleration": 3.48,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.76,
      "spread_liquidity": 4.65,
      "momentum_consistency": 2.55,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.514,
      "vwap": 9.5167,
      "vwap_slope": -0.0004,
      "rvol": 0.06,
      "volume_acceleration": 1.0,
      "premarket_volume": 27586.0,
      "momentum_pct": -0.17,
      "consolidation_tightness_pct": 0.21,
      "distance_from_pm_high_pct": 0.32,
      "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": false
    },
    "pm_high": 9.545,
    "pm_low": 9.48
  },
  {
    "symbol": "MAGN",
    "total_score": 34.43,
    "raw_score": 36.5,
    "breakdown": {
      "price_quality": 2.33,
      "volume_quality": 7.23,
      "rvol": 0.29,
      "volume_acceleration": 1.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.53,
      "spread_liquidity": 4.47,
      "momentum_consistency": 2.84,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.67,
      "vwap": 12.6867,
      "vwap_slope": -0.0044,
      "rvol": 0.12,
      "volume_acceleration": 0.4,
      "premarket_volume": 60223.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.36,
      "distance_from_pm_high_pct": 0.63,
      "extension_from_vwap_pct": -0.13,
      "spread_pct": 0.16
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 12.75,
    "pm_low": 12.63
  },
  {
    "symbol": "CGNT",
    "total_score": 33.79,
    "raw_score": 35.81,
    "breakdown": {
      "price_quality": 3.39,
      "volume_quality": 5.01,
      "rvol": 0.2,
      "volume_acceleration": 1.72,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.69,
      "spread_liquidity": 4.6,
      "momentum_consistency": 2.8,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.395,
      "vwap": 8.41,
      "vwap_slope": -0.0021,
      "rvol": 0.08,
      "volume_acceleration": 0.49,
      "premarket_volume": 41717.0,
      "momentum_pct": -0.06,
      "consolidation_tightness_pct": 0.06,
      "distance_from_pm_high_pct": 0.42,
      "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.43,
    "pm_low": 8.39
  },
  {
    "symbol": "PERI",
    "total_score": 33.52,
    "raw_score": 35.53,
    "breakdown": {
      "price_quality": 4.81,
      "volume_quality": 3.36,
      "rvol": 0.13,
      "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.58,
      "spread_liquidity": 4.66,
      "momentum_consistency": 2.48,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.81,
      "vwap": 9.8235,
      "vwap_slope": -0.0049,
      "rvol": 0.06,
      "volume_acceleration": 0.6,
      "premarket_volume": 28023.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.15,
      "distance_from_pm_high_pct": 0.56,
      "extension_from_vwap_pct": -0.14,
      "spread_pct": 0.1
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 9.865,
    "pm_low": 9.79
  },
  {
    "symbol": "UPB",
    "total_score": 32.65,
    "raw_score": 34.61,
    "breakdown": {
      "price_quality": 1.91,
      "volume_quality": 4.73,
      "rvol": 0.19,
      "volume_acceleration": 3.6,
      "price_momentum": 0.76,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.57,
      "spread_liquidity": 4.04,
      "momentum_consistency": 1.41,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.91,
      "vwap": 6.9146,
      "vwap_slope": -0.0088,
      "rvol": 0.08,
      "volume_acceleration": 1.03,
      "premarket_volume": 39445.0,
      "momentum_pct": 0.51,
      "consolidation_tightness_pct": 0.65,
      "distance_from_pm_high_pct": 0.58,
      "extension_from_vwap_pct": -0.07,
      "spread_pct": 0.29
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 6.95,
    "pm_low": 6.87
  },
  {
    "symbol": "AURA",
    "total_score": 32.31,
    "raw_score": 34.25,
    "breakdown": {
      "price_quality": 2.79,
      "volume_quality": 4.92,
      "rvol": 0.2,
      "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.1,
      "spread_liquidity": 4.15,
      "momentum_consistency": 2.2,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.79,
      "vwap": 7.8361,
      "vwap_slope": -0.01,
      "rvol": 0.08,
      "volume_acceleration": 0.72,
      "premarket_volume": 40984.0,
      "momentum_pct": -0.19,
      "consolidation_tightness_pct": 0.26,
      "distance_from_pm_high_pct": 1.2,
      "extension_from_vwap_pct": -0.59,
      "spread_pct": 0.26
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 7.885,
    "pm_low": 7.79
  },
  {
    "symbol": "ARDT",
    "total_score": 32.1,
    "raw_score": 34.03,
    "breakdown": {
      "price_quality": 3.83,
      "volume_quality": 4.32,
      "rvol": 0.17,
      "volume_acceleration": 1.64,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.83,
      "spread_liquidity": 4.4,
      "momentum_consistency": 1.43,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.17,
      "vwap": 11.177,
      "vwap_slope": -0.0032,
      "rvol": 0.07,
      "volume_acceleration": 0.47,
      "premarket_volume": 36040.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.13,
      "distance_from_pm_high_pct": 0.22,
      "extension_from_vwap_pct": -0.06,
      "spread_pct": 0.18
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 11.195,
    "pm_low": 11.14
  },
  {
    "symbol": "ASLE",
    "total_score": 31.95,
    "raw_score": 33.87,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 6.38,
      "rvol": 0.26,
      "volume_acceleration": 1.57,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.6,
      "spread_liquidity": 4.41,
      "momentum_consistency": 1.76,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.6,
      "vwap": 5.6152,
      "vwap_slope": -0.0017,
      "rvol": 0.11,
      "volume_acceleration": 0.45,
      "premarket_volume": 53138.0,
      "momentum_pct": -0.09,
      "consolidation_tightness_pct": 0.09,
      "distance_from_pm_high_pct": 0.53,
      "extension_from_vwap_pct": -0.27,
      "spread_pct": 0.18
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 5.63,
    "pm_low": 5.6
  },
  {
    "symbol": "GMRS",
    "total_score": 31.7,
    "raw_score": 33.6,
    "breakdown": {
      "price_quality": 2.28,
      "volume_quality": 2.45,
      "rvol": 0.1,
      "volume_acceleration": 4.57,
      "price_momentum": 0.41,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.56,
      "spread_liquidity": 3.69,
      "momentum_consistency": 2.13,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.725,
      "vwap": 12.7348,
      "vwap_slope": -0.0204,
      "rvol": 0.04,
      "volume_acceleration": 1.46,
      "premarket_volume": 20458.0,
      "momentum_pct": 0.28,
      "consolidation_tightness_pct": 0.31,
      "distance_from_pm_high_pct": 0.59,
      "extension_from_vwap_pct": -0.08,
      "spread_pct": 0.39
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 12.8,
    "pm_low": 12.682
  },
  {
    "symbol": "AIRO",
    "total_score": 31.69,
    "raw_score": 33.59,
    "breakdown": {
      "price_quality": 3.14,
      "volume_quality": 2.95,
      "rvol": 0.12,
      "volume_acceleration": 3.23,
      "price_momentum": 0.09,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.54,
      "spread_liquidity": 4.18,
      "momentum_consistency": 1.93,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.14,
      "vwap": 8.1529,
      "vwap_slope": -0.0155,
      "rvol": 0.05,
      "volume_acceleration": 0.93,
      "premarket_volume": 24604.0,
      "momentum_pct": 0.06,
      "consolidation_tightness_pct": 0.3,
      "distance_from_pm_high_pct": 0.61,
      "extension_from_vwap_pct": -0.16,
      "spread_pct": 0.25
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 8.19,
    "pm_low": 8.12
  },
  {
    "symbol": "SWBI",
    "total_score": 31.67,
    "raw_score": 33.57,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 3.69,
      "rvol": 0.15,
      "volume_acceleration": 3.35,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.64,
      "spread_liquidity": 4.26,
      "momentum_consistency": 2.59,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.525,
      "vwap": 13.5623,
      "vwap_slope": -0.008,
      "rvol": 0.06,
      "volume_acceleration": 0.96,
      "premarket_volume": 30722.0,
      "momentum_pct": -0.07,
      "consolidation_tightness_pct": 0.15,
      "distance_from_pm_high_pct": 0.48,
      "extension_from_vwap_pct": -0.27,
      "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.59,
    "pm_low": 13.52
  },
  {
    "symbol": "PSFE",
    "total_score": 31.25,
    "raw_score": 33.12,
    "breakdown": {
      "price_quality": 1.76,
      "volume_quality": 4.13,
      "rvol": 0.17,
      "volume_acceleration": 2.81,
      "price_momentum": 0.29,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.4,
      "spread_liquidity": 4.02,
      "momentum_consistency": 2.15,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.765,
      "vwap": 6.7842,
      "vwap_slope": -0.0057,
      "rvol": 0.07,
      "volume_acceleration": 0.81,
      "premarket_volume": 34421.0,
      "momentum_pct": 0.19,
      "consolidation_tightness_pct": 0.44,
      "distance_from_pm_high_pct": 0.81,
      "extension_from_vwap_pct": -0.28,
      "spread_pct": 0.3
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 6.82,
    "pm_low": 6.7501
  },
  {
    "symbol": "ISOU",
    "total_score": 30.95,
    "raw_score": 32.81,
    "breakdown": {
      "price_quality": 2.88,
      "volume_quality": 2.98,
      "rvol": 0.12,
      "volume_acceleration": 2.46,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.36,
      "spread_liquidity": 3.35,
      "momentum_consistency": 3.26,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.125,
      "vwap": 12.1729,
      "vwap_slope": -0.0137,
      "rvol": 0.05,
      "volume_acceleration": 0.71,
      "premarket_volume": 24853.0,
      "momentum_pct": -0.25,
      "consolidation_tightness_pct": 0.49,
      "distance_from_pm_high_pct": 0.86,
      "extension_from_vwap_pct": -0.39,
      "spread_pct": 0.49
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 12.23,
    "pm_low": 12.125
  },
  {
    "symbol": "GSIT",
    "total_score": 30.72,
    "raw_score": 32.56,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 2.73,
      "rvol": 0.11,
      "volume_acceleration": 3.78,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.37,
      "spread_liquidity": 3.87,
      "momentum_consistency": 2.8,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.9,
      "vwap": 5.9135,
      "vwap_slope": -0.0186,
      "rvol": 0.05,
      "volume_acceleration": 1.09,
      "premarket_volume": 22720.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.17,
      "distance_from_pm_high_pct": 0.84,
      "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": false,
      "vwap_rising": false
    },
    "pm_high": 5.95,
    "pm_low": 5.89
  },
  {
    "symbol": "CAL",
    "total_score": 30.56,
    "raw_score": 32.39,
    "breakdown": {
      "price_quality": 1.99,
      "volume_quality": 3.38,
      "rvol": 0.14,
      "volume_acceleration": 1.75,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.2,
      "spread_liquidity": 4.49,
      "momentum_consistency": 3.05,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.01,
      "vwap": 13.075,
      "vwap_slope": -0.0424,
      "rvol": 0.06,
      "volume_acceleration": 1.18,
      "premarket_volume": 28161.0,
      "momentum_pct": -0.04,
      "consolidation_tightness_pct": 0.31,
      "distance_from_pm_high_pct": 1.06,
      "extension_from_vwap_pct": -0.5,
      "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.15,
    "pm_low": 13.0
  },
  {
    "symbol": "LE",
    "total_score": 30.3,
    "raw_score": 32.12,
    "breakdown": {
      "price_quality": 3.09,
      "volume_quality": 2.5,
      "rvol": 0.1,
      "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": 4.46,
      "spread_liquidity": 4.16,
      "momentum_consistency": 1.68,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.91,
      "vwap": 12.0679,
      "vwap_slope": -0.0709,
      "rvol": 0.04,
      "volume_acceleration": 1.07,
      "premarket_volume": 20835.0,
      "momentum_pct": -1.16,
      "consolidation_tightness_pct": 1.63,
      "distance_from_pm_high_pct": 2.06,
      "extension_from_vwap_pct": -1.31,
      "spread_pct": 0.25
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 12.16,
    "pm_low": 11.91
  },
  {
    "symbol": "SBGI",
    "total_score": 30.1,
    "raw_score": 31.91,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 3.4,
      "rvol": 0.14,
      "volume_acceleration": 1.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.67,
      "spread_liquidity": 4.32,
      "momentum_consistency": 2.91,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.635,
      "vwap": 14.6518,
      "vwap_slope": -0.0019,
      "rvol": 0.06,
      "volume_acceleration": 1.16,
      "premarket_volume": 28328.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.1,
      "distance_from_pm_high_pct": 0.44,
      "extension_from_vwap_pct": -0.11,
      "spread_pct": 0.2
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 14.7,
    "pm_low": 14.58
  },
  {
    "symbol": "OPTX",
    "total_score": 29.66,
    "raw_score": 31.44,
    "breakdown": {
      "price_quality": 2.92,
      "volume_quality": 3.78,
      "rvol": 0.15,
      "volume_acceleration": 3.3,
      "price_momentum": 0.76,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 4.15,
      "spread_liquidity": 1.16,
      "momentum_consistency": 2.82,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.92,
      "vwap": 7.9549,
      "vwap_slope": -0.0446,
      "rvol": 0.06,
      "volume_acceleration": 0.95,
      "premarket_volume": 31488.0,
      "momentum_pct": 0.51,
      "consolidation_tightness_pct": 0.76,
      "distance_from_pm_high_pct": 2.46,
      "extension_from_vwap_pct": -0.44,
      "spread_pct": 1.15
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 8.12,
    "pm_low": 7.8576
  }
]