[
  {
    "symbol": "REAL",
    "total_score": 73.62,
    "raw_score": 78.03,
    "breakdown": {
      "price_quality": 3.91,
      "volume_quality": 12.0,
      "rvol": 9.49,
      "volume_acceleration": 0.73,
      "price_momentum": 0.82,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.97,
      "spread_liquidity": 4.7,
      "momentum_consistency": 4.41,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.085,
      "vwap": 10.8947,
      "vwap_slope": 0.0101,
      "rvol": 3.56,
      "volume_acceleration": 0.21,
      "premarket_volume": 1779590.0,
      "momentum_pct": 0.54,
      "consolidation_tightness_pct": 0.72,
      "distance_from_pm_high_pct": 0.04,
      "extension_from_vwap_pct": 1.75,
      "spread_pct": 0.09
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 11.0895,
    "pm_low": 10.6225
  },
  {
    "symbol": "ATEC",
    "total_score": 73.08,
    "raw_score": 77.47,
    "breakdown": {
      "price_quality": 4.36,
      "volume_quality": 12.0,
      "rvol": 0.62,
      "volume_acceleration": 10,
      "price_momentum": 0.48,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 6,
      "spread_liquidity": 4.64,
      "momentum_consistency": 3.36,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.355,
      "vwap": 9.3037,
      "vwap_slope": 0.0058,
      "rvol": 0.26,
      "volume_acceleration": 2.44,
      "premarket_volume": 129849.0,
      "momentum_pct": 0.32,
      "consolidation_tightness_pct": 0.54,
      "distance_from_pm_high_pct": 0.0,
      "extension_from_vwap_pct": 0.55,
      "spread_pct": 0.11
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 9.355,
    "pm_low": 9.275
  },
  {
    "symbol": "BRSL",
    "total_score": 71.27,
    "raw_score": 75.54,
    "breakdown": {
      "price_quality": 2.88,
      "volume_quality": 12.0,
      "rvol": 0.9,
      "volume_acceleration": 10,
      "price_momentum": 0.5,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.97,
      "spread_liquidity": 4.72,
      "momentum_consistency": 2.57,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.115,
      "vwap": 12.0643,
      "vwap_slope": 0.0156,
      "rvol": 0.37,
      "volume_acceleration": 2.23,
      "premarket_volume": 186674.0,
      "momentum_pct": 0.33,
      "consolidation_tightness_pct": 0.37,
      "distance_from_pm_high_pct": 0.04,
      "extension_from_vwap_pct": 0.42,
      "spread_pct": 0.08
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 12.12,
    "pm_low": 12.005
  },
  {
    "symbol": "TGB",
    "total_score": 69.24,
    "raw_score": 73.39,
    "breakdown": {
      "price_quality": 4.19,
      "volume_quality": 12.0,
      "rvol": 3.02,
      "volume_acceleration": 3.81,
      "price_momentum": 0.16,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.92,
      "spread_liquidity": 4.64,
      "momentum_consistency": 3.66,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.185,
      "vwap": 9.1756,
      "vwap_slope": 0.0022,
      "rvol": 1.26,
      "volume_acceleration": 1.09,
      "premarket_volume": 629411.0,
      "momentum_pct": 0.11,
      "consolidation_tightness_pct": 0.22,
      "distance_from_pm_high_pct": 0.11,
      "extension_from_vwap_pct": 0.1,
      "spread_pct": 0.11
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 9.195,
    "pm_low": 9.12
  },
  {
    "symbol": "XPOF",
    "total_score": 69.23,
    "raw_score": 73.38,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 0.63,
      "volume_acceleration": 10,
      "price_momentum": 0.44,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.85,
      "spread_liquidity": 3.69,
      "momentum_consistency": 3.26,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.09,
      "vwap": 5.0643,
      "vwap_slope": 0.0285,
      "rvol": 0.26,
      "volume_acceleration": 6.95,
      "premarket_volume": 132258.0,
      "momentum_pct": 0.3,
      "consolidation_tightness_pct": 0.79,
      "distance_from_pm_high_pct": 0.2,
      "extension_from_vwap_pct": 0.51,
      "spread_pct": 0.39
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 5.1,
    "pm_low": 5.03
  },
  {
    "symbol": "SOC",
    "total_score": 69.05,
    "raw_score": 73.19,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 10.69,
      "volume_acceleration": 10,
      "price_momentum": 0.15,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.63,
      "spread_liquidity": 4.34,
      "momentum_consistency": 2.48,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.07,
      "vwap": 5.0468,
      "vwap_slope": 0.0244,
      "rvol": 4.01,
      "volume_acceleration": 2.15,
      "premarket_volume": 2004913.0,
      "momentum_pct": 0.1,
      "consolidation_tightness_pct": 0.39,
      "distance_from_pm_high_pct": 0.49,
      "extension_from_vwap_pct": 0.46,
      "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.095,
    "pm_low": 4.96
  },
  {
    "symbol": "SOUN",
    "total_score": 68.76,
    "raw_score": 72.88,
    "breakdown": {
      "price_quality": 2.36,
      "volume_quality": 12.0,
      "rvol": 12.0,
      "volume_acceleration": 5.64,
      "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.55,
      "momentum_consistency": 4.34,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.36,
      "vwap": 7.3156,
      "vwap_slope": 0.013,
      "rvol": 10.68,
      "volume_acceleration": 1.56,
      "premarket_volume": 5339639.0,
      "momentum_pct": -0.2,
      "consolidation_tightness_pct": 0.95,
      "distance_from_pm_high_pct": 0.54,
      "extension_from_vwap_pct": 0.61,
      "spread_pct": 0.14
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 7.4,
    "pm_low": 7.22
  },
  {
    "symbol": "INFQ",
    "total_score": 68.39,
    "raw_score": 72.49,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 8.35,
      "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.41,
      "spread_liquidity": 4.76,
      "momentum_consistency": 4.07,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.94,
      "vwap": 13.9306,
      "vwap_slope": 0.0085,
      "rvol": 3.13,
      "volume_acceleration": 2.0,
      "premarket_volume": 1565432.0,
      "momentum_pct": -0.39,
      "consolidation_tightness_pct": 0.43,
      "distance_from_pm_high_pct": 0.78,
      "extension_from_vwap_pct": 0.07,
      "spread_pct": 0.07
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 14.05,
    "pm_low": 13.74
  },
  {
    "symbol": "BLMN",
    "total_score": 66.95,
    "raw_score": 70.97,
    "breakdown": {
      "price_quality": 3.64,
      "volume_quality": 12.0,
      "rvol": 0.91,
      "volume_acceleration": 3.63,
      "price_momentum": 0.33,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.97,
      "spread_liquidity": 4.71,
      "momentum_consistency": 3.78,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.36,
      "vwap": 11.2811,
      "vwap_slope": 0.0245,
      "rvol": 0.38,
      "volume_acceleration": 1.36,
      "premarket_volume": 189074.0,
      "momentum_pct": 0.22,
      "consolidation_tightness_pct": 0.31,
      "distance_from_pm_high_pct": 0.04,
      "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": true,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 11.365,
    "pm_low": 11.175
  },
  {
    "symbol": "ACHR",
    "total_score": 66.47,
    "raw_score": 70.46,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 12.0,
      "volume_acceleration": 4.97,
      "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": 3.53,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.385,
      "vwap": 6.3809,
      "vwap_slope": 0.007,
      "rvol": 5.46,
      "volume_acceleration": 1.5,
      "premarket_volume": 2729540.0,
      "momentum_pct": -0.39,
      "consolidation_tightness_pct": 0.55,
      "distance_from_pm_high_pct": 0.55,
      "extension_from_vwap_pct": 0.06,
      "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.42,
    "pm_low": 6.34
  },
  {
    "symbol": "ONDS",
    "total_score": 66.34,
    "raw_score": 70.32,
    "breakdown": {
      "price_quality": 3.78,
      "volume_quality": 12.0,
      "rvol": 12.0,
      "volume_acceleration": 2.33,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.53,
      "spread_liquidity": 4.62,
      "momentum_consistency": 3.66,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.775,
      "vwap": 8.7614,
      "vwap_slope": 0.0014,
      "rvol": 13.59,
      "volume_acceleration": 0.67,
      "premarket_volume": 6794664.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.4,
      "distance_from_pm_high_pct": 0.62,
      "extension_from_vwap_pct": 0.16,
      "spread_pct": 0.11
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 8.83,
    "pm_low": 8.69
  },
  {
    "symbol": "SFL",
    "total_score": 66.01,
    "raw_score": 69.97,
    "breakdown": {
      "price_quality": 2.52,
      "volume_quality": 10.37,
      "rvol": 0.41,
      "volume_acceleration": 6.2,
      "price_momentum": 0.48,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 6,
      "spread_liquidity": 4.73,
      "momentum_consistency": 3.26,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.485,
      "vwap": 12.4605,
      "vwap_slope": 0.0011,
      "rvol": 0.17,
      "volume_acceleration": 1.62,
      "premarket_volume": 86394.0,
      "momentum_pct": 0.32,
      "consolidation_tightness_pct": 0.32,
      "distance_from_pm_high_pct": 0.0,
      "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": true,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 12.485,
    "pm_low": 12.435
  },
  {
    "symbol": "F",
    "total_score": 65.97,
    "raw_score": 69.93,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 12.0,
      "volume_acceleration": 4.34,
      "price_momentum": 0.07,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.86,
      "spread_liquidity": 4.77,
      "momentum_consistency": 2.98,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.5022,
      "vwap": 14.4847,
      "vwap_slope": 0.0107,
      "rvol": 7.86,
      "volume_acceleration": 1.43,
      "premarket_volume": 3932228.0,
      "momentum_pct": 0.05,
      "consolidation_tightness_pct": 0.34,
      "distance_from_pm_high_pct": 0.19,
      "extension_from_vwap_pct": 0.12,
      "spread_pct": 0.07
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 14.53,
    "pm_low": 14.44
  },
  {
    "symbol": "CLSK",
    "total_score": 65.91,
    "raw_score": 69.86,
    "breakdown": {
      "price_quality": 3.04,
      "volume_quality": 12.0,
      "rvol": 12.0,
      "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.56,
      "spread_liquidity": 4.72,
      "momentum_consistency": 3.39,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.955,
      "vwap": 11.9513,
      "vwap_slope": 0.0046,
      "rvol": 5.44,
      "volume_acceleration": 0.79,
      "premarket_volume": 2718309.0,
      "momentum_pct": -0.08,
      "consolidation_tightness_pct": 0.46,
      "distance_from_pm_high_pct": 0.58,
      "extension_from_vwap_pct": 0.03,
      "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.025,
    "pm_low": 11.88
  },
  {
    "symbol": "ASAN",
    "total_score": 65.9,
    "raw_score": 69.85,
    "breakdown": {
      "price_quality": 4.61,
      "volume_quality": 12.0,
      "rvol": 2.41,
      "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.84,
      "spread_liquidity": 4.65,
      "momentum_consistency": 3.86,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.61,
      "vwap": 9.5681,
      "vwap_slope": 0.007,
      "rvol": 1.0,
      "volume_acceleration": 2.48,
      "premarket_volume": 501254.0,
      "momentum_pct": 0.05,
      "consolidation_tightness_pct": 0.26,
      "distance_from_pm_high_pct": 0.21,
      "extension_from_vwap_pct": 0.44,
      "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.63,
    "pm_low": 9.435
  },
  {
    "symbol": "VG",
    "total_score": 65.46,
    "raw_score": 69.39,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 3.24,
      "volume_acceleration": 2.64,
      "price_momentum": 0.32,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.95,
      "spread_liquidity": 4.77,
      "momentum_consistency": 2.98,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.255,
      "vwap": 14.2227,
      "vwap_slope": 0.0047,
      "rvol": 1.35,
      "volume_acceleration": 1.26,
      "premarket_volume": 674926.0,
      "momentum_pct": 0.21,
      "consolidation_tightness_pct": 0.25,
      "distance_from_pm_high_pct": 0.07,
      "extension_from_vwap_pct": 0.23,
      "spread_pct": 0.07
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 14.265,
    "pm_low": 14.18
  },
  {
    "symbol": "QS",
    "total_score": 65.36,
    "raw_score": 69.28,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 12.0,
      "volume_acceleration": 3.98,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.57,
      "spread_liquidity": 4.44,
      "momentum_consistency": 3.39,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.9654,
      "vwap": 5.9644,
      "vwap_slope": 0.0041,
      "rvol": 5.65,
      "volume_acceleration": 1.14,
      "premarket_volume": 2826066.0,
      "momentum_pct": -0.58,
      "consolidation_tightness_pct": 0.67,
      "distance_from_pm_high_pct": 0.58,
      "extension_from_vwap_pct": 0.02,
      "spread_pct": 0.17
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 6.0,
    "pm_low": 5.92
  },
  {
    "symbol": "EQX",
    "total_score": 65.21,
    "raw_score": 69.12,
    "breakdown": {
      "price_quality": 1.53,
      "volume_quality": 12.0,
      "rvol": 11.35,
      "volume_acceleration": 4.11,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.72,
      "spread_liquidity": 4.75,
      "momentum_consistency": 3.25,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.47,
      "vwap": 13.4581,
      "vwap_slope": 0.008,
      "rvol": 4.26,
      "volume_acceleration": 1.41,
      "premarket_volume": 2127631.0,
      "momentum_pct": -0.3,
      "consolidation_tightness_pct": 0.44,
      "distance_from_pm_high_pct": 0.37,
      "extension_from_vwap_pct": 0.09,
      "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.52,
    "pm_low": 13.36
  },
  {
    "symbol": "IMRX",
    "total_score": 65.01,
    "raw_score": 68.91,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 7.8,
      "rvol": 0.31,
      "volume_acceleration": 10,
      "price_momentum": 0.42,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.93,
      "spread_liquidity": 3.75,
      "momentum_consistency": 3.2,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.345,
      "vwap": 5.3189,
      "vwap_slope": 0.0048,
      "rvol": 0.13,
      "volume_acceleration": 5.26,
      "premarket_volume": 64988.0,
      "momentum_pct": 0.28,
      "consolidation_tightness_pct": 0.56,
      "distance_from_pm_high_pct": 0.09,
      "extension_from_vwap_pct": 0.49,
      "spread_pct": 0.37
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 5.35,
    "pm_low": 5.3
  },
  {
    "symbol": "QUBT",
    "total_score": 64.91,
    "raw_score": 68.8,
    "breakdown": {
      "price_quality": 3.85,
      "volume_quality": 12.0,
      "rvol": 4.4,
      "volume_acceleration": 8.44,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.7,
      "spread_liquidity": 4.62,
      "momentum_consistency": 3.39,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.845,
      "vwap": 8.8263,
      "vwap_slope": 0.011,
      "rvol": 1.65,
      "volume_acceleration": 1.84,
      "premarket_volume": 825029.0,
      "momentum_pct": -0.28,
      "consolidation_tightness_pct": 0.28,
      "distance_from_pm_high_pct": 0.39,
      "extension_from_vwap_pct": 0.21,
      "spread_pct": 0.11
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 8.88,
    "pm_low": 8.76
  },
  {
    "symbol": "CLF",
    "total_score": 64.91,
    "raw_score": 68.81,
    "breakdown": {
      "price_quality": 3.75,
      "volume_quality": 12.0,
      "rvol": 9.04,
      "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.67,
      "spread_liquidity": 4.7,
      "momentum_consistency": 3.66,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.25,
      "vwap": 11.2091,
      "vwap_slope": 0.0072,
      "rvol": 3.39,
      "volume_acceleration": 1.03,
      "premarket_volume": 1694951.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.27,
      "distance_from_pm_high_pct": 0.44,
      "extension_from_vwap_pct": 0.36,
      "spread_pct": 0.09
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 11.3,
    "pm_low": 11.115
  },
  {
    "symbol": "BTG",
    "total_score": 64.76,
    "raw_score": 68.64,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 12.0,
      "volume_acceleration": 3.9,
      "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.4,
      "momentum_consistency": 2.58,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.53,
      "vwap": 5.5275,
      "vwap_slope": 0.0001,
      "rvol": 6.27,
      "volume_acceleration": 1.39,
      "premarket_volume": 3132959.0,
      "momentum_pct": -0.09,
      "consolidation_tightness_pct": 0.36,
      "distance_from_pm_high_pct": 0.18,
      "extension_from_vwap_pct": 0.05,
      "spread_pct": 0.18
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 5.54,
    "pm_low": 5.52
  },
  {
    "symbol": "BFLY",
    "total_score": 64.1,
    "raw_score": 67.95,
    "breakdown": {
      "price_quality": 4.62,
      "volume_quality": 12.0,
      "rvol": 4.38,
      "volume_acceleration": 6.95,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.43,
      "spread_liquidity": 4.65,
      "momentum_consistency": 3.53,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.615,
      "vwap": 9.5386,
      "vwap_slope": 0.0311,
      "rvol": 1.64,
      "volume_acceleration": 1.7,
      "premarket_volume": 820417.0,
      "momentum_pct": -0.55,
      "consolidation_tightness_pct": 0.77,
      "distance_from_pm_high_pct": 0.76,
      "extension_from_vwap_pct": 0.8,
      "spread_pct": 0.1
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 9.689,
    "pm_low": 9.4
  },
  {
    "symbol": "EGY",
    "total_score": 63.81,
    "raw_score": 67.63,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 0.6,
      "volume_acceleration": 5.01,
      "price_momentum": 0.25,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.94,
      "spread_liquidity": 4.44,
      "momentum_consistency": 1.89,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.945,
      "vwap": 5.9363,
      "vwap_slope": 0.0005,
      "rvol": 0.25,
      "volume_acceleration": 1.5,
      "premarket_volume": 125828.0,
      "momentum_pct": 0.17,
      "consolidation_tightness_pct": 0.34,
      "distance_from_pm_high_pct": 0.08,
      "extension_from_vwap_pct": 0.15,
      "spread_pct": 0.17
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 5.95,
    "pm_low": 5.92
  },
  {
    "symbol": "PRGO",
    "total_score": 63.74,
    "raw_score": 67.57,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 2.73,
      "volume_acceleration": 10,
      "price_momentum": 0.05,
      "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": 4.2,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.105,
      "vwap": 13.994,
      "vwap_slope": 0.0114,
      "rvol": 1.14,
      "volume_acceleration": 2.15,
      "premarket_volume": 567912.0,
      "momentum_pct": 0.04,
      "consolidation_tightness_pct": 0.39,
      "distance_from_pm_high_pct": 0.11,
      "extension_from_vwap_pct": 0.79,
      "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.12,
    "pm_low": 13.87
  },
  {
    "symbol": "SRAD",
    "total_score": 63.35,
    "raw_score": 67.15,
    "breakdown": {
      "price_quality": 2.09,
      "volume_quality": 12.0,
      "rvol": 3.23,
      "volume_acceleration": 10,
      "price_momentum": 0.06,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.51,
      "spread_liquidity": 4.48,
      "momentum_consistency": 3.38,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.915,
      "vwap": 12.9017,
      "vwap_slope": 0.0169,
      "rvol": 1.35,
      "volume_acceleration": 5.09,
      "premarket_volume": 672648.0,
      "momentum_pct": 0.04,
      "consolidation_tightness_pct": 0.36,
      "distance_from_pm_high_pct": 0.65,
      "extension_from_vwap_pct": 0.1,
      "spread_pct": 0.15
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 13.0,
    "pm_low": 12.755
  },
  {
    "symbol": "OBDC",
    "total_score": 63.34,
    "raw_score": 67.14,
    "breakdown": {
      "price_quality": 3.69,
      "volume_quality": 12.0,
      "rvol": 2.2,
      "volume_acceleration": 10,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.93,
      "spread_liquidity": 4.71,
      "momentum_consistency": 2.21,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.3051,
      "vwap": 11.2865,
      "vwap_slope": 0.0028,
      "rvol": 0.92,
      "volume_acceleration": 2.31,
      "premarket_volume": 458305.0,
      "momentum_pct": -0.09,
      "consolidation_tightness_pct": 0.13,
      "distance_from_pm_high_pct": 0.09,
      "extension_from_vwap_pct": 0.16,
      "spread_pct": 0.09
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 11.315,
    "pm_low": 11.2609
  },
  {
    "symbol": "NVAX",
    "total_score": 62.95,
    "raw_score": 66.73,
    "breakdown": {
      "price_quality": 4.03,
      "volume_quality": 12.0,
      "rvol": 7.99,
      "volume_acceleration": 2.01,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.75,
      "spread_liquidity": 4.63,
      "momentum_consistency": 3.93,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.025,
      "vwap": 8.9124,
      "vwap_slope": 0.0229,
      "rvol": 3.0,
      "volume_acceleration": 0.58,
      "premarket_volume": 1497511.0,
      "momentum_pct": -0.22,
      "consolidation_tightness_pct": 0.44,
      "distance_from_pm_high_pct": 0.33,
      "extension_from_vwap_pct": 1.26,
      "spread_pct": 0.11
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 9.055,
    "pm_low": 8.75
  },
  {
    "symbol": "AGNC",
    "total_score": 62.85,
    "raw_score": 66.62,
    "breakdown": {
      "price_quality": 4.1,
      "volume_quality": 12.0,
      "rvol": 6.82,
      "volume_acceleration": 3.63,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.86,
      "spread_liquidity": 4.69,
      "momentum_consistency": 3.12,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.905,
      "vwap": 10.9004,
      "vwap_slope": 0.0008,
      "rvol": 2.56,
      "volume_acceleration": 1.04,
      "premarket_volume": 1277897.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.09,
      "distance_from_pm_high_pct": 0.18,
      "extension_from_vwap_pct": 0.04,
      "spread_pct": 0.09
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 10.925,
    "pm_low": 10.88
  },
  {
    "symbol": "CRML",
    "total_score": 62.74,
    "raw_score": 66.51,
    "breakdown": {
      "price_quality": 2.04,
      "volume_quality": 12.0,
      "rvol": 6.25,
      "volume_acceleration": 5.86,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.37,
      "spread_liquidity": 4.53,
      "momentum_consistency": 4.07,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.04,
      "vwap": 7.0264,
      "vwap_slope": 0.0084,
      "rvol": 2.34,
      "volume_acceleration": 1.59,
      "premarket_volume": 1171149.0,
      "momentum_pct": -0.14,
      "consolidation_tightness_pct": 0.97,
      "distance_from_pm_high_pct": 0.85,
      "extension_from_vwap_pct": 0.19,
      "spread_pct": 0.14
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 7.1,
    "pm_low": 6.94
  },
  {
    "symbol": "ANTX",
    "total_score": 62.48,
    "raw_score": 66.23,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 5.48,
      "rvol": 0.22,
      "volume_acceleration": 10,
      "price_momentum": 0.0,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.74,
      "spread_liquidity": 3.29,
      "momentum_consistency": 4.0,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.82,
      "vwap": 5.809,
      "vwap_slope": 0.0327,
      "rvol": 0.09,
      "volume_acceleration": 11.05,
      "premarket_volume": 45652.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.86,
      "distance_from_pm_high_pct": 0.34,
      "extension_from_vwap_pct": 0.19,
      "spread_pct": 0.51
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 5.84,
    "pm_low": 5.755
  },
  {
    "symbol": "BB",
    "total_score": 62.13,
    "raw_score": 65.85,
    "breakdown": {
      "price_quality": 3.05,
      "volume_quality": 12.0,
      "rvol": 3.09,
      "volume_acceleration": 8.01,
      "price_momentum": 0.09,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.91,
      "spread_liquidity": 4.59,
      "momentum_consistency": 2.71,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.055,
      "vwap": 8.0271,
      "vwap_slope": 0.0114,
      "rvol": 1.29,
      "volume_acceleration": 1.8,
      "premarket_volume": 643781.0,
      "momentum_pct": 0.06,
      "consolidation_tightness_pct": 0.31,
      "distance_from_pm_high_pct": 0.12,
      "extension_from_vwap_pct": 0.35,
      "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.065,
    "pm_low": 8.0
  },
  {
    "symbol": "PAYS",
    "total_score": 61.9,
    "raw_score": 65.61,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 10.34,
      "rvol": 0.41,
      "volume_acceleration": 3.31,
      "price_momentum": 0.16,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.87,
      "spread_liquidity": 4.29,
      "momentum_consistency": 3.73,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.095,
      "vwap": 13.9506,
      "vwap_slope": 0.061,
      "rvol": 0.17,
      "volume_acceleration": 0.95,
      "premarket_volume": 86181.0,
      "momentum_pct": 0.11,
      "consolidation_tightness_pct": 0.32,
      "distance_from_pm_high_pct": 0.18,
      "extension_from_vwap_pct": 1.03,
      "spread_pct": 0.21
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 14.12,
    "pm_low": 13.76
  },
  {
    "symbol": "TK",
    "total_score": 61.72,
    "raw_score": 65.42,
    "breakdown": {
      "price_quality": 1.69,
      "volume_quality": 5.12,
      "rvol": 0.2,
      "volume_acceleration": 8.27,
      "price_momentum": 0.11,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.89,
      "spread_liquidity": 4.75,
      "momentum_consistency": 3.39,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.31,
      "vwap": 13.297,
      "vwap_slope": 0.0197,
      "rvol": 0.09,
      "volume_acceleration": 1.83,
      "premarket_volume": 42653.0,
      "momentum_pct": 0.08,
      "consolidation_tightness_pct": 0.19,
      "distance_from_pm_high_pct": 0.15,
      "extension_from_vwap_pct": 0.1,
      "spread_pct": 0.08
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 13.33,
    "pm_low": 13.23
  },
  {
    "symbol": "CRGY",
    "total_score": 61.55,
    "raw_score": 65.25,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 2.32,
      "volume_acceleration": 10,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.79,
      "spread_liquidity": 4.76,
      "momentum_consistency": 2.48,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.04,
      "vwap": 14.0363,
      "vwap_slope": 0.002,
      "rvol": 0.96,
      "volume_acceleration": 2.09,
      "premarket_volume": 482346.0,
      "momentum_pct": -0.04,
      "consolidation_tightness_pct": 0.21,
      "distance_from_pm_high_pct": 0.28,
      "extension_from_vwap_pct": 0.03,
      "spread_pct": 0.07
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 14.08,
    "pm_low": 13.965
  },
  {
    "symbol": "EROC",
    "total_score": 61.45,
    "raw_score": 65.14,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 1.36,
      "volume_acceleration": 10,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.22,
      "spread_liquidity": 4.3,
      "momentum_consistency": 4.35,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.31,
      "vwap": 14.2695,
      "vwap_slope": 0.1075,
      "rvol": 0.57,
      "volume_acceleration": 2.49,
      "premarket_volume": 284018.0,
      "momentum_pct": -0.24,
      "consolidation_tightness_pct": 1.04,
      "distance_from_pm_high_pct": 1.04,
      "extension_from_vwap_pct": 0.28,
      "spread_pct": 0.21
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 14.46,
    "pm_low": 13.985
  },
  {
    "symbol": "ARVN",
    "total_score": 61.25,
    "raw_score": 64.92,
    "breakdown": {
      "price_quality": 4.32,
      "volume_quality": 11.1,
      "rvol": 0.44,
      "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.64,
      "momentum_consistency": 2.18,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.32,
      "vwap": 9.3167,
      "vwap_slope": 0.0023,
      "rvol": 0.18,
      "volume_acceleration": 2.44,
      "premarket_volume": 92476.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.27,
      "distance_from_pm_high_pct": 0.21,
      "extension_from_vwap_pct": 0.04,
      "spread_pct": 0.11
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 9.34,
    "pm_low": 9.295
  },
  {
    "symbol": "SMR",
    "total_score": 61.21,
    "raw_score": 64.89,
    "breakdown": {
      "price_quality": 4.46,
      "volume_quality": 12.0,
      "rvol": 12.0,
      "volume_acceleration": 3.34,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.18,
      "spread_liquidity": 4.65,
      "momentum_consistency": 3.66,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.46,
      "vwap": 9.466,
      "vwap_slope": 0.0118,
      "rvol": 9.97,
      "volume_acceleration": 0.96,
      "premarket_volume": 4983320.0,
      "momentum_pct": -0.79,
      "consolidation_tightness_pct": 0.95,
      "distance_from_pm_high_pct": 1.1,
      "extension_from_vwap_pct": -0.06,
      "spread_pct": 0.11
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": true
    },
    "pm_high": 9.565,
    "pm_low": 9.39
  },
  {
    "symbol": "RUN",
    "total_score": 61.14,
    "raw_score": 64.8,
    "breakdown": {
      "price_quality": 4.18,
      "volume_quality": 12.0,
      "rvol": 7.72,
      "volume_acceleration": 1.58,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.43,
      "spread_liquidity": 4.64,
      "momentum_consistency": 2.85,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.18,
      "vwap": 9.1741,
      "vwap_slope": 0.0011,
      "rvol": 2.9,
      "volume_acceleration": 0.46,
      "premarket_volume": 1448059.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.54,
      "distance_from_pm_high_pct": 0.76,
      "extension_from_vwap_pct": 0.06,
      "spread_pct": 0.11
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 9.25,
    "pm_low": 9.09
  },
  {
    "symbol": "DUOT",
    "total_score": 61.12,
    "raw_score": 64.78,
    "breakdown": {
      "price_quality": 4.61,
      "volume_quality": 7.93,
      "rvol": 0.32,
      "volume_acceleration": 2.12,
      "price_momentum": 0.22,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.78,
      "spread_liquidity": 4.68,
      "momentum_consistency": 3.13,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.395,
      "vwap": 10.3875,
      "vwap_slope": 0.0064,
      "rvol": 0.13,
      "volume_acceleration": 1.21,
      "premarket_volume": 66054.0,
      "momentum_pct": 0.14,
      "consolidation_tightness_pct": 0.34,
      "distance_from_pm_high_pct": 0.29,
      "extension_from_vwap_pct": 0.07,
      "spread_pct": 0.1
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 10.425,
    "pm_low": 10.34
  },
  {
    "symbol": "WEN",
    "total_score": 61.03,
    "raw_score": 64.69,
    "breakdown": {
      "price_quality": 4.01,
      "volume_quality": 12.0,
      "rvol": 6.43,
      "volume_acceleration": 2.32,
      "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.63,
      "momentum_consistency": 2.98,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.005,
      "vwap": 8.9724,
      "vwap_slope": 0.0119,
      "rvol": 2.41,
      "volume_acceleration": 1.23,
      "premarket_volume": 1205570.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.22,
      "distance_from_pm_high_pct": 0.11,
      "extension_from_vwap_pct": 0.36,
      "spread_pct": 0.11
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 9.015,
    "pm_low": 8.93
  },
  {
    "symbol": "NEXT",
    "total_score": 60.96,
    "raw_score": 64.61,
    "breakdown": {
      "price_quality": 2.14,
      "volume_quality": 12.0,
      "rvol": 1.46,
      "volume_acceleration": 9.28,
      "price_momentum": 0.21,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 6,
      "spread_liquidity": 4.53,
      "momentum_consistency": 2.58,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.145,
      "vwap": 7.1035,
      "vwap_slope": 0.0051,
      "rvol": 0.61,
      "volume_acceleration": 1.93,
      "premarket_volume": 304796.0,
      "momentum_pct": 0.14,
      "consolidation_tightness_pct": 0.28,
      "distance_from_pm_high_pct": 0.0,
      "extension_from_vwap_pct": 0.58,
      "spread_pct": 0.14
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 7.145,
    "pm_low": 7.055
  },
  {
    "symbol": "AGEN",
    "total_score": 60.82,
    "raw_score": 64.47,
    "breakdown": {
      "price_quality": 3.03,
      "volume_quality": 12.0,
      "rvol": 0.84,
      "volume_acceleration": 10,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 4.99,
      "spread_liquidity": 4.17,
      "momentum_consistency": 3.04,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.03,
      "vwap": 8.0263,
      "vwap_slope": 0.0042,
      "rvol": 0.35,
      "volume_acceleration": 4.63,
      "premarket_volume": 174755.0,
      "momentum_pct": -0.37,
      "consolidation_tightness_pct": 0.73,
      "distance_from_pm_high_pct": 1.35,
      "extension_from_vwap_pct": 0.05,
      "spread_pct": 0.25
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 8.14,
    "pm_low": 7.92
  },
  {
    "symbol": "FWDI",
    "total_score": 60.72,
    "raw_score": 64.36,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 1.62,
      "volume_acceleration": 10,
      "price_momentum": 0.29,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.29,
      "spread_liquidity": 4.36,
      "momentum_consistency": 2.91,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.22,
      "vwap": 5.2145,
      "vwap_slope": 0.0007,
      "rvol": 0.67,
      "volume_acceleration": 2.3,
      "premarket_volume": 337096.0,
      "momentum_pct": 0.19,
      "consolidation_tightness_pct": 0.86,
      "distance_from_pm_high_pct": 0.95,
      "extension_from_vwap_pct": 0.11,
      "spread_pct": 0.19
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 5.27,
    "pm_low": 5.185
  },
  {
    "symbol": "ADMA",
    "total_score": 60.66,
    "raw_score": 64.3,
    "breakdown": {
      "price_quality": 4.8,
      "volume_quality": 12.0,
      "rvol": 0.82,
      "volume_acceleration": 6.67,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.77,
      "spread_liquidity": 4.66,
      "momentum_consistency": 3.17,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.805,
      "vwap": 9.756,
      "vwap_slope": 0.0153,
      "rvol": 0.34,
      "volume_acceleration": 1.67,
      "premarket_volume": 171499.0,
      "momentum_pct": -0.25,
      "consolidation_tightness_pct": 0.31,
      "distance_from_pm_high_pct": 0.31,
      "extension_from_vwap_pct": 0.5,
      "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.835,
    "pm_low": 9.685
  },
  {
    "symbol": "SGHC",
    "total_score": 60.63,
    "raw_score": 64.27,
    "breakdown": {
      "price_quality": 1.76,
      "volume_quality": 12.0,
      "rvol": 0.78,
      "volume_acceleration": 10,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.92,
      "spread_liquidity": 4.75,
      "momentum_consistency": 2.67,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.245,
      "vwap": 13.2401,
      "vwap_slope": 0.0019,
      "rvol": 0.33,
      "volume_acceleration": 2.21,
      "premarket_volume": 163333.0,
      "momentum_pct": -0.04,
      "consolidation_tightness_pct": 0.19,
      "distance_from_pm_high_pct": 0.11,
      "extension_from_vwap_pct": 0.04,
      "spread_pct": 0.08
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 13.26,
    "pm_low": 13.205
  },
  {
    "symbol": "PSKY",
    "total_score": 60.55,
    "raw_score": 64.18,
    "breakdown": {
      "price_quality": 4.69,
      "volume_quality": 12.0,
      "rvol": 4.64,
      "volume_acceleration": 3.51,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.96,
      "spread_liquidity": 4.68,
      "momentum_consistency": 2.31,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.315,
      "vwap": 10.2843,
      "vwap_slope": 0.008,
      "rvol": 1.74,
      "volume_acceleration": 1.35,
      "premarket_volume": 869437.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.1,
      "distance_from_pm_high_pct": 0.05,
      "extension_from_vwap_pct": 0.3,
      "spread_pct": 0.1
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 10.32,
    "pm_low": 10.25
  },
  {
    "symbol": "TDAY",
    "total_score": 60.23,
    "raw_score": 63.85,
    "breakdown": {
      "price_quality": 1.58,
      "volume_quality": 12.0,
      "rvol": 1.17,
      "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.83,
      "spread_liquidity": 4.49,
      "momentum_consistency": 2.15,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.575,
      "vwap": 6.5507,
      "vwap_slope": 0.0277,
      "rvol": 0.49,
      "volume_acceleration": 2.53,
      "premarket_volume": 243010.0,
      "momentum_pct": 0.15,
      "consolidation_tightness_pct": 0.38,
      "distance_from_pm_high_pct": 0.23,
      "extension_from_vwap_pct": 0.37,
      "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.59,
    "pm_low": 6.51
  },
  {
    "symbol": "FSM",
    "total_score": 60.19,
    "raw_score": 63.8,
    "breakdown": {
      "price_quality": 2.93,
      "volume_quality": 12.0,
      "rvol": 5.79,
      "volume_acceleration": 2.85,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.88,
      "spread_liquidity": 4.72,
      "momentum_consistency": 3.23,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.07,
      "vwap": 12.0438,
      "vwap_slope": 0.0061,
      "rvol": 2.17,
      "volume_acceleration": 0.82,
      "premarket_volume": 1085658.0,
      "momentum_pct": -0.12,
      "consolidation_tightness_pct": 0.25,
      "distance_from_pm_high_pct": 0.17,
      "extension_from_vwap_pct": 0.22,
      "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.09,
    "pm_low": 11.99
  },
  {
    "symbol": "ICL",
    "total_score": 60.16,
    "raw_score": 63.77,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 0.88,
      "volume_acceleration": 10,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.94,
      "spread_liquidity": 4.43,
      "momentum_consistency": 2.62,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.805,
      "vwap": 5.7982,
      "vwap_slope": 0.0015,
      "rvol": 0.37,
      "volume_acceleration": 3.23,
      "premarket_volume": 184289.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.17,
      "distance_from_pm_high_pct": 0.09,
      "extension_from_vwap_pct": 0.12,
      "spread_pct": 0.17
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 5.81,
    "pm_low": 5.785
  },
  {
    "symbol": "SDOT",
    "total_score": 59.98,
    "raw_score": 63.58,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 3.0,
      "volume_acceleration": 3.78,
      "price_momentum": 10.71,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 2.65,
      "distance_from_pm_high": 4.0,
      "spread_liquidity": 2.94,
      "momentum_consistency": 4.61,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.4052,
      "vwap": 13.6868,
      "vwap_slope": 0.359,
      "rvol": 1.25,
      "volume_acceleration": 1.38,
      "premarket_volume": 624401.0,
      "momentum_pct": 7.14,
      "consolidation_tightness_pct": 11.03,
      "distance_from_pm_high_pct": 2.67,
      "extension_from_vwap_pct": 5.25,
      "spread_pct": 0.62
    },
    "flags": {
      "meets_min_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.7999,
    "pm_low": 12.8
  },
  {
    "symbol": "RDW",
    "total_score": 59.82,
    "raw_score": 63.41,
    "breakdown": {
      "price_quality": 2.85,
      "volume_quality": 12.0,
      "rvol": 5.07,
      "volume_acceleration": 2.42,
      "price_momentum": 0.06,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.75,
      "spread_liquidity": 4.73,
      "momentum_consistency": 4.14,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.155,
      "vwap": 12.1314,
      "vwap_slope": 0.0099,
      "rvol": 1.9,
      "volume_acceleration": 1.24,
      "premarket_volume": 951326.0,
      "momentum_pct": 0.04,
      "consolidation_tightness_pct": 0.45,
      "distance_from_pm_high_pct": 0.33,
      "extension_from_vwap_pct": 0.19,
      "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.195,
    "pm_low": 12.055
  },
  {
    "symbol": "HOPE",
    "total_score": 59.81,
    "raw_score": 63.4,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 11.9,
      "rvol": 0.48,
      "volume_acceleration": 10,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.89,
      "spread_liquidity": 4.76,
      "momentum_consistency": 2.46,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.005,
      "vwap": 14.0013,
      "vwap_slope": 0.0076,
      "rvol": 0.2,
      "volume_acceleration": 2.31,
      "premarket_volume": 99196.0,
      "momentum_pct": -0.04,
      "consolidation_tightness_pct": 0.18,
      "distance_from_pm_high_pct": 0.14,
      "extension_from_vwap_pct": 0.03,
      "spread_pct": 0.07
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 14.025,
    "pm_low": 13.98
  },
  {
    "symbol": "IMMX",
    "total_score": 59.72,
    "raw_score": 63.3,
    "breakdown": {
      "price_quality": 1.57,
      "volume_quality": 12.0,
      "rvol": 0.83,
      "volume_acceleration": 8.33,
      "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.5,
      "momentum_consistency": 3.74,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.425,
      "vwap": 13.2934,
      "vwap_slope": 0.0431,
      "rvol": 0.35,
      "volume_acceleration": 1.83,
      "premarket_volume": 172941.0,
      "momentum_pct": -0.11,
      "consolidation_tightness_pct": 0.22,
      "distance_from_pm_high_pct": 0.11,
      "extension_from_vwap_pct": 0.99,
      "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.44,
    "pm_low": 13.12
  },
  {
    "symbol": "DCH",
    "total_score": 59.69,
    "raw_score": 63.28,
    "breakdown": {
      "price_quality": 1.96,
      "volume_quality": 12.0,
      "rvol": 4.5,
      "volume_acceleration": 3.17,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.68,
      "spread_liquidity": 4.52,
      "momentum_consistency": 5.05,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.955,
      "vwap": 6.8321,
      "vwap_slope": 0.0328,
      "rvol": 1.69,
      "volume_acceleration": 1.32,
      "premarket_volume": 843783.0,
      "momentum_pct": -0.07,
      "consolidation_tightness_pct": 0.5,
      "distance_from_pm_high_pct": 0.43,
      "extension_from_vwap_pct": 1.8,
      "spread_pct": 0.14
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 6.985,
    "pm_low": 6.68
  },
  {
    "symbol": "BV",
    "total_score": 59.66,
    "raw_score": 63.24,
    "breakdown": {
      "price_quality": 3.66,
      "volume_quality": 12.0,
      "rvol": 0.54,
      "volume_acceleration": 8.51,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.93,
      "spread_liquidity": 4.71,
      "momentum_consistency": 1.49,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.34,
      "vwap": 11.3355,
      "vwap_slope": 0.0015,
      "rvol": 0.23,
      "volume_acceleration": 1.85,
      "premarket_volume": 113033.0,
      "momentum_pct": -0.04,
      "consolidation_tightness_pct": 0.09,
      "distance_from_pm_high_pct": 0.09,
      "extension_from_vwap_pct": 0.04,
      "spread_pct": 0.09
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 11.35,
    "pm_low": 11.3
  },
  {
    "symbol": "GO",
    "total_score": 59.62,
    "raw_score": 63.2,
    "breakdown": {
      "price_quality": 3.46,
      "volume_quality": 12.0,
      "rvol": 1.45,
      "volume_acceleration": 7.23,
      "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.71,
      "momentum_consistency": 2.31,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.535,
      "vwap": 11.5157,
      "vwap_slope": 0.0076,
      "rvol": 0.6,
      "volume_acceleration": 1.72,
      "premarket_volume": 301668.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.32,
      "distance_from_pm_high_pct": 0.47,
      "extension_from_vwap_pct": 0.17,
      "spread_pct": 0.09
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 11.59,
    "pm_low": 11.46
  },
  {
    "symbol": "OWL",
    "total_score": 59.35,
    "raw_score": 62.91,
    "breakdown": {
      "price_quality": 3.38,
      "volume_quality": 12.0,
      "rvol": 4.14,
      "volume_acceleration": 3.66,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.87,
      "spread_liquidity": 4.71,
      "momentum_consistency": 2.76,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.625,
      "vwap": 11.6048,
      "vwap_slope": 0.0032,
      "rvol": 1.55,
      "volume_acceleration": 1.37,
      "premarket_volume": 775856.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.22,
      "distance_from_pm_high_pct": 0.17,
      "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": true,
      "vwap_rising": true
    },
    "pm_high": 11.645,
    "pm_low": 11.555
  },
  {
    "symbol": "XHLD",
    "total_score": 59.26,
    "raw_score": 62.81,
    "breakdown": {
      "price_quality": 2.63,
      "volume_quality": 6.15,
      "rvol": 0.25,
      "volume_acceleration": 7.05,
      "price_momentum": 0.39,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.71,
      "spread_liquidity": 1.04,
      "momentum_consistency": 3.6,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.63,
      "vwap": 7.5441,
      "vwap_slope": 0.0266,
      "rvol": 0.1,
      "volume_acceleration": 1.7,
      "premarket_volume": 51269.0,
      "momentum_pct": 0.26,
      "consolidation_tightness_pct": 0.66,
      "distance_from_pm_high_pct": 0.39,
      "extension_from_vwap_pct": 1.14,
      "spread_pct": 1.19
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 7.66,
    "pm_low": 7.44
  },
  {
    "symbol": "PUMP",
    "total_score": 59.19,
    "raw_score": 62.74,
    "breakdown": {
      "price_quality": 3.62,
      "volume_quality": 12.0,
      "rvol": 0.75,
      "volume_acceleration": 3.59,
      "price_momentum": 0.66,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.93,
      "spread_liquidity": 4.71,
      "momentum_consistency": 2.67,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.375,
      "vwap": 11.3462,
      "vwap_slope": -0.0046,
      "rvol": 0.31,
      "volume_acceleration": 1.03,
      "premarket_volume": 156890.0,
      "momentum_pct": 0.44,
      "consolidation_tightness_pct": 0.56,
      "distance_from_pm_high_pct": 0.09,
      "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": true,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 11.385,
    "pm_low": 11.31
  },
  {
    "symbol": "BGC",
    "total_score": 59.19,
    "raw_score": 62.74,
    "breakdown": {
      "price_quality": 3.06,
      "volume_quality": 12.0,
      "rvol": 1.76,
      "volume_acceleration": 3.81,
      "price_momentum": 0.13,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.75,
      "spread_liquidity": 4.72,
      "momentum_consistency": 2.71,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.935,
      "vwap": 11.9246,
      "vwap_slope": -0.0003,
      "rvol": 0.73,
      "volume_acceleration": 1.09,
      "premarket_volume": 367105.0,
      "momentum_pct": 0.08,
      "consolidation_tightness_pct": 0.34,
      "distance_from_pm_high_pct": 0.33,
      "extension_from_vwap_pct": 0.09,
      "spread_pct": 0.08
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 11.975,
    "pm_low": 11.88
  },
  {
    "symbol": "NMR",
    "total_score": 59.11,
    "raw_score": 62.65,
    "breakdown": {
      "price_quality": 4.71,
      "volume_quality": 7.67,
      "rvol": 0.31,
      "volume_acceleration": 7.31,
      "price_momentum": 0.15,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.96,
      "spread_liquidity": 4.66,
      "momentum_consistency": 3.08,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.715,
      "vwap": 9.7104,
      "vwap_slope": -0.0006,
      "rvol": 0.13,
      "volume_acceleration": 1.73,
      "premarket_volume": 63888.0,
      "momentum_pct": 0.1,
      "consolidation_tightness_pct": 0.1,
      "distance_from_pm_high_pct": 0.05,
      "extension_from_vwap_pct": 0.05,
      "spread_pct": 0.1
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 9.72,
    "pm_low": 9.7
  },
  {
    "symbol": "NXE",
    "total_score": 58.89,
    "raw_score": 62.43,
    "breakdown": {
      "price_quality": 4.16,
      "volume_quality": 12.0,
      "rvol": 2.84,
      "volume_acceleration": 2.67,
      "price_momentum": 0.14,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.86,
      "spread_liquidity": 4.69,
      "momentum_consistency": 3.66,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.835,
      "vwap": 10.7713,
      "vwap_slope": 0.0129,
      "rvol": 1.18,
      "volume_acceleration": 1.27,
      "premarket_volume": 590717.0,
      "momentum_pct": 0.09,
      "consolidation_tightness_pct": 0.32,
      "distance_from_pm_high_pct": 0.18,
      "extension_from_vwap_pct": 0.59,
      "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.855,
    "pm_low": 10.67
  },
  {
    "symbol": "AVTR",
    "total_score": 58.84,
    "raw_score": 62.37,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 3.05,
      "volume_acceleration": 5.61,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.92,
      "spread_liquidity": 4.77,
      "momentum_consistency": 3.12,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.425,
      "vwap": 14.4127,
      "vwap_slope": 0.0078,
      "rvol": 1.27,
      "volume_acceleration": 1.56,
      "premarket_volume": 635413.0,
      "momentum_pct": -0.07,
      "consolidation_tightness_pct": 0.14,
      "distance_from_pm_high_pct": 0.1,
      "extension_from_vwap_pct": 0.09,
      "spread_pct": 0.07
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 14.44,
    "pm_low": 14.365
  },
  {
    "symbol": "MASS",
    "total_score": 58.76,
    "raw_score": 62.29,
    "breakdown": {
      "price_quality": 4.38,
      "volume_quality": 7.71,
      "rvol": 0.31,
      "volume_acceleration": 10,
      "price_momentum": 0.21,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.68,
      "spread_liquidity": 4.06,
      "momentum_consistency": 3.53,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.615,
      "vwap": 10.5666,
      "vwap_slope": 0.0687,
      "rvol": 0.13,
      "volume_acceleration": 2.68,
      "premarket_volume": 64258.0,
      "momentum_pct": 0.14,
      "consolidation_tightness_pct": 0.66,
      "distance_from_pm_high_pct": 0.42,
      "extension_from_vwap_pct": 0.46,
      "spread_pct": 0.28
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 10.66,
    "pm_low": 10.405
  },
  {
    "symbol": "WEST",
    "total_score": 58.76,
    "raw_score": 62.29,
    "breakdown": {
      "price_quality": 3.32,
      "volume_quality": 8.74,
      "rvol": 0.35,
      "volume_acceleration": 10,
      "price_momentum": 1.09,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.73,
      "spread_liquidity": 3.8,
      "momentum_consistency": 2.86,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.32,
      "vwap": 8.2531,
      "vwap_slope": 0.0376,
      "rvol": 0.15,
      "volume_acceleration": 2.83,
      "premarket_volume": 72858.0,
      "momentum_pct": 0.73,
      "consolidation_tightness_pct": 1.93,
      "distance_from_pm_high_pct": 0.36,
      "extension_from_vwap_pct": 0.81,
      "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.35,
    "pm_low": 8.17
  },
  {
    "symbol": "JOBY",
    "total_score": 58.72,
    "raw_score": 62.24,
    "breakdown": {
      "price_quality": 2.58,
      "volume_quality": 12.0,
      "rvol": 12.0,
      "volume_acceleration": 2.55,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.7,
      "spread_liquidity": 4.56,
      "momentum_consistency": 3.25,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.575,
      "vwap": 7.5868,
      "vwap_slope": 0.0009,
      "rvol": 7.1,
      "volume_acceleration": 0.73,
      "premarket_volume": 3548517.0,
      "momentum_pct": -0.39,
      "consolidation_tightness_pct": 0.46,
      "distance_from_pm_high_pct": 0.39,
      "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": false,
      "vwap_rising": true
    },
    "pm_high": 7.605,
    "pm_low": 7.57
  },
  {
    "symbol": "VISN",
    "total_score": 58.47,
    "raw_score": 61.98,
    "breakdown": {
      "price_quality": 3.78,
      "volume_quality": 12.0,
      "rvol": 3.34,
      "volume_acceleration": 3.48,
      "price_momentum": 0.13,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.93,
      "spread_liquidity": 4.7,
      "momentum_consistency": 2.21,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.225,
      "vwap": 11.2052,
      "vwap_slope": 0.0026,
      "rvol": 1.39,
      "volume_acceleration": 1.0,
      "premarket_volume": 696578.0,
      "momentum_pct": 0.09,
      "consolidation_tightness_pct": 0.13,
      "distance_from_pm_high_pct": 0.09,
      "extension_from_vwap_pct": 0.18,
      "spread_pct": 0.09
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 11.235,
    "pm_low": 11.18
  },
  {
    "symbol": "EYPT",
    "total_score": 58.33,
    "raw_score": 61.83,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 4.15,
      "volume_acceleration": 4.1,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.79,
      "spread_liquidity": 4.36,
      "momentum_consistency": 3.53,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.265,
      "vwap": 5.1658,
      "vwap_slope": 0.0326,
      "rvol": 1.56,
      "volume_acceleration": 1.41,
      "premarket_volume": 778829.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.95,
      "distance_from_pm_high_pct": 0.28,
      "extension_from_vwap_pct": 1.92,
      "spread_pct": 0.19
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 5.28,
    "pm_low": 5.05
  },
  {
    "symbol": "AMPL",
    "total_score": 58.31,
    "raw_score": 61.81,
    "breakdown": {
      "price_quality": 1.89,
      "volume_quality": 12.0,
      "rvol": 1.2,
      "volume_acceleration": 7.53,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.66,
      "spread_liquidity": 4.75,
      "momentum_consistency": 2.39,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.115,
      "vwap": 13.0911,
      "vwap_slope": 0.0109,
      "rvol": 0.5,
      "volume_acceleration": 1.75,
      "premarket_volume": 250604.0,
      "momentum_pct": -0.23,
      "consolidation_tightness_pct": 0.27,
      "distance_from_pm_high_pct": 0.46,
      "extension_from_vwap_pct": 0.18,
      "spread_pct": 0.08
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 13.175,
    "pm_low": 12.99
  },
  {
    "symbol": "ISOU",
    "total_score": 58.18,
    "raw_score": 61.67,
    "breakdown": {
      "price_quality": 3.1,
      "volume_quality": 4.78,
      "rvol": 0.19,
      "volume_acceleration": 2.31,
      "price_momentum": 0.0,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.81,
      "spread_liquidity": 4.72,
      "momentum_consistency": 4.76,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.9,
      "vwap": 11.7999,
      "vwap_slope": 0.0274,
      "rvol": 0.08,
      "volume_acceleration": 0.67,
      "premarket_volume": 39814.0,
      "momentum_pct": -0.17,
      "consolidation_tightness_pct": 0.46,
      "distance_from_pm_high_pct": 0.25,
      "extension_from_vwap_pct": 0.85,
      "spread_pct": 0.08
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 11.93,
    "pm_low": 11.65
  },
  {
    "symbol": "SENS",
    "total_score": 58.06,
    "raw_score": 61.55,
    "breakdown": {
      "price_quality": 4.64,
      "volume_quality": 12.0,
      "rvol": 0.6,
      "volume_acceleration": 3.06,
      "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": 4.57,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.645,
      "vwap": 9.6176,
      "vwap_slope": 0.0137,
      "rvol": 0.25,
      "volume_acceleration": 0.88,
      "premarket_volume": 125780.0,
      "momentum_pct": -0.26,
      "consolidation_tightness_pct": 0.57,
      "distance_from_pm_high_pct": 0.52,
      "extension_from_vwap_pct": 0.28,
      "spread_pct": 0.1
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 9.695,
    "pm_low": 9.53
  },
  {
    "symbol": "LTBR",
    "total_score": 58.01,
    "raw_score": 61.5,
    "breakdown": {
      "price_quality": 3.27,
      "volume_quality": 8.89,
      "rvol": 0.36,
      "volume_acceleration": 8.94,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.68,
      "spread_liquidity": 4.19,
      "momentum_consistency": 3.76,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.27,
      "vwap": 8.2674,
      "vwap_slope": 0.0079,
      "rvol": 0.15,
      "volume_acceleration": 1.89,
      "premarket_volume": 74083.0,
      "momentum_pct": -0.36,
      "consolidation_tightness_pct": 0.42,
      "distance_from_pm_high_pct": 0.42,
      "extension_from_vwap_pct": 0.03,
      "spread_pct": 0.24
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 8.305,
    "pm_low": 8.2
  },
  {
    "symbol": "AI",
    "total_score": 57.84,
    "raw_score": 61.31,
    "breakdown": {
      "price_quality": 4.71,
      "volume_quality": 12.0,
      "rvol": 1.73,
      "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.75,
      "spread_liquidity": 4.68,
      "momentum_consistency": 2.85,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.295,
      "vwap": 10.2992,
      "vwap_slope": 0.0021,
      "rvol": 0.72,
      "volume_acceleration": 2.09,
      "premarket_volume": 361222.0,
      "momentum_pct": -0.19,
      "consolidation_tightness_pct": 0.24,
      "distance_from_pm_high_pct": 0.34,
      "extension_from_vwap_pct": -0.04,
      "spread_pct": 0.1
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": true
    },
    "pm_high": 10.33,
    "pm_low": 10.25
  },
  {
    "symbol": "SSYS",
    "total_score": 57.61,
    "raw_score": 61.07,
    "breakdown": {
      "price_quality": 2.9,
      "volume_quality": 7.09,
      "rvol": 0.28,
      "volume_acceleration": 10,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.81,
      "spread_liquidity": 4.58,
      "momentum_consistency": 4.0,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.9,
      "vwap": 7.8822,
      "vwap_slope": 0.0456,
      "rvol": 0.12,
      "volume_acceleration": 4.48,
      "premarket_volume": 59117.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.44,
      "distance_from_pm_high_pct": 0.25,
      "extension_from_vwap_pct": 0.23,
      "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.92,
    "pm_low": 7.82
  },
  {
    "symbol": "RUM",
    "total_score": 57.54,
    "raw_score": 60.99,
    "breakdown": {
      "price_quality": 3.97,
      "volume_quality": 12.0,
      "rvol": 2.23,
      "volume_acceleration": 3.62,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.3,
      "spread_liquidity": 4.63,
      "momentum_consistency": 2.85,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.97,
      "vwap": 8.95,
      "vwap_slope": 0.0021,
      "rvol": 0.93,
      "volume_acceleration": 1.04,
      "premarket_volume": 464693.0,
      "momentum_pct": -0.06,
      "consolidation_tightness_pct": 0.56,
      "distance_from_pm_high_pct": 0.94,
      "extension_from_vwap_pct": 0.22,
      "spread_pct": 0.11
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 9.055,
    "pm_low": 8.8603
  },
  {
    "symbol": "SNAP",
    "total_score": 57.43,
    "raw_score": 60.87,
    "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.64,
      "spread_liquidity": 4.35,
      "momentum_consistency": 2.98,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.145,
      "vwap": 5.152,
      "vwap_slope": -0.0022,
      "rvol": 8.26,
      "volume_acceleration": 2.19,
      "premarket_volume": 4130169.0,
      "momentum_pct": -0.19,
      "consolidation_tightness_pct": 0.29,
      "distance_from_pm_high_pct": 0.48,
      "extension_from_vwap_pct": -0.14,
      "spread_pct": 0.19
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 5.17,
    "pm_low": 5.13
  },
  {
    "symbol": "ABSI",
    "total_score": 57.38,
    "raw_score": 60.82,
    "breakdown": {
      "price_quality": 4.6,
      "volume_quality": 12.0,
      "rvol": 0.66,
      "volume_acceleration": 3.73,
      "price_momentum": 0.09,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.65,
      "spread_liquidity": 4.65,
      "momentum_consistency": 3.05,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.595,
      "vwap": 9.5905,
      "vwap_slope": 0.0,
      "rvol": 0.28,
      "volume_acceleration": 1.07,
      "premarket_volume": 137616.0,
      "momentum_pct": 0.06,
      "consolidation_tightness_pct": 0.26,
      "distance_from_pm_high_pct": 0.47,
      "extension_from_vwap_pct": 0.05,
      "spread_pct": 0.1
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 9.64,
    "pm_low": 9.56
  },
  {
    "symbol": "FLNC",
    "total_score": 57.24,
    "raw_score": 60.67,
    "breakdown": {
      "price_quality": 3.6,
      "volume_quality": 12.0,
      "rvol": 3.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.77,
      "spread_liquidity": 4.71,
      "momentum_consistency": 3.66,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.405,
      "vwap": 11.3525,
      "vwap_slope": 0.0088,
      "rvol": 1.3,
      "volume_acceleration": 0.39,
      "premarket_volume": 652391.0,
      "momentum_pct": 0.04,
      "consolidation_tightness_pct": 0.44,
      "distance_from_pm_high_pct": 0.31,
      "extension_from_vwap_pct": 0.46,
      "spread_pct": 0.09
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 11.44,
    "pm_low": 11.205
  },
  {
    "symbol": "RGNX",
    "total_score": 56.98,
    "raw_score": 60.4,
    "breakdown": {
      "price_quality": 4.3,
      "volume_quality": 9.5,
      "rvol": 0.38,
      "volume_acceleration": 5.53,
      "price_momentum": 0.99,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.72,
      "spread_liquidity": 4.38,
      "momentum_consistency": 3.2,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.7,
      "vwap": 10.5912,
      "vwap_slope": 0.0489,
      "rvol": 0.16,
      "volume_acceleration": 1.55,
      "premarket_volume": 79159.0,
      "momentum_pct": 0.66,
      "consolidation_tightness_pct": 1.09,
      "distance_from_pm_high_pct": 0.37,
      "extension_from_vwap_pct": 1.03,
      "spread_pct": 0.19
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 10.74,
    "pm_low": 10.49
  },
  {
    "symbol": "LEG",
    "total_score": 56.87,
    "raw_score": 60.28,
    "breakdown": {
      "price_quality": 4.41,
      "volume_quality": 12.0,
      "rvol": 0.83,
      "volume_acceleration": 3.67,
      "price_momentum": 0.16,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.96,
      "spread_liquidity": 4.65,
      "momentum_consistency": 2.21,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.415,
      "vwap": 9.4046,
      "vwap_slope": 0.0015,
      "rvol": 0.34,
      "volume_acceleration": 1.37,
      "premarket_volume": 172258.0,
      "momentum_pct": 0.11,
      "consolidation_tightness_pct": 0.21,
      "distance_from_pm_high_pct": 0.05,
      "extension_from_vwap_pct": 0.11,
      "spread_pct": 0.11
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 9.42,
    "pm_low": 9.38
  },
  {
    "symbol": "LXU",
    "total_score": 56.82,
    "raw_score": 60.23,
    "breakdown": {
      "price_quality": 3.79,
      "volume_quality": 10.8,
      "rvol": 0.43,
      "volume_acceleration": 5.43,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.93,
      "spread_liquidity": 4.41,
      "momentum_consistency": 3.05,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.21,
      "vwap": 11.1892,
      "vwap_slope": 0.0058,
      "rvol": 0.18,
      "volume_acceleration": 1.54,
      "premarket_volume": 89964.0,
      "momentum_pct": -0.04,
      "consolidation_tightness_pct": 0.13,
      "distance_from_pm_high_pct": 0.09,
      "extension_from_vwap_pct": 0.19,
      "spread_pct": 0.18
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 11.22,
    "pm_low": 11.15
  },
  {
    "symbol": "HCKT",
    "total_score": 56.61,
    "raw_score": 60.01,
    "breakdown": {
      "price_quality": 3.96,
      "volume_quality": 3.52,
      "rvol": 0.14,
      "volume_acceleration": 10,
      "price_momentum": 1.34,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.92,
      "spread_liquidity": 4.09,
      "momentum_consistency": 4.63,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.0375,
      "vwap": 10.9791,
      "vwap_slope": 0.004,
      "rvol": 0.06,
      "volume_acceleration": 2.27,
      "premarket_volume": 29373.0,
      "momentum_pct": 0.89,
      "consolidation_tightness_pct": 1.09,
      "distance_from_pm_high_pct": 0.11,
      "extension_from_vwap_pct": 0.53,
      "spread_pct": 0.27
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 11.05,
    "pm_low": 10.93
  },
  {
    "symbol": "CRK",
    "total_score": 56.59,
    "raw_score": 59.98,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 1.37,
      "volume_acceleration": 2.37,
      "price_momentum": 0.32,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.78,
      "spread_liquidity": 4.53,
      "momentum_consistency": 3.31,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.24,
      "vwap": 14.2346,
      "vwap_slope": -0.002,
      "rvol": 0.57,
      "volume_acceleration": 1.24,
      "premarket_volume": 285355.0,
      "momentum_pct": 0.21,
      "consolidation_tightness_pct": 0.39,
      "distance_from_pm_high_pct": 0.29,
      "extension_from_vwap_pct": 0.04,
      "spread_pct": 0.14
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 14.2816,
    "pm_low": 14.18
  },
  {
    "symbol": "SBMT",
    "total_score": 56.5,
    "raw_score": 59.89,
    "breakdown": {
      "price_quality": 3.39,
      "volume_quality": 7.15,
      "rvol": 0.29,
      "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.47,
      "spread_liquidity": 2.62,
      "momentum_consistency": 4.57,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.39,
      "vwap": 8.3839,
      "vwap_slope": 0.0657,
      "rvol": 0.12,
      "volume_acceleration": 3.3,
      "premarket_volume": 59608.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 1.55,
      "distance_from_pm_high_pct": 0.71,
      "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": true
    },
    "pm_high": 8.45,
    "pm_low": 8.25
  },
  {
    "symbol": "YSS",
    "total_score": 56.48,
    "raw_score": 59.87,
    "breakdown": {
      "price_quality": 4.45,
      "volume_quality": 12.0,
      "rvol": 1.27,
      "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.45,
      "spread_liquidity": 4.29,
      "momentum_consistency": 2.47,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.45,
      "vwap": 9.4456,
      "vwap_slope": 0.0001,
      "rvol": 0.53,
      "volume_acceleration": 1.35,
      "premarket_volume": 264778.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.48,
      "distance_from_pm_high_pct": 0.74,
      "extension_from_vwap_pct": 0.05,
      "spread_pct": 0.21
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 9.52,
    "pm_low": 9.385
  },
  {
    "symbol": "KODK",
    "total_score": 56.41,
    "raw_score": 59.79,
    "breakdown": {
      "price_quality": 4.77,
      "volume_quality": 12.0,
      "rvol": 0.67,
      "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.54,
      "spread_liquidity": 4.66,
      "momentum_consistency": 2.96,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.765,
      "vwap": 9.7609,
      "vwap_slope": -0.0007,
      "rvol": 0.28,
      "volume_acceleration": 2.19,
      "premarket_volume": 139420.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.36,
      "distance_from_pm_high_pct": 0.61,
      "extension_from_vwap_pct": 0.04,
      "spread_pct": 0.1
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 9.825,
    "pm_low": 9.71
  },
  {
    "symbol": "GMRS",
    "total_score": 56.36,
    "raw_score": 59.74,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 11.66,
      "rvol": 0.47,
      "volume_acceleration": 5.56,
      "price_momentum": 0.77,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.75,
      "spread_liquidity": 4.02,
      "momentum_consistency": 3.61,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.675,
      "vwap": 13.5317,
      "vwap_slope": 0.0301,
      "rvol": 0.19,
      "volume_acceleration": 1.56,
      "premarket_volume": 97150.0,
      "momentum_pct": 0.51,
      "consolidation_tightness_pct": 1.14,
      "distance_from_pm_high_pct": 0.33,
      "extension_from_vwap_pct": 1.06,
      "spread_pct": 0.29
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 13.72,
    "pm_low": 13.395
  },
  {
    "symbol": "BYND",
    "total_score": 56.15,
    "raw_score": 59.51,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 0.5,
      "volume_acceleration": 5.41,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.3,
      "spread_liquidity": 4.32,
      "momentum_consistency": 4.08,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.8,
      "vwap": 14.7434,
      "vwap_slope": 0.0223,
      "rvol": 0.21,
      "volume_acceleration": 1.54,
      "premarket_volume": 104616.0,
      "momentum_pct": -0.12,
      "consolidation_tightness_pct": 0.54,
      "distance_from_pm_high_pct": 0.93,
      "extension_from_vwap_pct": 0.38,
      "spread_pct": 0.2
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 14.9393,
    "pm_low": 14.53
  },
  {
    "symbol": "BKKT",
    "total_score": 56.14,
    "raw_score": 59.51,
    "breakdown": {
      "price_quality": 3.61,
      "volume_quality": 12.0,
      "rvol": 1.07,
      "volume_acceleration": 3.18,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.27,
      "spread_liquidity": 3.84,
      "momentum_consistency": 4.15,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.61,
      "vwap": 8.6016,
      "vwap_slope": 0.0108,
      "rvol": 0.44,
      "volume_acceleration": 0.91,
      "premarket_volume": 222149.0,
      "momentum_pct": -0.92,
      "consolidation_tightness_pct": 0.98,
      "distance_from_pm_high_pct": 0.98,
      "extension_from_vwap_pct": 0.1,
      "spread_pct": 0.35
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 8.695,
    "pm_low": 8.54
  },
  {
    "symbol": "MFA",
    "total_score": 56.1,
    "raw_score": 59.46,
    "breakdown": {
      "price_quality": 3.93,
      "volume_quality": 12.0,
      "rvol": 1.0,
      "volume_acceleration": 2.55,
      "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.63,
      "momentum_consistency": 2.92,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.925,
      "vwap": 8.8954,
      "vwap_slope": 0.0042,
      "rvol": 0.42,
      "volume_acceleration": 0.73,
      "premarket_volume": 208639.0,
      "momentum_pct": 0.06,
      "consolidation_tightness_pct": 0.17,
      "distance_from_pm_high_pct": 0.06,
      "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": true,
      "vwap_rising": true
    },
    "pm_high": 8.93,
    "pm_low": 8.88
  },
  {
    "symbol": "RPD",
    "total_score": 56.09,
    "raw_score": 59.46,
    "breakdown": {
      "price_quality": 3.21,
      "volume_quality": 11.1,
      "rvol": 0.44,
      "volume_acceleration": 3.57,
      "price_momentum": 0.19,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.9,
      "spread_liquidity": 4.72,
      "momentum_consistency": 3.92,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.785,
      "vwap": 11.698,
      "vwap_slope": 0.0208,
      "rvol": 0.18,
      "volume_acceleration": 1.03,
      "premarket_volume": 92459.0,
      "momentum_pct": 0.13,
      "consolidation_tightness_pct": 0.38,
      "distance_from_pm_high_pct": 0.13,
      "extension_from_vwap_pct": 0.74,
      "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.8,
    "pm_low": 11.6
  },
  {
    "symbol": "SVV",
    "total_score": 55.99,
    "raw_score": 59.35,
    "breakdown": {
      "price_quality": 4.28,
      "volume_quality": 12.0,
      "rvol": 0.59,
      "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.97,
      "spread_liquidity": 4.69,
      "momentum_consistency": 2.17,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.725,
      "vwap": 10.6996,
      "vwap_slope": 0.0076,
      "rvol": 0.25,
      "volume_acceleration": 1.33,
      "premarket_volume": 123876.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.14,
      "distance_from_pm_high_pct": 0.05,
      "extension_from_vwap_pct": 0.24,
      "spread_pct": 0.09
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 10.73,
    "pm_low": 10.675
  },
  {
    "symbol": "MNRO",
    "total_score": 55.91,
    "raw_score": 59.27,
    "breakdown": {
      "price_quality": 2.54,
      "volume_quality": 12.0,
      "rvol": 0.71,
      "volume_acceleration": 4.57,
      "price_momentum": 0.36,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.76,
      "spread_liquidity": 4.46,
      "momentum_consistency": 2.46,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.46,
      "vwap": 12.4348,
      "vwap_slope": 0.0034,
      "rvol": 0.3,
      "volume_acceleration": 1.46,
      "premarket_volume": 147664.0,
      "momentum_pct": 0.24,
      "consolidation_tightness_pct": 0.4,
      "distance_from_pm_high_pct": 0.32,
      "extension_from_vwap_pct": 0.2,
      "spread_pct": 0.16
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 12.5,
    "pm_low": 12.39
  },
  {
    "symbol": "GSBD",
    "total_score": 55.9,
    "raw_score": 59.25,
    "breakdown": {
      "price_quality": 4.85,
      "volume_quality": 11.18,
      "rvol": 0.45,
      "volume_acceleration": 3.19,
      "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.6,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.845,
      "vwap": 9.8306,
      "vwap_slope": 0.0024,
      "rvol": 0.19,
      "volume_acceleration": 0.92,
      "premarket_volume": 93154.0,
      "momentum_pct": -0.05,
      "consolidation_tightness_pct": 0.1,
      "distance_from_pm_high_pct": 0.1,
      "extension_from_vwap_pct": 0.15,
      "spread_pct": 0.1
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 9.855,
    "pm_low": 9.805
  },
  {
    "symbol": "MBLY",
    "total_score": 55.89,
    "raw_score": 59.24,
    "breakdown": {
      "price_quality": 4.06,
      "volume_quality": 12.0,
      "rvol": 1.47,
      "volume_acceleration": 1.59,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.83,
      "spread_liquidity": 4.63,
      "momentum_consistency": 3.25,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.065,
      "vwap": 9.0581,
      "vwap_slope": 0.0038,
      "rvol": 0.61,
      "volume_acceleration": 1.16,
      "premarket_volume": 305387.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.17,
      "distance_from_pm_high_pct": 0.22,
      "extension_from_vwap_pct": 0.08,
      "spread_pct": 0.11
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 9.085,
    "pm_low": 9.015
  },
  {
    "symbol": "VERX",
    "total_score": 55.8,
    "raw_score": 59.15,
    "breakdown": {
      "price_quality": 1.57,
      "volume_quality": 11.97,
      "rvol": 0.48,
      "volume_acceleration": 4.47,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.83,
      "spread_liquidity": 4.5,
      "momentum_consistency": 3.92,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.425,
      "vwap": 13.3992,
      "vwap_slope": 0.0142,
      "rvol": 0.2,
      "volume_acceleration": 1.45,
      "premarket_volume": 99751.0,
      "momentum_pct": -0.15,
      "consolidation_tightness_pct": 0.26,
      "distance_from_pm_high_pct": 0.22,
      "extension_from_vwap_pct": 0.19,
      "spread_pct": 0.15
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 13.455,
    "pm_low": 13.29
  },
  {
    "symbol": "ALOY",
    "total_score": 55.76,
    "raw_score": 59.11,
    "breakdown": {
      "price_quality": 2.65,
      "volume_quality": 12.0,
      "rvol": 0.89,
      "volume_acceleration": 2.81,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.76,
      "spread_liquidity": 4.46,
      "momentum_consistency": 4.14,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.35,
      "vwap": 12.2314,
      "vwap_slope": 0.0254,
      "rvol": 0.37,
      "volume_acceleration": 0.81,
      "premarket_volume": 184429.0,
      "momentum_pct": -0.24,
      "consolidation_tightness_pct": 0.65,
      "distance_from_pm_high_pct": 0.32,
      "extension_from_vwap_pct": 0.97,
      "spread_pct": 0.16
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 12.39,
    "pm_low": 12.05
  },
  {
    "symbol": "REPL",
    "total_score": 55.74,
    "raw_score": 59.09,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 1.76,
      "volume_acceleration": 3.12,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.9,
      "spread_liquidity": 4.55,
      "momentum_consistency": 3.86,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.72,
      "vwap": 14.6325,
      "vwap_slope": 0.0065,
      "rvol": 0.73,
      "volume_acceleration": 0.9,
      "premarket_volume": 366309.0,
      "momentum_pct": -0.07,
      "consolidation_tightness_pct": 0.2,
      "distance_from_pm_high_pct": 0.14,
      "extension_from_vwap_pct": 0.6,
      "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.74,
    "pm_low": 14.555
  },
  {
    "symbol": "RKT",
    "total_score": 55.72,
    "raw_score": 59.06,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 11.24,
      "volume_acceleration": 10,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.09,
      "spread_liquidity": 4.76,
      "momentum_consistency": 2.07,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.805,
      "vwap": 13.8964,
      "vwap_slope": -0.0091,
      "rvol": 4.22,
      "volume_acceleration": 2.1,
      "premarket_volume": 2108192.0,
      "momentum_pct": -0.29,
      "consolidation_tightness_pct": 0.4,
      "distance_from_pm_high_pct": 1.22,
      "extension_from_vwap_pct": -0.66,
      "spread_pct": 0.07
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 13.975,
    "pm_low": 13.8
  },
  {
    "symbol": "NMFC",
    "total_score": 55.71,
    "raw_score": 59.06,
    "breakdown": {
      "price_quality": 2.52,
      "volume_quality": 2.44,
      "rvol": 0.1,
      "volume_acceleration": 3.89,
      "price_momentum": 0.3,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 6,
      "spread_liquidity": 4.56,
      "momentum_consistency": 3.26,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.52,
      "vwap": 7.4986,
      "vwap_slope": 0.0031,
      "rvol": 0.04,
      "volume_acceleration": 1.12,
      "premarket_volume": 20301.0,
      "momentum_pct": 0.2,
      "consolidation_tightness_pct": 0.21,
      "distance_from_pm_high_pct": 0.0,
      "extension_from_vwap_pct": 0.28,
      "spread_pct": 0.13
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 7.52,
    "pm_low": 7.49
  },
  {
    "symbol": "TRLV",
    "total_score": 55.44,
    "raw_score": 58.77,
    "breakdown": {
      "price_quality": 3.98,
      "volume_quality": 12.0,
      "rvol": 0.73,
      "volume_acceleration": 2.27,
      "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.79,
      "momentum_consistency": 3.86,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.0222,
      "vwap": 10.9837,
      "vwap_slope": 0.0037,
      "rvol": 0.3,
      "volume_acceleration": 0.65,
      "premarket_volume": 151913.0,
      "momentum_pct": -0.07,
      "consolidation_tightness_pct": 0.54,
      "distance_from_pm_high_pct": 0.34,
      "extension_from_vwap_pct": 0.35,
      "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": 11.06,
    "pm_low": 10.9
  },
  {
    "symbol": "FNKO",
    "total_score": 55.41,
    "raw_score": 58.74,
    "breakdown": {
      "price_quality": 1.51,
      "volume_quality": 9.85,
      "rvol": 0.39,
      "volume_acceleration": 8.63,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.83,
      "spread_liquidity": 4.49,
      "momentum_consistency": 1.64,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.51,
      "vwap": 6.5012,
      "vwap_slope": 0.009,
      "rvol": 0.16,
      "volume_acceleration": 1.86,
      "premarket_volume": 82085.0,
      "momentum_pct": -0.15,
      "consolidation_tightness_pct": 0.46,
      "distance_from_pm_high_pct": 0.23,
      "extension_from_vwap_pct": 0.14,
      "spread_pct": 0.15
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 6.525,
    "pm_low": 6.455
  },
  {
    "symbol": "RMAX",
    "total_score": 55.38,
    "raw_score": 58.7,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 6.81,
      "rvol": 0.27,
      "volume_acceleration": 10,
      "price_momentum": 0.33,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.78,
      "spread_liquidity": 4.03,
      "momentum_consistency": 3.59,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.73,
      "vwap": 13.6542,
      "vwap_slope": 0.0248,
      "rvol": 0.11,
      "volume_acceleration": 3.03,
      "premarket_volume": 56720.0,
      "momentum_pct": 0.22,
      "consolidation_tightness_pct": 0.55,
      "distance_from_pm_high_pct": 0.29,
      "extension_from_vwap_pct": 0.56,
      "spread_pct": 0.29
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 13.77,
    "pm_low": 13.56
  },
  {
    "symbol": "ATAI",
    "total_score": 55.35,
    "raw_score": 58.67,
    "breakdown": {
      "price_quality": 2.42,
      "volume_quality": 12.0,
      "rvol": 2.34,
      "volume_acceleration": 3.39,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.95,
      "spread_liquidity": 4.55,
      "momentum_consistency": 1.63,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.415,
      "vwap": 7.4081,
      "vwap_slope": 0.0013,
      "rvol": 0.97,
      "volume_acceleration": 1.34,
      "premarket_volume": 486947.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.13,
      "distance_from_pm_high_pct": 0.07,
      "extension_from_vwap_pct": 0.09,
      "spread_pct": 0.13
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 7.42,
    "pm_low": 7.4
  },
  {
    "symbol": "KRNY",
    "total_score": 55.32,
    "raw_score": 58.64,
    "breakdown": {
      "price_quality": 4.71,
      "volume_quality": 7.9,
      "rvol": 0.32,
      "volume_acceleration": 6.6,
      "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.13,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.705,
      "vwap": 9.6973,
      "vwap_slope": 0.0034,
      "rvol": 0.13,
      "volume_acceleration": 1.66,
      "premarket_volume": 65849.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.1,
      "distance_from_pm_high_pct": 0.1,
      "extension_from_vwap_pct": 0.08,
      "spread_pct": 0.1
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 9.715,
    "pm_low": 9.6811
  },
  {
    "symbol": "LWLG",
    "total_score": 55.25,
    "raw_score": 58.56,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 0.75,
      "volume_acceleration": 4.08,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.94,
      "spread_liquidity": 4.47,
      "momentum_consistency": 3.43,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.215,
      "vwap": 6.1994,
      "vwap_slope": 0.0036,
      "rvol": 0.31,
      "volume_acceleration": 1.41,
      "premarket_volume": 156546.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.24,
      "distance_from_pm_high_pct": 0.08,
      "extension_from_vwap_pct": 0.25,
      "spread_pct": 0.16
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 6.22,
    "pm_low": 6.17
  },
  {
    "symbol": "STLA",
    "total_score": 55.23,
    "raw_score": 58.54,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 10.2,
      "volume_acceleration": 2.42,
      "price_momentum": 0.28,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.79,
      "spread_liquidity": 4.39,
      "momentum_consistency": 2.76,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.435,
      "vwap": 5.4326,
      "vwap_slope": -0.0012,
      "rvol": 3.83,
      "volume_acceleration": 0.7,
      "premarket_volume": 1913095.0,
      "momentum_pct": 0.18,
      "consolidation_tightness_pct": 0.37,
      "distance_from_pm_high_pct": 0.28,
      "extension_from_vwap_pct": 0.04,
      "spread_pct": 0.18
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 5.45,
    "pm_low": 5.41
  },
  {
    "symbol": "NTSK",
    "total_score": 55.2,
    "raw_score": 58.51,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 1.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.74,
      "spread_liquidity": 4.77,
      "momentum_consistency": 3.59,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.415,
      "vwap": 14.421,
      "vwap_slope": 0.0123,
      "rvol": 0.55,
      "volume_acceleration": 2.18,
      "premarket_volume": 274080.0,
      "momentum_pct": -0.21,
      "consolidation_tightness_pct": 0.28,
      "distance_from_pm_high_pct": 0.35,
      "extension_from_vwap_pct": -0.04,
      "spread_pct": 0.07
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": true
    },
    "pm_high": 14.465,
    "pm_low": 14.355
  },
  {
    "symbol": "NOK",
    "total_score": 55.03,
    "raw_score": 58.33,
    "breakdown": {
      "price_quality": 4.81,
      "volume_quality": 12.0,
      "rvol": 11.94,
      "volume_acceleration": 3.68,
      "price_momentum": 0.07,
      "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.98,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.19,
      "vwap": 10.1961,
      "vwap_slope": -0.0018,
      "rvol": 4.48,
      "volume_acceleration": 1.06,
      "premarket_volume": 2238049.0,
      "momentum_pct": 0.05,
      "consolidation_tightness_pct": 0.1,
      "distance_from_pm_high_pct": 0.29,
      "extension_from_vwap_pct": -0.06,
      "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.22,
    "pm_low": 10.18
  },
  {
    "symbol": "WSE",
    "total_score": 54.92,
    "raw_score": 58.22,
    "breakdown": {
      "price_quality": 1.97,
      "volume_quality": 12.0,
      "rvol": 0.49,
      "volume_acceleration": 4.71,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.94,
      "spread_liquidity": 4.74,
      "momentum_consistency": 1.96,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.025,
      "vwap": 12.9896,
      "vwap_slope": 0.0073,
      "rvol": 0.2,
      "volume_acceleration": 1.47,
      "premarket_volume": 101421.0,
      "momentum_pct": -0.04,
      "consolidation_tightness_pct": 0.23,
      "distance_from_pm_high_pct": 0.08,
      "extension_from_vwap_pct": 0.27,
      "spread_pct": 0.08
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 13.035,
    "pm_low": 12.95
  },
  {
    "symbol": "ANNX",
    "total_score": 54.91,
    "raw_score": 58.2,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 0.7,
      "volume_acceleration": 5.6,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.85,
      "spread_liquidity": 4.34,
      "momentum_consistency": 1.81,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.085,
      "vwap": 5.0543,
      "vwap_slope": 0.0113,
      "rvol": 0.29,
      "volume_acceleration": 1.56,
      "premarket_volume": 145032.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.29,
      "distance_from_pm_high_pct": 0.2,
      "extension_from_vwap_pct": 0.61,
      "spread_pct": 0.2
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 5.095,
    "pm_low": 5.02
  },
  {
    "symbol": "EXK",
    "total_score": 54.89,
    "raw_score": 58.19,
    "breakdown": {
      "price_quality": 4.4,
      "volume_quality": 12.0,
      "rvol": 6.42,
      "volume_acceleration": 9.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.33,
      "spread_liquidity": 4.69,
      "momentum_consistency": 3.39,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.595,
      "vwap": 10.6333,
      "vwap_slope": -0.0013,
      "rvol": 2.41,
      "volume_acceleration": 1.96,
      "premarket_volume": 1203929.0,
      "momentum_pct": -0.28,
      "consolidation_tightness_pct": 0.47,
      "distance_from_pm_high_pct": 0.89,
      "extension_from_vwap_pct": -0.36,
      "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.69,
    "pm_low": 10.59
  },
  {
    "symbol": "DERM",
    "total_score": 54.8,
    "raw_score": 58.08,
    "breakdown": {
      "price_quality": 2.81,
      "volume_quality": 3.8,
      "rvol": 0.15,
      "volume_acceleration": 1.77,
      "price_momentum": 1.18,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 6,
      "spread_liquidity": 2.86,
      "momentum_consistency": 3.5,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.811,
      "vwap": 7.742,
      "vwap_slope": 0.0228,
      "rvol": 0.06,
      "volume_acceleration": 0.51,
      "premarket_volume": 31703.0,
      "momentum_pct": 0.79,
      "consolidation_tightness_pct": 1.3,
      "distance_from_pm_high_pct": 0.0,
      "extension_from_vwap_pct": 0.89,
      "spread_pct": 0.64
    },
    "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.811,
    "pm_low": 7.685
  },
  {
    "symbol": "NWL",
    "total_score": 54.65,
    "raw_score": 57.93,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 1.85,
      "volume_acceleration": 3.67,
      "price_momentum": 0.12,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 6,
      "spread_liquidity": 4.45,
      "momentum_consistency": 1.93,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.06,
      "vwap": 6.0415,
      "vwap_slope": 0.0047,
      "rvol": 0.77,
      "volume_acceleration": 1.37,
      "premarket_volume": 385382.0,
      "momentum_pct": 0.08,
      "consolidation_tightness_pct": 0.31,
      "distance_from_pm_high_pct": 0.0,
      "extension_from_vwap_pct": 0.31,
      "spread_pct": 0.17
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 6.06,
    "pm_low": 6.02
  },
  {
    "symbol": "AVPT",
    "total_score": 54.65,
    "raw_score": 57.93,
    "breakdown": {
      "price_quality": 1.74,
      "volume_quality": 12.0,
      "rvol": 0.49,
      "volume_acceleration": 2.58,
      "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": 4.09,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.26,
      "vwap": 13.2461,
      "vwap_slope": 0.0069,
      "rvol": 0.2,
      "volume_acceleration": 0.74,
      "premarket_volume": 102096.0,
      "momentum_pct": -0.11,
      "consolidation_tightness_pct": 0.15,
      "distance_from_pm_high_pct": 0.15,
      "extension_from_vwap_pct": 0.1,
      "spread_pct": 0.08
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 13.28,
    "pm_low": 13.185
  },
  {
    "symbol": "LTRX",
    "total_score": 54.65,
    "raw_score": 57.93,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 0.81,
      "volume_acceleration": 3.92,
      "price_momentum": 0.77,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.94,
      "spread_liquidity": 3.87,
      "momentum_consistency": 2.73,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.905,
      "vwap": 5.8478,
      "vwap_slope": 0.0034,
      "rvol": 0.34,
      "volume_acceleration": 1.13,
      "premarket_volume": 169397.0,
      "momentum_pct": 0.51,
      "consolidation_tightness_pct": 1.11,
      "distance_from_pm_high_pct": 0.08,
      "extension_from_vwap_pct": 0.98,
      "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": 5.91,
    "pm_low": 5.83
  },
  {
    "symbol": "SD",
    "total_score": 54.62,
    "raw_score": 57.89,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 4.71,
      "rvol": 0.19,
      "volume_acceleration": 1.78,
      "price_momentum": 0.21,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 6,
      "spread_liquidity": 4.77,
      "momentum_consistency": 2.74,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.4,
      "vwap": 14.3498,
      "vwap_slope": 0.0082,
      "rvol": 0.08,
      "volume_acceleration": 0.51,
      "premarket_volume": 39279.0,
      "momentum_pct": 0.14,
      "consolidation_tightness_pct": 0.14,
      "distance_from_pm_high_pct": 0.0,
      "extension_from_vwap_pct": 0.35,
      "spread_pct": 0.07
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 14.4,
    "pm_low": 14.32
  },
  {
    "symbol": "FSK",
    "total_score": 54.59,
    "raw_score": 57.86,
    "breakdown": {
      "price_quality": 3.08,
      "volume_quality": 11.35,
      "rvol": 0.45,
      "volume_acceleration": 3.76,
      "price_momentum": 0.06,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 6,
      "spread_liquidity": 4.72,
      "momentum_consistency": 2.04,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.92,
      "vwap": 11.8978,
      "vwap_slope": 0.0025,
      "rvol": 0.19,
      "volume_acceleration": 1.08,
      "premarket_volume": 94543.0,
      "momentum_pct": 0.04,
      "consolidation_tightness_pct": 0.08,
      "distance_from_pm_high_pct": 0.0,
      "extension_from_vwap_pct": 0.19,
      "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.92,
    "pm_low": 11.87
  },
  {
    "symbol": "VSTS",
    "total_score": 54.56,
    "raw_score": 57.84,
    "breakdown": {
      "price_quality": 2.27,
      "volume_quality": 11.19,
      "rvol": 0.45,
      "volume_acceleration": 9.05,
      "price_momentum": 0.35,
      "price_structure": 12,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.65,
      "spread_liquidity": 4.21,
      "momentum_consistency": 2.67,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.73,
      "vwap": 12.7403,
      "vwap_slope": -0.0118,
      "rvol": 0.19,
      "volume_acceleration": 1.9,
      "premarket_volume": 93271.0,
      "momentum_pct": 0.24,
      "consolidation_tightness_pct": 0.31,
      "distance_from_pm_high_pct": 0.47,
      "extension_from_vwap_pct": -0.08,
      "spread_pct": 0.24
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 12.79,
    "pm_low": 12.69
  },
  {
    "symbol": "BBDC",
    "total_score": 54.45,
    "raw_score": 57.71,
    "breakdown": {
      "price_quality": 4.33,
      "volume_quality": 12.0,
      "rvol": 1.07,
      "volume_acceleration": 2.04,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.92,
      "spread_liquidity": 4.64,
      "momentum_consistency": 1.31,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.33,
      "vwap": 9.3294,
      "vwap_slope": 0.0004,
      "rvol": 0.45,
      "volume_acceleration": 0.59,
      "premarket_volume": 223869.0,
      "momentum_pct": -0.05,
      "consolidation_tightness_pct": 0.11,
      "distance_from_pm_high_pct": 0.11,
      "extension_from_vwap_pct": 0.01,
      "spread_pct": 0.11
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 9.34,
    "pm_low": 9.32
  },
  {
    "symbol": "FIGS",
    "total_score": 54.38,
    "raw_score": 57.65,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 1.26,
      "volume_acceleration": 2.48,
      "price_momentum": 0.05,
      "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": 3.31,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.785,
      "vwap": 14.7165,
      "vwap_slope": 0.0107,
      "rvol": 0.53,
      "volume_acceleration": 0.71,
      "premarket_volume": 262770.0,
      "momentum_pct": 0.03,
      "consolidation_tightness_pct": 0.2,
      "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": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 14.81,
    "pm_low": 14.63
  },
  {
    "symbol": "IMTX",
    "total_score": 54.38,
    "raw_score": 57.65,
    "breakdown": {
      "price_quality": 3.9,
      "volume_quality": 10.88,
      "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.66,
      "spread_liquidity": 4.62,
      "momentum_consistency": 2.55,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.9,
      "vwap": 8.9097,
      "vwap_slope": 0.002,
      "rvol": 0.18,
      "volume_acceleration": 4.0,
      "premarket_volume": 90641.0,
      "momentum_pct": -0.39,
      "consolidation_tightness_pct": 0.56,
      "distance_from_pm_high_pct": 0.45,
      "extension_from_vwap_pct": -0.11,
      "spread_pct": 0.11
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": true
    },
    "pm_high": 8.94,
    "pm_low": 8.89
  },
  {
    "symbol": "SKYH",
    "total_score": 54.27,
    "raw_score": 57.53,
    "breakdown": {
      "price_quality": 4.59,
      "volume_quality": 4.1,
      "rvol": 0.16,
      "volume_acceleration": 10,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.64,
      "spread_liquidity": 3.72,
      "momentum_consistency": 2.91,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.41,
      "vwap": 10.4017,
      "vwap_slope": 0.0084,
      "rvol": 0.07,
      "volume_acceleration": 3.96,
      "premarket_volume": 34166.0,
      "momentum_pct": -0.19,
      "consolidation_tightness_pct": 0.19,
      "distance_from_pm_high_pct": 0.48,
      "extension_from_vwap_pct": 0.08,
      "spread_pct": 0.38
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 10.4599,
    "pm_low": 10.36
  },
  {
    "symbol": "SLDB",
    "total_score": 54.26,
    "raw_score": 57.51,
    "breakdown": {
      "price_quality": 4.3,
      "volume_quality": 9.59,
      "rvol": 0.38,
      "volume_acceleration": 3.93,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.72,
      "spread_liquidity": 4.28,
      "momentum_consistency": 2.91,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.3,
      "vwap": 9.2903,
      "vwap_slope": 0.0092,
      "rvol": 0.16,
      "volume_acceleration": 1.13,
      "premarket_volume": 79877.0,
      "momentum_pct": -0.21,
      "consolidation_tightness_pct": 0.27,
      "distance_from_pm_high_pct": 0.37,
      "extension_from_vwap_pct": 0.1,
      "spread_pct": 0.22
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 9.335,
    "pm_low": 9.235
  },
  {
    "symbol": "HNST",
    "total_score": 54.18,
    "raw_score": 57.43,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 0.88,
      "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.78,
      "spread_liquidity": 4.34,
      "momentum_consistency": 2.95,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.035,
      "vwap": 5.0295,
      "vwap_slope": 0.003,
      "rvol": 0.37,
      "volume_acceleration": 1.36,
      "premarket_volume": 184286.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.4,
      "distance_from_pm_high_pct": 0.3,
      "extension_from_vwap_pct": 0.11,
      "spread_pct": 0.2
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 5.05,
    "pm_low": 5.0
  },
  {
    "symbol": "SBGI",
    "total_score": 53.98,
    "raw_score": 57.22,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 3.14,
      "rvol": 0.13,
      "volume_acceleration": 2.03,
      "price_momentum": 0.21,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.97,
      "spread_liquidity": 4.54,
      "momentum_consistency": 3.71,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.46,
      "vwap": 14.3971,
      "vwap_slope": 0.0112,
      "rvol": 0.05,
      "volume_acceleration": 0.58,
      "premarket_volume": 26134.0,
      "momentum_pct": 0.14,
      "consolidation_tightness_pct": 0.17,
      "distance_from_pm_high_pct": 0.03,
      "extension_from_vwap_pct": 0.44,
      "spread_pct": 0.14
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 14.465,
    "pm_low": 14.35
  },
  {
    "symbol": "PGEN",
    "total_score": 53.92,
    "raw_score": 57.16,
    "breakdown": {
      "price_quality": 2.16,
      "volume_quality": 12.0,
      "rvol": 2.0,
      "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.95,
      "spread_liquidity": 4.53,
      "momentum_consistency": 2.48,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.155,
      "vwap": 7.1329,
      "vwap_slope": 0.0047,
      "rvol": 0.83,
      "volume_acceleration": 1.16,
      "premarket_volume": 416501.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.21,
      "distance_from_pm_high_pct": 0.07,
      "extension_from_vwap_pct": 0.31,
      "spread_pct": 0.14
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 7.16,
    "pm_low": 7.1
  },
  {
    "symbol": "MAT",
    "total_score": 53.9,
    "raw_score": 57.13,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 2.79,
      "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.9,
      "spread_liquidity": 4.77,
      "momentum_consistency": 2.07,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.525,
      "vwap": 14.5196,
      "vwap_slope": 0.0004,
      "rvol": 1.16,
      "volume_acceleration": 0.49,
      "premarket_volume": 580432.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.07,
      "distance_from_pm_high_pct": 0.14,
      "extension_from_vwap_pct": 0.04,
      "spread_pct": 0.07
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 14.545,
    "pm_low": 14.495
  },
  {
    "symbol": "PRTA",
    "total_score": 53.85,
    "raw_score": 57.09,
    "breakdown": {
      "price_quality": 4.48,
      "volume_quality": 12.0,
      "rvol": 0.5,
      "volume_acceleration": 1.11,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.72,
      "spread_liquidity": 4.3,
      "momentum_consistency": 2.57,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.485,
      "vwap": 9.444,
      "vwap_slope": 0.0037,
      "rvol": 0.21,
      "volume_acceleration": 0.32,
      "premarket_volume": 104172.0,
      "momentum_pct": -0.05,
      "consolidation_tightness_pct": 0.11,
      "distance_from_pm_high_pct": 0.37,
      "extension_from_vwap_pct": 0.43,
      "spread_pct": 0.21
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 9.52,
    "pm_low": 9.3
  },
  {
    "symbol": "FRNM",
    "total_score": 53.83,
    "raw_score": 57.06,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 8.68,
      "rvol": 0.35,
      "volume_acceleration": 3.62,
      "price_momentum": 0.87,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.78,
      "spread_liquidity": 4.28,
      "momentum_consistency": 3.17,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.83,
      "vwap": 13.8119,
      "vwap_slope": -0.0134,
      "rvol": 0.14,
      "volume_acceleration": 1.04,
      "premarket_volume": 72343.0,
      "momentum_pct": 0.58,
      "consolidation_tightness_pct": 0.65,
      "distance_from_pm_high_pct": 0.29,
      "extension_from_vwap_pct": 0.13,
      "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.87,
    "pm_low": 13.74
  },
  {
    "symbol": "BIOA",
    "total_score": 53.82,
    "raw_score": 57.05,
    "breakdown": {
      "price_quality": 4.63,
      "volume_quality": 4.95,
      "rvol": 0.2,
      "volume_acceleration": 8.8,
      "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.65,
      "momentum_consistency": 1.5,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.63,
      "vwap": 9.6208,
      "vwap_slope": 0.0015,
      "rvol": 0.08,
      "volume_acceleration": 1.88,
      "premarket_volume": 41228.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.31,
      "distance_from_pm_high_pct": 0.1,
      "extension_from_vwap_pct": 0.1,
      "spread_pct": 0.1
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 9.64,
    "pm_low": 9.6
  },
  {
    "symbol": "YEXT",
    "total_score": 53.76,
    "raw_score": 56.98,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 9.44,
      "rvol": 0.38,
      "volume_acceleration": 6.26,
      "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.71,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.325,
      "vwap": 6.3211,
      "vwap_slope": 0.0012,
      "rvol": 0.16,
      "volume_acceleration": 1.63,
      "premarket_volume": 78669.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.32,
      "distance_from_pm_high_pct": 0.24,
      "extension_from_vwap_pct": 0.06,
      "spread_pct": 0.16
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 6.34,
    "pm_low": 6.28
  },
  {
    "symbol": "SLRC",
    "total_score": 53.74,
    "raw_score": 56.96,
    "breakdown": {
      "price_quality": 2.36,
      "volume_quality": 4.86,
      "rvol": 0.19,
      "volume_acceleration": 8.64,
      "price_momentum": 0.07,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.97,
      "spread_liquidity": 4.74,
      "momentum_consistency": 3.73,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.645,
      "vwap": 12.5941,
      "vwap_slope": 0.0191,
      "rvol": 0.08,
      "volume_acceleration": 1.86,
      "premarket_volume": 40467.0,
      "momentum_pct": 0.05,
      "consolidation_tightness_pct": 0.16,
      "distance_from_pm_high_pct": 0.04,
      "extension_from_vwap_pct": 0.4,
      "spread_pct": 0.08
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 12.65,
    "pm_low": 12.565
  },
  {
    "symbol": "BHVN",
    "total_score": 53.65,
    "raw_score": 56.87,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 0.66,
      "volume_acceleration": 3.18,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.89,
      "spread_liquidity": 4.53,
      "momentum_consistency": 2.71,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.15,
      "vwap": 14.1068,
      "vwap_slope": 0.0093,
      "rvol": 0.27,
      "volume_acceleration": 0.91,
      "premarket_volume": 137220.0,
      "momentum_pct": -0.07,
      "consolidation_tightness_pct": 0.14,
      "distance_from_pm_high_pct": 0.14,
      "extension_from_vwap_pct": 0.31,
      "spread_pct": 0.14
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 14.17,
    "pm_low": 14.025
  },
  {
    "symbol": "LAND",
    "total_score": 53.59,
    "raw_score": 56.8,
    "breakdown": {
      "price_quality": 3.7,
      "volume_quality": 10.38,
      "rvol": 0.42,
      "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.78,
      "spread_liquidity": 4.62,
      "momentum_consistency": 2.31,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.695,
      "vwap": 8.6953,
      "vwap_slope": 0.0056,
      "rvol": 0.17,
      "volume_acceleration": 2.28,
      "premarket_volume": 86507.0,
      "momentum_pct": -0.11,
      "consolidation_tightness_pct": 0.24,
      "distance_from_pm_high_pct": 0.29,
      "extension_from_vwap_pct": -0.0,
      "spread_pct": 0.12
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": true
    },
    "pm_high": 8.72,
    "pm_low": 8.68
  },
  {
    "symbol": "SLS",
    "total_score": 53.57,
    "raw_score": 56.78,
    "breakdown": {
      "price_quality": 0.0,
      "volume_quality": 12.0,
      "rvol": 9.32,
      "volume_acceleration": 1.79,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 4.89,
      "spread_liquidity": 4.57,
      "momentum_consistency": 4.61,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 15.33,
      "vwap": 15.3685,
      "vwap_slope": 0.0054,
      "rvol": 3.5,
      "volume_acceleration": 0.51,
      "premarket_volume": 1748320.0,
      "momentum_pct": -0.42,
      "consolidation_tightness_pct": 0.98,
      "distance_from_pm_high_pct": 1.48,
      "extension_from_vwap_pct": -0.25,
      "spread_pct": 0.13
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": true
    },
    "pm_high": 15.56,
    "pm_low": 15.01
  },
  {
    "symbol": "WVE",
    "total_score": 53.57,
    "raw_score": 56.78,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 2.24,
      "volume_acceleration": 1.89,
      "price_momentum": 0.14,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.86,
      "spread_liquidity": 4.38,
      "momentum_consistency": 2.37,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.345,
      "vwap": 5.2979,
      "vwap_slope": 0.0045,
      "rvol": 0.93,
      "volume_acceleration": 0.54,
      "premarket_volume": 467255.0,
      "momentum_pct": 0.09,
      "consolidation_tightness_pct": 0.28,
      "distance_from_pm_high_pct": 0.19,
      "extension_from_vwap_pct": 0.89,
      "spread_pct": 0.19
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 5.355,
    "pm_low": 5.27
  },
  {
    "symbol": "SOPH",
    "total_score": 53.54,
    "raw_score": 56.76,
    "breakdown": {
      "price_quality": 3.61,
      "volume_quality": 12.0,
      "rvol": 0.53,
      "volume_acceleration": 1.58,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.91,
      "spread_liquidity": 3.84,
      "momentum_consistency": 2.89,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.61,
      "vwap": 8.4932,
      "vwap_slope": 0.0259,
      "rvol": 0.22,
      "volume_acceleration": 0.45,
      "premarket_volume": 109458.0,
      "momentum_pct": -0.12,
      "consolidation_tightness_pct": 0.58,
      "distance_from_pm_high_pct": 0.12,
      "extension_from_vwap_pct": 1.38,
      "spread_pct": 0.35
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 8.62,
    "pm_low": 8.4
  },
  {
    "symbol": "EMBC",
    "total_score": 53.51,
    "raw_score": 56.72,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 0.66,
      "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.71,
      "spread_liquidity": 4.36,
      "momentum_consistency": 2.4,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.215,
      "vwap": 5.1835,
      "vwap_slope": 0.0085,
      "rvol": 0.27,
      "volume_acceleration": 1.06,
      "premarket_volume": 136796.0,
      "momentum_pct": -0.1,
      "consolidation_tightness_pct": 0.28,
      "distance_from_pm_high_pct": 0.38,
      "extension_from_vwap_pct": 0.61,
      "spread_pct": 0.19
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 5.235,
    "pm_low": 5.12
  },
  {
    "symbol": "ULCC",
    "total_score": 53.5,
    "raw_score": 56.71,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 1.22,
      "volume_acceleration": 2.94,
      "price_momentum": 0.13,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.87,
      "spread_liquidity": 4.44,
      "momentum_consistency": 2.21,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.92,
      "vwap": 5.901,
      "vwap_slope": 0.0058,
      "rvol": 0.51,
      "volume_acceleration": 1.29,
      "premarket_volume": 254834.0,
      "momentum_pct": 0.08,
      "consolidation_tightness_pct": 0.34,
      "distance_from_pm_high_pct": 0.17,
      "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": 5.93,
    "pm_low": 5.85
  },
  {
    "symbol": "CRMD",
    "total_score": 53.44,
    "raw_score": 56.65,
    "breakdown": {
      "price_quality": 3.19,
      "volume_quality": 11.34,
      "rvol": 0.45,
      "volume_acceleration": 9.7,
      "price_momentum": 0.09,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.73,
      "spread_liquidity": 4.59,
      "momentum_consistency": 2.36,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.185,
      "vwap": 8.1795,
      "vwap_slope": -0.0058,
      "rvol": 0.19,
      "volume_acceleration": 1.97,
      "premarket_volume": 94504.0,
      "momentum_pct": 0.06,
      "consolidation_tightness_pct": 0.51,
      "distance_from_pm_high_pct": 0.37,
      "extension_from_vwap_pct": 0.07,
      "spread_pct": 0.12
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 8.215,
    "pm_low": 8.155
  },
  {
    "symbol": "CXM",
    "total_score": 53.35,
    "raw_score": 56.55,
    "breakdown": {
      "price_quality": 2.32,
      "volume_quality": 12.0,
      "rvol": 0.85,
      "volume_acceleration": 2.47,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.8,
      "spread_liquidity": 4.54,
      "momentum_consistency": 2.17,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.32,
      "vwap": 7.3087,
      "vwap_slope": 0.0024,
      "rvol": 0.35,
      "volume_acceleration": 1.25,
      "premarket_volume": 177297.0,
      "momentum_pct": -0.07,
      "consolidation_tightness_pct": 0.07,
      "distance_from_pm_high_pct": 0.27,
      "extension_from_vwap_pct": 0.15,
      "spread_pct": 0.14
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 7.34,
    "pm_low": 7.275
  },
  {
    "symbol": "NAVI",
    "total_score": 53.33,
    "raw_score": 56.53,
    "breakdown": {
      "price_quality": 4.43,
      "volume_quality": 9.96,
      "rvol": 0.4,
      "volume_acceleration": 2.61,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.88,
      "spread_liquidity": 4.65,
      "momentum_consistency": 2.2,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.43,
      "vwap": 9.4206,
      "vwap_slope": 0.007,
      "rvol": 0.17,
      "volume_acceleration": 1.26,
      "premarket_volume": 83014.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.27,
      "distance_from_pm_high_pct": 0.16,
      "extension_from_vwap_pct": 0.1,
      "spread_pct": 0.11
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 9.445,
    "pm_low": 9.395
  },
  {
    "symbol": "MARA",
    "total_score": 53.17,
    "raw_score": 56.36,
    "breakdown": {
      "price_quality": 3.85,
      "volume_quality": 12.0,
      "rvol": 12.0,
      "volume_acceleration": 2.49,
      "price_momentum": 0.27,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.07,
      "spread_liquidity": 4.7,
      "momentum_consistency": 3.59,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.15,
      "vwap": 11.1828,
      "vwap_slope": -0.0091,
      "rvol": 16.79,
      "volume_acceleration": 0.71,
      "premarket_volume": 8395940.0,
      "momentum_pct": 0.18,
      "consolidation_tightness_pct": 0.81,
      "distance_from_pm_high_pct": 1.24,
      "extension_from_vwap_pct": -0.29,
      "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.29,
    "pm_low": 11.08
  },
  {
    "symbol": "HAFN",
    "total_score": 53.15,
    "raw_score": 56.34,
    "breakdown": {
      "price_quality": 3.15,
      "volume_quality": 12.0,
      "rvol": 0.87,
      "volume_acceleration": 1.09,
      "price_momentum": 0.09,
      "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.29,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.155,
      "vwap": 8.1488,
      "vwap_slope": 0.0012,
      "rvol": 0.36,
      "volume_acceleration": 0.31,
      "premarket_volume": 180793.0,
      "momentum_pct": 0.06,
      "consolidation_tightness_pct": 0.12,
      "distance_from_pm_high_pct": 0.18,
      "extension_from_vwap_pct": 0.08,
      "spread_pct": 0.12
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 8.17,
    "pm_low": 8.1301
  },
  {
    "symbol": "KMDA",
    "total_score": 53.09,
    "raw_score": 56.28,
    "breakdown": {
      "price_quality": 3.19,
      "volume_quality": 3.62,
      "rvol": 0.14,
      "volume_acceleration": 10,
      "price_momentum": 0.09,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.73,
      "spread_liquidity": 3.78,
      "momentum_consistency": 3.33,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.185,
      "vwap": 8.1846,
      "vwap_slope": 0.0022,
      "rvol": 0.06,
      "volume_acceleration": 2.15,
      "premarket_volume": 30170.0,
      "momentum_pct": 0.06,
      "consolidation_tightness_pct": 0.12,
      "distance_from_pm_high_pct": 0.37,
      "extension_from_vwap_pct": 0.01,
      "spread_pct": 0.37
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 8.215,
    "pm_low": 8.14
  },
  {
    "symbol": "ALIT",
    "total_score": 53.06,
    "raw_score": 56.24,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 0.56,
      "volume_acceleration": 2.92,
      "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.82,
      "momentum_consistency": 3.3,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.14,
      "vwap": 14.0566,
      "vwap_slope": 0.0103,
      "rvol": 0.24,
      "volume_acceleration": 0.84,
      "premarket_volume": 117692.0,
      "momentum_pct": -0.18,
      "consolidation_tightness_pct": 0.42,
      "distance_from_pm_high_pct": 0.35,
      "extension_from_vwap_pct": 0.59,
      "spread_pct": 0.35
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 14.19,
    "pm_low": 13.94
  },
  {
    "symbol": "COMP",
    "total_score": 53.03,
    "raw_score": 56.21,
    "breakdown": {
      "price_quality": 3.31,
      "volume_quality": 12.0,
      "rvol": 6.09,
      "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.71,
      "momentum_consistency": 2.17,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.685,
      "vwap": 11.7226,
      "vwap_slope": -0.0013,
      "rvol": 2.28,
      "volume_acceleration": 2.51,
      "premarket_volume": 1141354.0,
      "momentum_pct": -0.17,
      "consolidation_tightness_pct": 0.43,
      "distance_from_pm_high_pct": 0.64,
      "extension_from_vwap_pct": -0.32,
      "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.76,
    "pm_low": 11.68
  },
  {
    "symbol": "AES",
    "total_score": 52.95,
    "raw_score": 56.13,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 1.74,
      "volume_acceleration": 8.78,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.97,
      "spread_liquidity": 4.77,
      "momentum_consistency": 1.76,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.765,
      "vwap": 14.7662,
      "vwap_slope": 0.0001,
      "rvol": 0.72,
      "volume_acceleration": 1.88,
      "premarket_volume": 362202.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.07,
      "distance_from_pm_high_pct": 0.03,
      "extension_from_vwap_pct": -0.01,
      "spread_pct": 0.07
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": true
    },
    "pm_high": 14.77,
    "pm_low": 14.76
  },
  {
    "symbol": "SPT",
    "total_score": 52.89,
    "raw_score": 56.06,
    "breakdown": {
      "price_quality": 4.99,
      "volume_quality": 9.03,
      "rvol": 0.36,
      "volume_acceleration": 2.04,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.74,
      "spread_liquidity": 4.67,
      "momentum_consistency": 2.83,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.005,
      "vwap": 9.9808,
      "vwap_slope": 0.0177,
      "rvol": 0.15,
      "volume_acceleration": 1.2,
      "premarket_volume": 75284.0,
      "momentum_pct": -0.3,
      "consolidation_tightness_pct": 0.3,
      "distance_from_pm_high_pct": 0.35,
      "extension_from_vwap_pct": 0.24,
      "spread_pct": 0.1
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 10.04,
    "pm_low": 9.905
  },
  {
    "symbol": "GFR",
    "total_score": 52.87,
    "raw_score": 56.04,
    "breakdown": {
      "price_quality": 1.53,
      "volume_quality": 12.0,
      "rvol": 0.57,
      "volume_acceleration": 3.43,
      "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": 3.98,
      "momentum_consistency": 2.24,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.53,
      "vwap": 6.5132,
      "vwap_slope": 0.0022,
      "rvol": 0.24,
      "volume_acceleration": 0.99,
      "premarket_volume": 119755.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.31,
      "distance_from_pm_high_pct": 0.15,
      "extension_from_vwap_pct": 0.26,
      "spread_pct": 0.31
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 6.54,
    "pm_low": 6.48
  },
  {
    "symbol": "VIPS",
    "total_score": 52.62,
    "raw_score": 55.78,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 1.11,
      "volume_acceleration": 1.79,
      "price_momentum": 0.1,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.9,
      "spread_liquidity": 4.77,
      "momentum_consistency": 2.21,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.525,
      "vwap": 14.5177,
      "vwap_slope": 0.0015,
      "rvol": 0.46,
      "volume_acceleration": 1.18,
      "premarket_volume": 231695.0,
      "momentum_pct": 0.07,
      "consolidation_tightness_pct": 0.17,
      "distance_from_pm_high_pct": 0.14,
      "extension_from_vwap_pct": 0.05,
      "spread_pct": 0.07
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 14.545,
    "pm_low": 14.49
  },
  {
    "symbol": "LSPD",
    "total_score": 52.59,
    "raw_score": 55.74,
    "breakdown": {
      "price_quality": 4.44,
      "volume_quality": 11.97,
      "rvol": 0.48,
      "volume_acceleration": 3.61,
      "price_momentum": 0.07,
      "price_structure": 12,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.82,
      "spread_liquidity": 4.68,
      "momentum_consistency": 2.67,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.56,
      "vwap": 10.5601,
      "vwap_slope": -0.0001,
      "rvol": 0.2,
      "volume_acceleration": 1.36,
      "premarket_volume": 99778.0,
      "momentum_pct": 0.05,
      "consolidation_tightness_pct": 0.14,
      "distance_from_pm_high_pct": 0.24,
      "extension_from_vwap_pct": -0.0,
      "spread_pct": 0.09
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 10.585,
    "pm_low": 10.535
  },
  {
    "symbol": "XGN",
    "total_score": 52.53,
    "raw_score": 55.68,
    "breakdown": {
      "price_quality": 2.92,
      "volume_quality": 3.55,
      "rvol": 0.14,
      "volume_acceleration": 10,
      "price_momentum": 0.48,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.53,
      "spread_liquidity": 3.74,
      "momentum_consistency": 2.93,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.915,
      "vwap": 7.9033,
      "vwap_slope": 0.0183,
      "rvol": 0.06,
      "volume_acceleration": 2.09,
      "premarket_volume": 29560.0,
      "momentum_pct": 0.32,
      "consolidation_tightness_pct": 0.38,
      "distance_from_pm_high_pct": 0.63,
      "extension_from_vwap_pct": 0.15,
      "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.965,
    "pm_low": 7.82
  },
  {
    "symbol": "RXST",
    "total_score": 52.48,
    "raw_score": 55.63,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 0.61,
      "volume_acceleration": 10,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.46,
      "spread_liquidity": 4.46,
      "momentum_consistency": 2.0,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.16,
      "vwap": 6.1728,
      "vwap_slope": 0.0022,
      "rvol": 0.25,
      "volume_acceleration": 2.6,
      "premarket_volume": 127358.0,
      "momentum_pct": -0.4,
      "consolidation_tightness_pct": 0.49,
      "distance_from_pm_high_pct": 0.73,
      "extension_from_vwap_pct": -0.21,
      "spread_pct": 0.16
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": true
    },
    "pm_high": 6.205,
    "pm_low": 6.1301
  },
  {
    "symbol": "RSKD",
    "total_score": 52.42,
    "raw_score": 55.57,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 0.99,
      "volume_acceleration": 3.1,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.68,
      "spread_liquidity": 4.44,
      "momentum_consistency": 1.45,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.905,
      "vwap": 5.9036,
      "vwap_slope": 0.0008,
      "rvol": 0.41,
      "volume_acceleration": 1.31,
      "premarket_volume": 206392.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.25,
      "distance_from_pm_high_pct": 0.42,
      "extension_from_vwap_pct": 0.02,
      "spread_pct": 0.17
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 5.93,
    "pm_low": 5.88
  },
  {
    "symbol": "BVS",
    "total_score": 52.38,
    "raw_score": 55.53,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 8.99,
      "rvol": 0.36,
      "volume_acceleration": 5.48,
      "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.77,
      "momentum_consistency": 2.18,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.31,
      "vwap": 14.2913,
      "vwap_slope": 0.0238,
      "rvol": 0.15,
      "volume_acceleration": 1.55,
      "premarket_volume": 74929.0,
      "momentum_pct": -0.14,
      "consolidation_tightness_pct": 0.24,
      "distance_from_pm_high_pct": 0.21,
      "extension_from_vwap_pct": 0.13,
      "spread_pct": 0.07
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 14.34,
    "pm_low": 14.2
  },
  {
    "symbol": "RILY",
    "total_score": 52.28,
    "raw_score": 55.41,
    "breakdown": {
      "price_quality": 2.11,
      "volume_quality": 3.88,
      "rvol": 0.16,
      "volume_acceleration": 7.42,
      "price_momentum": 0.21,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 6,
      "spread_liquidity": 4.06,
      "momentum_consistency": 2.77,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.11,
      "vwap": 7.0909,
      "vwap_slope": -0.0009,
      "rvol": 0.06,
      "volume_acceleration": 1.74,
      "premarket_volume": 32373.0,
      "momentum_pct": 0.14,
      "consolidation_tightness_pct": 0.28,
      "distance_from_pm_high_pct": 0.0,
      "extension_from_vwap_pct": 0.27,
      "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": false
    },
    "pm_high": 7.11,
    "pm_low": 7.07
  },
  {
    "symbol": "SSL",
    "total_score": 52.17,
    "raw_score": 55.3,
    "breakdown": {
      "price_quality": 2.51,
      "volume_quality": 12.0,
      "rvol": 1.04,
      "volume_acceleration": 0.65,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.76,
      "spread_liquidity": 4.73,
      "momentum_consistency": 2.2,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.49,
      "vwap": 12.4759,
      "vwap_slope": 0.0019,
      "rvol": 0.43,
      "volume_acceleration": 0.19,
      "premarket_volume": 217035.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.12,
      "distance_from_pm_high_pct": 0.32,
      "extension_from_vwap_pct": 0.11,
      "spread_pct": 0.08
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 12.53,
    "pm_low": 12.43
  },
  {
    "symbol": "AVAH",
    "total_score": 52.11,
    "raw_score": 55.24,
    "breakdown": {
      "price_quality": 1.62,
      "volume_quality": 12.0,
      "rvol": 3.15,
      "volume_acceleration": 3.32,
      "price_momentum": 0.68,
      "price_structure": 12,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.0,
      "spread_liquidity": 4.75,
      "momentum_consistency": 2.71,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.375,
      "vwap": 13.4352,
      "vwap_slope": -0.0316,
      "rvol": 1.31,
      "volume_acceleration": 1.33,
      "premarket_volume": 655694.0,
      "momentum_pct": 0.45,
      "consolidation_tightness_pct": 0.75,
      "distance_from_pm_high_pct": 1.33,
      "extension_from_vwap_pct": -0.45,
      "spread_pct": 0.07
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 13.555,
    "pm_low": 13.29
  },
  {
    "symbol": "ASYS",
    "total_score": 51.6,
    "raw_score": 54.7,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 3.32,
      "rvol": 0.13,
      "volume_acceleration": 10,
      "price_momentum": 0.1,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.95,
      "spread_liquidity": 4.09,
      "momentum_consistency": 3.2,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.69,
      "vwap": 14.6515,
      "vwap_slope": 0.0725,
      "rvol": 0.06,
      "volume_acceleration": 4.14,
      "premarket_volume": 27695.0,
      "momentum_pct": 0.07,
      "consolidation_tightness_pct": 0.44,
      "distance_from_pm_high_pct": 0.07,
      "extension_from_vwap_pct": 0.26,
      "spread_pct": 0.27
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 14.7,
    "pm_low": 14.535
  },
  {
    "symbol": "ZURA",
    "total_score": 51.51,
    "raw_score": 54.6,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 11.02,
      "rvol": 0.44,
      "volume_acceleration": 2.9,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.75,
      "spread_liquidity": 4.43,
      "momentum_consistency": 2.16,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.9,
      "vwap": 5.8904,
      "vwap_slope": 0.0083,
      "rvol": 0.18,
      "volume_acceleration": 0.83,
      "premarket_volume": 91801.0,
      "momentum_pct": -0.08,
      "consolidation_tightness_pct": 0.68,
      "distance_from_pm_high_pct": 0.34,
      "extension_from_vwap_pct": 0.16,
      "spread_pct": 0.17
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 5.92,
    "pm_low": 5.85
  },
  {
    "symbol": "QXO",
    "total_score": 51.45,
    "raw_score": 54.54,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 5.07,
      "volume_acceleration": 3.23,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.68,
      "spread_liquidity": 4.76,
      "momentum_consistency": 2.71,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.81,
      "vwap": 13.8222,
      "vwap_slope": 0.01,
      "rvol": 1.9,
      "volume_acceleration": 1.32,
      "premarket_volume": 950078.0,
      "momentum_pct": -0.25,
      "consolidation_tightness_pct": 0.4,
      "distance_from_pm_high_pct": 0.43,
      "extension_from_vwap_pct": -0.09,
      "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": 13.87,
    "pm_low": 13.79
  },
  {
    "symbol": "UPWK",
    "total_score": 51.43,
    "raw_score": 54.52,
    "breakdown": {
      "price_quality": 3.64,
      "volume_quality": 12.0,
      "rvol": 0.86,
      "volume_acceleration": 5.47,
      "price_momentum": 0.35,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.91,
      "spread_liquidity": 4.61,
      "momentum_consistency": 2.47,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.645,
      "vwap": 8.64,
      "vwap_slope": -0.0014,
      "rvol": 0.36,
      "volume_acceleration": 1.55,
      "premarket_volume": 178130.0,
      "momentum_pct": 0.23,
      "consolidation_tightness_pct": 0.35,
      "distance_from_pm_high_pct": 0.12,
      "extension_from_vwap_pct": 0.06,
      "spread_pct": 0.12
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 8.655,
    "pm_low": 8.62
  },
  {
    "symbol": "RVSB",
    "total_score": 51.08,
    "raw_score": 54.14,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 2.95,
      "rvol": 0.12,
      "volume_acceleration": 0.77,
      "price_momentum": 0.44,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 6,
      "spread_liquidity": 3.71,
      "momentum_consistency": 2.67,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.15,
      "vwap": 5.1228,
      "vwap_slope": 0.0032,
      "rvol": 0.05,
      "volume_acceleration": 0.22,
      "premarket_volume": 24578.0,
      "momentum_pct": 0.29,
      "consolidation_tightness_pct": 0.49,
      "distance_from_pm_high_pct": 0.0,
      "extension_from_vwap_pct": 0.53,
      "spread_pct": 0.39
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 5.15,
    "pm_low": 5.11
  },
  {
    "symbol": "RCAT",
    "total_score": 51.05,
    "raw_score": 54.11,
    "breakdown": {
      "price_quality": 4.73,
      "volume_quality": 12.0,
      "rvol": 1.94,
      "volume_acceleration": 1.63,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.35,
      "spread_liquidity": 4.66,
      "momentum_consistency": 4.2,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.735,
      "vwap": 9.7704,
      "vwap_slope": 0.0035,
      "rvol": 0.81,
      "volume_acceleration": 1.16,
      "premarket_volume": 403495.0,
      "momentum_pct": -0.71,
      "consolidation_tightness_pct": 0.82,
      "distance_from_pm_high_pct": 0.87,
      "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": true
    },
    "pm_high": 9.82,
    "pm_low": 9.7101
  },
  {
    "symbol": "RIG",
    "total_score": 51.03,
    "raw_score": 54.09,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 12.0,
      "volume_acceleration": 3.41,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.76,
      "spread_liquidity": 4.44,
      "momentum_consistency": 2.58,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.9508,
      "vwap": 5.9581,
      "vwap_slope": -0.0004,
      "rvol": 6.8,
      "volume_acceleration": 0.98,
      "premarket_volume": 3400156.0,
      "momentum_pct": -0.15,
      "consolidation_tightness_pct": 0.25,
      "distance_from_pm_high_pct": 0.32,
      "extension_from_vwap_pct": -0.12,
      "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.97,
    "pm_low": 5.95
  },
  {
    "symbol": "GENI",
    "total_score": 50.91,
    "raw_score": 53.96,
    "breakdown": {
      "price_quality": 3.0,
      "volume_quality": 12.0,
      "rvol": 1.82,
      "volume_acceleration": 3.99,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.53,
      "spread_liquidity": 4.58,
      "momentum_consistency": 3.45,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.995,
      "vwap": 8.0055,
      "vwap_slope": 0.0009,
      "rvol": 0.76,
      "volume_acceleration": 1.15,
      "premarket_volume": 378492.0,
      "momentum_pct": -0.25,
      "consolidation_tightness_pct": 0.25,
      "distance_from_pm_high_pct": 0.62,
      "extension_from_vwap_pct": -0.13,
      "spread_pct": 0.13
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": true
    },
    "pm_high": 8.045,
    "pm_low": 7.965
  },
  {
    "symbol": "FWRG",
    "total_score": 50.9,
    "raw_score": 53.95,
    "breakdown": {
      "price_quality": 2.13,
      "volume_quality": 12.0,
      "rvol": 0.58,
      "volume_acceleration": 3.96,
      "price_momentum": 0.35,
      "price_structure": 12,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.57,
      "spread_liquidity": 4.48,
      "momentum_consistency": 2.88,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.87,
      "vwap": 12.8909,
      "vwap_slope": -0.0124,
      "rvol": 0.24,
      "volume_acceleration": 1.14,
      "premarket_volume": 121024.0,
      "momentum_pct": 0.23,
      "consolidation_tightness_pct": 0.39,
      "distance_from_pm_high_pct": 0.58,
      "extension_from_vwap_pct": -0.16,
      "spread_pct": 0.16
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 12.945,
    "pm_low": 12.83
  },
  {
    "symbol": "VELO",
    "total_score": 50.69,
    "raw_score": 53.73,
    "breakdown": {
      "price_quality": 1.62,
      "volume_quality": 8.77,
      "rvol": 0.35,
      "volume_acceleration": 2.52,
      "price_momentum": 0.22,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.83,
      "spread_liquidity": 4.25,
      "momentum_consistency": 3.76,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.38,
      "vwap": 13.3668,
      "vwap_slope": 0.0065,
      "rvol": 0.15,
      "volume_acceleration": 1.25,
      "premarket_volume": 73120.0,
      "momentum_pct": 0.15,
      "consolidation_tightness_pct": 0.41,
      "distance_from_pm_high_pct": 0.22,
      "extension_from_vwap_pct": 0.1,
      "spread_pct": 0.22
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 13.41,
    "pm_low": 13.29
  },
  {
    "symbol": "RITM",
    "total_score": 50.63,
    "raw_score": 53.67,
    "breakdown": {
      "price_quality": 4.77,
      "volume_quality": 12.0,
      "rvol": 3.37,
      "volume_acceleration": 1.79,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.7,
      "spread_liquidity": 4.67,
      "momentum_consistency": 1.76,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.235,
      "vwap": 10.2356,
      "vwap_slope": 0.0004,
      "rvol": 1.41,
      "volume_acceleration": 0.52,
      "premarket_volume": 703040.0,
      "momentum_pct": -0.05,
      "consolidation_tightness_pct": 0.1,
      "distance_from_pm_high_pct": 0.4,
      "extension_from_vwap_pct": -0.01,
      "spread_pct": 0.1
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": true
    },
    "pm_high": 10.276,
    "pm_low": 10.21
  },
  {
    "symbol": "VALE",
    "total_score": 50.62,
    "raw_score": 53.66,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 12.0,
      "volume_acceleration": 3.68,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.41,
      "spread_liquidity": 4.77,
      "momentum_consistency": 1.9,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.505,
      "vwap": 14.562,
      "vwap_slope": -0.0198,
      "rvol": 5.06,
      "volume_acceleration": 1.37,
      "premarket_volume": 2529569.0,
      "momentum_pct": -0.14,
      "consolidation_tightness_pct": 0.34,
      "distance_from_pm_high_pct": 0.79,
      "extension_from_vwap_pct": -0.39,
      "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.62,
    "pm_low": 14.5
  },
  {
    "symbol": "ZIP",
    "total_score": 50.6,
    "raw_score": 53.63,
    "breakdown": {
      "price_quality": 0.0,
      "volume_quality": 12.0,
      "rvol": 1.7,
      "volume_acceleration": 2.11,
      "price_momentum": 0.51,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 4.66,
      "spread_liquidity": 4.24,
      "momentum_consistency": 2.0,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 4.4,
      "vwap": 4.3879,
      "vwap_slope": 0.0014,
      "rvol": 0.71,
      "volume_acceleration": 0.61,
      "premarket_volume": 354895.0,
      "momentum_pct": 0.34,
      "consolidation_tightness_pct": 0.57,
      "distance_from_pm_high_pct": 1.79,
      "extension_from_vwap_pct": 0.28,
      "spread_pct": 0.23
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 4.48,
    "pm_low": 4.245
  },
  {
    "symbol": "KBDC",
    "total_score": 50.57,
    "raw_score": 53.6,
    "breakdown": {
      "price_quality": 1.69,
      "volume_quality": 6.68,
      "rvol": 0.27,
      "volume_acceleration": 5.49,
      "price_momentum": 0.05,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.97,
      "spread_liquidity": 4.75,
      "momentum_consistency": 2.31,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.315,
      "vwap": 13.3052,
      "vwap_slope": 0.0035,
      "rvol": 0.11,
      "volume_acceleration": 1.55,
      "premarket_volume": 55694.0,
      "momentum_pct": 0.03,
      "consolidation_tightness_pct": 0.07,
      "distance_from_pm_high_pct": 0.04,
      "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": 13.32,
    "pm_low": 13.28
  },
  {
    "symbol": "KVHI",
    "total_score": 50.53,
    "raw_score": 53.56,
    "breakdown": {
      "price_quality": 2.83,
      "volume_quality": 2.98,
      "rvol": 0.12,
      "volume_acceleration": 5.12,
      "price_momentum": 1.55,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.15,
      "spread_liquidity": 3.72,
      "momentum_consistency": 3.29,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.83,
      "vwap": 7.8273,
      "vwap_slope": -0.046,
      "rvol": 0.05,
      "volume_acceleration": 1.51,
      "premarket_volume": 24829.0,
      "momentum_pct": 1.03,
      "consolidation_tightness_pct": 1.03,
      "distance_from_pm_high_pct": 1.14,
      "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": true,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 7.92,
    "pm_low": 7.75
  },
  {
    "symbol": "GPGI",
    "total_score": 50.48,
    "raw_score": 53.51,
    "breakdown": {
      "price_quality": 2.09,
      "volume_quality": 6.05,
      "rvol": 0.24,
      "volume_acceleration": 3.83,
      "price_momentum": 0.29,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 6,
      "spread_liquidity": 4.74,
      "momentum_consistency": 3.87,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.91,
      "vwap": 12.8069,
      "vwap_slope": 0.017,
      "rvol": 0.1,
      "volume_acceleration": 1.38,
      "premarket_volume": 50395.0,
      "momentum_pct": 0.19,
      "consolidation_tightness_pct": 0.39,
      "distance_from_pm_high_pct": 0.0,
      "extension_from_vwap_pct": 0.81,
      "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.91,
    "pm_low": 12.75
  },
  {
    "symbol": "TRIP",
    "total_score": 50.4,
    "raw_score": 53.42,
    "breakdown": {
      "price_quality": 4.99,
      "volume_quality": 12.0,
      "rvol": 1.07,
      "volume_acceleration": 10,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.67,
      "spread_liquidity": 4.67,
      "momentum_consistency": 2.62,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.995,
      "vwap": 10.0057,
      "vwap_slope": -0.0043,
      "rvol": 0.45,
      "volume_acceleration": 2.01,
      "premarket_volume": 223350.0,
      "momentum_pct": -0.1,
      "consolidation_tightness_pct": 0.15,
      "distance_from_pm_high_pct": 0.44,
      "extension_from_vwap_pct": -0.11,
      "spread_pct": 0.1
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 10.0391,
    "pm_low": 9.98
  },
  {
    "symbol": "PWRL",
    "total_score": 50.35,
    "raw_score": 53.37,
    "breakdown": {
      "price_quality": 3.01,
      "volume_quality": 2.82,
      "rvol": 0.11,
      "volume_acceleration": 6.42,
      "price_momentum": 0.0,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 6,
      "spread_liquidity": 2.21,
      "momentum_consistency": 4.0,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.99,
      "vwap": 11.9464,
      "vwap_slope": -0.0039,
      "rvol": 0.05,
      "volume_acceleration": 1.64,
      "premarket_volume": 23523.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.46,
      "distance_from_pm_high_pct": 0.0,
      "extension_from_vwap_pct": 0.36,
      "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": false
    },
    "pm_high": 11.99,
    "pm_low": 11.845
  },
  {
    "symbol": "VITL",
    "total_score": 50.35,
    "raw_score": 53.37,
    "breakdown": {
      "price_quality": 4.43,
      "volume_quality": 10.1,
      "rvol": 0.4,
      "volume_acceleration": 4.21,
      "price_momentum": 0.14,
      "price_structure": 12,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.4,
      "spread_liquidity": 4.68,
      "momentum_consistency": 2.0,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.575,
      "vwap": 10.594,
      "vwap_slope": -0.0116,
      "rvol": 0.17,
      "volume_acceleration": 1.42,
      "premarket_volume": 84207.0,
      "momentum_pct": 0.09,
      "consolidation_tightness_pct": 0.24,
      "distance_from_pm_high_pct": 0.8,
      "extension_from_vwap_pct": -0.18,
      "spread_pct": 0.09
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 10.66,
    "pm_low": 10.55
  },
  {
    "symbol": "CRNC",
    "total_score": 50.23,
    "raw_score": 53.24,
    "breakdown": {
      "price_quality": 3.12,
      "volume_quality": 6.38,
      "rvol": 0.26,
      "volume_acceleration": 3.24,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.95,
      "spread_liquidity": 4.59,
      "momentum_consistency": 3.3,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.115,
      "vwap": 8.0812,
      "vwap_slope": 0.0048,
      "rvol": 0.11,
      "volume_acceleration": 0.93,
      "premarket_volume": 53190.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.25,
      "distance_from_pm_high_pct": 0.06,
      "extension_from_vwap_pct": 0.42,
      "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.12,
    "pm_low": 8.05
  },
  {
    "symbol": "LION",
    "total_score": 50.21,
    "raw_score": 53.22,
    "breakdown": {
      "price_quality": 3.54,
      "volume_quality": 12.0,
      "rvol": 0.63,
      "volume_acceleration": 5.24,
      "price_momentum": 0.46,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.93,
      "spread_liquidity": 4.71,
      "momentum_consistency": 1.51,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.46,
      "vwap": 11.438,
      "vwap_slope": -0.0018,
      "rvol": 0.26,
      "volume_acceleration": 1.52,
      "premarket_volume": 131039.0,
      "momentum_pct": 0.31,
      "consolidation_tightness_pct": 0.35,
      "distance_from_pm_high_pct": 0.09,
      "extension_from_vwap_pct": 0.19,
      "spread_pct": 0.09
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 11.47,
    "pm_low": 11.415
  },
  {
    "symbol": "GPK",
    "total_score": 50.07,
    "raw_score": 53.07,
    "breakdown": {
      "price_quality": 3.04,
      "volume_quality": 12.0,
      "rvol": 2.13,
      "volume_acceleration": 3.03,
      "price_momentum": 0.31,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.79,
      "spread_liquidity": 4.72,
      "momentum_consistency": 2.85,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.955,
      "vwap": 11.951,
      "vwap_slope": -0.0024,
      "rvol": 0.89,
      "volume_acceleration": 0.87,
      "premarket_volume": 444338.0,
      "momentum_pct": 0.21,
      "consolidation_tightness_pct": 0.59,
      "distance_from_pm_high_pct": 0.28,
      "extension_from_vwap_pct": 0.03,
      "spread_pct": 0.08
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 11.9891,
    "pm_low": 11.91
  },
  {
    "symbol": "NOMD",
    "total_score": 49.89,
    "raw_score": 52.89,
    "breakdown": {
      "price_quality": 3.18,
      "volume_quality": 12.0,
      "rvol": 0.49,
      "volume_acceleration": 4.38,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.86,
      "spread_liquidity": 4.72,
      "momentum_consistency": 2.67,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.825,
      "vwap": 11.8258,
      "vwap_slope": 0.0002,
      "rvol": 0.21,
      "volume_acceleration": 1.44,
      "premarket_volume": 102807.0,
      "momentum_pct": -0.08,
      "consolidation_tightness_pct": 0.13,
      "distance_from_pm_high_pct": 0.19,
      "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": 11.8476,
    "pm_low": 11.805
  },
  {
    "symbol": "BRBR",
    "total_score": 49.84,
    "raw_score": 52.83,
    "breakdown": {
      "price_quality": 4.8,
      "volume_quality": 12.0,
      "rvol": 1.43,
      "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.06,
      "spread_liquidity": 4.67,
      "momentum_consistency": 2.47,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.2,
      "vwap": 10.2558,
      "vwap_slope": -0.0448,
      "rvol": 0.6,
      "volume_acceleration": 2.61,
      "premarket_volume": 297654.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.39,
      "distance_from_pm_high_pct": 1.26,
      "extension_from_vwap_pct": -0.54,
      "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.165
  },
  {
    "symbol": "AIRO",
    "total_score": 49.8,
    "raw_score": 52.79,
    "breakdown": {
      "price_quality": 3.72,
      "volume_quality": 2.83,
      "rvol": 0.11,
      "volume_acceleration": 6.9,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.91,
      "spread_liquidity": 4.24,
      "momentum_consistency": 2.67,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.72,
      "vwap": 8.6946,
      "vwap_slope": 0.0098,
      "rvol": 0.05,
      "volume_acceleration": 1.69,
      "premarket_volume": 23625.0,
      "momentum_pct": -0.11,
      "consolidation_tightness_pct": 0.2,
      "distance_from_pm_high_pct": 0.11,
      "extension_from_vwap_pct": 0.29,
      "spread_pct": 0.23
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 8.73,
    "pm_low": 8.64
  },
  {
    "symbol": "NRDS",
    "total_score": 49.8,
    "raw_score": 52.79,
    "breakdown": {
      "price_quality": 4.89,
      "volume_quality": 12.0,
      "rvol": 0.8,
      "volume_acceleration": 10,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.51,
      "spread_liquidity": 4.66,
      "momentum_consistency": 2.52,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.895,
      "vwap": 9.9119,
      "vwap_slope": -0.0175,
      "rvol": 0.33,
      "volume_acceleration": 3.11,
      "premarket_volume": 166838.0,
      "momentum_pct": -0.25,
      "consolidation_tightness_pct": 0.45,
      "distance_from_pm_high_pct": 0.65,
      "extension_from_vwap_pct": -0.17,
      "spread_pct": 0.1
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 9.96,
    "pm_low": 9.88
  },
  {
    "symbol": "SHLS",
    "total_score": 49.53,
    "raw_score": 52.5,
    "breakdown": {
      "price_quality": 2.14,
      "volume_quality": 12.0,
      "rvol": 4.27,
      "volume_acceleration": 10,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.22,
      "spread_liquidity": 4.53,
      "momentum_consistency": 1.93,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.145,
      "vwap": 7.1559,
      "vwap_slope": -0.0146,
      "rvol": 1.6,
      "volume_acceleration": 2.2,
      "premarket_volume": 801030.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.14,
      "distance_from_pm_high_pct": 1.04,
      "extension_from_vwap_pct": -0.15,
      "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.22,
    "pm_low": 7.14
  },
  {
    "symbol": "XRAY",
    "total_score": 49.48,
    "raw_score": 52.45,
    "breakdown": {
      "price_quality": 4.12,
      "volume_quality": 12.0,
      "rvol": 1.24,
      "volume_acceleration": 2.63,
      "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.69,
      "momentum_consistency": 2.34,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.885,
      "vwap": 10.8874,
      "vwap_slope": 0.0,
      "rvol": 0.51,
      "volume_acceleration": 1.26,
      "premarket_volume": 257351.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.1,
      "distance_from_pm_high_pct": 0.23,
      "extension_from_vwap_pct": -0.02,
      "spread_pct": 0.09
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": true
    },
    "pm_high": 10.91,
    "pm_low": 10.865
  },
  {
    "symbol": "SATL",
    "total_score": 49.48,
    "raw_score": 52.45,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 1.65,
      "volume_acceleration": 4.58,
      "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.41,
      "momentum_consistency": 3.17,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.675,
      "vwap": 5.6812,
      "vwap_slope": 0.0007,
      "rvol": 0.69,
      "volume_acceleration": 1.46,
      "premarket_volume": 343645.0,
      "momentum_pct": -0.18,
      "consolidation_tightness_pct": 0.35,
      "distance_from_pm_high_pct": 0.61,
      "extension_from_vwap_pct": -0.11,
      "spread_pct": 0.18
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": true
    },
    "pm_high": 5.71,
    "pm_low": 5.65
  },
  {
    "symbol": "GNW",
    "total_score": 49.38,
    "raw_score": 52.35,
    "breakdown": {
      "price_quality": 4.89,
      "volume_quality": 12.0,
      "rvol": 1.19,
      "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.66,
      "momentum_consistency": 1.43,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.895,
      "vwap": 9.9111,
      "vwap_slope": -0.0028,
      "rvol": 0.49,
      "volume_acceleration": 3.86,
      "premarket_volume": 247048.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.1,
      "distance_from_pm_high_pct": 0.3,
      "extension_from_vwap_pct": -0.16,
      "spread_pct": 0.1
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 9.925,
    "pm_low": 9.89
  },
  {
    "symbol": "SB",
    "total_score": 49.36,
    "raw_score": 52.32,
    "breakdown": {
      "price_quality": 3.55,
      "volume_quality": 12.0,
      "rvol": 0.57,
      "volume_acceleration": 3.83,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.69,
      "spread_liquidity": 4.61,
      "momentum_consistency": 2.46,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.555,
      "vwap": 8.5631,
      "vwap_slope": 0.003,
      "rvol": 0.24,
      "volume_acceleration": 1.38,
      "premarket_volume": 118061.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.06,
      "distance_from_pm_high_pct": 0.41,
      "extension_from_vwap_pct": -0.09,
      "spread_pct": 0.12
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": true
    },
    "pm_high": 8.59,
    "pm_low": 8.53
  },
  {
    "symbol": "USGO",
    "total_score": 49.32,
    "raw_score": 52.28,
    "breakdown": {
      "price_quality": 4.71,
      "volume_quality": 2.53,
      "rvol": 0.1,
      "volume_acceleration": 8.61,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.48,
      "spread_liquidity": 0.89,
      "momentum_consistency": 3.56,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.712,
      "vwap": 9.6997,
      "vwap_slope": 0.036,
      "rvol": 0.04,
      "volume_acceleration": 1.86,
      "premarket_volume": 21120.0,
      "momentum_pct": -0.39,
      "consolidation_tightness_pct": 1.23,
      "distance_from_pm_high_pct": 0.7,
      "extension_from_vwap_pct": 0.13,
      "spread_pct": 1.23
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 9.78,
    "pm_low": 9.65
  },
  {
    "symbol": "MGTX",
    "total_score": 49.31,
    "raw_score": 52.27,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 7.28,
      "rvol": 0.29,
      "volume_acceleration": 3.15,
      "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.53,
      "momentum_consistency": 3.43,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.26,
      "vwap": 14.2473,
      "vwap_slope": 0.0151,
      "rvol": 0.12,
      "volume_acceleration": 0.91,
      "premarket_volume": 60637.0,
      "momentum_pct": -0.28,
      "consolidation_tightness_pct": 0.42,
      "distance_from_pm_high_pct": 0.42,
      "extension_from_vwap_pct": 0.09,
      "spread_pct": 0.14
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 14.32,
    "pm_low": 14.18
  },
  {
    "symbol": "MH",
    "total_score": 49.29,
    "raw_score": 52.24,
    "breakdown": {
      "price_quality": 1.6,
      "volume_quality": 6.28,
      "rvol": 0.25,
      "volume_acceleration": 4.57,
      "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.25,
      "momentum_consistency": 3.0,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.4,
      "vwap": 13.3904,
      "vwap_slope": 0.0058,
      "rvol": 0.1,
      "volume_acceleration": 1.46,
      "premarket_volume": 52358.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.15,
      "distance_from_pm_high_pct": 0.15,
      "extension_from_vwap_pct": 0.07,
      "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": 13.42,
    "pm_low": 13.35
  },
  {
    "symbol": "VSTM",
    "total_score": 49.29,
    "raw_score": 52.25,
    "breakdown": {
      "price_quality": 1.89,
      "volume_quality": 8.12,
      "rvol": 0.32,
      "volume_acceleration": 2.54,
      "price_momentum": 0.11,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.95,
      "spread_liquidity": 4.52,
      "momentum_consistency": 2.4,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.885,
      "vwap": 6.8671,
      "vwap_slope": 0.0032,
      "rvol": 0.14,
      "volume_acceleration": 0.73,
      "premarket_volume": 67707.0,
      "momentum_pct": 0.07,
      "consolidation_tightness_pct": 0.14,
      "distance_from_pm_high_pct": 0.07,
      "extension_from_vwap_pct": 0.26,
      "spread_pct": 0.15
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 6.89,
    "pm_low": 6.845
  },
  {
    "symbol": "CHPT",
    "total_score": 49.26,
    "raw_score": 52.21,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 7.49,
      "rvol": 0.3,
      "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.17,
      "spread_liquidity": 3.93,
      "momentum_consistency": 4.22,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.23,
      "vwap": 6.2308,
      "vwap_slope": 0.0191,
      "rvol": 0.12,
      "volume_acceleration": 2.59,
      "premarket_volume": 62438.0,
      "momentum_pct": -0.72,
      "consolidation_tightness_pct": 1.12,
      "distance_from_pm_high_pct": 1.11,
      "extension_from_vwap_pct": -0.01,
      "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": true
    },
    "pm_high": 6.3,
    "pm_low": 6.13
  },
  {
    "symbol": "UNIT",
    "total_score": 49.17,
    "raw_score": 52.13,
    "breakdown": {
      "price_quality": 4.98,
      "volume_quality": 9.6,
      "rvol": 0.38,
      "volume_acceleration": 5.15,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.78,
      "spread_liquidity": 4.67,
      "momentum_consistency": 1.96,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.985,
      "vwap": 9.9893,
      "vwap_slope": 0.0015,
      "rvol": 0.16,
      "volume_acceleration": 1.52,
      "premarket_volume": 80031.0,
      "momentum_pct": -0.15,
      "consolidation_tightness_pct": 0.15,
      "distance_from_pm_high_pct": 0.3,
      "extension_from_vwap_pct": -0.04,
      "spread_pct": 0.1
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": true
    },
    "pm_high": 10.015,
    "pm_low": 9.93
  },
  {
    "symbol": "WLTH",
    "total_score": 49.16,
    "raw_score": 52.11,
    "breakdown": {
      "price_quality": 4.18,
      "volume_quality": 12.0,
      "rvol": 0.89,
      "volume_acceleration": 10,
      "price_momentum": 0.41,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.55,
      "spread_liquidity": 4.64,
      "momentum_consistency": 2.05,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.175,
      "vwap": 9.1807,
      "vwap_slope": -0.0238,
      "rvol": 0.37,
      "volume_acceleration": 2.57,
      "premarket_volume": 185289.0,
      "momentum_pct": 0.27,
      "consolidation_tightness_pct": 0.44,
      "distance_from_pm_high_pct": 0.6,
      "extension_from_vwap_pct": -0.06,
      "spread_pct": 0.11
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 9.23,
    "pm_low": 9.145
  },
  {
    "symbol": "JBS",
    "total_score": 49.15,
    "raw_score": 52.1,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 2.12,
      "volume_acceleration": 1.61,
      "price_momentum": 0.27,
      "price_structure": 12,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.81,
      "spread_liquidity": 4.76,
      "momentum_consistency": 2.03,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.81,
      "vwap": 13.8168,
      "vwap_slope": -0.0061,
      "rvol": 0.88,
      "volume_acceleration": 1.16,
      "premarket_volume": 441098.0,
      "momentum_pct": 0.18,
      "consolidation_tightness_pct": 0.22,
      "distance_from_pm_high_pct": 0.25,
      "extension_from_vwap_pct": -0.05,
      "spread_pct": 0.07
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 13.845,
    "pm_low": 13.78
  },
  {
    "symbol": "OSS",
    "total_score": 49.06,
    "raw_score": 52.0,
    "breakdown": {
      "price_quality": 3.53,
      "volume_quality": 5.13,
      "rvol": 0.21,
      "volume_acceleration": 2.64,
      "price_momentum": 0.26,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.93,
      "spread_liquidity": 4.42,
      "momentum_consistency": 3.49,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.47,
      "vwap": 11.4151,
      "vwap_slope": 0.0131,
      "rvol": 0.09,
      "volume_acceleration": 0.76,
      "premarket_volume": 42719.0,
      "momentum_pct": 0.17,
      "consolidation_tightness_pct": 0.35,
      "distance_from_pm_high_pct": 0.09,
      "extension_from_vwap_pct": 0.48,
      "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.48,
    "pm_low": 11.35
  },
  {
    "symbol": "ASPN",
    "total_score": 48.96,
    "raw_score": 51.9,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 7.19,
      "rvol": 0.29,
      "volume_acceleration": 3.78,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.71,
      "spread_liquidity": 4.36,
      "momentum_consistency": 2.67,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.235,
      "vwap": 5.2146,
      "vwap_slope": 0.011,
      "rvol": 0.12,
      "volume_acceleration": 1.09,
      "premarket_volume": 59930.0,
      "momentum_pct": -0.38,
      "consolidation_tightness_pct": 0.38,
      "distance_from_pm_high_pct": 0.38,
      "extension_from_vwap_pct": 0.39,
      "spread_pct": 0.19
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 5.255,
    "pm_low": 5.155
  },
  {
    "symbol": "CWK",
    "total_score": 48.9,
    "raw_score": 51.83,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 9.25,
      "rvol": 0.37,
      "volume_acceleration": 7.48,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.8,
      "spread_liquidity": 4.77,
      "momentum_consistency": 3.06,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.71,
      "vwap": 14.7203,
      "vwap_slope": 0.0017,
      "rvol": 0.15,
      "volume_acceleration": 1.75,
      "premarket_volume": 77073.0,
      "momentum_pct": -0.14,
      "consolidation_tightness_pct": 0.14,
      "distance_from_pm_high_pct": 0.27,
      "extension_from_vwap_pct": -0.07,
      "spread_pct": 0.07
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": true
    },
    "pm_high": 14.75,
    "pm_low": 14.67
  },
  {
    "symbol": "KD",
    "total_score": 48.84,
    "raw_score": 51.77,
    "breakdown": {
      "price_quality": 2.52,
      "volume_quality": 12.0,
      "rvol": 2.19,
      "volume_acceleration": 10,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.49,
      "spread_liquidity": 4.73,
      "momentum_consistency": 2.44,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.485,
      "vwap": 12.5069,
      "vwap_slope": -0.0057,
      "rvol": 0.91,
      "volume_acceleration": 2.12,
      "premarket_volume": 456661.0,
      "momentum_pct": -0.28,
      "consolidation_tightness_pct": 0.4,
      "distance_from_pm_high_pct": 0.68,
      "extension_from_vwap_pct": -0.18,
      "spread_pct": 0.08
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 12.57,
    "pm_low": 12.45
  },
  {
    "symbol": "LADR",
    "total_score": 48.8,
    "raw_score": 51.73,
    "breakdown": {
      "price_quality": 4.96,
      "volume_quality": 9.81,
      "rvol": 0.39,
      "volume_acceleration": 4.63,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.81,
      "spread_liquidity": 4.67,
      "momentum_consistency": 1.87,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.955,
      "vwap": 9.9568,
      "vwap_slope": 0.0006,
      "rvol": 0.16,
      "volume_acceleration": 1.46,
      "premarket_volume": 81756.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.1,
      "distance_from_pm_high_pct": 0.25,
      "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": true
    },
    "pm_high": 9.98,
    "pm_low": 9.935
  },
  {
    "symbol": "XERS",
    "total_score": 48.79,
    "raw_score": 51.72,
    "breakdown": {
      "price_quality": 3.68,
      "volume_quality": 11.91,
      "rvol": 0.48,
      "volume_acceleration": 3.52,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.74,
      "spread_liquidity": 4.62,
      "momentum_consistency": 2.18,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.675,
      "vwap": 8.6784,
      "vwap_slope": 0.0025,
      "rvol": 0.2,
      "volume_acceleration": 1.01,
      "premarket_volume": 99279.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.4,
      "distance_from_pm_high_pct": 0.34,
      "extension_from_vwap_pct": -0.04,
      "spread_pct": 0.12
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": true
    },
    "pm_high": 8.705,
    "pm_low": 8.65
  },
  {
    "symbol": "CARS",
    "total_score": 48.63,
    "raw_score": 51.54,
    "breakdown": {
      "price_quality": 2.88,
      "volume_quality": 4.43,
      "rvol": 0.18,
      "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.91,
      "spread_liquidity": 4.72,
      "momentum_consistency": 4.36,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.115,
      "vwap": 12.074,
      "vwap_slope": 0.0192,
      "rvol": 0.07,
      "volume_acceleration": 0.76,
      "premarket_volume": 36906.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.12,
      "distance_from_pm_high_pct": 0.12,
      "extension_from_vwap_pct": 0.34,
      "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.13,
    "pm_low": 11.98
  },
  {
    "symbol": "NU",
    "total_score": 48.6,
    "raw_score": 51.51,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 12.0,
      "volume_acceleration": 1.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.41,
      "spread_liquidity": 4.77,
      "momentum_consistency": 1.66,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.605,
      "vwap": 14.6636,
      "vwap_slope": -0.0112,
      "rvol": 14.03,
      "volume_acceleration": 1.18,
      "premarket_volume": 7016541.0,
      "momentum_pct": -0.07,
      "consolidation_tightness_pct": 0.21,
      "distance_from_pm_high_pct": 0.78,
      "extension_from_vwap_pct": -0.4,
      "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.72,
    "pm_low": 14.6
  },
  {
    "symbol": "ALHC",
    "total_score": 48.58,
    "raw_score": 51.49,
    "breakdown": {
      "price_quality": 1.77,
      "volume_quality": 12.0,
      "rvol": 1.51,
      "volume_acceleration": 3.47,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.49,
      "spread_liquidity": 4.75,
      "momentum_consistency": 2.9,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.23,
      "vwap": 13.2495,
      "vwap_slope": 0.0032,
      "rvol": 0.63,
      "volume_acceleration": 1.0,
      "premarket_volume": 315379.0,
      "momentum_pct": -0.11,
      "consolidation_tightness_pct": 0.19,
      "distance_from_pm_high_pct": 0.68,
      "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": 13.32,
    "pm_low": 13.155
  },
  {
    "symbol": "TTD",
    "total_score": 48.56,
    "raw_score": 51.47,
    "breakdown": {
      "price_quality": 1.83,
      "volume_quality": 12.0,
      "rvol": 6.54,
      "volume_acceleration": 5.83,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.55,
      "spread_liquidity": 4.75,
      "momentum_consistency": 2.58,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.17,
      "vwap": 13.2073,
      "vwap_slope": -0.0125,
      "rvol": 2.45,
      "volume_acceleration": 1.58,
      "premarket_volume": 1225876.0,
      "momentum_pct": -0.19,
      "consolidation_tightness_pct": 0.23,
      "distance_from_pm_high_pct": 0.6,
      "extension_from_vwap_pct": -0.28,
      "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.25,
    "pm_low": 13.16
  },
  {
    "symbol": "WNC",
    "total_score": 48.55,
    "raw_score": 51.46,
    "breakdown": {
      "price_quality": 2.88,
      "volume_quality": 5.24,
      "rvol": 0.21,
      "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.45,
      "spread_liquidity": 4.45,
      "momentum_consistency": 3.64,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.12,
      "vwap": 12.1401,
      "vwap_slope": 0.0055,
      "rvol": 0.09,
      "volume_acceleration": 2.1,
      "premarket_volume": 43632.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.49,
      "distance_from_pm_high_pct": 0.74,
      "extension_from_vwap_pct": -0.17,
      "spread_pct": 0.17
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": true
    },
    "pm_high": 12.21,
    "pm_low": 12.0802
  },
  {
    "symbol": "TKNO",
    "total_score": 48.55,
    "raw_score": 51.47,
    "breakdown": {
      "price_quality": 2.42,
      "volume_quality": 3.88,
      "rvol": 0.16,
      "volume_acceleration": 3.95,
      "price_momentum": 0.71,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 6,
      "spread_liquidity": 4.1,
      "momentum_consistency": 3.85,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.42,
      "vwap": 7.3811,
      "vwap_slope": 0.0111,
      "rvol": 0.06,
      "volume_acceleration": 1.14,
      "premarket_volume": 32315.0,
      "momentum_pct": 0.47,
      "consolidation_tightness_pct": 0.54,
      "distance_from_pm_high_pct": 0.0,
      "extension_from_vwap_pct": 0.53,
      "spread_pct": 0.27
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 7.42,
    "pm_low": 7.33
  },
  {
    "symbol": "RES",
    "total_score": 48.5,
    "raw_score": 51.41,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 11.49,
      "rvol": 0.46,
      "volume_acceleration": 3.39,
      "price_momentum": 0.26,
      "price_structure": 12,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.65,
      "spread_liquidity": 4.48,
      "momentum_consistency": 2.18,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.36,
      "vwap": 6.371,
      "vwap_slope": -0.0053,
      "rvol": 0.19,
      "volume_acceleration": 0.97,
      "premarket_volume": 95741.0,
      "momentum_pct": 0.18,
      "consolidation_tightness_pct": 0.31,
      "distance_from_pm_high_pct": 0.47,
      "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": true,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 6.39,
    "pm_low": 6.34
  },
  {
    "symbol": "CSHR",
    "total_score": 48.46,
    "raw_score": 51.37,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 4.09,
      "rvol": 0.16,
      "volume_acceleration": 7.25,
      "price_momentum": 0.52,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 6,
      "spread_liquidity": 3.28,
      "momentum_consistency": 2.17,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.83,
      "vwap": 5.8031,
      "vwap_slope": 0.0033,
      "rvol": 0.07,
      "volume_acceleration": 1.72,
      "premarket_volume": 34120.0,
      "momentum_pct": 0.34,
      "consolidation_tightness_pct": 0.52,
      "distance_from_pm_high_pct": 0.0,
      "extension_from_vwap_pct": 0.46,
      "spread_pct": 0.52
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 5.83,
    "pm_low": 5.78
  },
  {
    "symbol": "SGRY",
    "total_score": 48.4,
    "raw_score": 51.31,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 4.57,
      "volume_acceleration": 0.68,
      "price_momentum": 0.21,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.58,
      "spread_liquidity": 4.53,
      "momentum_consistency": 3.03,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.16,
      "vwap": 14.1518,
      "vwap_slope": -0.0001,
      "rvol": 1.71,
      "volume_acceleration": 0.2,
      "premarket_volume": 856148.0,
      "momentum_pct": 0.14,
      "consolidation_tightness_pct": 0.28,
      "distance_from_pm_high_pct": 0.56,
      "extension_from_vwap_pct": 0.06,
      "spread_pct": 0.14
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 14.24,
    "pm_low": 13.935
  },
  {
    "symbol": "CLBT",
    "total_score": 48.17,
    "raw_score": 51.06,
    "breakdown": {
      "price_quality": 3.69,
      "volume_quality": 12.0,
      "rvol": 0.87,
      "volume_acceleration": 8.87,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.77,
      "spread_liquidity": 4.71,
      "momentum_consistency": 2.76,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.31,
      "vwap": 11.3202,
      "vwap_slope": -0.0045,
      "rvol": 0.36,
      "volume_acceleration": 1.89,
      "premarket_volume": 181489.0,
      "momentum_pct": -0.13,
      "consolidation_tightness_pct": 0.22,
      "distance_from_pm_high_pct": 0.31,
      "extension_from_vwap_pct": -0.09,
      "spread_pct": 0.09
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 11.345,
    "pm_low": 11.3
  },
  {
    "symbol": "TASK",
    "total_score": 48.09,
    "raw_score": 50.97,
    "breakdown": {
      "price_quality": 2.81,
      "volume_quality": 6.27,
      "rvol": 0.25,
      "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.52,
      "spread_liquidity": 4.15,
      "momentum_consistency": 2.37,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.81,
      "vwap": 7.8207,
      "vwap_slope": 0.0005,
      "rvol": 0.1,
      "volume_acceleration": 6.43,
      "premarket_volume": 52266.0,
      "momentum_pct": -0.51,
      "consolidation_tightness_pct": 0.51,
      "distance_from_pm_high_pct": 0.64,
      "extension_from_vwap_pct": -0.14,
      "spread_pct": 0.26
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": true
    },
    "pm_high": 7.86,
    "pm_low": 7.785
  },
  {
    "symbol": "CGNT",
    "total_score": 48.04,
    "raw_score": 50.92,
    "breakdown": {
      "price_quality": 3.57,
      "volume_quality": 12.0,
      "rvol": 0.61,
      "volume_acceleration": 9.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.7,
      "spread_liquidity": 4.61,
      "momentum_consistency": 2.24,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.575,
      "vwap": 8.5848,
      "vwap_slope": -0.0039,
      "rvol": 0.26,
      "volume_acceleration": 1.98,
      "premarket_volume": 127747.0,
      "momentum_pct": -0.06,
      "consolidation_tightness_pct": 0.23,
      "distance_from_pm_high_pct": 0.41,
      "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.61,
    "pm_low": 8.57
  },
  {
    "symbol": "HLF",
    "total_score": 47.87,
    "raw_score": 50.74,
    "breakdown": {
      "price_quality": 2.39,
      "volume_quality": 12.0,
      "rvol": 0.49,
      "volume_acceleration": 2.69,
      "price_momentum": 0.12,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.94,
      "spread_liquidity": 4.74,
      "momentum_consistency": 3.17,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.605,
      "vwap": 12.5898,
      "vwap_slope": -0.0018,
      "rvol": 0.2,
      "volume_acceleration": 0.77,
      "premarket_volume": 101840.0,
      "momentum_pct": 0.08,
      "consolidation_tightness_pct": 0.36,
      "distance_from_pm_high_pct": 0.08,
      "extension_from_vwap_pct": 0.12,
      "spread_pct": 0.08
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 12.615,
    "pm_low": 12.565
  },
  {
    "symbol": "PD",
    "total_score": 47.82,
    "raw_score": 50.69,
    "breakdown": {
      "price_quality": 2.78,
      "volume_quality": 12.0,
      "rvol": 1.14,
      "volume_acceleration": 1.34,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.48,
      "spread_liquidity": 4.73,
      "momentum_consistency": 3.62,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.225,
      "vwap": 12.2465,
      "vwap_slope": 0.0035,
      "rvol": 0.48,
      "volume_acceleration": 0.39,
      "premarket_volume": 237691.0,
      "momentum_pct": -0.49,
      "consolidation_tightness_pct": 0.57,
      "distance_from_pm_high_pct": 0.69,
      "extension_from_vwap_pct": -0.18,
      "spread_pct": 0.08
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": true
    },
    "pm_high": 12.31,
    "pm_low": 12.17
  },
  {
    "symbol": "SWBI",
    "total_score": 47.8,
    "raw_score": 50.67,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 6.39,
      "rvol": 0.26,
      "volume_acceleration": 2.24,
      "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": 3.2,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.065,
      "vwap": 14.0411,
      "vwap_slope": 0.0067,
      "rvol": 0.11,
      "volume_acceleration": 1.22,
      "premarket_volume": 53214.0,
      "momentum_pct": -0.07,
      "consolidation_tightness_pct": 0.11,
      "distance_from_pm_high_pct": 0.11,
      "extension_from_vwap_pct": 0.17,
      "spread_pct": 0.07
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 14.08,
    "pm_low": 13.975
  },
  {
    "symbol": "TAL",
    "total_score": 47.75,
    "raw_score": 50.62,
    "breakdown": {
      "price_quality": 3.69,
      "volume_quality": 12.0,
      "rvol": 1.28,
      "volume_acceleration": 10,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.64,
      "spread_liquidity": 4.71,
      "momentum_consistency": 0.91,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.3101,
      "vwap": 11.3411,
      "vwap_slope": -0.0072,
      "rvol": 0.53,
      "volume_acceleration": 2.5,
      "premarket_volume": 266642.0,
      "momentum_pct": -0.22,
      "consolidation_tightness_pct": 0.35,
      "distance_from_pm_high_pct": 0.48,
      "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": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 11.365,
    "pm_low": 11.3
  },
  {
    "symbol": "CAL",
    "total_score": 47.65,
    "raw_score": 50.51,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 4.94,
      "rvol": 0.2,
      "volume_acceleration": 3.83,
      "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.78,
      "momentum_consistency": 4.0,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.665,
      "vwap": 13.6293,
      "vwap_slope": 0.0199,
      "rvol": 0.08,
      "volume_acceleration": 1.1,
      "premarket_volume": 41161.0,
      "momentum_pct": -0.11,
      "consolidation_tightness_pct": 0.18,
      "distance_from_pm_high_pct": 0.18,
      "extension_from_vwap_pct": 0.26,
      "spread_pct": 0.37
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 13.69,
    "pm_low": 13.53
  },
  {
    "symbol": "COUR",
    "total_score": 47.64,
    "raw_score": 50.5,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 2.07,
      "volume_acceleration": 10,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.37,
      "spread_liquidity": 4.45,
      "momentum_consistency": 2.71,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.035,
      "vwap": 6.0584,
      "vwap_slope": -0.0053,
      "rvol": 0.86,
      "volume_acceleration": 2.04,
      "premarket_volume": 431957.0,
      "momentum_pct": -0.25,
      "consolidation_tightness_pct": 0.25,
      "distance_from_pm_high_pct": 0.85,
      "extension_from_vwap_pct": -0.39,
      "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.0865,
    "pm_low": 6.025
  },
  {
    "symbol": "OWLT",
    "total_score": 47.61,
    "raw_score": 50.46,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 5.65,
      "rvol": 0.23,
      "volume_acceleration": 3.26,
      "price_momentum": 0.57,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.86,
      "spread_liquidity": 3.75,
      "momentum_consistency": 3.26,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.32,
      "vwap": 5.2822,
      "vwap_slope": 0.0028,
      "rvol": 0.09,
      "volume_acceleration": 0.94,
      "premarket_volume": 47074.0,
      "momentum_pct": 0.38,
      "consolidation_tightness_pct": 0.75,
      "distance_from_pm_high_pct": 0.19,
      "extension_from_vwap_pct": 0.71,
      "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": 5.33,
    "pm_low": 5.24
  },
  {
    "symbol": "LCID",
    "total_score": 47.54,
    "raw_score": 50.39,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 2.78,
      "volume_acceleration": 2.61,
      "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.4,
      "momentum_consistency": 1.9,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.545,
      "vwap": 5.5477,
      "vwap_slope": 0.0001,
      "rvol": 1.16,
      "volume_acceleration": 0.75,
      "premarket_volume": 579810.0,
      "momentum_pct": -0.18,
      "consolidation_tightness_pct": 0.36,
      "distance_from_pm_high_pct": 0.54,
      "extension_from_vwap_pct": -0.05,
      "spread_pct": 0.18
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": true
    },
    "pm_high": 5.575,
    "pm_low": 5.52
  },
  {
    "symbol": "LFST",
    "total_score": 47.54,
    "raw_score": 50.39,
    "breakdown": {
      "price_quality": 2.53,
      "volume_quality": 12.0,
      "rvol": 1.17,
      "volume_acceleration": 2.51,
      "price_momentum": 0.06,
      "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": 2.34,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.475,
      "vwap": 12.4734,
      "vwap_slope": -0.0019,
      "rvol": 0.49,
      "volume_acceleration": 1.25,
      "premarket_volume": 243752.0,
      "momentum_pct": 0.04,
      "consolidation_tightness_pct": 0.2,
      "distance_from_pm_high_pct": 0.2,
      "extension_from_vwap_pct": 0.01,
      "spread_pct": 0.08
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 12.5,
    "pm_low": 12.44
  },
  {
    "symbol": "SUJA",
    "total_score": 47.47,
    "raw_score": 50.32,
    "breakdown": {
      "price_quality": 2.85,
      "volume_quality": 12.0,
      "rvol": 1.82,
      "volume_acceleration": 10,
      "price_momentum": 1.12,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 3.33,
      "spread_liquidity": 3.28,
      "momentum_consistency": 3.52,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.85,
      "vwap": 7.9307,
      "vwap_slope": -0.0113,
      "rvol": 0.76,
      "volume_acceleration": 2.96,
      "premarket_volume": 378315.0,
      "momentum_pct": 0.75,
      "consolidation_tightness_pct": 1.13,
      "distance_from_pm_high_pct": 3.56,
      "extension_from_vwap_pct": -1.02,
      "spread_pct": 0.51
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 8.14,
    "pm_low": 7.79
  },
  {
    "symbol": "VYX",
    "total_score": 47.44,
    "raw_score": 50.29,
    "breakdown": {
      "price_quality": 2.88,
      "volume_quality": 12.0,
      "rvol": 1.15,
      "volume_acceleration": 10,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.25,
      "spread_liquidity": 4.58,
      "momentum_consistency": 2.03,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.885,
      "vwap": 7.9188,
      "vwap_slope": -0.0215,
      "rvol": 0.48,
      "volume_acceleration": 2.17,
      "premarket_volume": 238922.0,
      "momentum_pct": -0.13,
      "consolidation_tightness_pct": 0.32,
      "distance_from_pm_high_pct": 1.0,
      "extension_from_vwap_pct": -0.43,
      "spread_pct": 0.13
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 7.965,
    "pm_low": 7.855
  },
  {
    "symbol": "UPB",
    "total_score": 47.38,
    "raw_score": 50.22,
    "breakdown": {
      "price_quality": 1.95,
      "volume_quality": 6.09,
      "rvol": 0.24,
      "volume_acceleration": 2.81,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.73,
      "spread_liquidity": 4.52,
      "momentum_consistency": 2.48,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.945,
      "vwap": 6.9449,
      "vwap_slope": 0.0011,
      "rvol": 0.1,
      "volume_acceleration": 0.81,
      "premarket_volume": 50750.0,
      "momentum_pct": -0.19,
      "consolidation_tightness_pct": 0.29,
      "distance_from_pm_high_pct": 0.36,
      "extension_from_vwap_pct": 0.0,
      "spread_pct": 0.14
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 6.97,
    "pm_low": 6.92
  },
  {
    "symbol": "OEC",
    "total_score": 47.3,
    "raw_score": 50.14,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 7.05,
      "rvol": 0.28,
      "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.76,
      "spread_liquidity": 3.91,
      "momentum_consistency": 2.04,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.13,
      "vwap": 6.1332,
      "vwap_slope": 0.0045,
      "rvol": 0.12,
      "volume_acceleration": 2.2,
      "premarket_volume": 58740.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.41,
      "distance_from_pm_high_pct": 0.33,
      "extension_from_vwap_pct": -0.05,
      "spread_pct": 0.33
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": true
    },
    "pm_high": 6.15,
    "pm_low": 6.1
  },
  {
    "symbol": "PFSA",
    "total_score": 47.3,
    "raw_score": 50.14,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 5.06,
      "rvol": 0.2,
      "volume_acceleration": 2.71,
      "price_momentum": 2.32,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 7.87,
      "distance_from_pm_high": 4.5,
      "spread_liquidity": 1.28,
      "momentum_consistency": 3.9,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.43,
      "vwap": 5.4145,
      "vwap_slope": -0.0034,
      "rvol": 0.08,
      "volume_acceleration": 0.78,
      "premarket_volume": 42154.0,
      "momentum_pct": 1.55,
      "consolidation_tightness_pct": 3.19,
      "distance_from_pm_high_pct": 2.0,
      "extension_from_vwap_pct": 0.29,
      "spread_pct": 1.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": 5.541,
    "pm_low": 5.3472
  },
  {
    "symbol": "FLO",
    "total_score": 47.1,
    "raw_score": 49.92,
    "breakdown": {
      "price_quality": 2.05,
      "volume_quality": 12.0,
      "rvol": 6.28,
      "volume_acceleration": 5.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.15,
      "spread_liquidity": 4.53,
      "momentum_consistency": 1.9,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.055,
      "vwap": 7.08,
      "vwap_slope": -0.0004,
      "rvol": 2.35,
      "volume_acceleration": 1.56,
      "premarket_volume": 1177273.0,
      "momentum_pct": -0.21,
      "consolidation_tightness_pct": 0.56,
      "distance_from_pm_high_pct": 1.14,
      "extension_from_vwap_pct": -0.35,
      "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.1362,
    "pm_low": 7.045
  },
  {
    "symbol": "IE",
    "total_score": 47.1,
    "raw_score": 49.93,
    "breakdown": {
      "price_quality": 3.64,
      "volume_quality": 12.0,
      "rvol": 2.03,
      "volume_acceleration": 5.67,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.34,
      "spread_liquidity": 4.71,
      "momentum_consistency": 4.14,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.3592,
      "vwap": 11.3899,
      "vwap_slope": -0.0048,
      "rvol": 0.85,
      "volume_acceleration": 1.57,
      "premarket_volume": 423563.0,
      "momentum_pct": -0.18,
      "consolidation_tightness_pct": 0.66,
      "distance_from_pm_high_pct": 0.88,
      "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": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 11.46,
    "pm_low": 11.295
  },
  {
    "symbol": "PDYN",
    "total_score": 46.93,
    "raw_score": 49.75,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 5.3,
      "rvol": 0.21,
      "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.82,
      "spread_liquidity": 4.46,
      "momentum_consistency": 2.8,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.16,
      "vwap": 6.1541,
      "vwap_slope": 0.0032,
      "rvol": 0.09,
      "volume_acceleration": 0.94,
      "premarket_volume": 44157.0,
      "momentum_pct": -0.16,
      "consolidation_tightness_pct": 0.16,
      "distance_from_pm_high_pct": 0.24,
      "extension_from_vwap_pct": 0.1,
      "spread_pct": 0.16
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 6.175,
    "pm_low": 6.125
  },
  {
    "symbol": "DX",
    "total_score": 46.83,
    "raw_score": 49.64,
    "breakdown": {
      "price_quality": 2.0,
      "volume_quality": 12.0,
      "rvol": 1.69,
      "volume_acceleration": 10,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.71,
      "spread_liquidity": 4.74,
      "momentum_consistency": 1.08,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.0,
      "vwap": 13.0196,
      "vwap_slope": -0.002,
      "rvol": 0.71,
      "volume_acceleration": 2.05,
      "premarket_volume": 353074.0,
      "momentum_pct": -0.12,
      "consolidation_tightness_pct": 0.15,
      "distance_from_pm_high_pct": 0.38,
      "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.05,
    "pm_low": 13.0
  },
  {
    "symbol": "PAYO",
    "total_score": 46.73,
    "raw_score": 49.54,
    "breakdown": {
      "price_quality": 2.1,
      "volume_quality": 11.5,
      "rvol": 0.46,
      "volume_acceleration": 3.21,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.89,
      "spread_liquidity": 4.53,
      "momentum_consistency": 2.25,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.1,
      "vwap": 7.1028,
      "vwap_slope": 0.0,
      "rvol": 0.19,
      "volume_acceleration": 0.92,
      "premarket_volume": 95796.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.07,
      "distance_from_pm_high_pct": 0.14,
      "extension_from_vwap_pct": -0.04,
      "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.11,
    "pm_low": 7.1
  },
  {
    "symbol": "DC",
    "total_score": 46.72,
    "raw_score": 49.53,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 0.55,
      "volume_acceleration": 3.2,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.69,
      "spread_liquidity": 4.46,
      "momentum_consistency": 2.53,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.115,
      "vwap": 6.1192,
      "vwap_slope": 0.002,
      "rvol": 0.23,
      "volume_acceleration": 0.92,
      "premarket_volume": 113629.0,
      "momentum_pct": -0.33,
      "consolidation_tightness_pct": 0.41,
      "distance_from_pm_high_pct": 0.41,
      "extension_from_vwap_pct": -0.07,
      "spread_pct": 0.16
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": true
    },
    "pm_high": 6.14,
    "pm_low": 6.1
  },
  {
    "symbol": "STTK",
    "total_score": 46.6,
    "raw_score": 49.39,
    "breakdown": {
      "price_quality": 2.4,
      "volume_quality": 6.15,
      "rvol": 0.25,
      "volume_acceleration": 1.89,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.9,
      "spread_liquidity": 4.1,
      "momentum_consistency": 2.32,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.4,
      "vwap": 7.3439,
      "vwap_slope": 0.0107,
      "rvol": 0.1,
      "volume_acceleration": 0.54,
      "premarket_volume": 51240.0,
      "momentum_pct": -0.13,
      "consolidation_tightness_pct": 0.27,
      "distance_from_pm_high_pct": 0.13,
      "extension_from_vwap_pct": 0.76,
      "spread_pct": 0.27
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 7.41,
    "pm_low": 7.29
  },
  {
    "symbol": "ODD",
    "total_score": 46.55,
    "raw_score": 49.34,
    "breakdown": {
      "price_quality": 1.7,
      "volume_quality": 12.0,
      "rvol": 0.63,
      "volume_acceleration": 2.75,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.3,
      "spread_liquidity": 4.25,
      "momentum_consistency": 3.12,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.305,
      "vwap": 13.3071,
      "vwap_slope": 0.0174,
      "rvol": 0.26,
      "volume_acceleration": 0.79,
      "premarket_volume": 130854.0,
      "momentum_pct": -0.6,
      "consolidation_tightness_pct": 0.78,
      "distance_from_pm_high_pct": 0.93,
      "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": true
    },
    "pm_high": 13.43,
    "pm_low": 13.13
  },
  {
    "symbol": "NEWT",
    "total_score": 46.51,
    "raw_score": 49.3,
    "breakdown": {
      "price_quality": 2.5,
      "volume_quality": 4.79,
      "rvol": 0.19,
      "volume_acceleration": 2.36,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.88,
      "spread_liquidity": 4.47,
      "momentum_consistency": 2.72,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.5,
      "vwap": 12.4933,
      "vwap_slope": 0.0041,
      "rvol": 0.08,
      "volume_acceleration": 1.24,
      "premarket_volume": 39906.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.08,
      "distance_from_pm_high_pct": 0.16,
      "extension_from_vwap_pct": 0.05,
      "spread_pct": 0.16
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 12.52,
    "pm_low": 12.45
  },
  {
    "symbol": "OPFI",
    "total_score": 46.39,
    "raw_score": 49.17,
    "breakdown": {
      "price_quality": 2.04,
      "volume_quality": 12.0,
      "rvol": 0.69,
      "volume_acceleration": 10,
      "price_momentum": 0.11,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.37,
      "spread_liquidity": 4.53,
      "momentum_consistency": 2.04,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.04,
      "vwap": 7.0673,
      "vwap_slope": -0.0042,
      "rvol": 0.29,
      "volume_acceleration": 2.4,
      "premarket_volume": 143155.0,
      "momentum_pct": 0.07,
      "consolidation_tightness_pct": 0.28,
      "distance_from_pm_high_pct": 0.85,
      "extension_from_vwap_pct": -0.39,
      "spread_pct": 0.14
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 7.1,
    "pm_low": 7.03
  },
  {
    "symbol": "RMNI",
    "total_score": 46.26,
    "raw_score": 49.04,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 6.03,
      "rvol": 0.24,
      "volume_acceleration": 1.53,
      "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.36,
      "momentum_consistency": 3.12,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.24,
      "vwap": 5.224,
      "vwap_slope": 0.0062,
      "rvol": 0.1,
      "volume_acceleration": 1.15,
      "premarket_volume": 50244.0,
      "momentum_pct": -0.1,
      "consolidation_tightness_pct": 0.19,
      "distance_from_pm_high_pct": 0.19,
      "extension_from_vwap_pct": 0.31,
      "spread_pct": 0.19
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 5.25,
    "pm_low": 5.185
  },
  {
    "symbol": "STUB",
    "total_score": 46.25,
    "raw_score": 49.02,
    "breakdown": {
      "price_quality": 1.74,
      "volume_quality": 12.0,
      "rvol": 3.5,
      "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": 5.39,
      "spread_liquidity": 4.51,
      "momentum_consistency": 1.9,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.735,
      "vwap": 6.7537,
      "vwap_slope": -0.0028,
      "rvol": 1.46,
      "volume_acceleration": 1.76,
      "premarket_volume": 729667.0,
      "momentum_pct": -0.15,
      "consolidation_tightness_pct": 0.15,
      "distance_from_pm_high_pct": 0.81,
      "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": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 6.79,
    "pm_low": 6.715
  },
  {
    "symbol": "UTZ",
    "total_score": 46.16,
    "raw_score": 48.93,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 0.8,
      "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.95,
      "spread_liquidity": 4.76,
      "momentum_consistency": 1.52,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.13,
      "vwap": 14.1321,
      "vwap_slope": -0.0003,
      "rvol": 0.33,
      "volume_acceleration": 5.41,
      "premarket_volume": 167326.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.04,
      "distance_from_pm_high_pct": 0.07,
      "extension_from_vwap_pct": -0.01,
      "spread_pct": 0.07
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 14.14,
    "pm_low": 14.13
  },
  {
    "symbol": "NVA",
    "total_score": 46.11,
    "raw_score": 48.88,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 2.5,
      "rvol": 0.1,
      "volume_acceleration": 10,
      "price_momentum": 0.56,
      "price_structure": 12,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.45,
      "spread_liquidity": 4.38,
      "momentum_consistency": 2.4,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.37,
      "vwap": 5.3709,
      "vwap_slope": -0.0238,
      "rvol": 0.04,
      "volume_acceleration": 2.03,
      "premarket_volume": 20798.0,
      "momentum_pct": 0.37,
      "consolidation_tightness_pct": 0.56,
      "distance_from_pm_high_pct": 0.74,
      "extension_from_vwap_pct": -0.02,
      "spread_pct": 0.19
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 5.41,
    "pm_low": 5.34
  },
  {
    "symbol": "CERT",
    "total_score": 46.07,
    "raw_score": 48.83,
    "breakdown": {
      "price_quality": 3.43,
      "volume_quality": 12.0,
      "rvol": 0.76,
      "volume_acceleration": 8.14,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.43,
      "spread_liquidity": 4.6,
      "momentum_consistency": 2.07,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.425,
      "vwap": 8.4579,
      "vwap_slope": -0.0092,
      "rvol": 0.32,
      "volume_acceleration": 1.81,
      "premarket_volume": 159089.0,
      "momentum_pct": -0.24,
      "consolidation_tightness_pct": 0.3,
      "distance_from_pm_high_pct": 0.77,
      "extension_from_vwap_pct": -0.39,
      "spread_pct": 0.12
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 8.49,
    "pm_low": 8.42
  },
  {
    "symbol": "AURA",
    "total_score": 46.07,
    "raw_score": 48.83,
    "breakdown": {
      "price_quality": 2.71,
      "volume_quality": 4.84,
      "rvol": 0.19,
      "volume_acceleration": 1.8,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.85,
      "spread_liquidity": 4.57,
      "momentum_consistency": 2.46,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.715,
      "vwap": 7.7019,
      "vwap_slope": 0.0043,
      "rvol": 0.08,
      "volume_acceleration": 0.52,
      "premarket_volume": 40297.0,
      "momentum_pct": -0.13,
      "consolidation_tightness_pct": 0.13,
      "distance_from_pm_high_pct": 0.19,
      "extension_from_vwap_pct": 0.17,
      "spread_pct": 0.13
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 7.73,
    "pm_low": 7.65
  },
  {
    "symbol": "HAYW",
    "total_score": 46.06,
    "raw_score": 48.83,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 11.9,
      "rvol": 0.48,
      "volume_acceleration": 10,
      "price_momentum": 0.05,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.62,
      "spread_liquidity": 4.77,
      "momentum_consistency": 2.11,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.64,
      "vwap": 14.6801,
      "vwap_slope": -0.0185,
      "rvol": 0.2,
      "volume_acceleration": 2.02,
      "premarket_volume": 99147.0,
      "momentum_pct": 0.03,
      "consolidation_tightness_pct": 0.1,
      "distance_from_pm_high_pct": 0.51,
      "extension_from_vwap_pct": -0.27,
      "spread_pct": 0.07
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 14.715,
    "pm_low": 14.635
  },
  {
    "symbol": "QUIK",
    "total_score": 46.05,
    "raw_score": 48.81,
    "breakdown": {
      "price_quality": 3.49,
      "volume_quality": 2.43,
      "rvol": 0.1,
      "volume_acceleration": 3.24,
      "price_momentum": 0.33,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 6,
      "spread_liquidity": 3.26,
      "momentum_consistency": 3.56,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.505,
      "vwap": 11.4491,
      "vwap_slope": 0.0307,
      "rvol": 0.04,
      "volume_acceleration": 0.93,
      "premarket_volume": 20276.0,
      "momentum_pct": 0.22,
      "consolidation_tightness_pct": 0.39,
      "distance_from_pm_high_pct": 0.0,
      "extension_from_vwap_pct": 0.49,
      "spread_pct": 0.52
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 11.505,
    "pm_low": 11.33
  },
  {
    "symbol": "TBCH",
    "total_score": 46.04,
    "raw_score": 48.8,
    "breakdown": {
      "price_quality": 2.21,
      "volume_quality": 2.59,
      "rvol": 0.1,
      "volume_acceleration": 4.52,
      "price_momentum": 0.29,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.91,
      "spread_liquidity": 4.22,
      "momentum_consistency": 2.55,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.785,
      "vwap": 12.7351,
      "vwap_slope": 0.0374,
      "rvol": 0.04,
      "volume_acceleration": 1.45,
      "premarket_volume": 21605.0,
      "momentum_pct": 0.2,
      "consolidation_tightness_pct": 0.31,
      "distance_from_pm_high_pct": 0.12,
      "extension_from_vwap_pct": 0.39,
      "spread_pct": 0.23
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 12.8,
    "pm_low": 12.68
  },
  {
    "symbol": "EH",
    "total_score": 46.02,
    "raw_score": 48.78,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 4.83,
      "rvol": 0.19,
      "volume_acceleration": 3.24,
      "price_momentum": 0.27,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.87,
      "spread_liquidity": 3.81,
      "momentum_consistency": 2.67,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.6,
      "vwap": 5.5826,
      "vwap_slope": 0.0071,
      "rvol": 0.08,
      "volume_acceleration": 0.93,
      "premarket_volume": 40268.0,
      "momentum_pct": 0.18,
      "consolidation_tightness_pct": 0.54,
      "distance_from_pm_high_pct": 0.18,
      "extension_from_vwap_pct": 0.31,
      "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": 5.61,
    "pm_low": 5.54
  },
  {
    "symbol": "CWH",
    "total_score": 45.95,
    "raw_score": 48.71,
    "breakdown": {
      "price_quality": 1.58,
      "volume_quality": 12.0,
      "rvol": 1.04,
      "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.66,
      "spread_liquidity": 4.49,
      "momentum_consistency": 1.54,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.575,
      "vwap": 6.5757,
      "vwap_slope": -0.0003,
      "rvol": 0.43,
      "volume_acceleration": 2.02,
      "premarket_volume": 216174.0,
      "momentum_pct": -0.08,
      "consolidation_tightness_pct": 0.46,
      "distance_from_pm_high_pct": 0.45,
      "extension_from_vwap_pct": -0.01,
      "spread_pct": 0.15
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 6.605,
    "pm_low": 6.56
  },
  {
    "symbol": "RWAY",
    "total_score": 45.91,
    "raw_score": 48.66,
    "breakdown": {
      "price_quality": 1.66,
      "volume_quality": 5.31,
      "rvol": 0.21,
      "volume_acceleration": 2.28,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.94,
      "spread_liquidity": 4.5,
      "momentum_consistency": 2.36,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.655,
      "vwap": 6.6421,
      "vwap_slope": 0.0036,
      "rvol": 0.09,
      "volume_acceleration": 0.66,
      "premarket_volume": 44228.0,
      "momentum_pct": -0.08,
      "consolidation_tightness_pct": 0.08,
      "distance_from_pm_high_pct": 0.08,
      "extension_from_vwap_pct": 0.19,
      "spread_pct": 0.15
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 6.66,
    "pm_low": 6.63
  },
  {
    "symbol": "SBET",
    "total_score": 45.82,
    "raw_score": 48.57,
    "breakdown": {
      "price_quality": 2.84,
      "volume_quality": 12.0,
      "rvol": 5.73,
      "volume_acceleration": 2.61,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.01,
      "spread_liquidity": 4.58,
      "momentum_consistency": 3.39,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.845,
      "vwap": 7.856,
      "vwap_slope": -0.0004,
      "rvol": 2.15,
      "volume_acceleration": 1.26,
      "premarket_volume": 1075112.0,
      "momentum_pct": -0.19,
      "consolidation_tightness_pct": 0.49,
      "distance_from_pm_high_pct": 1.32,
      "extension_from_vwap_pct": -0.14,
      "spread_pct": 0.13
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 7.95,
    "pm_low": 7.82
  },
  {
    "symbol": "ARCO",
    "total_score": 45.82,
    "raw_score": 48.57,
    "breakdown": {
      "price_quality": 2.89,
      "volume_quality": 8.51,
      "rvol": 0.34,
      "volume_acceleration": 2.68,
      "price_momentum": 0.1,
      "price_structure": 12,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.76,
      "spread_liquidity": 4.58,
      "momentum_consistency": 1.71,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.89,
      "vwap": 7.9011,
      "vwap_slope": -0.0055,
      "rvol": 0.14,
      "volume_acceleration": 1.27,
      "premarket_volume": 70944.0,
      "momentum_pct": 0.06,
      "consolidation_tightness_pct": 0.13,
      "distance_from_pm_high_pct": 0.32,
      "extension_from_vwap_pct": -0.14,
      "spread_pct": 0.13
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 7.915,
    "pm_low": 7.885
  },
  {
    "symbol": "IBRX",
    "total_score": 45.75,
    "raw_score": 48.49,
    "breakdown": {
      "price_quality": 2.62,
      "volume_quality": 12.0,
      "rvol": 5.3,
      "volume_acceleration": 3.84,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 4.79,
      "spread_liquidity": 4.56,
      "momentum_consistency": 2.98,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.615,
      "vwap": 7.6692,
      "vwap_slope": -0.0012,
      "rvol": 1.99,
      "volume_acceleration": 1.1,
      "premarket_volume": 994557.0,
      "momentum_pct": -0.26,
      "consolidation_tightness_pct": 1.11,
      "distance_from_pm_high_pct": 1.61,
      "extension_from_vwap_pct": -0.71,
      "spread_pct": 0.13
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 7.74,
    "pm_low": 7.61
  },
  {
    "symbol": "WU",
    "total_score": 45.36,
    "raw_score": 48.08,
    "breakdown": {
      "price_quality": 2.29,
      "volume_quality": 12.0,
      "rvol": 2.62,
      "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.24,
      "spread_liquidity": 4.54,
      "momentum_consistency": 1.08,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.285,
      "vwap": 7.3245,
      "vwap_slope": -0.0083,
      "rvol": 1.09,
      "volume_acceleration": 1.79,
      "premarket_volume": 545463.0,
      "momentum_pct": -0.21,
      "consolidation_tightness_pct": 0.41,
      "distance_from_pm_high_pct": 1.02,
      "extension_from_vwap_pct": -0.54,
      "spread_pct": 0.14
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 7.36,
    "pm_low": 7.28
  },
  {
    "symbol": "USDE",
    "total_score": 45.3,
    "raw_score": 48.02,
    "breakdown": {
      "price_quality": 2.81,
      "volume_quality": 12.0,
      "rvol": 12.0,
      "volume_acceleration": 1.02,
      "price_momentum": 0.39,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 7.6,
      "distance_from_pm_high": 0,
      "spread_liquidity": 4.14,
      "momentum_consistency": 3.66,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.81,
      "vwap": 8.0732,
      "vwap_slope": -0.0258,
      "rvol": 29.5,
      "volume_acceleration": 0.29,
      "premarket_volume": 14750660.0,
      "momentum_pct": 0.26,
      "consolidation_tightness_pct": 3.6,
      "distance_from_pm_high_pct": 11.15,
      "extension_from_vwap_pct": -3.26,
      "spread_pct": 0.26
    },
    "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.79,
    "pm_low": 7.34
  },
  {
    "symbol": "CION",
    "total_score": 45.29,
    "raw_score": 48.0,
    "breakdown": {
      "price_quality": 2.29,
      "volume_quality": 5.42,
      "rvol": 0.22,
      "volume_acceleration": 1.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.54,
      "momentum_consistency": 1.93,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.295,
      "vwap": 7.2776,
      "vwap_slope": 0.0021,
      "rvol": 0.09,
      "volume_acceleration": 0.36,
      "premarket_volume": 45172.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.21,
      "distance_from_pm_high_pct": 0.07,
      "extension_from_vwap_pct": 0.24,
      "spread_pct": 0.14
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 7.3,
    "pm_low": 7.265
  },
  {
    "symbol": "IHS",
    "total_score": 45.24,
    "raw_score": 47.95,
    "breakdown": {
      "price_quality": 3.36,
      "volume_quality": 12.0,
      "rvol": 1.44,
      "volume_acceleration": 0.12,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 6,
      "spread_liquidity": 4.6,
      "momentum_consistency": 1.23,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.36,
      "vwap": 8.3599,
      "vwap_slope": -0.0,
      "rvol": 0.6,
      "volume_acceleration": 0.03,
      "premarket_volume": 300788.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.06,
      "distance_from_pm_high_pct": 0.0,
      "extension_from_vwap_pct": 0.0,
      "spread_pct": 0.12
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 8.36,
    "pm_low": 8.355
  },
  {
    "symbol": "ACVA",
    "total_score": 45.16,
    "raw_score": 47.87,
    "breakdown": {
      "price_quality": 2.41,
      "volume_quality": 12.0,
      "rvol": 1.42,
      "volume_acceleration": 6.48,
      "price_momentum": 0.1,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.7,
      "spread_liquidity": 4.55,
      "momentum_consistency": 2.81,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.41,
      "vwap": 7.4165,
      "vwap_slope": -0.0042,
      "rvol": 0.59,
      "volume_acceleration": 1.65,
      "premarket_volume": 296509.0,
      "momentum_pct": 0.07,
      "consolidation_tightness_pct": 0.4,
      "distance_from_pm_high_pct": 0.4,
      "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.44,
    "pm_low": 7.4
  },
  {
    "symbol": "BBCP",
    "total_score": 45.08,
    "raw_score": 47.78,
    "breakdown": {
      "price_quality": 4.25,
      "volume_quality": 3.01,
      "rvol": 0.12,
      "volume_acceleration": 1.54,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.8,
      "spread_liquidity": 3.56,
      "momentum_consistency": 3.11,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.25,
      "vwap": 9.2406,
      "vwap_slope": 0.0087,
      "rvol": 0.05,
      "volume_acceleration": 0.44,
      "premarket_volume": 25050.0,
      "momentum_pct": -0.11,
      "consolidation_tightness_pct": 0.22,
      "distance_from_pm_high_pct": 0.27,
      "extension_from_vwap_pct": 0.1,
      "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": true,
      "vwap_rising": true
    },
    "pm_high": 9.275,
    "pm_low": 9.21
  },
  {
    "symbol": "SG",
    "total_score": 45.07,
    "raw_score": 47.78,
    "breakdown": {
      "price_quality": 1.83,
      "volume_quality": 12.0,
      "rvol": 4.85,
      "volume_acceleration": 3.43,
      "price_momentum": 0.44,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.19,
      "spread_liquidity": 4.51,
      "momentum_consistency": 3.12,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.835,
      "vwap": 6.8379,
      "vwap_slope": -0.0022,
      "rvol": 1.82,
      "volume_acceleration": 0.99,
      "premarket_volume": 910226.0,
      "momentum_pct": 0.29,
      "consolidation_tightness_pct": 0.37,
      "distance_from_pm_high_pct": 1.09,
      "extension_from_vwap_pct": -0.04,
      "spread_pct": 0.15
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 6.91,
    "pm_low": 6.79
  },
  {
    "symbol": "NMAX",
    "total_score": 45.06,
    "raw_score": 47.77,
    "breakdown": {
      "price_quality": 4.07,
      "volume_quality": 6.93,
      "rvol": 0.28,
      "volume_acceleration": 3.7,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.52,
      "spread_liquidity": 4.39,
      "momentum_consistency": 3.27,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.93,
      "vwap": 10.9458,
      "vwap_slope": 0.0002,
      "rvol": 0.12,
      "volume_acceleration": 1.37,
      "premarket_volume": 57785.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.18,
      "distance_from_pm_high_pct": 0.64,
      "extension_from_vwap_pct": -0.14,
      "spread_pct": 0.18
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": true
    },
    "pm_high": 11.0,
    "pm_low": 10.9
  },
  {
    "symbol": "NEOG",
    "total_score": 44.93,
    "raw_score": 47.63,
    "breakdown": {
      "price_quality": 3.16,
      "volume_quality": 7.39,
      "rvol": 0.3,
      "volume_acceleration": 3.98,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.81,
      "spread_liquidity": 4.72,
      "momentum_consistency": 2.67,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.835,
      "vwap": 11.8474,
      "vwap_slope": 0.0021,
      "rvol": 0.12,
      "volume_acceleration": 1.4,
      "premarket_volume": 61592.0,
      "momentum_pct": -0.13,
      "consolidation_tightness_pct": 0.25,
      "distance_from_pm_high_pct": 0.25,
      "extension_from_vwap_pct": -0.1,
      "spread_pct": 0.08
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": true
    },
    "pm_high": 11.865,
    "pm_low": 11.825
  },
  {
    "symbol": "HLMN",
    "total_score": 44.78,
    "raw_score": 47.47,
    "breakdown": {
      "price_quality": 3.38,
      "volume_quality": 9.49,
      "rvol": 0.38,
      "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.78,
      "spread_liquidity": 4.6,
      "momentum_consistency": 1.43,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.385,
      "vwap": 8.3872,
      "vwap_slope": -0.0008,
      "rvol": 0.16,
      "volume_acceleration": 2.52,
      "premarket_volume": 79115.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.06,
      "distance_from_pm_high_pct": 0.3,
      "extension_from_vwap_pct": -0.03,
      "spread_pct": 0.12
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 8.41,
    "pm_low": 8.37
  },
  {
    "symbol": "FRMI",
    "total_score": 44.67,
    "raw_score": 47.35,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 5.32,
      "volume_acceleration": 3.49,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.62,
      "spread_liquidity": 4.44,
      "momentum_consistency": 2.58,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.945,
      "vwap": 5.9518,
      "vwap_slope": -0.0006,
      "rvol": 2.0,
      "volume_acceleration": 1.0,
      "premarket_volume": 997725.0,
      "momentum_pct": -0.08,
      "consolidation_tightness_pct": 0.31,
      "distance_from_pm_high_pct": 0.5,
      "extension_from_vwap_pct": -0.11,
      "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.975,
    "pm_low": 5.925
  },
  {
    "symbol": "OGN",
    "total_score": 44.63,
    "raw_score": 47.3,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 10.44,
      "rvol": 0.42,
      "volume_acceleration": 2.65,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.97,
      "spread_liquidity": 4.76,
      "momentum_consistency": 1.96,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.735,
      "vwap": 13.7362,
      "vwap_slope": 0.0,
      "rvol": 0.17,
      "volume_acceleration": 1.27,
      "premarket_volume": 87007.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": 13.74,
    "pm_low": 13.73
  },
  {
    "symbol": "CRSR",
    "total_score": 44.39,
    "raw_score": 47.05,
    "breakdown": {
      "price_quality": 3.98,
      "volume_quality": 11.28,
      "rvol": 0.45,
      "volume_acceleration": 6.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.86,
      "spread_liquidity": 4.4,
      "momentum_consistency": 1.69,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.02,
      "vwap": 11.0242,
      "vwap_slope": -0.0007,
      "rvol": 0.19,
      "volume_acceleration": 1.7,
      "premarket_volume": 94010.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.18,
      "distance_from_pm_high_pct": 0.18,
      "extension_from_vwap_pct": -0.04,
      "spread_pct": 0.18
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 11.04,
    "pm_low": 11.01
  },
  {
    "symbol": "TXO",
    "total_score": 44.32,
    "raw_score": 46.98,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 3.25,
      "rvol": 0.13,
      "volume_acceleration": 10,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.81,
      "spread_liquidity": 3.82,
      "momentum_consistency": 2.86,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.15,
      "vwap": 14.1564,
      "vwap_slope": 0.023,
      "rvol": 0.05,
      "volume_acceleration": 4.87,
      "premarket_volume": 27113.0,
      "momentum_pct": -0.07,
      "consolidation_tightness_pct": 0.32,
      "distance_from_pm_high_pct": 0.25,
      "extension_from_vwap_pct": -0.04,
      "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": true
    },
    "pm_high": 14.185,
    "pm_low": 14.1152
  },
  {
    "symbol": "MBC",
    "total_score": 44.26,
    "raw_score": 46.92,
    "breakdown": {
      "price_quality": 4.11,
      "volume_quality": 12.0,
      "rvol": 0.48,
      "volume_acceleration": 5.21,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.71,
      "spread_liquidity": 4.63,
      "momentum_consistency": 2.37,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.11,
      "vwap": 9.1257,
      "vwap_slope": -0.0034,
      "rvol": 0.2,
      "volume_acceleration": 1.52,
      "premarket_volume": 100450.0,
      "momentum_pct": -0.11,
      "consolidation_tightness_pct": 0.27,
      "distance_from_pm_high_pct": 0.38,
      "extension_from_vwap_pct": -0.17,
      "spread_pct": 0.11
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 9.145,
    "pm_low": 9.11
  },
  {
    "symbol": "CRCT",
    "total_score": 44.16,
    "raw_score": 46.81,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 10.49,
      "rvol": 0.42,
      "volume_acceleration": 2.55,
      "price_momentum": 0.14,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.76,
      "spread_liquidity": 4.4,
      "momentum_consistency": 2.35,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.515,
      "vwap": 5.5107,
      "vwap_slope": -0.0001,
      "rvol": 0.17,
      "volume_acceleration": 1.26,
      "premarket_volume": 87412.0,
      "momentum_pct": 0.09,
      "consolidation_tightness_pct": 0.09,
      "distance_from_pm_high_pct": 0.32,
      "extension_from_vwap_pct": 0.08,
      "spread_pct": 0.18
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 5.5325,
    "pm_low": 5.475
  },
  {
    "symbol": "DFH",
    "total_score": 44.1,
    "raw_score": 46.75,
    "breakdown": {
      "price_quality": 0.0,
      "volume_quality": 3.41,
      "rvol": 0.14,
      "volume_acceleration": 2.01,
      "price_momentum": 0.52,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.96,
      "spread_liquidity": 4.11,
      "momentum_consistency": 4.19,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 15.0725,
      "vwap": 15.0132,
      "vwap_slope": 0.0199,
      "rvol": 0.06,
      "volume_acceleration": 0.58,
      "premarket_volume": 28454.0,
      "momentum_pct": 0.35,
      "consolidation_tightness_pct": 0.47,
      "distance_from_pm_high_pct": 0.05,
      "extension_from_vwap_pct": 0.4,
      "spread_pct": 0.27
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 15.08,
    "pm_low": 14.955
  },
  {
    "symbol": "DXC",
    "total_score": 44.01,
    "raw_score": 46.66,
    "breakdown": {
      "price_quality": 4.24,
      "volume_quality": 12.0,
      "rvol": 0.79,
      "volume_acceleration": 4.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.79,
      "spread_liquidity": 4.69,
      "momentum_consistency": 1.96,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.755,
      "vwap": 10.7601,
      "vwap_slope": -0.0005,
      "rvol": 0.33,
      "volume_acceleration": 1.48,
      "premarket_volume": 163670.0,
      "momentum_pct": -0.09,
      "consolidation_tightness_pct": 0.14,
      "distance_from_pm_high_pct": 0.28,
      "extension_from_vwap_pct": -0.05,
      "spread_pct": 0.09
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 10.785,
    "pm_low": 10.725
  },
  {
    "symbol": "EVMN",
    "total_score": 43.85,
    "raw_score": 46.48,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 3.07,
      "rvol": 0.12,
      "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.38,
      "spread_liquidity": 3.56,
      "momentum_consistency": 3.25,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.88,
      "vwap": 13.9248,
      "vwap_slope": 0.0199,
      "rvol": 0.05,
      "volume_acceleration": 2.69,
      "premarket_volume": 25562.0,
      "momentum_pct": -0.07,
      "consolidation_tightness_pct": 0.79,
      "distance_from_pm_high_pct": 0.82,
      "extension_from_vwap_pct": -0.32,
      "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": 13.995,
    "pm_low": 13.83
  },
  {
    "symbol": "OCC",
    "total_score": 43.73,
    "raw_score": 46.35,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 4.82,
      "rvol": 0.19,
      "volume_acceleration": 1.02,
      "price_momentum": 1.09,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 4.88,
      "spread_liquidity": 2.59,
      "momentum_consistency": 3.86,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.88,
      "vwap": 13.8126,
      "vwap_slope": 0.0014,
      "rvol": 0.08,
      "volume_acceleration": 0.29,
      "premarket_volume": 40139.0,
      "momentum_pct": 0.72,
      "consolidation_tightness_pct": 0.86,
      "distance_from_pm_high_pct": 1.49,
      "extension_from_vwap_pct": 0.49,
      "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": 14.09,
    "pm_low": 13.71
  },
  {
    "symbol": "GSIT",
    "total_score": 43.68,
    "raw_score": 46.3,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 3.03,
      "rvol": 0.12,
      "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.75,
      "spread_liquidity": 4.44,
      "momentum_consistency": 3.0,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.99,
      "vwap": 5.9857,
      "vwap_slope": 0.0003,
      "rvol": 0.05,
      "volume_acceleration": 0.59,
      "premarket_volume": 25209.0,
      "momentum_pct": -0.08,
      "consolidation_tightness_pct": 0.17,
      "distance_from_pm_high_pct": 0.33,
      "extension_from_vwap_pct": 0.07,
      "spread_pct": 0.17
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 6.01,
    "pm_low": 5.96
  },
  {
    "symbol": "HELP",
    "total_score": 43.6,
    "raw_score": 46.21,
    "breakdown": {
      "price_quality": 2.4,
      "volume_quality": 11.81,
      "rvol": 0.47,
      "volume_acceleration": 6.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.32,
      "spread_liquidity": 3.94,
      "momentum_consistency": 2.94,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.595,
      "vwap": 12.6653,
      "vwap_slope": -0.0132,
      "rvol": 0.2,
      "volume_acceleration": 1.69,
      "premarket_volume": 98381.0,
      "momentum_pct": -0.43,
      "consolidation_tightness_pct": 0.51,
      "distance_from_pm_high_pct": 0.9,
      "extension_from_vwap_pct": -0.55,
      "spread_pct": 0.32
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 12.71,
    "pm_low": 12.59
  },
  {
    "symbol": "SSTI",
    "total_score": 43.59,
    "raw_score": 46.21,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 3.48,
      "rvol": 0.14,
      "volume_acceleration": 2.53,
      "price_momentum": 0.25,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.88,
      "spread_liquidity": 3.36,
      "momentum_consistency": 2.67,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.11,
      "vwap": 6.0725,
      "vwap_slope": 0.0128,
      "rvol": 0.06,
      "volume_acceleration": 1.25,
      "premarket_volume": 29031.0,
      "momentum_pct": 0.16,
      "consolidation_tightness_pct": 0.66,
      "distance_from_pm_high_pct": 0.16,
      "extension_from_vwap_pct": 0.62,
      "spread_pct": 0.49
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 6.12,
    "pm_low": 6.0255
  },
  {
    "symbol": "VFC",
    "total_score": 43.57,
    "raw_score": 46.18,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 3.47,
      "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.66,
      "spread_liquidity": 4.77,
      "momentum_consistency": 2.03,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.43,
      "vwap": 14.4577,
      "vwap_slope": -0.0117,
      "rvol": 1.45,
      "volume_acceleration": 1.43,
      "premarket_volume": 722890.0,
      "momentum_pct": -0.03,
      "consolidation_tightness_pct": 0.14,
      "distance_from_pm_high_pct": 0.45,
      "extension_from_vwap_pct": -0.19,
      "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.495,
    "pm_low": 14.4
  },
  {
    "symbol": "QDEL",
    "total_score": 43.57,
    "raw_score": 46.19,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 0.97,
      "volume_acceleration": 6.34,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.54,
      "spread_liquidity": 4.32,
      "momentum_consistency": 3.12,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.685,
      "vwap": 14.7148,
      "vwap_slope": -0.0017,
      "rvol": 0.4,
      "volume_acceleration": 1.63,
      "premarket_volume": 201112.0,
      "momentum_pct": -0.17,
      "consolidation_tightness_pct": 0.37,
      "distance_from_pm_high_pct": 0.61,
      "extension_from_vwap_pct": -0.2,
      "spread_pct": 0.2
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 14.775,
    "pm_low": 14.65
  },
  {
    "symbol": "AEG",
    "total_score": 43.47,
    "raw_score": 46.08,
    "breakdown": {
      "price_quality": 3.99,
      "volume_quality": 7.84,
      "rvol": 0.31,
      "volume_acceleration": 3.13,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.96,
      "spread_liquidity": 4.63,
      "momentum_consistency": 0.62,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.995,
      "vwap": 8.9951,
      "vwap_slope": 0.0,
      "rvol": 0.13,
      "volume_acceleration": 0.9,
      "premarket_volume": 65323.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.1,
      "distance_from_pm_high_pct": 0.05,
      "extension_from_vwap_pct": -0.0,
      "spread_pct": 0.11
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": true
    },
    "pm_high": 8.9999,
    "pm_low": 8.99
  },
  {
    "symbol": "STDN",
    "total_score": 43.36,
    "raw_score": 45.96,
    "breakdown": {
      "price_quality": 1.92,
      "volume_quality": 7.65,
      "rvol": 0.31,
      "volume_acceleration": 6.5,
      "price_momentum": 0.16,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.68,
      "spread_liquidity": 1.93,
      "momentum_consistency": 2.62,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.0841,
      "vwap": 13.0701,
      "vwap_slope": -0.0139,
      "rvol": 0.13,
      "volume_acceleration": 1.65,
      "premarket_volume": 63773.0,
      "momentum_pct": 0.11,
      "consolidation_tightness_pct": 0.88,
      "distance_from_pm_high_pct": 0.43,
      "extension_from_vwap_pct": 0.11,
      "spread_pct": 0.92
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 13.14,
    "pm_low": 12.955
  },
  {
    "symbol": "ECVT",
    "total_score": 43.05,
    "raw_score": 45.63,
    "breakdown": {
      "price_quality": 4.64,
      "volume_quality": 12.0,
      "rvol": 0.53,
      "volume_acceleration": 4.0,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.53,
      "spread_liquidity": 4.68,
      "momentum_consistency": 1.85,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.36,
      "vwap": 10.3807,
      "vwap_slope": -0.0128,
      "rvol": 0.22,
      "volume_acceleration": 1.4,
      "premarket_volume": 111121.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.24,
      "distance_from_pm_high_pct": 0.62,
      "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": false
    },
    "pm_high": 10.425,
    "pm_low": 10.34
  },
  {
    "symbol": "UUUU",
    "total_score": 43.03,
    "raw_score": 45.62,
    "breakdown": {
      "price_quality": 0.0,
      "volume_quality": 12.0,
      "rvol": 4.3,
      "volume_acceleration": 3.17,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.44,
      "spread_liquidity": 4.78,
      "momentum_consistency": 3.53,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 15.175,
      "vwap": 15.1948,
      "vwap_slope": -0.0027,
      "rvol": 1.61,
      "volume_acceleration": 1.32,
      "premarket_volume": 806877.0,
      "momentum_pct": -0.13,
      "consolidation_tightness_pct": 0.33,
      "distance_from_pm_high_pct": 0.75,
      "extension_from_vwap_pct": -0.13,
      "spread_pct": 0.07
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 15.29,
    "pm_low": 15.13
  },
  {
    "symbol": "KLAR",
    "total_score": 43.0,
    "raw_score": 45.58,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 3.1,
      "volume_acceleration": 3.28,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.56,
      "spread_liquidity": 4.77,
      "momentum_consistency": 2.98,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.32,
      "vwap": 14.3719,
      "vwap_slope": -0.0053,
      "rvol": 1.29,
      "volume_acceleration": 0.94,
      "premarket_volume": 645643.0,
      "momentum_pct": -0.31,
      "consolidation_tightness_pct": 0.38,
      "distance_from_pm_high_pct": 0.59,
      "extension_from_vwap_pct": -0.36,
      "spread_pct": 0.07
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 14.4052,
    "pm_low": 14.32
  },
  {
    "symbol": "UAA",
    "total_score": 42.92,
    "raw_score": 45.5,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 3.4,
      "volume_acceleration": 3.59,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.79,
      "spread_liquidity": 4.37,
      "momentum_consistency": 2.44,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.315,
      "vwap": 5.3166,
      "vwap_slope": -0.0008,
      "rvol": 1.42,
      "volume_acceleration": 1.36,
      "premarket_volume": 708830.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.19,
      "distance_from_pm_high_pct": 0.28,
      "extension_from_vwap_pct": -0.03,
      "spread_pct": 0.19
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 5.33,
    "pm_low": 5.305
  },
  {
    "symbol": "FRSH",
    "total_score": 42.91,
    "raw_score": 45.49,
    "breakdown": {
      "price_quality": 2.06,
      "volume_quality": 12.0,
      "rvol": 1.44,
      "volume_acceleration": 4.42,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.71,
      "spread_liquidity": 4.74,
      "momentum_consistency": 2.71,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.94,
      "vwap": 12.9579,
      "vwap_slope": -0.0015,
      "rvol": 0.6,
      "volume_acceleration": 1.44,
      "premarket_volume": 300092.0,
      "momentum_pct": -0.19,
      "consolidation_tightness_pct": 0.19,
      "distance_from_pm_high_pct": 0.38,
      "extension_from_vwap_pct": -0.14,
      "spread_pct": 0.08
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 12.99,
    "pm_low": 12.925
  },
  {
    "symbol": "TU",
    "total_score": 42.81,
    "raw_score": 45.38,
    "breakdown": {
      "price_quality": 4.97,
      "volume_quality": 12.0,
      "rvol": 1.9,
      "volume_acceleration": 2.06,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.66,
      "spread_liquidity": 4.67,
      "momentum_consistency": 1.71,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.975,
      "vwap": 9.999,
      "vwap_slope": -0.0081,
      "rvol": 0.79,
      "volume_acceleration": 1.21,
      "premarket_volume": 396820.0,
      "momentum_pct": -0.05,
      "consolidation_tightness_pct": 0.15,
      "distance_from_pm_high_pct": 0.45,
      "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.02,
    "pm_low": 9.97
  },
  {
    "symbol": "CTOS",
    "total_score": 42.79,
    "raw_score": 45.36,
    "breakdown": {
      "price_quality": 4.78,
      "volume_quality": 5.49,
      "rvol": 0.22,
      "volume_acceleration": 3.19,
      "price_momentum": 0.15,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.66,
      "spread_liquidity": 4.66,
      "momentum_consistency": 2.0,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.78,
      "vwap": 9.776,
      "vwap_slope": -0.0102,
      "rvol": 0.09,
      "volume_acceleration": 0.92,
      "premarket_volume": 45784.0,
      "momentum_pct": 0.1,
      "consolidation_tightness_pct": 0.41,
      "distance_from_pm_high_pct": 0.46,
      "extension_from_vwap_pct": 0.04,
      "spread_pct": 0.1
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 9.825,
    "pm_low": 9.7322
  },
  {
    "symbol": "HUN",
    "total_score": 42.73,
    "raw_score": 45.29,
    "breakdown": {
      "price_quality": 4.97,
      "volume_quality": 12.0,
      "rvol": 0.91,
      "volume_acceleration": 3.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.26,
      "spread_liquidity": 4.67,
      "momentum_consistency": 1.9,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.025,
      "vwap": 10.051,
      "vwap_slope": -0.0067,
      "rvol": 0.38,
      "volume_acceleration": 1.32,
      "premarket_volume": 189869.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.3,
      "distance_from_pm_high_pct": 0.99,
      "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.125,
    "pm_low": 10.01
  },
  {
    "symbol": "FUBO",
    "total_score": 42.62,
    "raw_score": 45.18,
    "breakdown": {
      "price_quality": 4.79,
      "volume_quality": 12.0,
      "rvol": 0.56,
      "volume_acceleration": 3.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.02,
      "spread_liquidity": 4.02,
      "momentum_consistency": 2.82,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.205,
      "vwap": 10.2635,
      "vwap_slope": -0.0109,
      "rvol": 0.23,
      "volume_acceleration": 1.02,
      "premarket_volume": 116670.0,
      "momentum_pct": -0.2,
      "consolidation_tightness_pct": 0.59,
      "distance_from_pm_high_pct": 1.31,
      "extension_from_vwap_pct": -0.57,
      "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.34,
    "pm_low": 10.18
  },
  {
    "symbol": "SMWB",
    "total_score": 42.59,
    "raw_score": 45.15,
    "breakdown": {
      "price_quality": 3.11,
      "volume_quality": 6.2,
      "rvol": 0.25,
      "volume_acceleration": 2.0,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.53,
      "spread_liquidity": 4.59,
      "momentum_consistency": 3.88,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.11,
      "vwap": 8.1162,
      "vwap_slope": 0.004,
      "rvol": 0.1,
      "volume_acceleration": 0.57,
      "premarket_volume": 51632.0,
      "momentum_pct": -0.49,
      "consolidation_tightness_pct": 0.49,
      "distance_from_pm_high_pct": 0.62,
      "extension_from_vwap_pct": -0.08,
      "spread_pct": 0.12
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": true
    },
    "pm_high": 8.161,
    "pm_low": 8.03
  },
  {
    "symbol": "HTLD",
    "total_score": 42.57,
    "raw_score": 45.13,
    "breakdown": {
      "price_quality": 2.22,
      "volume_quality": 5.9,
      "rvol": 0.24,
      "volume_acceleration": 1.86,
      "price_momentum": 0.29,
      "price_structure": 12,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.39,
      "spread_liquidity": 4.48,
      "momentum_consistency": 2.74,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.775,
      "vwap": 12.8205,
      "vwap_slope": -0.0217,
      "rvol": 0.1,
      "volume_acceleration": 1.19,
      "premarket_volume": 49154.0,
      "momentum_pct": 0.2,
      "consolidation_tightness_pct": 0.31,
      "distance_from_pm_high_pct": 0.82,
      "extension_from_vwap_pct": -0.35,
      "spread_pct": 0.16
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 12.88,
    "pm_low": 12.74
  },
  {
    "symbol": "APPS",
    "total_score": 42.54,
    "raw_score": 45.09,
    "breakdown": {
      "price_quality": 4.15,
      "volume_quality": 12.0,
      "rvol": 0.79,
      "volume_acceleration": 2.86,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.35,
      "spread_liquidity": 4.69,
      "momentum_consistency": 2.85,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.845,
      "vwap": 10.888,
      "vwap_slope": -0.0048,
      "rvol": 0.33,
      "volume_acceleration": 0.82,
      "premarket_volume": 164494.0,
      "momentum_pct": -0.18,
      "consolidation_tightness_pct": 0.37,
      "distance_from_pm_high_pct": 0.87,
      "extension_from_vwap_pct": -0.4,
      "spread_pct": 0.09
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 10.94,
    "pm_low": 10.845
  },
  {
    "symbol": "TIC",
    "total_score": 42.47,
    "raw_score": 45.02,
    "breakdown": {
      "price_quality": 4.59,
      "volume_quality": 12.0,
      "rvol": 0.93,
      "volume_acceleration": 3.34,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.15,
      "spread_liquidity": 4.3,
      "momentum_consistency": 2.31,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.59,
      "vwap": 9.6261,
      "vwap_slope": -0.0081,
      "rvol": 0.39,
      "volume_acceleration": 0.96,
      "premarket_volume": 194440.0,
      "momentum_pct": -0.05,
      "consolidation_tightness_pct": 0.21,
      "distance_from_pm_high_pct": 1.13,
      "extension_from_vwap_pct": -0.37,
      "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.7,
    "pm_low": 9.575
  },
  {
    "symbol": "HLIT",
    "total_score": 42.4,
    "raw_score": 44.94,
    "breakdown": {
      "price_quality": 2.52,
      "volume_quality": 12.0,
      "rvol": 0.55,
      "volume_acceleration": 4.15,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.63,
      "spread_liquidity": 4.73,
      "momentum_consistency": 2.96,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.485,
      "vwap": 12.4982,
      "vwap_slope": -0.0037,
      "rvol": 0.23,
      "volume_acceleration": 1.42,
      "premarket_volume": 115511.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.24,
      "distance_from_pm_high_pct": 0.49,
      "extension_from_vwap_pct": -0.11,
      "spread_pct": 0.08
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 12.5465,
    "pm_low": 12.44
  },
  {
    "symbol": "ADT",
    "total_score": 42.34,
    "raw_score": 44.88,
    "breakdown": {
      "price_quality": 2.39,
      "volume_quality": 12.0,
      "rvol": 2.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.65,
      "spread_liquidity": 4.55,
      "momentum_consistency": 2.07,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.395,
      "vwap": 7.4066,
      "vwap_slope": -0.0025,
      "rvol": 1.05,
      "volume_acceleration": 0.95,
      "premarket_volume": 525465.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.14,
      "distance_from_pm_high_pct": 0.47,
      "extension_from_vwap_pct": -0.16,
      "spread_pct": 0.14
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 7.43,
    "pm_low": 7.39
  },
  {
    "symbol": "GCMG",
    "total_score": 42.3,
    "raw_score": 44.84,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 3.2,
      "rvol": 0.13,
      "volume_acceleration": 2.01,
      "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.51,
      "momentum_consistency": 1.2,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.72,
      "vwap": 13.7183,
      "vwap_slope": 0.0007,
      "rvol": 0.05,
      "volume_acceleration": 1.2,
      "premarket_volume": 26669.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.07,
      "distance_from_pm_high_pct": 0.15,
      "extension_from_vwap_pct": 0.01,
      "spread_pct": 0.15
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 13.74,
    "pm_low": 13.705
  },
  {
    "symbol": "GNL",
    "total_score": 42.28,
    "raw_score": 44.81,
    "breakdown": {
      "price_quality": 4.05,
      "volume_quality": 11.35,
      "rvol": 0.45,
      "volume_acceleration": 4.15,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.71,
      "spread_liquidity": 4.63,
      "momentum_consistency": 2.07,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.05,
      "vwap": 9.0694,
      "vwap_slope": -0.0058,
      "rvol": 0.19,
      "volume_acceleration": 1.41,
      "premarket_volume": 94554.0,
      "momentum_pct": -0.06,
      "consolidation_tightness_pct": 0.11,
      "distance_from_pm_high_pct": 0.39,
      "extension_from_vwap_pct": -0.21,
      "spread_pct": 0.11
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 9.085,
    "pm_low": 9.05
  },
  {
    "symbol": "TROX",
    "total_score": 42.09,
    "raw_score": 44.61,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 0.79,
      "volume_acceleration": 6.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.53,
      "spread_liquidity": 4.41,
      "momentum_consistency": 1.24,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.61,
      "vwap": 5.6189,
      "vwap_slope": -0.0024,
      "rvol": 0.33,
      "volume_acceleration": 1.67,
      "premarket_volume": 164786.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.36,
      "distance_from_pm_high_pct": 0.62,
      "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": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 5.645,
    "pm_low": 5.605
  },
  {
    "symbol": "VMET",
    "total_score": 42.08,
    "raw_score": 44.6,
    "breakdown": {
      "price_quality": 4.4,
      "volume_quality": 5.46,
      "rvol": 0.22,
      "volume_acceleration": 2.58,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.86,
      "spread_liquidity": 4.37,
      "momentum_consistency": 2.51,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.6,
      "vwap": 10.5997,
      "vwap_slope": -0.0004,
      "rvol": 0.09,
      "volume_acceleration": 0.74,
      "premarket_volume": 45500.0,
      "momentum_pct": -0.05,
      "consolidation_tightness_pct": 0.19,
      "distance_from_pm_high_pct": 0.19,
      "extension_from_vwap_pct": 0.0,
      "spread_pct": 0.19
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 10.62,
    "pm_low": 10.58
  },
  {
    "symbol": "AHCO",
    "total_score": 42.08,
    "raw_score": 44.61,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 1.01,
      "volume_acceleration": 6.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.53,
      "spread_liquidity": 4.4,
      "momentum_consistency": 1.75,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.555,
      "vwap": 5.5659,
      "vwap_slope": -0.0014,
      "rvol": 0.42,
      "volume_acceleration": 1.6,
      "premarket_volume": 210503.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.27,
      "distance_from_pm_high_pct": 0.63,
      "extension_from_vwap_pct": -0.2,
      "spread_pct": 0.18
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 5.59,
    "pm_low": 5.54
  },
  {
    "symbol": "ONT",
    "total_score": 42.08,
    "raw_score": 44.61,
    "breakdown": {
      "price_quality": 0.0,
      "volume_quality": 8.22,
      "rvol": 0.33,
      "volume_acceleration": 10,
      "price_momentum": 0.05,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.55,
      "spread_liquidity": 4.37,
      "momentum_consistency": 3.69,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 15.845,
      "vwap": 15.8535,
      "vwap_slope": -0.008,
      "rvol": 0.14,
      "volume_acceleration": 2.22,
      "premarket_volume": 68502.0,
      "momentum_pct": 0.03,
      "consolidation_tightness_pct": 0.44,
      "distance_from_pm_high_pct": 0.6,
      "extension_from_vwap_pct": -0.05,
      "spread_pct": 0.19
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 15.94,
    "pm_low": 15.78
  },
  {
    "symbol": "ARHS",
    "total_score": 42.01,
    "raw_score": 44.53,
    "breakdown": {
      "price_quality": 4.36,
      "volume_quality": 12.0,
      "rvol": 0.57,
      "volume_acceleration": 3.42,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.48,
      "spread_liquidity": 4.64,
      "momentum_consistency": 1.66,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.36,
      "vwap": 9.3914,
      "vwap_slope": -0.0032,
      "rvol": 0.24,
      "volume_acceleration": 0.98,
      "premarket_volume": 117914.0,
      "momentum_pct": -0.27,
      "consolidation_tightness_pct": 0.37,
      "distance_from_pm_high_pct": 0.69,
      "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.425,
    "pm_low": 9.34
  },
  {
    "symbol": "PHR",
    "total_score": 41.85,
    "raw_score": 44.36,
    "breakdown": {
      "price_quality": 2.92,
      "volume_quality": 12.0,
      "rvol": 0.61,
      "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.54,
      "spread_liquidity": 4.72,
      "momentum_consistency": 2.52,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.08,
      "vwap": 12.0945,
      "vwap_slope": -0.001,
      "rvol": 0.25,
      "volume_acceleration": 1.05,
      "premarket_volume": 127171.0,
      "momentum_pct": -0.04,
      "consolidation_tightness_pct": 0.12,
      "distance_from_pm_high_pct": 0.62,
      "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.155,
    "pm_low": 12.005
  },
  {
    "symbol": "OI",
    "total_score": 41.56,
    "raw_score": 44.05,
    "breakdown": {
      "price_quality": 2.07,
      "volume_quality": 12.0,
      "rvol": 1.6,
      "volume_acceleration": 3.01,
      "price_momentum": 0.11,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.58,
      "spread_liquidity": 4.53,
      "momentum_consistency": 2.76,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.07,
      "vwap": 7.076,
      "vwap_slope": -0.0011,
      "rvol": 0.67,
      "volume_acceleration": 1.3,
      "premarket_volume": 333456.0,
      "momentum_pct": 0.07,
      "consolidation_tightness_pct": 0.35,
      "distance_from_pm_high_pct": 0.56,
      "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": 7.04
  },
  {
    "symbol": "FMC",
    "total_score": 41.45,
    "raw_score": 43.94,
    "breakdown": {
      "price_quality": 3.9,
      "volume_quality": 12.0,
      "rvol": 1.05,
      "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.52,
      "spread_liquidity": 4.7,
      "momentum_consistency": 2.31,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.095,
      "vwap": 11.1393,
      "vwap_slope": -0.0053,
      "rvol": 0.44,
      "volume_acceleration": 1.21,
      "premarket_volume": 219510.0,
      "momentum_pct": -0.22,
      "consolidation_tightness_pct": 0.31,
      "distance_from_pm_high_pct": 0.64,
      "extension_from_vwap_pct": -0.4,
      "spread_pct": 0.09
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 11.166,
    "pm_low": 11.095
  },
  {
    "symbol": "HSLV",
    "total_score": 41.42,
    "raw_score": 43.9,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 7.46,
      "rvol": 0.3,
      "volume_acceleration": 3.32,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.51,
      "spread_liquidity": 4.37,
      "momentum_consistency": 1.85,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.29,
      "vwap": 5.305,
      "vwap_slope": 0.0035,
      "rvol": 0.12,
      "volume_acceleration": 0.96,
      "premarket_volume": 62161.0,
      "momentum_pct": -0.56,
      "consolidation_tightness_pct": 0.66,
      "distance_from_pm_high_pct": 0.66,
      "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": true
    },
    "pm_high": 5.325,
    "pm_low": 5.29
  },
  {
    "symbol": "GASS",
    "total_score": 41.4,
    "raw_score": 43.88,
    "breakdown": {
      "price_quality": 4.66,
      "volume_quality": 4.25,
      "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.46,
      "spread_liquidity": 4.65,
      "momentum_consistency": 2.29,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.66,
      "vwap": 9.6679,
      "vwap_slope": -0.0554,
      "rvol": 0.07,
      "volume_acceleration": 9.96,
      "premarket_volume": 35402.0,
      "momentum_pct": -0.21,
      "consolidation_tightness_pct": 0.72,
      "distance_from_pm_high_pct": 0.72,
      "extension_from_vwap_pct": -0.08,
      "spread_pct": 0.1
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 9.73,
    "pm_low": 9.65
  },
  {
    "symbol": "CPRI",
    "total_score": 41.33,
    "raw_score": 43.81,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 1.59,
      "volume_acceleration": 3.44,
      "price_momentum": 0.11,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.29,
      "spread_liquidity": 4.76,
      "momentum_consistency": 2.72,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.675,
      "vwap": 13.7432,
      "vwap_slope": -0.0217,
      "rvol": 0.66,
      "volume_acceleration": 0.99,
      "premarket_volume": 332269.0,
      "momentum_pct": 0.07,
      "consolidation_tightness_pct": 0.26,
      "distance_from_pm_high_pct": 0.94,
      "extension_from_vwap_pct": -0.5,
      "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.805,
    "pm_low": 13.66
  },
  {
    "symbol": "BHC",
    "total_score": 41.32,
    "raw_score": 43.8,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 3.58,
      "volume_acceleration": 2.33,
      "price_momentum": 0.12,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 4.91,
      "spread_liquidity": 4.48,
      "momentum_consistency": 2.48,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.435,
      "vwap": 6.4854,
      "vwap_slope": -0.0116,
      "rvol": 1.49,
      "volume_acceleration": 0.67,
      "premarket_volume": 746147.0,
      "momentum_pct": 0.08,
      "consolidation_tightness_pct": 0.7,
      "distance_from_pm_high_pct": 1.45,
      "extension_from_vwap_pct": -0.78,
      "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.53,
    "pm_low": 6.415
  },
  {
    "symbol": "ITG",
    "total_score": 41.25,
    "raw_score": 43.73,
    "breakdown": {
      "price_quality": 2.03,
      "volume_quality": 3.17,
      "rvol": 0.13,
      "volume_acceleration": 1.21,
      "price_momentum": 0.87,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 4.78,
      "spread_liquidity": 1.15,
      "momentum_consistency": 4.0,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.975,
      "vwap": 12.9136,
      "vwap_slope": 0.0026,
      "rvol": 0.05,
      "volume_acceleration": 0.35,
      "premarket_volume": 26432.0,
      "momentum_pct": 0.58,
      "consolidation_tightness_pct": 0.66,
      "distance_from_pm_high_pct": 1.63,
      "extension_from_vwap_pct": 0.48,
      "spread_pct": 1.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": 13.19,
    "pm_low": 12.72
  },
  {
    "symbol": "ADTN",
    "total_score": 41.19,
    "raw_score": 43.66,
    "breakdown": {
      "price_quality": 2.73,
      "volume_quality": 12.0,
      "rvol": 0.49,
      "volume_acceleration": 4.0,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.66,
      "spread_liquidity": 4.57,
      "momentum_consistency": 1.81,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.73,
      "vwap": 7.7459,
      "vwap_slope": -0.0003,
      "rvol": 0.2,
      "volume_acceleration": 1.4,
      "premarket_volume": 102357.0,
      "momentum_pct": -0.19,
      "consolidation_tightness_pct": 0.26,
      "distance_from_pm_high_pct": 0.45,
      "extension_from_vwap_pct": -0.21,
      "spread_pct": 0.13
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 7.765,
    "pm_low": 7.73
  },
  {
    "symbol": "GDYN",
    "total_score": 41.15,
    "raw_score": 43.62,
    "breakdown": {
      "price_quality": 3.05,
      "volume_quality": 12.0,
      "rvol": 0.56,
      "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": 5.77,
      "spread_liquidity": 4.59,
      "momentum_consistency": 1.57,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.055,
      "vwap": 8.059,
      "vwap_slope": -0.0016,
      "rvol": 0.23,
      "volume_acceleration": 1.06,
      "premarket_volume": 115773.0,
      "momentum_pct": -0.12,
      "consolidation_tightness_pct": 0.25,
      "distance_from_pm_high_pct": 0.31,
      "extension_from_vwap_pct": -0.05,
      "spread_pct": 0.12
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 8.08,
    "pm_low": 8.041
  },
  {
    "symbol": "NUVB",
    "total_score": 41.1,
    "raw_score": 43.56,
    "breakdown": {
      "price_quality": 1.92,
      "volume_quality": 12.0,
      "rvol": 2.11,
      "volume_acceleration": 3.01,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.57,
      "spread_liquidity": 4.52,
      "momentum_consistency": 2.03,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.915,
      "vwap": 6.9211,
      "vwap_slope": -0.0017,
      "rvol": 0.88,
      "volume_acceleration": 0.87,
      "premarket_volume": 440131.0,
      "momentum_pct": -0.07,
      "consolidation_tightness_pct": 0.27,
      "distance_from_pm_high_pct": 0.58,
      "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": 6.955,
    "pm_low": 6.895
  },
  {
    "symbol": "DRVN",
    "total_score": 40.84,
    "raw_score": 43.3,
    "breakdown": {
      "price_quality": 1.86,
      "volume_quality": 12.0,
      "rvol": 0.53,
      "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.49,
      "spread_liquidity": 4.49,
      "momentum_consistency": 3.0,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.14,
      "vwap": 13.1596,
      "vwap_slope": -0.0023,
      "rvol": 0.22,
      "volume_acceleration": 1.35,
      "premarket_volume": 109468.0,
      "momentum_pct": -0.04,
      "consolidation_tightness_pct": 0.19,
      "distance_from_pm_high_pct": 0.68,
      "extension_from_vwap_pct": -0.15,
      "spread_pct": 0.15
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 13.23,
    "pm_low": 13.13
  },
  {
    "symbol": "GDOT",
    "total_score": 40.78,
    "raw_score": 43.23,
    "breakdown": {
      "price_quality": 1.64,
      "volume_quality": 6.59,
      "rvol": 0.26,
      "volume_acceleration": 2.4,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.8,
      "spread_liquidity": 4.75,
      "momentum_consistency": 2.18,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.36,
      "vwap": 13.3653,
      "vwap_slope": 0.0001,
      "rvol": 0.11,
      "volume_acceleration": 0.69,
      "premarket_volume": 54926.0,
      "momentum_pct": -0.15,
      "consolidation_tightness_pct": 0.41,
      "distance_from_pm_high_pct": 0.26,
      "extension_from_vwap_pct": -0.04,
      "spread_pct": 0.07
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": true
    },
    "pm_high": 13.395,
    "pm_low": 13.325
  },
  {
    "symbol": "TAC",
    "total_score": 40.73,
    "raw_score": 43.17,
    "breakdown": {
      "price_quality": 2.68,
      "volume_quality": 12.0,
      "rvol": 0.69,
      "volume_acceleration": 3.05,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.52,
      "spread_liquidity": 4.73,
      "momentum_consistency": 2.11,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.325,
      "vwap": 12.3471,
      "vwap_slope": -0.0039,
      "rvol": 0.29,
      "volume_acceleration": 0.88,
      "premarket_volume": 144262.0,
      "momentum_pct": -0.08,
      "consolidation_tightness_pct": 0.2,
      "distance_from_pm_high_pct": 0.64,
      "extension_from_vwap_pct": -0.18,
      "spread_pct": 0.08
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 12.405,
    "pm_low": 12.31
  },
  {
    "symbol": "MAX",
    "total_score": 40.7,
    "raw_score": 43.14,
    "breakdown": {
      "price_quality": 2.13,
      "volume_quality": 5.37,
      "rvol": 0.21,
      "volume_acceleration": 10,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.48,
      "spread_liquidity": 4.74,
      "momentum_consistency": 2.8,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.87,
      "vwap": 12.9254,
      "vwap_slope": -0.0136,
      "rvol": 0.09,
      "volume_acceleration": 2.66,
      "premarket_volume": 44777.0,
      "momentum_pct": -0.54,
      "consolidation_tightness_pct": 0.7,
      "distance_from_pm_high_pct": 0.69,
      "extension_from_vwap_pct": -0.43,
      "spread_pct": 0.08
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 12.96,
    "pm_low": 12.86
  },
  {
    "symbol": "DNA",
    "total_score": 40.68,
    "raw_score": 43.12,
    "breakdown": {
      "price_quality": 2.28,
      "volume_quality": 12.0,
      "rvol": 1.04,
      "volume_acceleration": 3.42,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.24,
      "spread_liquidity": 4.08,
      "momentum_consistency": 2.67,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.28,
      "vwap": 7.3014,
      "vwap_slope": -0.0005,
      "rvol": 0.43,
      "volume_acceleration": 0.98,
      "premarket_volume": 215786.0,
      "momentum_pct": -0.41,
      "consolidation_tightness_pct": 0.68,
      "distance_from_pm_high_pct": 1.02,
      "extension_from_vwap_pct": -0.29,
      "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.355,
    "pm_low": 7.23
  },
  {
    "symbol": "ORN",
    "total_score": 40.61,
    "raw_score": 43.04,
    "breakdown": {
      "price_quality": 4.3,
      "volume_quality": 3.27,
      "rvol": 0.13,
      "volume_acceleration": 3.2,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.76,
      "spread_liquidity": 4.28,
      "momentum_consistency": 2.5,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.3,
      "vwap": 9.3041,
      "vwap_slope": 0.0023,
      "rvol": 0.05,
      "volume_acceleration": 0.92,
      "premarket_volume": 27265.0,
      "momentum_pct": -0.21,
      "consolidation_tightness_pct": 0.27,
      "distance_from_pm_high_pct": 0.32,
      "extension_from_vwap_pct": -0.04,
      "spread_pct": 0.22
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": true
    },
    "pm_high": 9.33,
    "pm_low": 9.275
  },
  {
    "symbol": "TSSI",
    "total_score": 40.37,
    "raw_score": 42.79,
    "breakdown": {
      "price_quality": 3.83,
      "volume_quality": 5.67,
      "rvol": 0.23,
      "volume_acceleration": 9.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.59,
      "spread_liquidity": 3.87,
      "momentum_consistency": 1.71,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.83,
      "vwap": 8.8452,
      "vwap_slope": -0.0045,
      "rvol": 0.09,
      "volume_acceleration": 1.95,
      "premarket_volume": 47238.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.23,
      "distance_from_pm_high_pct": 0.54,
      "extension_from_vwap_pct": -0.17,
      "spread_pct": 0.34
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 8.8781,
    "pm_low": 8.82
  },
  {
    "symbol": "SMPL",
    "total_score": 40.26,
    "raw_score": 42.68,
    "breakdown": {
      "price_quality": 4.16,
      "volume_quality": 9.78,
      "rvol": 0.39,
      "volume_acceleration": 3.36,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.63,
      "spread_liquidity": 4.69,
      "momentum_consistency": 2.26,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.8417,
      "vwap": 10.8588,
      "vwap_slope": -0.0008,
      "rvol": 0.16,
      "volume_acceleration": 1.34,
      "premarket_volume": 81534.0,
      "momentum_pct": -0.17,
      "consolidation_tightness_pct": 0.28,
      "distance_from_pm_high_pct": 0.49,
      "extension_from_vwap_pct": -0.16,
      "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.895,
    "pm_low": 10.84
  },
  {
    "symbol": "LZ",
    "total_score": 40.16,
    "raw_score": 42.57,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 1.1,
      "volume_acceleration": 3.97,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.68,
      "spread_liquidity": 4.43,
      "momentum_consistency": 1.49,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.855,
      "vwap": 5.867,
      "vwap_slope": -0.0022,
      "rvol": 0.46,
      "volume_acceleration": 1.14,
      "premarket_volume": 229677.0,
      "momentum_pct": -0.26,
      "consolidation_tightness_pct": 0.34,
      "distance_from_pm_high_pct": 0.43,
      "extension_from_vwap_pct": -0.21,
      "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.88,
    "pm_low": 5.85
  },
  {
    "symbol": "MRTN",
    "total_score": 40.11,
    "raw_score": 42.51,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 3.15,
      "rvol": 0.13,
      "volume_acceleration": 3.81,
      "price_momentum": 0.2,
      "price_structure": 12,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.57,
      "spread_liquidity": 4.55,
      "momentum_consistency": 1.6,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.895,
      "vwap": 14.9349,
      "vwap_slope": -0.0294,
      "rvol": 0.05,
      "volume_acceleration": 1.1,
      "premarket_volume": 26224.0,
      "momentum_pct": 0.13,
      "consolidation_tightness_pct": 0.17,
      "distance_from_pm_high_pct": 0.57,
      "extension_from_vwap_pct": -0.27,
      "spread_pct": 0.13
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 14.98,
    "pm_low": 14.87
  },
  {
    "symbol": "ASUR",
    "total_score": 39.99,
    "raw_score": 42.39,
    "breakdown": {
      "price_quality": 3.76,
      "volume_quality": 3.19,
      "rvol": 0.13,
      "volume_acceleration": 2.59,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.66,
      "spread_liquidity": 3.86,
      "momentum_consistency": 4.0,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.76,
      "vwap": 8.7519,
      "vwap_slope": -0.0023,
      "rvol": 0.05,
      "volume_acceleration": 0.74,
      "premarket_volume": 26616.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.23,
      "distance_from_pm_high_pct": 0.45,
      "extension_from_vwap_pct": 0.09,
      "spread_pct": 0.34
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 8.8,
    "pm_low": 8.68
  },
  {
    "symbol": "SECZ",
    "total_score": 39.53,
    "raw_score": 41.9,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 0.98,
      "volume_acceleration": 3.9,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 4.93,
      "spread_liquidity": 3.39,
      "momentum_consistency": 2.81,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.21,
      "vwap": 6.2466,
      "vwap_slope": -0.0034,
      "rvol": 0.41,
      "volume_acceleration": 1.12,
      "premarket_volume": 203262.0,
      "momentum_pct": -0.48,
      "consolidation_tightness_pct": 1.28,
      "distance_from_pm_high_pct": 1.43,
      "extension_from_vwap_pct": -0.59,
      "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": 6.3,
    "pm_low": 6.2
  },
  {
    "symbol": "SXC",
    "total_score": 39.53,
    "raw_score": 41.9,
    "breakdown": {
      "price_quality": 4.65,
      "volume_quality": 8.36,
      "rvol": 0.33,
      "volume_acceleration": 3.22,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.73,
      "spread_liquidity": 4.65,
      "momentum_consistency": 2.55,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.6503,
      "vwap": 9.6566,
      "vwap_slope": -0.0011,
      "rvol": 0.14,
      "volume_acceleration": 0.93,
      "premarket_volume": 69642.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.05,
      "distance_from_pm_high_pct": 0.36,
      "extension_from_vwap_pct": -0.06,
      "spread_pct": 0.1
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 9.685,
    "pm_low": 9.635
  },
  {
    "symbol": "RFIL",
    "total_score": 39.46,
    "raw_score": 41.83,
    "breakdown": {
      "price_quality": 3.71,
      "volume_quality": 3.03,
      "rvol": 0.12,
      "volume_acceleration": 10,
      "price_momentum": 0.4,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.15,
      "spread_liquidity": 4.11,
      "momentum_consistency": 2.91,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.29,
      "vwap": 11.2995,
      "vwap_slope": -0.0881,
      "rvol": 0.05,
      "volume_acceleration": 3.36,
      "premarket_volume": 25226.0,
      "momentum_pct": 0.27,
      "consolidation_tightness_pct": 0.53,
      "distance_from_pm_high_pct": 1.14,
      "extension_from_vwap_pct": -0.08,
      "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.4199,
    "pm_low": 11.21
  },
  {
    "symbol": "SWIM",
    "total_score": 39.43,
    "raw_score": 41.79,
    "breakdown": {
      "price_quality": 2.08,
      "volume_quality": 4.18,
      "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.68,
      "spread_liquidity": 4.53,
      "momentum_consistency": 2.74,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.085,
      "vwap": 7.0954,
      "vwap_slope": -0.0001,
      "rvol": 0.07,
      "volume_acceleration": 2.54,
      "premarket_volume": 34855.0,
      "momentum_pct": -0.14,
      "consolidation_tightness_pct": 0.21,
      "distance_from_pm_high_pct": 0.42,
      "extension_from_vwap_pct": -0.15,
      "spread_pct": 0.14
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 7.115,
    "pm_low": 7.08
  },
  {
    "symbol": "GLAS",
    "total_score": 39.23,
    "raw_score": 41.59,
    "breakdown": {
      "price_quality": 4.85,
      "volume_quality": 3.11,
      "rvol": 0.12,
      "volume_acceleration": 10,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.4,
      "spread_liquidity": 3.31,
      "momentum_consistency": 2.4,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.85,
      "vwap": 9.8571,
      "vwap_slope": -0.0079,
      "rvol": 0.05,
      "volume_acceleration": 4.3,
      "premarket_volume": 25898.0,
      "momentum_pct": -0.1,
      "consolidation_tightness_pct": 0.36,
      "distance_from_pm_high_pct": 0.8,
      "extension_from_vwap_pct": -0.07,
      "spread_pct": 0.51
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 9.9299,
    "pm_low": 9.78
  },
  {
    "symbol": "SGHT",
    "total_score": 39.22,
    "raw_score": 41.58,
    "breakdown": {
      "price_quality": 3.26,
      "volume_quality": 4.11,
      "rvol": 0.16,
      "volume_acceleration": 1.69,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.19,
      "spread_liquidity": 4.19,
      "momentum_consistency": 3.37,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.26,
      "vwap": 8.308,
      "vwap_slope": 0.0031,
      "rvol": 0.07,
      "volume_acceleration": 0.49,
      "premarket_volume": 34219.0,
      "momentum_pct": -0.48,
      "consolidation_tightness_pct": 0.6,
      "distance_from_pm_high_pct": 1.08,
      "extension_from_vwap_pct": -0.58,
      "spread_pct": 0.24
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": true
    },
    "pm_high": 8.35,
    "pm_low": 8.25
  },
  {
    "symbol": "LYG",
    "total_score": 39.18,
    "raw_score": 41.53,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 2.57,
      "volume_acceleration": 0.91,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.88,
      "spread_liquidity": 4.45,
      "momentum_consistency": 1.82,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.025,
      "vwap": 6.0274,
      "vwap_slope": -0.0002,
      "rvol": 1.07,
      "volume_acceleration": 0.26,
      "premarket_volume": 535960.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.17,
      "distance_from_pm_high_pct": 0.17,
      "extension_from_vwap_pct": -0.04,
      "spread_pct": 0.17
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 6.035,
    "pm_low": 6.02
  },
  {
    "symbol": "TDOC",
    "total_score": 38.9,
    "raw_score": 41.23,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 1.47,
      "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.71,
      "spread_liquidity": 4.48,
      "momentum_consistency": 1.49,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.405,
      "vwap": 6.4108,
      "vwap_slope": -0.0004,
      "rvol": 0.61,
      "volume_acceleration": 0.63,
      "premarket_volume": 305320.0,
      "momentum_pct": -0.16,
      "consolidation_tightness_pct": 0.23,
      "distance_from_pm_high_pct": 0.39,
      "extension_from_vwap_pct": -0.09,
      "spread_pct": 0.16
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 6.43,
    "pm_low": 6.385
  },
  {
    "symbol": "SVRA",
    "total_score": 38.78,
    "raw_score": 41.11,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 0.85,
      "volume_acceleration": 2.6,
      "price_momentum": 0.14,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.6,
      "spread_liquidity": 4.4,
      "momentum_consistency": 1.63,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.54,
      "vwap": 5.5408,
      "vwap_slope": -0.0007,
      "rvol": 0.35,
      "volume_acceleration": 0.75,
      "premarket_volume": 176918.0,
      "momentum_pct": 0.09,
      "consolidation_tightness_pct": 0.18,
      "distance_from_pm_high_pct": 0.54,
      "extension_from_vwap_pct": -0.01,
      "spread_pct": 0.18
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 5.57,
    "pm_low": 5.51
  },
  {
    "symbol": "STGW",
    "total_score": 38.76,
    "raw_score": 41.09,
    "breakdown": {
      "price_quality": 3.73,
      "volume_quality": 9.35,
      "rvol": 0.37,
      "volume_acceleration": 3.29,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.87,
      "spread_liquidity": 4.62,
      "momentum_consistency": 1.44,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.735,
      "vwap": 8.7401,
      "vwap_slope": -0.0008,
      "rvol": 0.16,
      "volume_acceleration": 1.33,
      "premarket_volume": 77957.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.11,
      "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.75,
    "pm_low": 8.725
  },
  {
    "symbol": "PSFE",
    "total_score": 38.44,
    "raw_score": 40.74,
    "breakdown": {
      "price_quality": 1.85,
      "volume_quality": 2.75,
      "rvol": 0.11,
      "volume_acceleration": 3.51,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.56,
      "spread_liquidity": 4.03,
      "momentum_consistency": 3.33,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.85,
      "vwap": 6.8524,
      "vwap_slope": 0.0152,
      "rvol": 0.05,
      "volume_acceleration": 1.01,
      "premarket_volume": 22925.0,
      "momentum_pct": -0.19,
      "consolidation_tightness_pct": 0.29,
      "distance_from_pm_high_pct": 0.58,
      "extension_from_vwap_pct": -0.04,
      "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": 6.89,
    "pm_low": 6.8141
  },
  {
    "symbol": "MATV",
    "total_score": 38.36,
    "raw_score": 40.66,
    "breakdown": {
      "price_quality": 2.53,
      "volume_quality": 3.3,
      "rvol": 0.13,
      "volume_acceleration": 2.5,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.76,
      "spread_liquidity": 4.47,
      "momentum_consistency": 2.37,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.47,
      "vwap": 12.4707,
      "vwap_slope": 0.0017,
      "rvol": 0.06,
      "volume_acceleration": 0.72,
      "premarket_volume": 27528.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.08,
      "distance_from_pm_high_pct": 0.32,
      "extension_from_vwap_pct": -0.01,
      "spread_pct": 0.16
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": true
    },
    "pm_high": 12.51,
    "pm_low": 12.42
  },
  {
    "symbol": "CXDO",
    "total_score": 38.3,
    "raw_score": 40.6,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 10.77,
      "rvol": 0.43,
      "volume_acceleration": 3.41,
      "price_momentum": 0.12,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 4.85,
      "spread_liquidity": 3.44,
      "momentum_consistency": 3.69,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.42,
      "vwap": 6.4242,
      "vwap_slope": -0.01,
      "rvol": 0.18,
      "volume_acceleration": 0.98,
      "premarket_volume": 89751.0,
      "momentum_pct": 0.08,
      "consolidation_tightness_pct": 0.55,
      "distance_from_pm_high_pct": 1.53,
      "extension_from_vwap_pct": -0.07,
      "spread_pct": 0.47
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 6.52,
    "pm_low": 6.36
  },
  {
    "symbol": "BTGO",
    "total_score": 38.11,
    "raw_score": 40.4,
    "breakdown": {
      "price_quality": 1.85,
      "volume_quality": 12.0,
      "rvol": 0.96,
      "volume_acceleration": 2.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.13,
      "spread_liquidity": 4.03,
      "momentum_consistency": 1.96,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.85,
      "vwap": 6.8717,
      "vwap_slope": -0.0005,
      "rvol": 0.4,
      "volume_acceleration": 0.59,
      "premarket_volume": 199190.0,
      "momentum_pct": -0.22,
      "consolidation_tightness_pct": 0.29,
      "distance_from_pm_high_pct": 1.15,
      "extension_from_vwap_pct": -0.32,
      "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.93,
    "pm_low": 6.84
  },
  {
    "symbol": "MAGN",
    "total_score": 37.99,
    "raw_score": 40.27,
    "breakdown": {
      "price_quality": 2.71,
      "volume_quality": 3.71,
      "rvol": 0.15,
      "volume_acceleration": 10,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.33,
      "spread_liquidity": 4.19,
      "momentum_consistency": 1.78,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.29,
      "vwap": 12.3458,
      "vwap_slope": -0.0248,
      "rvol": 0.06,
      "volume_acceleration": 2.18,
      "premarket_volume": 30948.0,
      "momentum_pct": -0.08,
      "consolidation_tightness_pct": 0.33,
      "distance_from_pm_high_pct": 0.89,
      "extension_from_vwap_pct": -0.45,
      "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.4,
    "pm_low": 12.28
  },
  {
    "symbol": "BETR",
    "total_score": 37.28,
    "raw_score": 39.52,
    "breakdown": {
      "price_quality": 3.46,
      "volume_quality": 8.9,
      "rvol": 0.36,
      "volume_acceleration": 2.62,
      "price_momentum": 0.26,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.18,
      "spread_liquidity": 3.55,
      "momentum_consistency": 2.78,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.54,
      "vwap": 11.5741,
      "vwap_slope": -0.0134,
      "rvol": 0.15,
      "volume_acceleration": 0.75,
      "premarket_volume": 74184.0,
      "momentum_pct": 0.17,
      "consolidation_tightness_pct": 0.52,
      "distance_from_pm_high_pct": 1.09,
      "extension_from_vwap_pct": -0.29,
      "spread_pct": 0.43
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 11.6676,
    "pm_low": 11.425
  },
  {
    "symbol": "FPI",
    "total_score": 36.84,
    "raw_score": 39.05,
    "breakdown": {
      "price_quality": 4.82,
      "volume_quality": 6.16,
      "rvol": 0.25,
      "volume_acceleration": 2.82,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.78,
      "spread_liquidity": 4.67,
      "momentum_consistency": 2.15,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.175,
      "vwap": 10.186,
      "vwap_slope": -0.0027,
      "rvol": 0.1,
      "volume_acceleration": 0.81,
      "premarket_volume": 51321.0,
      "momentum_pct": -0.05,
      "consolidation_tightness_pct": 0.1,
      "distance_from_pm_high_pct": 0.29,
      "extension_from_vwap_pct": -0.11,
      "spread_pct": 0.1
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 10.205,
    "pm_low": 10.17
  },
  {
    "symbol": "RDCM",
    "total_score": 35.99,
    "raw_score": 38.15,
    "breakdown": {
      "price_quality": 4.72,
      "volume_quality": 3.72,
      "rvol": 0.15,
      "volume_acceleration": 5.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.1,
      "spread_liquidity": 4.35,
      "momentum_consistency": 2.58,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.275,
      "vwap": 10.3109,
      "vwap_slope": -0.028,
      "rvol": 0.06,
      "volume_acceleration": 1.51,
      "premarket_volume": 31004.0,
      "momentum_pct": -0.1,
      "consolidation_tightness_pct": 0.58,
      "distance_from_pm_high_pct": 1.2,
      "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": 10.4,
    "pm_low": 10.24
  },
  {
    "symbol": "GOOS",
    "total_score": 35.84,
    "raw_score": 37.99,
    "breakdown": {
      "price_quality": 3.66,
      "volume_quality": 5.35,
      "rvol": 0.21,
      "volume_acceleration": 3.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.7,
      "spread_liquidity": 4.61,
      "momentum_consistency": 2.54,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.665,
      "vwap": 8.6819,
      "vwap_slope": -0.0043,
      "rvol": 0.09,
      "volume_acceleration": 1.35,
      "premarket_volume": 44594.0,
      "momentum_pct": -0.12,
      "consolidation_tightness_pct": 0.17,
      "distance_from_pm_high_pct": 0.4,
      "extension_from_vwap_pct": -0.19,
      "spread_pct": 0.12
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 8.7,
    "pm_low": 8.665
  },
  {
    "symbol": "DEI",
    "total_score": 35.82,
    "raw_score": 37.97,
    "breakdown": {
      "price_quality": 3.27,
      "volume_quality": 7.47,
      "rvol": 0.3,
      "volume_acceleration": 2.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.81,
      "spread_liquidity": 4.72,
      "momentum_consistency": 1.89,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.735,
      "vwap": 11.7443,
      "vwap_slope": -0.0015,
      "rvol": 0.12,
      "volume_acceleration": 1.21,
      "premarket_volume": 62271.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.09,
      "distance_from_pm_high_pct": 0.25,
      "extension_from_vwap_pct": -0.08,
      "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.765,
    "pm_low": 11.73
  },
  {
    "symbol": "SSTK",
    "total_score": 35.75,
    "raw_score": 37.89,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 8.14,
      "rvol": 0.33,
      "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.58,
      "spread_liquidity": 4.36,
      "momentum_consistency": 1.6,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.25,
      "vwap": 5.2602,
      "vwap_slope": -0.0018,
      "rvol": 0.14,
      "volume_acceleration": 1.14,
      "premarket_volume": 67874.0,
      "momentum_pct": -0.1,
      "consolidation_tightness_pct": 0.19,
      "distance_from_pm_high_pct": 0.56,
      "extension_from_vwap_pct": -0.19,
      "spread_pct": 0.19
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 5.2796,
    "pm_low": 5.25
  },
  {
    "symbol": "FF",
    "total_score": 35.5,
    "raw_score": 37.62,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 3.14,
      "rvol": 0.13,
      "volume_acceleration": 1.9,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.33,
      "spread_liquidity": 3.79,
      "momentum_consistency": 2.24,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.54,
      "vwap": 5.5512,
      "vwap_slope": 0.0028,
      "rvol": 0.05,
      "volume_acceleration": 0.55,
      "premarket_volume": 26151.0,
      "momentum_pct": -0.27,
      "consolidation_tightness_pct": 0.27,
      "distance_from_pm_high_pct": 0.89,
      "extension_from_vwap_pct": -0.2,
      "spread_pct": 0.36
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": true
    },
    "pm_high": 5.59,
    "pm_low": 5.53
  },
  {
    "symbol": "FOSL",
    "total_score": 35.49,
    "raw_score": 37.62,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 8.88,
      "rvol": 0.36,
      "volume_acceleration": 2.4,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.09,
      "spread_liquidity": 4.41,
      "momentum_consistency": 2.59,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.7,
      "vwap": 5.7353,
      "vwap_slope": -0.0166,
      "rvol": 0.15,
      "volume_acceleration": 1.24,
      "premarket_volume": 73985.0,
      "momentum_pct": -0.09,
      "consolidation_tightness_pct": 0.35,
      "distance_from_pm_high_pct": 1.21,
      "extension_from_vwap_pct": -0.62,
      "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.77,
    "pm_low": 5.685
  },
  {
    "symbol": "AMCX",
    "total_score": 35.29,
    "raw_score": 37.41,
    "breakdown": {
      "price_quality": 2.77,
      "volume_quality": 7.93,
      "rvol": 0.32,
      "volume_acceleration": 2.59,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.57,
      "spread_liquidity": 4.45,
      "momentum_consistency": 1.36,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.23,
      "vwap": 12.2563,
      "vwap_slope": -0.0054,
      "rvol": 0.13,
      "volume_acceleration": 0.75,
      "premarket_volume": 66123.0,
      "momentum_pct": -0.08,
      "consolidation_tightness_pct": 0.16,
      "distance_from_pm_high_pct": 0.57,
      "extension_from_vwap_pct": -0.21,
      "spread_pct": 0.16
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 12.3,
    "pm_low": 12.22
  },
  {
    "symbol": "PERI",
    "total_score": 35.27,
    "raw_score": 37.39,
    "breakdown": {
      "price_quality": 4.77,
      "volume_quality": 5.87,
      "rvol": 0.23,
      "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": 5.62,
      "spread_liquidity": 4.66,
      "momentum_consistency": 2.59,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.77,
      "vwap": 9.793,
      "vwap_slope": -0.0029,
      "rvol": 0.1,
      "volume_acceleration": 0.36,
      "premarket_volume": 48931.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.2,
      "distance_from_pm_high_pct": 0.51,
      "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": 9.82,
    "pm_low": 9.76
  },
  {
    "symbol": "DOLE",
    "total_score": 35.06,
    "raw_score": 37.16,
    "breakdown": {
      "price_quality": 1.64,
      "volume_quality": 6.94,
      "rvol": 0.28,
      "volume_acceleration": 3.74,
      "price_momentum": 0.06,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.61,
      "spread_liquidity": 4.75,
      "momentum_consistency": 1.74,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.355,
      "vwap": 13.3825,
      "vwap_slope": -0.0118,
      "rvol": 0.12,
      "volume_acceleration": 1.08,
      "premarket_volume": 57856.0,
      "momentum_pct": 0.04,
      "consolidation_tightness_pct": 0.07,
      "distance_from_pm_high_pct": 0.52,
      "extension_from_vwap_pct": -0.21,
      "spread_pct": 0.07
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 13.425,
    "pm_low": 13.345
  },
  {
    "symbol": "INNV",
    "total_score": 34.91,
    "raw_score": 37.01,
    "breakdown": {
      "price_quality": 4.11,
      "volume_quality": 4.94,
      "rvol": 0.2,
      "volume_acceleration": 2.97,
      "price_momentum": 0.41,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.25,
      "spread_liquidity": 4.39,
      "momentum_consistency": 2.34,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.89,
      "vwap": 10.9274,
      "vwap_slope": -0.0198,
      "rvol": 0.08,
      "volume_acceleration": 0.85,
      "premarket_volume": 41130.0,
      "momentum_pct": 0.28,
      "consolidation_tightness_pct": 0.6,
      "distance_from_pm_high_pct": 1.0,
      "extension_from_vwap_pct": -0.34,
      "spread_pct": 0.18
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 11.0,
    "pm_low": 10.83
  },
  {
    "symbol": "IMMR",
    "total_score": 34.51,
    "raw_score": 36.58,
    "breakdown": {
      "price_quality": 2.62,
      "volume_quality": 5.94,
      "rvol": 0.24,
      "volume_acceleration": 2.42,
      "price_momentum": 0.23,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.75,
      "spread_liquidity": 4.13,
      "momentum_consistency": 2.86,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.615,
      "vwap": 7.6159,
      "vwap_slope": -0.0037,
      "rvol": 0.1,
      "volume_acceleration": 0.7,
      "premarket_volume": 49525.0,
      "momentum_pct": 0.15,
      "consolidation_tightness_pct": 0.33,
      "distance_from_pm_high_pct": 0.33,
      "extension_from_vwap_pct": -0.01,
      "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.64,
    "pm_low": 7.59
  },
  {
    "symbol": "EOLS",
    "total_score": 34.4,
    "raw_score": 36.47,
    "breakdown": {
      "price_quality": 3.29,
      "volume_quality": 5.7,
      "rvol": 0.23,
      "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.11,
      "spread_liquidity": 4.6,
      "momentum_consistency": 2.04,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.29,
      "vwap": 8.3435,
      "vwap_slope": -0.0137,
      "rvol": 0.09,
      "volume_acceleration": 1.31,
      "premarket_volume": 47468.0,
      "momentum_pct": -0.48,
      "consolidation_tightness_pct": 0.48,
      "distance_from_pm_high_pct": 1.19,
      "extension_from_vwap_pct": -0.64,
      "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.39,
    "pm_low": 8.29
  },
  {
    "symbol": "HPK",
    "total_score": 34.36,
    "raw_score": 36.42,
    "breakdown": {
      "price_quality": 3.4,
      "volume_quality": 4.59,
      "rvol": 0.18,
      "volume_acceleration": 3.2,
      "price_momentum": 0.36,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.73,
      "spread_liquidity": 4.21,
      "momentum_consistency": 2.35,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.4,
      "vwap": 8.4016,
      "vwap_slope": -0.0023,
      "rvol": 0.08,
      "volume_acceleration": 1.32,
      "premarket_volume": 38273.0,
      "momentum_pct": 0.24,
      "consolidation_tightness_pct": 0.6,
      "distance_from_pm_high_pct": 0.36,
      "extension_from_vwap_pct": -0.02,
      "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.43,
    "pm_low": 8.36
  },
  {
    "symbol": "ASLE",
    "total_score": 34.07,
    "raw_score": 36.12,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 4.3,
      "rvol": 0.17,
      "volume_acceleration": 5.33,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.8,
      "spread_liquidity": 4.41,
      "momentum_consistency": 2.2,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.615,
      "vwap": 5.6183,
      "vwap_slope": -0.0009,
      "rvol": 0.07,
      "volume_acceleration": 1.53,
      "premarket_volume": 35875.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.09,
      "distance_from_pm_high_pct": 0.27,
      "extension_from_vwap_pct": -0.06,
      "spread_pct": 0.18
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 5.63,
    "pm_low": 5.61
  },
  {
    "symbol": "QMLS",
    "total_score": 33.94,
    "raw_score": 35.98,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 4.79,
      "rvol": 0.19,
      "volume_acceleration": 8.59,
      "price_momentum": 0.26,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 4.99,
      "spread_liquidity": 0.43,
      "momentum_consistency": 2.82,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.84,
      "vwap": 5.868,
      "vwap_slope": -0.0069,
      "rvol": 0.08,
      "volume_acceleration": 1.86,
      "premarket_volume": 39935.0,
      "momentum_pct": 0.17,
      "consolidation_tightness_pct": 0.39,
      "distance_from_pm_high_pct": 1.35,
      "extension_from_vwap_pct": -0.48,
      "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": false
    },
    "pm_high": 5.92,
    "pm_low": 5.755
  },
  {
    "symbol": "ARDT",
    "total_score": 33.72,
    "raw_score": 35.75,
    "breakdown": {
      "price_quality": 4.11,
      "volume_quality": 3.66,
      "rvol": 0.15,
      "volume_acceleration": 3.61,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.25,
      "spread_liquidity": 4.39,
      "momentum_consistency": 2.18,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.89,
      "vwap": 10.96,
      "vwap_slope": -0.0263,
      "rvol": 0.06,
      "volume_acceleration": 1.04,
      "premarket_volume": 30521.0,
      "momentum_pct": -0.37,
      "consolidation_tightness_pct": 0.41,
      "distance_from_pm_high_pct": 1.0,
      "extension_from_vwap_pct": -0.64,
      "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.0,
    "pm_low": 10.89
  },
  {
    "symbol": "BRCB",
    "total_score": 33.57,
    "raw_score": 35.58,
    "breakdown": {
      "price_quality": 4.16,
      "volume_quality": 3.67,
      "rvol": 0.15,
      "volume_acceleration": 3.59,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 4.75,
      "spread_liquidity": 4.64,
      "momentum_consistency": 2.22,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.165,
      "vwap": 9.2448,
      "vwap_slope": -0.0239,
      "rvol": 0.06,
      "volume_acceleration": 1.03,
      "premarket_volume": 30585.0,
      "momentum_pct": -0.05,
      "consolidation_tightness_pct": 0.22,
      "distance_from_pm_high_pct": 1.66,
      "extension_from_vwap_pct": -0.86,
      "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.32,
    "pm_low": 9.165
  },
  {
    "symbol": "MNTN",
    "total_score": 33.26,
    "raw_score": 35.25,
    "breakdown": {
      "price_quality": 2.14,
      "volume_quality": 3.92,
      "rvol": 0.16,
      "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.48,
      "spread_liquidity": 4.22,
      "momentum_consistency": 2.59,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.86,
      "vwap": 12.9049,
      "vwap_slope": -0.0188,
      "rvol": 0.07,
      "volume_acceleration": 1.43,
      "premarket_volume": 32677.0,
      "momentum_pct": -0.23,
      "consolidation_tightness_pct": 0.31,
      "distance_from_pm_high_pct": 0.69,
      "extension_from_vwap_pct": -0.35,
      "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": 12.95,
    "pm_low": 12.86
  },
  {
    "symbol": "ZSTK",
    "total_score": 33.03,
    "raw_score": 35.01,
    "breakdown": {
      "price_quality": 0.0,
      "volume_quality": 3.34,
      "rvol": 0.13,
      "volume_acceleration": 10,
      "price_momentum": 1.9,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 0.95,
      "spread_liquidity": 4.29,
      "momentum_consistency": 2.0,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 4.7394,
      "vwap": 4.8985,
      "vwap_slope": -0.1229,
      "rvol": 0.06,
      "volume_acceleration": 2.63,
      "premarket_volume": 27808.0,
      "momentum_pct": 1.27,
      "consolidation_tightness_pct": 2.52,
      "distance_from_pm_high_pct": 6.74,
      "extension_from_vwap_pct": -3.25,
      "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": 5.0818,
    "pm_low": 4.65
  },
  {
    "symbol": "DBI",
    "total_score": 32.83,
    "raw_score": 34.79,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 3.17,
      "rvol": 0.13,
      "volume_acceleration": 6.03,
      "price_momentum": 0.13,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.23,
      "spread_liquidity": 3.85,
      "momentum_consistency": 2.35,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.82,
      "vwap": 5.8495,
      "vwap_slope": -0.0055,
      "rvol": 0.05,
      "volume_acceleration": 1.6,
      "premarket_volume": 26407.0,
      "momentum_pct": 0.09,
      "consolidation_tightness_pct": 0.52,
      "distance_from_pm_high_pct": 1.02,
      "extension_from_vwap_pct": -0.5,
      "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.88,
    "pm_low": 5.81
  },
  {
    "symbol": "XMAX",
    "total_score": 32.32,
    "raw_score": 34.26,
    "breakdown": {
      "price_quality": 3.65,
      "volume_quality": 2.58,
      "rvol": 0.1,
      "volume_acceleration": 3.56,
      "price_momentum": 0.09,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.7,
      "spread_liquidity": 4.61,
      "momentum_consistency": 1.56,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.655,
      "vwap": 8.6665,
      "vwap_slope": -0.0067,
      "rvol": 0.04,
      "volume_acceleration": 1.02,
      "premarket_volume": 21521.0,
      "momentum_pct": 0.06,
      "consolidation_tightness_pct": 0.17,
      "distance_from_pm_high_pct": 0.4,
      "extension_from_vwap_pct": -0.13,
      "spread_pct": 0.12
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 8.69,
    "pm_low": 8.65
  },
  {
    "symbol": "AVO",
    "total_score": 32.21,
    "raw_score": 34.14,
    "breakdown": {
      "price_quality": 1.66,
      "volume_quality": 5.03,
      "rvol": 0.2,
      "volume_acceleration": 2.97,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.53,
      "spread_liquidity": 4.5,
      "momentum_consistency": 1.85,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.34,
      "vwap": 13.373,
      "vwap_slope": -0.0111,
      "rvol": 0.08,
      "volume_acceleration": 0.85,
      "premarket_volume": 41953.0,
      "momentum_pct": -0.07,
      "consolidation_tightness_pct": 0.11,
      "distance_from_pm_high_pct": 0.63,
      "extension_from_vwap_pct": -0.25,
      "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.425,
    "pm_low": 13.335
  },
  {
    "symbol": "MED",
    "total_score": 31.95,
    "raw_score": 33.87,
    "breakdown": {
      "price_quality": 3.12,
      "volume_quality": 2.54,
      "rvol": 0.1,
      "volume_acceleration": 3.59,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.13,
      "spread_liquidity": 4.16,
      "momentum_consistency": 2.84,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.88,
      "vwap": 11.9778,
      "vwap_slope": -0.01,
      "rvol": 0.04,
      "volume_acceleration": 1.03,
      "premarket_volume": 21129.0,
      "momentum_pct": -0.08,
      "consolidation_tightness_pct": 0.59,
      "distance_from_pm_high_pct": 1.16,
      "extension_from_vwap_pct": -0.82,
      "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.02,
    "pm_low": 11.87
  },
  {
    "symbol": "VOXR",
    "total_score": 31.93,
    "raw_score": 33.85,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 6.26,
      "rvol": 0.25,
      "volume_acceleration": 1.81,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.74,
      "spread_liquidity": 3.85,
      "momentum_consistency": 2.05,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.78,
      "vwap": 5.7857,
      "vwap_slope": -0.001,
      "rvol": 0.1,
      "volume_acceleration": 0.52,
      "premarket_volume": 52157.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.35,
      "distance_from_pm_high_pct": 0.35,
      "extension_from_vwap_pct": -0.1,
      "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.8003,
    "pm_low": 5.76
  },
  {
    "symbol": "XPER",
    "total_score": 31.61,
    "raw_score": 33.51,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 4.02,
      "rvol": 0.16,
      "volume_acceleration": 2.91,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.7,
      "spread_liquidity": 4.47,
      "momentum_consistency": 2.35,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.245,
      "vwap": 6.255,
      "vwap_slope": -0.0023,
      "rvol": 0.07,
      "volume_acceleration": 1.29,
      "premarket_volume": 33470.0,
      "momentum_pct": -0.16,
      "consolidation_tightness_pct": 0.32,
      "distance_from_pm_high_pct": 0.4,
      "extension_from_vwap_pct": -0.16,
      "spread_pct": 0.16
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 6.27,
    "pm_low": 6.24
  },
  {
    "symbol": "SPIR",
    "total_score": 31.53,
    "raw_score": 33.42,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 3.03,
      "rvol": 0.12,
      "volume_acceleration": 3.22,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.57,
      "spread_liquidity": 4.04,
      "momentum_consistency": 3.53,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.97,
      "vwap": 14.003,
      "vwap_slope": -0.0048,
      "rvol": 0.05,
      "volume_acceleration": 0.93,
      "premarket_volume": 25266.0,
      "momentum_pct": -0.29,
      "consolidation_tightness_pct": 0.29,
      "distance_from_pm_high_pct": 0.57,
      "extension_from_vwap_pct": -0.24,
      "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": 14.05,
    "pm_low": 13.97
  },
  {
    "symbol": "KRO",
    "total_score": 31.37,
    "raw_score": 33.25,
    "breakdown": {
      "price_quality": 3.2,
      "volume_quality": 4.13,
      "rvol": 0.17,
      "volume_acceleration": 1.97,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.37,
      "spread_liquidity": 4.19,
      "momentum_consistency": 1.83,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.2,
      "vwap": 8.2363,
      "vwap_slope": -0.0053,
      "rvol": 0.07,
      "volume_acceleration": 0.57,
      "premarket_volume": 34453.0,
      "momentum_pct": -0.24,
      "consolidation_tightness_pct": 0.36,
      "distance_from_pm_high_pct": 0.85,
      "extension_from_vwap_pct": -0.44,
      "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.27,
    "pm_low": 8.2
  }
]