[
  {
    "symbol": "AVTR",
    "total_score": 72.94,
    "raw_score": 77.32,
    "breakdown": {
      "price_quality": 0.0,
      "volume_quality": 12.0,
      "rvol": 7.32,
      "volume_acceleration": 6.54,
      "price_momentum": 0.59,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.95,
      "spread_liquidity": 4.78,
      "momentum_consistency": 4.14,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 15.29,
      "vwap": 15.1999,
      "vwap_slope": 0.0112,
      "rvol": 2.74,
      "volume_acceleration": 1.65,
      "premarket_volume": 1371821.0,
      "momentum_pct": 0.39,
      "consolidation_tightness_pct": 0.52,
      "distance_from_pm_high_pct": 0.07,
      "extension_from_vwap_pct": 0.59,
      "spread_pct": 0.07
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 15.3,
    "pm_low": 15.14
  },
  {
    "symbol": "BNC",
    "total_score": 72.83,
    "raw_score": 77.2,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 7.51,
      "volume_acceleration": 6.14,
      "price_momentum": 1.44,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.86,
      "spread_liquidity": 3.73,
      "momentum_consistency": 3.03,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.2599,
      "vwap": 5.1636,
      "vwap_slope": 0.0082,
      "rvol": 2.82,
      "volume_acceleration": 1.61,
      "premarket_volume": 1407877.0,
      "momentum_pct": 0.96,
      "consolidation_tightness_pct": 1.72,
      "distance_from_pm_high_pct": 0.19,
      "extension_from_vwap_pct": 1.86,
      "spread_pct": 0.38
    },
    "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": 5.27,
    "pm_low": 5.075
  },
  {
    "symbol": "BRSL",
    "total_score": 72.35,
    "raw_score": 76.69,
    "breakdown": {
      "price_quality": 3.9,
      "volume_quality": 12.0,
      "rvol": 1.04,
      "volume_acceleration": 10,
      "price_momentum": 0.34,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.9,
      "spread_liquidity": 4.7,
      "momentum_consistency": 2.81,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.1,
      "vwap": 11.0767,
      "vwap_slope": 0.0038,
      "rvol": 0.43,
      "volume_acceleration": 2.29,
      "premarket_volume": 217140.0,
      "momentum_pct": 0.23,
      "consolidation_tightness_pct": 0.23,
      "distance_from_pm_high_pct": 0.13,
      "extension_from_vwap_pct": 0.21,
      "spread_pct": 0.09
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 11.115,
    "pm_low": 11.035
  },
  {
    "symbol": "PSQL",
    "total_score": 71.82,
    "raw_score": 76.13,
    "breakdown": {
      "price_quality": 3.29,
      "volume_quality": 12.0,
      "rvol": 0.91,
      "volume_acceleration": 6.26,
      "price_momentum": 4.18,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 7.79,
      "distance_from_pm_high": 5.91,
      "spread_liquidity": 3.79,
      "momentum_consistency": 4.0,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.29,
      "vwap": 8.0493,
      "vwap_slope": 0.0433,
      "rvol": 0.38,
      "volume_acceleration": 1.63,
      "premarket_volume": 188764.0,
      "momentum_pct": 2.79,
      "consolidation_tightness_pct": 3.31,
      "distance_from_pm_high_pct": 0.12,
      "extension_from_vwap_pct": 2.99,
      "spread_pct": 0.36
    },
    "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.3,
    "pm_low": 7.785
  },
  {
    "symbol": "PCG",
    "total_score": 70.52,
    "raw_score": 74.76,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 12.0,
      "volume_acceleration": 10,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.6,
      "spread_liquidity": 4.78,
      "momentum_consistency": 2.48,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.835,
      "vwap": 14.8294,
      "vwap_slope": 0.0026,
      "rvol": 19.04,
      "volume_acceleration": 2.54,
      "premarket_volume": 9520431.0,
      "momentum_pct": -0.07,
      "consolidation_tightness_pct": 0.54,
      "distance_from_pm_high_pct": 0.54,
      "extension_from_vwap_pct": 0.04,
      "spread_pct": 0.07
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 14.915,
    "pm_low": 14.78
  },
  {
    "symbol": "FMC",
    "total_score": 70.42,
    "raw_score": 74.65,
    "breakdown": {
      "price_quality": 2.1,
      "volume_quality": 12.0,
      "rvol": 0.92,
      "volume_acceleration": 10,
      "price_momentum": 0.12,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.94,
      "spread_liquidity": 4.48,
      "momentum_consistency": 3.09,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.9,
      "vwap": 12.8373,
      "vwap_slope": 0.0123,
      "rvol": 0.38,
      "volume_acceleration": 2.03,
      "premarket_volume": 191805.0,
      "momentum_pct": 0.08,
      "consolidation_tightness_pct": 0.47,
      "distance_from_pm_high_pct": 0.08,
      "extension_from_vwap_pct": 0.49,
      "spread_pct": 0.16
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 12.91,
    "pm_low": 12.785
  },
  {
    "symbol": "GMRS",
    "total_score": 68.37,
    "raw_score": 72.47,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 0.5,
      "volume_acceleration": 8.74,
      "price_momentum": 0.7,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.84,
      "spread_liquidity": 4.05,
      "momentum_consistency": 3.14,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.07,
      "vwap": 13.9616,
      "vwap_slope": 0.0408,
      "rvol": 0.21,
      "volume_acceleration": 1.87,
      "premarket_volume": 104332.0,
      "momentum_pct": 0.46,
      "consolidation_tightness_pct": 0.85,
      "distance_from_pm_high_pct": 0.21,
      "extension_from_vwap_pct": 0.78,
      "spread_pct": 0.28
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 14.1,
    "pm_low": 13.84
  },
  {
    "symbol": "OSS",
    "total_score": 67.66,
    "raw_score": 71.72,
    "breakdown": {
      "price_quality": 4.91,
      "volume_quality": 8.3,
      "rvol": 0.33,
      "volume_acceleration": 7.63,
      "price_momentum": 0.46,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.92,
      "spread_liquidity": 3.99,
      "momentum_consistency": 4.18,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.91,
      "vwap": 9.8825,
      "vwap_slope": 0.0053,
      "rvol": 0.14,
      "volume_acceleration": 1.76,
      "premarket_volume": 69136.0,
      "momentum_pct": 0.3,
      "consolidation_tightness_pct": 0.3,
      "distance_from_pm_high_pct": 0.1,
      "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": true,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 9.92,
    "pm_low": 9.85
  },
  {
    "symbol": "MARA",
    "total_score": 67.46,
    "raw_score": 71.51,
    "breakdown": {
      "price_quality": 3.03,
      "volume_quality": 12.0,
      "rvol": 12.0,
      "volume_acceleration": 3.72,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.64,
      "spread_liquidity": 4.72,
      "momentum_consistency": 4.0,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.9722,
      "vwap": 11.9369,
      "vwap_slope": 0.0054,
      "rvol": 16.68,
      "volume_acceleration": 1.07,
      "premarket_volume": 8339320.0,
      "momentum_pct": -0.02,
      "consolidation_tightness_pct": 0.46,
      "distance_from_pm_high_pct": 0.48,
      "extension_from_vwap_pct": 0.3,
      "spread_pct": 0.08
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 12.03,
    "pm_low": 11.74
  },
  {
    "symbol": "LXU",
    "total_score": 66.45,
    "raw_score": 70.44,
    "breakdown": {
      "price_quality": 3.45,
      "volume_quality": 5.51,
      "rvol": 0.22,
      "volume_acceleration": 9.89,
      "price_momentum": 1.11,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 6,
      "spread_liquidity": 4.13,
      "momentum_consistency": 4.13,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.555,
      "vwap": 11.4282,
      "vwap_slope": 0.0248,
      "rvol": 0.09,
      "volume_acceleration": 1.99,
      "premarket_volume": 45921.0,
      "momentum_pct": 0.74,
      "consolidation_tightness_pct": 0.96,
      "distance_from_pm_high_pct": 0.0,
      "extension_from_vwap_pct": 1.11,
      "spread_pct": 0.26
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 11.555,
    "pm_low": 11.38
  },
  {
    "symbol": "TRLV",
    "total_score": 65.37,
    "raw_score": 69.29,
    "breakdown": {
      "price_quality": 2.38,
      "volume_quality": 12.0,
      "rvol": 0.93,
      "volume_acceleration": 3.96,
      "price_momentum": 0.48,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.76,
      "spread_liquidity": 4.47,
      "momentum_consistency": 3.31,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.62,
      "vwap": 12.5486,
      "vwap_slope": 0.0122,
      "rvol": 0.39,
      "volume_acceleration": 1.4,
      "premarket_volume": 193273.0,
      "momentum_pct": 0.32,
      "consolidation_tightness_pct": 0.4,
      "distance_from_pm_high_pct": 0.32,
      "extension_from_vwap_pct": 0.57,
      "spread_pct": 0.16
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 12.66,
    "pm_low": 12.48
  },
  {
    "symbol": "DXC",
    "total_score": 65.28,
    "raw_score": 69.2,
    "breakdown": {
      "price_quality": 3.88,
      "volume_quality": 12.0,
      "rvol": 0.54,
      "volume_acceleration": 3.05,
      "price_momentum": 0.0,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.87,
      "spread_liquidity": 4.7,
      "momentum_consistency": 3.17,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.125,
      "vwap": 11.1018,
      "vwap_slope": 0.008,
      "rvol": 0.22,
      "volume_acceleration": 0.88,
      "premarket_volume": 112321.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.22,
      "distance_from_pm_high_pct": 0.18,
      "extension_from_vwap_pct": 0.21,
      "spread_pct": 0.09
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 11.145,
    "pm_low": 11.0609
  },
  {
    "symbol": "EVMN",
    "total_score": 65.24,
    "raw_score": 69.15,
    "breakdown": {
      "price_quality": 1.81,
      "volume_quality": 7.31,
      "rvol": 0.29,
      "volume_acceleration": 9.92,
      "price_momentum": 1.03,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.44,
      "spread_liquidity": 3.23,
      "momentum_consistency": 4.12,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.19,
      "vwap": 13.1155,
      "vwap_slope": 0.0855,
      "rvol": 0.12,
      "volume_acceleration": 1.99,
      "premarket_volume": 60949.0,
      "momentum_pct": 0.69,
      "consolidation_tightness_pct": 1.07,
      "distance_from_pm_high_pct": 0.75,
      "extension_from_vwap_pct": 0.57,
      "spread_pct": 0.53
    },
    "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.29,
    "pm_low": 12.935
  },
  {
    "symbol": "CLSK",
    "total_score": 64.68,
    "raw_score": 68.56,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 12.0,
      "volume_acceleration": 2.66,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.32,
      "spread_liquidity": 4.75,
      "momentum_consistency": 3.93,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.565,
      "vwap": 13.5586,
      "vwap_slope": 0.0043,
      "rvol": 5.32,
      "volume_acceleration": 0.77,
      "premarket_volume": 2660490.0,
      "momentum_pct": -0.37,
      "consolidation_tightness_pct": 0.48,
      "distance_from_pm_high_pct": 0.91,
      "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.69,
    "pm_low": 13.335
  },
  {
    "symbol": "IMMX",
    "total_score": 63.26,
    "raw_score": 67.06,
    "breakdown": {
      "price_quality": 1.77,
      "volume_quality": 12.0,
      "rvol": 1.23,
      "volume_acceleration": 1.77,
      "price_momentum": 0.94,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.79,
      "spread_liquidity": 3.99,
      "momentum_consistency": 3.57,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.2325,
      "vwap": 13.181,
      "vwap_slope": 0.0007,
      "rvol": 0.51,
      "volume_acceleration": 0.51,
      "premarket_volume": 256262.0,
      "momentum_pct": 0.63,
      "consolidation_tightness_pct": 0.72,
      "distance_from_pm_high_pct": 0.28,
      "extension_from_vwap_pct": 0.39,
      "spread_pct": 0.3
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 13.27,
    "pm_low": 13.08
  },
  {
    "symbol": "CLBT",
    "total_score": 63.24,
    "raw_score": 67.03,
    "breakdown": {
      "price_quality": 3.54,
      "volume_quality": 12.0,
      "rvol": 2.13,
      "volume_acceleration": 10,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.77,
      "spread_liquidity": 4.71,
      "momentum_consistency": 2.48,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.465,
      "vwap": 11.4482,
      "vwap_slope": 0.0054,
      "rvol": 0.89,
      "volume_acceleration": 2.02,
      "premarket_volume": 443975.0,
      "momentum_pct": -0.09,
      "consolidation_tightness_pct": 0.22,
      "distance_from_pm_high_pct": 0.3,
      "extension_from_vwap_pct": 0.15,
      "spread_pct": 0.09
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 11.5,
    "pm_low": 11.39
  },
  {
    "symbol": "FPI",
    "total_score": 63.0,
    "raw_score": 66.77,
    "breakdown": {
      "price_quality": 4.11,
      "volume_quality": 12.0,
      "rvol": 1.02,
      "volume_acceleration": 10,
      "price_momentum": 0.28,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.79,
      "spread_liquidity": 4.69,
      "momentum_consistency": 2.48,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.89,
      "vwap": 10.8748,
      "vwap_slope": 0.0365,
      "rvol": 0.43,
      "volume_acceleration": 2.8,
      "premarket_volume": 213467.0,
      "momentum_pct": 0.18,
      "consolidation_tightness_pct": 0.54,
      "distance_from_pm_high_pct": 0.27,
      "extension_from_vwap_pct": 0.14,
      "spread_pct": 0.09
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 10.92,
    "pm_low": 10.78
  },
  {
    "symbol": "ONDS",
    "total_score": 62.67,
    "raw_score": 66.43,
    "breakdown": {
      "price_quality": 2.67,
      "volume_quality": 12.0,
      "rvol": 12.0,
      "volume_acceleration": 3.64,
      "price_momentum": 0.49,
      "price_structure": 12,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.61,
      "spread_liquidity": 4.57,
      "momentum_consistency": 3.45,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.67,
      "vwap": 7.6759,
      "vwap_slope": -0.0102,
      "rvol": 7.83,
      "volume_acceleration": 1.05,
      "premarket_volume": 3915142.0,
      "momentum_pct": 0.33,
      "consolidation_tightness_pct": 0.39,
      "distance_from_pm_high_pct": 0.52,
      "extension_from_vwap_pct": -0.08,
      "spread_pct": 0.13
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 7.71,
    "pm_low": 7.63
  },
  {
    "symbol": "KPLT",
    "total_score": 62.36,
    "raw_score": 66.1,
    "breakdown": {
      "price_quality": 4.5,
      "volume_quality": 7.29,
      "rvol": 0.29,
      "volume_acceleration": 2.46,
      "price_momentum": 1.72,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 6,
      "spread_liquidity": 3.24,
      "momentum_consistency": 4.6,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.5,
      "vwap": 9.2772,
      "vwap_slope": 0.0674,
      "rvol": 0.12,
      "volume_acceleration": 1.25,
      "premarket_volume": 60727.0,
      "momentum_pct": 1.14,
      "consolidation_tightness_pct": 1.16,
      "distance_from_pm_high_pct": 0.0,
      "extension_from_vwap_pct": 2.4,
      "spread_pct": 0.53
    },
    "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.5,
    "pm_low": 8.98
  },
  {
    "symbol": "GDYN",
    "total_score": 62.34,
    "raw_score": 66.08,
    "breakdown": {
      "price_quality": 2.85,
      "volume_quality": 12.0,
      "rvol": 0.67,
      "volume_acceleration": 10,
      "price_momentum": 0.38,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.95,
      "spread_liquidity": 4.58,
      "momentum_consistency": 3.24,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.85,
      "vwap": 7.7945,
      "vwap_slope": 0.0314,
      "rvol": 0.28,
      "volume_acceleration": 6.72,
      "premarket_volume": 139989.0,
      "momentum_pct": 0.26,
      "consolidation_tightness_pct": 0.44,
      "distance_from_pm_high_pct": 0.06,
      "extension_from_vwap_pct": 0.71,
      "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.855,
    "pm_low": 7.685
  },
  {
    "symbol": "IHS",
    "total_score": 61.17,
    "raw_score": 64.84,
    "breakdown": {
      "price_quality": 3.46,
      "volume_quality": 12.0,
      "rvol": 0.53,
      "volume_acceleration": 10,
      "price_momentum": 0.08,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.96,
      "spread_liquidity": 4.61,
      "momentum_consistency": 1.8,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.465,
      "vwap": 8.4569,
      "vwap_slope": 0.004,
      "rvol": 0.22,
      "volume_acceleration": 2.81,
      "premarket_volume": 109395.0,
      "momentum_pct": 0.06,
      "consolidation_tightness_pct": 0.11,
      "distance_from_pm_high_pct": 0.06,
      "extension_from_vwap_pct": 0.1,
      "spread_pct": 0.12
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 8.47,
    "pm_low": 8.44
  },
  {
    "symbol": "ALMS",
    "total_score": 60.85,
    "raw_score": 64.5,
    "breakdown": {
      "price_quality": 4.37,
      "volume_quality": 12.0,
      "rvol": 4.15,
      "volume_acceleration": 4.39,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.51,
      "spread_liquidity": 4.37,
      "momentum_consistency": 3.31,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.63,
      "vwap": 10.5504,
      "vwap_slope": 0.0105,
      "rvol": 1.55,
      "volume_acceleration": 1.44,
      "premarket_volume": 777303.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.28,
      "distance_from_pm_high_pct": 0.65,
      "extension_from_vwap_pct": 0.75,
      "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": 10.7,
    "pm_low": 10.26
  },
  {
    "symbol": "SGRY",
    "total_score": 60.7,
    "raw_score": 64.34,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 0.9,
      "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.84,
      "spread_liquidity": 4.53,
      "momentum_consistency": 3.17,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.14,
      "vwap": 14.1083,
      "vwap_slope": 0.0104,
      "rvol": 0.38,
      "volume_acceleration": 4.93,
      "premarket_volume": 187713.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.21,
      "distance_from_pm_high_pct": 0.21,
      "extension_from_vwap_pct": 0.22,
      "spread_pct": 0.14
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 14.17,
    "pm_low": 14.05
  },
  {
    "symbol": "RCAT",
    "total_score": 60.32,
    "raw_score": 63.94,
    "breakdown": {
      "price_quality": 3.72,
      "volume_quality": 12.0,
      "rvol": 1.59,
      "volume_acceleration": 3.51,
      "price_momentum": 0.52,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.74,
      "spread_liquidity": 4.62,
      "momentum_consistency": 3.45,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.72,
      "vwap": 8.7191,
      "vwap_slope": -0.008,
      "rvol": 0.66,
      "volume_acceleration": 1.35,
      "premarket_volume": 331217.0,
      "momentum_pct": 0.35,
      "consolidation_tightness_pct": 0.57,
      "distance_from_pm_high_pct": 0.34,
      "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": true,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 8.75,
    "pm_low": 8.66
  },
  {
    "symbol": "WEN",
    "total_score": 60.17,
    "raw_score": 63.78,
    "breakdown": {
      "price_quality": 2.61,
      "volume_quality": 12.0,
      "rvol": 7.14,
      "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.75,
      "spread_liquidity": 4.56,
      "momentum_consistency": 3.45,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.605,
      "vwap": 7.593,
      "vwap_slope": 0.0011,
      "rvol": 2.68,
      "volume_acceleration": 1.19,
      "premarket_volume": 1338703.0,
      "momentum_pct": -0.13,
      "consolidation_tightness_pct": 0.33,
      "distance_from_pm_high_pct": 0.33,
      "extension_from_vwap_pct": 0.16,
      "spread_pct": 0.13
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 7.63,
    "pm_low": 7.55
  },
  {
    "symbol": "FRMI",
    "total_score": 60.13,
    "raw_score": 63.73,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 12.0,
      "volume_acceleration": 5.4,
      "price_momentum": 0.13,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.49,
      "spread_liquidity": 4.43,
      "momentum_consistency": 3.59,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.87,
      "vwap": 5.8671,
      "vwap_slope": -0.0004,
      "rvol": 4.74,
      "volume_acceleration": 1.54,
      "premarket_volume": 2372486.0,
      "momentum_pct": 0.09,
      "consolidation_tightness_pct": 0.51,
      "distance_from_pm_high_pct": 0.68,
      "extension_from_vwap_pct": 0.05,
      "spread_pct": 0.17
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 5.91,
    "pm_low": 5.8026
  },
  {
    "symbol": "EXK",
    "total_score": 59.74,
    "raw_score": 63.33,
    "breakdown": {
      "price_quality": 3.88,
      "volume_quality": 12.0,
      "rvol": 2.68,
      "volume_acceleration": 10,
      "price_momentum": 0.0,
      "price_structure": 12,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.27,
      "spread_liquidity": 4.7,
      "momentum_consistency": 2.81,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.125,
      "vwap": 11.1547,
      "vwap_slope": -0.0462,
      "rvol": 1.12,
      "volume_acceleration": 2.81,
      "premarket_volume": 558248.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.4,
      "distance_from_pm_high_pct": 0.98,
      "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": false,
      "vwap_rising": false
    },
    "pm_high": 11.235,
    "pm_low": 11.07
  },
  {
    "symbol": "SLDB",
    "total_score": 59.61,
    "raw_score": 63.18,
    "breakdown": {
      "price_quality": 4.9,
      "volume_quality": 8.14,
      "rvol": 0.33,
      "volume_acceleration": 10,
      "price_momentum": 0.23,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.96,
      "spread_liquidity": 3.99,
      "momentum_consistency": 3.23,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.905,
      "vwap": 9.8454,
      "vwap_slope": 0.0117,
      "rvol": 0.14,
      "volume_acceleration": 2.13,
      "premarket_volume": 67811.0,
      "momentum_pct": 0.15,
      "consolidation_tightness_pct": 0.3,
      "distance_from_pm_high_pct": 0.05,
      "extension_from_vwap_pct": 0.6,
      "spread_pct": 0.3
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 9.91,
    "pm_low": 9.755
  },
  {
    "symbol": "CRGY",
    "total_score": 59.55,
    "raw_score": 63.12,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 4.13,
      "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.87,
      "spread_liquidity": 4.77,
      "momentum_consistency": 4.0,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.375,
      "vwap": 14.3081,
      "vwap_slope": 0.0368,
      "rvol": 1.55,
      "volume_acceleration": 1.45,
      "premarket_volume": 774349.0,
      "momentum_pct": -0.07,
      "consolidation_tightness_pct": 0.28,
      "distance_from_pm_high_pct": 0.17,
      "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": 14.4,
    "pm_low": 14.165
  },
  {
    "symbol": "WLTH",
    "total_score": 59.34,
    "raw_score": 62.9,
    "breakdown": {
      "price_quality": 4.76,
      "volume_quality": 12.0,
      "rvol": 2.48,
      "volume_acceleration": 3.01,
      "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": 3.49,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.755,
      "vwap": 9.6856,
      "vwap_slope": 0.0069,
      "rvol": 1.03,
      "volume_acceleration": 0.86,
      "premarket_volume": 516150.0,
      "momentum_pct": 0.1,
      "consolidation_tightness_pct": 0.11,
      "distance_from_pm_high_pct": 0.05,
      "extension_from_vwap_pct": 0.72,
      "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.76,
    "pm_low": 9.65
  },
  {
    "symbol": "COMP",
    "total_score": 59.28,
    "raw_score": 62.83,
    "breakdown": {
      "price_quality": 4.22,
      "volume_quality": 12.0,
      "rvol": 11.36,
      "volume_acceleration": 10,
      "price_momentum": 0.07,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.24,
      "spread_liquidity": 4.69,
      "momentum_consistency": 2.85,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.775,
      "vwap": 10.8162,
      "vwap_slope": -0.0183,
      "rvol": 4.26,
      "volume_acceleration": 3.19,
      "premarket_volume": 2129600.0,
      "momentum_pct": 0.05,
      "consolidation_tightness_pct": 0.14,
      "distance_from_pm_high_pct": 1.01,
      "extension_from_vwap_pct": -0.38,
      "spread_pct": 0.09
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 10.885,
    "pm_low": 10.73
  },
  {
    "symbol": "GGB",
    "total_score": 58.62,
    "raw_score": 62.14,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 5.41,
      "volume_acceleration": 3.85,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.93,
      "spread_liquidity": 4.34,
      "momentum_consistency": 2.71,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.075,
      "vwap": 5.0646,
      "vwap_slope": 0.0011,
      "rvol": 2.03,
      "volume_acceleration": 1.39,
      "premarket_volume": 1013495.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.2,
      "distance_from_pm_high_pct": 0.1,
      "extension_from_vwap_pct": 0.21,
      "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.08,
    "pm_low": 5.04
  },
  {
    "symbol": "GFR",
    "total_score": 58.11,
    "raw_score": 61.6,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 1.3,
      "volume_acceleration": 8.12,
      "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.47,
      "momentum_consistency": 2.0,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.245,
      "vwap": 6.2424,
      "vwap_slope": 0.0062,
      "rvol": 0.54,
      "volume_acceleration": 1.81,
      "premarket_volume": 270504.0,
      "momentum_pct": -0.08,
      "consolidation_tightness_pct": 0.08,
      "distance_from_pm_high_pct": 0.24,
      "extension_from_vwap_pct": 0.04,
      "spread_pct": 0.16
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 6.26,
    "pm_low": 6.215
  },
  {
    "symbol": "JKS",
    "total_score": 58.1,
    "raw_score": 61.58,
    "breakdown": {
      "price_quality": 2.37,
      "volume_quality": 5.89,
      "rvol": 0.24,
      "volume_acceleration": 2.65,
      "price_momentum": 0.24,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.82,
      "spread_liquidity": 4.47,
      "momentum_consistency": 3.91,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.63,
      "vwap": 12.6177,
      "vwap_slope": 0.001,
      "rvol": 0.1,
      "volume_acceleration": 0.76,
      "premarket_volume": 49095.0,
      "momentum_pct": 0.16,
      "consolidation_tightness_pct": 0.24,
      "distance_from_pm_high_pct": 0.24,
      "extension_from_vwap_pct": 0.1,
      "spread_pct": 0.16
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 12.66,
    "pm_low": 12.58
  },
  {
    "symbol": "VITL",
    "total_score": 58.01,
    "raw_score": 61.5,
    "breakdown": {
      "price_quality": 4.73,
      "volume_quality": 12.0,
      "rvol": 1.19,
      "volume_acceleration": 4.53,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.21,
      "spread_liquidity": 4.35,
      "momentum_consistency": 3.09,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.27,
      "vwap": 10.2531,
      "vwap_slope": 0.0229,
      "rvol": 0.5,
      "volume_acceleration": 1.45,
      "premarket_volume": 248648.0,
      "momentum_pct": -0.19,
      "consolidation_tightness_pct": 0.29,
      "distance_from_pm_high_pct": 1.06,
      "extension_from_vwap_pct": 0.16,
      "spread_pct": 0.19
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 10.38,
    "pm_low": 10.15
  },
  {
    "symbol": "RKT",
    "total_score": 57.94,
    "raw_score": 61.42,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 12.0,
      "volume_acceleration": 10,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.09,
      "spread_liquidity": 4.76,
      "momentum_consistency": 3.66,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.91,
      "vwap": 13.9619,
      "vwap_slope": -0.0132,
      "rvol": 8.19,
      "volume_acceleration": 2.63,
      "premarket_volume": 4094597.0,
      "momentum_pct": -0.14,
      "consolidation_tightness_pct": 0.36,
      "distance_from_pm_high_pct": 1.21,
      "extension_from_vwap_pct": -0.37,
      "spread_pct": 0.07
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 14.08,
    "pm_low": 13.825
  },
  {
    "symbol": "FWDI",
    "total_score": 57.84,
    "raw_score": 61.31,
    "breakdown": {
      "price_quality": 1.86,
      "volume_quality": 12.0,
      "rvol": 1.37,
      "volume_acceleration": 5.85,
      "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.51,
      "momentum_consistency": 3.54,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.855,
      "vwap": 6.8149,
      "vwap_slope": 0.0082,
      "rvol": 0.57,
      "volume_acceleration": 1.58,
      "premarket_volume": 285587.0,
      "momentum_pct": 0.07,
      "consolidation_tightness_pct": 0.43,
      "distance_from_pm_high_pct": 0.44,
      "extension_from_vwap_pct": 0.59,
      "spread_pct": 0.15
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 6.885,
    "pm_low": 6.76
  },
  {
    "symbol": "SMWB",
    "total_score": 57.56,
    "raw_score": 61.01,
    "breakdown": {
      "price_quality": 3.29,
      "volume_quality": 9.95,
      "rvol": 0.4,
      "volume_acceleration": 7.87,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.73,
      "spread_liquidity": 4.6,
      "momentum_consistency": 2.78,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.29,
      "vwap": 8.271,
      "vwap_slope": 0.004,
      "rvol": 0.17,
      "volume_acceleration": 1.79,
      "premarket_volume": 82898.0,
      "momentum_pct": -0.12,
      "consolidation_tightness_pct": 0.24,
      "distance_from_pm_high_pct": 0.36,
      "extension_from_vwap_pct": 0.23,
      "spread_pct": 0.12
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 8.32,
    "pm_low": 8.22
  },
  {
    "symbol": "RIG",
    "total_score": 57.54,
    "raw_score": 60.99,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 12.0,
      "volume_acceleration": 2.83,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.73,
      "spread_liquidity": 4.43,
      "momentum_consistency": 2.9,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.8589,
      "vwap": 5.8589,
      "vwap_slope": 0.0009,
      "rvol": 9.51,
      "volume_acceleration": 0.81,
      "premarket_volume": 4752910.0,
      "momentum_pct": -0.1,
      "consolidation_tightness_pct": 0.34,
      "distance_from_pm_high_pct": 0.36,
      "extension_from_vwap_pct": -0.0,
      "spread_pct": 0.17
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": true
    },
    "pm_high": 5.88,
    "pm_low": 5.83
  },
  {
    "symbol": "SPT",
    "total_score": 57.47,
    "raw_score": 60.91,
    "breakdown": {
      "price_quality": 4.56,
      "volume_quality": 12.0,
      "rvol": 0.48,
      "volume_acceleration": 9.0,
      "price_momentum": 0.06,
      "price_structure": 12,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 4.97,
      "spread_liquidity": 4.68,
      "momentum_consistency": 3.17,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.439,
      "vwap": 10.4841,
      "vwap_slope": -0.0166,
      "rvol": 0.2,
      "volume_acceleration": 1.9,
      "premarket_volume": 100602.0,
      "momentum_pct": 0.04,
      "consolidation_tightness_pct": 0.13,
      "distance_from_pm_high_pct": 1.38,
      "extension_from_vwap_pct": -0.43,
      "spread_pct": 0.1
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 10.585,
    "pm_low": 10.4
  },
  {
    "symbol": "BRBR",
    "total_score": 57.45,
    "raw_score": 60.9,
    "breakdown": {
      "price_quality": 4.9,
      "volume_quality": 12.0,
      "rvol": 1.31,
      "volume_acceleration": 3.31,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.89,
      "spread_liquidity": 4.66,
      "momentum_consistency": 2.43,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.9,
      "vwap": 9.8731,
      "vwap_slope": 0.0017,
      "rvol": 0.54,
      "volume_acceleration": 1.33,
      "premarket_volume": 272298.0,
      "momentum_pct": -0.1,
      "consolidation_tightness_pct": 0.25,
      "distance_from_pm_high_pct": 0.15,
      "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.915,
    "pm_low": 9.84
  },
  {
    "symbol": "FLO",
    "total_score": 57.24,
    "raw_score": 60.67,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 4.12,
      "volume_acceleration": 3.26,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.88,
      "spread_liquidity": 4.47,
      "momentum_consistency": 3.03,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.275,
      "vwap": 6.2558,
      "vwap_slope": 0.0038,
      "rvol": 1.55,
      "volume_acceleration": 0.94,
      "premarket_volume": 773178.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.16,
      "distance_from_pm_high_pct": 0.16,
      "extension_from_vwap_pct": 0.31,
      "spread_pct": 0.16
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 6.285,
    "pm_low": 6.23
  },
  {
    "symbol": "TAL",
    "total_score": 57.22,
    "raw_score": 60.66,
    "breakdown": {
      "price_quality": 3.17,
      "volume_quality": 12.0,
      "rvol": 1.32,
      "volume_acceleration": 5.18,
      "price_momentum": 0.13,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.78,
      "spread_liquidity": 4.72,
      "momentum_consistency": 1.96,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.83,
      "vwap": 11.822,
      "vwap_slope": 0.0022,
      "rvol": 0.55,
      "volume_acceleration": 1.52,
      "premarket_volume": 275435.0,
      "momentum_pct": 0.08,
      "consolidation_tightness_pct": 0.13,
      "distance_from_pm_high_pct": 0.29,
      "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": true,
      "vwap_rising": true
    },
    "pm_high": 11.865,
    "pm_low": 11.78
  },
  {
    "symbol": "F",
    "total_score": 57.13,
    "raw_score": 60.56,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 12.0,
      "volume_acceleration": 9.52,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.48,
      "spread_liquidity": 4.76,
      "momentum_consistency": 2.9,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.0615,
      "vwap": 14.1209,
      "vwap_slope": -0.0167,
      "rvol": 7.71,
      "volume_acceleration": 1.95,
      "premarket_volume": 3853335.0,
      "momentum_pct": -0.1,
      "consolidation_tightness_pct": 0.32,
      "distance_from_pm_high_pct": 0.7,
      "extension_from_vwap_pct": -0.42,
      "spread_pct": 0.07
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 14.16,
    "pm_low": 14.06
  },
  {
    "symbol": "PSKY",
    "total_score": 57.08,
    "raw_score": 60.51,
    "breakdown": {
      "price_quality": 4.13,
      "volume_quality": 12.0,
      "rvol": 6.42,
      "volume_acceleration": 3.54,
      "price_momentum": 0.14,
      "price_structure": 12,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.28,
      "spread_liquidity": 4.69,
      "momentum_consistency": 2.31,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.865,
      "vwap": 10.9141,
      "vwap_slope": -0.0177,
      "rvol": 2.41,
      "volume_acceleration": 1.35,
      "premarket_volume": 1203165.0,
      "momentum_pct": 0.09,
      "consolidation_tightness_pct": 0.23,
      "distance_from_pm_high_pct": 0.96,
      "extension_from_vwap_pct": -0.45,
      "spread_pct": 0.09
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 10.97,
    "pm_low": 10.84
  },
  {
    "symbol": "TU",
    "total_score": 56.94,
    "raw_score": 60.35,
    "breakdown": {
      "price_quality": 4.66,
      "volume_quality": 12.0,
      "rvol": 2.23,
      "volume_acceleration": 2.06,
      "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.66,
      "momentum_consistency": 2.43,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.66,
      "vwap": 9.6463,
      "vwap_slope": 0.004,
      "rvol": 0.93,
      "volume_acceleration": 1.21,
      "premarket_volume": 464778.0,
      "momentum_pct": -0.1,
      "consolidation_tightness_pct": 0.1,
      "distance_from_pm_high_pct": 0.1,
      "extension_from_vwap_pct": 0.14,
      "spread_pct": 0.1
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 9.67,
    "pm_low": 9.624
  },
  {
    "symbol": "BLMN",
    "total_score": 56.6,
    "raw_score": 60.0,
    "breakdown": {
      "price_quality": 4.65,
      "volume_quality": 11.51,
      "rvol": 0.46,
      "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.84,
      "spread_liquidity": 4.65,
      "momentum_consistency": 3.08,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.65,
      "vwap": 9.6418,
      "vwap_slope": 0.0046,
      "rvol": 0.19,
      "volume_acceleration": 0.98,
      "premarket_volume": 95884.0,
      "momentum_pct": -0.16,
      "consolidation_tightness_pct": 0.21,
      "distance_from_pm_high_pct": 0.21,
      "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.67,
    "pm_low": 9.61
  },
  {
    "symbol": "LFST",
    "total_score": 56.57,
    "raw_score": 59.96,
    "breakdown": {
      "price_quality": 2.16,
      "volume_quality": 12.0,
      "rvol": 2.13,
      "volume_acceleration": 1.13,
      "price_momentum": 0.23,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.91,
      "spread_liquidity": 4.74,
      "momentum_consistency": 2.85,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.835,
      "vwap": 12.8132,
      "vwap_slope": -0.0006,
      "rvol": 0.89,
      "volume_acceleration": 0.33,
      "premarket_volume": 443876.0,
      "momentum_pct": 0.16,
      "consolidation_tightness_pct": 0.31,
      "distance_from_pm_high_pct": 0.12,
      "extension_from_vwap_pct": 0.17,
      "spread_pct": 0.08
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 12.85,
    "pm_low": 12.78
  },
  {
    "symbol": "EOLS",
    "total_score": 56.16,
    "raw_score": 59.53,
    "breakdown": {
      "price_quality": 3.9,
      "volume_quality": 12.0,
      "rvol": 1.25,
      "volume_acceleration": 10,
      "price_momentum": 0.17,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.62,
      "spread_liquidity": 4.25,
      "momentum_consistency": 3.13,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.905,
      "vwap": 8.8975,
      "vwap_slope": -0.0064,
      "rvol": 0.52,
      "volume_acceleration": 3.78,
      "premarket_volume": 259995.0,
      "momentum_pct": 0.11,
      "consolidation_tightness_pct": 1.12,
      "distance_from_pm_high_pct": 0.5,
      "extension_from_vwap_pct": 0.08,
      "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": 8.95,
    "pm_low": 8.83
  },
  {
    "symbol": "YSS",
    "total_score": 56.15,
    "raw_score": 59.52,
    "breakdown": {
      "price_quality": 4.12,
      "volume_quality": 12.0,
      "rvol": 1.24,
      "volume_acceleration": 2.89,
      "price_momentum": 0.08,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.55,
      "spread_liquidity": 4.27,
      "momentum_consistency": 2.96,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.125,
      "vwap": 9.1098,
      "vwap_slope": 0.0012,
      "rvol": 0.52,
      "volume_acceleration": 0.83,
      "premarket_volume": 258791.0,
      "momentum_pct": 0.05,
      "consolidation_tightness_pct": 0.22,
      "distance_from_pm_high_pct": 0.6,
      "extension_from_vwap_pct": 0.17,
      "spread_pct": 0.22
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 9.18,
    "pm_low": 9.04
  },
  {
    "symbol": "IE",
    "total_score": 56.15,
    "raw_score": 59.52,
    "breakdown": {
      "price_quality": 3.92,
      "volume_quality": 12.0,
      "rvol": 0.74,
      "volume_acceleration": 3.05,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.63,
      "spread_liquidity": 4.7,
      "momentum_consistency": 3.09,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.08,
      "vwap": 11.0779,
      "vwap_slope": 0.0014,
      "rvol": 0.31,
      "volume_acceleration": 1.3,
      "premarket_volume": 153889.0,
      "momentum_pct": -0.17,
      "consolidation_tightness_pct": 0.17,
      "distance_from_pm_high_pct": 0.49,
      "extension_from_vwap_pct": 0.02,
      "spread_pct": 0.09
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 11.135,
    "pm_low": 11.04
  },
  {
    "symbol": "CTOS",
    "total_score": 56.07,
    "raw_score": 59.43,
    "breakdown": {
      "price_quality": 4.32,
      "volume_quality": 12.0,
      "rvol": 0.52,
      "volume_acceleration": 2.8,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.84,
      "spread_liquidity": 4.64,
      "momentum_consistency": 2.91,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.32,
      "vwap": 9.3042,
      "vwap_slope": 0.0041,
      "rvol": 0.22,
      "volume_acceleration": 0.81,
      "premarket_volume": 107601.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.21,
      "distance_from_pm_high_pct": 0.21,
      "extension_from_vwap_pct": 0.17,
      "spread_pct": 0.11
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 9.34,
    "pm_low": 9.27
  },
  {
    "symbol": "SECZ",
    "total_score": 56.01,
    "raw_score": 59.37,
    "breakdown": {
      "price_quality": 3.22,
      "volume_quality": 12.0,
      "rvol": 1.8,
      "volume_acceleration": 3.53,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.46,
      "spread_liquidity": 3.79,
      "momentum_consistency": 3.17,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.22,
      "vwap": 8.1704,
      "vwap_slope": 0.0226,
      "rvol": 0.75,
      "volume_acceleration": 1.02,
      "premarket_volume": 375558.0,
      "momentum_pct": -0.6,
      "consolidation_tightness_pct": 1.09,
      "distance_from_pm_high_pct": 0.72,
      "extension_from_vwap_pct": 0.61,
      "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.28,
    "pm_low": 8.015
  },
  {
    "symbol": "ZURA",
    "total_score": 55.9,
    "raw_score": 59.26,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 0.74,
      "volume_acceleration": 3.15,
      "price_momentum": 0.36,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.82,
      "spread_liquidity": 3.92,
      "momentum_consistency": 2.96,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.19,
      "vwap": 6.1863,
      "vwap_slope": -0.0007,
      "rvol": 0.31,
      "volume_acceleration": 0.91,
      "premarket_volume": 153291.0,
      "momentum_pct": 0.24,
      "consolidation_tightness_pct": 0.57,
      "distance_from_pm_high_pct": 0.24,
      "extension_from_vwap_pct": 0.06,
      "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": false
    },
    "pm_high": 6.205,
    "pm_low": 6.16
  },
  {
    "symbol": "NWL",
    "total_score": 55.83,
    "raw_score": 59.18,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 5.15,
      "volume_acceleration": 1.71,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.59,
      "spread_liquidity": 4.48,
      "momentum_consistency": 2.34,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.395,
      "vwap": 6.395,
      "vwap_slope": 0.0002,
      "rvol": 1.93,
      "volume_acceleration": 0.49,
      "premarket_volume": 965858.0,
      "momentum_pct": -0.16,
      "consolidation_tightness_pct": 0.31,
      "distance_from_pm_high_pct": 0.54,
      "extension_from_vwap_pct": 0.0,
      "spread_pct": 0.16
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 6.43,
    "pm_low": 6.35
  },
  {
    "symbol": "ADT",
    "total_score": 55.73,
    "raw_score": 59.07,
    "breakdown": {
      "price_quality": 2.29,
      "volume_quality": 12.0,
      "rvol": 3.45,
      "volume_acceleration": 9.12,
      "price_momentum": 0.31,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 6,
      "spread_liquidity": 4.54,
      "momentum_consistency": 2.17,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.29,
      "vwap": 7.2759,
      "vwap_slope": -0.0008,
      "rvol": 1.44,
      "volume_acceleration": 1.91,
      "premarket_volume": 717887.0,
      "momentum_pct": 0.21,
      "consolidation_tightness_pct": 0.27,
      "distance_from_pm_high_pct": 0.0,
      "extension_from_vwap_pct": 0.19,
      "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.29,
    "pm_low": 7.26
  },
  {
    "symbol": "BTG",
    "total_score": 55.63,
    "raw_score": 58.97,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 10.67,
      "volume_acceleration": 10,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.39,
      "spread_liquidity": 4.39,
      "momentum_consistency": 2.62,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.475,
      "vwap": 5.4896,
      "vwap_slope": -0.0179,
      "rvol": 4.0,
      "volume_acceleration": 3.03,
      "premarket_volume": 2000805.0,
      "momentum_pct": -0.18,
      "consolidation_tightness_pct": 0.27,
      "distance_from_pm_high_pct": 0.82,
      "extension_from_vwap_pct": -0.27,
      "spread_pct": 0.18
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 5.52,
    "pm_low": 5.45
  },
  {
    "symbol": "SVRA",
    "total_score": 55.52,
    "raw_score": 58.85,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 0.54,
      "volume_acceleration": 5.01,
      "price_momentum": 0.4,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.93,
      "spread_liquidity": 4.41,
      "momentum_consistency": 2.67,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.605,
      "vwap": 5.5729,
      "vwap_slope": 0.0059,
      "rvol": 0.22,
      "volume_acceleration": 1.5,
      "premarket_volume": 111957.0,
      "momentum_pct": 0.27,
      "consolidation_tightness_pct": 0.36,
      "distance_from_pm_high_pct": 0.09,
      "extension_from_vwap_pct": 0.58,
      "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.61,
    "pm_low": 5.55
  },
  {
    "symbol": "CGNT",
    "total_score": 55.51,
    "raw_score": 58.84,
    "breakdown": {
      "price_quality": 3.19,
      "volume_quality": 12.0,
      "rvol": 0.55,
      "volume_acceleration": 3.3,
      "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.59,
      "momentum_consistency": 2.96,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.185,
      "vwap": 8.1517,
      "vwap_slope": 0.0037,
      "rvol": 0.23,
      "volume_acceleration": 0.95,
      "premarket_volume": 113903.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.37,
      "distance_from_pm_high_pct": 0.18,
      "extension_from_vwap_pct": 0.41,
      "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.2,
    "pm_low": 8.12
  },
  {
    "symbol": "SB",
    "total_score": 55.48,
    "raw_score": 58.81,
    "breakdown": {
      "price_quality": 3.96,
      "volume_quality": 12.0,
      "rvol": 0.63,
      "volume_acceleration": 2.89,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.87,
      "spread_liquidity": 4.63,
      "momentum_consistency": 2.43,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.96,
      "vwap": 8.956,
      "vwap_slope": 0.0004,
      "rvol": 0.26,
      "volume_acceleration": 0.83,
      "premarket_volume": 130881.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.11,
      "distance_from_pm_high_pct": 0.17,
      "extension_from_vwap_pct": 0.04,
      "spread_pct": 0.11
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 8.975,
    "pm_low": 8.9314
  },
  {
    "symbol": "EROC",
    "total_score": 55.47,
    "raw_score": 58.79,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 2.42,
      "volume_acceleration": 2.6,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.52,
      "spread_liquidity": 4.28,
      "momentum_consistency": 4.07,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.91,
      "vwap": 13.8424,
      "vwap_slope": 0.019,
      "rvol": 1.01,
      "volume_acceleration": 0.75,
      "premarket_volume": 504821.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 1.01,
      "distance_from_pm_high_pct": 0.64,
      "extension_from_vwap_pct": 0.49,
      "spread_pct": 0.22
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 14.0,
    "pm_low": 13.71
  },
  {
    "symbol": "AGNC",
    "total_score": 55.33,
    "raw_score": 58.65,
    "breakdown": {
      "price_quality": 4.29,
      "volume_quality": 12.0,
      "rvol": 12.0,
      "volume_acceleration": 4.59,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.65,
      "spread_liquidity": 4.69,
      "momentum_consistency": 3.03,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.7146,
      "vwap": 10.7357,
      "vwap_slope": -0.003,
      "rvol": 7.66,
      "volume_acceleration": 1.46,
      "premarket_volume": 3827515.0,
      "momentum_pct": -0.0,
      "consolidation_tightness_pct": 0.09,
      "distance_from_pm_high_pct": 0.47,
      "extension_from_vwap_pct": -0.2,
      "spread_pct": 0.09
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 10.765,
    "pm_low": 10.71
  },
  {
    "symbol": "NOK",
    "total_score": 55.22,
    "raw_score": 58.54,
    "breakdown": {
      "price_quality": 4.25,
      "volume_quality": 12.0,
      "rvol": 12.0,
      "volume_acceleration": 4.83,
      "price_momentum": 0.01,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.51,
      "spread_liquidity": 4.69,
      "momentum_consistency": 2.85,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.75,
      "vwap": 10.7679,
      "vwap_slope": -0.0072,
      "rvol": 19.83,
      "volume_acceleration": 1.48,
      "premarket_volume": 9913461.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.19,
      "distance_from_pm_high_pct": 0.65,
      "extension_from_vwap_pct": -0.17,
      "spread_pct": 0.09
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 10.82,
    "pm_low": 10.71
  },
  {
    "symbol": "TIC",
    "total_score": 55.13,
    "raw_score": 58.43,
    "breakdown": {
      "price_quality": 4.55,
      "volume_quality": 12.0,
      "rvol": 0.86,
      "volume_acceleration": 1.34,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.61,
      "spread_liquidity": 4.65,
      "momentum_consistency": 3.02,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.555,
      "vwap": 9.5526,
      "vwap_slope": 0.0002,
      "rvol": 0.36,
      "volume_acceleration": 0.38,
      "premarket_volume": 179401.0,
      "momentum_pct": -0.05,
      "consolidation_tightness_pct": 0.1,
      "distance_from_pm_high_pct": 0.52,
      "extension_from_vwap_pct": 0.03,
      "spread_pct": 0.1
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 9.605,
    "pm_low": 9.51
  },
  {
    "symbol": "VG",
    "total_score": 55.03,
    "raw_score": 58.33,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 6.89,
      "volume_acceleration": 4.91,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.4,
      "spread_liquidity": 4.78,
      "momentum_consistency": 3.25,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.85,
      "vwap": 14.853,
      "vwap_slope": 0.0184,
      "rvol": 2.58,
      "volume_acceleration": 1.49,
      "premarket_volume": 1292359.0,
      "momentum_pct": -0.5,
      "consolidation_tightness_pct": 0.54,
      "distance_from_pm_high_pct": 0.8,
      "extension_from_vwap_pct": -0.02,
      "spread_pct": 0.07
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": true
    },
    "pm_high": 14.97,
    "pm_low": 14.775
  },
  {
    "symbol": "INFQ",
    "total_score": 54.94,
    "raw_score": 58.24,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 10.14,
      "volume_acceleration": 8.15,
      "price_momentum": 0.11,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.12,
      "spread_liquidity": 4.76,
      "momentum_consistency": 4.07,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.865,
      "vwap": 13.893,
      "vwap_slope": -0.0041,
      "rvol": 3.8,
      "volume_acceleration": 1.81,
      "premarket_volume": 1900569.0,
      "momentum_pct": 0.07,
      "consolidation_tightness_pct": 0.29,
      "distance_from_pm_high_pct": 1.18,
      "extension_from_vwap_pct": -0.2,
      "spread_pct": 0.07
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 14.03,
    "pm_low": 13.74
  },
  {
    "symbol": "NEXT",
    "total_score": 54.78,
    "raw_score": 58.06,
    "breakdown": {
      "price_quality": 2.49,
      "volume_quality": 12.0,
      "rvol": 1.29,
      "volume_acceleration": 2.83,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.6,
      "spread_liquidity": 4.55,
      "momentum_consistency": 2.9,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.485,
      "vwap": 7.481,
      "vwap_slope": 0.0001,
      "rvol": 0.54,
      "volume_acceleration": 0.81,
      "premarket_volume": 269571.0,
      "momentum_pct": -0.07,
      "consolidation_tightness_pct": 0.27,
      "distance_from_pm_high_pct": 0.53,
      "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.525,
    "pm_low": 7.42
  },
  {
    "symbol": "LADR",
    "total_score": 54.77,
    "raw_score": 58.05,
    "breakdown": {
      "price_quality": 4.78,
      "volume_quality": 10.98,
      "rvol": 0.44,
      "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.85,
      "spread_liquidity": 4.66,
      "momentum_consistency": 1.76,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.775,
      "vwap": 9.7798,
      "vwap_slope": 0.0008,
      "rvol": 0.18,
      "volume_acceleration": 5.0,
      "premarket_volume": 91486.0,
      "momentum_pct": -0.1,
      "consolidation_tightness_pct": 0.2,
      "distance_from_pm_high_pct": 0.2,
      "extension_from_vwap_pct": -0.05,
      "spread_pct": 0.1
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": true
    },
    "pm_high": 9.795,
    "pm_low": 9.765
  },
  {
    "symbol": "MAT",
    "total_score": 54.74,
    "raw_score": 58.02,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 1.24,
      "volume_acceleration": 3.58,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.92,
      "spread_liquidity": 4.76,
      "momentum_consistency": 2.62,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.175,
      "vwap": 14.1669,
      "vwap_slope": 0.0001,
      "rvol": 0.52,
      "volume_acceleration": 1.36,
      "premarket_volume": 258102.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.06,
      "distance_from_pm_high_pct": 0.11,
      "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": 14.19,
    "pm_low": 14.145
  },
  {
    "symbol": "RILY",
    "total_score": 54.64,
    "raw_score": 57.92,
    "breakdown": {
      "price_quality": 2.04,
      "volume_quality": 2.68,
      "rvol": 0.11,
      "volume_acceleration": 2.63,
      "price_momentum": 0.43,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.89,
      "spread_liquidity": 4.53,
      "momentum_consistency": 3.61,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.04,
      "vwap": 7.0296,
      "vwap_slope": 0.0001,
      "rvol": 0.04,
      "volume_acceleration": 0.76,
      "premarket_volume": 22361.0,
      "momentum_pct": 0.28,
      "consolidation_tightness_pct": 0.28,
      "distance_from_pm_high_pct": 0.14,
      "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": true,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 7.05,
    "pm_low": 6.991
  },
  {
    "symbol": "RGNX",
    "total_score": 54.64,
    "raw_score": 57.92,
    "breakdown": {
      "price_quality": 3.81,
      "volume_quality": 11.99,
      "rvol": 0.48,
      "volume_acceleration": 2.68,
      "price_momentum": 0.09,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.7,
      "spread_liquidity": 4.62,
      "momentum_consistency": 2.14,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.815,
      "vwap": 8.8091,
      "vwap_slope": 0.0004,
      "rvol": 0.2,
      "volume_acceleration": 0.77,
      "premarket_volume": 99955.0,
      "momentum_pct": 0.06,
      "consolidation_tightness_pct": 0.17,
      "distance_from_pm_high_pct": 0.4,
      "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": 8.85,
    "pm_low": 8.78
  },
  {
    "symbol": "CRSR",
    "total_score": 54.38,
    "raw_score": 57.64,
    "breakdown": {
      "price_quality": 2.66,
      "volume_quality": 12.0,
      "rvol": 0.79,
      "volume_acceleration": 2.74,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.79,
      "spread_liquidity": 4.73,
      "momentum_consistency": 2.53,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.335,
      "vwap": 12.3035,
      "vwap_slope": 0.0042,
      "rvol": 0.33,
      "volume_acceleration": 0.79,
      "premarket_volume": 165582.0,
      "momentum_pct": -0.12,
      "consolidation_tightness_pct": 0.12,
      "distance_from_pm_high_pct": 0.28,
      "extension_from_vwap_pct": 0.26,
      "spread_pct": 0.08
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 12.37,
    "pm_low": 12.22
  },
  {
    "symbol": "SSL",
    "total_score": 54.27,
    "raw_score": 57.53,
    "breakdown": {
      "price_quality": 1.71,
      "volume_quality": 12.0,
      "rvol": 0.57,
      "volume_acceleration": 3.2,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.89,
      "spread_liquidity": 4.75,
      "momentum_consistency": 3.0,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.2909,
      "vwap": 13.264,
      "vwap_slope": 0.0083,
      "rvol": 0.24,
      "volume_acceleration": 0.92,
      "premarket_volume": 119748.0,
      "momentum_pct": -0.11,
      "consolidation_tightness_pct": 0.15,
      "distance_from_pm_high_pct": 0.14,
      "extension_from_vwap_pct": 0.2,
      "spread_pct": 0.08
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 13.31,
    "pm_low": 13.235
  },
  {
    "symbol": "NOMD",
    "total_score": 54.25,
    "raw_score": 57.51,
    "breakdown": {
      "price_quality": 3.54,
      "volume_quality": 12.0,
      "rvol": 0.64,
      "volume_acceleration": 2.56,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.77,
      "spread_liquidity": 4.42,
      "momentum_consistency": 2.18,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.465,
      "vwap": 11.4531,
      "vwap_slope": 0.0043,
      "rvol": 0.27,
      "volume_acceleration": 0.74,
      "premarket_volume": 134320.0,
      "momentum_pct": -0.22,
      "consolidation_tightness_pct": 0.26,
      "distance_from_pm_high_pct": 0.3,
      "extension_from_vwap_pct": 0.1,
      "spread_pct": 0.17
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 11.5,
    "pm_low": 11.43
  },
  {
    "symbol": "IMUX",
    "total_score": 54.25,
    "raw_score": 57.5,
    "breakdown": {
      "price_quality": 2.01,
      "volume_quality": 2.8,
      "rvol": 0.11,
      "volume_acceleration": 2.17,
      "price_momentum": 1.63,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.8,
      "spread_liquidity": 2.18,
      "momentum_consistency": 4.8,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.99,
      "vwap": 12.8624,
      "vwap_slope": 0.0227,
      "rvol": 0.05,
      "volume_acceleration": 0.62,
      "premarket_volume": 23315.0,
      "momentum_pct": 1.09,
      "consolidation_tightness_pct": 1.35,
      "distance_from_pm_high_pct": 0.27,
      "extension_from_vwap_pct": 0.99,
      "spread_pct": 0.84
    },
    "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.025,
    "pm_low": 12.785
  },
  {
    "symbol": "UTZ",
    "total_score": 54.11,
    "raw_score": 57.36,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 0.91,
      "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.97,
      "spread_liquidity": 4.77,
      "momentum_consistency": 2.62,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.215,
      "vwap": 14.2163,
      "vwap_slope": 0.0008,
      "rvol": 0.38,
      "volume_acceleration": 3.5,
      "premarket_volume": 188829.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.07,
      "distance_from_pm_high_pct": 0.04,
      "extension_from_vwap_pct": -0.01,
      "spread_pct": 0.07
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": true
    },
    "pm_high": 14.22,
    "pm_low": 14.21
  },
  {
    "symbol": "SGHC",
    "total_score": 53.92,
    "raw_score": 57.16,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 1.26,
      "volume_acceleration": 2.15,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.52,
      "spread_liquidity": 4.76,
      "momentum_consistency": 3.57,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.8701,
      "vwap": 13.8287,
      "vwap_slope": 0.0089,
      "rvol": 0.53,
      "volume_acceleration": 0.62,
      "premarket_volume": 263022.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.18,
      "distance_from_pm_high_pct": 0.64,
      "extension_from_vwap_pct": 0.3,
      "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.96,
    "pm_low": 13.675
  },
  {
    "symbol": "ADTN",
    "total_score": 53.9,
    "raw_score": 57.14,
    "breakdown": {
      "price_quality": 2.54,
      "volume_quality": 12.0,
      "rvol": 0.94,
      "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.95,
      "spread_liquidity": 4.56,
      "momentum_consistency": 2.5,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.54,
      "vwap": 7.5024,
      "vwap_slope": 0.0025,
      "rvol": 0.39,
      "volume_acceleration": 0.65,
      "premarket_volume": 194866.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.46,
      "distance_from_pm_high_pct": 0.07,
      "extension_from_vwap_pct": 0.5,
      "spread_pct": 0.13
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 7.545,
    "pm_low": 7.45
  },
  {
    "symbol": "AMCX",
    "total_score": 53.79,
    "raw_score": 57.02,
    "breakdown": {
      "price_quality": 3.2,
      "volume_quality": 8.73,
      "rvol": 0.35,
      "volume_acceleration": 2.79,
      "price_momentum": 0.13,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.81,
      "spread_liquidity": 4.72,
      "momentum_consistency": 2.49,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.8,
      "vwap": 11.794,
      "vwap_slope": -0.0042,
      "rvol": 0.15,
      "volume_acceleration": 0.8,
      "premarket_volume": 72784.0,
      "momentum_pct": 0.08,
      "consolidation_tightness_pct": 0.25,
      "distance_from_pm_high_pct": 0.25,
      "extension_from_vwap_pct": 0.05,
      "spread_pct": 0.08
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 11.83,
    "pm_low": 11.76
  },
  {
    "symbol": "GLAS",
    "total_score": 53.7,
    "raw_score": 56.93,
    "breakdown": {
      "price_quality": 3.34,
      "volume_quality": 12.0,
      "rvol": 0.49,
      "volume_acceleration": 2.59,
      "price_momentum": 0.36,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.91,
      "spread_liquidity": 2.6,
      "momentum_consistency": 3.23,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.34,
      "vwap": 8.2303,
      "vwap_slope": 0.0445,
      "rvol": 0.2,
      "volume_acceleration": 0.75,
      "premarket_volume": 102298.0,
      "momentum_pct": 0.24,
      "consolidation_tightness_pct": 0.72,
      "distance_from_pm_high_pct": 0.12,
      "extension_from_vwap_pct": 1.33,
      "spread_pct": 0.72
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 8.35,
    "pm_low": 8.15
  },
  {
    "symbol": "VIPS",
    "total_score": 53.62,
    "raw_score": 56.84,
    "breakdown": {
      "price_quality": 1.96,
      "volume_quality": 12.0,
      "rvol": 0.89,
      "volume_acceleration": 3.23,
      "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.74,
      "momentum_consistency": 1.74,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.045,
      "vwap": 13.0449,
      "vwap_slope": 0.0012,
      "rvol": 0.37,
      "volume_acceleration": 1.32,
      "premarket_volume": 184697.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.03,
      "distance_from_pm_high_pct": 0.15,
      "extension_from_vwap_pct": 0.0,
      "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.065,
    "pm_low": 13.02
  },
  {
    "symbol": "XMAX",
    "total_score": 53.43,
    "raw_score": 56.63,
    "breakdown": {
      "price_quality": 3.61,
      "volume_quality": 7.32,
      "rvol": 0.29,
      "volume_acceleration": 3.94,
      "price_momentum": 0.41,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.83,
      "spread_liquidity": 4.61,
      "momentum_consistency": 1.83,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.605,
      "vwap": 8.6022,
      "vwap_slope": -0.0097,
      "rvol": 0.12,
      "volume_acceleration": 1.39,
      "premarket_volume": 61007.0,
      "momentum_pct": 0.27,
      "consolidation_tightness_pct": 0.28,
      "distance_from_pm_high_pct": 0.23,
      "extension_from_vwap_pct": 0.03,
      "spread_pct": 0.12
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 8.625,
    "pm_low": 8.5811
  },
  {
    "symbol": "OWL",
    "total_score": 53.29,
    "raw_score": 56.49,
    "breakdown": {
      "price_quality": 3.71,
      "volume_quality": 12.0,
      "rvol": 11.84,
      "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.37,
      "spread_liquidity": 4.7,
      "momentum_consistency": 2.48,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.295,
      "vwap": 11.356,
      "vwap_slope": -0.0081,
      "rvol": 4.44,
      "volume_acceleration": 1.14,
      "premarket_volume": 2220443.0,
      "momentum_pct": -0.22,
      "consolidation_tightness_pct": 0.4,
      "distance_from_pm_high_pct": 0.83,
      "extension_from_vwap_pct": -0.54,
      "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.39,
    "pm_low": 11.29
  },
  {
    "symbol": "EVCM",
    "total_score": 52.9,
    "raw_score": 56.07,
    "breakdown": {
      "price_quality": 2.08,
      "volume_quality": 2.76,
      "rvol": 0.11,
      "volume_acceleration": 1.72,
      "price_momentum": 1.28,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 6,
      "spread_liquidity": 3.12,
      "momentum_consistency": 3.0,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.08,
      "vwap": 7.0007,
      "vwap_slope": 0.0208,
      "rvol": 0.05,
      "volume_acceleration": 0.5,
      "premarket_volume": 23000.0,
      "momentum_pct": 0.85,
      "consolidation_tightness_pct": 0.99,
      "distance_from_pm_high_pct": 0.0,
      "extension_from_vwap_pct": 1.13,
      "spread_pct": 0.56
    },
    "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.08,
    "pm_low": 6.935
  },
  {
    "symbol": "SMR",
    "total_score": 52.76,
    "raw_score": 55.93,
    "breakdown": {
      "price_quality": 3.88,
      "volume_quality": 12.0,
      "rvol": 12.0,
      "volume_acceleration": 2.42,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 4.68,
      "spread_liquidity": 4.7,
      "momentum_consistency": 3.86,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.125,
      "vwap": 11.2257,
      "vwap_slope": -0.0198,
      "rvol": 7.83,
      "volume_acceleration": 0.69,
      "premarket_volume": 3913237.0,
      "momentum_pct": -0.14,
      "consolidation_tightness_pct": 0.45,
      "distance_from_pm_high_pct": 1.77,
      "extension_from_vwap_pct": -0.9,
      "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.325,
    "pm_low": 11.11
  },
  {
    "symbol": "AHCO",
    "total_score": 52.52,
    "raw_score": 55.67,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 1.06,
      "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.64,
      "spread_liquidity": 4.46,
      "momentum_consistency": 1.81,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.165,
      "vwap": 6.1623,
      "vwap_slope": -0.0024,
      "rvol": 0.44,
      "volume_acceleration": 2.64,
      "premarket_volume": 221851.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.16,
      "distance_from_pm_high_pct": 0.48,
      "extension_from_vwap_pct": 0.04,
      "spread_pct": 0.16
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 6.195,
    "pm_low": 6.13
  },
  {
    "symbol": "EGY",
    "total_score": 52.51,
    "raw_score": 55.66,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 9.44,
      "rvol": 0.38,
      "volume_acceleration": 3.94,
      "price_momentum": 0.24,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.88,
      "spread_liquidity": 4.46,
      "momentum_consistency": 3.43,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.14,
      "vwap": 6.1212,
      "vwap_slope": 0.0072,
      "rvol": 0.16,
      "volume_acceleration": 1.13,
      "premarket_volume": 78647.0,
      "momentum_pct": 0.16,
      "consolidation_tightness_pct": 0.41,
      "distance_from_pm_high_pct": 0.16,
      "extension_from_vwap_pct": 0.31,
      "spread_pct": 0.16
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 6.15,
    "pm_low": 6.085
  },
  {
    "symbol": "ACDC",
    "total_score": 52.02,
    "raw_score": 55.14,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 0.73,
      "volume_acceleration": 1.71,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.59,
      "spread_liquidity": 4.39,
      "momentum_consistency": 2.82,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.45,
      "vwap": 5.4338,
      "vwap_slope": 0.0033,
      "rvol": 0.3,
      "volume_acceleration": 0.49,
      "premarket_volume": 152083.0,
      "momentum_pct": -0.27,
      "consolidation_tightness_pct": 0.46,
      "distance_from_pm_high_pct": 0.55,
      "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": true,
      "vwap_rising": true
    },
    "pm_high": 5.48,
    "pm_low": 5.39
  },
  {
    "symbol": "DUOT",
    "total_score": 51.93,
    "raw_score": 55.04,
    "breakdown": {
      "price_quality": 3.93,
      "volume_quality": 5.55,
      "rvol": 0.22,
      "volume_acceleration": 4.38,
      "price_momentum": 0.34,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.7,
      "spread_liquidity": 3.51,
      "momentum_consistency": 2.62,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.93,
      "vwap": 8.9223,
      "vwap_slope": -0.0011,
      "rvol": 0.09,
      "volume_acceleration": 1.44,
      "premarket_volume": 46269.0,
      "momentum_pct": 0.22,
      "consolidation_tightness_pct": 0.28,
      "distance_from_pm_high_pct": 0.4,
      "extension_from_vwap_pct": 0.09,
      "spread_pct": 0.45
    },
    "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.9659,
    "pm_low": 8.89
  },
  {
    "symbol": "SG",
    "total_score": 51.78,
    "raw_score": 54.88,
    "breakdown": {
      "price_quality": 1.72,
      "volume_quality": 12.0,
      "rvol": 1.83,
      "volume_acceleration": 5.8,
      "price_momentum": 1.12,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.94,
      "spread_liquidity": 4.5,
      "momentum_consistency": 2.76,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.72,
      "vwap": 6.6642,
      "vwap_slope": -0.0043,
      "rvol": 0.76,
      "volume_acceleration": 1.58,
      "premarket_volume": 380816.0,
      "momentum_pct": 0.75,
      "consolidation_tightness_pct": 1.34,
      "distance_from_pm_high_pct": 0.07,
      "extension_from_vwap_pct": 0.84,
      "spread_pct": 0.15
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 6.725,
    "pm_low": 6.61
  },
  {
    "symbol": "STLA",
    "total_score": 51.54,
    "raw_score": 54.64,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 7.15,
      "volume_acceleration": 10,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.45,
      "spread_liquidity": 4.38,
      "momentum_consistency": 1.76,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.38,
      "vwap": 5.4063,
      "vwap_slope": -0.0043,
      "rvol": 2.68,
      "volume_acceleration": 2.49,
      "premarket_volume": 1339771.0,
      "momentum_pct": -0.09,
      "consolidation_tightness_pct": 0.19,
      "distance_from_pm_high_pct": 0.74,
      "extension_from_vwap_pct": -0.49,
      "spread_pct": 0.19
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 5.42,
    "pm_low": 5.38
  },
  {
    "symbol": "CLF",
    "total_score": 51.34,
    "raw_score": 54.42,
    "breakdown": {
      "price_quality": 2.51,
      "volume_quality": 12.0,
      "rvol": 2.63,
      "volume_acceleration": 3.99,
      "price_momentum": 0.12,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.85,
      "spread_liquidity": 4.73,
      "momentum_consistency": 3.39,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.49,
      "vwap": 12.4824,
      "vwap_slope": -0.0016,
      "rvol": 1.09,
      "volume_acceleration": 1.15,
      "premarket_volume": 547051.0,
      "momentum_pct": 0.08,
      "consolidation_tightness_pct": 0.2,
      "distance_from_pm_high_pct": 0.2,
      "extension_from_vwap_pct": 0.06,
      "spread_pct": 0.08
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 12.515,
    "pm_low": 12.425
  },
  {
    "symbol": "SNAP",
    "total_score": 51.32,
    "raw_score": 54.4,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 12.0,
      "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.38,
      "spread_liquidity": 4.39,
      "momentum_consistency": 2.85,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.435,
      "vwap": 5.4454,
      "vwap_slope": -0.0068,
      "rvol": 4.79,
      "volume_acceleration": 1.11,
      "premarket_volume": 2392916.0,
      "momentum_pct": -0.09,
      "consolidation_tightness_pct": 0.28,
      "distance_from_pm_high_pct": 0.82,
      "extension_from_vwap_pct": -0.19,
      "spread_pct": 0.18
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 5.48,
    "pm_low": 5.41
  },
  {
    "symbol": "VERX",
    "total_score": 51.26,
    "raw_score": 54.34,
    "breakdown": {
      "price_quality": 2.13,
      "volume_quality": 12.0,
      "rvol": 0.75,
      "volume_acceleration": 6.94,
      "price_momentum": 0.05,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.68,
      "spread_liquidity": 4.74,
      "momentum_consistency": 2.85,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.865,
      "vwap": 12.8594,
      "vwap_slope": -0.0005,
      "rvol": 0.31,
      "volume_acceleration": 1.69,
      "premarket_volume": 156522.0,
      "momentum_pct": 0.03,
      "consolidation_tightness_pct": 0.12,
      "distance_from_pm_high_pct": 0.43,
      "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": false
    },
    "pm_high": 12.92,
    "pm_low": 12.81
  },
  {
    "symbol": "JOBY",
    "total_score": 51.24,
    "raw_score": 54.32,
    "breakdown": {
      "price_quality": 1.84,
      "volume_quality": 12.0,
      "rvol": 12.0,
      "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.24,
      "spread_liquidity": 4.51,
      "momentum_consistency": 2.62,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.84,
      "vwap": 6.8628,
      "vwap_slope": -0.0165,
      "rvol": 7.36,
      "volume_acceleration": 1.06,
      "premarket_volume": 3682226.0,
      "momentum_pct": -0.13,
      "consolidation_tightness_pct": 0.29,
      "distance_from_pm_high_pct": 1.01,
      "extension_from_vwap_pct": -0.33,
      "spread_pct": 0.15
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 6.91,
    "pm_low": 6.815
  },
  {
    "symbol": "IBRX",
    "total_score": 51.12,
    "raw_score": 54.19,
    "breakdown": {
      "price_quality": 3.19,
      "volume_quality": 12.0,
      "rvol": 3.09,
      "volume_acceleration": 1.8,
      "price_momentum": 0.18,
      "price_structure": 12,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.14,
      "spread_liquidity": 4.59,
      "momentum_consistency": 2.21,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.185,
      "vwap": 8.2181,
      "vwap_slope": -0.0108,
      "rvol": 1.29,
      "volume_acceleration": 1.18,
      "premarket_volume": 643305.0,
      "momentum_pct": 0.12,
      "consolidation_tightness_pct": 0.31,
      "distance_from_pm_high_pct": 1.15,
      "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": true,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 8.28,
    "pm_low": 8.17
  },
  {
    "symbol": "ATAI",
    "total_score": 50.87,
    "raw_score": 53.92,
    "breakdown": {
      "price_quality": 2.37,
      "volume_quality": 12.0,
      "rvol": 12.0,
      "volume_acceleration": 2.83,
      "price_momentum": 0.1,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.75,
      "spread_liquidity": 4.55,
      "momentum_consistency": 1.93,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.365,
      "vwap": 7.3684,
      "vwap_slope": -0.0006,
      "rvol": 9.53,
      "volume_acceleration": 0.81,
      "premarket_volume": 4766300.0,
      "momentum_pct": 0.07,
      "consolidation_tightness_pct": 0.14,
      "distance_from_pm_high_pct": 0.34,
      "extension_from_vwap_pct": -0.05,
      "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.39,
    "pm_low": 7.34
  },
  {
    "symbol": "QMLS",
    "total_score": 50.87,
    "raw_score": 53.92,
    "breakdown": {
      "price_quality": 1.61,
      "volume_quality": 3.52,
      "rvol": 0.14,
      "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.42,
      "spread_liquidity": 2.47,
      "momentum_consistency": 4.36,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.61,
      "vwap": 6.5843,
      "vwap_slope": 0.019,
      "rvol": 0.06,
      "volume_acceleration": 2.43,
      "premarket_volume": 29309.0,
      "momentum_pct": -0.15,
      "consolidation_tightness_pct": 1.21,
      "distance_from_pm_high_pct": 0.78,
      "extension_from_vwap_pct": 0.39,
      "spread_pct": 0.76
    },
    "flags": {
      "meets_min_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.6617,
    "pm_low": 6.5
  },
  {
    "symbol": "SOUN",
    "total_score": 50.79,
    "raw_score": 53.84,
    "breakdown": {
      "price_quality": 1.54,
      "volume_quality": 12.0,
      "rvol": 12.0,
      "volume_acceleration": 3.83,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 4.83,
      "spread_liquidity": 4.49,
      "momentum_consistency": 2.76,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.5361,
      "vwap": 6.5939,
      "vwap_slope": -0.0195,
      "rvol": 4.53,
      "volume_acceleration": 1.1,
      "premarket_volume": 2267131.0,
      "momentum_pct": -0.21,
      "consolidation_tightness_pct": 0.38,
      "distance_from_pm_high_pct": 1.56,
      "extension_from_vwap_pct": -0.88,
      "spread_pct": 0.15
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 6.64,
    "pm_low": 6.53
  },
  {
    "symbol": "ACHR",
    "total_score": 50.6,
    "raw_score": 53.63,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 11.24,
      "volume_acceleration": 3.45,
      "price_momentum": 0.04,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.68,
      "spread_liquidity": 4.43,
      "momentum_consistency": 2.9,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.825,
      "vwap": 5.8278,
      "vwap_slope": -0.002,
      "rvol": 4.21,
      "volume_acceleration": 0.99,
      "premarket_volume": 2107050.0,
      "momentum_pct": 0.03,
      "consolidation_tightness_pct": 0.34,
      "distance_from_pm_high_pct": 0.43,
      "extension_from_vwap_pct": -0.05,
      "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.85,
    "pm_low": 5.81
  },
  {
    "symbol": "BB",
    "total_score": 50.42,
    "raw_score": 53.45,
    "breakdown": {
      "price_quality": 2.86,
      "volume_quality": 12.0,
      "rvol": 3.13,
      "volume_acceleration": 10,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.34,
      "spread_liquidity": 4.58,
      "momentum_consistency": 3.14,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.8597,
      "vwap": 7.8832,
      "vwap_slope": -0.0125,
      "rvol": 1.31,
      "volume_acceleration": 2.18,
      "premarket_volume": 652908.0,
      "momentum_pct": -0.07,
      "consolidation_tightness_pct": 0.19,
      "distance_from_pm_high_pct": 0.89,
      "extension_from_vwap_pct": -0.3,
      "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.93,
    "pm_low": 7.8447
  },
  {
    "symbol": "ICL",
    "total_score": 50.28,
    "raw_score": 53.29,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 9.3,
      "rvol": 0.37,
      "volume_acceleration": 3.01,
      "price_momentum": 0.13,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 6,
      "spread_liquidity": 4.43,
      "momentum_consistency": 2.15,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.86,
      "vwap": 5.8515,
      "vwap_slope": 0.0002,
      "rvol": 0.16,
      "volume_acceleration": 0.87,
      "premarket_volume": 77541.0,
      "momentum_pct": 0.09,
      "consolidation_tightness_pct": 0.17,
      "distance_from_pm_high_pct": 0.0,
      "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": true,
      "vwap_rising": true
    },
    "pm_high": 5.86,
    "pm_low": 5.84
  },
  {
    "symbol": "LAND",
    "total_score": 50.13,
    "raw_score": 53.14,
    "breakdown": {
      "price_quality": 4.79,
      "volume_quality": 12.0,
      "rvol": 1.1,
      "volume_acceleration": 2.85,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.63,
      "spread_liquidity": 4.66,
      "momentum_consistency": 2.51,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.79,
      "vwap": 9.8093,
      "vwap_slope": 0.0113,
      "rvol": 0.46,
      "volume_acceleration": 0.82,
      "premarket_volume": 229149.0,
      "momentum_pct": -0.15,
      "consolidation_tightness_pct": 0.26,
      "distance_from_pm_high_pct": 0.5,
      "extension_from_vwap_pct": -0.2,
      "spread_pct": 0.1
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": true
    },
    "pm_high": 9.8391,
    "pm_low": 9.75
  },
  {
    "symbol": "AEG",
    "total_score": 50.08,
    "raw_score": 53.08,
    "breakdown": {
      "price_quality": 4.18,
      "volume_quality": 12.0,
      "rvol": 1.54,
      "volume_acceleration": 3.79,
      "price_momentum": 0.08,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.92,
      "spread_liquidity": 4.64,
      "momentum_consistency": 1.74,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.1799,
      "vwap": 9.1781,
      "vwap_slope": -0.0045,
      "rvol": 0.64,
      "volume_acceleration": 1.09,
      "premarket_volume": 320139.0,
      "momentum_pct": 0.05,
      "consolidation_tightness_pct": 0.22,
      "distance_from_pm_high_pct": 0.11,
      "extension_from_vwap_pct": 0.02,
      "spread_pct": 0.11
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 9.19,
    "pm_low": 9.16
  },
  {
    "symbol": "CWK",
    "total_score": 50.01,
    "raw_score": 53.01,
    "breakdown": {
      "price_quality": 1.66,
      "volume_quality": 12.0,
      "rvol": 0.79,
      "volume_acceleration": 3.47,
      "price_momentum": 0.51,
      "price_structure": 12,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.47,
      "spread_liquidity": 4.5,
      "momentum_consistency": 2.62,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.34,
      "vwap": 13.378,
      "vwap_slope": -0.0228,
      "rvol": 0.33,
      "volume_acceleration": 1.0,
      "premarket_volume": 165471.0,
      "momentum_pct": 0.34,
      "consolidation_tightness_pct": 0.53,
      "distance_from_pm_high_pct": 0.71,
      "extension_from_vwap_pct": -0.28,
      "spread_pct": 0.15
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 13.435,
    "pm_low": 13.27
  },
  {
    "symbol": "GNW",
    "total_score": 49.78,
    "raw_score": 52.77,
    "breakdown": {
      "price_quality": 4.55,
      "volume_quality": 12.0,
      "rvol": 1.46,
      "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.68,
      "momentum_consistency": 2.11,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.45,
      "vwap": 10.475,
      "vwap_slope": -0.0044,
      "rvol": 0.61,
      "volume_acceleration": 2.16,
      "premarket_volume": 304458.0,
      "momentum_pct": -0.05,
      "consolidation_tightness_pct": 0.1,
      "distance_from_pm_high_pct": 0.57,
      "extension_from_vwap_pct": -0.24,
      "spread_pct": 0.1
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 10.51,
    "pm_low": 10.44
  },
  {
    "symbol": "GSBD",
    "total_score": 49.66,
    "raw_score": 52.64,
    "breakdown": {
      "price_quality": 4.64,
      "volume_quality": 12.0,
      "rvol": 0.66,
      "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.61,
      "spread_liquidity": 4.65,
      "momentum_consistency": 2.67,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.64,
      "vwap": 9.666,
      "vwap_slope": -0.0116,
      "rvol": 0.28,
      "volume_acceleration": 2.47,
      "premarket_volume": 138043.0,
      "momentum_pct": -0.26,
      "consolidation_tightness_pct": 0.41,
      "distance_from_pm_high_pct": 0.52,
      "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": false,
      "vwap_rising": false
    },
    "pm_high": 9.69,
    "pm_low": 9.64
  },
  {
    "symbol": "NXE",
    "total_score": 49.48,
    "raw_score": 52.44,
    "breakdown": {
      "price_quality": 4.19,
      "volume_quality": 12.0,
      "rvol": 1.54,
      "volume_acceleration": 10,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.14,
      "spread_liquidity": 4.69,
      "momentum_consistency": 2.48,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.815,
      "vwap": 10.8896,
      "vwap_slope": -0.0275,
      "rvol": 0.64,
      "volume_acceleration": 2.55,
      "premarket_volume": 320984.0,
      "momentum_pct": -0.51,
      "consolidation_tightness_pct": 0.6,
      "distance_from_pm_high_pct": 1.14,
      "extension_from_vwap_pct": -0.69,
      "spread_pct": 0.09
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 10.9399,
    "pm_low": 10.815
  },
  {
    "symbol": "DFH",
    "total_score": 49.41,
    "raw_score": 52.37,
    "breakdown": {
      "price_quality": 1.61,
      "volume_quality": 4.09,
      "rvol": 0.16,
      "volume_acceleration": 5.87,
      "price_momentum": 0.17,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.94,
      "spread_liquidity": 4.0,
      "momentum_consistency": 4.12,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.39,
      "vwap": 13.3676,
      "vwap_slope": 0.0053,
      "rvol": 0.07,
      "volume_acceleration": 1.59,
      "premarket_volume": 34105.0,
      "momentum_pct": 0.11,
      "consolidation_tightness_pct": 0.19,
      "distance_from_pm_high_pct": 0.07,
      "extension_from_vwap_pct": 0.17,
      "spread_pct": 0.3
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 13.4,
    "pm_low": 13.33
  },
  {
    "symbol": "PRGO",
    "total_score": 49.27,
    "raw_score": 52.23,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 0.75,
      "volume_acceleration": 2.84,
      "price_momentum": 0.26,
      "price_structure": 12,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.61,
      "spread_liquidity": 4.54,
      "momentum_consistency": 2.72,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.535,
      "vwap": 14.5485,
      "vwap_slope": -0.0127,
      "rvol": 0.31,
      "volume_acceleration": 0.82,
      "premarket_volume": 156787.0,
      "momentum_pct": 0.17,
      "consolidation_tightness_pct": 0.24,
      "distance_from_pm_high_pct": 0.51,
      "extension_from_vwap_pct": -0.09,
      "spread_pct": 0.14
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 14.61,
    "pm_low": 14.5
  },
  {
    "symbol": "INMD",
    "total_score": 49.22,
    "raw_score": 52.18,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 7.65,
      "rvol": 0.31,
      "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.92,
      "spread_liquidity": 4.78,
      "momentum_consistency": 2.82,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.905,
      "vwap": 14.9018,
      "vwap_slope": -0.0015,
      "rvol": 0.13,
      "volume_acceleration": 3.23,
      "premarket_volume": 63712.0,
      "momentum_pct": -0.07,
      "consolidation_tightness_pct": 0.1,
      "distance_from_pm_high_pct": 0.1,
      "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.92,
    "pm_low": 14.895
  },
  {
    "symbol": "QTTB",
    "total_score": 49.13,
    "raw_score": 52.07,
    "breakdown": {
      "price_quality": 3.05,
      "volume_quality": 4.79,
      "rvol": 0.19,
      "volume_acceleration": 3.79,
      "price_momentum": 0.82,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 6,
      "spread_liquidity": 4.44,
      "momentum_consistency": 2.59,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.95,
      "vwap": 11.9118,
      "vwap_slope": 0.0012,
      "rvol": 0.08,
      "volume_acceleration": 1.09,
      "premarket_volume": 39954.0,
      "momentum_pct": 0.55,
      "consolidation_tightness_pct": 0.55,
      "distance_from_pm_high_pct": 0.0,
      "extension_from_vwap_pct": 0.32,
      "spread_pct": 0.17
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 11.95,
    "pm_low": 11.885
  },
  {
    "symbol": "FSM",
    "total_score": 49.1,
    "raw_score": 52.05,
    "breakdown": {
      "price_quality": 2.76,
      "volume_quality": 12.0,
      "rvol": 1.5,
      "volume_acceleration": 10,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.76,
      "spread_liquidity": 4.73,
      "momentum_consistency": 2.91,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.24,
      "vwap": 12.2423,
      "vwap_slope": -0.0209,
      "rvol": 0.62,
      "volume_acceleration": 2.34,
      "premarket_volume": 311632.0,
      "momentum_pct": -0.04,
      "consolidation_tightness_pct": 0.2,
      "distance_from_pm_high_pct": 0.32,
      "extension_from_vwap_pct": -0.02,
      "spread_pct": 0.08
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 12.2799,
    "pm_low": 12.17
  },
  {
    "symbol": "HUN",
    "total_score": 49.09,
    "raw_score": 52.04,
    "breakdown": {
      "price_quality": 4.88,
      "volume_quality": 12.0,
      "rvol": 0.87,
      "volume_acceleration": 7.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.81,
      "spread_liquidity": 4.66,
      "momentum_consistency": 3.49,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.885,
      "vwap": 9.8879,
      "vwap_slope": -0.0022,
      "rvol": 0.36,
      "volume_acceleration": 1.79,
      "premarket_volume": 180913.0,
      "momentum_pct": -0.05,
      "consolidation_tightness_pct": 0.2,
      "distance_from_pm_high_pct": 0.25,
      "extension_from_vwap_pct": -0.03,
      "spread_pct": 0.1
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 9.91,
    "pm_low": 9.85
  },
  {
    "symbol": "SMPL",
    "total_score": 49.06,
    "raw_score": 52.0,
    "breakdown": {
      "price_quality": 4.26,
      "volume_quality": 12.0,
      "rvol": 1.08,
      "volume_acceleration": 9.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.51,
      "spread_liquidity": 4.69,
      "momentum_consistency": 2.37,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.74,
      "vwap": 10.764,
      "vwap_slope": -0.0059,
      "rvol": 0.45,
      "volume_acceleration": 1.97,
      "premarket_volume": 224733.0,
      "momentum_pct": -0.23,
      "consolidation_tightness_pct": 0.42,
      "distance_from_pm_high_pct": 0.65,
      "extension_from_vwap_pct": -0.22,
      "spread_pct": 0.09
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 10.81,
    "pm_low": 10.725
  },
  {
    "symbol": "RDW",
    "total_score": 48.95,
    "raw_score": 51.89,
    "breakdown": {
      "price_quality": 3.81,
      "volume_quality": 12.0,
      "rvol": 5.41,
      "volume_acceleration": 4.17,
      "price_momentum": 0.2,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.4,
      "spread_liquidity": 4.7,
      "momentum_consistency": 3.8,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.1901,
      "vwap": 11.2064,
      "vwap_slope": -0.0192,
      "rvol": 2.03,
      "volume_acceleration": 1.42,
      "premarket_volume": 1014094.0,
      "momentum_pct": 0.14,
      "consolidation_tightness_pct": 0.45,
      "distance_from_pm_high_pct": 0.8,
      "extension_from_vwap_pct": -0.15,
      "spread_pct": 0.09
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 11.28,
    "pm_low": 11.105
  },
  {
    "symbol": "DOLE",
    "total_score": 48.87,
    "raw_score": 51.81,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 8.28,
      "rvol": 0.33,
      "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.87,
      "spread_liquidity": 4.76,
      "momentum_consistency": 2.1,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.87,
      "vwap": 13.8554,
      "vwap_slope": 0.0057,
      "rvol": 0.14,
      "volume_acceleration": 0.74,
      "premarket_volume": 69009.0,
      "momentum_pct": -0.18,
      "consolidation_tightness_pct": 0.18,
      "distance_from_pm_high_pct": 0.18,
      "extension_from_vwap_pct": 0.11,
      "spread_pct": 0.07
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 13.895,
    "pm_low": 13.83
  },
  {
    "symbol": "BBCP",
    "total_score": 48.87,
    "raw_score": 51.8,
    "breakdown": {
      "price_quality": 4.65,
      "volume_quality": 6.31,
      "rvol": 0.25,
      "volume_acceleration": 1.84,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.35,
      "spread_liquidity": 3.71,
      "momentum_consistency": 3.28,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.35,
      "vwap": 10.3149,
      "vwap_slope": 0.0054,
      "rvol": 0.11,
      "volume_acceleration": 0.53,
      "premarket_volume": 52594.0,
      "momentum_pct": -0.05,
      "consolidation_tightness_pct": 0.19,
      "distance_from_pm_high_pct": 0.86,
      "extension_from_vwap_pct": 0.34,
      "spread_pct": 0.39
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 10.44,
    "pm_low": 10.15
  },
  {
    "symbol": "SUJA",
    "total_score": 48.86,
    "raw_score": 51.79,
    "breakdown": {
      "price_quality": 4.88,
      "volume_quality": 5.13,
      "rvol": 0.21,
      "volume_acceleration": 2.06,
      "price_momentum": 0.08,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.7,
      "spread_liquidity": 3.99,
      "momentum_consistency": 3.35,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.885,
      "vwap": 9.8387,
      "vwap_slope": 0.0017,
      "rvol": 0.09,
      "volume_acceleration": 0.59,
      "premarket_volume": 42783.0,
      "momentum_pct": 0.05,
      "consolidation_tightness_pct": 0.2,
      "distance_from_pm_high_pct": 0.4,
      "extension_from_vwap_pct": 0.47,
      "spread_pct": 0.3
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 9.925,
    "pm_low": 9.765
  },
  {
    "symbol": "PD",
    "total_score": 48.06,
    "raw_score": 50.94,
    "breakdown": {
      "price_quality": 1.73,
      "volume_quality": 12.0,
      "rvol": 1.03,
      "volume_acceleration": 10,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.8,
      "spread_liquidity": 4.75,
      "momentum_consistency": 3.23,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.265,
      "vwap": 13.2665,
      "vwap_slope": -0.0013,
      "rvol": 0.43,
      "volume_acceleration": 2.37,
      "premarket_volume": 214618.0,
      "momentum_pct": -0.26,
      "consolidation_tightness_pct": 0.41,
      "distance_from_pm_high_pct": 0.26,
      "extension_from_vwap_pct": -0.01,
      "spread_pct": 0.08
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 13.3,
    "pm_low": 13.21
  },
  {
    "symbol": "GPK",
    "total_score": 47.98,
    "raw_score": 50.86,
    "breakdown": {
      "price_quality": 4.94,
      "volume_quality": 12.0,
      "rvol": 5.38,
      "volume_acceleration": 3.63,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.51,
      "spread_liquidity": 4.66,
      "momentum_consistency": 2.34,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.935,
      "vwap": 9.9658,
      "vwap_slope": -0.0095,
      "rvol": 2.02,
      "volume_acceleration": 1.36,
      "premarket_volume": 1008002.0,
      "momentum_pct": -0.1,
      "consolidation_tightness_pct": 0.25,
      "distance_from_pm_high_pct": 0.65,
      "extension_from_vwap_pct": -0.31,
      "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.0,
    "pm_low": 9.915
  },
  {
    "symbol": "VISN",
    "total_score": 47.91,
    "raw_score": 50.79,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 3.15,
      "volume_acceleration": 10,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.6,
      "spread_liquidity": 4.49,
      "momentum_consistency": 1.66,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.495,
      "vwap": 6.5041,
      "vwap_slope": -0.0049,
      "rvol": 1.31,
      "volume_acceleration": 2.58,
      "premarket_volume": 655497.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.08,
      "distance_from_pm_high_pct": 0.54,
      "extension_from_vwap_pct": -0.14,
      "spread_pct": 0.15
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 6.53,
    "pm_low": 6.49
  },
  {
    "symbol": "TRIP",
    "total_score": 47.91,
    "raw_score": 50.78,
    "breakdown": {
      "price_quality": 4.03,
      "volume_quality": 12.0,
      "rvol": 1.38,
      "volume_acceleration": 9.56,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.26,
      "spread_liquidity": 4.63,
      "momentum_consistency": 1.52,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.03,
      "vwap": 9.0709,
      "vwap_slope": -0.0074,
      "rvol": 0.57,
      "volume_acceleration": 1.96,
      "premarket_volume": 287484.0,
      "momentum_pct": -0.17,
      "consolidation_tightness_pct": 0.17,
      "distance_from_pm_high_pct": 0.99,
      "extension_from_vwap_pct": -0.45,
      "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.12,
    "pm_low": 9.03
  },
  {
    "symbol": "MGTX",
    "total_score": 47.87,
    "raw_score": 50.74,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 5.06,
      "rvol": 0.2,
      "volume_acceleration": 2.62,
      "price_momentum": 0.17,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.73,
      "spread_liquidity": 4.27,
      "momentum_consistency": 2.4,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.64,
      "vwap": 13.6394,
      "vwap_slope": -0.0017,
      "rvol": 0.08,
      "volume_acceleration": 0.75,
      "premarket_volume": 42181.0,
      "momentum_pct": 0.11,
      "consolidation_tightness_pct": 0.15,
      "distance_from_pm_high_pct": 0.37,
      "extension_from_vwap_pct": 0.0,
      "spread_pct": 0.22
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 13.69,
    "pm_low": 13.61
  },
  {
    "symbol": "CXM",
    "total_score": 47.69,
    "raw_score": 50.55,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 1.63,
      "volume_acceleration": 3.81,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.8,
      "spread_liquidity": 4.4,
      "momentum_consistency": 2.21,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.555,
      "vwap": 5.5477,
      "vwap_slope": -0.0006,
      "rvol": 0.68,
      "volume_acceleration": 1.1,
      "premarket_volume": 340010.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.18,
      "distance_from_pm_high_pct": 0.27,
      "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": false
    },
    "pm_high": 5.57,
    "pm_low": 5.53
  },
  {
    "symbol": "SD",
    "total_score": 47.6,
    "raw_score": 50.46,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 4.3,
      "rvol": 0.17,
      "volume_acceleration": 3.69,
      "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.81,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.565,
      "vwap": 14.5302,
      "vwap_slope": 0.0356,
      "rvol": 0.07,
      "volume_acceleration": 1.06,
      "premarket_volume": 35809.0,
      "momentum_pct": -0.03,
      "consolidation_tightness_pct": 0.27,
      "distance_from_pm_high_pct": 0.24,
      "extension_from_vwap_pct": 0.24,
      "spread_pct": 0.07
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 14.6,
    "pm_low": 14.455
  },
  {
    "symbol": "SHOE",
    "total_score": 47.6,
    "raw_score": 50.46,
    "breakdown": {
      "price_quality": 1.63,
      "volume_quality": 7.37,
      "rvol": 0.29,
      "volume_acceleration": 1.91,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.69,
      "spread_liquidity": 4.5,
      "momentum_consistency": 2.67,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.37,
      "vwap": 13.3577,
      "vwap_slope": 0.0031,
      "rvol": 0.12,
      "volume_acceleration": 0.55,
      "premarket_volume": 61378.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.0,
      "distance_from_pm_high_pct": 0.41,
      "extension_from_vwap_pct": 0.09,
      "spread_pct": 0.15
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 13.425,
    "pm_low": 13.325
  },
  {
    "symbol": "SBET",
    "total_score": 47.5,
    "raw_score": 50.35,
    "breakdown": {
      "price_quality": 3.79,
      "volume_quality": 12.0,
      "rvol": 6.34,
      "volume_acceleration": 2.97,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 4.78,
      "spread_liquidity": 4.62,
      "momentum_consistency": 3.45,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.795,
      "vwap": 8.8651,
      "vwap_slope": -0.0155,
      "rvol": 2.38,
      "volume_acceleration": 0.85,
      "premarket_volume": 1188335.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.23,
      "distance_from_pm_high_pct": 1.62,
      "extension_from_vwap_pct": -0.79,
      "spread_pct": 0.11
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 8.9399,
    "pm_low": 8.7601
  },
  {
    "symbol": "RSVR",
    "total_score": 47.38,
    "raw_score": 50.22,
    "breakdown": {
      "price_quality": 4.14,
      "volume_quality": 2.71,
      "rvol": 0.11,
      "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": 4.51,
      "spread_liquidity": 4.64,
      "momentum_consistency": 4.0,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.14,
      "vwap": 9.1038,
      "vwap_slope": 0.0519,
      "rvol": 0.05,
      "volume_acceleration": 1.07,
      "premarket_volume": 22602.0,
      "momentum_pct": -0.92,
      "consolidation_tightness_pct": 2.06,
      "distance_from_pm_high_pct": 1.98,
      "extension_from_vwap_pct": 0.4,
      "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.325,
    "pm_low": 8.95
  },
  {
    "symbol": "WEST",
    "total_score": 47.28,
    "raw_score": 50.12,
    "breakdown": {
      "price_quality": 2.87,
      "volume_quality": 3.19,
      "rvol": 0.13,
      "volume_acceleration": 6.0,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.86,
      "spread_liquidity": 3.73,
      "momentum_consistency": 1.94,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.87,
      "vwap": 7.8507,
      "vwap_slope": 0.0087,
      "rvol": 0.05,
      "volume_acceleration": 1.6,
      "premarket_volume": 26596.0,
      "momentum_pct": -0.13,
      "consolidation_tightness_pct": 0.19,
      "distance_from_pm_high_pct": 0.19,
      "extension_from_vwap_pct": 0.25,
      "spread_pct": 0.38
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 7.885,
    "pm_low": 7.82
  },
  {
    "symbol": "ALMU",
    "total_score": 47.27,
    "raw_score": 50.1,
    "breakdown": {
      "price_quality": 1.7,
      "volume_quality": 5.14,
      "rvol": 0.21,
      "volume_acceleration": 10,
      "price_momentum": 0.0,
      "price_structure": 12,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 4.97,
      "spread_liquidity": 2.49,
      "momentum_consistency": 3.59,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.295,
      "vwap": 13.3202,
      "vwap_slope": -0.0686,
      "rvol": 0.09,
      "volume_acceleration": 3.67,
      "premarket_volume": 42861.0,
      "momentum_pct": -0.06,
      "consolidation_tightness_pct": 0.45,
      "distance_from_pm_high_pct": 1.37,
      "extension_from_vwap_pct": -0.19,
      "spread_pct": 0.75
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 13.48,
    "pm_low": 13.22
  },
  {
    "symbol": "EGAN",
    "total_score": 47.21,
    "raw_score": 50.05,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 5.92,
      "rvol": 0.24,
      "volume_acceleration": 0.89,
      "price_momentum": 0.87,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.71,
      "spread_liquidity": 3.08,
      "momentum_consistency": 3.03,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.21,
      "vwap": 5.2013,
      "vwap_slope": -0.0006,
      "rvol": 0.1,
      "volume_acceleration": 0.26,
      "premarket_volume": 49352.0,
      "momentum_pct": 0.58,
      "consolidation_tightness_pct": 0.96,
      "distance_from_pm_high_pct": 0.38,
      "extension_from_vwap_pct": 0.17,
      "spread_pct": 0.58
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 5.23,
    "pm_low": 5.17
  },
  {
    "symbol": "VSTS",
    "total_score": 47.17,
    "raw_score": 50.0,
    "breakdown": {
      "price_quality": 1.52,
      "volume_quality": 12.0,
      "rvol": 1.05,
      "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.17,
      "spread_liquidity": 4.51,
      "momentum_consistency": 3.35,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.48,
      "vwap": 13.5577,
      "vwap_slope": -0.0263,
      "rvol": 0.44,
      "volume_acceleration": 2.68,
      "premarket_volume": 219075.0,
      "momentum_pct": -0.22,
      "consolidation_tightness_pct": 0.7,
      "distance_from_pm_high_pct": 1.1,
      "extension_from_vwap_pct": -0.57,
      "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.63,
    "pm_low": 13.455
  },
  {
    "symbol": "TGB",
    "total_score": 47.16,
    "raw_score": 49.99,
    "breakdown": {
      "price_quality": 4.04,
      "volume_quality": 12.0,
      "rvol": 4.77,
      "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.55,
      "spread_liquidity": 4.63,
      "momentum_consistency": 2.95,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.045,
      "vwap": 9.0537,
      "vwap_slope": -0.0008,
      "rvol": 1.79,
      "volume_acceleration": 1.36,
      "premarket_volume": 894108.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.44,
      "distance_from_pm_high_pct": 0.6,
      "extension_from_vwap_pct": -0.1,
      "spread_pct": 0.11
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 9.1,
    "pm_low": 9.02
  },
  {
    "symbol": "QXO",
    "total_score": 47.14,
    "raw_score": 49.97,
    "breakdown": {
      "price_quality": 1.82,
      "volume_quality": 12.0,
      "rvol": 9.35,
      "volume_acceleration": 1.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.3,
      "spread_liquidity": 4.75,
      "momentum_consistency": 2.58,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.18,
      "vwap": 13.2514,
      "vwap_slope": -0.0124,
      "rvol": 3.51,
      "volume_acceleration": 1.18,
      "premarket_volume": 1753150.0,
      "momentum_pct": -0.19,
      "consolidation_tightness_pct": 0.3,
      "distance_from_pm_high_pct": 0.94,
      "extension_from_vwap_pct": -0.54,
      "spread_pct": 0.08
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 13.305,
    "pm_low": 13.18
  },
  {
    "symbol": "RMNI",
    "total_score": 47.12,
    "raw_score": 49.94,
    "breakdown": {
      "price_quality": 0.0,
      "volume_quality": 7.89,
      "rvol": 0.32,
      "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.61,
      "spread_liquidity": 4.3,
      "momentum_consistency": 2.24,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 4.73,
      "vwap": 4.7304,
      "vwap_slope": 0.0011,
      "rvol": 0.13,
      "volume_acceleration": 2.77,
      "premarket_volume": 65712.0,
      "momentum_pct": -0.11,
      "consolidation_tightness_pct": 0.42,
      "distance_from_pm_high_pct": 0.53,
      "extension_from_vwap_pct": -0.01,
      "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.755,
    "pm_low": 4.705
  },
  {
    "symbol": "BLZE",
    "total_score": 47.11,
    "raw_score": 49.94,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 1.22,
      "volume_acceleration": 2.8,
      "price_momentum": 0.05,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.41,
      "spread_liquidity": 4.52,
      "momentum_consistency": 3.23,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.99,
      "vwap": 13.9808,
      "vwap_slope": -0.0072,
      "rvol": 0.51,
      "volume_acceleration": 0.8,
      "premarket_volume": 254504.0,
      "momentum_pct": 0.04,
      "consolidation_tightness_pct": 0.43,
      "distance_from_pm_high_pct": 0.78,
      "extension_from_vwap_pct": 0.07,
      "spread_pct": 0.14
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 14.1,
    "pm_low": 13.89
  },
  {
    "symbol": "RWAY",
    "total_score": 47.03,
    "raw_score": 49.85,
    "breakdown": {
      "price_quality": 1.57,
      "volume_quality": 9.89,
      "rvol": 0.4,
      "volume_acceleration": 5.02,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.55,
      "spread_liquidity": 4.49,
      "momentum_consistency": 3.33,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.57,
      "vwap": 6.5751,
      "vwap_slope": 0.0134,
      "rvol": 0.16,
      "volume_acceleration": 1.5,
      "premarket_volume": 82428.0,
      "momentum_pct": -0.3,
      "consolidation_tightness_pct": 0.61,
      "distance_from_pm_high_pct": 0.61,
      "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.61,
    "pm_low": 6.54
  },
  {
    "symbol": "KRO",
    "total_score": 46.98,
    "raw_score": 49.79,
    "breakdown": {
      "price_quality": 3.75,
      "volume_quality": 3.01,
      "rvol": 0.12,
      "volume_acceleration": 3.44,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.74,
      "spread_liquidity": 3.86,
      "momentum_consistency": 3.47,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.75,
      "vwap": 8.7355,
      "vwap_slope": 0.0195,
      "rvol": 0.05,
      "volume_acceleration": 0.99,
      "premarket_volume": 25119.0,
      "momentum_pct": -0.23,
      "consolidation_tightness_pct": 0.34,
      "distance_from_pm_high_pct": 0.34,
      "extension_from_vwap_pct": 0.17,
      "spread_pct": 0.34
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 8.78,
    "pm_low": 8.66
  },
  {
    "symbol": "CHPT",
    "total_score": 46.95,
    "raw_score": 49.77,
    "breakdown": {
      "price_quality": 4.43,
      "volume_quality": 12.0,
      "rvol": 2.35,
      "volume_acceleration": 6.8,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 3.63,
      "spread_liquidity": 4.29,
      "momentum_consistency": 3.86,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.4309,
      "vwap": 9.6006,
      "vwap_slope": -0.0325,
      "rvol": 0.98,
      "volume_acceleration": 1.68,
      "premarket_volume": 490284.0,
      "momentum_pct": -1.3,
      "consolidation_tightness_pct": 2.16,
      "distance_from_pm_high_pct": 3.16,
      "extension_from_vwap_pct": -1.77,
      "spread_pct": 0.21
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 9.7382,
    "pm_low": 9.42
  },
  {
    "symbol": "TAC",
    "total_score": 46.81,
    "raw_score": 49.62,
    "breakdown": {
      "price_quality": 2.53,
      "volume_quality": 11.25,
      "rvol": 0.45,
      "volume_acceleration": 2.27,
      "price_momentum": 0.12,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.76,
      "spread_liquidity": 4.73,
      "momentum_consistency": 2.91,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.47,
      "vwap": 12.4739,
      "vwap_slope": 0.0016,
      "rvol": 0.19,
      "volume_acceleration": 0.65,
      "premarket_volume": 93779.0,
      "momentum_pct": 0.08,
      "consolidation_tightness_pct": 0.08,
      "distance_from_pm_high_pct": 0.32,
      "extension_from_vwap_pct": -0.03,
      "spread_pct": 0.08
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": true
    },
    "pm_high": 12.51,
    "pm_low": 12.44
  },
  {
    "symbol": "ALHC",
    "total_score": 46.57,
    "raw_score": 49.37,
    "breakdown": {
      "price_quality": 1.55,
      "volume_quality": 12.0,
      "rvol": 1.16,
      "volume_acceleration": 2.51,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.75,
      "spread_liquidity": 4.75,
      "momentum_consistency": 2.44,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.445,
      "vwap": 13.4282,
      "vwap_slope": -0.0059,
      "rvol": 0.48,
      "volume_acceleration": 1.25,
      "premarket_volume": 241363.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.48,
      "distance_from_pm_high_pct": 0.33,
      "extension_from_vwap_pct": 0.12,
      "spread_pct": 0.07
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 13.49,
    "pm_low": 13.34
  },
  {
    "symbol": "EQX",
    "total_score": 46.56,
    "raw_score": 49.35,
    "breakdown": {
      "price_quality": 2.34,
      "volume_quality": 12.0,
      "rvol": 4.08,
      "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": 5.56,
      "spread_liquidity": 4.74,
      "momentum_consistency": 2.44,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.66,
      "vwap": 12.6857,
      "vwap_slope": -0.0159,
      "rvol": 1.53,
      "volume_acceleration": 1.58,
      "premarket_volume": 765271.0,
      "momentum_pct": -0.12,
      "consolidation_tightness_pct": 0.35,
      "distance_from_pm_high_pct": 0.59,
      "extension_from_vwap_pct": -0.2,
      "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.735,
    "pm_low": 12.615
  },
  {
    "symbol": "HSLV",
    "total_score": 46.55,
    "raw_score": 49.34,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 6.05,
      "rvol": 0.24,
      "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.19,
      "spread_liquidity": 4.43,
      "momentum_consistency": 2.73,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.865,
      "vwap": 5.8632,
      "vwap_slope": -0.0351,
      "rvol": 0.1,
      "volume_acceleration": 3.11,
      "premarket_volume": 50381.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.43,
      "distance_from_pm_high_pct": 1.08,
      "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.929,
    "pm_low": 5.81
  },
  {
    "symbol": "TTD",
    "total_score": 46.48,
    "raw_score": 49.27,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 6.99,
      "volume_acceleration": 3.53,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.34,
      "spread_liquidity": 4.76,
      "momentum_consistency": 2.76,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.995,
      "vwap": 14.0582,
      "vwap_slope": -0.0188,
      "rvol": 2.62,
      "volume_acceleration": 1.35,
      "premarket_volume": 1310250.0,
      "momentum_pct": -0.07,
      "consolidation_tightness_pct": 0.21,
      "distance_from_pm_high_pct": 0.89,
      "extension_from_vwap_pct": -0.45,
      "spread_pct": 0.07
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 14.12,
    "pm_low": 13.98
  },
  {
    "symbol": "ODD",
    "total_score": 46.48,
    "raw_score": 49.27,
    "breakdown": {
      "price_quality": 1.68,
      "volume_quality": 12.0,
      "rvol": 0.54,
      "volume_acceleration": 10,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.41,
      "spread_liquidity": 4.25,
      "momentum_consistency": 3.0,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.325,
      "vwap": 13.3277,
      "vwap_slope": -0.0216,
      "rvol": 0.22,
      "volume_acceleration": 2.54,
      "premarket_volume": 111622.0,
      "momentum_pct": -0.04,
      "consolidation_tightness_pct": 0.53,
      "distance_from_pm_high_pct": 0.78,
      "extension_from_vwap_pct": -0.02,
      "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.43,
    "pm_low": 13.195
  },
  {
    "symbol": "CV",
    "total_score": 46.45,
    "raw_score": 49.24,
    "breakdown": {
      "price_quality": 1.62,
      "volume_quality": 2.68,
      "rvol": 0.11,
      "volume_acceleration": 7.48,
      "price_momentum": 2.07,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.55,
      "spread_liquidity": 0.49,
      "momentum_consistency": 2.84,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.62,
      "vwap": 6.5883,
      "vwap_slope": 0.01,
      "rvol": 0.04,
      "volume_acceleration": 1.75,
      "premarket_volume": 22350.0,
      "momentum_pct": 1.38,
      "consolidation_tightness_pct": 1.97,
      "distance_from_pm_high_pct": 0.6,
      "extension_from_vwap_pct": 0.48,
      "spread_pct": 1.35
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 6.66,
    "pm_low": 6.522
  },
  {
    "symbol": "SRAD",
    "total_score": 46.42,
    "raw_score": 49.21,
    "breakdown": {
      "price_quality": 2.24,
      "volume_quality": 10.08,
      "rvol": 0.4,
      "volume_acceleration": 2.66,
      "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.74,
      "momentum_consistency": 3.83,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.755,
      "vwap": 12.7742,
      "vwap_slope": 0.0029,
      "rvol": 0.17,
      "volume_acceleration": 0.77,
      "premarket_volume": 83997.0,
      "momentum_pct": -0.12,
      "consolidation_tightness_pct": 0.19,
      "distance_from_pm_high_pct": 0.47,
      "extension_from_vwap_pct": -0.15,
      "spread_pct": 0.08
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": true
    },
    "pm_high": 12.815,
    "pm_low": 12.745
  },
  {
    "symbol": "ARHS",
    "total_score": 46.41,
    "raw_score": 49.2,
    "breakdown": {
      "price_quality": 3.47,
      "volume_quality": 10.38,
      "rvol": 0.42,
      "volume_acceleration": 1.66,
      "price_momentum": 0.09,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.87,
      "spread_liquidity": 4.61,
      "momentum_consistency": 3.5,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.475,
      "vwap": 8.4715,
      "vwap_slope": -0.0027,
      "rvol": 0.17,
      "volume_acceleration": 0.48,
      "premarket_volume": 86505.0,
      "momentum_pct": 0.06,
      "consolidation_tightness_pct": 0.35,
      "distance_from_pm_high_pct": 0.18,
      "extension_from_vwap_pct": 0.04,
      "spread_pct": 0.12
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 8.49,
    "pm_low": 8.44
  },
  {
    "symbol": "FOSL",
    "total_score": 46.28,
    "raw_score": 49.05,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 4.21,
      "rvol": 0.17,
      "volume_acceleration": 10,
      "price_momentum": 1.04,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 6,
      "spread_liquidity": 3.69,
      "momentum_consistency": 3.25,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.09,
      "vwap": 5.0575,
      "vwap_slope": -0.0002,
      "rvol": 0.07,
      "volume_acceleration": 2.21,
      "premarket_volume": 35059.0,
      "momentum_pct": 0.69,
      "consolidation_tightness_pct": 0.69,
      "distance_from_pm_high_pct": 0.0,
      "extension_from_vwap_pct": 0.64,
      "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.09,
    "pm_low": 5.03
  },
  {
    "symbol": "HLMN",
    "total_score": 46.14,
    "raw_score": 48.9,
    "breakdown": {
      "price_quality": 2.55,
      "volume_quality": 12.0,
      "rvol": 0.64,
      "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.12,
      "spread_liquidity": 4.56,
      "momentum_consistency": 1.63,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.555,
      "vwap": 7.5924,
      "vwap_slope": -0.017,
      "rvol": 0.27,
      "volume_acceleration": 3.12,
      "premarket_volume": 134161.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.13,
      "distance_from_pm_high_pct": 1.18,
      "extension_from_vwap_pct": -0.49,
      "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.645,
    "pm_low": 7.535
  },
  {
    "symbol": "QDEL",
    "total_score": 46.11,
    "raw_score": 48.88,
    "breakdown": {
      "price_quality": 1.61,
      "volume_quality": 11.03,
      "rvol": 0.44,
      "volume_acceleration": 2.83,
      "price_momentum": 0.22,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.8,
      "spread_liquidity": 4.5,
      "momentum_consistency": 3.23,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.39,
      "vwap": 13.3799,
      "vwap_slope": -0.0038,
      "rvol": 0.18,
      "volume_acceleration": 0.81,
      "premarket_volume": 91948.0,
      "momentum_pct": 0.15,
      "consolidation_tightness_pct": 0.22,
      "distance_from_pm_high_pct": 0.26,
      "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": true,
      "vwap_rising": false
    },
    "pm_high": 13.425,
    "pm_low": 13.3
  },
  {
    "symbol": "HNST",
    "total_score": 46.07,
    "raw_score": 48.83,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 1.12,
      "volume_acceleration": 2.83,
      "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.42,
      "momentum_consistency": 1.89,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.75,
      "vwap": 5.7425,
      "vwap_slope": -0.0015,
      "rvol": 0.47,
      "volume_acceleration": 0.81,
      "premarket_volume": 234012.0,
      "momentum_pct": 0.09,
      "consolidation_tightness_pct": 0.16,
      "distance_from_pm_high_pct": 0.35,
      "extension_from_vwap_pct": 0.13,
      "spread_pct": 0.17
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 5.77,
    "pm_low": 5.715
  },
  {
    "symbol": "JBS",
    "total_score": 45.97,
    "raw_score": 48.72,
    "breakdown": {
      "price_quality": 2.16,
      "volume_quality": 12.0,
      "rvol": 3.11,
      "volume_acceleration": 5.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.71,
      "spread_liquidity": 4.74,
      "momentum_consistency": 3.03,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.84,
      "vwap": 12.8451,
      "vwap_slope": -0.0031,
      "rvol": 1.3,
      "volume_acceleration": 1.56,
      "premarket_volume": 647830.0,
      "momentum_pct": -0.04,
      "consolidation_tightness_pct": 0.23,
      "distance_from_pm_high_pct": 0.39,
      "extension_from_vwap_pct": -0.04,
      "spread_pct": 0.08
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 12.89,
    "pm_low": 12.8
  },
  {
    "symbol": "BCBP",
    "total_score": 45.96,
    "raw_score": 48.72,
    "breakdown": {
      "price_quality": 3.7,
      "volume_quality": 3.3,
      "rvol": 0.13,
      "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.83,
      "spread_liquidity": 4.62,
      "momentum_consistency": 1.94,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.7,
      "vwap": 8.6967,
      "vwap_slope": -0.0026,
      "rvol": 0.06,
      "volume_acceleration": 2.83,
      "premarket_volume": 27519.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.06,
      "distance_from_pm_high_pct": 0.23,
      "extension_from_vwap_pct": 0.04,
      "spread_pct": 0.11
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 8.72,
    "pm_low": 8.68
  },
  {
    "symbol": "STDN",
    "total_score": 45.96,
    "raw_score": 48.72,
    "breakdown": {
      "price_quality": 1.62,
      "volume_quality": 10.97,
      "rvol": 0.44,
      "volume_acceleration": 3.24,
      "price_momentum": 0.61,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.27,
      "spread_liquidity": 3.75,
      "momentum_consistency": 3.62,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.3841,
      "vwap": 13.3807,
      "vwap_slope": -0.0081,
      "rvol": 0.18,
      "volume_acceleration": 0.93,
      "premarket_volume": 91442.0,
      "momentum_pct": 0.41,
      "consolidation_tightness_pct": 0.75,
      "distance_from_pm_high_pct": 0.97,
      "extension_from_vwap_pct": 0.03,
      "spread_pct": 0.38
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 13.515,
    "pm_low": 13.28
  },
  {
    "symbol": "SXC",
    "total_score": 45.68,
    "raw_score": 48.42,
    "breakdown": {
      "price_quality": 4.71,
      "volume_quality": 7.85,
      "rvol": 0.31,
      "volume_acceleration": 2.43,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.93,
      "spread_liquidity": 4.68,
      "momentum_consistency": 3.32,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.29,
      "vwap": 10.2753,
      "vwap_slope": -0.0008,
      "rvol": 0.13,
      "volume_acceleration": 0.7,
      "premarket_volume": 65400.0,
      "momentum_pct": -0.05,
      "consolidation_tightness_pct": 0.24,
      "distance_from_pm_high_pct": 0.1,
      "extension_from_vwap_pct": 0.14,
      "spread_pct": 0.1
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 10.3,
    "pm_low": 10.245
  },
  {
    "symbol": "UPWK",
    "total_score": 45.61,
    "raw_score": 48.35,
    "breakdown": {
      "price_quality": 3.36,
      "volume_quality": 12.0,
      "rvol": 0.54,
      "volume_acceleration": 8.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.2,
      "spread_liquidity": 4.6,
      "momentum_consistency": 1.26,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.355,
      "vwap": 8.4023,
      "vwap_slope": -0.0204,
      "rvol": 0.23,
      "volume_acceleration": 1.9,
      "premarket_volume": 112874.0,
      "momentum_pct": -0.12,
      "consolidation_tightness_pct": 0.18,
      "distance_from_pm_high_pct": 1.07,
      "extension_from_vwap_pct": -0.56,
      "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.445,
    "pm_low": 8.35
  },
  {
    "symbol": "CODA",
    "total_score": 45.6,
    "raw_score": 48.34,
    "breakdown": {
      "price_quality": 4.84,
      "volume_quality": 3.35,
      "rvol": 0.13,
      "volume_acceleration": 1.34,
      "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.02,
      "momentum_consistency": 2.26,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.165,
      "vwap": 10.1489,
      "vwap_slope": 0.0021,
      "rvol": 0.06,
      "volume_acceleration": 0.39,
      "premarket_volume": 27923.0,
      "momentum_pct": 0.05,
      "consolidation_tightness_pct": 0.2,
      "distance_from_pm_high_pct": 0.1,
      "extension_from_vwap_pct": 0.16,
      "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": 10.175,
    "pm_low": 10.13
  },
  {
    "symbol": "VELO",
    "total_score": 45.56,
    "raw_score": 48.29,
    "breakdown": {
      "price_quality": 3.05,
      "volume_quality": 9.84,
      "rvol": 0.39,
      "volume_acceleration": 10,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.22,
      "spread_liquidity": 3.88,
      "momentum_consistency": 3.5,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.945,
      "vwap": 11.984,
      "vwap_slope": -0.0163,
      "rvol": 0.16,
      "volume_acceleration": 2.0,
      "premarket_volume": 81959.0,
      "momentum_pct": -0.13,
      "consolidation_tightness_pct": 0.17,
      "distance_from_pm_high_pct": 1.04,
      "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": false
    },
    "pm_high": 12.07,
    "pm_low": 11.88
  },
  {
    "symbol": "SWBI",
    "total_score": 45.5,
    "raw_score": 48.23,
    "breakdown": {
      "price_quality": 1.8,
      "volume_quality": 10.01,
      "rvol": 0.4,
      "volume_acceleration": 3.76,
      "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.5,
      "momentum_consistency": 2.44,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.2,
      "vwap": 13.2089,
      "vwap_slope": 0.002,
      "rvol": 0.17,
      "volume_acceleration": 1.08,
      "premarket_volume": 83413.0,
      "momentum_pct": -0.3,
      "consolidation_tightness_pct": 0.3,
      "distance_from_pm_high_pct": 0.38,
      "extension_from_vwap_pct": -0.07,
      "spread_pct": 0.15
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": true
    },
    "pm_high": 13.25,
    "pm_low": 13.16
  },
  {
    "symbol": "LYG",
    "total_score": 45.41,
    "raw_score": 48.13,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 4.41,
      "volume_acceleration": 5.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.69,
      "spread_liquidity": 4.45,
      "momentum_consistency": 2.17,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.025,
      "vwap": 6.0372,
      "vwap_slope": -0.0043,
      "rvol": 1.65,
      "volume_acceleration": 1.55,
      "premarket_volume": 826982.0,
      "momentum_pct": -0.07,
      "consolidation_tightness_pct": 0.17,
      "distance_from_pm_high_pct": 0.41,
      "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.05,
    "pm_low": 6.02
  },
  {
    "symbol": "KRNY",
    "total_score": 45.11,
    "raw_score": 47.82,
    "breakdown": {
      "price_quality": 5.0,
      "volume_quality": 7.19,
      "rvol": 0.29,
      "volume_acceleration": 10,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.52,
      "spread_liquidity": 4.67,
      "momentum_consistency": 2.76,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.0,
      "vwap": 10.0265,
      "vwap_slope": -0.0255,
      "rvol": 0.12,
      "volume_acceleration": 3.15,
      "premarket_volume": 59907.0,
      "momentum_pct": -0.1,
      "consolidation_tightness_pct": 0.4,
      "distance_from_pm_high_pct": 0.65,
      "extension_from_vwap_pct": -0.26,
      "spread_pct": 0.1
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 10.065,
    "pm_low": 9.99
  },
  {
    "symbol": "WU",
    "total_score": 45.09,
    "raw_score": 47.8,
    "breakdown": {
      "price_quality": 2.04,
      "volume_quality": 12.0,
      "rvol": 2.5,
      "volume_acceleration": 5.74,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.73,
      "spread_liquidity": 4.53,
      "momentum_consistency": 2.86,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.035,
      "vwap": 7.0489,
      "vwap_slope": -0.0018,
      "rvol": 1.04,
      "volume_acceleration": 1.57,
      "premarket_volume": 521215.0,
      "momentum_pct": -0.2,
      "consolidation_tightness_pct": 0.36,
      "distance_from_pm_high_pct": 0.35,
      "extension_from_vwap_pct": -0.2,
      "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.06,
    "pm_low": 7.03
  },
  {
    "symbol": "MTRX",
    "total_score": 45.08,
    "raw_score": 47.78,
    "breakdown": {
      "price_quality": 4.16,
      "volume_quality": 7.2,
      "rvol": 0.29,
      "volume_acceleration": 1.87,
      "price_momentum": 0.14,
      "price_structure": 12,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.66,
      "spread_liquidity": 4.38,
      "momentum_consistency": 2.09,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.84,
      "vwap": 10.8572,
      "vwap_slope": -0.0047,
      "rvol": 0.12,
      "volume_acceleration": 0.54,
      "premarket_volume": 60011.0,
      "momentum_pct": 0.09,
      "consolidation_tightness_pct": 0.14,
      "distance_from_pm_high_pct": 0.46,
      "extension_from_vwap_pct": -0.16,
      "spread_pct": 0.18
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 10.89,
    "pm_low": 10.82
  },
  {
    "symbol": "RITM",
    "total_score": 44.98,
    "raw_score": 47.68,
    "breakdown": {
      "price_quality": 4.97,
      "volume_quality": 12.0,
      "rvol": 2.33,
      "volume_acceleration": 3.18,
      "price_momentum": 0.08,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.78,
      "spread_liquidity": 4.67,
      "momentum_consistency": 2.29,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.97,
      "vwap": 9.9724,
      "vwap_slope": -0.0024,
      "rvol": 0.97,
      "volume_acceleration": 1.32,
      "premarket_volume": 485195.0,
      "momentum_pct": 0.05,
      "consolidation_tightness_pct": 0.35,
      "distance_from_pm_high_pct": 0.3,
      "extension_from_vwap_pct": -0.02,
      "spread_pct": 0.1
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 10.0,
    "pm_low": 9.95
  },
  {
    "symbol": "FLNC",
    "total_score": 44.91,
    "raw_score": 47.6,
    "breakdown": {
      "price_quality": 3.9,
      "volume_quality": 12.0,
      "rvol": 4.05,
      "volume_acceleration": 1.94,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.43,
      "spread_liquidity": 4.7,
      "momentum_consistency": 3.17,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.095,
      "vwap": 11.1243,
      "vwap_slope": -0.0044,
      "rvol": 1.52,
      "volume_acceleration": 1.19,
      "premarket_volume": 759420.0,
      "momentum_pct": -0.05,
      "consolidation_tightness_pct": 0.27,
      "distance_from_pm_high_pct": 0.76,
      "extension_from_vwap_pct": -0.26,
      "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.18,
    "pm_low": 11.0582
  },
  {
    "symbol": "SVV",
    "total_score": 44.87,
    "raw_score": 47.56,
    "breakdown": {
      "price_quality": 4.87,
      "volume_quality": 8.65,
      "rvol": 0.35,
      "volume_acceleration": 9.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.59,
      "spread_liquidity": 4.67,
      "momentum_consistency": 1.39,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.13,
      "vwap": 10.1516,
      "vwap_slope": -0.0103,
      "rvol": 0.14,
      "volume_acceleration": 1.96,
      "premarket_volume": 72071.0,
      "momentum_pct": -0.05,
      "consolidation_tightness_pct": 0.1,
      "distance_from_pm_high_pct": 0.54,
      "extension_from_vwap_pct": -0.21,
      "spread_pct": 0.1
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 10.185,
    "pm_low": 10.125
  },
  {
    "symbol": "RUN",
    "total_score": 44.85,
    "raw_score": 47.54,
    "breakdown": {
      "price_quality": 4.17,
      "volume_quality": 12.0,
      "rvol": 2.17,
      "volume_acceleration": 3.81,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.51,
      "spread_liquidity": 4.64,
      "momentum_consistency": 2.85,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.1699,
      "vwap": 9.2035,
      "vwap_slope": -0.0052,
      "rvol": 0.9,
      "volume_acceleration": 1.09,
      "premarket_volume": 451119.0,
      "momentum_pct": -0.16,
      "consolidation_tightness_pct": 0.38,
      "distance_from_pm_high_pct": 0.65,
      "extension_from_vwap_pct": -0.37,
      "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.23,
    "pm_low": 9.16
  },
  {
    "symbol": "FRSH",
    "total_score": 44.75,
    "raw_score": 47.43,
    "breakdown": {
      "price_quality": 2.86,
      "volume_quality": 12.0,
      "rvol": 1.59,
      "volume_acceleration": 5.32,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.63,
      "spread_liquidity": 4.73,
      "momentum_consistency": 2.91,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.145,
      "vwap": 12.1602,
      "vwap_slope": -0.0052,
      "rvol": 0.66,
      "volume_acceleration": 1.53,
      "premarket_volume": 331515.0,
      "momentum_pct": -0.08,
      "consolidation_tightness_pct": 0.29,
      "distance_from_pm_high_pct": 0.49,
      "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.205,
    "pm_low": 12.1208
  },
  {
    "symbol": "SENS",
    "total_score": 44.71,
    "raw_score": 47.39,
    "breakdown": {
      "price_quality": 4.42,
      "volume_quality": 5.86,
      "rvol": 0.23,
      "volume_acceleration": 2.31,
      "price_momentum": 0.26,
      "price_structure": 12,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.18,
      "spread_liquidity": 4.29,
      "momentum_consistency": 2.84,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.4162,
      "vwap": 9.4536,
      "vwap_slope": -0.0223,
      "rvol": 0.1,
      "volume_acceleration": 0.66,
      "premarket_volume": 48846.0,
      "momentum_pct": 0.17,
      "consolidation_tightness_pct": 0.39,
      "distance_from_pm_high_pct": 1.09,
      "extension_from_vwap_pct": -0.4,
      "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": 9.52,
    "pm_low": 9.38
  },
  {
    "symbol": "HAYW",
    "total_score": 44.66,
    "raw_score": 47.34,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 1.18,
      "volume_acceleration": 7.74,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.72,
      "spread_liquidity": 4.75,
      "momentum_consistency": 2.03,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.515,
      "vwap": 13.5421,
      "vwap_slope": -0.003,
      "rvol": 0.49,
      "volume_acceleration": 1.77,
      "premarket_volume": 246718.0,
      "momentum_pct": -0.18,
      "consolidation_tightness_pct": 0.22,
      "distance_from_pm_high_pct": 0.37,
      "extension_from_vwap_pct": -0.2,
      "spread_pct": 0.07
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 13.565,
    "pm_low": 13.51
  },
  {
    "symbol": "VYX",
    "total_score": 44.65,
    "raw_score": 47.33,
    "breakdown": {
      "price_quality": 3.42,
      "volume_quality": 12.0,
      "rvol": 1.01,
      "volume_acceleration": 6.59,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.38,
      "spread_liquidity": 4.6,
      "momentum_consistency": 1.93,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.42,
      "vwap": 8.4431,
      "vwap_slope": -0.0063,
      "rvol": 0.42,
      "volume_acceleration": 1.66,
      "premarket_volume": 209408.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.12,
      "distance_from_pm_high_pct": 0.82,
      "extension_from_vwap_pct": -0.27,
      "spread_pct": 0.12
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 8.49,
    "pm_low": 8.4
  },
  {
    "symbol": "ULCC",
    "total_score": 44.57,
    "raw_score": 47.24,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 0.78,
      "volume_acceleration": 10,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 4.98,
      "spread_liquidity": 4.42,
      "momentum_consistency": 1.16,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.775,
      "vwap": 5.8173,
      "vwap_slope": -0.0146,
      "rvol": 0.33,
      "volume_acceleration": 2.06,
      "premarket_volume": 163015.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.26,
      "distance_from_pm_high_pct": 1.37,
      "extension_from_vwap_pct": -0.73,
      "spread_pct": 0.17
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 5.855,
    "pm_low": 5.77
  },
  {
    "symbol": "OEC",
    "total_score": 44.51,
    "raw_score": 47.18,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 2.84,
      "rvol": 0.11,
      "volume_acceleration": 2.9,
      "price_momentum": 0.25,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.81,
      "spread_liquidity": 3.89,
      "momentum_consistency": 3.48,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.0,
      "vwap": 5.9866,
      "vwap_slope": 0.0049,
      "rvol": 0.05,
      "volume_acceleration": 0.83,
      "premarket_volume": 23676.0,
      "momentum_pct": 0.17,
      "consolidation_tightness_pct": 0.58,
      "distance_from_pm_high_pct": 0.25,
      "extension_from_vwap_pct": 0.22,
      "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.015,
    "pm_low": 5.96
  },
  {
    "symbol": "SSTK",
    "total_score": 44.47,
    "raw_score": 47.14,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 0.66,
      "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.06,
      "spread_liquidity": 4.34,
      "momentum_consistency": 2.18,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.075,
      "vwap": 5.1154,
      "vwap_slope": -0.004,
      "rvol": 0.27,
      "volume_acceleration": 2.1,
      "premarket_volume": 137432.0,
      "momentum_pct": -0.29,
      "consolidation_tightness_pct": 0.79,
      "distance_from_pm_high_pct": 2.59,
      "extension_from_vwap_pct": -0.79,
      "spread_pct": 0.2
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 5.21,
    "pm_low": 5.07
  },
  {
    "symbol": "AI",
    "total_score": 44.43,
    "raw_score": 47.1,
    "breakdown": {
      "price_quality": 4.53,
      "volume_quality": 12.0,
      "rvol": 2.32,
      "volume_acceleration": 2.56,
      "price_momentum": 0.07,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.5,
      "spread_liquidity": 4.68,
      "momentum_consistency": 3.03,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.47,
      "vwap": 10.503,
      "vwap_slope": -0.0073,
      "rvol": 0.97,
      "volume_acceleration": 0.74,
      "premarket_volume": 483219.0,
      "momentum_pct": 0.05,
      "consolidation_tightness_pct": 0.19,
      "distance_from_pm_high_pct": 0.66,
      "extension_from_vwap_pct": -0.31,
      "spread_pct": 0.1
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 10.54,
    "pm_low": 10.445
  },
  {
    "symbol": "CLPT",
    "total_score": 44.39,
    "raw_score": 47.05,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 10.82,
      "rvol": 0.43,
      "volume_acceleration": 2.31,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 4.77,
      "spread_liquidity": 4.04,
      "momentum_consistency": 3.58,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.84,
      "vwap": 13.9048,
      "vwap_slope": 0.0049,
      "rvol": 0.18,
      "volume_acceleration": 0.66,
      "premarket_volume": 90155.0,
      "momentum_pct": -0.5,
      "consolidation_tightness_pct": 0.94,
      "distance_from_pm_high_pct": 1.63,
      "extension_from_vwap_pct": -0.47,
      "spread_pct": 0.29
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": true
    },
    "pm_high": 14.07,
    "pm_low": 13.685
  },
  {
    "symbol": "QS",
    "total_score": 44.25,
    "raw_score": 46.91,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 5.89,
      "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": 4.56,
      "spread_liquidity": 4.4,
      "momentum_consistency": 3.03,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.5811,
      "vwap": 5.6363,
      "vwap_slope": -0.014,
      "rvol": 2.21,
      "volume_acceleration": 0.9,
      "premarket_volume": 1104124.0,
      "momentum_pct": -0.16,
      "consolidation_tightness_pct": 0.34,
      "distance_from_pm_high_pct": 1.91,
      "extension_from_vwap_pct": -0.98,
      "spread_pct": 0.18
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 5.69,
    "pm_low": 5.5811
  },
  {
    "symbol": "DEI",
    "total_score": 44.17,
    "raw_score": 46.82,
    "breakdown": {
      "price_quality": 3.83,
      "volume_quality": 12.0,
      "rvol": 0.74,
      "volume_acceleration": 4.69,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.73,
      "spread_liquidity": 4.7,
      "momentum_consistency": 2.72,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.17,
      "vwap": 11.1895,
      "vwap_slope": -0.002,
      "rvol": 0.31,
      "volume_acceleration": 1.47,
      "premarket_volume": 155066.0,
      "momentum_pct": -0.09,
      "consolidation_tightness_pct": 0.18,
      "distance_from_pm_high_pct": 0.36,
      "extension_from_vwap_pct": -0.17,
      "spread_pct": 0.09
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 11.21,
    "pm_low": 11.17
  },
  {
    "symbol": "STUB",
    "total_score": 44.11,
    "raw_score": 46.75,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 4.19,
      "volume_acceleration": 4.82,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.46,
      "spread_liquidity": 4.46,
      "momentum_consistency": 1.93,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.17,
      "vwap": 6.187,
      "vwap_slope": -0.0007,
      "rvol": 1.57,
      "volume_acceleration": 1.48,
      "premarket_volume": 785666.0,
      "momentum_pct": -0.08,
      "consolidation_tightness_pct": 0.24,
      "distance_from_pm_high_pct": 0.72,
      "extension_from_vwap_pct": -0.27,
      "spread_pct": 0.16
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 6.215,
    "pm_low": 6.1511
  },
  {
    "symbol": "BTGO",
    "total_score": 43.7,
    "raw_score": 46.32,
    "breakdown": {
      "price_quality": 2.78,
      "volume_quality": 12.0,
      "rvol": 1.02,
      "volume_acceleration": 4.79,
      "price_momentum": 0.19,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.62,
      "spread_liquidity": 4.14,
      "momentum_consistency": 3.39,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.775,
      "vwap": 7.7784,
      "vwap_slope": -0.0036,
      "rvol": 0.42,
      "volume_acceleration": 1.48,
      "premarket_volume": 211951.0,
      "momentum_pct": 0.13,
      "consolidation_tightness_pct": 0.26,
      "distance_from_pm_high_pct": 0.51,
      "extension_from_vwap_pct": -0.04,
      "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.815,
    "pm_low": 7.745
  },
  {
    "symbol": "BSM",
    "total_score": 43.57,
    "raw_score": 46.19,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 2.45,
      "rvol": 0.1,
      "volume_acceleration": 1.64,
      "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.55,
      "momentum_consistency": 3.67,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.85,
      "vwap": 14.8334,
      "vwap_slope": 0.015,
      "rvol": 0.04,
      "volume_acceleration": 1.16,
      "premarket_volume": 20449.0,
      "momentum_pct": -0.07,
      "consolidation_tightness_pct": 0.17,
      "distance_from_pm_high_pct": 0.17,
      "extension_from_vwap_pct": 0.11,
      "spread_pct": 0.13
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 14.875,
    "pm_low": 14.8
  },
  {
    "symbol": "SHLS",
    "total_score": 43.52,
    "raw_score": 46.13,
    "breakdown": {
      "price_quality": 2.58,
      "volume_quality": 12.0,
      "rvol": 1.9,
      "volume_acceleration": 4.93,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.27,
      "spread_liquidity": 4.56,
      "momentum_consistency": 2.48,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.585,
      "vwap": 7.6315,
      "vwap_slope": -0.0016,
      "rvol": 0.79,
      "volume_acceleration": 1.49,
      "premarket_volume": 396108.0,
      "momentum_pct": -0.46,
      "consolidation_tightness_pct": 0.46,
      "distance_from_pm_high_pct": 0.98,
      "extension_from_vwap_pct": -0.61,
      "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.66,
    "pm_low": 7.585
  },
  {
    "symbol": "PPHC",
    "total_score": 43.52,
    "raw_score": 46.13,
    "breakdown": {
      "price_quality": 3.5,
      "volume_quality": 2.4,
      "rvol": 0.1,
      "volume_acceleration": 2.77,
      "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": 0.94,
      "momentum_consistency": 4.29,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.5,
      "vwap": 11.3395,
      "vwap_slope": 0.0725,
      "rvol": 0.04,
      "volume_acceleration": 0.8,
      "premarket_volume": 20033.0,
      "momentum_pct": -0.17,
      "consolidation_tightness_pct": 0.26,
      "distance_from_pm_high_pct": 0.35,
      "extension_from_vwap_pct": 1.42,
      "spread_pct": 1.22
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 11.54,
    "pm_low": 11.02
  },
  {
    "symbol": "ALOY",
    "total_score": 43.44,
    "raw_score": 46.05,
    "breakdown": {
      "price_quality": 4.86,
      "volume_quality": 12.0,
      "rvol": 0.57,
      "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.12,
      "spread_liquidity": 4.34,
      "momentum_consistency": 3.05,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.14,
      "vwap": 10.1662,
      "vwap_slope": -0.0112,
      "rvol": 0.24,
      "volume_acceleration": 1.06,
      "premarket_volume": 119059.0,
      "momentum_pct": -0.05,
      "consolidation_tightness_pct": 0.39,
      "distance_from_pm_high_pct": 1.17,
      "extension_from_vwap_pct": -0.26,
      "spread_pct": 0.2
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 10.26,
    "pm_low": 10.11
  },
  {
    "symbol": "VFC",
    "total_score": 43.23,
    "raw_score": 45.83,
    "breakdown": {
      "price_quality": 1.81,
      "volume_quality": 12.0,
      "rvol": 1.87,
      "volume_acceleration": 4.96,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.6,
      "spread_liquidity": 4.75,
      "momentum_consistency": 2.44,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.185,
      "vwap": 13.2209,
      "vwap_slope": -0.0062,
      "rvol": 0.78,
      "volume_acceleration": 1.5,
      "premarket_volume": 388722.0,
      "momentum_pct": -0.08,
      "consolidation_tightness_pct": 0.11,
      "distance_from_pm_high_pct": 0.53,
      "extension_from_vwap_pct": -0.27,
      "spread_pct": 0.08
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 13.2555,
    "pm_low": 13.18
  },
  {
    "symbol": "OCC",
    "total_score": 43.13,
    "raw_score": 45.72,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 4.59,
      "rvol": 0.18,
      "volume_acceleration": 6.68,
      "price_momentum": 0.65,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.16,
      "spread_liquidity": 2.62,
      "momentum_consistency": 5.14,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.95,
      "vwap": 13.9403,
      "vwap_slope": -0.0384,
      "rvol": 0.08,
      "volume_acceleration": 1.67,
      "premarket_volume": 38210.0,
      "momentum_pct": 0.43,
      "consolidation_tightness_pct": 0.86,
      "distance_from_pm_high_pct": 1.12,
      "extension_from_vwap_pct": 0.07,
      "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.108,
    "pm_low": 13.85
  },
  {
    "symbol": "MAX",
    "total_score": 43.09,
    "raw_score": 45.68,
    "breakdown": {
      "price_quality": 3.3,
      "volume_quality": 4.71,
      "rvol": 0.19,
      "volume_acceleration": 6.33,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.59,
      "spread_liquidity": 3.57,
      "momentum_consistency": 2.38,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.695,
      "vwap": 11.7157,
      "vwap_slope": 0.0005,
      "rvol": 0.08,
      "volume_acceleration": 1.63,
      "premarket_volume": 39276.0,
      "momentum_pct": -0.09,
      "consolidation_tightness_pct": 0.51,
      "distance_from_pm_high_pct": 0.55,
      "extension_from_vwap_pct": -0.18,
      "spread_pct": 0.43
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": true
    },
    "pm_high": 11.76,
    "pm_low": 11.66
  },
  {
    "symbol": "VMET",
    "total_score": 42.98,
    "raw_score": 45.56,
    "breakdown": {
      "price_quality": 4.99,
      "volume_quality": 4.95,
      "rvol": 0.2,
      "volume_acceleration": 10,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.48,
      "spread_liquidity": 4.67,
      "momentum_consistency": 2.88,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.01,
      "vwap": 10.0395,
      "vwap_slope": -0.0277,
      "rvol": 0.08,
      "volume_acceleration": 2.01,
      "premarket_volume": 41228.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.3,
      "distance_from_pm_high_pct": 0.69,
      "extension_from_vwap_pct": -0.29,
      "spread_pct": 0.1
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 10.08,
    "pm_low": 9.99
  },
  {
    "symbol": "ATEC",
    "total_score": 42.97,
    "raw_score": 45.55,
    "breakdown": {
      "price_quality": 4.16,
      "volume_quality": 12.0,
      "rvol": 0.59,
      "volume_acceleration": 3.62,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.11,
      "spread_liquidity": 4.64,
      "momentum_consistency": 3.03,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.16,
      "vwap": 9.2081,
      "vwap_slope": -0.0133,
      "rvol": 0.25,
      "volume_acceleration": 1.04,
      "premarket_volume": 122770.0,
      "momentum_pct": -0.16,
      "consolidation_tightness_pct": 0.27,
      "distance_from_pm_high_pct": 1.19,
      "extension_from_vwap_pct": -0.52,
      "spread_pct": 0.11
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 9.27,
    "pm_low": 9.15
  },
  {
    "symbol": "PUMP",
    "total_score": 42.93,
    "raw_score": 45.5,
    "breakdown": {
      "price_quality": 2.91,
      "volume_quality": 12.0,
      "rvol": 1.87,
      "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.32,
      "spread_liquidity": 4.72,
      "momentum_consistency": 2.31,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.085,
      "vwap": 12.1239,
      "vwap_slope": -0.0006,
      "rvol": 0.78,
      "volume_acceleration": 1.14,
      "premarket_volume": 390565.0,
      "momentum_pct": -0.12,
      "consolidation_tightness_pct": 0.25,
      "distance_from_pm_high_pct": 0.9,
      "extension_from_vwap_pct": -0.32,
      "spread_pct": 0.08
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 12.195,
    "pm_low": 12.065
  },
  {
    "symbol": "QUBT",
    "total_score": 42.83,
    "raw_score": 45.4,
    "breakdown": {
      "price_quality": 3.27,
      "volume_quality": 12.0,
      "rvol": 2.45,
      "volume_acceleration": 3.05,
      "price_momentum": 0.09,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.06,
      "spread_liquidity": 4.6,
      "momentum_consistency": 2.48,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.27,
      "vwap": 8.312,
      "vwap_slope": -0.0111,
      "rvol": 1.02,
      "volume_acceleration": 0.88,
      "premarket_volume": 511217.0,
      "momentum_pct": 0.06,
      "consolidation_tightness_pct": 0.23,
      "distance_from_pm_high_pct": 1.25,
      "extension_from_vwap_pct": -0.51,
      "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.375,
    "pm_low": 8.2517
  },
  {
    "symbol": "OBDC",
    "total_score": 42.68,
    "raw_score": 45.24,
    "breakdown": {
      "price_quality": 3.82,
      "volume_quality": 12.0,
      "rvol": 1.77,
      "volume_acceleration": 2.25,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.53,
      "spread_liquidity": 4.7,
      "momentum_consistency": 2.76,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.18,
      "vwap": 11.2087,
      "vwap_slope": -0.0028,
      "rvol": 0.74,
      "volume_acceleration": 0.65,
      "premarket_volume": 369128.0,
      "momentum_pct": -0.04,
      "consolidation_tightness_pct": 0.13,
      "distance_from_pm_high_pct": 0.62,
      "extension_from_vwap_pct": -0.26,
      "spread_pct": 0.09
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 11.25,
    "pm_low": 11.171
  },
  {
    "symbol": "HELP",
    "total_score": 42.66,
    "raw_score": 45.22,
    "breakdown": {
      "price_quality": 2.58,
      "volume_quality": 12.0,
      "rvol": 0.66,
      "volume_acceleration": 6.04,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 4.58,
      "spread_liquidity": 4.2,
      "momentum_consistency": 2.76,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.42,
      "vwap": 12.5059,
      "vwap_slope": -0.0338,
      "rvol": 0.28,
      "volume_acceleration": 1.6,
      "premarket_volume": 138058.0,
      "momentum_pct": -0.02,
      "consolidation_tightness_pct": 0.24,
      "distance_from_pm_high_pct": 1.9,
      "extension_from_vwap_pct": -0.69,
      "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.66,
    "pm_low": 12.36
  },
  {
    "symbol": "NVAX",
    "total_score": 42.64,
    "raw_score": 45.19,
    "breakdown": {
      "price_quality": 4.8,
      "volume_quality": 12.0,
      "rvol": 1.35,
      "volume_acceleration": 2.23,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.49,
      "spread_liquidity": 4.67,
      "momentum_consistency": 2.25,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.2003,
      "vwap": 10.2352,
      "vwap_slope": -0.0051,
      "rvol": 0.56,
      "volume_acceleration": 0.64,
      "premarket_volume": 281792.0,
      "momentum_pct": -0.14,
      "consolidation_tightness_pct": 0.19,
      "distance_from_pm_high_pct": 0.68,
      "extension_from_vwap_pct": -0.34,
      "spread_pct": 0.1
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 10.27,
    "pm_low": 10.195
  },
  {
    "symbol": "RPD",
    "total_score": 42.61,
    "raw_score": 45.17,
    "breakdown": {
      "price_quality": 4.52,
      "volume_quality": 12.0,
      "rvol": 0.94,
      "volume_acceleration": 2.93,
      "price_momentum": 0.07,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.33,
      "spread_liquidity": 4.36,
      "momentum_consistency": 2.62,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.48,
      "vwap": 10.5007,
      "vwap_slope": -0.0168,
      "rvol": 0.39,
      "volume_acceleration": 1.29,
      "premarket_volume": 195397.0,
      "momentum_pct": 0.05,
      "consolidation_tightness_pct": 0.52,
      "distance_from_pm_high_pct": 0.9,
      "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": 10.575,
    "pm_low": 10.43
  },
  {
    "symbol": "ASAN",
    "total_score": 42.58,
    "raw_score": 45.14,
    "breakdown": {
      "price_quality": 3.77,
      "volume_quality": 12.0,
      "rvol": 2.46,
      "volume_acceleration": 2.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.28,
      "spread_liquidity": 4.62,
      "momentum_consistency": 1.66,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.765,
      "vwap": 8.8128,
      "vwap_slope": -0.0097,
      "rvol": 1.02,
      "volume_acceleration": 0.85,
      "premarket_volume": 511596.0,
      "momentum_pct": -0.23,
      "consolidation_tightness_pct": 0.28,
      "distance_from_pm_high_pct": 0.96,
      "extension_from_vwap_pct": -0.54,
      "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.85,
    "pm_low": 8.765
  },
  {
    "symbol": "ADMA",
    "total_score": 42.43,
    "raw_score": 44.98,
    "breakdown": {
      "price_quality": 4.54,
      "volume_quality": 12.0,
      "rvol": 0.65,
      "volume_acceleration": 2.71,
      "price_momentum": 0.16,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.69,
      "spread_liquidity": 4.65,
      "momentum_consistency": 2.2,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.535,
      "vwap": 9.5461,
      "vwap_slope": -0.0027,
      "rvol": 0.27,
      "volume_acceleration": 0.78,
      "premarket_volume": 135094.0,
      "momentum_pct": 0.1,
      "consolidation_tightness_pct": 0.1,
      "distance_from_pm_high_pct": 0.42,
      "extension_from_vwap_pct": -0.12,
      "spread_pct": 0.1
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 9.575,
    "pm_low": 9.525
  },
  {
    "symbol": "UUUU",
    "total_score": 42.35,
    "raw_score": 44.89,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 2.35,
      "volume_acceleration": 4.01,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 4.88,
      "spread_liquidity": 4.77,
      "momentum_consistency": 2.98,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.795,
      "vwap": 14.9063,
      "vwap_slope": -0.0379,
      "rvol": 0.98,
      "volume_acceleration": 1.4,
      "premarket_volume": 489414.0,
      "momentum_pct": -0.3,
      "consolidation_tightness_pct": 0.37,
      "distance_from_pm_high_pct": 1.5,
      "extension_from_vwap_pct": -0.75,
      "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.02,
    "pm_low": 14.795
  },
  {
    "symbol": "ACVA",
    "total_score": 42.34,
    "raw_score": 44.88,
    "breakdown": {
      "price_quality": 2.04,
      "volume_quality": 12.0,
      "rvol": 2.74,
      "volume_acceleration": 2.29,
      "price_momentum": 0.64,
      "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": 3.03,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.035,
      "vwap": 7.0415,
      "vwap_slope": -0.0043,
      "rvol": 1.14,
      "volume_acceleration": 1.23,
      "premarket_volume": 571229.0,
      "momentum_pct": 0.43,
      "consolidation_tightness_pct": 0.57,
      "distance_from_pm_high_pct": 1.05,
      "extension_from_vwap_pct": -0.09,
      "spread_pct": 0.14
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 7.11,
    "pm_low": 6.92
  },
  {
    "symbol": "FIGS",
    "total_score": 42.33,
    "raw_score": 44.87,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 1.95,
      "volume_acceleration": 5.44,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 4.89,
      "spread_liquidity": 4.76,
      "momentum_consistency": 1.93,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.66,
      "vwap": 13.7673,
      "vwap_slope": -0.0225,
      "rvol": 0.81,
      "volume_acceleration": 1.54,
      "premarket_volume": 407221.0,
      "momentum_pct": -0.07,
      "consolidation_tightness_pct": 0.15,
      "distance_from_pm_high_pct": 1.48,
      "extension_from_vwap_pct": -0.78,
      "spread_pct": 0.07
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 13.865,
    "pm_low": 13.65
  },
  {
    "symbol": "CRML",
    "total_score": 42.32,
    "raw_score": 44.86,
    "breakdown": {
      "price_quality": 2.23,
      "volume_quality": 12.0,
      "rvol": 1.61,
      "volume_acceleration": 4.18,
      "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.62,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.2295,
      "vwap": 7.2555,
      "vwap_slope": -0.0097,
      "rvol": 0.67,
      "volume_acceleration": 1.42,
      "premarket_volume": 336152.0,
      "momentum_pct": -0.01,
      "consolidation_tightness_pct": 0.39,
      "distance_from_pm_high_pct": 0.97,
      "extension_from_vwap_pct": -0.36,
      "spread_pct": 0.14
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 7.3,
    "pm_low": 7.205
  },
  {
    "symbol": "PSFE",
    "total_score": 42.28,
    "raw_score": 44.82,
    "breakdown": {
      "price_quality": 1.51,
      "volume_quality": 3.32,
      "rvol": 0.13,
      "volume_acceleration": 3.89,
      "price_momentum": 0.69,
      "price_structure": 12,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.54,
      "spread_liquidity": 3.98,
      "momentum_consistency": 3.75,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.51,
      "vwap": 6.5143,
      "vwap_slope": -0.0069,
      "rvol": 0.06,
      "volume_acceleration": 1.12,
      "premarket_volume": 27693.0,
      "momentum_pct": 0.46,
      "consolidation_tightness_pct": 0.46,
      "distance_from_pm_high_pct": 0.61,
      "extension_from_vwap_pct": -0.07,
      "spread_pct": 0.31
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 6.55,
    "pm_low": 6.48
  },
  {
    "symbol": "HAFN",
    "total_score": 42.18,
    "raw_score": 44.71,
    "breakdown": {
      "price_quality": 3.91,
      "volume_quality": 12.0,
      "rvol": 0.94,
      "volume_acceleration": 3.3,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.54,
      "spread_liquidity": 4.63,
      "momentum_consistency": 2.0,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.915,
      "vwap": 8.9453,
      "vwap_slope": -0.005,
      "rvol": 0.39,
      "volume_acceleration": 0.95,
      "premarket_volume": 195232.0,
      "momentum_pct": -0.17,
      "consolidation_tightness_pct": 0.28,
      "distance_from_pm_high_pct": 0.61,
      "extension_from_vwap_pct": -0.34,
      "spread_pct": 0.11
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 8.97,
    "pm_low": 8.915
  },
  {
    "symbol": "DX",
    "total_score": 42.17,
    "raw_score": 44.7,
    "breakdown": {
      "price_quality": 2.05,
      "volume_quality": 12.0,
      "rvol": 1.69,
      "volume_acceleration": 3.43,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.86,
      "spread_liquidity": 4.74,
      "momentum_consistency": 2.53,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.945,
      "vwap": 12.9513,
      "vwap_slope": -0.0038,
      "rvol": 0.71,
      "volume_acceleration": 1.34,
      "premarket_volume": 352595.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.08,
      "distance_from_pm_high_pct": 0.19,
      "extension_from_vwap_pct": -0.05,
      "spread_pct": 0.08
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 12.97,
    "pm_low": 12.93
  },
  {
    "symbol": "VOXR",
    "total_score": 42.04,
    "raw_score": 44.56,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 4.94,
      "rvol": 0.2,
      "volume_acceleration": 3.17,
      "price_momentum": 0.13,
      "price_structure": 12,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.67,
      "spread_liquidity": 4.42,
      "momentum_consistency": 2.53,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.735,
      "vwap": 5.7377,
      "vwap_slope": -0.0023,
      "rvol": 0.08,
      "volume_acceleration": 0.91,
      "premarket_volume": 41159.0,
      "momentum_pct": 0.09,
      "consolidation_tightness_pct": 0.26,
      "distance_from_pm_high_pct": 0.43,
      "extension_from_vwap_pct": -0.05,
      "spread_pct": 0.17
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 5.76,
    "pm_low": 5.715
  },
  {
    "symbol": "GNL",
    "total_score": 42.0,
    "raw_score": 44.52,
    "breakdown": {
      "price_quality": 4.1,
      "volume_quality": 12.0,
      "rvol": 0.73,
      "volume_acceleration": 2.66,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.92,
      "spread_liquidity": 4.63,
      "momentum_consistency": 2.07,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.1,
      "vwap": 9.1021,
      "vwap_slope": -0.001,
      "rvol": 0.31,
      "volume_acceleration": 1.27,
      "premarket_volume": 153123.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.11,
      "distance_from_pm_high_pct": 0.11,
      "extension_from_vwap_pct": -0.02,
      "spread_pct": 0.11
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 9.11,
    "pm_low": 9.095
  },
  {
    "symbol": "AVAH",
    "total_score": 41.91,
    "raw_score": 44.42,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 1.48,
      "volume_acceleration": 3.39,
      "price_momentum": 0.49,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.46,
      "spread_liquidity": 4.76,
      "momentum_consistency": 2.95,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.845,
      "vwap": 13.8682,
      "vwap_slope": -0.0185,
      "rvol": 0.61,
      "volume_acceleration": 0.97,
      "premarket_volume": 307463.0,
      "momentum_pct": 0.33,
      "consolidation_tightness_pct": 0.47,
      "distance_from_pm_high_pct": 0.72,
      "extension_from_vwap_pct": -0.17,
      "spread_pct": 0.07
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 13.945,
    "pm_low": 13.775
  },
  {
    "symbol": "KD",
    "total_score": 41.86,
    "raw_score": 44.37,
    "breakdown": {
      "price_quality": 2.26,
      "volume_quality": 12.0,
      "rvol": 1.73,
      "volume_acceleration": 2.25,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.68,
      "spread_liquidity": 4.74,
      "momentum_consistency": 3.31,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.74,
      "vwap": 12.7522,
      "vwap_slope": -0.0004,
      "rvol": 0.72,
      "volume_acceleration": 0.65,
      "premarket_volume": 360646.0,
      "momentum_pct": -0.12,
      "consolidation_tightness_pct": 0.27,
      "distance_from_pm_high_pct": 0.43,
      "extension_from_vwap_pct": -0.1,
      "spread_pct": 0.08
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 12.795,
    "pm_low": 12.69
  },
  {
    "symbol": "XERS",
    "total_score": 41.85,
    "raw_score": 44.36,
    "breakdown": {
      "price_quality": 3.41,
      "volume_quality": 12.0,
      "rvol": 0.67,
      "volume_acceleration": 4.07,
      "price_momentum": 0.09,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.29,
      "spread_liquidity": 4.6,
      "momentum_consistency": 1.81,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.415,
      "vwap": 8.4452,
      "vwap_slope": -0.0125,
      "rvol": 0.28,
      "volume_acceleration": 1.41,
      "premarket_volume": 139637.0,
      "momentum_pct": 0.06,
      "consolidation_tightness_pct": 0.12,
      "distance_from_pm_high_pct": 0.94,
      "extension_from_vwap_pct": -0.36,
      "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.495,
    "pm_low": 8.4
  },
  {
    "symbol": "VSTM",
    "total_score": 41.82,
    "raw_score": 44.33,
    "breakdown": {
      "price_quality": 3.21,
      "volume_quality": 12.0,
      "rvol": 0.52,
      "volume_acceleration": 3.3,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.1,
      "spread_liquidity": 4.59,
      "momentum_consistency": 3.2,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.215,
      "vwap": 8.2544,
      "vwap_slope": -0.007,
      "rvol": 0.22,
      "volume_acceleration": 0.95,
      "premarket_volume": 109168.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.3,
      "distance_from_pm_high_pct": 1.2,
      "extension_from_vwap_pct": -0.48,
      "spread_pct": 0.12
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 8.315,
    "pm_low": 8.21
  },
  {
    "symbol": "ABSI",
    "total_score": 41.82,
    "raw_score": 44.33,
    "breakdown": {
      "price_quality": 3.91,
      "volume_quality": 12.0,
      "rvol": 0.65,
      "volume_acceleration": 2.5,
      "price_momentum": 0.08,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.04,
      "spread_liquidity": 4.63,
      "momentum_consistency": 3.11,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.915,
      "vwap": 8.96,
      "vwap_slope": -0.0121,
      "rvol": 0.27,
      "volume_acceleration": 0.72,
      "premarket_volume": 135548.0,
      "momentum_pct": 0.06,
      "consolidation_tightness_pct": 0.17,
      "distance_from_pm_high_pct": 1.27,
      "extension_from_vwap_pct": -0.5,
      "spread_pct": 0.11
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 9.03,
    "pm_low": 8.9
  },
  {
    "symbol": "ARDT",
    "total_score": 41.78,
    "raw_score": 44.29,
    "breakdown": {
      "price_quality": 4.27,
      "volume_quality": 6.78,
      "rvol": 0.27,
      "volume_acceleration": 8.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.38,
      "spread_liquidity": 4.38,
      "momentum_consistency": 2.21,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.73,
      "vwap": 10.76,
      "vwap_slope": -0.0096,
      "rvol": 0.11,
      "volume_acceleration": 1.86,
      "premarket_volume": 56471.0,
      "momentum_pct": -0.09,
      "consolidation_tightness_pct": 0.14,
      "distance_from_pm_high_pct": 0.83,
      "extension_from_vwap_pct": -0.28,
      "spread_pct": 0.19
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 10.82,
    "pm_low": 10.69
  },
  {
    "symbol": "BFLY",
    "total_score": 41.77,
    "raw_score": 44.28,
    "breakdown": {
      "price_quality": 2.43,
      "volume_quality": 12.0,
      "rvol": 1.73,
      "volume_acceleration": 3.69,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 4.32,
      "spread_liquidity": 4.55,
      "momentum_consistency": 3.14,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.435,
      "vwap": 7.4938,
      "vwap_slope": -0.0134,
      "rvol": 0.72,
      "volume_acceleration": 1.06,
      "premarket_volume": 360589.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.17,
      "distance_from_pm_high_pct": 2.24,
      "extension_from_vwap_pct": -0.78,
      "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.605,
    "pm_low": 7.385
  },
  {
    "symbol": "GOOS",
    "total_score": 41.72,
    "raw_score": 44.22,
    "breakdown": {
      "price_quality": 2.76,
      "volume_quality": 12.0,
      "rvol": 0.54,
      "volume_acceleration": 3.95,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.41,
      "spread_liquidity": 4.57,
      "momentum_consistency": 2.6,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.7588,
      "vwap": 7.7878,
      "vwap_slope": -0.0072,
      "rvol": 0.22,
      "volume_acceleration": 1.39,
      "premarket_volume": 111501.0,
      "momentum_pct": -0.08,
      "consolidation_tightness_pct": 0.14,
      "distance_from_pm_high_pct": 0.78,
      "extension_from_vwap_pct": -0.37,
      "spread_pct": 0.13
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 7.82,
    "pm_low": 7.7588
  },
  {
    "symbol": "USDE",
    "total_score": 41.67,
    "raw_score": 44.17,
    "breakdown": {
      "price_quality": 2.66,
      "volume_quality": 12.0,
      "rvol": 0.51,
      "volume_acceleration": 6.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.42,
      "spread_liquidity": 2.82,
      "momentum_consistency": 2.84,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.66,
      "vwap": 7.7612,
      "vwap_slope": -0.0279,
      "rvol": 0.21,
      "volume_acceleration": 1.65,
      "premarket_volume": 106377.0,
      "momentum_pct": -0.52,
      "consolidation_tightness_pct": 0.72,
      "distance_from_pm_high_pct": 2.11,
      "extension_from_vwap_pct": -1.3,
      "spread_pct": 0.65
    },
    "flags": {
      "meets_min_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.825,
    "pm_low": 7.66
  },
  {
    "symbol": "TSSI",
    "total_score": 41.55,
    "raw_score": 44.05,
    "breakdown": {
      "price_quality": 3.67,
      "volume_quality": 2.94,
      "rvol": 0.12,
      "volume_acceleration": 3.57,
      "price_momentum": 0.0,
      "price_structure": 12,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.4,
      "spread_liquidity": 3.85,
      "momentum_consistency": 2.5,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.67,
      "vwap": 8.6884,
      "vwap_slope": -0.0145,
      "rvol": 0.05,
      "volume_acceleration": 1.03,
      "premarket_volume": 24498.0,
      "momentum_pct": -0.12,
      "consolidation_tightness_pct": 0.25,
      "distance_from_pm_high_pct": 0.8,
      "extension_from_vwap_pct": -0.21,
      "spread_pct": 0.35
    },
    "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.74,
    "pm_low": 8.65
  },
  {
    "symbol": "MBLY",
    "total_score": 41.54,
    "raw_score": 44.03,
    "breakdown": {
      "price_quality": 3.53,
      "volume_quality": 12.0,
      "rvol": 0.49,
      "volume_acceleration": 2.93,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.52,
      "spread_liquidity": 4.61,
      "momentum_consistency": 2.56,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.525,
      "vwap": 8.5456,
      "vwap_slope": -0.0078,
      "rvol": 0.21,
      "volume_acceleration": 0.84,
      "premarket_volume": 102935.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.06,
      "distance_from_pm_high_pct": 0.64,
      "extension_from_vwap_pct": -0.24,
      "spread_pct": 0.12
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 8.58,
    "pm_low": 8.51
  },
  {
    "symbol": "LWLG",
    "total_score": 41.53,
    "raw_score": 44.02,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 1.01,
      "volume_acceleration": 4.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.27,
      "spread_liquidity": 4.41,
      "momentum_consistency": 3.09,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.615,
      "vwap": 5.6293,
      "vwap_slope": -0.0062,
      "rvol": 0.42,
      "volume_acceleration": 1.43,
      "premarket_volume": 210044.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.18,
      "distance_from_pm_high_pct": 0.97,
      "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.67,
    "pm_low": 5.6
  },
  {
    "symbol": "NEOG",
    "total_score": 41.52,
    "raw_score": 44.01,
    "breakdown": {
      "price_quality": 3.12,
      "volume_quality": 12.0,
      "rvol": 0.61,
      "volume_acceleration": 3.52,
      "price_momentum": 0.13,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.25,
      "spread_liquidity": 4.72,
      "momentum_consistency": 2.26,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.875,
      "vwap": 11.9172,
      "vwap_slope": -0.0187,
      "rvol": 0.25,
      "volume_acceleration": 1.01,
      "premarket_volume": 127200.0,
      "momentum_pct": 0.08,
      "consolidation_tightness_pct": 0.17,
      "distance_from_pm_high_pct": 1.0,
      "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": false,
      "vwap_rising": false
    },
    "pm_high": 11.995,
    "pm_low": 11.845
  },
  {
    "symbol": "GO",
    "total_score": 41.51,
    "raw_score": 44.0,
    "breakdown": {
      "price_quality": 2.96,
      "volume_quality": 12.0,
      "rvol": 1.82,
      "volume_acceleration": 2.66,
      "price_momentum": 0.12,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 4.9,
      "spread_liquidity": 4.72,
      "momentum_consistency": 2.43,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.045,
      "vwap": 12.0804,
      "vwap_slope": -0.0121,
      "rvol": 0.76,
      "volume_acceleration": 1.27,
      "premarket_volume": 378269.0,
      "momentum_pct": 0.08,
      "consolidation_tightness_pct": 0.5,
      "distance_from_pm_high_pct": 1.47,
      "extension_from_vwap_pct": -0.29,
      "spread_pct": 0.08
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 12.225,
    "pm_low": 11.975
  },
  {
    "symbol": "PLRZ",
    "total_score": 41.5,
    "raw_score": 43.99,
    "breakdown": {
      "price_quality": 3.7,
      "volume_quality": 3.39,
      "rvol": 0.14,
      "volume_acceleration": 10,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 8,
      "consolidation_quality": 6.05,
      "distance_from_pm_high": 2.52,
      "spread_liquidity": 3.52,
      "momentum_consistency": 3.08,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.3,
      "vwap": 11.4207,
      "vwap_slope": 0.0641,
      "rvol": 0.06,
      "volume_acceleration": 11.96,
      "premarket_volume": 28229.0,
      "momentum_pct": -1.31,
      "consolidation_tightness_pct": 5.92,
      "distance_from_pm_high_pct": 4.64,
      "extension_from_vwap_pct": -1.06,
      "spread_pct": 0.44
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": true
    },
    "pm_high": 11.85,
    "pm_low": 11.175
  },
  {
    "symbol": "XRAY",
    "total_score": 41.38,
    "raw_score": 43.86,
    "breakdown": {
      "price_quality": 4.03,
      "volume_quality": 12.0,
      "rvol": 1.68,
      "volume_acceleration": 2.21,
      "price_momentum": 0.14,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 4.89,
      "spread_liquidity": 4.7,
      "momentum_consistency": 1.82,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.975,
      "vwap": 11.0527,
      "vwap_slope": -0.0295,
      "rvol": 0.7,
      "volume_acceleration": 0.64,
      "premarket_volume": 349079.0,
      "momentum_pct": 0.09,
      "consolidation_tightness_pct": 0.18,
      "distance_from_pm_high_pct": 1.48,
      "extension_from_vwap_pct": -0.7,
      "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.14,
    "pm_low": 10.935
  },
  {
    "symbol": "DC",
    "total_score": 41.33,
    "raw_score": 43.81,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 0.49,
      "volume_acceleration": 5.19,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.45,
      "spread_liquidity": 4.45,
      "momentum_consistency": 2.34,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.04,
      "vwap": 6.0592,
      "vwap_slope": -0.0106,
      "rvol": 0.2,
      "volume_acceleration": 1.52,
      "premarket_volume": 101222.0,
      "momentum_pct": -0.08,
      "consolidation_tightness_pct": 0.58,
      "distance_from_pm_high_pct": 0.74,
      "extension_from_vwap_pct": -0.32,
      "spread_pct": 0.17
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 6.085,
    "pm_low": 6.01
  },
  {
    "symbol": "REAL",
    "total_score": 41.31,
    "raw_score": 43.79,
    "breakdown": {
      "price_quality": 4.85,
      "volume_quality": 12.0,
      "rvol": 1.35,
      "volume_acceleration": 1.15,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.32,
      "spread_liquidity": 4.32,
      "momentum_consistency": 2.4,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.85,
      "vwap": 9.877,
      "vwap_slope": -0.008,
      "rvol": 0.56,
      "volume_acceleration": 0.33,
      "premarket_volume": 280915.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.15,
      "distance_from_pm_high_pct": 0.91,
      "extension_from_vwap_pct": -0.27,
      "spread_pct": 0.2
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 9.94,
    "pm_low": 9.78
  },
  {
    "symbol": "UNIT",
    "total_score": 41.19,
    "raw_score": 43.66,
    "breakdown": {
      "price_quality": 4.74,
      "volume_quality": 12.0,
      "rvol": 0.51,
      "volume_acceleration": 2.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.38,
      "spread_liquidity": 4.68,
      "momentum_consistency": 1.86,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.26,
      "vwap": 10.2932,
      "vwap_slope": -0.0134,
      "rvol": 0.21,
      "volume_acceleration": 1.21,
      "premarket_volume": 106789.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.19,
      "distance_from_pm_high_pct": 0.82,
      "extension_from_vwap_pct": -0.32,
      "spread_pct": 0.1
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 10.345,
    "pm_low": 10.24
  },
  {
    "symbol": "SLS",
    "total_score": 41.15,
    "raw_score": 43.62,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 2.03,
      "volume_acceleration": 2.48,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 4.93,
      "spread_liquidity": 4.76,
      "momentum_consistency": 3.53,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.79,
      "vwap": 13.8812,
      "vwap_slope": -0.012,
      "rvol": 0.84,
      "volume_acceleration": 0.71,
      "premarket_volume": 421892.0,
      "momentum_pct": -0.3,
      "consolidation_tightness_pct": 0.43,
      "distance_from_pm_high_pct": 1.43,
      "extension_from_vwap_pct": -0.66,
      "spread_pct": 0.07
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 13.99,
    "pm_low": 13.78
  },
  {
    "symbol": "LION",
    "total_score": 41.13,
    "raw_score": 43.6,
    "breakdown": {
      "price_quality": 3.77,
      "volume_quality": 12.0,
      "rvol": 0.76,
      "volume_acceleration": 2.27,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.73,
      "spread_liquidity": 4.7,
      "momentum_consistency": 1.96,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.23,
      "vwap": 11.2383,
      "vwap_slope": -0.0052,
      "rvol": 0.32,
      "volume_acceleration": 0.65,
      "premarket_volume": 158744.0,
      "momentum_pct": -0.09,
      "consolidation_tightness_pct": 0.31,
      "distance_from_pm_high_pct": 0.35,
      "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.27,
    "pm_low": 11.205
  },
  {
    "symbol": "NRDS",
    "total_score": 41.13,
    "raw_score": 43.6,
    "breakdown": {
      "price_quality": 4.51,
      "volume_quality": 9.89,
      "rvol": 0.4,
      "volume_acceleration": 3.36,
      "price_momentum": 0.08,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.65,
      "spread_liquidity": 4.65,
      "momentum_consistency": 2.67,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.505,
      "vwap": 9.5259,
      "vwap_slope": -0.007,
      "rvol": 0.16,
      "volume_acceleration": 0.97,
      "premarket_volume": 82434.0,
      "momentum_pct": 0.05,
      "consolidation_tightness_pct": 0.21,
      "distance_from_pm_high_pct": 0.47,
      "extension_from_vwap_pct": -0.22,
      "spread_pct": 0.11
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 9.55,
    "pm_low": 9.485
  },
  {
    "symbol": "GENI",
    "total_score": 41.12,
    "raw_score": 43.58,
    "breakdown": {
      "price_quality": 2.31,
      "volume_quality": 12.0,
      "rvol": 1.24,
      "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.24,
      "spread_liquidity": 4.54,
      "momentum_consistency": 2.07,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.31,
      "vwap": 7.3508,
      "vwap_slope": -0.0049,
      "rvol": 0.52,
      "volume_acceleration": 1.09,
      "premarket_volume": 258406.0,
      "momentum_pct": -0.2,
      "consolidation_tightness_pct": 0.61,
      "distance_from_pm_high_pct": 1.02,
      "extension_from_vwap_pct": -0.55,
      "spread_pct": 0.14
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 7.385,
    "pm_low": 7.31
  },
  {
    "symbol": "WSE",
    "total_score": 41.09,
    "raw_score": 43.55,
    "breakdown": {
      "price_quality": 2.59,
      "volume_quality": 12.0,
      "rvol": 0.69,
      "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.67,
      "spread_liquidity": 4.73,
      "momentum_consistency": 1.76,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.415,
      "vwap": 12.4294,
      "vwap_slope": -0.0099,
      "rvol": 0.29,
      "volume_acceleration": 1.07,
      "premarket_volume": 143252.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.12,
      "distance_from_pm_high_pct": 0.44,
      "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.47,
    "pm_low": 12.39
  },
  {
    "symbol": "MFA",
    "total_score": 41.08,
    "raw_score": 43.55,
    "breakdown": {
      "price_quality": 3.91,
      "volume_quality": 10.41,
      "rvol": 0.42,
      "volume_acceleration": 3.93,
      "price_momentum": 0.08,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.83,
      "spread_liquidity": 4.63,
      "momentum_consistency": 1.95,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.91,
      "vwap": 8.9115,
      "vwap_slope": -0.0036,
      "rvol": 0.17,
      "volume_acceleration": 1.13,
      "premarket_volume": 86732.0,
      "momentum_pct": 0.06,
      "consolidation_tightness_pct": 0.17,
      "distance_from_pm_high_pct": 0.22,
      "extension_from_vwap_pct": -0.02,
      "spread_pct": 0.11
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 8.93,
    "pm_low": 8.895
  },
  {
    "symbol": "RUM",
    "total_score": 41.02,
    "raw_score": 43.48,
    "breakdown": {
      "price_quality": 3.44,
      "volume_quality": 12.0,
      "rvol": 0.72,
      "volume_acceleration": 1.53,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.34,
      "spread_liquidity": 4.6,
      "momentum_consistency": 3.45,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.44,
      "vwap": 8.4792,
      "vwap_slope": -0.007,
      "rvol": 0.3,
      "volume_acceleration": 1.15,
      "premarket_volume": 149074.0,
      "momentum_pct": -0.3,
      "consolidation_tightness_pct": 0.35,
      "distance_from_pm_high_pct": 0.88,
      "extension_from_vwap_pct": -0.46,
      "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.515,
    "pm_low": 8.44
  },
  {
    "symbol": "OPFI",
    "total_score": 40.89,
    "raw_score": 43.35,
    "breakdown": {
      "price_quality": 2.38,
      "volume_quality": 5.07,
      "rvol": 0.2,
      "volume_acceleration": 3.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.55,
      "momentum_consistency": 2.76,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.38,
      "vwap": 7.4021,
      "vwap_slope": 0.0003,
      "rvol": 0.08,
      "volume_acceleration": 0.92,
      "premarket_volume": 42233.0,
      "momentum_pct": -0.14,
      "consolidation_tightness_pct": 0.27,
      "distance_from_pm_high_pct": 0.54,
      "extension_from_vwap_pct": -0.3,
      "spread_pct": 0.14
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": true
    },
    "pm_high": 7.42,
    "pm_low": 7.38
  },
  {
    "symbol": "NTSK",
    "total_score": 40.87,
    "raw_score": 43.32,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 2.11,
      "volume_acceleration": 2.66,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.17,
      "spread_liquidity": 4.77,
      "momentum_consistency": 2.71,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.325,
      "vwap": 14.3888,
      "vwap_slope": -0.0104,
      "rvol": 0.88,
      "volume_acceleration": 1.27,
      "premarket_volume": 440433.0,
      "momentum_pct": -0.21,
      "consolidation_tightness_pct": 0.42,
      "distance_from_pm_high_pct": 1.1,
      "extension_from_vwap_pct": -0.44,
      "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.485,
    "pm_low": 14.325
  },
  {
    "symbol": "KLAR",
    "total_score": 40.86,
    "raw_score": 43.31,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 2.34,
      "volume_acceleration": 1.96,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.4,
      "spread_liquidity": 4.76,
      "momentum_consistency": 2.95,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.175,
      "vwap": 14.2375,
      "vwap_slope": -0.0228,
      "rvol": 0.98,
      "volume_acceleration": 1.2,
      "premarket_volume": 487918.0,
      "momentum_pct": -0.04,
      "consolidation_tightness_pct": 0.14,
      "distance_from_pm_high_pct": 0.8,
      "extension_from_vwap_pct": -0.44,
      "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.29,
    "pm_low": 14.165
  },
  {
    "symbol": "HLIT",
    "total_score": 40.85,
    "raw_score": 43.3,
    "breakdown": {
      "price_quality": 2.88,
      "volume_quality": 10.88,
      "rvol": 0.44,
      "volume_acceleration": 3.58,
      "price_momentum": 0.06,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.51,
      "spread_liquidity": 4.45,
      "momentum_consistency": 3.1,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.12,
      "vwap": 12.1396,
      "vwap_slope": -0.0062,
      "rvol": 0.18,
      "volume_acceleration": 1.03,
      "premarket_volume": 90660.0,
      "momentum_pct": 0.04,
      "consolidation_tightness_pct": 0.33,
      "distance_from_pm_high_pct": 0.66,
      "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": 12.2,
    "pm_low": 12.09
  },
  {
    "symbol": "RES",
    "total_score": 40.81,
    "raw_score": 43.25,
    "breakdown": {
      "price_quality": 1.58,
      "volume_quality": 12.0,
      "rvol": 1.13,
      "volume_acceleration": 2.47,
      "price_momentum": 0.23,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.72,
      "spread_liquidity": 4.49,
      "momentum_consistency": 3.23,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.585,
      "vwap": 6.5879,
      "vwap_slope": -0.0042,
      "rvol": 0.47,
      "volume_acceleration": 0.71,
      "premarket_volume": 235570.0,
      "momentum_pct": 0.15,
      "consolidation_tightness_pct": 0.15,
      "distance_from_pm_high_pct": 0.38,
      "extension_from_vwap_pct": -0.04,
      "spread_pct": 0.15
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 6.61,
    "pm_low": 6.57
  },
  {
    "symbol": "APPS",
    "total_score": 40.73,
    "raw_score": 43.18,
    "breakdown": {
      "price_quality": 3.81,
      "volume_quality": 12.0,
      "rvol": 1.19,
      "volume_acceleration": 2.47,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 4.81,
      "spread_liquidity": 4.7,
      "momentum_consistency": 1.79,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.19,
      "vwap": 11.2959,
      "vwap_slope": -0.0162,
      "rvol": 0.5,
      "volume_acceleration": 0.71,
      "premarket_volume": 248868.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.25,
      "distance_from_pm_high_pct": 1.58,
      "extension_from_vwap_pct": -0.94,
      "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.37,
    "pm_low": 11.1817
  },
  {
    "symbol": "CPRI",
    "total_score": 40.71,
    "raw_score": 43.15,
    "breakdown": {
      "price_quality": 1.98,
      "volume_quality": 12.0,
      "rvol": 2.54,
      "volume_acceleration": 1.56,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.54,
      "spread_liquidity": 4.74,
      "momentum_consistency": 2.39,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.02,
      "vwap": 13.0597,
      "vwap_slope": -0.0087,
      "rvol": 1.06,
      "volume_acceleration": 1.16,
      "premarket_volume": 529845.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.19,
      "distance_from_pm_high_pct": 0.61,
      "extension_from_vwap_pct": -0.3,
      "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.1,
    "pm_low": 13.015
  },
  {
    "symbol": "DCH",
    "total_score": 40.71,
    "raw_score": 43.16,
    "breakdown": {
      "price_quality": 2.08,
      "volume_quality": 12.0,
      "rvol": 0.71,
      "volume_acceleration": 3.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.06,
      "spread_liquidity": 4.53,
      "momentum_consistency": 2.84,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.08,
      "vwap": 7.1372,
      "vwap_slope": -0.0163,
      "rvol": 0.3,
      "volume_acceleration": 1.02,
      "premarket_volume": 147535.0,
      "momentum_pct": -0.56,
      "consolidation_tightness_pct": 0.63,
      "distance_from_pm_high_pct": 1.26,
      "extension_from_vwap_pct": -0.8,
      "spread_pct": 0.14
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 7.17,
    "pm_low": 7.08
  },
  {
    "symbol": "NMAX",
    "total_score": 40.7,
    "raw_score": 43.15,
    "breakdown": {
      "price_quality": 4.25,
      "volume_quality": 10.45,
      "rvol": 0.42,
      "volume_acceleration": 2.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.38,
      "spread_liquidity": 4.38,
      "momentum_consistency": 2.89,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.75,
      "vwap": 10.7748,
      "vwap_slope": -0.0089,
      "rvol": 0.17,
      "volume_acceleration": 0.86,
      "premarket_volume": 87078.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.28,
      "distance_from_pm_high_pct": 0.83,
      "extension_from_vwap_pct": -0.23,
      "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.84,
    "pm_low": 10.72
  },
  {
    "symbol": "HLF",
    "total_score": 40.69,
    "raw_score": 43.14,
    "breakdown": {
      "price_quality": 2.49,
      "volume_quality": 11.76,
      "rvol": 0.47,
      "volume_acceleration": 4.26,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.14,
      "spread_liquidity": 4.73,
      "momentum_consistency": 1.87,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.51,
      "vwap": 12.5585,
      "vwap_slope": -0.0139,
      "rvol": 0.2,
      "volume_acceleration": 1.43,
      "premarket_volume": 98033.0,
      "momentum_pct": -0.24,
      "consolidation_tightness_pct": 0.28,
      "distance_from_pm_high_pct": 1.15,
      "extension_from_vwap_pct": -0.39,
      "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.655,
    "pm_low": 12.5
  },
  {
    "symbol": "GSIT",
    "total_score": 40.69,
    "raw_score": 43.13,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 3.85,
      "rvol": 0.15,
      "volume_acceleration": 3.83,
      "price_momentum": 0.27,
      "price_structure": 12,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.6,
      "spread_liquidity": 3.79,
      "momentum_consistency": 2.13,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.54,
      "vwap": 5.5463,
      "vwap_slope": -0.0001,
      "rvol": 0.06,
      "volume_acceleration": 1.1,
      "premarket_volume": 32080.0,
      "momentum_pct": 0.18,
      "consolidation_tightness_pct": 0.81,
      "distance_from_pm_high_pct": 0.54,
      "extension_from_vwap_pct": -0.11,
      "spread_pct": 0.36
    },
    "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.57,
    "pm_low": 5.525
  },
  {
    "symbol": "STTK",
    "total_score": 40.59,
    "raw_score": 43.02,
    "breakdown": {
      "price_quality": 1.58,
      "volume_quality": 12.0,
      "rvol": 0.5,
      "volume_acceleration": 5.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.21,
      "spread_liquidity": 4.49,
      "momentum_consistency": 1.76,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.58,
      "vwap": 6.6122,
      "vwap_slope": -0.0032,
      "rvol": 0.21,
      "volume_acceleration": 1.51,
      "premarket_volume": 104261.0,
      "momentum_pct": -0.15,
      "consolidation_tightness_pct": 0.3,
      "distance_from_pm_high_pct": 1.05,
      "extension_from_vwap_pct": -0.49,
      "spread_pct": 0.15
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 6.65,
    "pm_low": 6.56
  },
  {
    "symbol": "AES",
    "total_score": 40.5,
    "raw_score": 42.93,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 1.0,
      "volume_acceleration": 2.35,
      "price_momentum": 0.04,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.97,
      "spread_liquidity": 4.78,
      "momentum_consistency": 2.9,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.8138,
      "vwap": 14.8147,
      "vwap_slope": -0.0002,
      "rvol": 0.42,
      "volume_acceleration": 0.68,
      "premarket_volume": 207952.0,
      "momentum_pct": 0.03,
      "consolidation_tightness_pct": 0.07,
      "distance_from_pm_high_pct": 0.04,
      "extension_from_vwap_pct": -0.01,
      "spread_pct": 0.07
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 14.82,
    "pm_low": 14.81
  },
  {
    "symbol": "UAA",
    "total_score": 40.27,
    "raw_score": 42.69,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 3.01,
      "volume_acceleration": 2.81,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 4.97,
      "spread_liquidity": 4.34,
      "momentum_consistency": 1.66,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.05,
      "vwap": 5.0936,
      "vwap_slope": -0.008,
      "rvol": 1.25,
      "volume_acceleration": 0.81,
      "premarket_volume": 627239.0,
      "momentum_pct": -0.1,
      "consolidation_tightness_pct": 0.3,
      "distance_from_pm_high_pct": 1.37,
      "extension_from_vwap_pct": -0.86,
      "spread_pct": 0.2
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 5.12,
    "pm_low": 5.05
  },
  {
    "symbol": "RSKD",
    "total_score": 40.25,
    "raw_score": 42.66,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 0.67,
      "volume_acceleration": 3.76,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.7,
      "spread_liquidity": 4.46,
      "momentum_consistency": 2.18,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.165,
      "vwap": 6.1668,
      "vwap_slope": -0.0003,
      "rvol": 0.28,
      "volume_acceleration": 1.08,
      "premarket_volume": 138837.0,
      "momentum_pct": -0.16,
      "consolidation_tightness_pct": 0.17,
      "distance_from_pm_high_pct": 0.4,
      "extension_from_vwap_pct": -0.03,
      "spread_pct": 0.16
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 6.19,
    "pm_low": 6.145
  },
  {
    "symbol": "UPB",
    "total_score": 40.19,
    "raw_score": 42.6,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 6.15,
      "rvol": 0.25,
      "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.45,
      "momentum_consistency": 2.29,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.045,
      "vwap": 6.0604,
      "vwap_slope": -0.0033,
      "rvol": 0.1,
      "volume_acceleration": 2.29,
      "premarket_volume": 51274.0,
      "momentum_pct": -0.08,
      "consolidation_tightness_pct": 0.17,
      "distance_from_pm_high_pct": 0.58,
      "extension_from_vwap_pct": -0.25,
      "spread_pct": 0.17
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 6.08,
    "pm_low": 6.04
  },
  {
    "symbol": "BGC",
    "total_score": 40.11,
    "raw_score": 42.52,
    "breakdown": {
      "price_quality": 3.04,
      "volume_quality": 12.0,
      "rvol": 0.5,
      "volume_acceleration": 2.63,
      "price_momentum": 0.13,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.47,
      "spread_liquidity": 4.72,
      "momentum_consistency": 1.63,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.965,
      "vwap": 12.0126,
      "vwap_slope": -0.0132,
      "rvol": 0.21,
      "volume_acceleration": 0.76,
      "premarket_volume": 104840.0,
      "momentum_pct": 0.08,
      "consolidation_tightness_pct": 0.08,
      "distance_from_pm_high_pct": 0.71,
      "extension_from_vwap_pct": -0.4,
      "spread_pct": 0.08
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 12.05,
    "pm_low": 11.955
  },
  {
    "symbol": "NUVB",
    "total_score": 40.09,
    "raw_score": 42.5,
    "breakdown": {
      "price_quality": 1.67,
      "volume_quality": 12.0,
      "rvol": 0.59,
      "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.61,
      "spread_liquidity": 4.5,
      "momentum_consistency": 2.62,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.675,
      "vwap": 6.6861,
      "vwap_slope": -0.0025,
      "rvol": 0.24,
      "volume_acceleration": 0.89,
      "premarket_volume": 122157.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.07,
      "distance_from_pm_high_pct": 0.52,
      "extension_from_vwap_pct": -0.17,
      "spread_pct": 0.15
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 6.71,
    "pm_low": 6.67
  },
  {
    "symbol": "INNV",
    "total_score": 40.08,
    "raw_score": 42.49,
    "breakdown": {
      "price_quality": 4.57,
      "volume_quality": 3.48,
      "rvol": 0.14,
      "volume_acceleration": 10,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 4.8,
      "spread_liquidity": 4.04,
      "momentum_consistency": 3.06,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.43,
      "vwap": 10.5192,
      "vwap_slope": -0.0271,
      "rvol": 0.06,
      "volume_acceleration": 2.07,
      "premarket_volume": 29002.0,
      "momentum_pct": -0.05,
      "consolidation_tightness_pct": 0.14,
      "distance_from_pm_high_pct": 1.6,
      "extension_from_vwap_pct": -0.85,
      "spread_pct": 0.29
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 10.6,
    "pm_low": 10.41
  },
  {
    "symbol": "FSK",
    "total_score": 40.08,
    "raw_score": 42.48,
    "breakdown": {
      "price_quality": 2.83,
      "volume_quality": 12.0,
      "rvol": 0.67,
      "volume_acceleration": 2.05,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.6,
      "spread_liquidity": 4.73,
      "momentum_consistency": 2.21,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.17,
      "vwap": 12.2106,
      "vwap_slope": -0.0053,
      "rvol": 0.28,
      "volume_acceleration": 0.59,
      "premarket_volume": 138773.0,
      "momentum_pct": -0.09,
      "consolidation_tightness_pct": 0.16,
      "distance_from_pm_high_pct": 0.53,
      "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": false,
      "vwap_rising": false
    },
    "pm_high": 12.235,
    "pm_low": 12.17
  },
  {
    "symbol": "AURA",
    "total_score": 40.02,
    "raw_score": 42.42,
    "breakdown": {
      "price_quality": 2.34,
      "volume_quality": 5.43,
      "rvol": 0.22,
      "volume_acceleration": 1.93,
      "price_momentum": 0.2,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.75,
      "spread_liquidity": 4.09,
      "momentum_consistency": 2.86,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.34,
      "vwap": 7.3404,
      "vwap_slope": 0.0007,
      "rvol": 0.09,
      "volume_acceleration": 0.55,
      "premarket_volume": 45268.0,
      "momentum_pct": 0.14,
      "consolidation_tightness_pct": 0.2,
      "distance_from_pm_high_pct": 0.34,
      "extension_from_vwap_pct": -0.01,
      "spread_pct": 0.27
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": true
    },
    "pm_high": 7.365,
    "pm_low": 7.315
  },
  {
    "symbol": "LZ",
    "total_score": 39.96,
    "raw_score": 42.36,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 0.98,
      "volume_acceleration": 3.76,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.25,
      "spread_liquidity": 4.44,
      "momentum_consistency": 2.04,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.93,
      "vwap": 5.9686,
      "vwap_slope": -0.007,
      "rvol": 0.41,
      "volume_acceleration": 1.08,
      "premarket_volume": 203395.0,
      "momentum_pct": -0.25,
      "consolidation_tightness_pct": 0.34,
      "distance_from_pm_high_pct": 1.0,
      "extension_from_vwap_pct": -0.65,
      "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.99,
    "pm_low": 5.93
  },
  {
    "symbol": "BHC",
    "total_score": 39.91,
    "raw_score": 42.3,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 0.85,
      "volume_acceleration": 3.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.52,
      "spread_liquidity": 4.48,
      "momentum_consistency": 2.39,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.4488,
      "vwap": 6.4554,
      "vwap_slope": -0.0074,
      "rvol": 0.36,
      "volume_acceleration": 1.32,
      "premarket_volume": 177580.0,
      "momentum_pct": -0.02,
      "consolidation_tightness_pct": 0.39,
      "distance_from_pm_high_pct": 0.63,
      "extension_from_vwap_pct": -0.1,
      "spread_pct": 0.16
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 6.49,
    "pm_low": 6.43
  },
  {
    "symbol": "OI",
    "total_score": 39.84,
    "raw_score": 42.23,
    "breakdown": {
      "price_quality": 1.79,
      "volume_quality": 12.0,
      "rvol": 0.85,
      "volume_acceleration": 3.66,
      "price_momentum": 0.22,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.56,
      "spread_liquidity": 4.51,
      "momentum_consistency": 1.24,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.795,
      "vwap": 6.8104,
      "vwap_slope": -0.0048,
      "rvol": 0.35,
      "volume_acceleration": 1.05,
      "premarket_volume": 176504.0,
      "momentum_pct": 0.15,
      "consolidation_tightness_pct": 0.29,
      "distance_from_pm_high_pct": 0.59,
      "extension_from_vwap_pct": -0.23,
      "spread_pct": 0.15
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 6.835,
    "pm_low": 6.785
  },
  {
    "symbol": "LSPD",
    "total_score": 39.79,
    "raw_score": 42.17,
    "breakdown": {
      "price_quality": 4.82,
      "volume_quality": 7.76,
      "rvol": 0.31,
      "volume_acceleration": 3.67,
      "price_momentum": 0.22,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.78,
      "spread_liquidity": 4.67,
      "momentum_consistency": 2.54,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.175,
      "vwap": 10.1879,
      "vwap_slope": -0.0042,
      "rvol": 0.13,
      "volume_acceleration": 1.05,
      "premarket_volume": 64672.0,
      "momentum_pct": 0.15,
      "consolidation_tightness_pct": 0.15,
      "distance_from_pm_high_pct": 0.29,
      "extension_from_vwap_pct": -0.13,
      "spread_pct": 0.1
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 10.205,
    "pm_low": 10.16
  },
  {
    "symbol": "FWRG",
    "total_score": 39.72,
    "raw_score": 42.1,
    "breakdown": {
      "price_quality": 2.9,
      "volume_quality": 11.47,
      "rvol": 0.46,
      "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.2,
      "spread_liquidity": 4.17,
      "momentum_consistency": 2.73,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.1,
      "vwap": 12.1517,
      "vwap_slope": -0.0055,
      "rvol": 0.19,
      "volume_acceleration": 0.79,
      "premarket_volume": 95607.0,
      "momentum_pct": -0.17,
      "consolidation_tightness_pct": 0.41,
      "distance_from_pm_high_pct": 1.06,
      "extension_from_vwap_pct": -0.43,
      "spread_pct": 0.25
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 12.23,
    "pm_low": 12.1
  },
  {
    "symbol": "IMTX",
    "total_score": 39.71,
    "raw_score": 42.09,
    "breakdown": {
      "price_quality": 4.33,
      "volume_quality": 4.3,
      "rvol": 0.17,
      "volume_acceleration": 10,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.48,
      "spread_liquidity": 3.93,
      "momentum_consistency": 1.48,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.33,
      "vwap": 9.3464,
      "vwap_slope": -0.0161,
      "rvol": 0.07,
      "volume_acceleration": 4.51,
      "premarket_volume": 35817.0,
      "momentum_pct": -0.11,
      "consolidation_tightness_pct": 0.21,
      "distance_from_pm_high_pct": 0.69,
      "extension_from_vwap_pct": -0.18,
      "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": 9.395,
    "pm_low": 9.32
  },
  {
    "symbol": "CWH",
    "total_score": 39.66,
    "raw_score": 42.04,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 0.91,
      "volume_acceleration": 4.17,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 4.36,
      "spread_liquidity": 4.49,
      "momentum_consistency": 2.21,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.48,
      "vwap": 6.5566,
      "vwap_slope": -0.0222,
      "rvol": 0.38,
      "volume_acceleration": 1.42,
      "premarket_volume": 190074.0,
      "momentum_pct": -0.61,
      "consolidation_tightness_pct": 0.77,
      "distance_from_pm_high_pct": 2.19,
      "extension_from_vwap_pct": -1.17,
      "spread_pct": 0.15
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 6.625,
    "pm_low": 6.48
  },
  {
    "symbol": "DRVN",
    "total_score": 39.64,
    "raw_score": 42.02,
    "breakdown": {
      "price_quality": 1.7,
      "volume_quality": 8.78,
      "rvol": 0.35,
      "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.27,
      "spread_liquidity": 4.75,
      "momentum_consistency": 2.84,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.3,
      "vwap": 13.3203,
      "vwap_slope": -0.0084,
      "rvol": 0.15,
      "volume_acceleration": 1.59,
      "premarket_volume": 73162.0,
      "momentum_pct": -0.04,
      "consolidation_tightness_pct": 0.15,
      "distance_from_pm_high_pct": 0.97,
      "extension_from_vwap_pct": -0.15,
      "spread_pct": 0.08
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 13.43,
    "pm_low": 13.25
  },
  {
    "symbol": "TDOC",
    "total_score": 39.6,
    "raw_score": 41.97,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 0.88,
      "volume_acceleration": 3.44,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.41,
      "spread_liquidity": 4.47,
      "momentum_consistency": 1.88,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.29,
      "vwap": 6.3145,
      "vwap_slope": -0.0078,
      "rvol": 0.37,
      "volume_acceleration": 0.99,
      "premarket_volume": 182662.0,
      "momentum_pct": -0.08,
      "consolidation_tightness_pct": 0.09,
      "distance_from_pm_high_pct": 0.79,
      "extension_from_vwap_pct": -0.39,
      "spread_pct": 0.16
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 6.34,
    "pm_low": 6.275
  },
  {
    "symbol": "GPGI",
    "total_score": 39.55,
    "raw_score": 41.92,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 1.1,
      "volume_acceleration": 3.16,
      "price_momentum": 0.05,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 4.91,
      "spread_liquidity": 4.28,
      "momentum_consistency": 2.52,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.855,
      "vwap": 13.9107,
      "vwap_slope": -0.0142,
      "rvol": 0.46,
      "volume_acceleration": 0.91,
      "premarket_volume": 229535.0,
      "momentum_pct": 0.04,
      "consolidation_tightness_pct": 0.43,
      "distance_from_pm_high_pct": 1.46,
      "extension_from_vwap_pct": -0.4,
      "spread_pct": 0.22
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 14.06,
    "pm_low": 13.765
  },
  {
    "symbol": "TASK",
    "total_score": 39.53,
    "raw_score": 41.9,
    "breakdown": {
      "price_quality": 2.68,
      "volume_quality": 5.93,
      "rvol": 0.24,
      "volume_acceleration": 0.91,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.47,
      "spread_liquidity": 4.57,
      "momentum_consistency": 2.51,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.68,
      "vwap": 7.6877,
      "vwap_slope": 0.0013,
      "rvol": 0.1,
      "volume_acceleration": 0.26,
      "premarket_volume": 49379.0,
      "momentum_pct": -0.19,
      "consolidation_tightness_pct": 0.26,
      "distance_from_pm_high_pct": 0.71,
      "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": false,
      "vwap_rising": true
    },
    "pm_high": 7.735,
    "pm_low": 7.6201
  },
  {
    "symbol": "ECVT",
    "total_score": 39.51,
    "raw_score": 41.88,
    "breakdown": {
      "price_quality": 4.8,
      "volume_quality": 6.74,
      "rvol": 0.27,
      "volume_acceleration": 4.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.42,
      "spread_liquidity": 4.67,
      "momentum_consistency": 3.5,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.2,
      "vwap": 10.2374,
      "vwap_slope": -0.0162,
      "rvol": 0.11,
      "volume_acceleration": 1.41,
      "premarket_volume": 56201.0,
      "momentum_pct": -0.29,
      "consolidation_tightness_pct": 0.39,
      "distance_from_pm_high_pct": 0.78,
      "extension_from_vwap_pct": -0.36,
      "spread_pct": 0.1
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 10.28,
    "pm_low": 10.2
  },
  {
    "symbol": "CERT",
    "total_score": 39.49,
    "raw_score": 41.86,
    "breakdown": {
      "price_quality": 2.78,
      "volume_quality": 11.22,
      "rvol": 0.45,
      "volume_acceleration": 2.74,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.57,
      "spread_liquidity": 4.57,
      "momentum_consistency": 2.13,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.775,
      "vwap": 7.8003,
      "vwap_slope": -0.0042,
      "rvol": 0.19,
      "volume_acceleration": 0.79,
      "premarket_volume": 93525.0,
      "momentum_pct": -0.13,
      "consolidation_tightness_pct": 0.19,
      "distance_from_pm_high_pct": 0.58,
      "extension_from_vwap_pct": -0.32,
      "spread_pct": 0.13
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 7.82,
    "pm_low": 7.77
  },
  {
    "symbol": "NAVI",
    "total_score": 39.45,
    "raw_score": 41.81,
    "breakdown": {
      "price_quality": 4.46,
      "volume_quality": 8.86,
      "rvol": 0.35,
      "volume_acceleration": 3.62,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.57,
      "spread_liquidity": 4.65,
      "momentum_consistency": 1.9,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.455,
      "vwap": 9.4862,
      "vwap_slope": -0.0047,
      "rvol": 0.15,
      "volume_acceleration": 1.04,
      "premarket_volume": 73861.0,
      "momentum_pct": -0.11,
      "consolidation_tightness_pct": 0.2,
      "distance_from_pm_high_pct": 0.58,
      "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": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 9.51,
    "pm_low": 9.45
  },
  {
    "symbol": "AGEN",
    "total_score": 39.44,
    "raw_score": 41.8,
    "breakdown": {
      "price_quality": 2.65,
      "volume_quality": 12.0,
      "rvol": 0.63,
      "volume_acceleration": 2.28,
      "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.56,
      "momentum_consistency": 2.34,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.65,
      "vwap": 7.6932,
      "vwap_slope": -0.003,
      "rvol": 0.26,
      "volume_acceleration": 1.23,
      "premarket_volume": 132079.0,
      "momentum_pct": -0.33,
      "consolidation_tightness_pct": 0.39,
      "distance_from_pm_high_pct": 1.42,
      "extension_from_vwap_pct": -0.56,
      "spread_pct": 0.13
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 7.76,
    "pm_low": 7.65
  },
  {
    "symbol": "PGEN",
    "total_score": 39.37,
    "raw_score": 41.73,
    "breakdown": {
      "price_quality": 1.88,
      "volume_quality": 12.0,
      "rvol": 2.07,
      "volume_acceleration": 1.37,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 4.93,
      "spread_liquidity": 4.52,
      "momentum_consistency": 2.57,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.88,
      "vwap": 6.9168,
      "vwap_slope": -0.0035,
      "rvol": 0.86,
      "volume_acceleration": 0.39,
      "premarket_volume": 431049.0,
      "momentum_pct": -0.15,
      "consolidation_tightness_pct": 0.29,
      "distance_from_pm_high_pct": 1.43,
      "extension_from_vwap_pct": -0.53,
      "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.9799,
    "pm_low": 6.87
  },
  {
    "symbol": "YEXT",
    "total_score": 39.31,
    "raw_score": 41.67,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 0.68,
      "volume_acceleration": 3.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.53,
      "spread_liquidity": 4.48,
      "momentum_consistency": 1.93,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.375,
      "vwap": 6.3934,
      "vwap_slope": -0.0021,
      "rvol": 0.28,
      "volume_acceleration": 0.91,
      "premarket_volume": 141188.0,
      "momentum_pct": -0.31,
      "consolidation_tightness_pct": 0.39,
      "distance_from_pm_high_pct": 0.62,
      "extension_from_vwap_pct": -0.29,
      "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.37
  },
  {
    "symbol": "PAYO",
    "total_score": 39.23,
    "raw_score": 41.58,
    "breakdown": {
      "price_quality": 2.13,
      "volume_quality": 12.0,
      "rvol": 1.2,
      "volume_acceleration": 2.27,
      "price_momentum": 0.11,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.84,
      "spread_liquidity": 4.53,
      "momentum_consistency": 1.1,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.135,
      "vwap": 7.1392,
      "vwap_slope": -0.0014,
      "rvol": 0.5,
      "volume_acceleration": 0.65,
      "premarket_volume": 249150.0,
      "momentum_pct": 0.07,
      "consolidation_tightness_pct": 0.07,
      "distance_from_pm_high_pct": 0.21,
      "extension_from_vwap_pct": -0.06,
      "spread_pct": 0.14
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 7.15,
    "pm_low": 7.13
  },
  {
    "symbol": "AMPL",
    "total_score": 39.17,
    "raw_score": 41.52,
    "breakdown": {
      "price_quality": 2.38,
      "volume_quality": 9.59,
      "rvol": 0.38,
      "volume_acceleration": 4.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.35,
      "spread_liquidity": 4.74,
      "momentum_consistency": 2.55,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.615,
      "vwap": 12.6441,
      "vwap_slope": -0.0266,
      "rvol": 0.16,
      "volume_acceleration": 1.41,
      "premarket_volume": 79939.0,
      "momentum_pct": -0.08,
      "consolidation_tightness_pct": 0.2,
      "distance_from_pm_high_pct": 0.86,
      "extension_from_vwap_pct": -0.23,
      "spread_pct": 0.08
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 12.725,
    "pm_low": 12.57
  },
  {
    "symbol": "AVPT",
    "total_score": 39.16,
    "raw_score": 41.51,
    "breakdown": {
      "price_quality": 1.89,
      "volume_quality": 9.24,
      "rvol": 0.37,
      "volume_acceleration": 4.38,
      "price_momentum": 0.11,
      "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": 2.72,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.115,
      "vwap": 13.1372,
      "vwap_slope": -0.013,
      "rvol": 0.15,
      "volume_acceleration": 1.44,
      "premarket_volume": 76974.0,
      "momentum_pct": 0.08,
      "consolidation_tightness_pct": 0.19,
      "distance_from_pm_high_pct": 0.46,
      "extension_from_vwap_pct": -0.17,
      "spread_pct": 0.08
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 13.175,
    "pm_low": 13.081
  },
  {
    "symbol": "ALIT",
    "total_score": 39.04,
    "raw_score": 41.39,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 4.04,
      "rvol": 0.16,
      "volume_acceleration": 2.52,
      "price_momentum": 0.11,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.73,
      "spread_liquidity": 4.26,
      "momentum_consistency": 3.47,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.61,
      "vwap": 13.6287,
      "vwap_slope": 0.0004,
      "rvol": 0.07,
      "volume_acceleration": 0.72,
      "premarket_volume": 33686.0,
      "momentum_pct": 0.07,
      "consolidation_tightness_pct": 0.4,
      "distance_from_pm_high_pct": 0.37,
      "extension_from_vwap_pct": -0.14,
      "spread_pct": 0.22
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": true
    },
    "pm_high": 13.66,
    "pm_low": 13.585
  },
  {
    "symbol": "PHR",
    "total_score": 39.04,
    "raw_score": 41.38,
    "breakdown": {
      "price_quality": 4.78,
      "volume_quality": 8.73,
      "rvol": 0.35,
      "volume_acceleration": 3.25,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.2,
      "spread_liquidity": 4.67,
      "momentum_consistency": 2.0,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.22,
      "vwap": 10.2768,
      "vwap_slope": -0.0229,
      "rvol": 0.15,
      "volume_acceleration": 0.93,
      "premarket_volume": 72710.0,
      "momentum_pct": -0.1,
      "consolidation_tightness_pct": 0.2,
      "distance_from_pm_high_pct": 1.06,
      "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": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 10.33,
    "pm_low": 10.2
  },
  {
    "symbol": "REPL",
    "total_score": 38.98,
    "raw_score": 41.32,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 9.82,
      "rvol": 0.39,
      "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.37,
      "spread_liquidity": 4.77,
      "momentum_consistency": 3.41,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.76,
      "vwap": 14.8081,
      "vwap_slope": -0.0102,
      "rvol": 0.16,
      "volume_acceleration": 1.05,
      "premarket_volume": 81872.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.14,
      "distance_from_pm_high_pct": 0.84,
      "extension_from_vwap_pct": -0.32,
      "spread_pct": 0.07
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 14.885,
    "pm_low": 14.745
  },
  {
    "symbol": "LTRX",
    "total_score": 38.87,
    "raw_score": 41.2,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 5.11,
      "rvol": 0.2,
      "volume_acceleration": 10,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.3,
      "spread_liquidity": 4.37,
      "momentum_consistency": 2.32,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.28,
      "vwap": 5.2928,
      "vwap_slope": -0.0164,
      "rvol": 0.09,
      "volume_acceleration": 2.07,
      "premarket_volume": 42562.0,
      "momentum_pct": -0.09,
      "consolidation_tightness_pct": 0.28,
      "distance_from_pm_high_pct": 0.94,
      "extension_from_vwap_pct": -0.24,
      "spread_pct": 0.19
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 5.33,
    "pm_low": 5.27
  },
  {
    "symbol": "KBDC",
    "total_score": 38.84,
    "raw_score": 41.18,
    "breakdown": {
      "price_quality": 1.75,
      "volume_quality": 4.15,
      "rvol": 0.17,
      "volume_acceleration": 10,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.77,
      "spread_liquidity": 4.5,
      "momentum_consistency": 2.43,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.25,
      "vwap": 13.2601,
      "vwap_slope": -0.0066,
      "rvol": 0.07,
      "volume_acceleration": 3.04,
      "premarket_volume": 34610.0,
      "momentum_pct": -0.11,
      "consolidation_tightness_pct": 0.23,
      "distance_from_pm_high_pct": 0.3,
      "extension_from_vwap_pct": -0.08,
      "spread_pct": 0.15
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 13.29,
    "pm_low": 13.235
  },
  {
    "symbol": "MNRO",
    "total_score": 38.84,
    "raw_score": 41.18,
    "breakdown": {
      "price_quality": 2.47,
      "volume_quality": 9.16,
      "rvol": 0.37,
      "volume_acceleration": 3.57,
      "price_momentum": 0.12,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.52,
      "spread_liquidity": 4.47,
      "momentum_consistency": 3.1,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.53,
      "vwap": 12.5511,
      "vwap_slope": -0.0112,
      "rvol": 0.15,
      "volume_acceleration": 1.36,
      "premarket_volume": 76331.0,
      "momentum_pct": 0.08,
      "consolidation_tightness_pct": 0.16,
      "distance_from_pm_high_pct": 0.63,
      "extension_from_vwap_pct": -0.17,
      "spread_pct": 0.16
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 12.61,
    "pm_low": 12.5
  },
  {
    "symbol": "SLRC",
    "total_score": 38.79,
    "raw_score": 41.11,
    "breakdown": {
      "price_quality": 2.53,
      "volume_quality": 2.6,
      "rvol": 0.1,
      "volume_acceleration": 2.81,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.83,
      "spread_liquidity": 4.73,
      "momentum_consistency": 2.91,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.47,
      "vwap": 12.4708,
      "vwap_slope": 0.0061,
      "rvol": 0.04,
      "volume_acceleration": 1.28,
      "premarket_volume": 21688.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.2,
      "distance_from_pm_high_pct": 0.23,
      "extension_from_vwap_pct": -0.01,
      "spread_pct": 0.08
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": true
    },
    "pm_high": 12.499,
    "pm_low": 12.445
  },
  {
    "symbol": "COUR",
    "total_score": 38.68,
    "raw_score": 41.0,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 2.63,
      "volume_acceleration": 1.73,
      "price_momentum": 0.02,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 4.83,
      "spread_liquidity": 4.41,
      "momentum_consistency": 1.49,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.6009,
      "vwap": 5.6334,
      "vwap_slope": -0.0162,
      "rvol": 1.1,
      "volume_acceleration": 1.17,
      "premarket_volume": 548204.0,
      "momentum_pct": 0.01,
      "consolidation_tightness_pct": 0.54,
      "distance_from_pm_high_pct": 1.57,
      "extension_from_vwap_pct": -0.58,
      "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.69,
    "pm_low": 5.58
  },
  {
    "symbol": "BV",
    "total_score": 38.66,
    "raw_score": 40.98,
    "breakdown": {
      "price_quality": 3.68,
      "volume_quality": 7.03,
      "rvol": 0.28,
      "volume_acceleration": 4.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.54,
      "spread_liquidity": 4.71,
      "momentum_consistency": 2.84,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.32,
      "vwap": 11.3485,
      "vwap_slope": -0.0099,
      "rvol": 0.12,
      "volume_acceleration": 1.45,
      "premarket_volume": 58565.0,
      "momentum_pct": -0.04,
      "consolidation_tightness_pct": 0.13,
      "distance_from_pm_high_pct": 0.61,
      "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.39,
    "pm_low": 11.315
  },
  {
    "symbol": "BKKT",
    "total_score": 38.66,
    "raw_score": 40.98,
    "breakdown": {
      "price_quality": 3.39,
      "volume_quality": 9.29,
      "rvol": 0.37,
      "volume_acceleration": 2.25,
      "price_momentum": 0.34,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.12,
      "spread_liquidity": 4.21,
      "momentum_consistency": 3.62,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.39,
      "vwap": 8.4412,
      "vwap_slope": -0.017,
      "rvol": 0.15,
      "volume_acceleration": 0.65,
      "premarket_volume": 77418.0,
      "momentum_pct": 0.23,
      "consolidation_tightness_pct": 0.36,
      "distance_from_pm_high_pct": 1.18,
      "extension_from_vwap_pct": -0.61,
      "spread_pct": 0.24
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 8.49,
    "pm_low": 8.37
  },
  {
    "symbol": "TDAY",
    "total_score": 38.62,
    "raw_score": 40.94,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 0.96,
      "volume_acceleration": 2.13,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.37,
      "spread_liquidity": 4.48,
      "momentum_consistency": 2.11,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.445,
      "vwap": 6.464,
      "vwap_slope": -0.003,
      "rvol": 0.4,
      "volume_acceleration": 0.61,
      "premarket_volume": 199690.0,
      "momentum_pct": -0.15,
      "consolidation_tightness_pct": 0.23,
      "distance_from_pm_high_pct": 0.85,
      "extension_from_vwap_pct": -0.29,
      "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.5,
    "pm_low": 6.44
  },
  {
    "symbol": "NMR",
    "total_score": 38.5,
    "raw_score": 40.81,
    "breakdown": {
      "price_quality": 4.3,
      "volume_quality": 8.97,
      "rvol": 0.36,
      "volume_acceleration": 1.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.85,
      "spread_liquidity": 4.69,
      "momentum_consistency": 2.48,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.699,
      "vwap": 10.7035,
      "vwap_slope": -0.0086,
      "rvol": 0.15,
      "volume_acceleration": 1.18,
      "premarket_volume": 74783.0,
      "momentum_pct": -0.01,
      "consolidation_tightness_pct": 0.14,
      "distance_from_pm_high_pct": 0.2,
      "extension_from_vwap_pct": -0.04,
      "spread_pct": 0.09
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 10.72,
    "pm_low": 10.685
  },
  {
    "symbol": "PAYS",
    "total_score": 38.5,
    "raw_score": 40.81,
    "breakdown": {
      "price_quality": 2.25,
      "volume_quality": 9.58,
      "rvol": 0.38,
      "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.47,
      "spread_liquidity": 4.22,
      "momentum_consistency": 3.16,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.75,
      "vwap": 12.7674,
      "vwap_slope": -0.0046,
      "rvol": 0.16,
      "volume_acceleration": 1.33,
      "premarket_volume": 79821.0,
      "momentum_pct": -0.08,
      "consolidation_tightness_pct": 0.47,
      "distance_from_pm_high_pct": 0.7,
      "extension_from_vwap_pct": -0.14,
      "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.84,
    "pm_low": 12.71
  },
  {
    "symbol": "NMFC",
    "total_score": 38.17,
    "raw_score": 40.46,
    "breakdown": {
      "price_quality": 2.34,
      "volume_quality": 2.64,
      "rvol": 0.11,
      "volume_acceleration": 3.5,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.54,
      "spread_liquidity": 4.55,
      "momentum_consistency": 2.18,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.345,
      "vwap": 7.3703,
      "vwap_slope": 0.003,
      "rvol": 0.04,
      "volume_acceleration": 1.0,
      "premarket_volume": 21996.0,
      "momentum_pct": -0.34,
      "consolidation_tightness_pct": 0.41,
      "distance_from_pm_high_pct": 0.61,
      "extension_from_vwap_pct": -0.34,
      "spread_pct": 0.14
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": true
    },
    "pm_high": 7.39,
    "pm_low": 7.345
  },
  {
    "symbol": "CRMD",
    "total_score": 38.05,
    "raw_score": 40.33,
    "breakdown": {
      "price_quality": 3.15,
      "volume_quality": 11.43,
      "rvol": 0.46,
      "volume_acceleration": 1.14,
      "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.59,
      "momentum_consistency": 2.2,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.155,
      "vwap": 8.2088,
      "vwap_slope": -0.0081,
      "rvol": 0.19,
      "volume_acceleration": 0.33,
      "premarket_volume": 95281.0,
      "momentum_pct": -0.06,
      "consolidation_tightness_pct": 0.12,
      "distance_from_pm_high_pct": 1.39,
      "extension_from_vwap_pct": -0.65,
      "spread_pct": 0.12
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 8.27,
    "pm_low": 8.155
  },
  {
    "symbol": "BYND",
    "total_score": 37.98,
    "raw_score": 40.26,
    "breakdown": {
      "price_quality": 3.78,
      "volume_quality": 9.63,
      "rvol": 0.39,
      "volume_acceleration": 1.79,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 4.97,
      "spread_liquidity": 4.11,
      "momentum_consistency": 3.2,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.2238,
      "vwap": 11.2875,
      "vwap_slope": -0.0129,
      "rvol": 0.16,
      "volume_acceleration": 1.18,
      "premarket_volume": 80285.0,
      "momentum_pct": -0.06,
      "consolidation_tightness_pct": 0.2,
      "distance_from_pm_high_pct": 1.37,
      "extension_from_vwap_pct": -0.56,
      "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": 11.38,
    "pm_low": 11.2
  },
  {
    "symbol": "FUBO",
    "total_score": 37.72,
    "raw_score": 39.98,
    "breakdown": {
      "price_quality": 3.86,
      "volume_quality": 7.61,
      "rvol": 0.3,
      "volume_acceleration": 3.6,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 4.96,
      "spread_liquidity": 4.7,
      "momentum_consistency": 2.55,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.14,
      "vwap": 11.2125,
      "vwap_slope": -0.0343,
      "rvol": 0.13,
      "volume_acceleration": 1.03,
      "premarket_volume": 63420.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.36,
      "distance_from_pm_high_pct": 1.38,
      "extension_from_vwap_pct": -0.65,
      "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.2962,
    "pm_low": 11.1019
  },
  {
    "symbol": "SFL",
    "total_score": 37.7,
    "raw_score": 39.96,
    "breakdown": {
      "price_quality": 2.39,
      "volume_quality": 9.71,
      "rvol": 0.39,
      "volume_acceleration": 2.77,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.85,
      "spread_liquidity": 4.74,
      "momentum_consistency": 1.71,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.605,
      "vwap": 12.6107,
      "vwap_slope": -0.003,
      "rvol": 0.16,
      "volume_acceleration": 0.8,
      "premarket_volume": 80878.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.08,
      "distance_from_pm_high_pct": 0.2,
      "extension_from_vwap_pct": -0.04,
      "spread_pct": 0.08
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 12.63,
    "pm_low": 12.59
  },
  {
    "symbol": "OGN",
    "total_score": 37.62,
    "raw_score": 39.88,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 0.87,
      "volume_acceleration": 0.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.95,
      "spread_liquidity": 4.76,
      "momentum_consistency": 1.57,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.77,
      "vwap": 13.7734,
      "vwap_slope": -0.0002,
      "rvol": 0.36,
      "volume_acceleration": 0.24,
      "premarket_volume": 181575.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.07,
      "distance_from_pm_high_pct": 0.07,
      "extension_from_vwap_pct": -0.02,
      "spread_pct": 0.07
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 13.78,
    "pm_low": 13.77
  },
  {
    "symbol": "BBDC",
    "total_score": 37.61,
    "raw_score": 39.87,
    "breakdown": {
      "price_quality": 3.86,
      "volume_quality": 8.47,
      "rvol": 0.34,
      "volume_acceleration": 1.85,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.66,
      "spread_liquidity": 4.62,
      "momentum_consistency": 2.67,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.86,
      "vwap": 8.8834,
      "vwap_slope": -0.0017,
      "rvol": 0.14,
      "volume_acceleration": 0.53,
      "premarket_volume": 70563.0,
      "momentum_pct": -0.17,
      "consolidation_tightness_pct": 0.23,
      "distance_from_pm_high_pct": 0.45,
      "extension_from_vwap_pct": -0.26,
      "spread_pct": 0.11
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 8.9,
    "pm_low": 8.86
  },
  {
    "symbol": "STGW",
    "total_score": 37.56,
    "raw_score": 39.81,
    "breakdown": {
      "price_quality": 3.63,
      "volume_quality": 7.37,
      "rvol": 0.29,
      "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.44,
      "spread_liquidity": 4.61,
      "momentum_consistency": 2.48,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.635,
      "vwap": 8.6619,
      "vwap_slope": -0.0125,
      "rvol": 0.12,
      "volume_acceleration": 1.03,
      "premarket_volume": 61395.0,
      "momentum_pct": -0.06,
      "consolidation_tightness_pct": 0.12,
      "distance_from_pm_high_pct": 0.75,
      "extension_from_vwap_pct": -0.31,
      "spread_pct": 0.12
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 8.7,
    "pm_low": 8.615
  },
  {
    "symbol": "XTND",
    "total_score": 37.5,
    "raw_score": 39.75,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 1.77,
      "volume_acceleration": 1.05,
      "price_momentum": 0.19,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 3.17,
      "spread_liquidity": 4.4,
      "momentum_consistency": 3.26,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.5622,
      "vwap": 5.6764,
      "vwap_slope": -0.0129,
      "rvol": 0.74,
      "volume_acceleration": 0.3,
      "premarket_volume": 369057.0,
      "momentum_pct": 0.13,
      "consolidation_tightness_pct": 0.62,
      "distance_from_pm_high_pct": 3.77,
      "extension_from_vwap_pct": -2.01,
      "spread_pct": 0.18
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 5.78,
    "pm_low": 5.52
  },
  {
    "symbol": "MNTN",
    "total_score": 37.49,
    "raw_score": 39.74,
    "breakdown": {
      "price_quality": 2.16,
      "volume_quality": 11.38,
      "rvol": 0.46,
      "volume_acceleration": 1.23,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 4.68,
      "spread_liquidity": 4.48,
      "momentum_consistency": 2.96,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.84,
      "vwap": 12.9717,
      "vwap_slope": -0.0243,
      "rvol": 0.19,
      "volume_acceleration": 0.35,
      "premarket_volume": 94832.0,
      "momentum_pct": -0.23,
      "consolidation_tightness_pct": 0.31,
      "distance_from_pm_high_pct": 1.76,
      "extension_from_vwap_pct": -1.02,
      "spread_pct": 0.16
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 13.07,
    "pm_low": 12.805
  },
  {
    "symbol": "EMBC",
    "total_score": 37.23,
    "raw_score": 39.46,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 0.66,
      "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": 4.87,
      "spread_liquidity": 4.4,
      "momentum_consistency": 1.96,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.535,
      "vwap": 5.5725,
      "vwap_slope": -0.0074,
      "rvol": 0.27,
      "volume_acceleration": 0.48,
      "premarket_volume": 136731.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.18,
      "distance_from_pm_high_pct": 1.51,
      "extension_from_vwap_pct": -0.67,
      "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.62,
    "pm_low": 5.53
  },
  {
    "symbol": "BRCB",
    "total_score": 37.22,
    "raw_score": 39.45,
    "breakdown": {
      "price_quality": 4.51,
      "volume_quality": 5.29,
      "rvol": 0.21,
      "volume_acceleration": 5.99,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.57,
      "spread_liquidity": 3.95,
      "momentum_consistency": 1.54,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.505,
      "vwap": 9.5232,
      "vwap_slope": -0.0034,
      "rvol": 0.09,
      "volume_acceleration": 1.6,
      "premarket_volume": 44060.0,
      "momentum_pct": -0.05,
      "consolidation_tightness_pct": 0.32,
      "distance_from_pm_high_pct": 0.58,
      "extension_from_vwap_pct": -0.19,
      "spread_pct": 0.32
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 9.56,
    "pm_low": 9.465
  },
  {
    "symbol": "PDYN",
    "total_score": 37.21,
    "raw_score": 39.44,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 6.27,
      "rvol": 0.25,
      "volume_acceleration": 7.59,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 4.78,
      "spread_liquidity": 4.42,
      "momentum_consistency": 2.23,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.7401,
      "vwap": 5.7791,
      "vwap_slope": -0.0173,
      "rvol": 0.1,
      "volume_acceleration": 1.76,
      "premarket_volume": 52235.0,
      "momentum_pct": -0.26,
      "consolidation_tightness_pct": 0.26,
      "distance_from_pm_high_pct": 1.63,
      "extension_from_vwap_pct": -0.67,
      "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.835,
    "pm_low": 5.7401
  },
  {
    "symbol": "CAL",
    "total_score": 37.14,
    "raw_score": 39.37,
    "breakdown": {
      "price_quality": 2.96,
      "volume_quality": 9.11,
      "rvol": 0.36,
      "volume_acceleration": 2.43,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.44,
      "spread_liquidity": 4.45,
      "momentum_consistency": 2.21,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.04,
      "vwap": 12.0833,
      "vwap_slope": -0.0072,
      "rvol": 0.15,
      "volume_acceleration": 0.7,
      "premarket_volume": 75920.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.17,
      "distance_from_pm_high_pct": 0.74,
      "extension_from_vwap_pct": -0.36,
      "spread_pct": 0.17
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 12.13,
    "pm_low": 12.03
  },
  {
    "symbol": "MBC",
    "total_score": 37.12,
    "raw_score": 39.34,
    "breakdown": {
      "price_quality": 3.21,
      "volume_quality": 8.03,
      "rvol": 0.32,
      "volume_acceleration": 3.33,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.55,
      "spread_liquidity": 4.59,
      "momentum_consistency": 1.91,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.21,
      "vwap": 8.2378,
      "vwap_slope": -0.004,
      "rvol": 0.13,
      "volume_acceleration": 0.96,
      "premarket_volume": 66914.0,
      "momentum_pct": -0.18,
      "consolidation_tightness_pct": 0.24,
      "distance_from_pm_high_pct": 0.61,
      "extension_from_vwap_pct": -0.34,
      "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.26,
    "pm_low": 8.21
  },
  {
    "symbol": "DNA",
    "total_score": 36.96,
    "raw_score": 39.18,
    "breakdown": {
      "price_quality": 1.89,
      "volume_quality": 9.69,
      "rvol": 0.39,
      "volume_acceleration": 3.03,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.19,
      "spread_liquidity": 4.03,
      "momentum_consistency": 2.55,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.895,
      "vwap": 6.9202,
      "vwap_slope": -0.0161,
      "rvol": 0.16,
      "volume_acceleration": 1.3,
      "premarket_volume": 80711.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.15,
      "distance_from_pm_high_pct": 1.08,
      "extension_from_vwap_pct": -0.36,
      "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.97,
    "pm_low": 6.885
  },
  {
    "symbol": "AVO",
    "total_score": 36.91,
    "raw_score": 39.13,
    "breakdown": {
      "price_quality": 2.18,
      "volume_quality": 7.29,
      "rvol": 0.29,
      "volume_acceleration": 3.54,
      "price_momentum": 0.12,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.53,
      "spread_liquidity": 4.48,
      "momentum_consistency": 3.29,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.82,
      "vwap": 12.8275,
      "vwap_slope": -0.0045,
      "rvol": 0.12,
      "volume_acceleration": 1.02,
      "premarket_volume": 60722.0,
      "momentum_pct": 0.08,
      "consolidation_tightness_pct": 0.16,
      "distance_from_pm_high_pct": 0.62,
      "extension_from_vwap_pct": -0.06,
      "spread_pct": 0.16
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 12.9,
    "pm_low": 12.77
  },
  {
    "symbol": "ALLT",
    "total_score": 36.87,
    "raw_score": 39.08,
    "breakdown": {
      "price_quality": 2.74,
      "volume_quality": 2.45,
      "rvol": 0.1,
      "volume_acceleration": 10,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.28,
      "spread_liquidity": 4.57,
      "momentum_consistency": 1.54,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.74,
      "vwap": 7.7696,
      "vwap_slope": -0.0293,
      "rvol": 0.04,
      "volume_acceleration": 2.44,
      "premarket_volume": 20427.0,
      "momentum_pct": -0.13,
      "consolidation_tightness_pct": 0.26,
      "distance_from_pm_high_pct": 0.96,
      "extension_from_vwap_pct": -0.38,
      "spread_pct": 0.13
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 7.815,
    "pm_low": 7.73
  },
  {
    "symbol": "CRNC",
    "total_score": 36.73,
    "raw_score": 38.94,
    "breakdown": {
      "price_quality": 3.29,
      "volume_quality": 12.0,
      "rvol": 0.5,
      "volume_acceleration": 0.87,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 4.8,
      "spread_liquidity": 3.79,
      "momentum_consistency": 1.28,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.295,
      "vwap": 8.3844,
      "vwap_slope": -0.0115,
      "rvol": 0.21,
      "volume_acceleration": 0.25,
      "premarket_volume": 104885.0,
      "momentum_pct": -0.12,
      "consolidation_tightness_pct": 0.48,
      "distance_from_pm_high_pct": 1.6,
      "extension_from_vwap_pct": -1.07,
      "spread_pct": 0.36
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 8.43,
    "pm_low": 8.2704
  },
  {
    "symbol": "HOPE",
    "total_score": 36.67,
    "raw_score": 38.87,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 4.57,
      "rvol": 0.18,
      "volume_acceleration": 7.43,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.6,
      "spread_liquidity": 4.76,
      "momentum_consistency": 2.42,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.995,
      "vwap": 14.0381,
      "vwap_slope": -0.0251,
      "rvol": 0.08,
      "volume_acceleration": 1.74,
      "premarket_volume": 38116.0,
      "momentum_pct": -0.11,
      "consolidation_tightness_pct": 0.18,
      "distance_from_pm_high_pct": 0.53,
      "extension_from_vwap_pct": -0.31,
      "spread_pct": 0.07
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 14.07,
    "pm_low": 13.99
  },
  {
    "symbol": "WATT",
    "total_score": 36.44,
    "raw_score": 38.63,
    "breakdown": {
      "price_quality": 4.1,
      "volume_quality": 4.1,
      "rvol": 0.16,
      "volume_acceleration": 2.83,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.22,
      "spread_liquidity": 0.44,
      "momentum_consistency": 2.18,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.9048,
      "vwap": 10.9499,
      "vwap_slope": 0.0099,
      "rvol": 0.07,
      "volume_acceleration": 0.81,
      "premarket_volume": 34127.0,
      "momentum_pct": -0.05,
      "consolidation_tightness_pct": 0.91,
      "distance_from_pm_high_pct": 1.05,
      "extension_from_vwap_pct": -0.41,
      "spread_pct": 1.37
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": true
    },
    "pm_high": 11.02,
    "pm_low": 10.9
  },
  {
    "symbol": "FNKO",
    "total_score": 36.04,
    "raw_score": 38.21,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 8.21,
      "rvol": 0.33,
      "volume_acceleration": 3.55,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.61,
      "spread_liquidity": 4.41,
      "momentum_consistency": 2.2,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.675,
      "vwap": 5.6858,
      "vwap_slope": -0.0035,
      "rvol": 0.14,
      "volume_acceleration": 1.02,
      "premarket_volume": 68416.0,
      "momentum_pct": -0.02,
      "consolidation_tightness_pct": 0.19,
      "distance_from_pm_high_pct": 0.53,
      "extension_from_vwap_pct": -0.19,
      "spread_pct": 0.18
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 5.705,
    "pm_low": 5.665
  },
  {
    "symbol": "TTRX",
    "total_score": 35.97,
    "raw_score": 38.13,
    "breakdown": {
      "price_quality": 2.78,
      "volume_quality": 5.59,
      "rvol": 0.22,
      "volume_acceleration": 10,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 3.32,
      "spread_liquidity": 0.39,
      "momentum_consistency": 3.43,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.225,
      "vwap": 12.2955,
      "vwap_slope": -0.1002,
      "rvol": 0.09,
      "volume_acceleration": 4.55,
      "premarket_volume": 46612.0,
      "momentum_pct": -1.37,
      "consolidation_tightness_pct": 1.38,
      "distance_from_pm_high_pct": 3.58,
      "extension_from_vwap_pct": -0.57,
      "spread_pct": 1.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": 12.6786,
    "pm_low": 12.0
  },
  {
    "symbol": "QUAD",
    "total_score": 35.95,
    "raw_score": 38.11,
    "breakdown": {
      "price_quality": 4.72,
      "volume_quality": 8.29,
      "rvol": 0.33,
      "volume_acceleration": 1.02,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.31,
      "spread_liquidity": 4.03,
      "momentum_consistency": 2.0,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.275,
      "vwap": 10.314,
      "vwap_slope": -0.0033,
      "rvol": 0.14,
      "volume_acceleration": 0.29,
      "premarket_volume": 69107.0,
      "momentum_pct": -0.15,
      "consolidation_tightness_pct": 0.34,
      "distance_from_pm_high_pct": 0.92,
      "extension_from_vwap_pct": -0.38,
      "spread_pct": 0.29
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 10.37,
    "pm_low": 10.275
  },
  {
    "symbol": "ARCO",
    "total_score": 35.24,
    "raw_score": 37.36,
    "breakdown": {
      "price_quality": 3.15,
      "volume_quality": 6.38,
      "rvol": 0.26,
      "volume_acceleration": 3.03,
      "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.59,
      "momentum_consistency": 1.86,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.155,
      "vwap": 8.1639,
      "vwap_slope": -0.0018,
      "rvol": 0.11,
      "volume_acceleration": 0.87,
      "premarket_volume": 53135.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.06,
      "distance_from_pm_high_pct": 0.42,
      "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.189,
    "pm_low": 8.14
  },
  {
    "symbol": "ASLE",
    "total_score": 35.23,
    "raw_score": 37.35,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 5.83,
      "rvol": 0.23,
      "volume_acceleration": 7.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.28,
      "spread_liquidity": 4.42,
      "momentum_consistency": 0.64,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.705,
      "vwap": 5.7319,
      "vwap_slope": -0.0218,
      "rvol": 0.1,
      "volume_acceleration": 1.7,
      "premarket_volume": 48620.0,
      "momentum_pct": -0.09,
      "consolidation_tightness_pct": 0.18,
      "distance_from_pm_high_pct": 0.95,
      "extension_from_vwap_pct": -0.47,
      "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.76,
    "pm_low": 5.7
  },
  {
    "symbol": "MATV",
    "total_score": 35.05,
    "raw_score": 37.15,
    "breakdown": {
      "price_quality": 2.47,
      "volume_quality": 7.34,
      "rvol": 0.29,
      "volume_acceleration": 1.3,
      "price_momentum": 0.24,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.52,
      "spread_liquidity": 4.47,
      "momentum_consistency": 3.12,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.53,
      "vwap": 12.5325,
      "vwap_slope": -0.0043,
      "rvol": 0.12,
      "volume_acceleration": 0.37,
      "premarket_volume": 61161.0,
      "momentum_pct": 0.16,
      "consolidation_tightness_pct": 0.28,
      "distance_from_pm_high_pct": 0.63,
      "extension_from_vwap_pct": -0.02,
      "spread_pct": 0.16
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 12.61,
    "pm_low": 12.47
  },
  {
    "symbol": "ARVN",
    "total_score": 34.8,
    "raw_score": 36.89,
    "breakdown": {
      "price_quality": 4.09,
      "volume_quality": 5.06,
      "rvol": 0.2,
      "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.31,
      "spread_liquidity": 4.63,
      "momentum_consistency": 2.32,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.09,
      "vwap": 9.1238,
      "vwap_slope": -0.0045,
      "rvol": 0.08,
      "volume_acceleration": 0.83,
      "premarket_volume": 42138.0,
      "momentum_pct": -0.16,
      "consolidation_tightness_pct": 0.22,
      "distance_from_pm_high_pct": 0.93,
      "extension_from_vwap_pct": -0.37,
      "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.175,
    "pm_low": 9.09
  },
  {
    "symbol": "LENZ",
    "total_score": 34.69,
    "raw_score": 36.77,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 3.12,
      "rvol": 0.12,
      "volume_acceleration": 7.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.19,
      "spread_liquidity": 3.79,
      "momentum_consistency": 3.15,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.52,
      "vwap": 5.54,
      "vwap_slope": -0.0053,
      "rvol": 0.05,
      "volume_acceleration": 1.75,
      "premarket_volume": 25966.0,
      "momentum_pct": -0.18,
      "consolidation_tightness_pct": 0.36,
      "distance_from_pm_high_pct": 1.08,
      "extension_from_vwap_pct": -0.36,
      "spread_pct": 0.36
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 5.58,
    "pm_low": 5.51
  },
  {
    "symbol": "MH",
    "total_score": 34.47,
    "raw_score": 36.54,
    "breakdown": {
      "price_quality": 2.28,
      "volume_quality": 6.85,
      "rvol": 0.27,
      "volume_acceleration": 2.4,
      "price_momentum": 0.12,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.59,
      "spread_liquidity": 4.21,
      "momentum_consistency": 2.42,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.72,
      "vwap": 12.7357,
      "vwap_slope": -0.0022,
      "rvol": 0.11,
      "volume_acceleration": 0.69,
      "premarket_volume": 57045.0,
      "momentum_pct": 0.08,
      "consolidation_tightness_pct": 0.31,
      "distance_from_pm_high_pct": 0.55,
      "extension_from_vwap_pct": -0.12,
      "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.79,
    "pm_low": 12.69
  },
  {
    "symbol": "CION",
    "total_score": 34.28,
    "raw_score": 36.34,
    "breakdown": {
      "price_quality": 2.22,
      "volume_quality": 8.07,
      "rvol": 0.32,
      "volume_acceleration": 1.95,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.38,
      "spread_liquidity": 4.54,
      "momentum_consistency": 1.45,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.22,
      "vwap": 7.2531,
      "vwap_slope": -0.0013,
      "rvol": 0.13,
      "volume_acceleration": 0.56,
      "premarket_volume": 67239.0,
      "momentum_pct": -0.14,
      "consolidation_tightness_pct": 0.48,
      "distance_from_pm_high_pct": 0.82,
      "extension_from_vwap_pct": -0.46,
      "spread_pct": 0.14
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 7.28,
    "pm_low": 7.22
  },
  {
    "symbol": "KODK",
    "total_score": 34.23,
    "raw_score": 36.28,
    "breakdown": {
      "price_quality": 4.28,
      "volume_quality": 5.15,
      "rvol": 0.21,
      "volume_acceleration": 1.56,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.76,
      "spread_liquidity": 4.64,
      "momentum_consistency": 2.29,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.28,
      "vwap": 9.2882,
      "vwap_slope": -0.003,
      "rvol": 0.09,
      "volume_acceleration": 1.16,
      "premarket_volume": 42931.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.16,
      "distance_from_pm_high_pct": 0.32,
      "extension_from_vwap_pct": -0.09,
      "spread_pct": 0.11
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 9.31,
    "pm_low": 9.265
  },
  {
    "symbol": "WNC",
    "total_score": 34.08,
    "raw_score": 36.12,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 5.37,
      "rvol": 0.21,
      "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.3,
      "spread_liquidity": 4.52,
      "momentum_consistency": 3.35,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.8,
      "vwap": 13.8559,
      "vwap_slope": -0.0281,
      "rvol": 0.09,
      "volume_acceleration": 1.35,
      "premarket_volume": 44766.0,
      "momentum_pct": -0.11,
      "consolidation_tightness_pct": 0.33,
      "distance_from_pm_high_pct": 0.93,
      "extension_from_vwap_pct": -0.4,
      "spread_pct": 0.14
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 13.93,
    "pm_low": 13.785
  },
  {
    "symbol": "DBI",
    "total_score": 34.02,
    "raw_score": 36.07,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 3.04,
      "rvol": 0.12,
      "volume_acceleration": 8.31,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.28,
      "spread_liquidity": 3.7,
      "momentum_consistency": 1.71,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.13,
      "vwap": 5.1454,
      "vwap_slope": -0.0077,
      "rvol": 0.05,
      "volume_acceleration": 1.83,
      "premarket_volume": 25358.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.58,
      "distance_from_pm_high_pct": 0.97,
      "extension_from_vwap_pct": -0.3,
      "spread_pct": 0.39
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 5.18,
    "pm_low": 5.11
  },
  {
    "symbol": "CRCT",
    "total_score": 33.89,
    "raw_score": 35.92,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 6.48,
      "rvol": 0.26,
      "volume_acceleration": 4.69,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 4.85,
      "spread_liquidity": 4.39,
      "momentum_consistency": 1.37,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.435,
      "vwap": 5.4747,
      "vwap_slope": -0.0153,
      "rvol": 0.11,
      "volume_acceleration": 1.47,
      "premarket_volume": 53963.0,
      "momentum_pct": -0.09,
      "consolidation_tightness_pct": 0.28,
      "distance_from_pm_high_pct": 1.54,
      "extension_from_vwap_pct": -0.73,
      "spread_pct": 0.18
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 5.52,
    "pm_low": 5.43
  },
  {
    "symbol": "CARS",
    "total_score": 33.56,
    "raw_score": 35.57,
    "breakdown": {
      "price_quality": 3.65,
      "volume_quality": 5.16,
      "rvol": 0.21,
      "volume_acceleration": 2.53,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.57,
      "spread_liquidity": 4.41,
      "momentum_consistency": 1.64,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.35,
      "vwap": 11.3823,
      "vwap_slope": -0.0107,
      "rvol": 0.09,
      "volume_acceleration": 1.25,
      "premarket_volume": 42994.0,
      "momentum_pct": -0.26,
      "consolidation_tightness_pct": 0.26,
      "distance_from_pm_high_pct": 0.57,
      "extension_from_vwap_pct": -0.28,
      "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.415,
    "pm_low": 11.35
  },
  {
    "symbol": "MAGN",
    "total_score": 33.56,
    "raw_score": 35.57,
    "breakdown": {
      "price_quality": 3.02,
      "volume_quality": 3.2,
      "rvol": 0.13,
      "volume_acceleration": 3.46,
      "price_momentum": 0.25,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.23,
      "spread_liquidity": 3.88,
      "momentum_consistency": 4.0,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.98,
      "vwap": 12.0278,
      "vwap_slope": -0.0228,
      "rvol": 0.05,
      "volume_acceleration": 1.0,
      "premarket_volume": 26656.0,
      "momentum_pct": 0.17,
      "consolidation_tightness_pct": 0.42,
      "distance_from_pm_high_pct": 1.03,
      "extension_from_vwap_pct": -0.4,
      "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": 12.105,
    "pm_low": 11.96
  },
  {
    "symbol": "HCKT",
    "total_score": 33.37,
    "raw_score": 35.37,
    "breakdown": {
      "price_quality": 3.9,
      "volume_quality": 2.84,
      "rvol": 0.11,
      "volume_acceleration": 3.79,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.53,
      "spread_liquidity": 4.4,
      "momentum_consistency": 2.4,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.1,
      "vwap": 11.1353,
      "vwap_slope": -0.0176,
      "rvol": 0.05,
      "volume_acceleration": 1.38,
      "premarket_volume": 23692.0,
      "momentum_pct": -0.18,
      "consolidation_tightness_pct": 0.18,
      "distance_from_pm_high_pct": 0.63,
      "extension_from_vwap_pct": -0.32,
      "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.17,
    "pm_low": 11.09
  },
  {
    "symbol": "SWVL",
    "total_score": 33.25,
    "raw_score": 35.25,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 1.16,
      "volume_acceleration": 1.59,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 1.21,
      "spread_liquidity": 1.37,
      "momentum_consistency": 4.0,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.43,
      "vwap": 6.5646,
      "vwap_slope": -0.013,
      "rvol": 0.48,
      "volume_acceleration": 1.16,
      "premarket_volume": 242373.0,
      "momentum_pct": -1.82,
      "consolidation_tightness_pct": 2.23,
      "distance_from_pm_high_pct": 6.38,
      "extension_from_vwap_pct": -2.05,
      "spread_pct": 1.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": 6.8684,
    "pm_low": 6.3771
  },
  {
    "symbol": "LTBR",
    "total_score": 33.16,
    "raw_score": 35.15,
    "breakdown": {
      "price_quality": 2.92,
      "volume_quality": 4.29,
      "rvol": 0.17,
      "volume_acceleration": 3.24,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 4.97,
      "spread_liquidity": 4.16,
      "momentum_consistency": 3.0,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.92,
      "vwap": 7.9783,
      "vwap_slope": -0.0148,
      "rvol": 0.07,
      "volume_acceleration": 0.93,
      "premarket_volume": 35753.0,
      "momentum_pct": -0.19,
      "consolidation_tightness_pct": 0.25,
      "distance_from_pm_high_pct": 1.37,
      "extension_from_vwap_pct": -0.73,
      "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.03,
    "pm_low": 7.915
  },
  {
    "symbol": "SWIM",
    "total_score": 33.09,
    "raw_score": 35.07,
    "breakdown": {
      "price_quality": 1.78,
      "volume_quality": 4.66,
      "rvol": 0.19,
      "volume_acceleration": 4.55,
      "price_momentum": 0.11,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.72,
      "spread_liquidity": 4.51,
      "momentum_consistency": 1.14,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.785,
      "vwap": 6.7882,
      "vwap_slope": -0.01,
      "rvol": 0.08,
      "volume_acceleration": 1.45,
      "premarket_volume": 38867.0,
      "momentum_pct": 0.07,
      "consolidation_tightness_pct": 0.15,
      "distance_from_pm_high_pct": 0.37,
      "extension_from_vwap_pct": -0.05,
      "spread_pct": 0.15
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 6.81,
    "pm_low": 6.775
  },
  {
    "symbol": "RXST",
    "total_score": 33.07,
    "raw_score": 35.06,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 4.32,
      "rvol": 0.17,
      "volume_acceleration": 3.33,
      "price_momentum": 0.37,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.57,
      "spread_liquidity": 4.46,
      "momentum_consistency": 2.93,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.14,
      "vwap": 6.1465,
      "vwap_slope": -0.004,
      "rvol": 0.07,
      "volume_acceleration": 0.96,
      "premarket_volume": 35985.0,
      "momentum_pct": 0.24,
      "consolidation_tightness_pct": 0.24,
      "distance_from_pm_high_pct": 0.57,
      "extension_from_vwap_pct": -0.11,
      "spread_pct": 0.16
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 6.175,
    "pm_low": 6.125
  },
  {
    "symbol": "LYNX",
    "total_score": 32.95,
    "raw_score": 34.93,
    "breakdown": {
      "price_quality": 1.65,
      "volume_quality": 7.45,
      "rvol": 0.3,
      "volume_acceleration": 3.74,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 4.51,
      "spread_liquidity": 3.0,
      "momentum_consistency": 1.87,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.35,
      "vwap": 13.4532,
      "vwap_slope": -0.0202,
      "rvol": 0.12,
      "volume_acceleration": 1.07,
      "premarket_volume": 62116.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.22,
      "distance_from_pm_high_pct": 1.98,
      "extension_from_vwap_pct": -0.77,
      "spread_pct": 0.6
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 13.62,
    "pm_low": 13.325
  },
  {
    "symbol": "DFNS",
    "total_score": 32.8,
    "raw_score": 34.77,
    "breakdown": {
      "price_quality": 4.8,
      "volume_quality": 4.2,
      "rvol": 0.17,
      "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": 3.37,
      "spread_liquidity": 3.37,
      "momentum_consistency": 2.46,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.2,
      "vwap": 10.3291,
      "vwap_slope": -0.0347,
      "rvol": 0.07,
      "volume_acceleration": 1.15,
      "premarket_volume": 34987.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.39,
      "distance_from_pm_high_pct": 3.5,
      "extension_from_vwap_pct": -1.25,
      "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": 10.57,
    "pm_low": 10.15
  },
  {
    "symbol": "TJGC",
    "total_score": 32.68,
    "raw_score": 34.64,
    "breakdown": {
      "price_quality": 4.55,
      "volume_quality": 3.82,
      "rvol": 0.15,
      "volume_acceleration": 3.02,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.22,
      "spread_liquidity": 3.41,
      "momentum_consistency": 2.07,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.45,
      "vwap": 10.4874,
      "vwap_slope": -0.0115,
      "rvol": 0.06,
      "volume_acceleration": 0.87,
      "premarket_volume": 31818.0,
      "momentum_pct": -0.48,
      "consolidation_tightness_pct": 0.48,
      "distance_from_pm_high_pct": 1.04,
      "extension_from_vwap_pct": -0.36,
      "spread_pct": 0.48
    },
    "flags": {
      "meets_min_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.56,
    "pm_low": 10.45
  },
  {
    "symbol": "XPER",
    "total_score": 32.54,
    "raw_score": 34.49,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 7.37,
      "rvol": 0.29,
      "volume_acceleration": 2.19,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.29,
      "spread_liquidity": 3.85,
      "momentum_consistency": 1.6,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.77,
      "vwap": 5.8013,
      "vwap_slope": -0.0086,
      "rvol": 0.12,
      "volume_acceleration": 0.63,
      "premarket_volume": 61416.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.17,
      "distance_from_pm_high_pct": 0.94,
      "extension_from_vwap_pct": -0.54,
      "spread_pct": 0.35
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 5.825,
    "pm_low": 5.77
  },
  {
    "symbol": "HTLD",
    "total_score": 32.45,
    "raw_score": 34.4,
    "breakdown": {
      "price_quality": 2.61,
      "volume_quality": 4.53,
      "rvol": 0.18,
      "volume_acceleration": 2.25,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.58,
      "spread_liquidity": 4.73,
      "momentum_consistency": 2.12,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.39,
      "vwap": 12.4351,
      "vwap_slope": -0.0117,
      "rvol": 0.08,
      "volume_acceleration": 0.65,
      "premarket_volume": 37754.0,
      "momentum_pct": -0.04,
      "consolidation_tightness_pct": 0.24,
      "distance_from_pm_high_pct": 0.56,
      "extension_from_vwap_pct": -0.36,
      "spread_pct": 0.08
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 12.46,
    "pm_low": 12.39
  },
  {
    "symbol": "BHK",
    "total_score": 32.23,
    "raw_score": 34.16,
    "breakdown": {
      "price_quality": 3.96,
      "volume_quality": 5.65,
      "rvol": 0.23,
      "volume_acceleration": 0.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.87,
      "spread_liquidity": 4.63,
      "momentum_consistency": 1.08,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.955,
      "vwap": 8.9608,
      "vwap_slope": -0.0004,
      "rvol": 0.09,
      "volume_acceleration": 0.1,
      "premarket_volume": 47046.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.0,
      "distance_from_pm_high_pct": 0.17,
      "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.97,
    "pm_low": 8.95
  },
  {
    "symbol": "BVS",
    "total_score": 31.83,
    "raw_score": 33.74,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 3.57,
      "rvol": 0.14,
      "volume_acceleration": 3.16,
      "price_momentum": 0.22,
      "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.76,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.9,
      "vwap": 13.9414,
      "vwap_slope": -0.0228,
      "rvol": 0.06,
      "volume_acceleration": 0.91,
      "premarket_volume": 29767.0,
      "momentum_pct": 0.14,
      "consolidation_tightness_pct": 0.29,
      "distance_from_pm_high_pct": 0.71,
      "extension_from_vwap_pct": -0.3,
      "spread_pct": 0.14
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 13.9999,
    "pm_low": 13.88
  },
  {
    "symbol": "SSYS",
    "total_score": 31.65,
    "raw_score": 33.55,
    "breakdown": {
      "price_quality": 2.92,
      "volume_quality": 2.94,
      "rvol": 0.12,
      "volume_acceleration": 2.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.53,
      "spread_liquidity": 4.16,
      "momentum_consistency": 2.76,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.92,
      "vwap": 7.9409,
      "vwap_slope": -0.0127,
      "rvol": 0.05,
      "volume_acceleration": 1.27,
      "premarket_volume": 24485.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.13,
      "distance_from_pm_high_pct": 0.63,
      "extension_from_vwap_pct": -0.26,
      "spread_pct": 0.25
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 7.97,
    "pm_low": 7.915
  },
  {
    "symbol": "AIRO",
    "total_score": 31.57,
    "raw_score": 33.47,
    "breakdown": {
      "price_quality": 2.44,
      "volume_quality": 4.39,
      "rvol": 0.18,
      "volume_acceleration": 1.69,
      "price_momentum": 0.57,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.18,
      "spread_liquidity": 4.1,
      "momentum_consistency": 2.51,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.4381,
      "vwap": 7.4607,
      "vwap_slope": -0.0247,
      "rvol": 0.07,
      "volume_acceleration": 1.17,
      "premarket_volume": 36603.0,
      "momentum_pct": 0.38,
      "consolidation_tightness_pct": 0.74,
      "distance_from_pm_high_pct": 1.09,
      "extension_from_vwap_pct": -0.3,
      "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.52,
    "pm_low": 7.39
  },
  {
    "symbol": "ALVO",
    "total_score": 31.2,
    "raw_score": 33.07,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 3.62,
      "rvol": 0.14,
      "volume_acceleration": 3.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.79,
      "spread_liquidity": 4.37,
      "momentum_consistency": 1.64,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.295,
      "vwap": 5.3027,
      "vwap_slope": -0.0021,
      "rvol": 0.06,
      "volume_acceleration": 1.04,
      "premarket_volume": 30186.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.0,
      "distance_from_pm_high_pct": 0.28,
      "extension_from_vwap_pct": -0.15,
      "spread_pct": 0.19
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 5.31,
    "pm_low": 5.295
  },
  {
    "symbol": "LNSR",
    "total_score": 31.15,
    "raw_score": 33.02,
    "breakdown": {
      "price_quality": 3.58,
      "volume_quality": 4.13,
      "rvol": 0.17,
      "volume_acceleration": 0.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.39,
      "spread_liquidity": 3.84,
      "momentum_consistency": 2.6,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.58,
      "vwap": 8.6186,
      "vwap_slope": -0.0019,
      "rvol": 0.07,
      "volume_acceleration": 0.26,
      "premarket_volume": 34395.0,
      "momentum_pct": -0.35,
      "consolidation_tightness_pct": 0.7,
      "distance_from_pm_high_pct": 0.81,
      "extension_from_vwap_pct": -0.45,
      "spread_pct": 0.35
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 8.65,
    "pm_low": 8.57
  },
  {
    "symbol": "BETR",
    "total_score": 31.03,
    "raw_score": 32.89,
    "breakdown": {
      "price_quality": 1.57,
      "volume_quality": 3.53,
      "rvol": 0.14,
      "volume_acceleration": 2.89,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 4.79,
      "spread_liquidity": 4.25,
      "momentum_consistency": 3.31,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.43,
      "vwap": 13.4894,
      "vwap_slope": -0.0289,
      "rvol": 0.06,
      "volume_acceleration": 0.83,
      "premarket_volume": 29390.0,
      "momentum_pct": -0.11,
      "consolidation_tightness_pct": 0.59,
      "distance_from_pm_high_pct": 1.61,
      "extension_from_vwap_pct": -0.44,
      "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.6499,
    "pm_low": 13.3387
  },
  {
    "symbol": "NVA",
    "total_score": 30.92,
    "raw_score": 32.77,
    "breakdown": {
      "price_quality": 1.53,
      "volume_quality": 6.02,
      "rvol": 0.24,
      "volume_acceleration": 1.89,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 3.99,
      "spread_liquidity": 3.47,
      "momentum_consistency": 3.24,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.53,
      "vwap": 6.6254,
      "vwap_slope": -0.0272,
      "rvol": 0.1,
      "volume_acceleration": 1.19,
      "premarket_volume": 50128.0,
      "momentum_pct": -0.08,
      "consolidation_tightness_pct": 0.35,
      "distance_from_pm_high_pct": 2.68,
      "extension_from_vwap_pct": -1.44,
      "spread_pct": 0.46
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 6.71,
    "pm_low": 6.525
  },
  {
    "symbol": "LCUT",
    "total_score": 30.88,
    "raw_score": 32.73,
    "breakdown": {
      "price_quality": 3.92,
      "volume_quality": 3.0,
      "rvol": 0.12,
      "volume_acceleration": 2.19,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 4.56,
      "spread_liquidity": 3.88,
      "momentum_consistency": 2.67,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.92,
      "vwap": 8.9829,
      "vwap_slope": -0.0518,
      "rvol": 0.05,
      "volume_acceleration": 1.22,
      "premarket_volume": 24999.0,
      "momentum_pct": -0.22,
      "consolidation_tightness_pct": 1.12,
      "distance_from_pm_high_pct": 1.92,
      "extension_from_vwap_pct": -0.7,
      "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": 9.095,
    "pm_low": 8.85
  },
  {
    "symbol": "DSP",
    "total_score": 30.28,
    "raw_score": 32.1,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 3.43,
      "rvol": 0.14,
      "volume_acceleration": 1.7,
      "price_momentum": 0.56,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.56,
      "spread_liquidity": 4.26,
      "momentum_consistency": 2.55,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.53,
      "vwap": 13.5313,
      "vwap_slope": -0.0333,
      "rvol": 0.06,
      "volume_acceleration": 1.17,
      "premarket_volume": 28614.0,
      "momentum_pct": 0.37,
      "consolidation_tightness_pct": 0.56,
      "distance_from_pm_high_pct": 0.59,
      "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": false,
      "vwap_rising": false
    },
    "pm_high": 13.61,
    "pm_low": 13.465
  },
  {
    "symbol": "FF",
    "total_score": 30.19,
    "raw_score": 32.0,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 4.34,
      "rvol": 0.17,
      "volume_acceleration": 2.45,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.38,
      "spread_liquidity": 3.76,
      "momentum_consistency": 2.0,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.375,
      "vwap": 5.3963,
      "vwap_slope": -0.0075,
      "rvol": 0.07,
      "volume_acceleration": 0.71,
      "premarket_volume": 36150.0,
      "momentum_pct": -0.09,
      "consolidation_tightness_pct": 0.37,
      "distance_from_pm_high_pct": 0.83,
      "extension_from_vwap_pct": -0.39,
      "spread_pct": 0.37
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 5.42,
    "pm_low": 5.37
  },
  {
    "symbol": "FATN",
    "total_score": 30.17,
    "raw_score": 31.98,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 2.98,
      "rvol": 0.12,
      "volume_acceleration": 10,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 7.27,
      "distance_from_pm_high": 3.44,
      "spread_liquidity": 0.27,
      "momentum_consistency": 2.0,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.65,
      "vwap": 5.7337,
      "vwap_slope": -0.0763,
      "rvol": 0.05,
      "volume_acceleration": 3.66,
      "premarket_volume": 24835.0,
      "momentum_pct": -2.42,
      "consolidation_tightness_pct": 4.09,
      "distance_from_pm_high_pct": 3.42,
      "extension_from_vwap_pct": -1.46,
      "spread_pct": 1.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": 5.85,
    "pm_low": 5.56
  },
  {
    "symbol": "CXDO",
    "total_score": 29.52,
    "raw_score": 31.29,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 3.57,
      "rvol": 0.14,
      "volume_acceleration": 2.84,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.37,
      "spread_liquidity": 3.87,
      "momentum_consistency": 1.6,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.88,
      "vwap": 5.8975,
      "vwap_slope": -0.0105,
      "rvol": 0.06,
      "volume_acceleration": 0.82,
      "premarket_volume": 29781.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.17,
      "distance_from_pm_high_pct": 0.84,
      "extension_from_vwap_pct": -0.3,
      "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.93,
    "pm_low": 5.87
  },
  {
    "symbol": "MRTN",
    "total_score": 29.08,
    "raw_score": 30.82,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 2.66,
      "rvol": 0.11,
      "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.48,
      "spread_liquidity": 4.53,
      "momentum_consistency": 1.39,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.29,
      "vwap": 14.3478,
      "vwap_slope": -0.019,
      "rvol": 0.04,
      "volume_acceleration": 0.79,
      "premarket_volume": 22202.0,
      "momentum_pct": -0.07,
      "consolidation_tightness_pct": 0.14,
      "distance_from_pm_high_pct": 0.69,
      "extension_from_vwap_pct": -0.4,
      "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.39,
    "pm_low": 14.29
  },
  {
    "symbol": "INGN",
    "total_score": 28.84,
    "raw_score": 30.57,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 2.77,
      "rvol": 0.11,
      "volume_acceleration": 2.18,
      "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.37,
      "momentum_consistency": 1.74,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.27,
      "vwap": 5.2886,
      "vwap_slope": -0.0095,
      "rvol": 0.05,
      "volume_acceleration": 0.63,
      "premarket_volume": 23044.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.19,
      "distance_from_pm_high_pct": 0.66,
      "extension_from_vwap_pct": -0.35,
      "spread_pct": 0.19
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 5.3051,
    "pm_low": 5.26
  },
  {
    "symbol": "GYRE",
    "total_score": 28.1,
    "raw_score": 29.78,
    "breakdown": {
      "price_quality": 2.13,
      "volume_quality": 3.14,
      "rvol": 0.13,
      "volume_acceleration": 1.86,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.32,
      "spread_liquidity": 3.6,
      "momentum_consistency": 1.2,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.135,
      "vwap": 7.166,
      "vwap_slope": -0.0041,
      "rvol": 0.05,
      "volume_acceleration": 0.53,
      "premarket_volume": 26191.0,
      "momentum_pct": -0.63,
      "consolidation_tightness_pct": 0.7,
      "distance_from_pm_high_pct": 0.9,
      "extension_from_vwap_pct": -0.43,
      "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": 7.2,
    "pm_low": 7.13
  },
  {
    "symbol": "OBIO",
    "total_score": 27.54,
    "raw_score": 29.2,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 4.23,
      "rvol": 0.17,
      "volume_acceleration": 1.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.64,
      "spread_liquidity": 2.54,
      "momentum_consistency": 2.48,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.41,
      "vwap": 5.4676,
      "vwap_slope": -0.0055,
      "rvol": 0.07,
      "volume_acceleration": 0.36,
      "premarket_volume": 35263.0,
      "momentum_pct": -1.28,
      "consolidation_tightness_pct": 1.28,
      "distance_from_pm_high_pct": 1.81,
      "extension_from_vwap_pct": -1.05,
      "spread_pct": 0.74
    },
    "flags": {
      "meets_min_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.51,
    "pm_low": 5.41
  },
  {
    "symbol": "NTHI",
    "total_score": 26.57,
    "raw_score": 28.16,
    "breakdown": {
      "price_quality": 0.0,
      "volume_quality": 4.15,
      "rvol": 0.17,
      "volume_acceleration": 4.01,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 3.04,
      "spread_liquidity": 1.64,
      "momentum_consistency": 2.76,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 3.97,
      "vwap": 4.0537,
      "vwap_slope": -0.0285,
      "rvol": 0.07,
      "volume_acceleration": 1.4,
      "premarket_volume": 34561.0,
      "momentum_pct": -1.73,
      "consolidation_tightness_pct": 2.5,
      "distance_from_pm_high_pct": 3.95,
      "extension_from_vwap_pct": -2.06,
      "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": false,
      "vwap_rising": false
    },
    "pm_high": 4.1334,
    "pm_low": 3.97
  },
  {
    "symbol": "SEAT",
    "total_score": 26.45,
    "raw_score": 28.04,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 2.85,
      "rvol": 0.11,
      "volume_acceleration": 3.73,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 0.71,
      "spread_liquidity": 4.38,
      "momentum_consistency": 2.35,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.4,
      "vwap": 5.5541,
      "vwap_slope": -0.2109,
      "rvol": 0.05,
      "volume_acceleration": 1.37,
      "premarket_volume": 23779.0,
      "momentum_pct": -1.28,
      "consolidation_tightness_pct": 2.3,
      "distance_from_pm_high_pct": 7.06,
      "extension_from_vwap_pct": -2.77,
      "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.81,
    "pm_low": 5.385
  },
  {
    "symbol": "IPWR",
    "total_score": 24.74,
    "raw_score": 26.23,
    "breakdown": {
      "price_quality": 0.0,
      "volume_quality": 2.79,
      "rvol": 0.11,
      "volume_acceleration": 1.52,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.39,
      "spread_liquidity": 0.93,
      "momentum_consistency": 3.08,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 4.9,
      "vwap": 4.9064,
      "vwap_slope": -0.0026,
      "rvol": 0.05,
      "volume_acceleration": 0.44,
      "premarket_volume": 23224.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 1.02,
      "distance_from_pm_high_pct": 0.81,
      "extension_from_vwap_pct": -0.13,
      "spread_pct": 1.22
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 4.94,
    "pm_low": 4.87
  }
]