[
  {
    "symbol": "RKT",
    "total_score": 76.78,
    "raw_score": 81.38,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 8.14,
      "volume_acceleration": 10,
      "price_momentum": 0.43,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.84,
      "spread_liquidity": 4.76,
      "momentum_consistency": 2.71,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.085,
      "vwap": 14.0558,
      "vwap_slope": 0.0037,
      "rvol": 3.05,
      "volume_acceleration": 2.07,
      "premarket_volume": 1526289.0,
      "momentum_pct": 0.28,
      "consolidation_tightness_pct": 0.5,
      "distance_from_pm_high_pct": 0.21,
      "extension_from_vwap_pct": 0.21,
      "spread_pct": 0.07
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 14.115,
    "pm_low": 14.01
  },
  {
    "symbol": "PFSA",
    "total_score": 75.84,
    "raw_score": 80.39,
    "breakdown": {
      "price_quality": 0.0,
      "volume_quality": 12.0,
      "rvol": 12.0,
      "volume_acceleration": 4.95,
      "price_momentum": 12,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 0,
      "distance_from_pm_high": 6,
      "spread_liquidity": 4.61,
      "momentum_consistency": 4.68,
      "extension_risk_penalty": -3.85
    },
    "metrics": {
      "price": 25.94,
      "vwap": 19.269,
      "vwap_slope": 1.3651,
      "rvol": 13.29,
      "volume_acceleration": 1.49,
      "premarket_volume": 6643609.0,
      "momentum_pct": 15.03,
      "consolidation_tightness_pct": 19.65,
      "distance_from_pm_high_pct": 0.0,
      "extension_from_vwap_pct": 34.62,
      "spread_pct": 0.12
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": true,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 25.94,
    "pm_low": 14.2601
  },
  {
    "symbol": "BB",
    "total_score": 73.36,
    "raw_score": 77.76,
    "breakdown": {
      "price_quality": 3.61,
      "volume_quality": 12.0,
      "rvol": 4.06,
      "volume_acceleration": 7.88,
      "price_momentum": 0.57,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 6,
      "spread_liquidity": 4.61,
      "momentum_consistency": 3.03,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.605,
      "vwap": 8.5523,
      "vwap_slope": 0.0123,
      "rvol": 1.52,
      "volume_acceleration": 1.79,
      "premarket_volume": 761950.0,
      "momentum_pct": 0.38,
      "consolidation_tightness_pct": 0.41,
      "distance_from_pm_high_pct": 0.0,
      "extension_from_vwap_pct": 0.62,
      "spread_pct": 0.12
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 8.605,
    "pm_low": 8.52
  },
  {
    "symbol": "XERS",
    "total_score": 72.78,
    "raw_score": 77.15,
    "breakdown": {
      "price_quality": 3.79,
      "volume_quality": 12.0,
      "rvol": 1.0,
      "volume_acceleration": 10,
      "price_momentum": 0.51,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.91,
      "spread_liquidity": 4.62,
      "momentum_consistency": 3.31,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.785,
      "vwap": 8.7325,
      "vwap_slope": 0.0167,
      "rvol": 0.42,
      "volume_acceleration": 3.91,
      "premarket_volume": 209091.0,
      "momentum_pct": 0.34,
      "consolidation_tightness_pct": 0.57,
      "distance_from_pm_high_pct": 0.11,
      "extension_from_vwap_pct": 0.6,
      "spread_pct": 0.11
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 8.795,
    "pm_low": 8.68
  },
  {
    "symbol": "NUVB",
    "total_score": 72.58,
    "raw_score": 76.94,
    "breakdown": {
      "price_quality": 1.82,
      "volume_quality": 12.0,
      "rvol": 6.89,
      "volume_acceleration": 5.11,
      "price_momentum": 1.22,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 6,
      "spread_liquidity": 4.51,
      "momentum_consistency": 3.39,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.825,
      "vwap": 6.7597,
      "vwap_slope": 0.0114,
      "rvol": 2.58,
      "volume_acceleration": 1.51,
      "premarket_volume": 1291542.0,
      "momentum_pct": 0.81,
      "consolidation_tightness_pct": 0.81,
      "distance_from_pm_high_pct": 0.0,
      "extension_from_vwap_pct": 0.97,
      "spread_pct": 0.15
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 6.825,
    "pm_low": 6.715
  },
  {
    "symbol": "SOUN",
    "total_score": 71.95,
    "raw_score": 76.26,
    "breakdown": {
      "price_quality": 2.04,
      "volume_quality": 12.0,
      "rvol": 12.0,
      "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.84,
      "spread_liquidity": 4.53,
      "momentum_consistency": 3.39,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.045,
      "vwap": 7.0328,
      "vwap_slope": 0.0012,
      "rvol": 5.0,
      "volume_acceleration": 2.19,
      "premarket_volume": 2498813.0,
      "momentum_pct": 0.04,
      "consolidation_tightness_pct": 0.28,
      "distance_from_pm_high_pct": 0.21,
      "extension_from_vwap_pct": 0.17,
      "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.06,
    "pm_low": 7.0
  },
  {
    "symbol": "CLF",
    "total_score": 71.68,
    "raw_score": 75.98,
    "breakdown": {
      "price_quality": 2.93,
      "volume_quality": 12.0,
      "rvol": 7.98,
      "volume_acceleration": 3.22,
      "price_momentum": 0.25,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.85,
      "spread_liquidity": 4.72,
      "momentum_consistency": 3.03,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.075,
      "vwap": 12.0608,
      "vwap_slope": 0.0008,
      "rvol": 2.99,
      "volume_acceleration": 0.93,
      "premarket_volume": 1496695.0,
      "momentum_pct": 0.17,
      "consolidation_tightness_pct": 0.25,
      "distance_from_pm_high_pct": 0.21,
      "extension_from_vwap_pct": 0.12,
      "spread_pct": 0.08
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 12.1,
    "pm_low": 12.02
  },
  {
    "symbol": "PUMP",
    "total_score": 71.13,
    "raw_score": 75.4,
    "breakdown": {
      "price_quality": 2.71,
      "volume_quality": 12.0,
      "rvol": 1.32,
      "volume_acceleration": 10,
      "price_momentum": 0.12,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.67,
      "spread_liquidity": 4.73,
      "momentum_consistency": 2.85,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.285,
      "vwap": 12.2717,
      "vwap_slope": 0.0017,
      "rvol": 0.55,
      "volume_acceleration": 2.04,
      "premarket_volume": 274908.0,
      "momentum_pct": 0.08,
      "consolidation_tightness_pct": 0.33,
      "distance_from_pm_high_pct": 0.45,
      "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": true,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 12.34,
    "pm_low": 12.21
  },
  {
    "symbol": "NOK",
    "total_score": 70.49,
    "raw_score": 74.71,
    "breakdown": {
      "price_quality": 4.61,
      "volume_quality": 12.0,
      "rvol": 12.0,
      "volume_acceleration": 6.7,
      "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.68,
      "momentum_consistency": 2.44,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.395,
      "vwap": 10.3692,
      "vwap_slope": 0.0035,
      "rvol": 18.34,
      "volume_acceleration": 1.67,
      "premarket_volume": 9171474.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.19,
      "distance_from_pm_high_pct": 0.14,
      "extension_from_vwap_pct": 0.25,
      "spread_pct": 0.1
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 10.41,
    "pm_low": 10.33
  },
  {
    "symbol": "WVE",
    "total_score": 70.44,
    "raw_score": 74.67,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 2.04,
      "volume_acceleration": 10,
      "price_momentum": 0.29,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.86,
      "spread_liquidity": 4.36,
      "momentum_consistency": 2.62,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.255,
      "vwap": 5.2087,
      "vwap_slope": 0.0193,
      "rvol": 0.85,
      "volume_acceleration": 2.26,
      "premarket_volume": 425407.0,
      "momentum_pct": 0.19,
      "consolidation_tightness_pct": 0.67,
      "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": true,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 5.265,
    "pm_low": 5.175
  },
  {
    "symbol": "SSTI",
    "total_score": 69.32,
    "raw_score": 73.47,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 11.57,
      "rvol": 0.46,
      "volume_acceleration": 10,
      "price_momentum": 2.25,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.97,
      "spread_liquidity": 3.26,
      "momentum_consistency": 2.46,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.755,
      "vwap": 5.7072,
      "vwap_slope": 0.0303,
      "rvol": 0.19,
      "volume_acceleration": 6.42,
      "premarket_volume": 96434.0,
      "momentum_pct": 1.5,
      "consolidation_tightness_pct": 1.62,
      "distance_from_pm_high_pct": 0.04,
      "extension_from_vwap_pct": 0.84,
      "spread_pct": 0.52
    },
    "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.7575,
    "pm_low": 5.65
  },
  {
    "symbol": "DNA",
    "total_score": 69.08,
    "raw_score": 73.22,
    "breakdown": {
      "price_quality": 1.51,
      "volume_quality": 12.0,
      "rvol": 0.83,
      "volume_acceleration": 10,
      "price_momentum": 0.23,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.6,
      "spread_liquidity": 4.49,
      "momentum_consistency": 2.55,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.515,
      "vwap": 6.5032,
      "vwap_slope": 0.001,
      "rvol": 0.35,
      "volume_acceleration": 2.8,
      "premarket_volume": 173686.0,
      "momentum_pct": 0.15,
      "consolidation_tightness_pct": 0.23,
      "distance_from_pm_high_pct": 0.53,
      "extension_from_vwap_pct": 0.18,
      "spread_pct": 0.15
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 6.55,
    "pm_low": 6.47
  },
  {
    "symbol": "EOLS",
    "total_score": 69.06,
    "raw_score": 73.21,
    "breakdown": {
      "price_quality": 3.26,
      "volume_quality": 9.27,
      "rvol": 0.37,
      "volume_acceleration": 10,
      "price_momentum": 0.36,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.95,
      "spread_liquidity": 4.19,
      "momentum_consistency": 3.8,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.26,
      "vwap": 8.2062,
      "vwap_slope": 0.0146,
      "rvol": 0.15,
      "volume_acceleration": 2.21,
      "premarket_volume": 77234.0,
      "momentum_pct": 0.24,
      "consolidation_tightness_pct": 0.42,
      "distance_from_pm_high_pct": 0.06,
      "extension_from_vwap_pct": 0.66,
      "spread_pct": 0.24
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 8.265,
    "pm_low": 8.155
  },
  {
    "symbol": "DXC",
    "total_score": 68.6,
    "raw_score": 72.71,
    "breakdown": {
      "price_quality": 4.46,
      "volume_quality": 12.0,
      "rvol": 1.05,
      "volume_acceleration": 5.43,
      "price_momentum": 0.36,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.89,
      "spread_liquidity": 4.68,
      "momentum_consistency": 2.85,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.545,
      "vwap": 10.532,
      "vwap_slope": 0.0004,
      "rvol": 0.44,
      "volume_acceleration": 1.54,
      "premarket_volume": 218863.0,
      "momentum_pct": 0.24,
      "consolidation_tightness_pct": 0.28,
      "distance_from_pm_high_pct": 0.14,
      "extension_from_vwap_pct": 0.12,
      "spread_pct": 0.09
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 10.56,
    "pm_low": 10.505
  },
  {
    "symbol": "SMPL",
    "total_score": 68.49,
    "raw_score": 72.6,
    "breakdown": {
      "price_quality": 4.03,
      "volume_quality": 12.0,
      "rvol": 0.8,
      "volume_acceleration": 5.23,
      "price_momentum": 0.47,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.99,
      "spread_liquidity": 4.7,
      "momentum_consistency": 3.38,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.969,
      "vwap": 10.8831,
      "vwap_slope": 0.0158,
      "rvol": 0.33,
      "volume_acceleration": 1.52,
      "premarket_volume": 165630.0,
      "momentum_pct": 0.31,
      "consolidation_tightness_pct": 0.41,
      "distance_from_pm_high_pct": 0.01,
      "extension_from_vwap_pct": 0.79,
      "spread_pct": 0.09
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 10.97,
    "pm_low": 10.83
  },
  {
    "symbol": "UAA",
    "total_score": 67.59,
    "raw_score": 71.64,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 8.75,
      "volume_acceleration": 10,
      "price_momentum": 0.17,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.49,
      "spread_liquidity": 4.35,
      "momentum_consistency": 2.98,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.105,
      "vwap": 5.0982,
      "vwap_slope": 0.0039,
      "rvol": 3.28,
      "volume_acceleration": 2.18,
      "premarket_volume": 1640579.0,
      "momentum_pct": 0.12,
      "consolidation_tightness_pct": 1.08,
      "distance_from_pm_high_pct": 0.68,
      "extension_from_vwap_pct": 0.13,
      "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.14,
    "pm_low": 5.07
  },
  {
    "symbol": "TBI",
    "total_score": 67.56,
    "raw_score": 71.61,
    "breakdown": {
      "price_quality": 4.51,
      "volume_quality": 6.43,
      "rvol": 0.26,
      "volume_acceleration": 10,
      "price_momentum": 0.65,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.96,
      "spread_liquidity": 4.05,
      "momentum_consistency": 3.76,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.495,
      "vwap": 10.4435,
      "vwap_slope": 0.0442,
      "rvol": 0.11,
      "volume_acceleration": 2.08,
      "premarket_volume": 53574.0,
      "momentum_pct": 0.43,
      "consolidation_tightness_pct": 0.48,
      "distance_from_pm_high_pct": 0.05,
      "extension_from_vwap_pct": 0.49,
      "spread_pct": 0.29
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 10.5,
    "pm_low": 10.315
  },
  {
    "symbol": "CRGY",
    "total_score": 67.36,
    "raw_score": 71.4,
    "breakdown": {
      "price_quality": 2.13,
      "volume_quality": 12.0,
      "rvol": 5.91,
      "volume_acceleration": 10,
      "price_momentum": 0.59,
      "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.66,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.865,
      "vwap": 12.8273,
      "vwap_slope": 0.0056,
      "rvol": 2.22,
      "volume_acceleration": 5.27,
      "premarket_volume": 1108509.0,
      "momentum_pct": 0.39,
      "consolidation_tightness_pct": 0.66,
      "distance_from_pm_high_pct": 0.04,
      "extension_from_vwap_pct": 0.29,
      "spread_pct": 0.08
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 12.87,
    "pm_low": 12.775
  },
  {
    "symbol": "ONDS",
    "total_score": 67.32,
    "raw_score": 71.36,
    "breakdown": {
      "price_quality": 3.96,
      "volume_quality": 12.0,
      "rvol": 12.0,
      "volume_acceleration": 3.86,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.75,
      "spread_liquidity": 4.63,
      "momentum_consistency": 2.76,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.96,
      "vwap": 8.9321,
      "vwap_slope": 0.0028,
      "rvol": 15.55,
      "volume_acceleration": 1.11,
      "premarket_volume": 7776728.0,
      "momentum_pct": -0.06,
      "consolidation_tightness_pct": 0.67,
      "distance_from_pm_high_pct": 0.33,
      "extension_from_vwap_pct": 0.31,
      "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.99,
    "pm_low": 8.89
  },
  {
    "symbol": "IMMX",
    "total_score": 67.32,
    "raw_score": 71.35,
    "breakdown": {
      "price_quality": 3.22,
      "volume_quality": 9.97,
      "rvol": 0.4,
      "volume_acceleration": 7.49,
      "price_momentum": 0.58,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.9,
      "spread_liquidity": 4.15,
      "momentum_consistency": 3.64,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.775,
      "vwap": 11.591,
      "vwap_slope": 0.0668,
      "rvol": 0.17,
      "volume_acceleration": 1.75,
      "premarket_volume": 83083.0,
      "momentum_pct": 0.38,
      "consolidation_tightness_pct": 0.85,
      "distance_from_pm_high_pct": 0.13,
      "extension_from_vwap_pct": 1.59,
      "spread_pct": 0.25
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 11.79,
    "pm_low": 11.46
  },
  {
    "symbol": "F",
    "total_score": 67.22,
    "raw_score": 71.25,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 12.0,
      "volume_acceleration": 5.45,
      "price_momentum": 0.21,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.95,
      "spread_liquidity": 4.76,
      "momentum_consistency": 2.98,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.005,
      "vwap": 13.9464,
      "vwap_slope": 0.0183,
      "rvol": 5.9,
      "volume_acceleration": 1.54,
      "premarket_volume": 2949101.0,
      "momentum_pct": 0.14,
      "consolidation_tightness_pct": 0.46,
      "distance_from_pm_high_pct": 0.07,
      "extension_from_vwap_pct": 0.42,
      "spread_pct": 0.07
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 14.015,
    "pm_low": 13.905
  },
  {
    "symbol": "PSKY",
    "total_score": 67.09,
    "raw_score": 71.11,
    "breakdown": {
      "price_quality": 4.61,
      "volume_quality": 12.0,
      "rvol": 7.66,
      "volume_acceleration": 6.66,
      "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.68,
      "momentum_consistency": 3.39,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.39,
      "vwap": 10.3686,
      "vwap_slope": 0.0074,
      "rvol": 2.87,
      "volume_acceleration": 1.67,
      "premarket_volume": 1435333.0,
      "momentum_pct": -0.24,
      "consolidation_tightness_pct": 0.48,
      "distance_from_pm_high_pct": 0.38,
      "extension_from_vwap_pct": 0.21,
      "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.43,
    "pm_low": 10.27
  },
  {
    "symbol": "SMR",
    "total_score": 66.71,
    "raw_score": 70.71,
    "breakdown": {
      "price_quality": 3.62,
      "volume_quality": 12.0,
      "rvol": 12.0,
      "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.7,
      "spread_liquidity": 4.61,
      "momentum_consistency": 2.71,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.6201,
      "vwap": 8.6176,
      "vwap_slope": 0.0006,
      "rvol": 6.59,
      "volume_acceleration": 1.05,
      "premarket_volume": 3294431.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.35,
      "distance_from_pm_high_pct": 0.4,
      "extension_from_vwap_pct": 0.03,
      "spread_pct": 0.12
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 8.655,
    "pm_low": 8.58
  },
  {
    "symbol": "KD",
    "total_score": 66.46,
    "raw_score": 70.44,
    "breakdown": {
      "price_quality": 2.47,
      "volume_quality": 12.0,
      "rvol": 1.67,
      "volume_acceleration": 3.94,
      "price_momentum": 0.78,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 6,
      "spread_liquidity": 4.73,
      "momentum_consistency": 2.85,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.53,
      "vwap": 12.4625,
      "vwap_slope": 0.0155,
      "rvol": 0.7,
      "volume_acceleration": 1.39,
      "premarket_volume": 348868.0,
      "momentum_pct": 0.52,
      "consolidation_tightness_pct": 0.6,
      "distance_from_pm_high_pct": 0.0,
      "extension_from_vwap_pct": 0.54,
      "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.53,
    "pm_low": 12.41
  },
  {
    "symbol": "STUB",
    "total_score": 66.01,
    "raw_score": 69.97,
    "breakdown": {
      "price_quality": 2.07,
      "volume_quality": 12.0,
      "rvol": 6.27,
      "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.58,
      "spread_liquidity": 4.53,
      "momentum_consistency": 3.12,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.07,
      "vwap": 7.057,
      "vwap_slope": 0.0311,
      "rvol": 2.35,
      "volume_acceleration": 2.17,
      "premarket_volume": 1175843.0,
      "momentum_pct": -0.35,
      "consolidation_tightness_pct": 0.64,
      "distance_from_pm_high_pct": 0.56,
      "extension_from_vwap_pct": 0.18,
      "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.11,
    "pm_low": 7.0
  },
  {
    "symbol": "CXM",
    "total_score": 65.75,
    "raw_score": 69.7,
    "breakdown": {
      "price_quality": 1.93,
      "volume_quality": 12.0,
      "rvol": 0.78,
      "volume_acceleration": 6.49,
      "price_momentum": 0.0,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.89,
      "spread_liquidity": 4.52,
      "momentum_consistency": 2.08,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.935,
      "vwap": 6.9328,
      "vwap_slope": 0.0042,
      "rvol": 0.33,
      "volume_acceleration": 1.65,
      "premarket_volume": 163261.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.22,
      "distance_from_pm_high_pct": 0.14,
      "extension_from_vwap_pct": 0.03,
      "spread_pct": 0.14
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 6.945,
    "pm_low": 6.915
  },
  {
    "symbol": "AVAH",
    "total_score": 65.74,
    "raw_score": 69.68,
    "breakdown": {
      "price_quality": 2.38,
      "volume_quality": 12.0,
      "rvol": 2.32,
      "volume_acceleration": 2.35,
      "price_momentum": 0.6,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 6,
      "spread_liquidity": 4.74,
      "momentum_consistency": 3.31,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.625,
      "vwap": 12.526,
      "vwap_slope": 0.0197,
      "rvol": 0.97,
      "volume_acceleration": 0.67,
      "premarket_volume": 482797.0,
      "momentum_pct": 0.4,
      "consolidation_tightness_pct": 0.44,
      "distance_from_pm_high_pct": 0.0,
      "extension_from_vwap_pct": 0.79,
      "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.625,
    "pm_low": 12.445
  },
  {
    "symbol": "PGEN",
    "total_score": 65.62,
    "raw_score": 69.56,
    "breakdown": {
      "price_quality": 1.7,
      "volume_quality": 12.0,
      "rvol": 1.78,
      "volume_acceleration": 4.29,
      "price_momentum": 0.45,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 6,
      "spread_liquidity": 4.5,
      "momentum_consistency": 2.85,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.695,
      "vwap": 6.6595,
      "vwap_slope": 0.0063,
      "rvol": 0.74,
      "volume_acceleration": 1.43,
      "premarket_volume": 370875.0,
      "momentum_pct": 0.3,
      "consolidation_tightness_pct": 0.37,
      "distance_from_pm_high_pct": 0.0,
      "extension_from_vwap_pct": 0.53,
      "spread_pct": 0.15
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 6.695,
    "pm_low": 6.625
  },
  {
    "symbol": "ADT",
    "total_score": 65.32,
    "raw_score": 69.24,
    "breakdown": {
      "price_quality": 2.26,
      "volume_quality": 12.0,
      "rvol": 5.98,
      "volume_acceleration": 10,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.85,
      "spread_liquidity": 4.54,
      "momentum_consistency": 2.21,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.265,
      "vwap": 7.2551,
      "vwap_slope": 0.0121,
      "rvol": 2.24,
      "volume_acceleration": 2.43,
      "premarket_volume": 1120769.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.28,
      "distance_from_pm_high_pct": 0.21,
      "extension_from_vwap_pct": 0.14,
      "spread_pct": 0.14
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 7.28,
    "pm_low": 7.23
  },
  {
    "symbol": "LFST",
    "total_score": 65.02,
    "raw_score": 68.92,
    "breakdown": {
      "price_quality": 2.5,
      "volume_quality": 12.0,
      "rvol": 0.87,
      "volume_acceleration": 3.92,
      "price_momentum": 0.3,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.88,
      "spread_liquidity": 4.73,
      "momentum_consistency": 2.71,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.5,
      "vwap": 12.4834,
      "vwap_slope": 0.0015,
      "rvol": 0.36,
      "volume_acceleration": 1.13,
      "premarket_volume": 181865.0,
      "momentum_pct": 0.2,
      "consolidation_tightness_pct": 0.28,
      "distance_from_pm_high_pct": 0.16,
      "extension_from_vwap_pct": 0.13,
      "spread_pct": 0.08
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 12.52,
    "pm_low": 12.44
  },
  {
    "symbol": "SG",
    "total_score": 64.83,
    "raw_score": 68.72,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 2.32,
      "volume_acceleration": 3.27,
      "price_momentum": 0.64,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.94,
      "spread_liquidity": 4.43,
      "momentum_consistency": 2.62,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.845,
      "vwap": 5.7993,
      "vwap_slope": 0.0098,
      "rvol": 0.97,
      "volume_acceleration": 1.33,
      "premarket_volume": 483629.0,
      "momentum_pct": 0.43,
      "consolidation_tightness_pct": 0.77,
      "distance_from_pm_high_pct": 0.09,
      "extension_from_vwap_pct": 0.79,
      "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.85,
    "pm_low": 5.77
  },
  {
    "symbol": "STGW",
    "total_score": 64.82,
    "raw_score": 68.71,
    "breakdown": {
      "price_quality": 3.88,
      "volume_quality": 12.0,
      "rvol": 1.05,
      "volume_acceleration": 10,
      "price_momentum": 0.25,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.66,
      "spread_liquidity": 4.62,
      "momentum_consistency": 2.43,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.885,
      "vwap": 8.8814,
      "vwap_slope": -0.0001,
      "rvol": 0.44,
      "volume_acceleration": 2.22,
      "premarket_volume": 219332.0,
      "momentum_pct": 0.17,
      "consolidation_tightness_pct": 0.45,
      "distance_from_pm_high_pct": 0.45,
      "extension_from_vwap_pct": 0.04,
      "spread_pct": 0.11
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 8.925,
    "pm_low": 8.82
  },
  {
    "symbol": "ASST",
    "total_score": 64.68,
    "raw_score": 68.56,
    "breakdown": {
      "price_quality": 2.13,
      "volume_quality": 12.0,
      "rvol": 1.18,
      "volume_acceleration": 2.62,
      "price_momentum": 0.47,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.97,
      "spread_liquidity": 4.74,
      "momentum_consistency": 3.45,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.865,
      "vwap": 12.782,
      "vwap_slope": 0.0109,
      "rvol": 0.49,
      "volume_acceleration": 0.75,
      "premarket_volume": 245087.0,
      "momentum_pct": 0.31,
      "consolidation_tightness_pct": 0.47,
      "distance_from_pm_high_pct": 0.04,
      "extension_from_vwap_pct": 0.65,
      "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.87,
    "pm_low": 12.705
  },
  {
    "symbol": "TU",
    "total_score": 64.56,
    "raw_score": 68.43,
    "breakdown": {
      "price_quality": 4.72,
      "volume_quality": 12.0,
      "rvol": 3.16,
      "volume_acceleration": 10,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.81,
      "spread_liquidity": 4.66,
      "momentum_consistency": 1.68,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.725,
      "vwap": 9.7157,
      "vwap_slope": 0.0009,
      "rvol": 1.32,
      "volume_acceleration": 4.1,
      "premarket_volume": 657996.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.1,
      "distance_from_pm_high_pct": 0.26,
      "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.75,
    "pm_low": 9.695
  },
  {
    "symbol": "CLSK",
    "total_score": 64.43,
    "raw_score": 68.29,
    "breakdown": {
      "price_quality": 3.4,
      "volume_quality": 12.0,
      "rvol": 12.0,
      "volume_acceleration": 7.32,
      "price_momentum": 0.32,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.61,
      "spread_liquidity": 4.71,
      "momentum_consistency": 3.72,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.6,
      "vwap": 11.578,
      "vwap_slope": -0.0053,
      "rvol": 4.58,
      "volume_acceleration": 1.73,
      "premarket_volume": 2290488.0,
      "momentum_pct": 0.22,
      "consolidation_tightness_pct": 0.56,
      "distance_from_pm_high_pct": 0.51,
      "extension_from_vwap_pct": 0.19,
      "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": false
    },
    "pm_high": 11.66,
    "pm_low": 11.52
  },
  {
    "symbol": "RSKD",
    "total_score": 64.42,
    "raw_score": 68.29,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 4.98,
      "volume_acceleration": 10,
      "price_momentum": 0.49,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.88,
      "spread_liquidity": 4.46,
      "momentum_consistency": 2.58,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.185,
      "vwap": 6.1533,
      "vwap_slope": 0.0025,
      "rvol": 1.87,
      "volume_acceleration": 5.63,
      "premarket_volume": 934563.0,
      "momentum_pct": 0.32,
      "consolidation_tightness_pct": 0.41,
      "distance_from_pm_high_pct": 0.16,
      "extension_from_vwap_pct": 0.51,
      "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.195,
    "pm_low": 6.05
  },
  {
    "symbol": "SBET",
    "total_score": 64.3,
    "raw_score": 68.16,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 5.6,
      "volume_acceleration": 8.58,
      "price_momentum": 0.84,
      "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.95,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.305,
      "vwap": 6.2602,
      "vwap_slope": 0.019,
      "rvol": 2.1,
      "volume_acceleration": 1.86,
      "premarket_volume": 1050205.0,
      "momentum_pct": 0.56,
      "consolidation_tightness_pct": 1.03,
      "distance_from_pm_high_pct": 0.24,
      "extension_from_vwap_pct": 0.72,
      "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.32,
    "pm_low": 6.21
  },
  {
    "symbol": "RPD",
    "total_score": 64.15,
    "raw_score": 67.99,
    "breakdown": {
      "price_quality": 2.22,
      "volume_quality": 12.0,
      "rvol": 1.16,
      "volume_acceleration": 10,
      "price_momentum": 0.71,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.48,
      "spread_liquidity": 4.74,
      "momentum_consistency": 2.9,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.78,
      "vwap": 12.7694,
      "vwap_slope": -0.0256,
      "rvol": 0.48,
      "volume_acceleration": 2.13,
      "premarket_volume": 240786.0,
      "momentum_pct": 0.47,
      "consolidation_tightness_pct": 0.75,
      "distance_from_pm_high_pct": 0.7,
      "extension_from_vwap_pct": 0.08,
      "spread_pct": 0.08
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 12.87,
    "pm_low": 12.685
  },
  {
    "symbol": "NU",
    "total_score": 64.1,
    "raw_score": 67.95,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 12.0,
      "volume_acceleration": 2.74,
      "price_momentum": 0.21,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.72,
      "spread_liquidity": 4.77,
      "momentum_consistency": 2.62,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.425,
      "vwap": 14.3835,
      "vwap_slope": 0.0053,
      "rvol": 24.97,
      "volume_acceleration": 1.27,
      "premarket_volume": 12486761.0,
      "momentum_pct": 0.14,
      "consolidation_tightness_pct": 0.28,
      "distance_from_pm_high_pct": 0.38,
      "extension_from_vwap_pct": 0.29,
      "spread_pct": 0.07
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 14.48,
    "pm_low": 14.33
  },
  {
    "symbol": "ASPN",
    "total_score": 64.05,
    "raw_score": 67.9,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 6.9,
      "rvol": 0.28,
      "volume_acceleration": 10,
      "price_momentum": 0.54,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.93,
      "spread_liquidity": 4.4,
      "momentum_consistency": 2.34,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.585,
      "vwap": 5.5314,
      "vwap_slope": 0.0109,
      "rvol": 0.12,
      "volume_acceleration": 2.15,
      "premarket_volume": 57527.0,
      "momentum_pct": 0.36,
      "consolidation_tightness_pct": 1.26,
      "distance_from_pm_high_pct": 0.09,
      "extension_from_vwap_pct": 0.97,
      "spread_pct": 0.18
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 5.59,
    "pm_low": 5.51
  },
  {
    "symbol": "BRBR",
    "total_score": 64.03,
    "raw_score": 67.87,
    "breakdown": {
      "price_quality": 4.43,
      "volume_quality": 12.0,
      "rvol": 1.27,
      "volume_acceleration": 10,
      "price_momentum": 0.28,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.96,
      "spread_liquidity": 4.68,
      "momentum_consistency": 2.85,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.575,
      "vwap": 10.5416,
      "vwap_slope": 0.0012,
      "rvol": 0.53,
      "volume_acceleration": 2.4,
      "premarket_volume": 263721.0,
      "momentum_pct": 0.19,
      "consolidation_tightness_pct": 0.33,
      "distance_from_pm_high_pct": 0.05,
      "extension_from_vwap_pct": 0.32,
      "spread_pct": 0.09
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 10.58,
    "pm_low": 10.495
  },
  {
    "symbol": "AMPL",
    "total_score": 63.92,
    "raw_score": 67.75,
    "breakdown": {
      "price_quality": 2.21,
      "volume_quality": 12.0,
      "rvol": 0.93,
      "volume_acceleration": 2.78,
      "price_momentum": 0.77,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.94,
      "spread_liquidity": 4.74,
      "momentum_consistency": 2.39,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.79,
      "vwap": 12.748,
      "vwap_slope": 0.0001,
      "rvol": 0.39,
      "volume_acceleration": 0.8,
      "premarket_volume": 194390.0,
      "momentum_pct": 0.51,
      "consolidation_tightness_pct": 0.59,
      "distance_from_pm_high_pct": 0.08,
      "extension_from_vwap_pct": 0.33,
      "spread_pct": 0.08
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 12.8,
    "pm_low": 12.71
  },
  {
    "symbol": "AHCO",
    "total_score": 63.75,
    "raw_score": 67.58,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 1.44,
      "volume_acceleration": 3.19,
      "price_momentum": 0.77,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.94,
      "spread_liquidity": 4.43,
      "momentum_consistency": 2.31,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.845,
      "vwap": 5.8064,
      "vwap_slope": 0.0056,
      "rvol": 0.6,
      "volume_acceleration": 0.92,
      "premarket_volume": 299701.0,
      "momentum_pct": 0.52,
      "consolidation_tightness_pct": 0.6,
      "distance_from_pm_high_pct": 0.09,
      "extension_from_vwap_pct": 0.66,
      "spread_pct": 0.17
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 5.85,
    "pm_low": 5.77
  },
  {
    "symbol": "SFL",
    "total_score": 63.5,
    "raw_score": 67.31,
    "breakdown": {
      "price_quality": 2.54,
      "volume_quality": 12.0,
      "rvol": 0.71,
      "volume_acceleration": 10,
      "price_momentum": 0.48,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.73,
      "spread_liquidity": 4.73,
      "momentum_consistency": 2.31,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.455,
      "vwap": 12.4486,
      "vwap_slope": -0.0172,
      "rvol": 0.29,
      "volume_acceleration": 2.12,
      "premarket_volume": 147419.0,
      "momentum_pct": 0.32,
      "consolidation_tightness_pct": 0.4,
      "distance_from_pm_high_pct": 0.36,
      "extension_from_vwap_pct": 0.05,
      "spread_pct": 0.08
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 12.5,
    "pm_low": 12.405
  },
  {
    "symbol": "RGNX",
    "total_score": 63.45,
    "raw_score": 67.26,
    "breakdown": {
      "price_quality": 3.99,
      "volume_quality": 12.0,
      "rvol": 0.49,
      "volume_acceleration": 10,
      "price_momentum": 0.62,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 6,
      "spread_liquidity": 4.7,
      "momentum_consistency": 3.06,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.01,
      "vwap": 10.9373,
      "vwap_slope": 0.0284,
      "rvol": 0.2,
      "volume_acceleration": 2.71,
      "premarket_volume": 102156.0,
      "momentum_pct": 0.41,
      "consolidation_tightness_pct": 0.41,
      "distance_from_pm_high_pct": 0.0,
      "extension_from_vwap_pct": 0.66,
      "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.01,
    "pm_low": 10.83
  },
  {
    "symbol": "OI",
    "total_score": 63.39,
    "raw_score": 67.19,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 0.91,
      "volume_acceleration": 3.97,
      "price_momentum": 0.24,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.88,
      "spread_liquidity": 4.48,
      "momentum_consistency": 2.21,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.45,
      "vwap": 6.4295,
      "vwap_slope": 0.0019,
      "rvol": 0.38,
      "volume_acceleration": 1.14,
      "premarket_volume": 189187.0,
      "momentum_pct": 0.16,
      "consolidation_tightness_pct": 0.39,
      "distance_from_pm_high_pct": 0.15,
      "extension_from_vwap_pct": 0.32,
      "spread_pct": 0.15
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 6.46,
    "pm_low": 6.41
  },
  {
    "symbol": "BIOA",
    "total_score": 63.31,
    "raw_score": 67.11,
    "breakdown": {
      "price_quality": 4.46,
      "volume_quality": 10.62,
      "rvol": 0.42,
      "volume_acceleration": 10,
      "price_momentum": 2.46,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.65,
      "spread_liquidity": 3.1,
      "momentum_consistency": 4.0,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.54,
      "vwap": 10.4302,
      "vwap_slope": 0.1085,
      "rvol": 0.18,
      "volume_acceleration": 4.81,
      "premarket_volume": 88492.0,
      "momentum_pct": 1.64,
      "consolidation_tightness_pct": 2.29,
      "distance_from_pm_high_pct": 0.47,
      "extension_from_vwap_pct": 1.05,
      "spread_pct": 0.57
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 10.59,
    "pm_low": 10.29
  },
  {
    "symbol": "VSTM",
    "total_score": 63.29,
    "raw_score": 67.09,
    "breakdown": {
      "price_quality": 2.47,
      "volume_quality": 12.0,
      "rvol": 3.02,
      "volume_acceleration": 10,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.6,
      "spread_liquidity": 4.55,
      "momentum_consistency": 3.03,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.475,
      "vwap": 7.4389,
      "vwap_slope": 0.0396,
      "rvol": 1.26,
      "volume_acceleration": 5.83,
      "premarket_volume": 629976.0,
      "momentum_pct": -0.27,
      "consolidation_tightness_pct": 0.87,
      "distance_from_pm_high_pct": 0.53,
      "extension_from_vwap_pct": 0.49,
      "spread_pct": 0.13
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 7.515,
    "pm_low": 7.355
  },
  {
    "symbol": "AI",
    "total_score": 63.29,
    "raw_score": 67.09,
    "breakdown": {
      "price_quality": 4.87,
      "volume_quality": 12.0,
      "rvol": 1.34,
      "volume_acceleration": 8.36,
      "price_momentum": 0.92,
      "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.62,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.865,
      "vwap": 9.7941,
      "vwap_slope": 0.0142,
      "rvol": 0.56,
      "volume_acceleration": 1.84,
      "premarket_volume": 278807.0,
      "momentum_pct": 0.61,
      "consolidation_tightness_pct": 0.76,
      "distance_from_pm_high_pct": 0.1,
      "extension_from_vwap_pct": 0.72,
      "spread_pct": 0.1
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 9.875,
    "pm_low": 9.745
  },
  {
    "symbol": "OBDC",
    "total_score": 62.53,
    "raw_score": 66.29,
    "breakdown": {
      "price_quality": 3.55,
      "volume_quality": 12.0,
      "rvol": 1.15,
      "volume_acceleration": 9.94,
      "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.71,
      "momentum_consistency": 2.57,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.445,
      "vwap": 11.437,
      "vwap_slope": 0.0014,
      "rvol": 0.48,
      "volume_acceleration": 1.99,
      "premarket_volume": 238552.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.09,
      "distance_from_pm_high_pct": 0.04,
      "extension_from_vwap_pct": 0.07,
      "spread_pct": 0.09
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 11.45,
    "pm_low": 11.42
  },
  {
    "symbol": "WEN",
    "total_score": 62.42,
    "raw_score": 66.17,
    "breakdown": {
      "price_quality": 3.45,
      "volume_quality": 12.0,
      "rvol": 6.75,
      "volume_acceleration": 10,
      "price_momentum": 0.0,
      "price_structure": 12,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.34,
      "spread_liquidity": 4.61,
      "momentum_consistency": 2.03,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.445,
      "vwap": 8.4693,
      "vwap_slope": -0.0207,
      "rvol": 2.53,
      "volume_acceleration": 2.6,
      "premarket_volume": 1264736.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.3,
      "distance_from_pm_high_pct": 0.88,
      "extension_from_vwap_pct": -0.29,
      "spread_pct": 0.12
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 8.52,
    "pm_low": 8.41
  },
  {
    "symbol": "VALE",
    "total_score": 62.33,
    "raw_score": 66.07,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 10.48,
      "volume_acceleration": 3.0,
      "price_momentum": 0.11,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.89,
      "spread_liquidity": 4.76,
      "momentum_consistency": 1.93,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.695,
      "vwap": 13.6834,
      "vwap_slope": 0.0002,
      "rvol": 3.93,
      "volume_acceleration": 0.86,
      "premarket_volume": 1965243.0,
      "momentum_pct": 0.07,
      "consolidation_tightness_pct": 0.15,
      "distance_from_pm_high_pct": 0.15,
      "extension_from_vwap_pct": 0.08,
      "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.715,
    "pm_low": 13.66
  },
  {
    "symbol": "IMTX",
    "total_score": 62.33,
    "raw_score": 66.07,
    "breakdown": {
      "price_quality": 4.05,
      "volume_quality": 12.0,
      "rvol": 0.57,
      "volume_acceleration": 10,
      "price_momentum": 0.5,
      "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.0,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.05,
      "vwap": 9.0196,
      "vwap_slope": 0.0141,
      "rvol": 0.24,
      "volume_acceleration": 2.05,
      "premarket_volume": 118046.0,
      "momentum_pct": 0.33,
      "consolidation_tightness_pct": 0.55,
      "distance_from_pm_high_pct": 0.11,
      "extension_from_vwap_pct": 0.34,
      "spread_pct": 0.11
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 9.06,
    "pm_low": 8.975
  },
  {
    "symbol": "AEG",
    "total_score": 62.3,
    "raw_score": 66.04,
    "breakdown": {
      "price_quality": 4.45,
      "volume_quality": 12.0,
      "rvol": 1.72,
      "volume_acceleration": 10,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 6,
      "spread_liquidity": 4.65,
      "momentum_consistency": 0.83,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.445,
      "vwap": 9.4335,
      "vwap_slope": 0.002,
      "rvol": 0.71,
      "volume_acceleration": 4.67,
      "premarket_volume": 357434.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.05,
      "distance_from_pm_high_pct": 0.0,
      "extension_from_vwap_pct": 0.12,
      "spread_pct": 0.11
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 9.445,
    "pm_low": 9.4214
  },
  {
    "symbol": "LYG",
    "total_score": 62.22,
    "raw_score": 65.96,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 4.13,
      "volume_acceleration": 10,
      "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.36,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.09,
      "vwap": 6.0806,
      "vwap_slope": 0.0006,
      "rvol": 1.55,
      "volume_acceleration": 5.69,
      "premarket_volume": 773462.0,
      "momentum_pct": 0.08,
      "consolidation_tightness_pct": 0.16,
      "distance_from_pm_high_pct": 0.0,
      "extension_from_vwap_pct": 0.15,
      "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.09,
    "pm_low": 6.07
  },
  {
    "symbol": "NPCE",
    "total_score": 62.2,
    "raw_score": 65.94,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 3.36,
      "rvol": 0.13,
      "volume_acceleration": 10,
      "price_momentum": 0.26,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.9,
      "spread_liquidity": 4.08,
      "momentum_consistency": 4.71,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.55,
      "vwap": 14.5241,
      "vwap_slope": 0.0869,
      "rvol": 0.06,
      "volume_acceleration": 7.77,
      "premarket_volume": 27973.0,
      "momentum_pct": 0.17,
      "consolidation_tightness_pct": 0.41,
      "distance_from_pm_high_pct": 0.14,
      "extension_from_vwap_pct": 0.18,
      "spread_pct": 0.27
    },
    "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.57,
    "pm_low": 14.41
  },
  {
    "symbol": "VG",
    "total_score": 62.18,
    "raw_score": 65.91,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 8.54,
      "volume_acceleration": 3.53,
      "price_momentum": 0.11,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.82,
      "spread_liquidity": 4.77,
      "momentum_consistency": 3.25,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.225,
      "vwap": 14.1939,
      "vwap_slope": 0.0029,
      "rvol": 3.2,
      "volume_acceleration": 1.01,
      "premarket_volume": 1602005.0,
      "momentum_pct": 0.07,
      "consolidation_tightness_pct": 0.21,
      "distance_from_pm_high_pct": 0.25,
      "extension_from_vwap_pct": 0.22,
      "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.26,
    "pm_low": 14.125
  },
  {
    "symbol": "FLNC",
    "total_score": 62.09,
    "raw_score": 65.81,
    "breakdown": {
      "price_quality": 3.17,
      "volume_quality": 12.0,
      "rvol": 2.44,
      "volume_acceleration": 7.29,
      "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.72,
      "momentum_consistency": 3.8,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.83,
      "vwap": 11.7666,
      "vwap_slope": 0.0211,
      "rvol": 1.02,
      "volume_acceleration": 1.73,
      "premarket_volume": 508338.0,
      "momentum_pct": 0.08,
      "consolidation_tightness_pct": 0.68,
      "distance_from_pm_high_pct": 0.17,
      "extension_from_vwap_pct": 0.54,
      "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.85,
    "pm_low": 11.705
  },
  {
    "symbol": "DEI",
    "total_score": 62.0,
    "raw_score": 65.72,
    "breakdown": {
      "price_quality": 3.38,
      "volume_quality": 12.0,
      "rvol": 0.57,
      "volume_acceleration": 10,
      "price_momentum": 0.19,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.94,
      "spread_liquidity": 4.71,
      "momentum_consistency": 2.53,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.62,
      "vwap": 11.5912,
      "vwap_slope": 0.0083,
      "rvol": 0.24,
      "volume_acceleration": 2.22,
      "premarket_volume": 118636.0,
      "momentum_pct": 0.13,
      "consolidation_tightness_pct": 0.17,
      "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": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 11.63,
    "pm_low": 11.565
  },
  {
    "symbol": "RMAX",
    "total_score": 61.59,
    "raw_score": 65.29,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 8.06,
      "rvol": 0.32,
      "volume_acceleration": 6.05,
      "price_momentum": 0.66,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.67,
      "spread_liquidity": 3.29,
      "momentum_consistency": 3.73,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.69,
      "vwap": 13.6239,
      "vwap_slope": 0.0431,
      "rvol": 0.13,
      "volume_acceleration": 1.61,
      "premarket_volume": 67156.0,
      "momentum_pct": 0.44,
      "consolidation_tightness_pct": 0.88,
      "distance_from_pm_high_pct": 0.44,
      "extension_from_vwap_pct": 0.49,
      "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": 13.75,
    "pm_low": 13.49
  },
  {
    "symbol": "TTD",
    "total_score": 61.43,
    "raw_score": 65.11,
    "breakdown": {
      "price_quality": 1.53,
      "volume_quality": 12.0,
      "rvol": 8.1,
      "volume_acceleration": 3.26,
      "price_momentum": 0.28,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.94,
      "spread_liquidity": 4.75,
      "momentum_consistency": 2.85,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.47,
      "vwap": 13.4244,
      "vwap_slope": 0.0078,
      "rvol": 3.04,
      "volume_acceleration": 0.94,
      "premarket_volume": 1519365.0,
      "momentum_pct": 0.19,
      "consolidation_tightness_pct": 0.26,
      "distance_from_pm_high_pct": 0.07,
      "extension_from_vwap_pct": 0.34,
      "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.48,
    "pm_low": 13.37
  },
  {
    "symbol": "YSS",
    "total_score": 61.35,
    "raw_score": 65.03,
    "breakdown": {
      "price_quality": 4.28,
      "volume_quality": 12.0,
      "rvol": 2.54,
      "volume_acceleration": 5.59,
      "price_momentum": 0.42,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 6,
      "spread_liquidity": 4.69,
      "momentum_consistency": 3.12,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.725,
      "vwap": 10.639,
      "vwap_slope": 0.0042,
      "rvol": 1.06,
      "volume_acceleration": 1.56,
      "premarket_volume": 529122.0,
      "momentum_pct": 0.28,
      "consolidation_tightness_pct": 0.96,
      "distance_from_pm_high_pct": 0.0,
      "extension_from_vwap_pct": 0.81,
      "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.725,
    "pm_low": 10.58
  },
  {
    "symbol": "BFLY",
    "total_score": 61.2,
    "raw_score": 64.87,
    "breakdown": {
      "price_quality": 3.97,
      "volume_quality": 12.0,
      "rvol": 1.56,
      "volume_acceleration": 6.79,
      "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.63,
      "momentum_consistency": 3.72,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.97,
      "vwap": 8.8857,
      "vwap_slope": 0.0327,
      "rvol": 0.65,
      "volume_acceleration": 1.68,
      "premarket_volume": 324808.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.56,
      "distance_from_pm_high_pct": 0.28,
      "extension_from_vwap_pct": 0.95,
      "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.995,
    "pm_low": 8.81
  },
  {
    "symbol": "IMMR",
    "total_score": 61.1,
    "raw_score": 64.77,
    "breakdown": {
      "price_quality": 2.54,
      "volume_quality": 9.02,
      "rvol": 0.36,
      "volume_acceleration": 3.96,
      "price_momentum": 0.1,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.95,
      "spread_liquidity": 4.56,
      "momentum_consistency": 2.29,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.535,
      "vwap": 7.5025,
      "vwap_slope": 0.0042,
      "rvol": 0.15,
      "volume_acceleration": 1.14,
      "premarket_volume": 75163.0,
      "momentum_pct": 0.07,
      "consolidation_tightness_pct": 0.27,
      "distance_from_pm_high_pct": 0.07,
      "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": true,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 7.54,
    "pm_low": 7.475
  },
  {
    "symbol": "MARA",
    "total_score": 61.03,
    "raw_score": 64.7,
    "breakdown": {
      "price_quality": 3.97,
      "volume_quality": 12.0,
      "rvol": 12.0,
      "volume_acceleration": 2.99,
      "price_momentum": 0.17,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.67,
      "spread_liquidity": 4.63,
      "momentum_consistency": 4.07,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.975,
      "vwap": 8.954,
      "vwap_slope": -0.0012,
      "rvol": 13.4,
      "volume_acceleration": 0.86,
      "premarket_volume": 6702346.0,
      "momentum_pct": 0.11,
      "consolidation_tightness_pct": 0.44,
      "distance_from_pm_high_pct": 0.44,
      "extension_from_vwap_pct": 0.24,
      "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": false
    },
    "pm_high": 9.015,
    "pm_low": 8.91
  },
  {
    "symbol": "LXU",
    "total_score": 61.0,
    "raw_score": 64.66,
    "breakdown": {
      "price_quality": 4.67,
      "volume_quality": 10.53,
      "rvol": 0.42,
      "volume_acceleration": 9.07,
      "price_momentum": 0.36,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 6,
      "spread_liquidity": 4.35,
      "momentum_consistency": 2.86,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.33,
      "vwap": 10.3036,
      "vwap_slope": 0.0054,
      "rvol": 0.18,
      "volume_acceleration": 1.91,
      "premarket_volume": 87724.0,
      "momentum_pct": 0.24,
      "consolidation_tightness_pct": 0.29,
      "distance_from_pm_high_pct": 0.0,
      "extension_from_vwap_pct": 0.26,
      "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.33,
    "pm_low": 10.27
  },
  {
    "symbol": "NMFC",
    "total_score": 60.9,
    "raw_score": 64.55,
    "breakdown": {
      "price_quality": 2.5,
      "volume_quality": 3.13,
      "rvol": 0.13,
      "volume_acceleration": 10,
      "price_momentum": 0.4,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.9,
      "spread_liquidity": 4.56,
      "momentum_consistency": 1.93,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.505,
      "vwap": 7.4962,
      "vwap_slope": 0.0009,
      "rvol": 0.05,
      "volume_acceleration": 2.09,
      "premarket_volume": 26105.0,
      "momentum_pct": 0.27,
      "consolidation_tightness_pct": 0.4,
      "distance_from_pm_high_pct": 0.13,
      "extension_from_vwap_pct": 0.12,
      "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.515,
    "pm_low": 7.485
  },
  {
    "symbol": "CARS",
    "total_score": 60.63,
    "raw_score": 64.27,
    "breakdown": {
      "price_quality": 3.12,
      "volume_quality": 6.89,
      "rvol": 0.28,
      "volume_acceleration": 3.49,
      "price_momentum": 0.38,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 6,
      "spread_liquidity": 4.72,
      "momentum_consistency": 3.4,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.88,
      "vwap": 11.8533,
      "vwap_slope": 0.0046,
      "rvol": 0.11,
      "volume_acceleration": 1.35,
      "premarket_volume": 57385.0,
      "momentum_pct": 0.25,
      "consolidation_tightness_pct": 0.25,
      "distance_from_pm_high_pct": 0.0,
      "extension_from_vwap_pct": 0.22,
      "spread_pct": 0.08
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 11.88,
    "pm_low": 11.83
  },
  {
    "symbol": "REPL",
    "total_score": 60.53,
    "raw_score": 64.16,
    "breakdown": {
      "price_quality": 0.0,
      "volume_quality": 12.0,
      "rvol": 1.0,
      "volume_acceleration": 10,
      "price_momentum": 0.19,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 6,
      "spread_liquidity": 4.57,
      "momentum_consistency": 4.0,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 15.56,
      "vwap": 15.4004,
      "vwap_slope": 0.0403,
      "rvol": 0.42,
      "volume_acceleration": 2.54,
      "premarket_volume": 208019.0,
      "momentum_pct": 0.13,
      "consolidation_tightness_pct": 0.55,
      "distance_from_pm_high_pct": 0.0,
      "extension_from_vwap_pct": 1.04,
      "spread_pct": 0.13
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 15.56,
    "pm_low": 15.195
  },
  {
    "symbol": "BTGO",
    "total_score": 60.28,
    "raw_score": 63.9,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 0.55,
      "volume_acceleration": 1.62,
      "price_momentum": 0.61,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.75,
      "spread_liquidity": 3.77,
      "momentum_consistency": 2.1,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.452,
      "vwap": 5.4253,
      "vwap_slope": 0.0054,
      "rvol": 0.23,
      "volume_acceleration": 0.47,
      "premarket_volume": 115223.0,
      "momentum_pct": 0.41,
      "consolidation_tightness_pct": 0.92,
      "distance_from_pm_high_pct": 0.33,
      "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.47,
    "pm_low": 5.39
  },
  {
    "symbol": "LCID",
    "total_score": 59.96,
    "raw_score": 63.56,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 7.24,
      "volume_acceleration": 2.79,
      "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": 4.42,
      "momentum_consistency": 3.72,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.775,
      "vwap": 5.7592,
      "vwap_slope": 0.0002,
      "rvol": 2.72,
      "volume_acceleration": 0.8,
      "premarket_volume": 1357988.0,
      "momentum_pct": -0.09,
      "consolidation_tightness_pct": 0.52,
      "distance_from_pm_high_pct": 0.69,
      "extension_from_vwap_pct": 0.27,
      "spread_pct": 0.17
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 5.815,
    "pm_low": 5.73
  },
  {
    "symbol": "MASS",
    "total_score": 59.9,
    "raw_score": 63.5,
    "breakdown": {
      "price_quality": 4.97,
      "volume_quality": 3.26,
      "rvol": 0.13,
      "volume_acceleration": 5.96,
      "price_momentum": 0.3,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.92,
      "spread_liquidity": 4.67,
      "momentum_consistency": 2.29,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.97,
      "vwap": 9.948,
      "vwap_slope": 0.0017,
      "rvol": 0.05,
      "volume_acceleration": 1.6,
      "premarket_volume": 27179.0,
      "momentum_pct": 0.2,
      "consolidation_tightness_pct": 0.3,
      "distance_from_pm_high_pct": 0.1,
      "extension_from_vwap_pct": 0.22,
      "spread_pct": 0.1
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 9.98,
    "pm_low": 9.89
  },
  {
    "symbol": "FMC",
    "total_score": 59.69,
    "raw_score": 63.27,
    "breakdown": {
      "price_quality": 4.82,
      "volume_quality": 12.0,
      "rvol": 1.02,
      "volume_acceleration": 5.17,
      "price_momentum": 0.1,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 6,
      "spread_liquidity": 4.67,
      "momentum_consistency": 3.09,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.18,
      "vwap": 10.1266,
      "vwap_slope": 0.0153,
      "rvol": 0.43,
      "volume_acceleration": 1.52,
      "premarket_volume": 212777.0,
      "momentum_pct": 0.07,
      "consolidation_tightness_pct": 0.39,
      "distance_from_pm_high_pct": 0.0,
      "extension_from_vwap_pct": 0.53,
      "spread_pct": 0.1
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 10.18,
    "pm_low": 10.07
  },
  {
    "symbol": "FSK",
    "total_score": 59.66,
    "raw_score": 63.24,
    "breakdown": {
      "price_quality": 3.03,
      "volume_quality": 12.0,
      "rvol": 0.81,
      "volume_acceleration": 8.2,
      "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.72,
      "momentum_consistency": 2.15,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.975,
      "vwap": 11.9664,
      "vwap_slope": 0.0049,
      "rvol": 0.34,
      "volume_acceleration": 1.82,
      "premarket_volume": 168027.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.08,
      "distance_from_pm_high_pct": 0.08,
      "extension_from_vwap_pct": 0.07,
      "spread_pct": 0.08
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 11.985,
    "pm_low": 11.94
  },
  {
    "symbol": "CTOS",
    "total_score": 59.51,
    "raw_score": 63.08,
    "breakdown": {
      "price_quality": 4.96,
      "volume_quality": 9.98,
      "rvol": 0.4,
      "volume_acceleration": 7.48,
      "price_momentum": 0.15,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.92,
      "spread_liquidity": 4.67,
      "momentum_consistency": 3.12,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.96,
      "vwap": 9.9151,
      "vwap_slope": 0.015,
      "rvol": 0.17,
      "volume_acceleration": 1.75,
      "premarket_volume": 83152.0,
      "momentum_pct": 0.1,
      "consolidation_tightness_pct": 0.4,
      "distance_from_pm_high_pct": 0.1,
      "extension_from_vwap_pct": 0.45,
      "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.97,
    "pm_low": 9.875
  },
  {
    "symbol": "SVV",
    "total_score": 59.37,
    "raw_score": 62.93,
    "breakdown": {
      "price_quality": 4.38,
      "volume_quality": 12.0,
      "rvol": 1.34,
      "volume_acceleration": 5.89,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.93,
      "spread_liquidity": 4.69,
      "momentum_consistency": 2.31,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.625,
      "vwap": 10.5758,
      "vwap_slope": 0.0102,
      "rvol": 0.56,
      "volume_acceleration": 1.59,
      "premarket_volume": 278649.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.19,
      "distance_from_pm_high_pct": 0.09,
      "extension_from_vwap_pct": 0.47,
      "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.635,
    "pm_low": 10.54
  },
  {
    "symbol": "COMP",
    "total_score": 59.27,
    "raw_score": 62.83,
    "breakdown": {
      "price_quality": 2.6,
      "volume_quality": 12.0,
      "rvol": 2.95,
      "volume_acceleration": 4.87,
      "price_momentum": 0.24,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.91,
      "spread_liquidity": 4.73,
      "momentum_consistency": 3.12,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.4,
      "vwap": 12.3588,
      "vwap_slope": 0.0091,
      "rvol": 1.23,
      "volume_acceleration": 1.49,
      "premarket_volume": 615538.0,
      "momentum_pct": 0.16,
      "consolidation_tightness_pct": 0.52,
      "distance_from_pm_high_pct": 0.12,
      "extension_from_vwap_pct": 0.33,
      "spread_pct": 0.08
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 12.415,
    "pm_low": 12.31
  },
  {
    "symbol": "FOSL",
    "total_score": 59.14,
    "raw_score": 62.69,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 0.6,
      "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": 3.77,
      "momentum_consistency": 2.49,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.41,
      "vwap": 5.3876,
      "vwap_slope": 0.0093,
      "rvol": 0.25,
      "volume_acceleration": 4.05,
      "premarket_volume": 125122.0,
      "momentum_pct": -0.09,
      "consolidation_tightness_pct": 0.28,
      "distance_from_pm_high_pct": 0.09,
      "extension_from_vwap_pct": 0.42,
      "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": 5.415,
    "pm_low": 5.35
  },
  {
    "symbol": "RCAT",
    "total_score": 59.1,
    "raw_score": 62.65,
    "breakdown": {
      "price_quality": 4.68,
      "volume_quality": 12.0,
      "rvol": 2.42,
      "volume_acceleration": 3.13,
      "price_momentum": 0.29,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.75,
      "spread_liquidity": 4.68,
      "momentum_consistency": 3.31,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.325,
      "vwap": 10.3073,
      "vwap_slope": 0.0008,
      "rvol": 1.01,
      "volume_acceleration": 0.9,
      "premarket_volume": 503420.0,
      "momentum_pct": 0.19,
      "consolidation_tightness_pct": 0.44,
      "distance_from_pm_high_pct": 0.34,
      "extension_from_vwap_pct": 0.17,
      "spread_pct": 0.1
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 10.36,
    "pm_low": 10.25
  },
  {
    "symbol": "KMDA",
    "total_score": 58.93,
    "raw_score": 62.46,
    "breakdown": {
      "price_quality": 2.88,
      "volume_quality": 4.25,
      "rvol": 0.17,
      "volume_acceleration": 5.81,
      "price_momentum": 0.08,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.94,
      "spread_liquidity": 4.58,
      "momentum_consistency": 2.75,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.8842,
      "vwap": 7.8582,
      "vwap_slope": 0.0046,
      "rvol": 0.07,
      "volume_acceleration": 1.58,
      "premarket_volume": 35400.0,
      "momentum_pct": 0.05,
      "consolidation_tightness_pct": 0.19,
      "distance_from_pm_high_pct": 0.07,
      "extension_from_vwap_pct": 0.33,
      "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.89,
    "pm_low": 7.83
  },
  {
    "symbol": "MBLY",
    "total_score": 58.9,
    "raw_score": 62.44,
    "breakdown": {
      "price_quality": 3.72,
      "volume_quality": 12.0,
      "rvol": 4.07,
      "volume_acceleration": 2.91,
      "price_momentum": 0.34,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.66,
      "spread_liquidity": 4.62,
      "momentum_consistency": 2.71,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.725,
      "vwap": 8.6825,
      "vwap_slope": 0.0054,
      "rvol": 1.53,
      "volume_acceleration": 0.84,
      "premarket_volume": 762839.0,
      "momentum_pct": 0.23,
      "consolidation_tightness_pct": 1.03,
      "distance_from_pm_high_pct": 0.46,
      "extension_from_vwap_pct": 0.49,
      "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.765,
    "pm_low": 8.63
  },
  {
    "symbol": "SSYS",
    "total_score": 58.87,
    "raw_score": 62.4,
    "breakdown": {
      "price_quality": 3.57,
      "volume_quality": 8.57,
      "rvol": 0.34,
      "volume_acceleration": 1.78,
      "price_momentum": 0.35,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.91,
      "spread_liquidity": 3.45,
      "momentum_consistency": 2.42,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.57,
      "vwap": 8.5486,
      "vwap_slope": 0.0001,
      "rvol": 0.14,
      "volume_acceleration": 0.51,
      "premarket_volume": 71438.0,
      "momentum_pct": 0.23,
      "consolidation_tightness_pct": 0.29,
      "distance_from_pm_high_pct": 0.12,
      "extension_from_vwap_pct": 0.25,
      "spread_pct": 0.47
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 8.58,
    "pm_low": 8.5108
  },
  {
    "symbol": "VISN",
    "total_score": 58.84,
    "raw_score": 62.37,
    "breakdown": {
      "price_quality": 3.69,
      "volume_quality": 12.0,
      "rvol": 4.51,
      "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.83,
      "spread_liquidity": 4.71,
      "momentum_consistency": 2.03,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.315,
      "vwap": 11.3176,
      "vwap_slope": 0.0012,
      "rvol": 1.69,
      "volume_acceleration": 2.09,
      "premarket_volume": 845567.0,
      "momentum_pct": -0.13,
      "consolidation_tightness_pct": 0.31,
      "distance_from_pm_high_pct": 0.22,
      "extension_from_vwap_pct": -0.02,
      "spread_pct": 0.09
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": true
    },
    "pm_high": 11.34,
    "pm_low": 11.3
  },
  {
    "symbol": "RUM",
    "total_score": 58.83,
    "raw_score": 62.36,
    "breakdown": {
      "price_quality": 2.89,
      "volume_quality": 12.0,
      "rvol": 1.04,
      "volume_acceleration": 6.56,
      "price_momentum": 0.12,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.87,
      "spread_liquidity": 4.58,
      "momentum_consistency": 2.91,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.8911,
      "vwap": 7.8718,
      "vwap_slope": 0.0083,
      "rvol": 0.43,
      "volume_acceleration": 1.66,
      "premarket_volume": 217425.0,
      "momentum_pct": 0.08,
      "consolidation_tightness_pct": 0.25,
      "distance_from_pm_high_pct": 0.18,
      "extension_from_vwap_pct": 0.25,
      "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.905,
    "pm_low": 7.825
  },
  {
    "symbol": "CWK",
    "total_score": 58.74,
    "raw_score": 62.26,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 1.37,
      "volume_acceleration": 7.25,
      "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": 3.08,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.41,
      "vwap": 14.3774,
      "vwap_slope": 0.0145,
      "rvol": 0.57,
      "volume_acceleration": 1.72,
      "premarket_volume": 285684.0,
      "momentum_pct": -0.14,
      "consolidation_tightness_pct": 0.21,
      "distance_from_pm_high_pct": 0.14,
      "extension_from_vwap_pct": 0.23,
      "spread_pct": 0.07
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 14.43,
    "pm_low": 14.31
  },
  {
    "symbol": "EQX",
    "total_score": 58.7,
    "raw_score": 62.22,
    "breakdown": {
      "price_quality": 3.49,
      "volume_quality": 12.0,
      "rvol": 4.71,
      "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.87,
      "spread_liquidity": 4.71,
      "momentum_consistency": 2.71,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.505,
      "vwap": 11.4925,
      "vwap_slope": 0.0069,
      "rvol": 1.77,
      "volume_acceleration": 1.23,
      "premarket_volume": 883825.0,
      "momentum_pct": -0.04,
      "consolidation_tightness_pct": 0.26,
      "distance_from_pm_high_pct": 0.17,
      "extension_from_vwap_pct": 0.11,
      "spread_pct": 0.09
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 11.525,
    "pm_low": 11.455
  },
  {
    "symbol": "ARHS",
    "total_score": 58.61,
    "raw_score": 62.12,
    "breakdown": {
      "price_quality": 4.88,
      "volume_quality": 12.0,
      "rvol": 1.13,
      "volume_acceleration": 3.67,
      "price_momentum": 0.52,
      "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": 3.11,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.12,
      "vwap": 10.1044,
      "vwap_slope": 0.0011,
      "rvol": 0.47,
      "volume_acceleration": 1.06,
      "premarket_volume": 234875.0,
      "momentum_pct": 0.35,
      "consolidation_tightness_pct": 0.49,
      "distance_from_pm_high_pct": 0.34,
      "extension_from_vwap_pct": 0.15,
      "spread_pct": 0.1
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 10.155,
    "pm_low": 10.06
  },
  {
    "symbol": "ATAI",
    "total_score": 58.38,
    "raw_score": 61.88,
    "breakdown": {
      "price_quality": 2.29,
      "volume_quality": 12.0,
      "rvol": 5.47,
      "volume_acceleration": 3.45,
      "price_momentum": 0.1,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 6,
      "spread_liquidity": 4.54,
      "momentum_consistency": 1.63,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.29,
      "vwap": 7.2864,
      "vwap_slope": 0.0002,
      "rvol": 2.05,
      "volume_acceleration": 0.99,
      "premarket_volume": 1026265.0,
      "momentum_pct": 0.07,
      "consolidation_tightness_pct": 0.14,
      "distance_from_pm_high_pct": 0.0,
      "extension_from_vwap_pct": 0.05,
      "spread_pct": 0.14
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 7.29,
    "pm_low": 7.28
  },
  {
    "symbol": "ASLE",
    "total_score": 58.21,
    "raw_score": 61.71,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 4.85,
      "rvol": 0.19,
      "volume_acceleration": 5.8,
      "price_momentum": 0.65,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.87,
      "spread_liquidity": 3.84,
      "momentum_consistency": 3.0,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.76,
      "vwap": 5.7329,
      "vwap_slope": 0.0013,
      "rvol": 0.08,
      "volume_acceleration": 1.58,
      "premarket_volume": 40409.0,
      "momentum_pct": 0.44,
      "consolidation_tightness_pct": 0.61,
      "distance_from_pm_high_pct": 0.17,
      "extension_from_vwap_pct": 0.47,
      "spread_pct": 0.35
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 5.77,
    "pm_low": 5.715
  },
  {
    "symbol": "CLBT",
    "total_score": 58.18,
    "raw_score": 61.67,
    "breakdown": {
      "price_quality": 4.34,
      "volume_quality": 12.0,
      "rvol": 2.97,
      "volume_acceleration": 10,
      "price_momentum": 0.35,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.55,
      "spread_liquidity": 4.69,
      "momentum_consistency": 2.58,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.66,
      "vwap": 10.6472,
      "vwap_slope": -0.0088,
      "rvol": 1.24,
      "volume_acceleration": 2.73,
      "premarket_volume": 618383.0,
      "momentum_pct": 0.24,
      "consolidation_tightness_pct": 0.56,
      "distance_from_pm_high_pct": 0.61,
      "extension_from_vwap_pct": 0.12,
      "spread_pct": 0.09
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 10.725,
    "pm_low": 10.6
  },
  {
    "symbol": "BV",
    "total_score": 58.05,
    "raw_score": 61.53,
    "breakdown": {
      "price_quality": 3.54,
      "volume_quality": 12.0,
      "rvol": 0.49,
      "volume_acceleration": 5.7,
      "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.42,
      "momentum_consistency": 2.94,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.455,
      "vwap": 11.4163,
      "vwap_slope": 0.0045,
      "rvol": 0.21,
      "volume_acceleration": 1.57,
      "premarket_volume": 102933.0,
      "momentum_pct": 0.04,
      "consolidation_tightness_pct": 0.35,
      "distance_from_pm_high_pct": 0.04,
      "extension_from_vwap_pct": 0.34,
      "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.46,
    "pm_low": 11.38
  },
  {
    "symbol": "AVTR",
    "total_score": 58.03,
    "raw_score": 61.51,
    "breakdown": {
      "price_quality": 1.57,
      "volume_quality": 12.0,
      "rvol": 5.24,
      "volume_acceleration": 10,
      "price_momentum": 0.06,
      "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.48,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.425,
      "vwap": 13.4318,
      "vwap_slope": 0.0012,
      "rvol": 1.97,
      "volume_acceleration": 2.32,
      "premarket_volume": 982738.0,
      "momentum_pct": 0.04,
      "consolidation_tightness_pct": 0.15,
      "distance_from_pm_high_pct": 0.26,
      "extension_from_vwap_pct": -0.05,
      "spread_pct": 0.07
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": true
    },
    "pm_high": 13.46,
    "pm_low": 13.41
  },
  {
    "symbol": "NRDS",
    "total_score": 57.92,
    "raw_score": 61.39,
    "breakdown": {
      "price_quality": 4.95,
      "volume_quality": 8.83,
      "rvol": 0.35,
      "volume_acceleration": 7.74,
      "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.72,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.95,
      "vwap": 9.9375,
      "vwap_slope": 0.0128,
      "rvol": 0.15,
      "volume_acceleration": 1.77,
      "premarket_volume": 73555.0,
      "momentum_pct": -0.15,
      "consolidation_tightness_pct": 0.2,
      "distance_from_pm_high_pct": 0.35,
      "extension_from_vwap_pct": 0.13,
      "spread_pct": 0.1
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 9.985,
    "pm_low": 9.901
  },
  {
    "symbol": "XRAY",
    "total_score": 57.87,
    "raw_score": 61.35,
    "breakdown": {
      "price_quality": 3.86,
      "volume_quality": 12.0,
      "rvol": 2.23,
      "volume_acceleration": 4.56,
      "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.7,
      "momentum_consistency": 1.76,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.145,
      "vwap": 11.1304,
      "vwap_slope": 0.0016,
      "rvol": 0.93,
      "volume_acceleration": 1.46,
      "premarket_volume": 464793.0,
      "momentum_pct": 0.04,
      "consolidation_tightness_pct": 0.18,
      "distance_from_pm_high_pct": 0.31,
      "extension_from_vwap_pct": 0.13,
      "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.18,
    "pm_low": 11.1
  },
  {
    "symbol": "CAL",
    "total_score": 57.8,
    "raw_score": 61.27,
    "breakdown": {
      "price_quality": 1.83,
      "volume_quality": 9.74,
      "rvol": 0.39,
      "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.24,
      "momentum_consistency": 2.78,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.17,
      "vwap": 13.1349,
      "vwap_slope": 0.005,
      "rvol": 0.16,
      "volume_acceleration": 2.4,
      "premarket_volume": 81194.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.53,
      "distance_from_pm_high_pct": 0.15,
      "extension_from_vwap_pct": 0.27,
      "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": 13.19,
    "pm_low": 13.07
  },
  {
    "symbol": "DCH",
    "total_score": 57.69,
    "raw_score": 61.15,
    "breakdown": {
      "price_quality": 1.53,
      "volume_quality": 12.0,
      "rvol": 1.06,
      "volume_acceleration": 4.11,
      "price_momentum": 0.23,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.83,
      "spread_liquidity": 4.49,
      "momentum_consistency": 3.11,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.525,
      "vwap": 6.5062,
      "vwap_slope": -0.0003,
      "rvol": 0.44,
      "volume_acceleration": 1.41,
      "premarket_volume": 220856.0,
      "momentum_pct": 0.15,
      "consolidation_tightness_pct": 0.25,
      "distance_from_pm_high_pct": 0.23,
      "extension_from_vwap_pct": 0.29,
      "spread_pct": 0.15
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 6.54,
    "pm_low": 6.48
  },
  {
    "symbol": "SMWB",
    "total_score": 57.62,
    "raw_score": 61.08,
    "breakdown": {
      "price_quality": 3.56,
      "volume_quality": 7.16,
      "rvol": 0.29,
      "volume_acceleration": 7.85,
      "price_momentum": 0.18,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.83,
      "spread_liquidity": 4.22,
      "momentum_consistency": 3.2,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.56,
      "vwap": 8.5525,
      "vwap_slope": -0.0027,
      "rvol": 0.12,
      "volume_acceleration": 1.79,
      "premarket_volume": 59650.0,
      "momentum_pct": 0.12,
      "consolidation_tightness_pct": 0.35,
      "distance_from_pm_high_pct": 0.23,
      "extension_from_vwap_pct": 0.09,
      "spread_pct": 0.23
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 8.58,
    "pm_low": 8.53
  },
  {
    "symbol": "UPWK",
    "total_score": 57.57,
    "raw_score": 61.02,
    "breakdown": {
      "price_quality": 3.48,
      "volume_quality": 12.0,
      "rvol": 2.56,
      "volume_acceleration": 3.59,
      "price_momentum": 0.21,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.88,
      "spread_liquidity": 4.61,
      "momentum_consistency": 2.31,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.4768,
      "vwap": 8.438,
      "vwap_slope": 0.0066,
      "rvol": 1.07,
      "volume_acceleration": 1.03,
      "premarket_volume": 532932.0,
      "momentum_pct": 0.14,
      "consolidation_tightness_pct": 0.3,
      "distance_from_pm_high_pct": 0.16,
      "extension_from_vwap_pct": 0.46,
      "spread_pct": 0.12
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 8.49,
    "pm_low": 8.4
  },
  {
    "symbol": "CPRI",
    "total_score": 57.4,
    "raw_score": 60.85,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 3.26,
      "volume_acceleration": 3.39,
      "price_momentum": 0.36,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 6,
      "spread_liquidity": 4.77,
      "momentum_consistency": 3.17,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.675,
      "vwap": 14.6084,
      "vwap_slope": 0.0039,
      "rvol": 1.36,
      "volume_acceleration": 0.97,
      "premarket_volume": 678304.0,
      "momentum_pct": 0.24,
      "consolidation_tightness_pct": 0.44,
      "distance_from_pm_high_pct": 0.0,
      "extension_from_vwap_pct": 0.46,
      "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.675,
    "pm_low": 14.54
  },
  {
    "symbol": "TRIP",
    "total_score": 57.4,
    "raw_score": 60.84,
    "breakdown": {
      "price_quality": 4.74,
      "volume_quality": 12.0,
      "rvol": 1.3,
      "volume_acceleration": 3.61,
      "price_momentum": 0.22,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 6,
      "spread_liquidity": 4.68,
      "momentum_consistency": 1.9,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.26,
      "vwap": 10.229,
      "vwap_slope": 0.0026,
      "rvol": 0.54,
      "volume_acceleration": 1.04,
      "premarket_volume": 270449.0,
      "momentum_pct": 0.15,
      "consolidation_tightness_pct": 0.2,
      "distance_from_pm_high_pct": 0.0,
      "extension_from_vwap_pct": 0.3,
      "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.26,
    "pm_low": 10.195
  },
  {
    "symbol": "LADR",
    "total_score": 57.37,
    "raw_score": 60.82,
    "breakdown": {
      "price_quality": 4.94,
      "volume_quality": 12.0,
      "rvol": 2.25,
      "volume_acceleration": 2.75,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.77,
      "spread_liquidity": 4.66,
      "momentum_consistency": 2.04,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.94,
      "vwap": 9.9381,
      "vwap_slope": 0.0001,
      "rvol": 0.94,
      "volume_acceleration": 0.79,
      "premarket_volume": 468424.0,
      "momentum_pct": -0.05,
      "consolidation_tightness_pct": 0.1,
      "distance_from_pm_high_pct": 0.3,
      "extension_from_vwap_pct": 0.02,
      "spread_pct": 0.1
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 9.97,
    "pm_low": 9.91
  },
  {
    "symbol": "BVS",
    "total_score": 57.3,
    "raw_score": 60.74,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 0.49,
      "volume_acceleration": 6.57,
      "price_momentum": 0.08,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.88,
      "spread_liquidity": 4.54,
      "momentum_consistency": 3.29,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.5476,
      "vwap": 14.4981,
      "vwap_slope": 0.0283,
      "rvol": 0.2,
      "volume_acceleration": 1.66,
      "premarket_volume": 101273.0,
      "momentum_pct": 0.05,
      "consolidation_tightness_pct": 0.27,
      "distance_from_pm_high_pct": 0.15,
      "extension_from_vwap_pct": 0.34,
      "spread_pct": 0.14
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 14.57,
    "pm_low": 14.423
  },
  {
    "symbol": "DX",
    "total_score": 57.21,
    "raw_score": 60.64,
    "breakdown": {
      "price_quality": 1.83,
      "volume_quality": 12.0,
      "rvol": 4.14,
      "volume_acceleration": 2.87,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.94,
      "spread_liquidity": 4.75,
      "momentum_consistency": 2.71,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.17,
      "vwap": 13.165,
      "vwap_slope": 0.0011,
      "rvol": 1.55,
      "volume_acceleration": 0.82,
      "premarket_volume": 776160.0,
      "momentum_pct": -0.08,
      "consolidation_tightness_pct": 0.11,
      "distance_from_pm_high_pct": 0.08,
      "extension_from_vwap_pct": 0.04,
      "spread_pct": 0.08
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 13.18,
    "pm_low": 13.14
  },
  {
    "symbol": "RILY",
    "total_score": 57.18,
    "raw_score": 60.61,
    "breakdown": {
      "price_quality": 2.19,
      "volume_quality": 5.06,
      "rvol": 0.2,
      "volume_acceleration": 3.2,
      "price_momentum": 0.63,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 6,
      "spread_liquidity": 4.07,
      "momentum_consistency": 3.26,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.19,
      "vwap": 7.1534,
      "vwap_slope": 0.0189,
      "rvol": 0.08,
      "volume_acceleration": 0.92,
      "premarket_volume": 42205.0,
      "momentum_pct": 0.42,
      "consolidation_tightness_pct": 0.42,
      "distance_from_pm_high_pct": 0.0,
      "extension_from_vwap_pct": 0.51,
      "spread_pct": 0.28
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 7.19,
    "pm_low": 7.09
  },
  {
    "symbol": "WU",
    "total_score": 57.16,
    "raw_score": 60.59,
    "breakdown": {
      "price_quality": 2.32,
      "volume_quality": 12.0,
      "rvol": 4.36,
      "volume_acceleration": 2.22,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.9,
      "spread_liquidity": 4.54,
      "momentum_consistency": 2.85,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.315,
      "vwap": 7.3002,
      "vwap_slope": 0.0026,
      "rvol": 1.64,
      "volume_acceleration": 0.64,
      "premarket_volume": 818044.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.14,
      "distance_from_pm_high_pct": 0.14,
      "extension_from_vwap_pct": 0.2,
      "spread_pct": 0.14
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 7.325,
    "pm_low": 7.265
  },
  {
    "symbol": "INFQ",
    "total_score": 57.13,
    "raw_score": 60.56,
    "breakdown": {
      "price_quality": 2.07,
      "volume_quality": 12.0,
      "rvol": 2.54,
      "volume_acceleration": 3.48,
      "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.48,
      "momentum_consistency": 3.72,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.925,
      "vwap": 12.8787,
      "vwap_slope": 0.0104,
      "rvol": 1.06,
      "volume_acceleration": 1.0,
      "premarket_volume": 529214.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.31,
      "distance_from_pm_high_pct": 0.19,
      "extension_from_vwap_pct": 0.36,
      "spread_pct": 0.15
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 12.95,
    "pm_low": 12.81
  },
  {
    "symbol": "KOPN",
    "total_score": 56.98,
    "raw_score": 60.4,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 1.72,
      "volume_acceleration": 6.31,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.63,
      "spread_liquidity": 4.35,
      "momentum_consistency": 2.48,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.105,
      "vwap": 5.0967,
      "vwap_slope": 0.0039,
      "rvol": 0.72,
      "volume_acceleration": 1.63,
      "premarket_volume": 358944.0,
      "momentum_pct": -0.2,
      "consolidation_tightness_pct": 0.68,
      "distance_from_pm_high_pct": 0.49,
      "extension_from_vwap_pct": 0.16,
      "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.13,
    "pm_low": 5.06
  },
  {
    "symbol": "KRO",
    "total_score": 56.95,
    "raw_score": 60.37,
    "breakdown": {
      "price_quality": 2.96,
      "volume_quality": 5.01,
      "rvol": 0.2,
      "volume_acceleration": 3.64,
      "price_momentum": 0.09,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 6,
      "spread_liquidity": 4.16,
      "momentum_consistency": 2.31,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.955,
      "vwap": 7.926,
      "vwap_slope": 0.0062,
      "rvol": 0.08,
      "volume_acceleration": 1.36,
      "premarket_volume": 41752.0,
      "momentum_pct": 0.06,
      "consolidation_tightness_pct": 0.31,
      "distance_from_pm_high_pct": 0.0,
      "extension_from_vwap_pct": 0.37,
      "spread_pct": 0.25
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 7.955,
    "pm_low": 7.895
  },
  {
    "symbol": "QS",
    "total_score": 56.89,
    "raw_score": 60.3,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 4.97,
      "volume_acceleration": 2.83,
      "price_momentum": 0.13,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.74,
      "spread_liquidity": 4.42,
      "momentum_consistency": 2.31,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.75,
      "vwap": 5.7304,
      "vwap_slope": 0.0038,
      "rvol": 1.87,
      "volume_acceleration": 0.81,
      "premarket_volume": 932611.0,
      "momentum_pct": 0.09,
      "consolidation_tightness_pct": 0.61,
      "distance_from_pm_high_pct": 0.35,
      "extension_from_vwap_pct": 0.34,
      "spread_pct": 0.17
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 5.77,
    "pm_low": 5.7
  },
  {
    "symbol": "GSBD",
    "total_score": 56.87,
    "raw_score": 60.28,
    "breakdown": {
      "price_quality": 4.81,
      "volume_quality": 5.35,
      "rvol": 0.21,
      "volume_acceleration": 10,
      "price_momentum": 0.61,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.99,
      "spread_liquidity": 4.66,
      "momentum_consistency": 2.24,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.815,
      "vwap": 9.7946,
      "vwap_slope": 0.0158,
      "rvol": 0.09,
      "volume_acceleration": 2.67,
      "premarket_volume": 44553.0,
      "momentum_pct": 0.41,
      "consolidation_tightness_pct": 0.42,
      "distance_from_pm_high_pct": 0.01,
      "extension_from_vwap_pct": 0.21,
      "spread_pct": 0.1
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 9.8157,
    "pm_low": 9.77
  },
  {
    "symbol": "APPS",
    "total_score": 56.84,
    "raw_score": 60.26,
    "breakdown": {
      "price_quality": 2.78,
      "volume_quality": 12.0,
      "rvol": 1.03,
      "volume_acceleration": 4.54,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.6,
      "spread_liquidity": 4.73,
      "momentum_consistency": 3.17,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.22,
      "vwap": 12.2081,
      "vwap_slope": 0.0127,
      "rvol": 0.43,
      "volume_acceleration": 1.45,
      "premarket_volume": 213767.0,
      "momentum_pct": -0.24,
      "consolidation_tightness_pct": 0.74,
      "distance_from_pm_high_pct": 0.53,
      "extension_from_vwap_pct": 0.1,
      "spread_pct": 0.08
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 12.285,
    "pm_low": 12.145
  },
  {
    "symbol": "BGC",
    "total_score": 56.8,
    "raw_score": 60.21,
    "breakdown": {
      "price_quality": 3.89,
      "volume_quality": 12.0,
      "rvol": 1.34,
      "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.97,
      "spread_liquidity": 4.7,
      "momentum_consistency": 2.25,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.105,
      "vwap": 11.0742,
      "vwap_slope": 0.0049,
      "rvol": 0.56,
      "volume_acceleration": 1.05,
      "premarket_volume": 280022.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.14,
      "distance_from_pm_high_pct": 0.05,
      "extension_from_vwap_pct": 0.28,
      "spread_pct": 0.09
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 11.11,
    "pm_low": 11.025
  },
  {
    "symbol": "IBRX",
    "total_score": 56.8,
    "raw_score": 60.21,
    "breakdown": {
      "price_quality": 2.62,
      "volume_quality": 12.0,
      "rvol": 2.27,
      "volume_acceleration": 3.56,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.95,
      "spread_liquidity": 4.56,
      "momentum_consistency": 2.85,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.615,
      "vwap": 7.5958,
      "vwap_slope": 0.0026,
      "rvol": 0.95,
      "volume_acceleration": 1.02,
      "premarket_volume": 472502.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.14,
      "distance_from_pm_high_pct": 0.07,
      "extension_from_vwap_pct": 0.25,
      "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.62,
    "pm_low": 7.57
  },
  {
    "symbol": "JBLU",
    "total_score": 56.73,
    "raw_score": 60.13,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 9.8,
      "volume_acceleration": 4.29,
      "price_momentum": 0.3,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.85,
      "spread_liquidity": 4.34,
      "momentum_consistency": 2.85,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.07,
      "vwap": 5.057,
      "vwap_slope": -0.001,
      "rvol": 3.68,
      "volume_acceleration": 1.43,
      "premarket_volume": 1837989.0,
      "momentum_pct": 0.2,
      "consolidation_tightness_pct": 0.59,
      "distance_from_pm_high_pct": 0.2,
      "extension_from_vwap_pct": 0.26,
      "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": false
    },
    "pm_high": 5.08,
    "pm_low": 5.04
  },
  {
    "symbol": "SLS",
    "total_score": 56.65,
    "raw_score": 60.04,
    "breakdown": {
      "price_quality": 2.05,
      "volume_quality": 12.0,
      "rvol": 1.76,
      "volume_acceleration": 3.94,
      "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": 3.59,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.95,
      "vwap": 12.9349,
      "vwap_slope": 0.0056,
      "rvol": 0.73,
      "volume_acceleration": 1.39,
      "premarket_volume": 366396.0,
      "momentum_pct": -0.04,
      "consolidation_tightness_pct": 0.46,
      "distance_from_pm_high_pct": 0.23,
      "extension_from_vwap_pct": 0.12,
      "spread_pct": 0.15
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 12.98,
    "pm_low": 12.87
  },
  {
    "symbol": "SGRY",
    "total_score": 56.52,
    "raw_score": 59.92,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 0.73,
      "volume_acceleration": 2.33,
      "price_momentum": 1.0,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 6,
      "spread_liquidity": 4.53,
      "momentum_consistency": 3.02,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.32,
      "vwap": 14.2606,
      "vwap_slope": -0.0033,
      "rvol": 0.31,
      "volume_acceleration": 1.23,
      "premarket_volume": 152877.0,
      "momentum_pct": 0.67,
      "consolidation_tightness_pct": 0.74,
      "distance_from_pm_high_pct": 0.0,
      "extension_from_vwap_pct": 0.42,
      "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.32,
    "pm_low": 14.215
  },
  {
    "symbol": "TOYO",
    "total_score": 56.37,
    "raw_score": 59.75,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 10.15,
      "rvol": 0.41,
      "volume_acceleration": 10,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.28,
      "spread_liquidity": 3.24,
      "momentum_consistency": 2.78,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.675,
      "vwap": 5.6722,
      "vwap_slope": 0.0001,
      "rvol": 0.17,
      "volume_acceleration": 2.16,
      "premarket_volume": 84609.0,
      "momentum_pct": -0.1,
      "consolidation_tightness_pct": 0.35,
      "distance_from_pm_high_pct": 0.96,
      "extension_from_vwap_pct": 0.05,
      "spread_pct": 0.53
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 5.73,
    "pm_low": 5.645
  },
  {
    "symbol": "ATEC",
    "total_score": 56.34,
    "raw_score": 59.72,
    "breakdown": {
      "price_quality": 4.62,
      "volume_quality": 12.0,
      "rvol": 0.83,
      "volume_acceleration": 2.24,
      "price_momentum": 0.08,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.81,
      "spread_liquidity": 4.65,
      "momentum_consistency": 3.09,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.615,
      "vwap": 9.5925,
      "vwap_slope": 0.0009,
      "rvol": 0.35,
      "volume_acceleration": 1.22,
      "premarket_volume": 173555.0,
      "momentum_pct": 0.05,
      "consolidation_tightness_pct": 0.31,
      "distance_from_pm_high_pct": 0.26,
      "extension_from_vwap_pct": 0.23,
      "spread_pct": 0.1
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 9.64,
    "pm_low": 9.555
  },
  {
    "symbol": "ADMA",
    "total_score": 56.24,
    "raw_score": 59.62,
    "breakdown": {
      "price_quality": 4.51,
      "volume_quality": 12.0,
      "rvol": 0.52,
      "volume_acceleration": 3.45,
      "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.65,
      "momentum_consistency": 2.13,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.505,
      "vwap": 9.4684,
      "vwap_slope": 0.0062,
      "rvol": 0.22,
      "volume_acceleration": 0.99,
      "premarket_volume": 108063.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.11,
      "distance_from_pm_high_pct": 0.05,
      "extension_from_vwap_pct": 0.39,
      "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.51,
    "pm_low": 9.42
  },
  {
    "symbol": "ABSI",
    "total_score": 56.24,
    "raw_score": 59.61,
    "breakdown": {
      "price_quality": 3.73,
      "volume_quality": 12.0,
      "rvol": 1.06,
      "volume_acceleration": 2.48,
      "price_momentum": 0.09,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 6,
      "spread_liquidity": 4.62,
      "momentum_consistency": 3.23,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.735,
      "vwap": 8.6898,
      "vwap_slope": 0.0058,
      "rvol": 0.44,
      "volume_acceleration": 0.71,
      "premarket_volume": 220873.0,
      "momentum_pct": 0.06,
      "consolidation_tightness_pct": 0.23,
      "distance_from_pm_high_pct": 0.0,
      "extension_from_vwap_pct": 0.52,
      "spread_pct": 0.11
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 8.735,
    "pm_low": 8.63
  },
  {
    "symbol": "XMAX",
    "total_score": 56.09,
    "raw_score": 59.45,
    "breakdown": {
      "price_quality": 3.94,
      "volume_quality": 3.83,
      "rvol": 0.15,
      "volume_acceleration": 1.55,
      "price_momentum": 0.59,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 6,
      "spread_liquidity": 4.63,
      "momentum_consistency": 2.77,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.935,
      "vwap": 8.8996,
      "vwap_slope": 0.0045,
      "rvol": 0.06,
      "volume_acceleration": 1.16,
      "premarket_volume": 31885.0,
      "momentum_pct": 0.39,
      "consolidation_tightness_pct": 0.56,
      "distance_from_pm_high_pct": 0.0,
      "extension_from_vwap_pct": 0.4,
      "spread_pct": 0.11
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 8.935,
    "pm_low": 8.88
  },
  {
    "symbol": "TGB",
    "total_score": 56.0,
    "raw_score": 59.36,
    "breakdown": {
      "price_quality": 3.38,
      "volume_quality": 12.0,
      "rvol": 1.33,
      "volume_acceleration": 3.25,
      "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.6,
      "momentum_consistency": 2.53,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.375,
      "vwap": 8.3696,
      "vwap_slope": 0.0026,
      "rvol": 0.56,
      "volume_acceleration": 0.93,
      "premarket_volume": 278065.0,
      "momentum_pct": -0.12,
      "consolidation_tightness_pct": 0.24,
      "distance_from_pm_high_pct": 0.18,
      "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": true
    },
    "pm_high": 8.3899,
    "pm_low": 8.3412
  },
  {
    "symbol": "BHC",
    "total_score": 55.88,
    "raw_score": 59.23,
    "breakdown": {
      "price_quality": 1.96,
      "volume_quality": 12.0,
      "rvol": 3.45,
      "volume_acceleration": 2.56,
      "price_momentum": 0.12,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.78,
      "spread_liquidity": 4.52,
      "momentum_consistency": 2.44,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.955,
      "vwap": 6.9226,
      "vwap_slope": 0.0061,
      "rvol": 1.44,
      "volume_acceleration": 0.74,
      "premarket_volume": 718303.0,
      "momentum_pct": 0.08,
      "consolidation_tightness_pct": 0.65,
      "distance_from_pm_high_pct": 0.29,
      "extension_from_vwap_pct": 0.47,
      "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.975,
    "pm_low": 6.875
  },
  {
    "symbol": "GOOS",
    "total_score": 55.82,
    "raw_score": 59.16,
    "breakdown": {
      "price_quality": 3.56,
      "volume_quality": 12.0,
      "rvol": 0.53,
      "volume_acceleration": 3.24,
      "price_momentum": 0.09,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.83,
      "spread_liquidity": 4.61,
      "momentum_consistency": 2.91,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.565,
      "vwap": 8.551,
      "vwap_slope": 0.0013,
      "rvol": 0.22,
      "volume_acceleration": 0.93,
      "premarket_volume": 109731.0,
      "momentum_pct": 0.06,
      "consolidation_tightness_pct": 0.23,
      "distance_from_pm_high_pct": 0.23,
      "extension_from_vwap_pct": 0.16,
      "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.585,
    "pm_low": 8.51
  },
  {
    "symbol": "AGNC",
    "total_score": 55.75,
    "raw_score": 59.1,
    "breakdown": {
      "price_quality": 4.09,
      "volume_quality": 12.0,
      "rvol": 8.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.59,
      "spread_liquidity": 4.69,
      "momentum_consistency": 2.17,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.91,
      "vwap": 10.9373,
      "vwap_slope": -0.0116,
      "rvol": 3.06,
      "volume_acceleration": 2.07,
      "premarket_volume": 1528897.0,
      "momentum_pct": -0.09,
      "consolidation_tightness_pct": 0.18,
      "distance_from_pm_high_pct": 0.55,
      "extension_from_vwap_pct": -0.25,
      "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.97,
    "pm_low": 10.91
  },
  {
    "symbol": "TAL",
    "total_score": 55.7,
    "raw_score": 59.05,
    "breakdown": {
      "price_quality": 3.03,
      "volume_quality": 12.0,
      "rvol": 0.95,
      "volume_acceleration": 3.83,
      "price_momentum": 0.13,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.97,
      "spread_liquidity": 4.72,
      "momentum_consistency": 2.03,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.975,
      "vwap": 11.9616,
      "vwap_slope": 0.0025,
      "rvol": 0.39,
      "volume_acceleration": 1.38,
      "premarket_volume": 196897.0,
      "momentum_pct": 0.08,
      "consolidation_tightness_pct": 0.08,
      "distance_from_pm_high_pct": 0.04,
      "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": 11.98,
    "pm_low": 11.935
  },
  {
    "symbol": "HLF",
    "total_score": 55.51,
    "raw_score": 58.84,
    "breakdown": {
      "price_quality": 2.48,
      "volume_quality": 12.0,
      "rvol": 0.84,
      "volume_acceleration": 3.37,
      "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.73,
      "momentum_consistency": 3.16,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.515,
      "vwap": 12.4461,
      "vwap_slope": 0.0335,
      "rvol": 0.35,
      "volume_acceleration": 0.97,
      "premarket_volume": 174200.0,
      "momentum_pct": -0.04,
      "consolidation_tightness_pct": 0.2,
      "distance_from_pm_high_pct": 0.2,
      "extension_from_vwap_pct": 0.55,
      "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.54,
    "pm_low": 12.36
  },
  {
    "symbol": "GSIT",
    "total_score": 55.5,
    "raw_score": 58.84,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 5.55,
      "rvol": 0.22,
      "volume_acceleration": 2.37,
      "price_momentum": 0.12,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.88,
      "spread_liquidity": 4.47,
      "momentum_consistency": 2.73,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.335,
      "vwap": 6.303,
      "vwap_slope": 0.0041,
      "rvol": 0.09,
      "volume_acceleration": 0.68,
      "premarket_volume": 46209.0,
      "momentum_pct": 0.08,
      "consolidation_tightness_pct": 0.47,
      "distance_from_pm_high_pct": 0.16,
      "extension_from_vwap_pct": 0.51,
      "spread_pct": 0.16
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 6.345,
    "pm_low": 6.28
  },
  {
    "symbol": "AURA",
    "total_score": 55.49,
    "raw_score": 58.82,
    "breakdown": {
      "price_quality": 3.15,
      "volume_quality": 10.97,
      "rvol": 0.44,
      "volume_acceleration": 3.36,
      "price_momentum": 0.28,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.82,
      "spread_liquidity": 4.59,
      "momentum_consistency": 3.82,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.155,
      "vwap": 8.1067,
      "vwap_slope": 0.0115,
      "rvol": 0.18,
      "volume_acceleration": 0.97,
      "premarket_volume": 91397.0,
      "momentum_pct": 0.18,
      "consolidation_tightness_pct": 0.98,
      "distance_from_pm_high_pct": 0.24,
      "extension_from_vwap_pct": 0.6,
      "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.175,
    "pm_low": 8.03
  },
  {
    "symbol": "TASK",
    "total_score": 55.43,
    "raw_score": 58.76,
    "breakdown": {
      "price_quality": 2.5,
      "volume_quality": 12.0,
      "rvol": 0.59,
      "volume_acceleration": 3.93,
      "price_momentum": 0.3,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 6,
      "spread_liquidity": 4.56,
      "momentum_consistency": 2.48,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.5,
      "vwap": 7.4748,
      "vwap_slope": 0.0043,
      "rvol": 0.25,
      "volume_acceleration": 1.39,
      "premarket_volume": 123464.0,
      "momentum_pct": 0.2,
      "consolidation_tightness_pct": 0.27,
      "distance_from_pm_high_pct": 0.0,
      "extension_from_vwap_pct": 0.34,
      "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.5,
    "pm_low": 7.45
  },
  {
    "symbol": "PSNL",
    "total_score": 55.43,
    "raw_score": 58.75,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 10.58,
      "rvol": 0.42,
      "volume_acceleration": 6.5,
      "price_momentum": 0.11,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 6,
      "spread_liquidity": 4.52,
      "momentum_consistency": 2.72,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.97,
      "vwap": 13.894,
      "vwap_slope": 0.0142,
      "rvol": 0.18,
      "volume_acceleration": 1.65,
      "premarket_volume": 88202.0,
      "momentum_pct": 0.07,
      "consolidation_tightness_pct": 0.25,
      "distance_from_pm_high_pct": 0.0,
      "extension_from_vwap_pct": 0.55,
      "spread_pct": 0.14
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 13.97,
    "pm_low": 13.8545
  },
  {
    "symbol": "LSPD",
    "total_score": 55.38,
    "raw_score": 58.7,
    "breakdown": {
      "price_quality": 4.56,
      "volume_quality": 9.71,
      "rvol": 0.39,
      "volume_acceleration": 3.97,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.93,
      "spread_liquidity": 4.68,
      "momentum_consistency": 3.06,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.44,
      "vwap": 10.4141,
      "vwap_slope": 0.0145,
      "rvol": 0.16,
      "volume_acceleration": 1.14,
      "premarket_volume": 80953.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.19,
      "distance_from_pm_high_pct": 0.1,
      "extension_from_vwap_pct": 0.25,
      "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.45,
    "pm_low": 10.37
  },
  {
    "symbol": "ORN",
    "total_score": 55.36,
    "raw_score": 58.68,
    "breakdown": {
      "price_quality": 4.59,
      "volume_quality": 9.77,
      "rvol": 0.39,
      "volume_acceleration": 3.44,
      "price_momentum": 0.39,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.96,
      "spread_liquidity": 4.31,
      "momentum_consistency": 3.43,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.585,
      "vwap": 9.5558,
      "vwap_slope": 0.005,
      "rvol": 0.16,
      "volume_acceleration": 0.99,
      "premarket_volume": 81418.0,
      "momentum_pct": 0.26,
      "consolidation_tightness_pct": 0.42,
      "distance_from_pm_high_pct": 0.05,
      "extension_from_vwap_pct": 0.31,
      "spread_pct": 0.21
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 9.59,
    "pm_low": 9.53
  },
  {
    "symbol": "HAYW",
    "total_score": 55.28,
    "raw_score": 58.6,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 1.49,
      "volume_acceleration": 3.48,
      "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.77,
      "momentum_consistency": 2.9,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.625,
      "vwap": 14.6074,
      "vwap_slope": 0.0019,
      "rvol": 0.62,
      "volume_acceleration": 1.35,
      "premarket_volume": 310946.0,
      "momentum_pct": 0.07,
      "consolidation_tightness_pct": 0.14,
      "distance_from_pm_high_pct": 0.07,
      "extension_from_vwap_pct": 0.12,
      "spread_pct": 0.07
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 14.635,
    "pm_low": 14.59
  },
  {
    "symbol": "DUOT",
    "total_score": 55.21,
    "raw_score": 58.53,
    "breakdown": {
      "price_quality": 3.22,
      "volume_quality": 12.0,
      "rvol": 1.43,
      "volume_acceleration": 4.18,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 4.56,
      "spread_liquidity": 3.3,
      "momentum_consistency": 3.43,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.78,
      "vwap": 11.7651,
      "vwap_slope": 0.0009,
      "rvol": 0.6,
      "volume_acceleration": 1.42,
      "premarket_volume": 298554.0,
      "momentum_pct": -0.25,
      "consolidation_tightness_pct": 1.23,
      "distance_from_pm_high_pct": 1.92,
      "extension_from_vwap_pct": 0.13,
      "spread_pct": 0.51
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 12.01,
    "pm_low": 11.6195
  },
  {
    "symbol": "SPOK",
    "total_score": 55.16,
    "raw_score": 58.47,
    "breakdown": {
      "price_quality": 3.98,
      "volume_quality": 2.85,
      "rvol": 0.11,
      "volume_acceleration": 10,
      "price_momentum": 0.07,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.86,
      "spread_liquidity": 4.39,
      "momentum_consistency": 2.4,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.02,
      "vwap": 11.0155,
      "vwap_slope": -0.0033,
      "rvol": 0.05,
      "volume_acceleration": 2.21,
      "premarket_volume": 23741.0,
      "momentum_pct": 0.05,
      "consolidation_tightness_pct": 0.09,
      "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": true,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 11.04,
    "pm_low": 11.0
  },
  {
    "symbol": "JBS",
    "total_score": 55.16,
    "raw_score": 58.47,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 2.92,
      "volume_acceleration": 2.56,
      "price_momentum": 0.11,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.92,
      "spread_liquidity": 4.76,
      "momentum_consistency": 2.31,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.705,
      "vwap": 13.6547,
      "vwap_slope": 0.0153,
      "rvol": 1.22,
      "volume_acceleration": 0.74,
      "premarket_volume": 608639.0,
      "momentum_pct": 0.07,
      "consolidation_tightness_pct": 0.26,
      "distance_from_pm_high_pct": 0.11,
      "extension_from_vwap_pct": 0.37,
      "spread_pct": 0.07
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 13.72,
    "pm_low": 13.58
  },
  {
    "symbol": "QDEL",
    "total_score": 55.14,
    "raw_score": 58.45,
    "breakdown": {
      "price_quality": 1.61,
      "volume_quality": 12.0,
      "rvol": 0.81,
      "volume_acceleration": 3.88,
      "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.75,
      "momentum_consistency": 2.95,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.39,
      "vwap": 13.3096,
      "vwap_slope": 0.0245,
      "rvol": 0.34,
      "volume_acceleration": 1.11,
      "premarket_volume": 167967.0,
      "momentum_pct": 0.15,
      "consolidation_tightness_pct": 0.37,
      "distance_from_pm_high_pct": 0.22,
      "extension_from_vwap_pct": 0.6,
      "spread_pct": 0.07
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 13.42,
    "pm_low": 13.205
  },
  {
    "symbol": "TAC",
    "total_score": 55.07,
    "raw_score": 58.37,
    "breakdown": {
      "price_quality": 2.51,
      "volume_quality": 12.0,
      "rvol": 0.77,
      "volume_acceleration": 10,
      "price_momentum": 0.3,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.79,
      "spread_liquidity": 4.73,
      "momentum_consistency": 3.08,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.495,
      "vwap": 12.477,
      "vwap_slope": -0.0002,
      "rvol": 0.32,
      "volume_acceleration": 2.65,
      "premarket_volume": 159931.0,
      "momentum_pct": 0.2,
      "consolidation_tightness_pct": 0.6,
      "distance_from_pm_high_pct": 0.28,
      "extension_from_vwap_pct": 0.14,
      "spread_pct": 0.08
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 12.53,
    "pm_low": 12.435
  },
  {
    "symbol": "LZ",
    "total_score": 54.99,
    "raw_score": 58.29,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 1.48,
      "volume_acceleration": 4.32,
      "price_momentum": 0.26,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 6,
      "spread_liquidity": 4.42,
      "momentum_consistency": 1.9,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.735,
      "vwap": 5.7191,
      "vwap_slope": 0.0024,
      "rvol": 0.62,
      "volume_acceleration": 1.43,
      "premarket_volume": 309306.0,
      "momentum_pct": 0.17,
      "consolidation_tightness_pct": 0.26,
      "distance_from_pm_high_pct": 0.0,
      "extension_from_vwap_pct": 0.28,
      "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.735,
    "pm_low": 5.7001
  },
  {
    "symbol": "ASAN",
    "total_score": 54.97,
    "raw_score": 58.27,
    "breakdown": {
      "price_quality": 4.24,
      "volume_quality": 12.0,
      "rvol": 1.7,
      "volume_acceleration": 5.22,
      "price_momentum": 0.08,
      "price_structure": 12,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.68,
      "spread_liquidity": 4.64,
      "momentum_consistency": 2.71,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.24,
      "vwap": 9.2415,
      "vwap_slope": -0.0045,
      "rvol": 0.71,
      "volume_acceleration": 1.52,
      "premarket_volume": 355093.0,
      "momentum_pct": 0.05,
      "consolidation_tightness_pct": 0.38,
      "distance_from_pm_high_pct": 0.43,
      "extension_from_vwap_pct": -0.02,
      "spread_pct": 0.11
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 9.28,
    "pm_low": 9.205
  },
  {
    "symbol": "GPGI",
    "total_score": 54.97,
    "raw_score": 58.27,
    "breakdown": {
      "price_quality": 2.37,
      "volume_quality": 12.0,
      "rvol": 0.86,
      "volume_acceleration": 2.95,
      "price_momentum": 0.25,
      "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": 3.14,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.63,
      "vwap": 12.6043,
      "vwap_slope": 0.0016,
      "rvol": 0.36,
      "volume_acceleration": 1.3,
      "premarket_volume": 178585.0,
      "momentum_pct": 0.17,
      "consolidation_tightness_pct": 0.4,
      "distance_from_pm_high_pct": 0.24,
      "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.66,
    "pm_low": 12.55
  },
  {
    "symbol": "CERT",
    "total_score": 54.94,
    "raw_score": 58.24,
    "breakdown": {
      "price_quality": 3.03,
      "volume_quality": 12.0,
      "rvol": 0.89,
      "volume_acceleration": 3.58,
      "price_momentum": 0.19,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.91,
      "spread_liquidity": 4.59,
      "momentum_consistency": 1.66,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.03,
      "vwap": 8.0208,
      "vwap_slope": 0.0003,
      "rvol": 0.37,
      "volume_acceleration": 1.03,
      "premarket_volume": 186316.0,
      "momentum_pct": 0.12,
      "consolidation_tightness_pct": 0.19,
      "distance_from_pm_high_pct": 0.12,
      "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": true,
      "vwap_rising": true
    },
    "pm_high": 8.04,
    "pm_low": 8.0
  },
  {
    "symbol": "GDOT",
    "total_score": 54.93,
    "raw_score": 58.23,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 4.04,
      "rvol": 0.16,
      "volume_acceleration": 3.73,
      "price_momentum": 0.17,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.94,
      "spread_liquidity": 4.51,
      "momentum_consistency": 2.18,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.53,
      "vwap": 13.525,
      "vwap_slope": 0.0049,
      "rvol": 0.07,
      "volume_acceleration": 1.37,
      "premarket_volume": 33625.0,
      "momentum_pct": 0.11,
      "consolidation_tightness_pct": 0.18,
      "distance_from_pm_high_pct": 0.07,
      "extension_from_vwap_pct": 0.04,
      "spread_pct": 0.15
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 13.54,
    "pm_low": 13.5109
  },
  {
    "symbol": "TROX",
    "total_score": 54.85,
    "raw_score": 58.15,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 1.09,
      "volume_acceleration": 3.54,
      "price_momentum": 0.41,
      "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.95,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.515,
      "vwap": 5.5006,
      "vwap_slope": 0.0036,
      "rvol": 0.45,
      "volume_acceleration": 1.02,
      "premarket_volume": 226813.0,
      "momentum_pct": 0.27,
      "consolidation_tightness_pct": 0.45,
      "distance_from_pm_high_pct": 0.18,
      "extension_from_vwap_pct": 0.26,
      "spread_pct": 0.18
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 5.525,
    "pm_low": 5.475
  },
  {
    "symbol": "OPRX",
    "total_score": 54.8,
    "raw_score": 58.08,
    "breakdown": {
      "price_quality": 3.39,
      "volume_quality": 3.06,
      "rvol": 0.12,
      "volume_acceleration": 10,
      "price_momentum": 0.72,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.64,
      "spread_liquidity": 3.41,
      "momentum_consistency": 2.93,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.39,
      "vwap": 8.365,
      "vwap_slope": -0.0204,
      "rvol": 0.05,
      "volume_acceleration": 2.31,
      "premarket_volume": 25529.0,
      "momentum_pct": 0.48,
      "consolidation_tightness_pct": 0.66,
      "distance_from_pm_high_pct": 0.47,
      "extension_from_vwap_pct": 0.3,
      "spread_pct": 0.48
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 8.43,
    "pm_low": 8.33
  },
  {
    "symbol": "PHR",
    "total_score": 54.53,
    "raw_score": 57.8,
    "breakdown": {
      "price_quality": 3.54,
      "volume_quality": 12.0,
      "rvol": 1.96,
      "volume_acceleration": 1.1,
      "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.71,
      "momentum_consistency": 2.52,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.455,
      "vwap": 11.4289,
      "vwap_slope": 0.0029,
      "rvol": 0.81,
      "volume_acceleration": 0.32,
      "premarket_volume": 407359.0,
      "momentum_pct": 0.04,
      "consolidation_tightness_pct": 0.17,
      "distance_from_pm_high_pct": 0.65,
      "extension_from_vwap_pct": 0.23,
      "spread_pct": 0.09
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 11.53,
    "pm_low": 11.36
  },
  {
    "symbol": "SGHC",
    "total_score": 54.52,
    "raw_score": 57.79,
    "breakdown": {
      "price_quality": 2.11,
      "volume_quality": 12.0,
      "rvol": 0.58,
      "volume_acceleration": 3.41,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.94,
      "spread_liquidity": 4.74,
      "momentum_consistency": 2.61,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.89,
      "vwap": 12.8703,
      "vwap_slope": 0.0033,
      "rvol": 0.24,
      "volume_acceleration": 1.34,
      "premarket_volume": 120727.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.27,
      "distance_from_pm_high_pct": 0.08,
      "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": true,
      "vwap_rising": true
    },
    "pm_high": 12.9,
    "pm_low": 12.84
  },
  {
    "symbol": "ACVA",
    "total_score": 54.51,
    "raw_score": 57.78,
    "breakdown": {
      "price_quality": 2.84,
      "volume_quality": 12.0,
      "rvol": 1.16,
      "volume_acceleration": 1.99,
      "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.58,
      "momentum_consistency": 2.9,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.845,
      "vwap": 7.8,
      "vwap_slope": 0.0111,
      "rvol": 0.48,
      "volume_acceleration": 1.2,
      "premarket_volume": 242419.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.19,
      "distance_from_pm_high_pct": 0.13,
      "extension_from_vwap_pct": 0.58,
      "spread_pct": 0.13
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 7.855,
    "pm_low": 7.745
  },
  {
    "symbol": "NVAX",
    "total_score": 54.36,
    "raw_score": 57.62,
    "breakdown": {
      "price_quality": 2.91,
      "volume_quality": 12.0,
      "rvol": 0.64,
      "volume_acceleration": 2.14,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.95,
      "spread_liquidity": 4.58,
      "momentum_consistency": 3.0,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.905,
      "vwap": 7.8911,
      "vwap_slope": 0.0032,
      "rvol": 0.27,
      "volume_acceleration": 1.21,
      "premarket_volume": 133466.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.13,
      "distance_from_pm_high_pct": 0.06,
      "extension_from_vwap_pct": 0.18,
      "spread_pct": 0.13
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 7.91,
    "pm_low": 7.875
  },
  {
    "symbol": "EGY",
    "total_score": 54.35,
    "raw_score": 57.61,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 10.9,
      "rvol": 0.44,
      "volume_acceleration": 5.31,
      "price_momentum": 0.26,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 6,
      "spread_liquidity": 4.42,
      "momentum_consistency": 2.39,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.795,
      "vwap": 5.7813,
      "vwap_slope": 0.0015,
      "rvol": 0.18,
      "volume_acceleration": 1.53,
      "premarket_volume": 90801.0,
      "momentum_pct": 0.17,
      "consolidation_tightness_pct": 0.26,
      "distance_from_pm_high_pct": 0.0,
      "extension_from_vwap_pct": 0.24,
      "spread_pct": 0.17
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 5.795,
    "pm_low": 5.77
  },
  {
    "symbol": "DOLE",
    "total_score": 54.33,
    "raw_score": 57.59,
    "breakdown": {
      "price_quality": 2.01,
      "volume_quality": 12.0,
      "rvol": 0.62,
      "volume_acceleration": 3.96,
      "price_momentum": 0.12,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.83,
      "spread_liquidity": 4.74,
      "momentum_consistency": 1.91,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.99,
      "vwap": 12.9799,
      "vwap_slope": 0.0029,
      "rvol": 0.26,
      "volume_acceleration": 1.14,
      "premarket_volume": 129724.0,
      "momentum_pct": 0.08,
      "consolidation_tightness_pct": 0.15,
      "distance_from_pm_high_pct": 0.23,
      "extension_from_vwap_pct": 0.08,
      "spread_pct": 0.08
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 13.02,
    "pm_low": 12.955
  },
  {
    "symbol": "CWH",
    "total_score": 54.27,
    "raw_score": 57.52,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 1.59,
      "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.82,
      "spread_liquidity": 4.48,
      "momentum_consistency": 3.45,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.405,
      "vwap": 6.3577,
      "vwap_slope": 0.0061,
      "rvol": 0.66,
      "volume_acceleration": 0.66,
      "premarket_volume": 330739.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.47,
      "distance_from_pm_high_pct": 0.23,
      "extension_from_vwap_pct": 0.74,
      "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.42,
    "pm_low": 6.28
  },
  {
    "symbol": "PRGO",
    "total_score": 54.23,
    "raw_score": 57.49,
    "breakdown": {
      "price_quality": 1.89,
      "volume_quality": 12.0,
      "rvol": 1.53,
      "volume_acceleration": 2.25,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.97,
      "spread_liquidity": 4.75,
      "momentum_consistency": 2.71,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.115,
      "vwap": 13.0121,
      "vwap_slope": 0.0203,
      "rvol": 0.64,
      "volume_acceleration": 0.65,
      "premarket_volume": 317997.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.19,
      "distance_from_pm_high_pct": 0.04,
      "extension_from_vwap_pct": 0.79,
      "spread_pct": 0.08
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 13.12,
    "pm_low": 12.94
  },
  {
    "symbol": "NWL",
    "total_score": 54.21,
    "raw_score": 57.46,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 2.02,
      "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.94,
      "spread_liquidity": 4.44,
      "momentum_consistency": 1.63,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.005,
      "vwap": 5.9988,
      "vwap_slope": 0.0013,
      "rvol": 0.84,
      "volume_acceleration": 1.02,
      "premarket_volume": 420025.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.17,
      "distance_from_pm_high_pct": 0.08,
      "extension_from_vwap_pct": 0.1,
      "spread_pct": 0.17
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 6.01,
    "pm_low": 5.98
  },
  {
    "symbol": "XPER",
    "total_score": 54.21,
    "raw_score": 57.46,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 0.49,
      "volume_acceleration": 4.84,
      "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.48,
      "momentum_consistency": 1.92,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.455,
      "vwap": 6.4367,
      "vwap_slope": 0.0052,
      "rvol": 0.2,
      "volume_acceleration": 1.48,
      "premarket_volume": 102490.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.78,
      "distance_from_pm_high_pct": 0.23,
      "extension_from_vwap_pct": 0.28,
      "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.47,
    "pm_low": 6.405
  },
  {
    "symbol": "CRK",
    "total_score": 54.17,
    "raw_score": 57.42,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 1.03,
      "volume_acceleration": 2.76,
      "price_momentum": 0.11,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.75,
      "spread_liquidity": 4.76,
      "momentum_consistency": 3.12,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.635,
      "vwap": 13.635,
      "vwap_slope": 0.0009,
      "rvol": 0.43,
      "volume_acceleration": 0.79,
      "premarket_volume": 213567.0,
      "momentum_pct": 0.07,
      "consolidation_tightness_pct": 0.33,
      "distance_from_pm_high_pct": 0.33,
      "extension_from_vwap_pct": 0.0,
      "spread_pct": 0.07
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 13.68,
    "pm_low": 13.59
  },
  {
    "symbol": "ZURA",
    "total_score": 54.0,
    "raw_score": 57.24,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 6.9,
      "rvol": 0.28,
      "volume_acceleration": 10,
      "price_momentum": 0.13,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.94,
      "spread_liquidity": 4.42,
      "momentum_consistency": 1.67,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.79,
      "vwap": 5.7732,
      "vwap_slope": 0.0056,
      "rvol": 0.12,
      "volume_acceleration": 2.16,
      "premarket_volume": 57538.0,
      "momentum_pct": 0.09,
      "consolidation_tightness_pct": 0.26,
      "distance_from_pm_high_pct": 0.09,
      "extension_from_vwap_pct": 0.29,
      "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.795,
    "pm_low": 5.75
  },
  {
    "symbol": "MGTX",
    "total_score": 53.91,
    "raw_score": 57.15,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 0.64,
      "volume_acceleration": 2.28,
      "price_momentum": 0.11,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.78,
      "spread_liquidity": 4.28,
      "momentum_consistency": 4.15,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.9,
      "vwap": 13.8607,
      "vwap_slope": 0.0117,
      "rvol": 0.26,
      "volume_acceleration": 1.23,
      "premarket_volume": 132437.0,
      "momentum_pct": 0.07,
      "consolidation_tightness_pct": 0.36,
      "distance_from_pm_high_pct": 0.29,
      "extension_from_vwap_pct": 0.28,
      "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.94,
    "pm_low": 13.75
  },
  {
    "symbol": "HLMN",
    "total_score": 53.9,
    "raw_score": 57.13,
    "breakdown": {
      "price_quality": 3.49,
      "volume_quality": 12.0,
      "rvol": 0.77,
      "volume_acceleration": 1.55,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.74,
      "spread_liquidity": 4.61,
      "momentum_consistency": 2.57,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.49,
      "vwap": 8.4782,
      "vwap_slope": 0.0021,
      "rvol": 0.32,
      "volume_acceleration": 1.16,
      "premarket_volume": 160783.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.24,
      "distance_from_pm_high_pct": 0.35,
      "extension_from_vwap_pct": 0.14,
      "spread_pct": 0.12
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 8.52,
    "pm_low": 8.45
  },
  {
    "symbol": "QXO",
    "total_score": 53.86,
    "raw_score": 57.09,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 8.04,
      "volume_acceleration": 3.18,
      "price_momentum": 0.22,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.75,
      "spread_liquidity": 4.75,
      "momentum_consistency": 2.44,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.615,
      "vwap": 13.6048,
      "vwap_slope": -0.0003,
      "rvol": 3.02,
      "volume_acceleration": 1.32,
      "premarket_volume": 1507531.0,
      "momentum_pct": 0.15,
      "consolidation_tightness_pct": 0.37,
      "distance_from_pm_high_pct": 0.33,
      "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": false
    },
    "pm_high": 13.66,
    "pm_low": 13.56
  },
  {
    "symbol": "SLDB",
    "total_score": 53.82,
    "raw_score": 57.05,
    "breakdown": {
      "price_quality": 4.03,
      "volume_quality": 6.52,
      "rvol": 0.26,
      "volume_acceleration": 5.58,
      "price_momentum": 0.42,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.96,
      "spread_liquidity": 4.26,
      "momentum_consistency": 3.62,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.025,
      "vwap": 8.9674,
      "vwap_slope": 0.0105,
      "rvol": 0.11,
      "volume_acceleration": 1.56,
      "premarket_volume": 54341.0,
      "momentum_pct": 0.28,
      "consolidation_tightness_pct": 0.55,
      "distance_from_pm_high_pct": 0.06,
      "extension_from_vwap_pct": 0.64,
      "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.03,
    "pm_low": 8.93
  },
  {
    "symbol": "CVV",
    "total_score": 53.79,
    "raw_score": 57.02,
    "breakdown": {
      "price_quality": 2.64,
      "volume_quality": 6.06,
      "rvol": 0.24,
      "volume_acceleration": 10,
      "price_momentum": 0.59,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.51,
      "spread_liquidity": 1.08,
      "momentum_consistency": 4.5,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.64,
      "vwap": 7.5917,
      "vwap_slope": 0.023,
      "rvol": 0.1,
      "volume_acceleration": 4.33,
      "premarket_volume": 50500.0,
      "momentum_pct": 0.39,
      "consolidation_tightness_pct": 2.1,
      "distance_from_pm_high_pct": 0.65,
      "extension_from_vwap_pct": 0.64,
      "spread_pct": 1.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": 7.69,
    "pm_low": 7.51
  },
  {
    "symbol": "FPI",
    "total_score": 53.76,
    "raw_score": 56.98,
    "breakdown": {
      "price_quality": 4.99,
      "volume_quality": 6.11,
      "rvol": 0.24,
      "volume_acceleration": 7.0,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.93,
      "spread_liquidity": 4.67,
      "momentum_consistency": 1.64,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.995,
      "vwap": 9.9917,
      "vwap_slope": 0.0,
      "rvol": 0.1,
      "volume_acceleration": 1.7,
      "premarket_volume": 50926.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.09,
      "distance_from_pm_high_pct": 0.1,
      "extension_from_vwap_pct": 0.03,
      "spread_pct": 0.1
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 10.005,
    "pm_low": 9.98
  },
  {
    "symbol": "VIPS",
    "total_score": 53.75,
    "raw_score": 56.97,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 0.58,
      "volume_acceleration": 2.63,
      "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.77,
      "momentum_consistency": 3.2,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.225,
      "vwap": 14.2072,
      "vwap_slope": 0.0029,
      "rvol": 0.24,
      "volume_acceleration": 0.76,
      "premarket_volume": 120514.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.07,
      "distance_from_pm_high_pct": 0.14,
      "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.245,
    "pm_low": 14.181
  },
  {
    "symbol": "SRAD",
    "total_score": 53.71,
    "raw_score": 56.93,
    "breakdown": {
      "price_quality": 2.08,
      "volume_quality": 12.0,
      "rvol": 0.78,
      "volume_acceleration": 1.73,
      "price_momentum": 0.06,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.97,
      "spread_liquidity": 4.74,
      "momentum_consistency": 3.17,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.92,
      "vwap": 12.9048,
      "vwap_slope": 0.0014,
      "rvol": 0.33,
      "volume_acceleration": 0.5,
      "premarket_volume": 163474.0,
      "momentum_pct": 0.04,
      "consolidation_tightness_pct": 0.15,
      "distance_from_pm_high_pct": 0.04,
      "extension_from_vwap_pct": 0.12,
      "spread_pct": 0.08
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 12.925,
    "pm_low": 12.885
  },
  {
    "symbol": "FNKO",
    "total_score": 53.7,
    "raw_score": 56.92,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 0.55,
      "volume_acceleration": 2.62,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.76,
      "spread_liquidity": 4.47,
      "momentum_consistency": 3.62,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.265,
      "vwap": 6.2427,
      "vwap_slope": 0.0125,
      "rvol": 0.23,
      "volume_acceleration": 0.75,
      "premarket_volume": 115130.0,
      "momentum_pct": -0.16,
      "consolidation_tightness_pct": 0.29,
      "distance_from_pm_high_pct": 0.32,
      "extension_from_vwap_pct": 0.36,
      "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.2853,
    "pm_low": 6.2
  },
  {
    "symbol": "TDAY",
    "total_score": 53.69,
    "raw_score": 56.91,
    "breakdown": {
      "price_quality": 1.7,
      "volume_quality": 12.0,
      "rvol": 1.43,
      "volume_acceleration": 3.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.5,
      "momentum_consistency": 1.43,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.695,
      "vwap": 6.6703,
      "vwap_slope": 0.0026,
      "rvol": 0.6,
      "volume_acceleration": 1.03,
      "premarket_volume": 297750.0,
      "momentum_pct": -0.07,
      "consolidation_tightness_pct": 0.82,
      "distance_from_pm_high_pct": 0.15,
      "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.705,
    "pm_low": 6.635
  },
  {
    "symbol": "SBGI",
    "total_score": 53.69,
    "raw_score": 56.91,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 4.64,
      "rvol": 0.19,
      "volume_acceleration": 10,
      "price_momentum": 0.16,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.84,
      "spread_liquidity": 4.31,
      "momentum_consistency": 3.88,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.43,
      "vwap": 14.3674,
      "vwap_slope": 0.0742,
      "rvol": 0.08,
      "volume_acceleration": 2.05,
      "premarket_volume": 38638.0,
      "momentum_pct": 0.1,
      "consolidation_tightness_pct": 0.14,
      "distance_from_pm_high_pct": 0.21,
      "extension_from_vwap_pct": 0.44,
      "spread_pct": 0.21
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 14.46,
    "pm_low": 14.23
  },
  {
    "symbol": "SENS",
    "total_score": 53.65,
    "raw_score": 56.87,
    "breakdown": {
      "price_quality": 3.8,
      "volume_quality": 9.36,
      "rvol": 0.37,
      "volume_acceleration": 4.48,
      "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.25,
      "momentum_consistency": 2.5,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.8,
      "vwap": 8.7614,
      "vwap_slope": 0.0207,
      "rvol": 0.16,
      "volume_acceleration": 1.45,
      "premarket_volume": 78027.0,
      "momentum_pct": -0.28,
      "consolidation_tightness_pct": 0.51,
      "distance_from_pm_high_pct": 0.4,
      "extension_from_vwap_pct": 0.44,
      "spread_pct": 0.23
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 8.835,
    "pm_low": 8.69
  },
  {
    "symbol": "NEXT",
    "total_score": 53.6,
    "raw_score": 56.82,
    "breakdown": {
      "price_quality": 1.91,
      "volume_quality": 12.0,
      "rvol": 1.14,
      "volume_acceleration": 2.67,
      "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.45,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.91,
      "vwap": 6.9086,
      "vwap_slope": 0.0038,
      "rvol": 0.48,
      "volume_acceleration": 0.77,
      "premarket_volume": 238530.0,
      "momentum_pct": -0.07,
      "consolidation_tightness_pct": 0.22,
      "distance_from_pm_high_pct": 0.36,
      "extension_from_vwap_pct": 0.02,
      "spread_pct": 0.14
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 6.935,
    "pm_low": 6.88
  },
  {
    "symbol": "ANNX",
    "total_score": 53.6,
    "raw_score": 56.81,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 1.02,
      "volume_acceleration": 3.21,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.79,
      "spread_liquidity": 4.37,
      "momentum_consistency": 2.53,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.245,
      "vwap": 5.231,
      "vwap_slope": 0.0021,
      "rvol": 0.43,
      "volume_acceleration": 1.32,
      "premarket_volume": 212989.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.29,
      "distance_from_pm_high_pct": 0.28,
      "extension_from_vwap_pct": 0.27,
      "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.2599,
    "pm_low": 5.215
  },
  {
    "symbol": "ACDC",
    "total_score": 53.45,
    "raw_score": 56.66,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 11.74,
      "rvol": 0.47,
      "volume_acceleration": 3.25,
      "price_momentum": 0.3,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.71,
      "spread_liquidity": 4.34,
      "momentum_consistency": 2.96,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.075,
      "vwap": 5.0577,
      "vwap_slope": 0.002,
      "rvol": 0.2,
      "volume_acceleration": 0.93,
      "premarket_volume": 97855.0,
      "momentum_pct": 0.2,
      "consolidation_tightness_pct": 0.59,
      "distance_from_pm_high_pct": 0.39,
      "extension_from_vwap_pct": 0.34,
      "spread_pct": 0.2
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 5.095,
    "pm_low": 5.03
  },
  {
    "symbol": "CRSR",
    "total_score": 53.42,
    "raw_score": 56.63,
    "breakdown": {
      "price_quality": 2.89,
      "volume_quality": 12.0,
      "rvol": 0.89,
      "volume_acceleration": 1.85,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.62,
      "spread_liquidity": 4.45,
      "momentum_consistency": 2.53,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.1077,
      "vwap": 12.1076,
      "vwap_slope": 0.0101,
      "rvol": 0.37,
      "volume_acceleration": 1.19,
      "premarket_volume": 185451.0,
      "momentum_pct": -0.22,
      "consolidation_tightness_pct": 0.37,
      "distance_from_pm_high_pct": 0.51,
      "extension_from_vwap_pct": 0.0,
      "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.17,
    "pm_low": 12.055
  },
  {
    "symbol": "UUUU",
    "total_score": 53.35,
    "raw_score": 56.55,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 1.64,
      "volume_acceleration": 7.51,
      "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.76,
      "momentum_consistency": 3.93,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.115,
      "vwap": 14.1173,
      "vwap_slope": 0.0026,
      "rvol": 0.68,
      "volume_acceleration": 1.75,
      "premarket_volume": 341065.0,
      "momentum_pct": -0.11,
      "consolidation_tightness_pct": 0.42,
      "distance_from_pm_high_pct": 0.53,
      "extension_from_vwap_pct": -0.02,
      "spread_pct": 0.07
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": true
    },
    "pm_high": 14.19,
    "pm_low": 14.07
  },
  {
    "symbol": "XGN",
    "total_score": 53.27,
    "raw_score": 56.46,
    "breakdown": {
      "price_quality": 1.59,
      "volume_quality": 3.71,
      "rvol": 0.15,
      "volume_acceleration": 1.3,
      "price_momentum": 1.15,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 6,
      "spread_liquidity": 3.99,
      "momentum_consistency": 2.58,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.59,
      "vwap": 6.553,
      "vwap_slope": 0.0018,
      "rvol": 0.06,
      "volume_acceleration": 0.37,
      "premarket_volume": 30946.0,
      "momentum_pct": 0.76,
      "consolidation_tightness_pct": 0.76,
      "distance_from_pm_high_pct": 0.0,
      "extension_from_vwap_pct": 0.56,
      "spread_pct": 0.3
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 6.59,
    "pm_low": 6.53
  },
  {
    "symbol": "EIC",
    "total_score": 53.12,
    "raw_score": 56.31,
    "breakdown": {
      "price_quality": 4.91,
      "volume_quality": 2.52,
      "rvol": 0.1,
      "volume_acceleration": 1.83,
      "price_momentum": 1.05,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 6,
      "spread_liquidity": 0.7,
      "momentum_consistency": 3.2,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.085,
      "vwap": 10.0233,
      "vwap_slope": 0.0164,
      "rvol": 0.04,
      "volume_acceleration": 0.52,
      "premarket_volume": 20978.0,
      "momentum_pct": 0.7,
      "consolidation_tightness_pct": 0.7,
      "distance_from_pm_high_pct": 0.0,
      "extension_from_vwap_pct": 0.62,
      "spread_pct": 1.29
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 10.085,
    "pm_low": 9.99
  },
  {
    "symbol": "FRNM",
    "total_score": 53.1,
    "raw_score": 56.28,
    "breakdown": {
      "price_quality": 1.57,
      "volume_quality": 12.0,
      "rvol": 0.82,
      "volume_acceleration": 2.51,
      "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.5,
      "momentum_consistency": 2.87,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.43,
      "vwap": 13.4161,
      "vwap_slope": 0.0032,
      "rvol": 0.34,
      "volume_acceleration": 0.72,
      "premarket_volume": 170490.0,
      "momentum_pct": -0.19,
      "consolidation_tightness_pct": 0.37,
      "distance_from_pm_high_pct": 0.52,
      "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.5,
    "pm_low": 13.3575
  },
  {
    "symbol": "RUN",
    "total_score": 53.05,
    "raw_score": 56.23,
    "breakdown": {
      "price_quality": 4.29,
      "volume_quality": 12.0,
      "rvol": 8.56,
      "volume_acceleration": 6.88,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.28,
      "spread_liquidity": 4.64,
      "momentum_consistency": 2.17,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.295,
      "vwap": 9.314,
      "vwap_slope": -0.0078,
      "rvol": 3.21,
      "volume_acceleration": 1.69,
      "premarket_volume": 1604616.0,
      "momentum_pct": -0.11,
      "consolidation_tightness_pct": 0.4,
      "distance_from_pm_high_pct": 0.96,
      "extension_from_vwap_pct": -0.2,
      "spread_pct": 0.11
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 9.3852,
    "pm_low": 9.24
  },
  {
    "symbol": "ODD",
    "total_score": 52.99,
    "raw_score": 56.16,
    "breakdown": {
      "price_quality": 2.69,
      "volume_quality": 10.46,
      "rvol": 0.42,
      "volume_acceleration": 3.37,
      "price_momentum": 0.18,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.88,
      "spread_liquidity": 4.73,
      "momentum_consistency": 2.04,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.315,
      "vwap": 12.3043,
      "vwap_slope": 0.0003,
      "rvol": 0.17,
      "volume_acceleration": 0.97,
      "premarket_volume": 87177.0,
      "momentum_pct": 0.12,
      "consolidation_tightness_pct": 0.2,
      "distance_from_pm_high_pct": 0.16,
      "extension_from_vwap_pct": 0.09,
      "spread_pct": 0.08
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 12.335,
    "pm_low": 12.275
  },
  {
    "symbol": "DMRC",
    "total_score": 52.99,
    "raw_score": 56.17,
    "breakdown": {
      "price_quality": 1.95,
      "volume_quality": 4.76,
      "rvol": 0.19,
      "volume_acceleration": 10,
      "price_momentum": 0.54,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.62,
      "spread_liquidity": 3.09,
      "momentum_consistency": 3.61,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.95,
      "vwap": 6.8066,
      "vwap_slope": 0.0943,
      "rvol": 0.08,
      "volume_acceleration": 3.3,
      "premarket_volume": 39696.0,
      "momentum_pct": 0.36,
      "consolidation_tightness_pct": 2.09,
      "distance_from_pm_high_pct": 0.5,
      "extension_from_vwap_pct": 2.11,
      "spread_pct": 0.57
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 6.985,
    "pm_low": 6.65
  },
  {
    "symbol": "SWIM",
    "total_score": 52.97,
    "raw_score": 56.14,
    "breakdown": {
      "price_quality": 1.97,
      "volume_quality": 9.79,
      "rvol": 0.39,
      "volume_acceleration": 4.25,
      "price_momentum": 0.32,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.62,
      "spread_liquidity": 4.52,
      "momentum_consistency": 2.87,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.965,
      "vwap": 6.9544,
      "vwap_slope": 0.0071,
      "rvol": 0.16,
      "volume_acceleration": 1.43,
      "premarket_volume": 81611.0,
      "momentum_pct": 0.22,
      "consolidation_tightness_pct": 0.79,
      "distance_from_pm_high_pct": 0.5,
      "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.0,
    "pm_low": 6.9
  },
  {
    "symbol": "IHS",
    "total_score": 52.88,
    "raw_score": 56.05,
    "breakdown": {
      "price_quality": 3.33,
      "volume_quality": 12.0,
      "rvol": 0.55,
      "volume_acceleration": 1.22,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.96,
      "spread_liquidity": 4.6,
      "momentum_consistency": 2.0,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.33,
      "vwap": 8.3237,
      "vwap_slope": 0.0008,
      "rvol": 0.23,
      "volume_acceleration": 0.35,
      "premarket_volume": 113764.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.12,
      "distance_from_pm_high_pct": 0.06,
      "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.335,
    "pm_low": 8.31
  },
  {
    "symbol": "GDYN",
    "total_score": 52.67,
    "raw_score": 55.83,
    "breakdown": {
      "price_quality": 2.75,
      "volume_quality": 9.97,
      "rvol": 0.4,
      "volume_acceleration": 2.63,
      "price_momentum": 0.19,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.86,
      "spread_liquidity": 4.57,
      "momentum_consistency": 3.08,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.745,
      "vwap": 7.7324,
      "vwap_slope": 0.0014,
      "rvol": 0.17,
      "volume_acceleration": 1.26,
      "premarket_volume": 83042.0,
      "momentum_pct": 0.13,
      "consolidation_tightness_pct": 0.32,
      "distance_from_pm_high_pct": 0.19,
      "extension_from_vwap_pct": 0.16,
      "spread_pct": 0.13
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 7.76,
    "pm_low": 7.71
  },
  {
    "symbol": "STLA",
    "total_score": 52.63,
    "raw_score": 55.79,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 6.73,
      "volume_acceleration": 3.93,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.78,
      "spread_liquidity": 4.35,
      "momentum_consistency": 2.31,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.095,
      "vwap": 5.0944,
      "vwap_slope": -0.0006,
      "rvol": 2.52,
      "volume_acceleration": 1.13,
      "premarket_volume": 1261709.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.2,
      "distance_from_pm_high_pct": 0.29,
      "extension_from_vwap_pct": 0.01,
      "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": false
    },
    "pm_high": 5.11,
    "pm_low": 5.08
  },
  {
    "symbol": "HAFN",
    "total_score": 52.6,
    "raw_score": 55.76,
    "breakdown": {
      "price_quality": 2.76,
      "volume_quality": 10.34,
      "rvol": 0.41,
      "volume_acceleration": 3.79,
      "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.57,
      "momentum_consistency": 1.63,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.76,
      "vwap": 7.7581,
      "vwap_slope": 0.0004,
      "rvol": 0.17,
      "volume_acceleration": 1.38,
      "premarket_volume": 86202.0,
      "momentum_pct": -0.06,
      "consolidation_tightness_pct": 0.19,
      "distance_from_pm_high_pct": 0.19,
      "extension_from_vwap_pct": 0.02,
      "spread_pct": 0.13
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 7.775,
    "pm_low": 7.75
  },
  {
    "symbol": "SVRA",
    "total_score": 52.45,
    "raw_score": 55.6,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 0.61,
      "volume_acceleration": 1.61,
      "price_momentum": 0.28,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 6,
      "spread_liquidity": 4.38,
      "momentum_consistency": 2.81,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.37,
      "vwap": 5.3495,
      "vwap_slope": 0.0023,
      "rvol": 0.26,
      "volume_acceleration": 0.46,
      "premarket_volume": 127596.0,
      "momentum_pct": 0.19,
      "consolidation_tightness_pct": 0.19,
      "distance_from_pm_high_pct": 0.0,
      "extension_from_vwap_pct": 0.38,
      "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.37,
    "pm_low": 5.325
  },
  {
    "symbol": "OGN",
    "total_score": 52.24,
    "raw_score": 55.38,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 0.9,
      "volume_acceleration": 2.94,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.97,
      "spread_liquidity": 4.76,
      "momentum_consistency": 0.91,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.675,
      "vwap": 13.673,
      "vwap_slope": 0.0018,
      "rvol": 0.38,
      "volume_acceleration": 0.85,
      "premarket_volume": 187983.0,
      "momentum_pct": -0.04,
      "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": true,
      "vwap_rising": true
    },
    "pm_high": 13.68,
    "pm_low": 13.67
  },
  {
    "symbol": "SXC",
    "total_score": 52.24,
    "raw_score": 55.37,
    "breakdown": {
      "price_quality": 4.11,
      "volume_quality": 12.0,
      "rvol": 0.55,
      "volume_acceleration": 3.53,
      "price_momentum": 0.25,
      "price_structure": 12,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.63,
      "spread_liquidity": 4.63,
      "momentum_consistency": 2.67,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.105,
      "vwap": 9.116,
      "vwap_slope": -0.008,
      "rvol": 0.23,
      "volume_acceleration": 1.02,
      "premarket_volume": 115148.0,
      "momentum_pct": 0.17,
      "consolidation_tightness_pct": 0.22,
      "distance_from_pm_high_pct": 0.49,
      "extension_from_vwap_pct": -0.12,
      "spread_pct": 0.11
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 9.15,
    "pm_low": 9.085
  },
  {
    "symbol": "PROF",
    "total_score": 52.21,
    "raw_score": 55.34,
    "breakdown": {
      "price_quality": 2.02,
      "volume_quality": 2.43,
      "rvol": 0.1,
      "volume_acceleration": 10,
      "price_momentum": 0.86,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.79,
      "spread_liquidity": 2.15,
      "momentum_consistency": 3.2,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.02,
      "vwap": 6.992,
      "vwap_slope": -0.0191,
      "rvol": 0.04,
      "volume_acceleration": 3.59,
      "premarket_volume": 20247.0,
      "momentum_pct": 0.57,
      "consolidation_tightness_pct": 0.86,
      "distance_from_pm_high_pct": 0.28,
      "extension_from_vwap_pct": 0.4,
      "spread_pct": 0.85
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 7.04,
    "pm_low": 6.95
  },
  {
    "symbol": "EMBC",
    "total_score": 52.14,
    "raw_score": 55.27,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 0.56,
      "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.57,
      "spread_liquidity": 4.35,
      "momentum_consistency": 1.69,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.15,
      "vwap": 5.1621,
      "vwap_slope": 0.0009,
      "rvol": 0.23,
      "volume_acceleration": 2.35,
      "premarket_volume": 116070.0,
      "momentum_pct": -0.29,
      "consolidation_tightness_pct": 0.29,
      "distance_from_pm_high_pct": 0.58,
      "extension_from_vwap_pct": -0.24,
      "spread_pct": 0.19
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": true
    },
    "pm_high": 5.18,
    "pm_low": 5.15
  },
  {
    "symbol": "TXO",
    "total_score": 51.93,
    "raw_score": 55.05,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 10.51,
      "rvol": 0.42,
      "volume_acceleration": 10,
      "price_momentum": 0.11,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.7,
      "spread_liquidity": 4.28,
      "momentum_consistency": 2.93,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.79,
      "vwap": 13.8223,
      "vwap_slope": 0.0007,
      "rvol": 0.18,
      "volume_acceleration": 2.53,
      "premarket_volume": 87578.0,
      "momentum_pct": 0.07,
      "consolidation_tightness_pct": 0.15,
      "distance_from_pm_high_pct": 0.4,
      "extension_from_vwap_pct": -0.23,
      "spread_pct": 0.22
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": true
    },
    "pm_high": 13.845,
    "pm_low": 13.77
  },
  {
    "symbol": "STDN",
    "total_score": 51.87,
    "raw_score": 54.98,
    "breakdown": {
      "price_quality": 2.44,
      "volume_quality": 4.33,
      "rvol": 0.17,
      "volume_acceleration": 7.8,
      "price_momentum": 1.44,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 6,
      "spread_liquidity": 3.13,
      "momentum_consistency": 3.27,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.5642,
      "vwap": 12.38,
      "vwap_slope": 0.057,
      "rvol": 0.07,
      "volume_acceleration": 1.78,
      "premarket_volume": 36081.0,
      "momentum_pct": 0.96,
      "consolidation_tightness_pct": 1.03,
      "distance_from_pm_high_pct": 0.0,
      "extension_from_vwap_pct": 1.49,
      "spread_pct": 0.56
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 12.5642,
    "pm_low": 12.2401
  },
  {
    "symbol": "HUN",
    "total_score": 51.82,
    "raw_score": 54.93,
    "breakdown": {
      "price_quality": 4.91,
      "volume_quality": 12.0,
      "rvol": 2.02,
      "volume_acceleration": 3.28,
      "price_momentum": 0.07,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.74,
      "spread_liquidity": 4.67,
      "momentum_consistency": 3.03,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.09,
      "vwap": 10.0855,
      "vwap_slope": -0.0013,
      "rvol": 0.84,
      "volume_acceleration": 0.94,
      "premarket_volume": 420661.0,
      "momentum_pct": 0.05,
      "consolidation_tightness_pct": 0.15,
      "distance_from_pm_high_pct": 0.35,
      "extension_from_vwap_pct": 0.04,
      "spread_pct": 0.1
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 10.125,
    "pm_low": 10.045
  },
  {
    "symbol": "HTLD",
    "total_score": 51.82,
    "raw_score": 54.93,
    "breakdown": {
      "price_quality": 2.2,
      "volume_quality": 9.62,
      "rvol": 0.38,
      "volume_acceleration": 3.52,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.62,
      "spread_liquidity": 4.74,
      "momentum_consistency": 2.45,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.8,
      "vwap": 12.7963,
      "vwap_slope": 0.0001,
      "rvol": 0.16,
      "volume_acceleration": 1.01,
      "premarket_volume": 80135.0,
      "momentum_pct": -0.04,
      "consolidation_tightness_pct": 0.08,
      "distance_from_pm_high_pct": 0.51,
      "extension_from_vwap_pct": 0.03,
      "spread_pct": 0.08
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 12.865,
    "pm_low": 12.75
  },
  {
    "symbol": "CRNC",
    "total_score": 51.59,
    "raw_score": 54.69,
    "breakdown": {
      "price_quality": 3.46,
      "volume_quality": 8.89,
      "rvol": 0.36,
      "volume_acceleration": 1.74,
      "price_momentum": 0.05,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.98,
      "spread_liquidity": 4.61,
      "momentum_consistency": 3.2,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.4628,
      "vwap": 8.4052,
      "vwap_slope": 0.0109,
      "rvol": 0.15,
      "volume_acceleration": 0.5,
      "premarket_volume": 74109.0,
      "momentum_pct": 0.03,
      "consolidation_tightness_pct": 0.12,
      "distance_from_pm_high_pct": 0.03,
      "extension_from_vwap_pct": 0.68,
      "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.465,
    "pm_low": 8.355
  },
  {
    "symbol": "WLTH",
    "total_score": 51.49,
    "raw_score": 54.58,
    "breakdown": {
      "price_quality": 3.93,
      "volume_quality": 12.0,
      "rvol": 0.58,
      "volume_acceleration": 2.71,
      "price_momentum": 0.34,
      "price_structure": 12,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.67,
      "spread_liquidity": 4.63,
      "momentum_consistency": 2.73,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.93,
      "vwap": 8.9392,
      "vwap_slope": -0.0117,
      "rvol": 0.24,
      "volume_acceleration": 0.78,
      "premarket_volume": 120065.0,
      "momentum_pct": 0.22,
      "consolidation_tightness_pct": 0.34,
      "distance_from_pm_high_pct": 0.45,
      "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": false,
      "vwap_rising": false
    },
    "pm_high": 8.97,
    "pm_low": 8.88
  },
  {
    "symbol": "SHMD",
    "total_score": 51.46,
    "raw_score": 54.55,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 7.14,
      "rvol": 0.29,
      "volume_acceleration": 3.13,
      "price_momentum": 1.29,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.79,
      "spread_liquidity": 4.37,
      "momentum_consistency": 2.25,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.27,
      "vwap": 5.246,
      "vwap_slope": -0.0064,
      "rvol": 0.12,
      "volume_acceleration": 0.9,
      "premarket_volume": 59472.0,
      "momentum_pct": 0.86,
      "consolidation_tightness_pct": 1.15,
      "distance_from_pm_high_pct": 0.28,
      "extension_from_vwap_pct": 0.46,
      "spread_pct": 0.19
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 5.285,
    "pm_low": 5.21
  },
  {
    "symbol": "GMRS",
    "total_score": 51.41,
    "raw_score": 54.5,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 7.07,
      "rvol": 0.28,
      "volume_acceleration": 7.21,
      "price_momentum": 0.21,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.95,
      "spread_liquidity": 3.82,
      "momentum_consistency": 2.05,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.1,
      "vwap": 14.0549,
      "vwap_slope": 0.0197,
      "rvol": 0.12,
      "volume_acceleration": 1.72,
      "premarket_volume": 58946.0,
      "momentum_pct": 0.14,
      "consolidation_tightness_pct": 0.5,
      "distance_from_pm_high_pct": 0.07,
      "extension_from_vwap_pct": 0.32,
      "spread_pct": 0.35
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 14.11,
    "pm_low": 13.99
  },
  {
    "symbol": "RITM",
    "total_score": 51.4,
    "raw_score": 54.48,
    "breakdown": {
      "price_quality": 4.75,
      "volume_quality": 12.0,
      "rvol": 1.99,
      "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.67,
      "momentum_consistency": 2.96,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.25,
      "vwap": 10.2744,
      "vwap_slope": -0.0016,
      "rvol": 0.83,
      "volume_acceleration": 6.22,
      "premarket_volume": 413640.0,
      "momentum_pct": -0.15,
      "consolidation_tightness_pct": 0.19,
      "distance_from_pm_high_pct": 0.39,
      "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.29,
    "pm_low": 10.25
  },
  {
    "symbol": "QUAD",
    "total_score": 50.97,
    "raw_score": 54.02,
    "breakdown": {
      "price_quality": 4.78,
      "volume_quality": 4.57,
      "rvol": 0.18,
      "volume_acceleration": 10,
      "price_momentum": 0.15,
      "price_structure": 12,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.56,
      "spread_liquidity": 4.02,
      "momentum_consistency": 2.76,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.22,
      "vwap": 10.2335,
      "vwap_slope": -0.01,
      "rvol": 0.08,
      "volume_acceleration": 2.05,
      "premarket_volume": 38096.0,
      "momentum_pct": 0.1,
      "consolidation_tightness_pct": 0.2,
      "distance_from_pm_high_pct": 0.58,
      "extension_from_vwap_pct": -0.13,
      "spread_pct": 0.29
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 10.28,
    "pm_low": 10.21
  },
  {
    "symbol": "SNAP",
    "total_score": 50.87,
    "raw_score": 53.93,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 12.0,
      "volume_acceleration": 3.65,
      "price_momentum": 0.15,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.57,
      "spread_liquidity": 4.36,
      "momentum_consistency": 2.31,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.17,
      "vwap": 5.172,
      "vwap_slope": -0.0017,
      "rvol": 5.06,
      "volume_acceleration": 1.37,
      "premarket_volume": 2528917.0,
      "momentum_pct": 0.1,
      "consolidation_tightness_pct": 0.39,
      "distance_from_pm_high_pct": 0.58,
      "extension_from_vwap_pct": -0.04,
      "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.2,
    "pm_low": 5.15
  },
  {
    "symbol": "QUBT",
    "total_score": 50.69,
    "raw_score": 53.73,
    "breakdown": {
      "price_quality": 3.56,
      "volume_quality": 12.0,
      "rvol": 2.36,
      "volume_acceleration": 3.01,
      "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.9,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.565,
      "vwap": 8.5671,
      "vwap_slope": 0.0004,
      "rvol": 0.98,
      "volume_acceleration": 0.86,
      "premarket_volume": 491383.0,
      "momentum_pct": -0.17,
      "consolidation_tightness_pct": 0.47,
      "distance_from_pm_high_pct": 0.41,
      "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": true
    },
    "pm_high": 8.6,
    "pm_low": 8.535
  },
  {
    "symbol": "DBI",
    "total_score": 50.65,
    "raw_score": 53.69,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 0.49,
      "volume_acceleration": 7.12,
      "price_momentum": 0.76,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.56,
      "spread_liquidity": 4.44,
      "momentum_consistency": 2.61,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.925,
      "vwap": 5.912,
      "vwap_slope": -0.0126,
      "rvol": 0.21,
      "volume_acceleration": 1.71,
      "premarket_volume": 102860.0,
      "momentum_pct": 0.51,
      "consolidation_tightness_pct": 0.68,
      "distance_from_pm_high_pct": 0.59,
      "extension_from_vwap_pct": 0.22,
      "spread_pct": 0.17
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 5.96,
    "pm_low": 5.88
  },
  {
    "symbol": "TRLV",
    "total_score": 50.64,
    "raw_score": 53.68,
    "breakdown": {
      "price_quality": 4.67,
      "volume_quality": 8.14,
      "rvol": 0.33,
      "volume_acceleration": 1.6,
      "price_momentum": 0.31,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 6,
      "spread_liquidity": 3.62,
      "momentum_consistency": 2.62,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.67,
      "vwap": 9.6313,
      "vwap_slope": 0.0091,
      "rvol": 0.14,
      "volume_acceleration": 1.16,
      "premarket_volume": 67793.0,
      "momentum_pct": 0.21,
      "consolidation_tightness_pct": 0.31,
      "distance_from_pm_high_pct": 0.0,
      "extension_from_vwap_pct": 0.4,
      "spread_pct": 0.41
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 9.67,
    "pm_low": 9.565
  },
  {
    "symbol": "GTN",
    "total_score": 50.63,
    "raw_score": 53.67,
    "breakdown": {
      "price_quality": 0.0,
      "volume_quality": 12.0,
      "rvol": 1.56,
      "volume_acceleration": 1.03,
      "price_momentum": 0.3,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.7,
      "spread_liquidity": 4.33,
      "momentum_consistency": 2.35,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 4.975,
      "vwap": 4.948,
      "vwap_slope": 0.0028,
      "rvol": 0.65,
      "volume_acceleration": 0.3,
      "premarket_volume": 324058.0,
      "momentum_pct": 0.2,
      "consolidation_tightness_pct": 0.2,
      "distance_from_pm_high_pct": 0.4,
      "extension_from_vwap_pct": 0.55,
      "spread_pct": 0.2
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 4.995,
    "pm_low": 4.905
  },
  {
    "symbol": "RIG",
    "total_score": 50.54,
    "raw_score": 53.57,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 12.0,
      "volume_acceleration": 3.04,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.49,
      "spread_liquidity": 4.43,
      "momentum_consistency": 2.71,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.8,
      "vwap": 5.8159,
      "vwap_slope": -0.0028,
      "rvol": 9.92,
      "volume_acceleration": 1.3,
      "premarket_volume": 4961509.0,
      "momentum_pct": -0.09,
      "consolidation_tightness_pct": 0.17,
      "distance_from_pm_high_pct": 0.68,
      "extension_from_vwap_pct": -0.27,
      "spread_pct": 0.17
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 5.84,
    "pm_low": 5.79
  },
  {
    "symbol": "SGHT",
    "total_score": 50.51,
    "raw_score": 53.54,
    "breakdown": {
      "price_quality": 3.31,
      "volume_quality": 3.05,
      "rvol": 0.12,
      "volume_acceleration": 9.23,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.91,
      "spread_liquidity": 3.4,
      "momentum_consistency": 2.12,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.31,
      "vwap": 8.2785,
      "vwap_slope": 0.0136,
      "rvol": 0.05,
      "volume_acceleration": 1.92,
      "premarket_volume": 25457.0,
      "momentum_pct": -0.12,
      "consolidation_tightness_pct": 0.36,
      "distance_from_pm_high_pct": 0.12,
      "extension_from_vwap_pct": 0.38,
      "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": true,
      "vwap_rising": true
    },
    "pm_high": 8.32,
    "pm_low": 8.24
  },
  {
    "symbol": "ACHR",
    "total_score": 50.32,
    "raw_score": 53.33,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 12.0,
      "volume_acceleration": 2.64,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.7,
      "spread_liquidity": 4.47,
      "momentum_consistency": 2.62,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.275,
      "vwap": 6.276,
      "vwap_slope": -0.0006,
      "rvol": 6.92,
      "volume_acceleration": 0.76,
      "premarket_volume": 3462294.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.4,
      "distance_from_pm_high_pct": 0.4,
      "extension_from_vwap_pct": -0.02,
      "spread_pct": 0.16
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 6.3,
    "pm_low": 6.255
  },
  {
    "symbol": "HSLV",
    "total_score": 50.24,
    "raw_score": 53.25,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 10.6,
      "rvol": 0.42,
      "volume_acceleration": 1.6,
      "price_momentum": 0.15,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.85,
      "spread_liquidity": 4.35,
      "momentum_consistency": 2.38,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.125,
      "vwap": 5.1095,
      "vwap_slope": 0.0007,
      "rvol": 0.18,
      "volume_acceleration": 0.46,
      "premarket_volume": 88307.0,
      "momentum_pct": 0.1,
      "consolidation_tightness_pct": 0.29,
      "distance_from_pm_high_pct": 0.19,
      "extension_from_vwap_pct": 0.3,
      "spread_pct": 0.2
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 5.135,
    "pm_low": 5.09
  },
  {
    "symbol": "GNW",
    "total_score": 50.12,
    "raw_score": 53.13,
    "breakdown": {
      "price_quality": 4.84,
      "volume_quality": 12.0,
      "rvol": 0.84,
      "volume_acceleration": 3.44,
      "price_momentum": 0.07,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.93,
      "spread_liquidity": 4.67,
      "momentum_consistency": 2.14,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.165,
      "vwap": 10.1611,
      "vwap_slope": -0.0001,
      "rvol": 0.35,
      "volume_acceleration": 1.34,
      "premarket_volume": 174658.0,
      "momentum_pct": 0.05,
      "consolidation_tightness_pct": 0.1,
      "distance_from_pm_high_pct": 0.1,
      "extension_from_vwap_pct": 0.04,
      "spread_pct": 0.1
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 10.175,
    "pm_low": 10.15
  },
  {
    "symbol": "MAX",
    "total_score": 49.92,
    "raw_score": 52.92,
    "breakdown": {
      "price_quality": 1.84,
      "volume_quality": 7.09,
      "rvol": 0.28,
      "volume_acceleration": 2.92,
      "price_momentum": 0.11,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.89,
      "spread_liquidity": 4.49,
      "momentum_consistency": 3.89,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.1599,
      "vwap": 13.1411,
      "vwap_slope": 0.0093,
      "rvol": 0.12,
      "volume_acceleration": 1.29,
      "premarket_volume": 59081.0,
      "momentum_pct": 0.08,
      "consolidation_tightness_pct": 0.46,
      "distance_from_pm_high_pct": 0.15,
      "extension_from_vwap_pct": 0.14,
      "spread_pct": 0.15
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 13.18,
    "pm_low": 13.07
  },
  {
    "symbol": "WSE",
    "total_score": 49.91,
    "raw_score": 52.91,
    "breakdown": {
      "price_quality": 2.24,
      "volume_quality": 7.02,
      "rvol": 0.28,
      "volume_acceleration": 3.9,
      "price_momentum": 0.12,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 6,
      "spread_liquidity": 4.74,
      "momentum_consistency": 2.2,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.755,
      "vwap": 12.7318,
      "vwap_slope": 0.0053,
      "rvol": 0.12,
      "volume_acceleration": 1.12,
      "premarket_volume": 58520.0,
      "momentum_pct": 0.08,
      "consolidation_tightness_pct": 0.16,
      "distance_from_pm_high_pct": 0.0,
      "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": 12.755,
    "pm_low": 12.71
  },
  {
    "symbol": "CRCT",
    "total_score": 49.87,
    "raw_score": 52.87,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 8.53,
      "rvol": 0.34,
      "volume_acceleration": 3.7,
      "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.4,
      "momentum_consistency": 2.2,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.54,
      "vwap": 5.5341,
      "vwap_slope": 0.0057,
      "rvol": 0.14,
      "volume_acceleration": 1.06,
      "premarket_volume": 71087.0,
      "momentum_pct": -0.09,
      "consolidation_tightness_pct": 0.18,
      "distance_from_pm_high_pct": 0.27,
      "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": true,
      "vwap_rising": true
    },
    "pm_high": 5.555,
    "pm_low": 5.51
  },
  {
    "symbol": "CARL",
    "total_score": 49.74,
    "raw_score": 52.73,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 3.32,
      "rvol": 0.13,
      "volume_acceleration": 10,
      "price_momentum": 0.43,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.66,
      "spread_liquidity": 2.19,
      "momentum_consistency": 3.11,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.15,
      "vwap": 14.1115,
      "vwap_slope": 0.0314,
      "rvol": 0.06,
      "volume_acceleration": 2.24,
      "premarket_volume": 27635.0,
      "momentum_pct": 0.28,
      "consolidation_tightness_pct": 0.6,
      "distance_from_pm_high_pct": 0.46,
      "extension_from_vwap_pct": 0.27,
      "spread_pct": 0.84
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 14.215,
    "pm_low": 14.0094
  },
  {
    "symbol": "AVO",
    "total_score": 49.73,
    "raw_score": 52.72,
    "breakdown": {
      "price_quality": 1.83,
      "volume_quality": 4.19,
      "rvol": 0.17,
      "volume_acceleration": 7.1,
      "price_momentum": 0.23,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.94,
      "spread_liquidity": 4.75,
      "momentum_consistency": 2.11,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.17,
      "vwap": 13.1426,
      "vwap_slope": 0.0147,
      "rvol": 0.07,
      "volume_acceleration": 1.71,
      "premarket_volume": 34958.0,
      "momentum_pct": 0.15,
      "consolidation_tightness_pct": 0.23,
      "distance_from_pm_high_pct": 0.08,
      "extension_from_vwap_pct": 0.21,
      "spread_pct": 0.08
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 13.18,
    "pm_low": 13.11
  },
  {
    "symbol": "OWL",
    "total_score": 49.53,
    "raw_score": 52.5,
    "breakdown": {
      "price_quality": 3.34,
      "volume_quality": 12.0,
      "rvol": 7.28,
      "volume_acceleration": 4.96,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.74,
      "spread_liquidity": 4.71,
      "momentum_consistency": 2.07,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.66,
      "vwap": 11.6719,
      "vwap_slope": -0.0009,
      "rvol": 2.73,
      "volume_acceleration": 1.5,
      "premarket_volume": 1364319.0,
      "momentum_pct": -0.13,
      "consolidation_tightness_pct": 0.17,
      "distance_from_pm_high_pct": 0.34,
      "extension_from_vwap_pct": -0.1,
      "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.7,
    "pm_low": 11.65
  },
  {
    "symbol": "FRMI",
    "total_score": 49.53,
    "raw_score": 52.5,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 12.0,
      "volume_acceleration": 2.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.23,
      "spread_liquidity": 4.42,
      "momentum_consistency": 2.17,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.77,
      "vwap": 5.7785,
      "vwap_slope": -0.0018,
      "rvol": 5.42,
      "volume_acceleration": 1.28,
      "premarket_volume": 2710423.0,
      "momentum_pct": -0.09,
      "consolidation_tightness_pct": 0.52,
      "distance_from_pm_high_pct": 1.03,
      "extension_from_vwap_pct": -0.15,
      "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.83,
    "pm_low": 5.75
  },
  {
    "symbol": "BWEN",
    "total_score": 49.34,
    "raw_score": 52.3,
    "breakdown": {
      "price_quality": 0.0,
      "volume_quality": 4.6,
      "rvol": 0.18,
      "volume_acceleration": 6.61,
      "price_momentum": 1.55,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.85,
      "spread_liquidity": 2.27,
      "momentum_consistency": 2.43,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 4.89,
      "vwap": 4.8673,
      "vwap_slope": -0.0074,
      "rvol": 0.08,
      "volume_acceleration": 1.66,
      "premarket_volume": 38368.0,
      "momentum_pct": 1.03,
      "consolidation_tightness_pct": 1.13,
      "distance_from_pm_high_pct": 0.2,
      "extension_from_vwap_pct": 0.47,
      "spread_pct": 0.82
    },
    "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": 4.9,
    "pm_low": 4.83
  },
  {
    "symbol": "RWAY",
    "total_score": 49.22,
    "raw_score": 52.17,
    "breakdown": {
      "price_quality": 1.7,
      "volume_quality": 7.55,
      "rvol": 0.3,
      "volume_acceleration": 3.24,
      "price_momentum": 0.11,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 6,
      "spread_liquidity": 4.5,
      "momentum_consistency": 2.36,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.7,
      "vwap": 6.6857,
      "vwap_slope": 0.0025,
      "rvol": 0.13,
      "volume_acceleration": 0.93,
      "premarket_volume": 62913.0,
      "momentum_pct": 0.07,
      "consolidation_tightness_pct": 0.15,
      "distance_from_pm_high_pct": 0.0,
      "extension_from_vwap_pct": 0.21,
      "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.7,
    "pm_low": 6.675
  },
  {
    "symbol": "ULCC",
    "total_score": 49.19,
    "raw_score": 52.14,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 0.79,
      "volume_acceleration": 3.88,
      "price_momentum": 0.12,
      "price_structure": 12,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.58,
      "spread_liquidity": 4.46,
      "momentum_consistency": 1.81,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.17,
      "vwap": 6.1733,
      "vwap_slope": -0.0089,
      "rvol": 0.33,
      "volume_acceleration": 1.12,
      "premarket_volume": 164875.0,
      "momentum_pct": 0.08,
      "consolidation_tightness_pct": 0.41,
      "distance_from_pm_high_pct": 0.56,
      "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": true,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 6.205,
    "pm_low": 6.14
  },
  {
    "symbol": "LCUT",
    "total_score": 49.12,
    "raw_score": 52.06,
    "breakdown": {
      "price_quality": 4.87,
      "volume_quality": 6.54,
      "rvol": 0.26,
      "volume_acceleration": 10,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 4.95,
      "spread_liquidity": 2.64,
      "momentum_consistency": 3.2,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.87,
      "vwap": 9.9436,
      "vwap_slope": 0.001,
      "rvol": 0.11,
      "volume_acceleration": 2.42,
      "premarket_volume": 54522.0,
      "momentum_pct": -0.8,
      "consolidation_tightness_pct": 1.41,
      "distance_from_pm_high_pct": 1.4,
      "extension_from_vwap_pct": -0.74,
      "spread_pct": 0.71
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": true
    },
    "pm_high": 10.01,
    "pm_low": 9.825
  },
  {
    "symbol": "TK",
    "total_score": 49.06,
    "raw_score": 52.0,
    "breakdown": {
      "price_quality": 2.07,
      "volume_quality": 7.14,
      "rvol": 0.29,
      "volume_acceleration": 2.73,
      "price_momentum": 0.12,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.86,
      "spread_liquidity": 4.74,
      "momentum_consistency": 2.67,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.93,
      "vwap": 12.9155,
      "vwap_slope": 0.0006,
      "rvol": 0.12,
      "volume_acceleration": 0.78,
      "premarket_volume": 59490.0,
      "momentum_pct": 0.08,
      "consolidation_tightness_pct": 0.23,
      "distance_from_pm_high_pct": 0.19,
      "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.955,
    "pm_low": 12.89
  },
  {
    "symbol": "ARCO",
    "total_score": 49.05,
    "raw_score": 51.99,
    "breakdown": {
      "price_quality": 2.72,
      "volume_quality": 12.0,
      "rvol": 0.59,
      "volume_acceleration": 4.95,
      "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.57,
      "momentum_consistency": 1.76,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.72,
      "vwap": 7.7256,
      "vwap_slope": 0.0053,
      "rvol": 0.25,
      "volume_acceleration": 1.49,
      "premarket_volume": 122682.0,
      "momentum_pct": -0.19,
      "consolidation_tightness_pct": 0.26,
      "distance_from_pm_high_pct": 0.26,
      "extension_from_vwap_pct": -0.07,
      "spread_pct": 0.13
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": true
    },
    "pm_high": 7.74,
    "pm_low": 7.705
  },
  {
    "symbol": "PACK",
    "total_score": 49.04,
    "raw_score": 51.98,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 7.88,
      "rvol": 0.32,
      "volume_acceleration": 2.53,
      "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.2,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.235,
      "vwap": 5.1883,
      "vwap_slope": 0.0132,
      "rvol": 0.13,
      "volume_acceleration": 1.25,
      "premarket_volume": 65694.0,
      "momentum_pct": -0.1,
      "consolidation_tightness_pct": 0.48,
      "distance_from_pm_high_pct": 0.29,
      "extension_from_vwap_pct": 0.9,
      "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.155
  },
  {
    "symbol": "NMR",
    "total_score": 48.9,
    "raw_score": 51.83,
    "breakdown": {
      "price_quality": 4.64,
      "volume_quality": 5.1,
      "rvol": 0.2,
      "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.96,
      "spread_liquidity": 4.65,
      "momentum_consistency": 1.69,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.645,
      "vwap": 9.6434,
      "vwap_slope": 0.0003,
      "rvol": 0.09,
      "volume_acceleration": 0.91,
      "premarket_volume": 42518.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.0,
      "distance_from_pm_high_pct": 0.05,
      "extension_from_vwap_pct": 0.02,
      "spread_pct": 0.1
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 9.65,
    "pm_low": 9.64
  },
  {
    "symbol": "ALIT",
    "total_score": 48.89,
    "raw_score": 51.82,
    "breakdown": {
      "price_quality": 1.55,
      "volume_quality": 7.6,
      "rvol": 0.3,
      "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.64,
      "spread_liquidity": 3.76,
      "momentum_consistency": 2.95,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.445,
      "vwap": 13.394,
      "vwap_slope": 0.0373,
      "rvol": 0.13,
      "volume_acceleration": 1.04,
      "premarket_volume": 63333.0,
      "momentum_pct": -0.07,
      "consolidation_tightness_pct": 0.19,
      "distance_from_pm_high_pct": 0.48,
      "extension_from_vwap_pct": 0.38,
      "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.51,
    "pm_low": 13.285
  },
  {
    "symbol": "LTBR",
    "total_score": 48.84,
    "raw_score": 51.77,
    "breakdown": {
      "price_quality": 2.96,
      "volume_quality": 5.44,
      "rvol": 0.22,
      "volume_acceleration": 3.66,
      "price_momentum": 0.09,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.95,
      "spread_liquidity": 4.58,
      "momentum_consistency": 2.48,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.955,
      "vwap": 7.9403,
      "vwap_slope": 0.0049,
      "rvol": 0.09,
      "volume_acceleration": 1.37,
      "premarket_volume": 45304.0,
      "momentum_pct": 0.06,
      "consolidation_tightness_pct": 0.25,
      "distance_from_pm_high_pct": 0.06,
      "extension_from_vwap_pct": 0.19,
      "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.96,
    "pm_low": 7.92
  },
  {
    "symbol": "GFR",
    "total_score": 48.84,
    "raw_score": 51.78,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 8.81,
      "rvol": 0.35,
      "volume_acceleration": 2.71,
      "price_momentum": 0.35,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 6,
      "spread_liquidity": 4.48,
      "momentum_consistency": 1.17,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.41,
      "vwap": 6.3697,
      "vwap_slope": 0.0074,
      "rvol": 0.15,
      "volume_acceleration": 0.78,
      "premarket_volume": 73425.0,
      "momentum_pct": 0.23,
      "consolidation_tightness_pct": 0.31,
      "distance_from_pm_high_pct": 0.0,
      "extension_from_vwap_pct": 0.63,
      "spread_pct": 0.16
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 6.41,
    "pm_low": 6.33
  },
  {
    "symbol": "INNV",
    "total_score": 48.69,
    "raw_score": 51.61,
    "breakdown": {
      "price_quality": 3.88,
      "volume_quality": 3.69,
      "rvol": 0.15,
      "volume_acceleration": 2.77,
      "price_momentum": 0.14,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.93,
      "spread_liquidity": 4.4,
      "momentum_consistency": 4.25,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.12,
      "vwap": 11.0886,
      "vwap_slope": 0.0085,
      "rvol": 0.06,
      "volume_acceleration": 0.8,
      "premarket_volume": 30735.0,
      "momentum_pct": 0.09,
      "consolidation_tightness_pct": 0.36,
      "distance_from_pm_high_pct": 0.09,
      "extension_from_vwap_pct": 0.28,
      "spread_pct": 0.18
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 11.13,
    "pm_low": 11.005
  },
  {
    "symbol": "PSFE",
    "total_score": 48.69,
    "raw_score": 51.61,
    "breakdown": {
      "price_quality": 1.64,
      "volume_quality": 4.97,
      "rvol": 0.2,
      "volume_acceleration": 5.52,
      "price_momentum": 0.45,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.94,
      "spread_liquidity": 4.0,
      "momentum_consistency": 2.48,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.64,
      "vwap": 6.6179,
      "vwap_slope": 0.0066,
      "rvol": 0.08,
      "volume_acceleration": 1.55,
      "premarket_volume": 41433.0,
      "momentum_pct": 0.3,
      "consolidation_tightness_pct": 0.45,
      "distance_from_pm_high_pct": 0.08,
      "extension_from_vwap_pct": 0.33,
      "spread_pct": 0.3
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 6.645,
    "pm_low": 6.6
  },
  {
    "symbol": "NEOG",
    "total_score": 48.66,
    "raw_score": 51.58,
    "breakdown": {
      "price_quality": 3.35,
      "volume_quality": 11.49,
      "rvol": 0.46,
      "volume_acceleration": 3.84,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.9,
      "spread_liquidity": 4.71,
      "momentum_consistency": 2.22,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.655,
      "vwap": 11.6581,
      "vwap_slope": 0.0005,
      "rvol": 0.19,
      "volume_acceleration": 1.11,
      "premarket_volume": 95737.0,
      "momentum_pct": -0.04,
      "consolidation_tightness_pct": 0.17,
      "distance_from_pm_high_pct": 0.13,
      "extension_from_vwap_pct": -0.03,
      "spread_pct": 0.09
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": true
    },
    "pm_high": 11.67,
    "pm_low": 11.635
  },
  {
    "symbol": "REAL",
    "total_score": 48.64,
    "raw_score": 51.56,
    "breakdown": {
      "price_quality": 3.96,
      "volume_quality": 12.0,
      "rvol": 1.72,
      "volume_acceleration": 1.72,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.73,
      "spread_liquidity": 4.39,
      "momentum_consistency": 2.44,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.045,
      "vwap": 11.0455,
      "vwap_slope": 0.0028,
      "rvol": 0.72,
      "volume_acceleration": 0.5,
      "premarket_volume": 358702.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.41,
      "distance_from_pm_high_pct": 0.36,
      "extension_from_vwap_pct": -0.0,
      "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.085,
    "pm_low": 11.02
  },
  {
    "symbol": "PD",
    "total_score": 48.61,
    "raw_score": 51.53,
    "breakdown": {
      "price_quality": 3.05,
      "volume_quality": 12.0,
      "rvol": 0.5,
      "volume_acceleration": 3.57,
      "price_momentum": 0.19,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.69,
      "spread_liquidity": 4.72,
      "momentum_consistency": 2.61,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.95,
      "vwap": 11.9402,
      "vwap_slope": -0.0014,
      "rvol": 0.21,
      "volume_acceleration": 1.03,
      "premarket_volume": 104413.0,
      "momentum_pct": 0.13,
      "consolidation_tightness_pct": 0.17,
      "distance_from_pm_high_pct": 0.42,
      "extension_from_vwap_pct": 0.08,
      "spread_pct": 0.08
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 12.0,
    "pm_low": 11.89
  },
  {
    "symbol": "TSSI",
    "total_score": 48.58,
    "raw_score": 51.5,
    "breakdown": {
      "price_quality": 4.54,
      "volume_quality": 5.91,
      "rvol": 0.24,
      "volume_acceleration": 1.94,
      "price_momentum": 0.16,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.69,
      "spread_liquidity": 3.61,
      "momentum_consistency": 3.02,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.54,
      "vwap": 9.5057,
      "vwap_slope": 0.0177,
      "rvol": 0.1,
      "volume_acceleration": 1.19,
      "premarket_volume": 49231.0,
      "momentum_pct": 0.1,
      "consolidation_tightness_pct": 0.73,
      "distance_from_pm_high_pct": 0.42,
      "extension_from_vwap_pct": 0.36,
      "spread_pct": 0.42
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 9.5799,
    "pm_low": 9.465
  },
  {
    "symbol": "AGPU",
    "total_score": 48.56,
    "raw_score": 51.48,
    "breakdown": {
      "price_quality": 5.0,
      "volume_quality": 3.48,
      "rvol": 0.14,
      "volume_acceleration": 1.05,
      "price_momentum": 1.21,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 6,
      "spread_liquidity": 1.99,
      "momentum_consistency": 3.81,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.0,
      "vwap": 9.7807,
      "vwap_slope": -0.0116,
      "rvol": 0.06,
      "volume_acceleration": 0.3,
      "premarket_volume": 29020.0,
      "momentum_pct": 0.81,
      "consolidation_tightness_pct": 1.92,
      "distance_from_pm_high_pct": 0.0,
      "extension_from_vwap_pct": 2.24,
      "spread_pct": 0.9
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 10.0,
    "pm_low": 9.67
  },
  {
    "symbol": "GENI",
    "total_score": 48.5,
    "raw_score": 51.41,
    "breakdown": {
      "price_quality": 2.64,
      "volume_quality": 12.0,
      "rvol": 1.67,
      "volume_acceleration": 10,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.46,
      "spread_liquidity": 4.56,
      "momentum_consistency": 2.67,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.64,
      "vwap": 7.6522,
      "vwap_slope": -0.0032,
      "rvol": 0.7,
      "volume_acceleration": 2.06,
      "premarket_volume": 348502.0,
      "momentum_pct": -0.13,
      "consolidation_tightness_pct": 0.39,
      "distance_from_pm_high_pct": 0.71,
      "extension_from_vwap_pct": -0.16,
      "spread_pct": 0.13
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 7.695,
    "pm_low": 7.62
  },
  {
    "symbol": "SATL",
    "total_score": 48.41,
    "raw_score": 51.32,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 4.68,
      "volume_acceleration": 10,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 4.28,
      "spread_liquidity": 4.42,
      "momentum_consistency": 2.03,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.76,
      "vwap": 5.7816,
      "vwap_slope": -0.0368,
      "rvol": 1.75,
      "volume_acceleration": 4.09,
      "premarket_volume": 877138.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.43,
      "distance_from_pm_high_pct": 2.29,
      "extension_from_vwap_pct": -0.37,
      "spread_pct": 0.17
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 5.895,
    "pm_low": 5.71
  },
  {
    "symbol": "VOXR",
    "total_score": 48.36,
    "raw_score": 51.26,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 3.83,
      "rvol": 0.15,
      "volume_acceleration": 6.06,
      "price_momentum": 0.29,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.93,
      "spread_liquidity": 4.35,
      "momentum_consistency": 2.74,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.145,
      "vwap": 5.1344,
      "vwap_slope": 0.0008,
      "rvol": 0.06,
      "volume_acceleration": 1.61,
      "premarket_volume": 31947.0,
      "momentum_pct": 0.19,
      "consolidation_tightness_pct": 0.29,
      "distance_from_pm_high_pct": 0.1,
      "extension_from_vwap_pct": 0.21,
      "spread_pct": 0.19
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 5.1499,
    "pm_low": 5.12
  },
  {
    "symbol": "NOMD",
    "total_score": 48.3,
    "raw_score": 51.19,
    "breakdown": {
      "price_quality": 3.46,
      "volume_quality": 12.0,
      "rvol": 1.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.68,
      "spread_liquidity": 4.71,
      "momentum_consistency": 1.85,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.5409,
      "vwap": 11.5546,
      "vwap_slope": -0.0021,
      "rvol": 0.46,
      "volume_acceleration": 2.09,
      "premarket_volume": 227961.0,
      "momentum_pct": -0.08,
      "consolidation_tightness_pct": 0.25,
      "distance_from_pm_high_pct": 0.42,
      "extension_from_vwap_pct": -0.12,
      "spread_pct": 0.09
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 11.59,
    "pm_low": 11.52
  },
  {
    "symbol": "HOPE",
    "total_score": 48.19,
    "raw_score": 51.08,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 6.15,
      "rvol": 0.25,
      "volume_acceleration": 2.89,
      "price_momentum": 0.11,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 6,
      "spread_liquidity": 4.77,
      "momentum_consistency": 3.03,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.265,
      "vwap": 14.2412,
      "vwap_slope": 0.0053,
      "rvol": 0.1,
      "volume_acceleration": 0.83,
      "premarket_volume": 51223.0,
      "momentum_pct": 0.07,
      "consolidation_tightness_pct": 0.14,
      "distance_from_pm_high_pct": 0.0,
      "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.265,
    "pm_low": 14.21
  },
  {
    "symbol": "GNL",
    "total_score": 48.13,
    "raw_score": 51.02,
    "breakdown": {
      "price_quality": 3.9,
      "volume_quality": 12.0,
      "rvol": 1.16,
      "volume_acceleration": 2.67,
      "price_momentum": 0.08,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.83,
      "spread_liquidity": 4.63,
      "momentum_consistency": 1.54,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.9,
      "vwap": 8.8976,
      "vwap_slope": -0.0013,
      "rvol": 0.48,
      "volume_acceleration": 0.77,
      "premarket_volume": 241657.0,
      "momentum_pct": 0.06,
      "consolidation_tightness_pct": 0.06,
      "distance_from_pm_high_pct": 0.22,
      "extension_from_vwap_pct": 0.03,
      "spread_pct": 0.11
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 8.92,
    "pm_low": 8.88
  },
  {
    "symbol": "OPFI",
    "total_score": 47.96,
    "raw_score": 50.83,
    "breakdown": {
      "price_quality": 2.0,
      "volume_quality": 5.3,
      "rvol": 0.21,
      "volume_acceleration": 4.12,
      "price_momentum": 0.43,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 6,
      "spread_liquidity": 4.52,
      "momentum_consistency": 1.85,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.005,
      "vwap": 6.985,
      "vwap_slope": 0.0016,
      "rvol": 0.09,
      "volume_acceleration": 1.41,
      "premarket_volume": 44133.0,
      "momentum_pct": 0.29,
      "consolidation_tightness_pct": 0.36,
      "distance_from_pm_high_pct": 0.0,
      "extension_from_vwap_pct": 0.29,
      "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.005,
    "pm_low": 6.965
  },
  {
    "symbol": "ALLT",
    "total_score": 47.85,
    "raw_score": 50.72,
    "breakdown": {
      "price_quality": 2.95,
      "volume_quality": 4.61,
      "rvol": 0.18,
      "volume_acceleration": 2.92,
      "price_momentum": 0.19,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 6,
      "spread_liquidity": 4.16,
      "momentum_consistency": 3.3,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.95,
      "vwap": 7.9035,
      "vwap_slope": 0.0082,
      "rvol": 0.08,
      "volume_acceleration": 0.84,
      "premarket_volume": 38454.0,
      "momentum_pct": 0.13,
      "consolidation_tightness_pct": 0.25,
      "distance_from_pm_high_pct": 0.0,
      "extension_from_vwap_pct": 0.59,
      "spread_pct": 0.25
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 7.95,
    "pm_low": 7.87
  },
  {
    "symbol": "LWLG",
    "total_score": 47.76,
    "raw_score": 50.63,
    "breakdown": {
      "price_quality": 1.66,
      "volume_quality": 12.0,
      "rvol": 1.75,
      "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.17,
      "spread_liquidity": 4.5,
      "momentum_consistency": 3.03,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.665,
      "vwap": 6.6771,
      "vwap_slope": -0.0099,
      "rvol": 0.73,
      "volume_acceleration": 2.88,
      "premarket_volume": 364643.0,
      "momentum_pct": 0.08,
      "consolidation_tightness_pct": 0.53,
      "distance_from_pm_high_pct": 1.11,
      "extension_from_vwap_pct": -0.18,
      "spread_pct": 0.15
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 6.74,
    "pm_low": 6.62
  },
  {
    "symbol": "CRML",
    "total_score": 47.63,
    "raw_score": 50.49,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 1.67,
      "volume_acceleration": 3.38,
      "price_momentum": 0.12,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.7,
      "spread_liquidity": 4.47,
      "momentum_consistency": 2.44,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.255,
      "vwap": 6.2387,
      "vwap_slope": -0.0006,
      "rvol": 0.7,
      "volume_acceleration": 0.97,
      "premarket_volume": 348258.0,
      "momentum_pct": 0.08,
      "consolidation_tightness_pct": 0.48,
      "distance_from_pm_high_pct": 0.4,
      "extension_from_vwap_pct": 0.26,
      "spread_pct": 0.16
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 6.28,
    "pm_low": 6.21
  },
  {
    "symbol": "RDW",
    "total_score": 47.59,
    "raw_score": 50.45,
    "breakdown": {
      "price_quality": 2.09,
      "volume_quality": 12.0,
      "rvol": 5.38,
      "volume_acceleration": 5.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.31,
      "spread_liquidity": 4.74,
      "momentum_consistency": 2.71,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.91,
      "vwap": 12.9417,
      "vwap_slope": -0.0203,
      "rvol": 2.02,
      "volume_acceleration": 1.58,
      "premarket_volume": 1008846.0,
      "momentum_pct": -0.08,
      "consolidation_tightness_pct": 0.39,
      "distance_from_pm_high_pct": 0.92,
      "extension_from_vwap_pct": -0.25,
      "spread_pct": 0.08
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 13.03,
    "pm_low": 12.8301
  },
  {
    "symbol": "BYND",
    "total_score": 47.57,
    "raw_score": 50.43,
    "breakdown": {
      "price_quality": 2.69,
      "volume_quality": 12.0,
      "rvol": 1.24,
      "volume_acceleration": 1.93,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.16,
      "spread_liquidity": 4.73,
      "momentum_consistency": 3.09,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.31,
      "vwap": 12.3157,
      "vwap_slope": 0.023,
      "rvol": 0.52,
      "volume_acceleration": 1.19,
      "premarket_volume": 257735.0,
      "momentum_pct": -0.4,
      "consolidation_tightness_pct": 0.57,
      "distance_from_pm_high_pct": 1.12,
      "extension_from_vwap_pct": -0.05,
      "spread_pct": 0.08
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": true
    },
    "pm_high": 12.45,
    "pm_low": 12.17
  },
  {
    "symbol": "MAGN",
    "total_score": 47.53,
    "raw_score": 50.38,
    "breakdown": {
      "price_quality": 2.9,
      "volume_quality": 4.94,
      "rvol": 0.2,
      "volume_acceleration": 10,
      "price_momentum": 0.25,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.88,
      "spread_liquidity": 4.45,
      "momentum_consistency": 2.57,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.1,
      "vwap": 12.0972,
      "vwap_slope": -0.005,
      "rvol": 0.08,
      "volume_acceleration": 2.86,
      "premarket_volume": 41163.0,
      "momentum_pct": 0.17,
      "consolidation_tightness_pct": 0.21,
      "distance_from_pm_high_pct": 0.17,
      "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": false
    },
    "pm_high": 12.12,
    "pm_low": 12.06
  },
  {
    "symbol": "TIC",
    "total_score": 47.47,
    "raw_score": 50.32,
    "breakdown": {
      "price_quality": 4.45,
      "volume_quality": 12.0,
      "rvol": 0.58,
      "volume_acceleration": 7.47,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.61,
      "spread_liquidity": 4.65,
      "momentum_consistency": 3.17,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.45,
      "vwap": 9.4627,
      "vwap_slope": -0.0042,
      "rvol": 0.24,
      "volume_acceleration": 1.75,
      "premarket_volume": 120156.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.21,
      "distance_from_pm_high_pct": 0.53,
      "extension_from_vwap_pct": -0.13,
      "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.5,
    "pm_low": 9.44
  },
  {
    "symbol": "SUJA",
    "total_score": 47.43,
    "raw_score": 50.28,
    "breakdown": {
      "price_quality": 1.77,
      "volume_quality": 12.0,
      "rvol": 1.41,
      "volume_acceleration": 10,
      "price_momentum": 2.48,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 4.32,
      "spread_liquidity": 2.53,
      "momentum_consistency": 3.37,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.77,
      "vwap": 6.7935,
      "vwap_slope": -0.0077,
      "rvol": 0.59,
      "volume_acceleration": 7.03,
      "premarket_volume": 293388.0,
      "momentum_pct": 1.65,
      "consolidation_tightness_pct": 2.0,
      "distance_from_pm_high_pct": 2.24,
      "extension_from_vwap_pct": -0.35,
      "spread_pct": 0.74
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 6.925,
    "pm_low": 6.61
  },
  {
    "symbol": "IPST",
    "total_score": 47.42,
    "raw_score": 50.27,
    "breakdown": {
      "price_quality": 0.0,
      "volume_quality": 12.0,
      "rvol": 12.0,
      "volume_acceleration": 3.48,
      "price_momentum": 7.15,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 3.83,
      "distance_from_pm_high": 0,
      "spread_liquidity": 3.49,
      "momentum_consistency": 3.92,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 17.8,
      "vwap": 19.6055,
      "vwap_slope": -0.9155,
      "rvol": 4.55,
      "volume_acceleration": 1.35,
      "premarket_volume": 2272845.0,
      "momentum_pct": 4.77,
      "consolidation_tightness_pct": 9.26,
      "distance_from_pm_high_pct": 18.76,
      "extension_from_vwap_pct": -9.21,
      "spread_pct": 0.45
    },
    "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": 21.91,
    "pm_low": 16.5809
  },
  {
    "symbol": "LION",
    "total_score": 47.37,
    "raw_score": 50.22,
    "breakdown": {
      "price_quality": 3.29,
      "volume_quality": 12.0,
      "rvol": 0.96,
      "volume_acceleration": 9.33,
      "price_momentum": 0.13,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.27,
      "spread_liquidity": 4.71,
      "momentum_consistency": 2.11,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.705,
      "vwap": 11.7121,
      "vwap_slope": -0.0074,
      "rvol": 0.4,
      "volume_acceleration": 1.93,
      "premarket_volume": 200585.0,
      "momentum_pct": 0.09,
      "consolidation_tightness_pct": 0.3,
      "distance_from_pm_high_pct": 0.97,
      "extension_from_vwap_pct": -0.06,
      "spread_pct": 0.09
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 11.82,
    "pm_low": 11.64
  },
  {
    "symbol": "ARVN",
    "total_score": 47.33,
    "raw_score": 50.17,
    "breakdown": {
      "price_quality": 4.28,
      "volume_quality": 10.53,
      "rvol": 0.42,
      "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.84,
      "spread_liquidity": 4.64,
      "momentum_consistency": 2.36,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.275,
      "vwap": 9.2762,
      "vwap_slope": 0.0028,
      "rvol": 0.18,
      "volume_acceleration": 1.25,
      "premarket_volume": 87716.0,
      "momentum_pct": -0.16,
      "consolidation_tightness_pct": 0.27,
      "distance_from_pm_high_pct": 0.22,
      "extension_from_vwap_pct": -0.01,
      "spread_pct": 0.11
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": true
    },
    "pm_high": 9.295,
    "pm_low": 9.26
  },
  {
    "symbol": "SPT",
    "total_score": 47.27,
    "raw_score": 50.11,
    "breakdown": {
      "price_quality": 4.88,
      "volume_quality": 12.0,
      "rvol": 0.54,
      "volume_acceleration": 7.16,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.59,
      "spread_liquidity": 4.66,
      "momentum_consistency": 2.88,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.885,
      "vwap": 9.8993,
      "vwap_slope": -0.0047,
      "rvol": 0.22,
      "volume_acceleration": 1.72,
      "premarket_volume": 111989.0,
      "momentum_pct": -0.1,
      "consolidation_tightness_pct": 0.2,
      "distance_from_pm_high_pct": 0.55,
      "extension_from_vwap_pct": -0.14,
      "spread_pct": 0.1
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 9.94,
    "pm_low": 9.87
  },
  {
    "symbol": "STTK",
    "total_score": 47.26,
    "raw_score": 50.1,
    "breakdown": {
      "price_quality": 2.38,
      "volume_quality": 3.89,
      "rvol": 0.16,
      "volume_acceleration": 2.74,
      "price_momentum": 0.2,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 6,
      "spread_liquidity": 4.1,
      "momentum_consistency": 4.24,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.38,
      "vwap": 7.3259,
      "vwap_slope": 0.0209,
      "rvol": 0.06,
      "volume_acceleration": 0.79,
      "premarket_volume": 32420.0,
      "momentum_pct": 0.14,
      "consolidation_tightness_pct": 0.27,
      "distance_from_pm_high_pct": 0.0,
      "extension_from_vwap_pct": 0.74,
      "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.38,
    "pm_low": 7.22
  },
  {
    "symbol": "LE",
    "total_score": 47.21,
    "raw_score": 50.05,
    "breakdown": {
      "price_quality": 2.91,
      "volume_quality": 2.74,
      "rvol": 0.11,
      "volume_acceleration": 2.79,
      "price_momentum": 0.06,
      "price_structure": 12,
      "vwap_structure": 1.2,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.42,
      "spread_liquidity": 3.34,
      "momentum_consistency": 3.48,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.085,
      "vwap": 12.093,
      "vwap_slope": 0.0144,
      "rvol": 0.05,
      "volume_acceleration": 0.8,
      "premarket_volume": 22821.0,
      "momentum_pct": 0.04,
      "consolidation_tightness_pct": 0.37,
      "distance_from_pm_high_pct": 0.78,
      "extension_from_vwap_pct": -0.07,
      "spread_pct": 0.5
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": false,
      "vwap_rising": true
    },
    "pm_high": 12.18,
    "pm_low": 12.04
  },
  {
    "symbol": "TKNO",
    "total_score": 47.19,
    "raw_score": 50.02,
    "breakdown": {
      "price_quality": 1.89,
      "volume_quality": 6.08,
      "rvol": 0.24,
      "volume_acceleration": 3.68,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.51,
      "spread_liquidity": 3.55,
      "momentum_consistency": 2.67,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.895,
      "vwap": 6.887,
      "vwap_slope": 0.0035,
      "rvol": 0.1,
      "volume_acceleration": 1.06,
      "premarket_volume": 50635.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.22,
      "distance_from_pm_high_pct": 0.65,
      "extension_from_vwap_pct": 0.12,
      "spread_pct": 0.44
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 6.94,
    "pm_low": 6.82
  },
  {
    "symbol": "DRVN",
    "total_score": 47.16,
    "raw_score": 49.99,
    "breakdown": {
      "price_quality": 1.84,
      "volume_quality": 12.0,
      "rvol": 0.98,
      "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.46,
      "spread_liquidity": 4.49,
      "momentum_consistency": 3.26,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.16,
      "vwap": 13.202,
      "vwap_slope": -0.002,
      "rvol": 0.41,
      "volume_acceleration": 1.96,
      "premarket_volume": 204764.0,
      "momentum_pct": -0.04,
      "consolidation_tightness_pct": 0.46,
      "distance_from_pm_high_pct": 0.72,
      "extension_from_vwap_pct": -0.32,
      "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.255,
    "pm_low": 13.145
  },
  {
    "symbol": "SSL",
    "total_score": 47.05,
    "raw_score": 49.87,
    "breakdown": {
      "price_quality": 3.1,
      "volume_quality": 4.27,
      "rvol": 0.17,
      "volume_acceleration": 2.9,
      "price_momentum": 0.18,
      "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.15,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.905,
      "vwap": 11.8857,
      "vwap_slope": 0.0029,
      "rvol": 0.07,
      "volume_acceleration": 0.83,
      "premarket_volume": 35543.0,
      "momentum_pct": 0.12,
      "consolidation_tightness_pct": 0.13,
      "distance_from_pm_high_pct": 0.0,
      "extension_from_vwap_pct": 0.16,
      "spread_pct": 0.08
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 11.905,
    "pm_low": 11.875
  },
  {
    "symbol": "JOBY",
    "total_score": 47.03,
    "raw_score": 49.85,
    "breakdown": {
      "price_quality": 2.58,
      "volume_quality": 12.0,
      "rvol": 8.16,
      "volume_acceleration": 1.74,
      "price_momentum": 0.1,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.56,
      "spread_liquidity": 4.56,
      "momentum_consistency": 2.76,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.575,
      "vwap": 7.5819,
      "vwap_slope": -0.0028,
      "rvol": 3.06,
      "volume_acceleration": 1.17,
      "premarket_volume": 1530553.0,
      "momentum_pct": 0.07,
      "consolidation_tightness_pct": 0.4,
      "distance_from_pm_high_pct": 0.59,
      "extension_from_vwap_pct": -0.09,
      "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.62,
    "pm_low": 7.555
  },
  {
    "symbol": "FRSH",
    "total_score": 47.0,
    "raw_score": 49.83,
    "breakdown": {
      "price_quality": 2.17,
      "volume_quality": 12.0,
      "rvol": 7.68,
      "volume_acceleration": 3.33,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.02,
      "spread_liquidity": 4.74,
      "momentum_consistency": 2.48,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.83,
      "vwap": 12.8975,
      "vwap_slope": -0.0093,
      "rvol": 2.88,
      "volume_acceleration": 0.96,
      "premarket_volume": 1440540.0,
      "momentum_pct": -0.16,
      "consolidation_tightness_pct": 0.23,
      "distance_from_pm_high_pct": 1.31,
      "extension_from_vwap_pct": -0.52,
      "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.0,
    "pm_low": 12.82
  },
  {
    "symbol": "MTRX",
    "total_score": 46.79,
    "raw_score": 49.6,
    "breakdown": {
      "price_quality": 3.3,
      "volume_quality": 2.8,
      "rvol": 0.11,
      "volume_acceleration": 3.11,
      "price_momentum": 0.39,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 6,
      "spread_liquidity": 4.43,
      "momentum_consistency": 3.06,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.7,
      "vwap": 11.6568,
      "vwap_slope": 0.0085,
      "rvol": 0.05,
      "volume_acceleration": 0.89,
      "premarket_volume": 23374.0,
      "momentum_pct": 0.26,
      "consolidation_tightness_pct": 0.26,
      "distance_from_pm_high_pct": 0.0,
      "extension_from_vwap_pct": 0.37,
      "spread_pct": 0.17
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 11.7,
    "pm_low": 11.625
  },
  {
    "symbol": "RES",
    "total_score": 46.7,
    "raw_score": 49.5,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 0.75,
      "volume_acceleration": 3.74,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.88,
      "spread_liquidity": 4.47,
      "momentum_consistency": 1.96,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.315,
      "vwap": 6.3118,
      "vwap_slope": -0.0007,
      "rvol": 0.31,
      "volume_acceleration": 1.08,
      "premarket_volume": 155302.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.16,
      "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": false
    },
    "pm_high": 6.325,
    "pm_low": 6.3
  },
  {
    "symbol": "IE",
    "total_score": 46.57,
    "raw_score": 49.36,
    "breakdown": {
      "price_quality": 4.87,
      "volume_quality": 9.09,
      "rvol": 0.36,
      "volume_acceleration": 9.19,
      "price_momentum": 0.3,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.71,
      "spread_liquidity": 4.67,
      "momentum_consistency": 2.78,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.13,
      "vwap": 10.1372,
      "vwap_slope": -0.0126,
      "rvol": 0.15,
      "volume_acceleration": 1.92,
      "premarket_volume": 75723.0,
      "momentum_pct": 0.2,
      "consolidation_tightness_pct": 0.25,
      "distance_from_pm_high_pct": 0.39,
      "extension_from_vwap_pct": -0.07,
      "spread_pct": 0.1
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 10.17,
    "pm_low": 10.09
  },
  {
    "symbol": "VELO",
    "total_score": 46.56,
    "raw_score": 49.36,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 1.07,
      "volume_acceleration": 3.46,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.31,
      "spread_liquidity": 3.4,
      "momentum_consistency": 3.43,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.53,
      "vwap": 14.5127,
      "vwap_slope": -0.0215,
      "rvol": 0.45,
      "volume_acceleration": 0.99,
      "premarket_volume": 222701.0,
      "momentum_pct": -0.1,
      "consolidation_tightness_pct": 0.58,
      "distance_from_pm_high_pct": 0.92,
      "extension_from_vwap_pct": 0.12,
      "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": true,
      "vwap_rising": false
    },
    "pm_high": 14.665,
    "pm_low": 14.43
  },
  {
    "symbol": "XPOF",
    "total_score": 46.24,
    "raw_score": 49.02,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 5.1,
      "rvol": 0.2,
      "volume_acceleration": 3.41,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.93,
      "spread_liquidity": 4.34,
      "momentum_consistency": 2.13,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.085,
      "vwap": 5.0721,
      "vwap_slope": 0.0055,
      "rvol": 0.08,
      "volume_acceleration": 0.98,
      "premarket_volume": 42473.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.1,
      "distance_from_pm_high_pct": 0.1,
      "extension_from_vwap_pct": 0.25,
      "spread_pct": 0.2
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 5.09,
    "pm_low": 5.04
  },
  {
    "symbol": "YEXT",
    "total_score": 46.16,
    "raw_score": 48.93,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 5.28,
      "rvol": 0.21,
      "volume_acceleration": 2.95,
      "price_momentum": 0.12,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.81,
      "spread_liquidity": 4.45,
      "momentum_consistency": 2.21,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.065,
      "vwap": 6.0565,
      "vwap_slope": 0.0028,
      "rvol": 0.09,
      "volume_acceleration": 0.85,
      "premarket_volume": 43962.0,
      "momentum_pct": 0.08,
      "consolidation_tightness_pct": 0.08,
      "distance_from_pm_high_pct": 0.25,
      "extension_from_vwap_pct": 0.14,
      "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.08,
    "pm_low": 6.035
  },
  {
    "symbol": "VITL",
    "total_score": 45.75,
    "raw_score": 48.5,
    "breakdown": {
      "price_quality": 3.86,
      "volume_quality": 12.0,
      "rvol": 0.62,
      "volume_acceleration": 6.89,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.5,
      "spread_liquidity": 4.7,
      "momentum_consistency": 2.53,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.14,
      "vwap": 11.1526,
      "vwap_slope": -0.0028,
      "rvol": 0.26,
      "volume_acceleration": 1.69,
      "premarket_volume": 130019.0,
      "momentum_pct": -0.22,
      "consolidation_tightness_pct": 0.31,
      "distance_from_pm_high_pct": 0.67,
      "extension_from_vwap_pct": -0.11,
      "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.215,
    "pm_low": 11.08
  },
  {
    "symbol": "SOPH",
    "total_score": 45.7,
    "raw_score": 48.44,
    "breakdown": {
      "price_quality": 2.82,
      "volume_quality": 12.0,
      "rvol": 0.56,
      "volume_acceleration": 1.39,
      "price_momentum": 0.19,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.62,
      "spread_liquidity": 4.57,
      "momentum_consistency": 2.1,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.82,
      "vwap": 7.8158,
      "vwap_slope": -0.0017,
      "rvol": 0.23,
      "volume_acceleration": 0.4,
      "premarket_volume": 116044.0,
      "momentum_pct": 0.13,
      "consolidation_tightness_pct": 0.7,
      "distance_from_pm_high_pct": 0.51,
      "extension_from_vwap_pct": 0.05,
      "spread_pct": 0.13
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 7.86,
    "pm_low": 7.76
  },
  {
    "symbol": "ATOM",
    "total_score": 45.64,
    "raw_score": 48.38,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 5.02,
      "rvol": 0.2,
      "volume_acceleration": 10,
      "price_momentum": 0.15,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.85,
      "spread_liquidity": 3.67,
      "momentum_consistency": 2.79,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.0,
      "vwap": 4.9882,
      "vwap_slope": -0.0031,
      "rvol": 0.08,
      "volume_acceleration": 2.5,
      "premarket_volume": 41865.0,
      "momentum_pct": 0.1,
      "consolidation_tightness_pct": 0.5,
      "distance_from_pm_high_pct": 0.2,
      "extension_from_vwap_pct": 0.24,
      "spread_pct": 0.4
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 5.01,
    "pm_low": 4.96
  },
  {
    "symbol": "AES",
    "total_score": 45.58,
    "raw_score": 48.32,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 2.05,
      "volume_acceleration": 1.09,
      "price_momentum": 0.05,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 6,
      "spread_liquidity": 4.77,
      "momentum_consistency": 1.66,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.75,
      "vwap": 14.7459,
      "vwap_slope": -0.0,
      "rvol": 0.86,
      "volume_acceleration": 0.31,
      "premarket_volume": 427931.0,
      "momentum_pct": 0.03,
      "consolidation_tightness_pct": 0.07,
      "distance_from_pm_high_pct": 0.0,
      "extension_from_vwap_pct": 0.03,
      "spread_pct": 0.07
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 14.75,
    "pm_low": 14.74
  },
  {
    "symbol": "OSS",
    "total_score": 45.55,
    "raw_score": 48.29,
    "breakdown": {
      "price_quality": 2.26,
      "volume_quality": 12.0,
      "rvol": 0.74,
      "volume_acceleration": 0.97,
      "price_momentum": 0.18,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.59,
      "spread_liquidity": 3.69,
      "momentum_consistency": 3.67,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.745,
      "vwap": 12.7165,
      "vwap_slope": -0.0014,
      "rvol": 0.31,
      "volume_acceleration": 0.28,
      "premarket_volume": 153875.0,
      "momentum_pct": 0.12,
      "consolidation_tightness_pct": 0.52,
      "distance_from_pm_high_pct": 0.55,
      "extension_from_vwap_pct": 0.22,
      "spread_pct": 0.39
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 12.815,
    "pm_low": 12.65
  },
  {
    "symbol": "RLGT",
    "total_score": 45.42,
    "raw_score": 48.15,
    "breakdown": {
      "price_quality": 3.71,
      "volume_quality": 2.79,
      "rvol": 0.11,
      "volume_acceleration": 2.28,
      "price_momentum": 0.09,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 6,
      "spread_liquidity": 4.23,
      "momentum_consistency": 2.54,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.71,
      "vwap": 8.6906,
      "vwap_slope": 0.0037,
      "rvol": 0.05,
      "volume_acceleration": 0.65,
      "premarket_volume": 23259.0,
      "momentum_pct": 0.06,
      "consolidation_tightness_pct": 0.11,
      "distance_from_pm_high_pct": 0.0,
      "extension_from_vwap_pct": 0.22,
      "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.71,
    "pm_low": 8.67
  },
  {
    "symbol": "MH",
    "total_score": 45.41,
    "raw_score": 48.14,
    "breakdown": {
      "price_quality": 1.74,
      "volume_quality": 8.47,
      "rvol": 0.34,
      "volume_acceleration": 3.14,
      "price_momentum": 0.17,
      "price_structure": 12,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.49,
      "spread_liquidity": 4.75,
      "momentum_consistency": 2.04,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.26,
      "vwap": 13.2824,
      "vwap_slope": -0.0135,
      "rvol": 0.14,
      "volume_acceleration": 1.31,
      "premarket_volume": 70604.0,
      "momentum_pct": 0.11,
      "consolidation_tightness_pct": 0.23,
      "distance_from_pm_high_pct": 0.67,
      "extension_from_vwap_pct": -0.17,
      "spread_pct": 0.08
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 13.35,
    "pm_low": 13.23
  },
  {
    "symbol": "IMRX",
    "total_score": 45.33,
    "raw_score": 48.05,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 4.2,
      "rvol": 0.17,
      "volume_acceleration": 2.99,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 6,
      "spread_liquidity": 4.34,
      "momentum_consistency": 2.45,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.035,
      "vwap": 5.0242,
      "vwap_slope": 0.0037,
      "rvol": 0.07,
      "volume_acceleration": 1.3,
      "premarket_volume": 35011.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.1,
      "distance_from_pm_high_pct": 0.0,
      "extension_from_vwap_pct": 0.21,
      "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.035,
    "pm_low": 5.01
  },
  {
    "symbol": "EXK",
    "total_score": 45.25,
    "raw_score": 47.96,
    "breakdown": {
      "price_quality": 4.71,
      "volume_quality": 12.0,
      "rvol": 3.2,
      "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.46,
      "spread_liquidity": 4.66,
      "momentum_consistency": 2.71,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.705,
      "vwap": 9.7223,
      "vwap_slope": -0.0024,
      "rvol": 1.34,
      "volume_acceleration": 0.81,
      "premarket_volume": 667641.0,
      "momentum_pct": -0.1,
      "consolidation_tightness_pct": 0.15,
      "distance_from_pm_high_pct": 0.72,
      "extension_from_vwap_pct": -0.18,
      "spread_pct": 0.1
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 9.775,
    "pm_low": 9.69
  },
  {
    "symbol": "MAT",
    "total_score": 45.13,
    "raw_score": 47.84,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 1.84,
      "volume_acceleration": 8.16,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.41,
      "spread_liquidity": 4.77,
      "momentum_consistency": 1.76,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.505,
      "vwap": 14.5586,
      "vwap_slope": -0.0146,
      "rvol": 0.77,
      "volume_acceleration": 1.82,
      "premarket_volume": 383076.0,
      "momentum_pct": -0.14,
      "consolidation_tightness_pct": 0.24,
      "distance_from_pm_high_pct": 0.79,
      "extension_from_vwap_pct": -0.37,
      "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.62,
    "pm_low": 14.505
  },
  {
    "symbol": "OEC",
    "total_score": 45.07,
    "raw_score": 47.77,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 4.14,
      "rvol": 0.17,
      "volume_acceleration": 2.24,
      "price_momentum": 0.12,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.76,
      "spread_liquidity": 4.45,
      "momentum_consistency": 3.0,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.115,
      "vwap": 6.1042,
      "vwap_slope": 0.002,
      "rvol": 0.07,
      "volume_acceleration": 1.22,
      "premarket_volume": 34496.0,
      "momentum_pct": 0.08,
      "consolidation_tightness_pct": 0.25,
      "distance_from_pm_high_pct": 0.33,
      "extension_from_vwap_pct": 0.18,
      "spread_pct": 0.16
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 6.135,
    "pm_low": 6.07
  },
  {
    "symbol": "LEG",
    "total_score": 45.04,
    "raw_score": 47.74,
    "breakdown": {
      "price_quality": 4.47,
      "volume_quality": 12.0,
      "rvol": 1.08,
      "volume_acceleration": 5.49,
      "price_momentum": 0.08,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.37,
      "spread_liquidity": 4.65,
      "momentum_consistency": 2.21,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.47,
      "vwap": 9.4782,
      "vwap_slope": -0.0049,
      "rvol": 0.45,
      "volume_acceleration": 1.55,
      "premarket_volume": 224084.0,
      "momentum_pct": 0.05,
      "consolidation_tightness_pct": 0.16,
      "distance_from_pm_high_pct": 0.84,
      "extension_from_vwap_pct": -0.09,
      "spread_pct": 0.11
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 9.55,
    "pm_low": 9.4311
  },
  {
    "symbol": "HLIT",
    "total_score": 44.78,
    "raw_score": 47.47,
    "breakdown": {
      "price_quality": 2.26,
      "volume_quality": 12.0,
      "rvol": 0.67,
      "volume_acceleration": 6.77,
      "price_momentum": 0.24,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.74,
      "spread_liquidity": 4.74,
      "momentum_consistency": 2.67,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.745,
      "vwap": 12.7559,
      "vwap_slope": -0.0075,
      "rvol": 0.28,
      "volume_acceleration": 1.68,
      "premarket_volume": 139848.0,
      "momentum_pct": 0.16,
      "consolidation_tightness_pct": 0.16,
      "distance_from_pm_high_pct": 0.35,
      "extension_from_vwap_pct": -0.09,
      "spread_pct": 0.08
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 12.79,
    "pm_low": 12.725
  },
  {
    "symbol": "SHLS",
    "total_score": 44.75,
    "raw_score": 47.43,
    "breakdown": {
      "price_quality": 2.7,
      "volume_quality": 12.0,
      "rvol": 6.86,
      "volume_acceleration": 1.36,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 4.71,
      "spread_liquidity": 4.57,
      "momentum_consistency": 2.85,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.7,
      "vwap": 7.7319,
      "vwap_slope": -0.0042,
      "rvol": 2.57,
      "volume_acceleration": 0.39,
      "premarket_volume": 1285396.0,
      "momentum_pct": -0.13,
      "consolidation_tightness_pct": 0.65,
      "distance_from_pm_high_pct": 1.72,
      "extension_from_vwap_pct": -0.41,
      "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.835,
    "pm_low": 7.66
  },
  {
    "symbol": "WNC",
    "total_score": 44.68,
    "raw_score": 47.36,
    "breakdown": {
      "price_quality": 2.87,
      "volume_quality": 8.62,
      "rvol": 0.34,
      "volume_acceleration": 3.45,
      "price_momentum": 0.25,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.57,
      "spread_liquidity": 4.45,
      "momentum_consistency": 2.62,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.13,
      "vwap": 12.1228,
      "vwap_slope": -0.0038,
      "rvol": 0.14,
      "volume_acceleration": 0.99,
      "premarket_volume": 71811.0,
      "momentum_pct": 0.17,
      "consolidation_tightness_pct": 0.33,
      "distance_from_pm_high_pct": 0.57,
      "extension_from_vwap_pct": 0.06,
      "spread_pct": 0.17
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 12.2,
    "pm_low": 12.04
  },
  {
    "symbol": "FSM",
    "total_score": 44.68,
    "raw_score": 47.36,
    "breakdown": {
      "price_quality": 4.5,
      "volume_quality": 12.0,
      "rvol": 2.29,
      "volume_acceleration": 3.1,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.72,
      "spread_liquidity": 4.68,
      "momentum_consistency": 2.67,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.5,
      "vwap": 10.5167,
      "vwap_slope": -0.0036,
      "rvol": 0.95,
      "volume_acceleration": 0.89,
      "premarket_volume": 476350.0,
      "momentum_pct": -0.05,
      "consolidation_tightness_pct": 0.1,
      "distance_from_pm_high_pct": 0.37,
      "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": 10.5389,
    "pm_low": 10.5
  },
  {
    "symbol": "INTT",
    "total_score": 44.43,
    "raw_score": 47.1,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 2.72,
      "rvol": 0.11,
      "volume_acceleration": 10,
      "price_momentum": 0.77,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.92,
      "spread_liquidity": 3.05,
      "momentum_consistency": 3.83,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.65,
      "vwap": 13.5585,
      "vwap_slope": -0.0016,
      "rvol": 0.05,
      "volume_acceleration": 3.33,
      "premarket_volume": 22686.0,
      "momentum_pct": 0.52,
      "consolidation_tightness_pct": 1.51,
      "distance_from_pm_high_pct": 0.11,
      "extension_from_vwap_pct": 0.67,
      "spread_pct": 0.59
    },
    "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.665,
    "pm_low": 13.46
  },
  {
    "symbol": "TG",
    "total_score": 44.36,
    "raw_score": 47.02,
    "breakdown": {
      "price_quality": 2.99,
      "volume_quality": 3.4,
      "rvol": 0.14,
      "volume_acceleration": 0.75,
      "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.17,
      "momentum_consistency": 3.27,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.99,
      "vwap": 7.9544,
      "vwap_slope": 0.0061,
      "rvol": 0.06,
      "volume_acceleration": 0.22,
      "premarket_volume": 28334.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.38,
      "distance_from_pm_high_pct": 0.12,
      "extension_from_vwap_pct": 0.45,
      "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.0,
    "pm_low": 7.93
  },
  {
    "symbol": "BSM",
    "total_score": 44.11,
    "raw_score": 46.76,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 3.28,
      "rvol": 0.13,
      "volume_acceleration": 1.96,
      "price_momentum": 0.05,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.9,
      "spread_liquidity": 4.54,
      "momentum_consistency": 3.0,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.58,
      "vwap": 14.58,
      "vwap_slope": 0.0022,
      "rvol": 0.05,
      "volume_acceleration": 0.56,
      "premarket_volume": 27294.0,
      "momentum_pct": 0.03,
      "consolidation_tightness_pct": 0.21,
      "distance_from_pm_high_pct": 0.14,
      "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": 14.6,
    "pm_low": 14.56
  },
  {
    "symbol": "CRMD",
    "total_score": 44.06,
    "raw_score": 46.7,
    "breakdown": {
      "price_quality": 3.12,
      "volume_quality": 12.0,
      "rvol": 0.91,
      "volume_acceleration": 6.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.34,
      "spread_liquidity": 4.59,
      "momentum_consistency": 2.21,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.1231,
      "vwap": 8.1477,
      "vwap_slope": -0.0087,
      "rvol": 0.38,
      "volume_acceleration": 1.61,
      "premarket_volume": 190604.0,
      "momentum_pct": -0.21,
      "consolidation_tightness_pct": 0.25,
      "distance_from_pm_high_pct": 0.88,
      "extension_from_vwap_pct": -0.3,
      "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.195,
    "pm_low": 8.12
  },
  {
    "symbol": "SWBI",
    "total_score": 43.84,
    "raw_score": 46.47,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 5.23,
      "rvol": 0.21,
      "volume_acceleration": 6.54,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.81,
      "spread_liquidity": 4.53,
      "momentum_consistency": 3.45,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.135,
      "vwap": 14.1344,
      "vwap_slope": -0.0046,
      "rvol": 0.09,
      "volume_acceleration": 1.65,
      "premarket_volume": 43571.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.18,
      "distance_from_pm_high_pct": 0.25,
      "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": false
    },
    "pm_high": 14.17,
    "pm_low": 14.0928
  },
  {
    "symbol": "BRSL",
    "total_score": 43.71,
    "raw_score": 46.33,
    "breakdown": {
      "price_quality": 3.9,
      "volume_quality": 12.0,
      "rvol": 1.35,
      "volume_acceleration": 3.62,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.5,
      "spread_liquidity": 4.7,
      "momentum_consistency": 2.86,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.095,
      "vwap": 11.1247,
      "vwap_slope": -0.0046,
      "rvol": 0.56,
      "volume_acceleration": 1.04,
      "premarket_volume": 282045.0,
      "momentum_pct": -0.27,
      "consolidation_tightness_pct": 0.36,
      "distance_from_pm_high_pct": 0.67,
      "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.17,
    "pm_low": 11.085
  },
  {
    "symbol": "NXE",
    "total_score": 43.49,
    "raw_score": 46.1,
    "breakdown": {
      "price_quality": 4.78,
      "volume_quality": 12.0,
      "rvol": 1.8,
      "volume_acceleration": 2.43,
      "price_momentum": 0.15,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.53,
      "spread_liquidity": 4.67,
      "momentum_consistency": 2.34,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.225,
      "vwap": 10.2411,
      "vwap_slope": -0.0042,
      "rvol": 0.75,
      "volume_acceleration": 0.7,
      "premarket_volume": 375820.0,
      "momentum_pct": 0.1,
      "consolidation_tightness_pct": 0.29,
      "distance_from_pm_high_pct": 0.63,
      "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": 10.29,
    "pm_low": 10.2
  },
  {
    "symbol": "MBC",
    "total_score": 43.39,
    "raw_score": 45.99,
    "breakdown": {
      "price_quality": 3.96,
      "volume_quality": 12.0,
      "rvol": 0.53,
      "volume_acceleration": 4.55,
      "price_momentum": 0.08,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.34,
      "spread_liquidity": 4.63,
      "momentum_consistency": 2.51,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.955,
      "vwap": 8.9788,
      "vwap_slope": -0.0124,
      "rvol": 0.22,
      "volume_acceleration": 1.45,
      "premarket_volume": 109693.0,
      "momentum_pct": 0.06,
      "consolidation_tightness_pct": 0.17,
      "distance_from_pm_high_pct": 0.89,
      "extension_from_vwap_pct": -0.27,
      "spread_pct": 0.11
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 9.035,
    "pm_low": 8.945
  },
  {
    "symbol": "KRNY",
    "total_score": 43.27,
    "raw_score": 45.87,
    "breakdown": {
      "price_quality": 4.78,
      "volume_quality": 6.93,
      "rvol": 0.28,
      "volume_acceleration": 2.83,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.92,
      "spread_liquidity": 4.66,
      "momentum_consistency": 1.27,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.775,
      "vwap": 9.7731,
      "vwap_slope": -0.0002,
      "rvol": 0.12,
      "volume_acceleration": 0.81,
      "premarket_volume": 57744.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.0,
      "distance_from_pm_high_pct": 0.1,
      "extension_from_vwap_pct": 0.02,
      "spread_pct": 0.1
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 9.785,
    "pm_low": 9.755
  },
  {
    "symbol": "GO",
    "total_score": 43.13,
    "raw_score": 45.72,
    "breakdown": {
      "price_quality": 3.76,
      "volume_quality": 12.0,
      "rvol": 1.77,
      "volume_acceleration": 3.2,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.18,
      "spread_liquidity": 4.7,
      "momentum_consistency": 2.71,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.24,
      "vwap": 11.3123,
      "vwap_slope": -0.0093,
      "rvol": 0.74,
      "volume_acceleration": 0.92,
      "premarket_volume": 369530.0,
      "momentum_pct": -0.27,
      "consolidation_tightness_pct": 0.27,
      "distance_from_pm_high_pct": 1.1,
      "extension_from_vwap_pct": -0.64,
      "spread_pct": 0.09
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 11.365,
    "pm_low": 11.23
  },
  {
    "symbol": "GPK",
    "total_score": 43.01,
    "raw_score": 45.59,
    "breakdown": {
      "price_quality": 3.98,
      "volume_quality": 12.0,
      "rvol": 1.53,
      "volume_acceleration": 2.8,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.56,
      "spread_liquidity": 4.7,
      "momentum_consistency": 2.62,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.015,
      "vwap": 11.044,
      "vwap_slope": -0.004,
      "rvol": 0.64,
      "volume_acceleration": 1.28,
      "premarket_volume": 318797.0,
      "momentum_pct": -0.23,
      "consolidation_tightness_pct": 0.36,
      "distance_from_pm_high_pct": 0.59,
      "extension_from_vwap_pct": -0.26,
      "spread_pct": 0.09
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 11.08,
    "pm_low": 10.995
  },
  {
    "symbol": "LAND",
    "total_score": 42.96,
    "raw_score": 45.54,
    "breakdown": {
      "price_quality": 3.24,
      "volume_quality": 7.36,
      "rvol": 0.29,
      "volume_acceleration": 10,
      "price_momentum": 0.09,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.82,
      "spread_liquidity": 4.6,
      "momentum_consistency": 1.74,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.24,
      "vwap": 8.2402,
      "vwap_slope": -0.0021,
      "rvol": 0.12,
      "volume_acceleration": 2.59,
      "premarket_volume": 61306.0,
      "momentum_pct": 0.06,
      "consolidation_tightness_pct": 0.12,
      "distance_from_pm_high_pct": 0.24,
      "extension_from_vwap_pct": -0.0,
      "spread_pct": 0.12
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 8.26,
    "pm_low": 8.22
  },
  {
    "symbol": "BTG",
    "total_score": 42.94,
    "raw_score": 45.51,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 5.6,
      "volume_acceleration": 2.69,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.63,
      "spread_liquidity": 4.34,
      "momentum_consistency": 1.36,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.025,
      "vwap": 5.0287,
      "vwap_slope": -0.0008,
      "rvol": 2.1,
      "volume_acceleration": 0.77,
      "premarket_volume": 1050238.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.2,
      "distance_from_pm_high_pct": 0.5,
      "extension_from_vwap_pct": -0.07,
      "spread_pct": 0.2
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 5.05,
    "pm_low": 5.02
  },
  {
    "symbol": "ECVT",
    "total_score": 42.93,
    "raw_score": 45.51,
    "breakdown": {
      "price_quality": 4.8,
      "volume_quality": 12.0,
      "rvol": 0.76,
      "volume_acceleration": 3.36,
      "price_momentum": 0.07,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.16,
      "spread_liquidity": 4.67,
      "momentum_consistency": 2.29,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.2,
      "vwap": 10.238,
      "vwap_slope": -0.0129,
      "rvol": 0.31,
      "volume_acceleration": 0.96,
      "premarket_volume": 157332.0,
      "momentum_pct": 0.05,
      "consolidation_tightness_pct": 0.15,
      "distance_from_pm_high_pct": 1.11,
      "extension_from_vwap_pct": -0.37,
      "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.315,
    "pm_low": 10.185
  },
  {
    "symbol": "FUBO",
    "total_score": 42.85,
    "raw_score": 45.42,
    "breakdown": {
      "price_quality": 4.92,
      "volume_quality": 12.0,
      "rvol": 0.56,
      "volume_acceleration": 3.47,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.12,
      "spread_liquidity": 4.34,
      "momentum_consistency": 2.62,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.08,
      "vwap": 10.1283,
      "vwap_slope": -0.0113,
      "rvol": 0.23,
      "volume_acceleration": 1.0,
      "premarket_volume": 116780.0,
      "momentum_pct": -0.3,
      "consolidation_tightness_pct": 0.64,
      "distance_from_pm_high_pct": 1.18,
      "extension_from_vwap_pct": -0.48,
      "spread_pct": 0.2
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 10.2,
    "pm_low": 10.06
  },
  {
    "symbol": "AIRO",
    "total_score": 42.58,
    "raw_score": 45.13,
    "breakdown": {
      "price_quality": 4.06,
      "volume_quality": 7.21,
      "rvol": 0.29,
      "volume_acceleration": 10,
      "price_momentum": 0.08,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.34,
      "spread_liquidity": 3.9,
      "momentum_consistency": 1.85,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.06,
      "vwap": 9.0825,
      "vwap_slope": -0.0238,
      "rvol": 0.12,
      "volume_acceleration": 3.23,
      "premarket_volume": 60103.0,
      "momentum_pct": 0.06,
      "consolidation_tightness_pct": 0.28,
      "distance_from_pm_high_pct": 0.88,
      "extension_from_vwap_pct": -0.25,
      "spread_pct": 0.33
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 9.14,
    "pm_low": 9.03
  },
  {
    "symbol": "BLMN",
    "total_score": 42.34,
    "raw_score": 44.88,
    "breakdown": {
      "price_quality": 4.32,
      "volume_quality": 12.0,
      "rvol": 0.78,
      "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.2,
      "spread_liquidity": 4.69,
      "momentum_consistency": 2.2,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.675,
      "vwap": 10.7316,
      "vwap_slope": -0.0228,
      "rvol": 0.33,
      "volume_acceleration": 1.33,
      "premarket_volume": 163352.0,
      "momentum_pct": -0.14,
      "consolidation_tightness_pct": 0.28,
      "distance_from_pm_high_pct": 1.07,
      "extension_from_vwap_pct": -0.53,
      "spread_pct": 0.09
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 10.79,
    "pm_low": 10.665
  },
  {
    "symbol": "SPIR",
    "total_score": 42.15,
    "raw_score": 44.68,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 4.82,
      "rvol": 0.19,
      "volume_acceleration": 2.82,
      "price_momentum": 0.33,
      "price_structure": 12,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.68,
      "spread_liquidity": 4.52,
      "momentum_consistency": 2.82,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.81,
      "vwap": 13.8226,
      "vwap_slope": -0.0112,
      "rvol": 0.08,
      "volume_acceleration": 0.81,
      "premarket_volume": 40193.0,
      "momentum_pct": 0.22,
      "consolidation_tightness_pct": 0.36,
      "distance_from_pm_high_pct": 0.43,
      "extension_from_vwap_pct": -0.09,
      "spread_pct": 0.14
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 13.87,
    "pm_low": 13.76
  },
  {
    "symbol": "FLO",
    "total_score": 42.12,
    "raw_score": 44.65,
    "breakdown": {
      "price_quality": 2.43,
      "volume_quality": 12.0,
      "rvol": 1.9,
      "volume_acceleration": 3.96,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.75,
      "spread_liquidity": 4.55,
      "momentum_consistency": 1.66,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.435,
      "vwap": 7.446,
      "vwap_slope": -0.0023,
      "rvol": 0.79,
      "volume_acceleration": 1.14,
      "premarket_volume": 396589.0,
      "momentum_pct": -0.13,
      "consolidation_tightness_pct": 0.27,
      "distance_from_pm_high_pct": 0.34,
      "extension_from_vwap_pct": -0.15,
      "spread_pct": 0.13
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 7.46,
    "pm_low": 7.43
  },
  {
    "symbol": "VFC",
    "total_score": 42.09,
    "raw_score": 44.62,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 2.7,
      "volume_acceleration": 3.0,
      "price_momentum": 0.1,
      "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.48,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.405,
      "vwap": 14.4098,
      "vwap_slope": -0.0035,
      "rvol": 1.13,
      "volume_acceleration": 1.3,
      "premarket_volume": 562879.0,
      "momentum_pct": 0.07,
      "consolidation_tightness_pct": 0.21,
      "distance_from_pm_high_pct": 0.45,
      "extension_from_vwap_pct": -0.03,
      "spread_pct": 0.07
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 14.47,
    "pm_low": 14.37
  },
  {
    "symbol": "ALOY",
    "total_score": 42.06,
    "raw_score": 44.58,
    "breakdown": {
      "price_quality": 1.52,
      "volume_quality": 12.0,
      "rvol": 0.94,
      "volume_acceleration": 5.39,
      "price_momentum": 0.17,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 4.74,
      "spread_liquidity": 4.75,
      "momentum_consistency": 2.67,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.48,
      "vwap": 13.493,
      "vwap_slope": -0.0254,
      "rvol": 0.39,
      "volume_acceleration": 1.54,
      "premarket_volume": 196305.0,
      "momentum_pct": 0.11,
      "consolidation_tightness_pct": 0.59,
      "distance_from_pm_high_pct": 1.68,
      "extension_from_vwap_pct": -0.1,
      "spread_pct": 0.07
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 13.71,
    "pm_low": 13.34
  },
  {
    "symbol": "MFA",
    "total_score": 41.94,
    "raw_score": 44.46,
    "breakdown": {
      "price_quality": 4.04,
      "volume_quality": 12.0,
      "rvol": 0.57,
      "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.79,
      "spread_liquidity": 4.63,
      "momentum_consistency": 1.85,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.04,
      "vwap": 9.0491,
      "vwap_slope": -0.0016,
      "rvol": 0.24,
      "volume_acceleration": 0.91,
      "premarket_volume": 119696.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.11,
      "distance_from_pm_high_pct": 0.28,
      "extension_from_vwap_pct": -0.1,
      "spread_pct": 0.11
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 9.065,
    "pm_low": 9.04
  },
  {
    "symbol": "UNIT",
    "total_score": 41.91,
    "raw_score": 44.42,
    "breakdown": {
      "price_quality": 4.81,
      "volume_quality": 12.0,
      "rvol": 0.63,
      "volume_acceleration": 2.68,
      "price_momentum": 0.15,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.43,
      "spread_liquidity": 4.66,
      "momentum_consistency": 1.66,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.815,
      "vwap": 9.8329,
      "vwap_slope": -0.0124,
      "rvol": 0.26,
      "volume_acceleration": 1.27,
      "premarket_volume": 130999.0,
      "momentum_pct": 0.1,
      "consolidation_tightness_pct": 0.15,
      "distance_from_pm_high_pct": 0.76,
      "extension_from_vwap_pct": -0.18,
      "spread_pct": 0.1
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 9.89,
    "pm_low": 9.8
  },
  {
    "symbol": "TDOC",
    "total_score": 41.84,
    "raw_score": 44.35,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 2.18,
      "volume_acceleration": 3.13,
      "price_momentum": 0.35,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.6,
      "spread_liquidity": 4.49,
      "momentum_consistency": 2.71,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.495,
      "vwap": 6.5027,
      "vwap_slope": -0.0031,
      "rvol": 0.91,
      "volume_acceleration": 0.9,
      "premarket_volume": 454443.0,
      "momentum_pct": 0.23,
      "consolidation_tightness_pct": 0.3,
      "distance_from_pm_high_pct": 0.54,
      "extension_from_vwap_pct": -0.12,
      "spread_pct": 0.15
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 6.53,
    "pm_low": 6.47
  },
  {
    "symbol": "FWRG",
    "total_score": 41.61,
    "raw_score": 44.11,
    "breakdown": {
      "price_quality": 2.83,
      "volume_quality": 12.0,
      "rvol": 0.69,
      "volume_acceleration": 3.82,
      "price_momentum": 0.19,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.66,
      "spread_liquidity": 4.45,
      "momentum_consistency": 2.07,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.17,
      "vwap": 12.1847,
      "vwap_slope": -0.0082,
      "rvol": 0.29,
      "volume_acceleration": 1.1,
      "premarket_volume": 143609.0,
      "momentum_pct": 0.12,
      "consolidation_tightness_pct": 0.45,
      "distance_from_pm_high_pct": 0.45,
      "extension_from_vwap_pct": -0.12,
      "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.225,
    "pm_low": 12.135
  },
  {
    "symbol": "RFIL",
    "total_score": 41.43,
    "raw_score": 43.92,
    "breakdown": {
      "price_quality": 2.22,
      "volume_quality": 2.92,
      "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.27,
      "spread_liquidity": 0.59,
      "momentum_consistency": 3.2,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.78,
      "vwap": 12.8108,
      "vwap_slope": 0.0196,
      "rvol": 0.05,
      "volume_acceleration": 2.01,
      "premarket_volume": 24293.0,
      "momentum_pct": -0.39,
      "consolidation_tightness_pct": 1.13,
      "distance_from_pm_high_pct": 0.97,
      "extension_from_vwap_pct": -0.24,
      "spread_pct": 1.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": 12.905,
    "pm_low": 12.75
  },
  {
    "symbol": "ADTN",
    "total_score": 41.42,
    "raw_score": 43.91,
    "breakdown": {
      "price_quality": 3.12,
      "volume_quality": 12.0,
      "rvol": 1.67,
      "volume_acceleration": 2.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.0,
      "spread_liquidity": 4.59,
      "momentum_consistency": 3.02,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.12,
      "vwap": 8.173,
      "vwap_slope": -0.0139,
      "rvol": 0.7,
      "volume_acceleration": 0.61,
      "premarket_volume": 348335.0,
      "momentum_pct": -0.12,
      "consolidation_tightness_pct": 0.49,
      "distance_from_pm_high_pct": 1.34,
      "extension_from_vwap_pct": -0.65,
      "spread_pct": 0.12
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 8.23,
    "pm_low": 8.11
  },
  {
    "symbol": "NMAX",
    "total_score": 41.25,
    "raw_score": 43.72,
    "breakdown": {
      "price_quality": 3.64,
      "volume_quality": 12.0,
      "rvol": 0.85,
      "volume_acceleration": 3.72,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 4.48,
      "spread_liquidity": 3.53,
      "momentum_consistency": 3.09,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.355,
      "vwap": 11.4897,
      "vwap_slope": -0.0423,
      "rvol": 0.36,
      "volume_acceleration": 1.37,
      "premarket_volume": 178079.0,
      "momentum_pct": -0.57,
      "consolidation_tightness_pct": 1.1,
      "distance_from_pm_high_pct": 2.03,
      "extension_from_vwap_pct": -1.17,
      "spread_pct": 0.44
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 11.59,
    "pm_low": 11.32
  },
  {
    "symbol": "UTZ",
    "total_score": 41.15,
    "raw_score": 43.62,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 7.0,
      "rvol": 0.28,
      "volume_acceleration": 10,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.95,
      "spread_liquidity": 4.76,
      "momentum_consistency": 1.73,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.16,
      "vwap": 14.161,
      "vwap_slope": -0.0,
      "rvol": 0.12,
      "volume_acceleration": 2.67,
      "premarket_volume": 58312.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.17,
    "pm_low": 14.16
  },
  {
    "symbol": "VSTS",
    "total_score": 41.03,
    "raw_score": 43.5,
    "breakdown": {
      "price_quality": 1.91,
      "volume_quality": 12.0,
      "rvol": 0.65,
      "volume_acceleration": 4.08,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.52,
      "spread_liquidity": 4.75,
      "momentum_consistency": 2.2,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.09,
      "vwap": 13.0999,
      "vwap_slope": -0.0035,
      "rvol": 0.27,
      "volume_acceleration": 1.41,
      "premarket_volume": 135353.0,
      "momentum_pct": -0.15,
      "consolidation_tightness_pct": 0.46,
      "distance_from_pm_high_pct": 0.65,
      "extension_from_vwap_pct": -0.08,
      "spread_pct": 0.08
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 13.175,
    "pm_low": 13.06
  },
  {
    "symbol": "VERX",
    "total_score": 41.02,
    "raw_score": 43.48,
    "breakdown": {
      "price_quality": 1.94,
      "volume_quality": 12.0,
      "rvol": 0.75,
      "volume_acceleration": 3.72,
      "price_momentum": 0.06,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.46,
      "spread_liquidity": 4.49,
      "momentum_consistency": 2.67,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.06,
      "vwap": 13.0719,
      "vwap_slope": -0.0046,
      "rvol": 0.31,
      "volume_acceleration": 1.07,
      "premarket_volume": 155515.0,
      "momentum_pct": 0.04,
      "consolidation_tightness_pct": 0.34,
      "distance_from_pm_high_pct": 0.72,
      "extension_from_vwap_pct": -0.09,
      "spread_pct": 0.15
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 13.155,
    "pm_low": 13.03
  },
  {
    "symbol": "SB",
    "total_score": 40.75,
    "raw_score": 43.19,
    "breakdown": {
      "price_quality": 2.96,
      "volume_quality": 6.94,
      "rvol": 0.28,
      "volume_acceleration": 8.21,
      "price_momentum": 0.19,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.81,
      "spread_liquidity": 4.58,
      "momentum_consistency": 1.82,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.96,
      "vwap": 7.9631,
      "vwap_slope": -0.0033,
      "rvol": 0.12,
      "volume_acceleration": 1.82,
      "premarket_volume": 57836.0,
      "momentum_pct": 0.13,
      "consolidation_tightness_pct": 0.25,
      "distance_from_pm_high_pct": 0.25,
      "extension_from_vwap_pct": -0.04,
      "spread_pct": 0.13
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 7.98,
    "pm_low": 7.94
  },
  {
    "symbol": "KBDC",
    "total_score": 40.72,
    "raw_score": 43.16,
    "breakdown": {
      "price_quality": 1.65,
      "volume_quality": 5.89,
      "rvol": 0.24,
      "volume_acceleration": 2.37,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.94,
      "spread_liquidity": 4.5,
      "momentum_consistency": 2.96,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.35,
      "vwap": 13.3505,
      "vwap_slope": 0.0027,
      "rvol": 0.1,
      "volume_acceleration": 1.24,
      "premarket_volume": 49096.0,
      "momentum_pct": -0.07,
      "consolidation_tightness_pct": 0.07,
      "distance_from_pm_high_pct": 0.07,
      "extension_from_vwap_pct": -0.0,
      "spread_pct": 0.15
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": true
    },
    "pm_high": 13.36,
    "pm_low": 13.33
  },
  {
    "symbol": "VYX",
    "total_score": 40.7,
    "raw_score": 43.14,
    "breakdown": {
      "price_quality": 2.75,
      "volume_quality": 12.0,
      "rvol": 1.39,
      "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.33,
      "spread_liquidity": 4.57,
      "momentum_consistency": 1.1,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.755,
      "vwap": 7.7767,
      "vwap_slope": -0.0091,
      "rvol": 0.58,
      "volume_acceleration": 1.03,
      "premarket_volume": 290455.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.19,
      "distance_from_pm_high_pct": 0.89,
      "extension_from_vwap_pct": -0.28,
      "spread_pct": 0.13
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 7.825,
    "pm_low": 7.75
  },
  {
    "symbol": "ALHC",
    "total_score": 40.67,
    "raw_score": 43.11,
    "breakdown": {
      "price_quality": 1.79,
      "volume_quality": 12.0,
      "rvol": 1.47,
      "volume_acceleration": 2.88,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.63,
      "spread_liquidity": 4.75,
      "momentum_consistency": 2.18,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.205,
      "vwap": 13.2228,
      "vwap_slope": -0.0026,
      "rvol": 0.61,
      "volume_acceleration": 0.83,
      "premarket_volume": 305954.0,
      "momentum_pct": -0.08,
      "consolidation_tightness_pct": 0.15,
      "distance_from_pm_high_pct": 0.49,
      "extension_from_vwap_pct": -0.13,
      "spread_pct": 0.08
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 13.27,
    "pm_low": 13.18
  },
  {
    "symbol": "SECZ",
    "total_score": 40.65,
    "raw_score": 43.09,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 1.12,
      "volume_acceleration": 3.44,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.24,
      "spread_liquidity": 4.43,
      "momentum_consistency": 2.96,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.85,
      "vwap": 5.8565,
      "vwap_slope": -0.002,
      "rvol": 0.47,
      "volume_acceleration": 0.99,
      "premarket_volume": 233363.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.34,
      "distance_from_pm_high_pct": 1.02,
      "extension_from_vwap_pct": -0.11,
      "spread_pct": 0.17
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 5.91,
    "pm_low": 5.82
  },
  {
    "symbol": "KODK",
    "total_score": 40.51,
    "raw_score": 42.94,
    "breakdown": {
      "price_quality": 4.97,
      "volume_quality": 12.0,
      "rvol": 0.86,
      "volume_acceleration": 1.47,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 4.68,
      "spread_liquidity": 4.67,
      "momentum_consistency": 1.89,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.03,
      "vwap": 10.1043,
      "vwap_slope": -0.0155,
      "rvol": 0.36,
      "volume_acceleration": 0.42,
      "premarket_volume": 179816.0,
      "momentum_pct": -0.59,
      "consolidation_tightness_pct": 0.8,
      "distance_from_pm_high_pct": 1.76,
      "extension_from_vwap_pct": -0.74,
      "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.2099,
    "pm_low": 10.01
  },
  {
    "symbol": "AVPT",
    "total_score": 40.26,
    "raw_score": 42.68,
    "breakdown": {
      "price_quality": 1.61,
      "volume_quality": 12.0,
      "rvol": 0.57,
      "volume_acceleration": 3.47,
      "price_momentum": 0.06,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.42,
      "spread_liquidity": 4.75,
      "momentum_consistency": 2.4,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.39,
      "vwap": 13.4157,
      "vwap_slope": -0.0176,
      "rvol": 0.24,
      "volume_acceleration": 1.35,
      "premarket_volume": 118985.0,
      "momentum_pct": 0.04,
      "consolidation_tightness_pct": 0.26,
      "distance_from_pm_high_pct": 0.78,
      "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": 13.495,
    "pm_low": 13.365
  },
  {
    "symbol": "COUR",
    "total_score": 40.21,
    "raw_score": 42.62,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 2.19,
      "volume_acceleration": 2.6,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.35,
      "spread_liquidity": 4.41,
      "momentum_consistency": 2.17,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.685,
      "vwap": 5.7002,
      "vwap_slope": -0.0032,
      "rvol": 0.91,
      "volume_acceleration": 0.75,
      "premarket_volume": 456892.0,
      "momentum_pct": -0.18,
      "consolidation_tightness_pct": 0.26,
      "distance_from_pm_high_pct": 0.87,
      "extension_from_vwap_pct": -0.27,
      "spread_pct": 0.18
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 5.735,
    "pm_low": 5.675
  },
  {
    "symbol": "MNRO",
    "total_score": 40.13,
    "raw_score": 42.54,
    "breakdown": {
      "price_quality": 3.27,
      "volume_quality": 12.0,
      "rvol": 0.91,
      "volume_acceleration": 1.27,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.43,
      "spread_liquidity": 4.43,
      "momentum_consistency": 2.82,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.73,
      "vwap": 11.7718,
      "vwap_slope": -0.0039,
      "rvol": 0.38,
      "volume_acceleration": 0.37,
      "premarket_volume": 189427.0,
      "momentum_pct": -0.17,
      "consolidation_tightness_pct": 0.21,
      "distance_from_pm_high_pct": 0.76,
      "extension_from_vwap_pct": -0.36,
      "spread_pct": 0.17
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 11.82,
    "pm_low": 11.69
  },
  {
    "symbol": "FIGS",
    "total_score": 40.08,
    "raw_score": 42.48,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 0.69,
      "volume_acceleration": 3.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.64,
      "spread_liquidity": 4.77,
      "momentum_consistency": 2.48,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.37,
      "vwap": 14.4123,
      "vwap_slope": -0.006,
      "rvol": 0.29,
      "volume_acceleration": 1.3,
      "premarket_volume": 144012.0,
      "momentum_pct": -0.31,
      "consolidation_tightness_pct": 0.38,
      "distance_from_pm_high_pct": 0.48,
      "extension_from_vwap_pct": -0.29,
      "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.439,
    "pm_low": 14.37
  },
  {
    "symbol": "LTRX",
    "total_score": 39.97,
    "raw_score": 42.36,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 6.11,
      "rvol": 0.24,
      "volume_acceleration": 10,
      "price_momentum": 0.24,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.18,
      "spread_liquidity": 4.47,
      "momentum_consistency": 2.22,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.31,
      "vwap": 6.3411,
      "vwap_slope": -0.0164,
      "rvol": 0.1,
      "volume_acceleration": 3.82,
      "premarket_volume": 50916.0,
      "momentum_pct": 0.16,
      "consolidation_tightness_pct": 0.32,
      "distance_from_pm_high_pct": 1.1,
      "extension_from_vwap_pct": -0.49,
      "spread_pct": 0.16
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 6.38,
    "pm_low": 6.29
  },
  {
    "symbol": "CNNE",
    "total_score": 39.94,
    "raw_score": 42.34,
    "breakdown": {
      "price_quality": 0.0,
      "volume_quality": 6.42,
      "rvol": 0.26,
      "volume_acceleration": 3.07,
      "price_momentum": 0.21,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.75,
      "spread_liquidity": 4.56,
      "momentum_consistency": 2.87,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 15.11,
      "vwap": 15.1069,
      "vwap_slope": -0.0176,
      "rvol": 0.11,
      "volume_acceleration": 0.88,
      "premarket_volume": 53462.0,
      "momentum_pct": 0.14,
      "consolidation_tightness_pct": 0.27,
      "distance_from_pm_high_pct": 0.33,
      "extension_from_vwap_pct": 0.02,
      "spread_pct": 0.13
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 15.16,
    "pm_low": 15.05
  },
  {
    "symbol": "BKKT",
    "total_score": 39.82,
    "raw_score": 42.21,
    "breakdown": {
      "price_quality": 1.96,
      "volume_quality": 12.0,
      "rvol": 1.01,
      "volume_acceleration": 3.07,
      "price_momentum": 0.65,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.04,
      "spread_liquidity": 4.04,
      "momentum_consistency": 2.03,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.96,
      "vwap": 6.9624,
      "vwap_slope": -0.006,
      "rvol": 0.42,
      "volume_acceleration": 1.31,
      "premarket_volume": 209794.0,
      "momentum_pct": 0.43,
      "consolidation_tightness_pct": 0.43,
      "distance_from_pm_high_pct": 1.28,
      "extension_from_vwap_pct": -0.03,
      "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": 7.05,
    "pm_low": 6.92
  },
  {
    "symbol": "OPTX",
    "total_score": 39.8,
    "raw_score": 42.19,
    "breakdown": {
      "price_quality": 3.26,
      "volume_quality": 2.85,
      "rvol": 0.11,
      "volume_acceleration": 2.74,
      "price_momentum": 0.64,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.77,
      "spread_liquidity": 3.79,
      "momentum_consistency": 3.83,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.255,
      "vwap": 8.2426,
      "vwap_slope": -0.0031,
      "rvol": 0.05,
      "volume_acceleration": 0.79,
      "premarket_volume": 23760.0,
      "momentum_pct": 0.43,
      "consolidation_tightness_pct": 0.58,
      "distance_from_pm_high_pct": 0.3,
      "extension_from_vwap_pct": 0.15,
      "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": false
    },
    "pm_high": 8.28,
    "pm_low": 8.212
  },
  {
    "symbol": "BBDC",
    "total_score": 39.75,
    "raw_score": 42.13,
    "breakdown": {
      "price_quality": 4.43,
      "volume_quality": 8.49,
      "rvol": 0.34,
      "volume_acceleration": 3.37,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.68,
      "spread_liquidity": 4.65,
      "momentum_consistency": 2.78,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.425,
      "vwap": 9.4308,
      "vwap_slope": -0.0058,
      "rvol": 0.14,
      "volume_acceleration": 0.97,
      "premarket_volume": 70761.0,
      "momentum_pct": -0.03,
      "consolidation_tightness_pct": 0.16,
      "distance_from_pm_high_pct": 0.42,
      "extension_from_vwap_pct": -0.06,
      "spread_pct": 0.11
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 9.465,
    "pm_low": 9.4
  },
  {
    "symbol": "UPB",
    "total_score": 39.64,
    "raw_score": 42.02,
    "breakdown": {
      "price_quality": 1.83,
      "volume_quality": 5.08,
      "rvol": 0.2,
      "volume_acceleration": 3.1,
      "price_momentum": 0.22,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.78,
      "spread_liquidity": 4.03,
      "momentum_consistency": 2.58,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.83,
      "vwap": 6.8186,
      "vwap_slope": -0.0013,
      "rvol": 0.08,
      "volume_acceleration": 1.31,
      "premarket_volume": 42362.0,
      "momentum_pct": 0.15,
      "consolidation_tightness_pct": 0.59,
      "distance_from_pm_high_pct": 0.29,
      "extension_from_vwap_pct": 0.17,
      "spread_pct": 0.29
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 6.85,
    "pm_low": 6.77
  },
  {
    "symbol": "SD",
    "total_score": 39.4,
    "raw_score": 41.76,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 4.09,
      "rvol": 0.16,
      "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.71,
      "spread_liquidity": 4.77,
      "momentum_consistency": 2.73,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.325,
      "vwap": 14.3409,
      "vwap_slope": 0.0017,
      "rvol": 0.07,
      "volume_acceleration": 0.92,
      "premarket_volume": 34091.0,
      "momentum_pct": -0.1,
      "consolidation_tightness_pct": 0.13,
      "distance_from_pm_high_pct": 0.38,
      "extension_from_vwap_pct": -0.11,
      "spread_pct": 0.07
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": true
    },
    "pm_high": 14.38,
    "pm_low": 14.315
  },
  {
    "symbol": "AGEN",
    "total_score": 39.29,
    "raw_score": 41.65,
    "breakdown": {
      "price_quality": 2.46,
      "volume_quality": 12.0,
      "rvol": 0.59,
      "volume_acceleration": 3.39,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 4.52,
      "spread_liquidity": 4.11,
      "momentum_consistency": 2.18,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.46,
      "vwap": 7.5366,
      "vwap_slope": -0.0175,
      "rvol": 0.25,
      "volume_acceleration": 0.97,
      "premarket_volume": 123425.0,
      "momentum_pct": -0.13,
      "consolidation_tightness_pct": 0.2,
      "distance_from_pm_high_pct": 1.97,
      "extension_from_vwap_pct": -1.02,
      "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.61,
    "pm_low": 7.443
  },
  {
    "symbol": "DC",
    "total_score": 39.24,
    "raw_score": 41.6,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 11.43,
      "rvol": 0.46,
      "volume_acceleration": 3.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.68,
      "spread_liquidity": 4.43,
      "momentum_consistency": 2.54,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.89,
      "vwap": 5.895,
      "vwap_slope": -0.0022,
      "rvol": 0.19,
      "volume_acceleration": 0.87,
      "premarket_volume": 95256.0,
      "momentum_pct": 0.08,
      "consolidation_tightness_pct": 0.25,
      "distance_from_pm_high_pct": 0.42,
      "extension_from_vwap_pct": -0.09,
      "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.915,
    "pm_low": 5.88
  },
  {
    "symbol": "WEST",
    "total_score": 39.2,
    "raw_score": 41.55,
    "breakdown": {
      "price_quality": 3.26,
      "volume_quality": 2.84,
      "rvol": 0.11,
      "volume_acceleration": 3.11,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.55,
      "spread_liquidity": 4.6,
      "momentum_consistency": 2.48,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.26,
      "vwap": 8.2815,
      "vwap_slope": 0.0014,
      "rvol": 0.05,
      "volume_acceleration": 1.31,
      "premarket_volume": 23639.0,
      "momentum_pct": -0.48,
      "consolidation_tightness_pct": 0.6,
      "distance_from_pm_high_pct": 0.6,
      "extension_from_vwap_pct": -0.26,
      "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.31,
    "pm_low": 8.255
  },
  {
    "symbol": "SLRC",
    "total_score": 39.02,
    "raw_score": 41.36,
    "breakdown": {
      "price_quality": 2.31,
      "volume_quality": 3.48,
      "rvol": 0.14,
      "volume_acceleration": 10,
      "price_momentum": 0.18,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.82,
      "spread_liquidity": 4.74,
      "momentum_consistency": 2.29,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.69,
      "vwap": 12.6949,
      "vwap_slope": -0.0037,
      "rvol": 0.06,
      "volume_acceleration": 2.24,
      "premarket_volume": 29025.0,
      "momentum_pct": 0.12,
      "consolidation_tightness_pct": 0.12,
      "distance_from_pm_high_pct": 0.24,
      "extension_from_vwap_pct": -0.04,
      "spread_pct": 0.08
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 12.7199,
    "pm_low": 12.6711
  },
  {
    "symbol": "AEBI",
    "total_score": 38.92,
    "raw_score": 41.26,
    "breakdown": {
      "price_quality": 2.93,
      "volume_quality": 2.48,
      "rvol": 0.1,
      "volume_acceleration": 3.46,
      "price_momentum": 0.25,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.84,
      "spread_liquidity": 4.45,
      "momentum_consistency": 2.55,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.07,
      "vwap": 12.0592,
      "vwap_slope": -0.0091,
      "rvol": 0.04,
      "volume_acceleration": 0.99,
      "premarket_volume": 20677.0,
      "momentum_pct": 0.17,
      "consolidation_tightness_pct": 0.41,
      "distance_from_pm_high_pct": 0.21,
      "extension_from_vwap_pct": 0.09,
      "spread_pct": 0.17
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 12.095,
    "pm_low": 12.02
  },
  {
    "symbol": "CION",
    "total_score": 38.7,
    "raw_score": 41.02,
    "breakdown": {
      "price_quality": 2.33,
      "volume_quality": 3.57,
      "rvol": 0.14,
      "volume_acceleration": 10,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.75,
      "spread_liquidity": 4.55,
      "momentum_consistency": 2.29,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.33,
      "vwap": 7.3437,
      "vwap_slope": -0.0002,
      "rvol": 0.06,
      "volume_acceleration": 2.17,
      "premarket_volume": 29731.0,
      "momentum_pct": -0.2,
      "consolidation_tightness_pct": 0.2,
      "distance_from_pm_high_pct": 0.34,
      "extension_from_vwap_pct": -0.19,
      "spread_pct": 0.14
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 7.355,
    "pm_low": 7.33
  },
  {
    "symbol": "MNTN",
    "total_score": 38.53,
    "raw_score": 40.84,
    "breakdown": {
      "price_quality": 2.26,
      "volume_quality": 12.0,
      "rvol": 0.74,
      "volume_acceleration": 2.51,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 4.14,
      "spread_liquidity": 4.48,
      "momentum_consistency": 2.33,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.745,
      "vwap": 12.9286,
      "vwap_slope": -0.0369,
      "rvol": 0.31,
      "volume_acceleration": 1.25,
      "premarket_volume": 153511.0,
      "momentum_pct": -0.27,
      "consolidation_tightness_pct": 0.51,
      "distance_from_pm_high_pct": 2.49,
      "extension_from_vwap_pct": -1.42,
      "spread_pct": 0.16
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 13.07,
    "pm_low": 12.745
  },
  {
    "symbol": "BHVN",
    "total_score": 38.28,
    "raw_score": 40.57,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 0.76,
      "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": 4.61,
      "spread_liquidity": 4.51,
      "momentum_consistency": 2.67,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.74,
      "vwap": 13.9077,
      "vwap_slope": -0.0362,
      "rvol": 0.32,
      "volume_acceleration": 1.21,
      "premarket_volume": 158505.0,
      "momentum_pct": -0.15,
      "consolidation_tightness_pct": 0.44,
      "distance_from_pm_high_pct": 1.86,
      "extension_from_vwap_pct": -1.21,
      "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": 14.0,
    "pm_low": 13.73
  },
  {
    "symbol": "HELP",
    "total_score": 38.14,
    "raw_score": 40.43,
    "breakdown": {
      "price_quality": 3.5,
      "volume_quality": 8.58,
      "rvol": 0.34,
      "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.64,
      "spread_liquidity": 4.42,
      "momentum_consistency": 3.35,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.5,
      "vwap": 11.5067,
      "vwap_slope": -0.0009,
      "rvol": 0.14,
      "volume_acceleration": 0.63,
      "premarket_volume": 71526.0,
      "momentum_pct": -0.01,
      "consolidation_tightness_pct": 0.26,
      "distance_from_pm_high_pct": 0.48,
      "extension_from_vwap_pct": -0.06,
      "spread_pct": 0.17
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 11.555,
    "pm_low": 11.47
  },
  {
    "symbol": "NAVI",
    "total_score": 38.12,
    "raw_score": 40.41,
    "breakdown": {
      "price_quality": 3.99,
      "volume_quality": 8.38,
      "rvol": 0.34,
      "volume_acceleration": 3.81,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.59,
      "spread_liquidity": 4.63,
      "momentum_consistency": 1.28,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.995,
      "vwap": 9.0206,
      "vwap_slope": -0.0059,
      "rvol": 0.14,
      "volume_acceleration": 1.09,
      "premarket_volume": 69841.0,
      "momentum_pct": -0.11,
      "consolidation_tightness_pct": 0.28,
      "distance_from_pm_high_pct": 0.55,
      "extension_from_vwap_pct": -0.28,
      "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.045,
    "pm_low": 8.995
  },
  {
    "symbol": "RXST",
    "total_score": 37.43,
    "raw_score": 39.67,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 11.17,
      "rvol": 0.45,
      "volume_acceleration": 1.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.59,
      "spread_liquidity": 4.47,
      "momentum_consistency": 2.17,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.335,
      "vwap": 6.3482,
      "vwap_slope": -0.0029,
      "rvol": 0.19,
      "volume_acceleration": 0.55,
      "premarket_volume": 93121.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.16,
      "distance_from_pm_high_pct": 0.55,
      "extension_from_vwap_pct": -0.21,
      "spread_pct": 0.16
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 6.37,
    "pm_low": 6.32
  },
  {
    "symbol": "AIAI",
    "total_score": 37.36,
    "raw_score": 39.6,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 11.02,
      "rvol": 0.44,
      "volume_acceleration": 9.39,
      "price_momentum": 2.47,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 4.17,
      "distance_from_pm_high": 0,
      "spread_liquidity": 2.6,
      "momentum_consistency": 3.6,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.56,
      "vwap": 5.7154,
      "vwap_slope": -0.2327,
      "rvol": 0.18,
      "volume_acceleration": 1.94,
      "premarket_volume": 91834.0,
      "momentum_pct": 1.65,
      "consolidation_tightness_pct": 8.74,
      "distance_from_pm_high_pct": 8.1,
      "extension_from_vwap_pct": -2.72,
      "spread_pct": 0.72
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 6.05,
    "pm_low": 5.3352
  },
  {
    "symbol": "MATV",
    "total_score": 37.36,
    "raw_score": 39.6,
    "breakdown": {
      "price_quality": 3.04,
      "volume_quality": 4.84,
      "rvol": 0.19,
      "volume_acceleration": 6.52,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.63,
      "spread_liquidity": 4.16,
      "momentum_consistency": 2.81,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.96,
      "vwap": 11.9765,
      "vwap_slope": -0.0129,
      "rvol": 0.08,
      "volume_acceleration": 1.65,
      "premarket_volume": 40333.0,
      "momentum_pct": -0.04,
      "consolidation_tightness_pct": 0.25,
      "distance_from_pm_high_pct": 0.5,
      "extension_from_vwap_pct": -0.14,
      "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.945
  },
  {
    "symbol": "CHPT",
    "total_score": 37.24,
    "raw_score": 39.47,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 4.56,
      "rvol": 0.18,
      "volume_acceleration": 2.12,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.6,
      "spread_liquidity": 3.8,
      "momentum_consistency": 2.51,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.54,
      "vwap": 5.5348,
      "vwap_slope": -0.0014,
      "rvol": 0.08,
      "volume_acceleration": 0.61,
      "premarket_volume": 37985.0,
      "momentum_pct": -0.18,
      "consolidation_tightness_pct": 0.36,
      "distance_from_pm_high_pct": 0.54,
      "extension_from_vwap_pct": 0.09,
      "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": false
    },
    "pm_high": 5.57,
    "pm_low": 5.505
  },
  {
    "symbol": "PAYO",
    "total_score": 37.17,
    "raw_score": 39.4,
    "breakdown": {
      "price_quality": 2.11,
      "volume_quality": 12.0,
      "rvol": 0.95,
      "volume_acceleration": 1.2,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.95,
      "spread_liquidity": 4.53,
      "momentum_consistency": 0.27,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.105,
      "vwap": 7.1052,
      "vwap_slope": -0.0001,
      "rvol": 0.4,
      "volume_acceleration": 0.34,
      "premarket_volume": 197584.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.07,
      "distance_from_pm_high_pct": 0.07,
      "extension_from_vwap_pct": -0.0,
      "spread_pct": 0.14
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 7.11,
    "pm_low": 7.1
  },
  {
    "symbol": "BETR",
    "total_score": 37.14,
    "raw_score": 39.37,
    "breakdown": {
      "price_quality": 2.02,
      "volume_quality": 10.02,
      "rvol": 0.4,
      "volume_acceleration": 4.33,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 4.47,
      "spread_liquidity": 3.2,
      "momentum_consistency": 2.53,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.98,
      "vwap": 13.1139,
      "vwap_slope": -0.0695,
      "rvol": 0.17,
      "volume_acceleration": 1.43,
      "premarket_volume": 83467.0,
      "momentum_pct": -0.04,
      "consolidation_tightness_pct": 0.31,
      "distance_from_pm_high_pct": 2.04,
      "extension_from_vwap_pct": -1.02,
      "spread_pct": 0.54
    },
    "flags": {
      "meets_min_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.25,
    "pm_low": 12.97
  },
  {
    "symbol": "SVCO",
    "total_score": 36.65,
    "raw_score": 38.85,
    "breakdown": {
      "price_quality": 1.82,
      "volume_quality": 8.44,
      "rvol": 0.34,
      "volume_acceleration": 4.98,
      "price_momentum": 0.44,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.08,
      "spread_liquidity": 3.04,
      "momentum_consistency": 2.31,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.82,
      "vwap": 6.8521,
      "vwap_slope": -0.0202,
      "rvol": 0.14,
      "volume_acceleration": 1.5,
      "premarket_volume": 70352.0,
      "momentum_pct": 0.29,
      "consolidation_tightness_pct": 1.03,
      "distance_from_pm_high_pct": 1.23,
      "extension_from_vwap_pct": -0.47,
      "spread_pct": 0.59
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 6.905,
    "pm_low": 6.77
  },
  {
    "symbol": "CGNT",
    "total_score": 36.37,
    "raw_score": 38.55,
    "breakdown": {
      "price_quality": 3.97,
      "volume_quality": 7.51,
      "rvol": 0.3,
      "volume_acceleration": 1.36,
      "price_momentum": 0.17,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.54,
      "spread_liquidity": 4.63,
      "momentum_consistency": 2.67,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.975,
      "vwap": 8.979,
      "vwap_slope": -0.0033,
      "rvol": 0.13,
      "volume_acceleration": 0.39,
      "premarket_volume": 62542.0,
      "momentum_pct": 0.11,
      "consolidation_tightness_pct": 0.11,
      "distance_from_pm_high_pct": 0.61,
      "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": false,
      "vwap_rising": false
    },
    "pm_high": 9.03,
    "pm_low": 8.95
  },
  {
    "symbol": "ICL",
    "total_score": 36.17,
    "raw_score": 38.34,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 10.38,
      "rvol": 0.42,
      "volume_acceleration": 2.09,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.72,
      "spread_liquidity": 4.38,
      "momentum_consistency": 1.45,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.41,
      "vwap": 5.4172,
      "vwap_slope": -0.0007,
      "rvol": 0.17,
      "volume_acceleration": 0.6,
      "premarket_volume": 86479.0,
      "momentum_pct": -0.18,
      "consolidation_tightness_pct": 0.18,
      "distance_from_pm_high_pct": 0.37,
      "extension_from_vwap_pct": -0.13,
      "spread_pct": 0.18
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 5.43,
    "pm_low": 5.41
  },
  {
    "symbol": "HPK",
    "total_score": 35.83,
    "raw_score": 37.98,
    "breakdown": {
      "price_quality": 2.85,
      "volume_quality": 10.05,
      "rvol": 0.4,
      "volume_acceleration": 0.84,
      "price_momentum": 0.38,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.34,
      "spread_liquidity": 3.73,
      "momentum_consistency": 2.0,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.85,
      "vwap": 7.8811,
      "vwap_slope": -0.0066,
      "rvol": 0.17,
      "volume_acceleration": 0.24,
      "premarket_volume": 83756.0,
      "momentum_pct": 0.26,
      "consolidation_tightness_pct": 0.45,
      "distance_from_pm_high_pct": 0.88,
      "extension_from_vwap_pct": -0.39,
      "spread_pct": 0.38
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 7.92,
    "pm_low": 7.825
  },
  {
    "symbol": "PAYS",
    "total_score": 35.81,
    "raw_score": 37.96,
    "breakdown": {
      "price_quality": 1.59,
      "volume_quality": 7.62,
      "rvol": 0.3,
      "volume_acceleration": 3.44,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.39,
      "spread_liquidity": 4.5,
      "momentum_consistency": 2.72,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.41,
      "vwap": 13.4478,
      "vwap_slope": -0.0164,
      "rvol": 0.13,
      "volume_acceleration": 0.99,
      "premarket_volume": 63460.0,
      "momentum_pct": -0.07,
      "consolidation_tightness_pct": 0.6,
      "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": 13.52,
    "pm_low": 13.36
  },
  {
    "symbol": "SSTK",
    "total_score": 35.59,
    "raw_score": 37.73,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 7.16,
      "rvol": 0.29,
      "volume_acceleration": 3.89,
      "price_momentum": 0.28,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.17,
      "spread_liquidity": 4.38,
      "momentum_consistency": 2.67,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.34,
      "vwap": 5.3547,
      "vwap_slope": -0.0105,
      "rvol": 0.12,
      "volume_acceleration": 1.39,
      "premarket_volume": 59647.0,
      "momentum_pct": 0.19,
      "consolidation_tightness_pct": 0.75,
      "distance_from_pm_high_pct": 1.11,
      "extension_from_vwap_pct": -0.27,
      "spread_pct": 0.19
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 5.4,
    "pm_low": 5.32
  },
  {
    "symbol": "AMCX",
    "total_score": 35.09,
    "raw_score": 37.2,
    "breakdown": {
      "price_quality": 2.95,
      "volume_quality": 6.2,
      "rvol": 0.25,
      "volume_acceleration": 2.72,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.51,
      "spread_liquidity": 4.72,
      "momentum_consistency": 2.45,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.05,
      "vwap": 12.0648,
      "vwap_slope": -0.0016,
      "rvol": 0.1,
      "volume_acceleration": 0.78,
      "premarket_volume": 51697.0,
      "momentum_pct": -0.12,
      "consolidation_tightness_pct": 0.29,
      "distance_from_pm_high_pct": 0.66,
      "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.13,
    "pm_low": 12.0
  },
  {
    "symbol": "PDYN",
    "total_score": 34.69,
    "raw_score": 36.77,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 6.6,
      "rvol": 0.26,
      "volume_acceleration": 3.71,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.68,
      "spread_liquidity": 4.47,
      "momentum_consistency": 2.13,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.29,
      "vwap": 6.292,
      "vwap_slope": -0.003,
      "rvol": 0.11,
      "volume_acceleration": 1.37,
      "premarket_volume": 55029.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.32,
      "distance_from_pm_high_pct": 0.42,
      "extension_from_vwap_pct": -0.03,
      "spread_pct": 0.16
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 6.3167,
    "pm_low": 6.265
  },
  {
    "symbol": "GASS",
    "total_score": 34.04,
    "raw_score": 36.09,
    "breakdown": {
      "price_quality": 4.53,
      "volume_quality": 6.16,
      "rvol": 0.25,
      "volume_acceleration": 1.64,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.69,
      "spread_liquidity": 3.6,
      "momentum_consistency": 1.82,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.53,
      "vwap": 9.5527,
      "vwap_slope": -0.0009,
      "rvol": 0.1,
      "volume_acceleration": 0.47,
      "premarket_volume": 51345.0,
      "momentum_pct": -0.1,
      "consolidation_tightness_pct": 0.21,
      "distance_from_pm_high_pct": 0.42,
      "extension_from_vwap_pct": -0.24,
      "spread_pct": 0.42
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 9.57,
    "pm_low": 9.53
  },
  {
    "symbol": "EVMN",
    "total_score": 33.78,
    "raw_score": 35.81,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 5.41,
      "rvol": 0.22,
      "volume_acceleration": 3.32,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.58,
      "spread_liquidity": 4.07,
      "momentum_consistency": 3.32,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.29,
      "vwap": 14.3052,
      "vwap_slope": -0.0083,
      "rvol": 0.09,
      "volume_acceleration": 1.33,
      "premarket_volume": 45059.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.56,
      "distance_from_pm_high_pct": 0.56,
      "extension_from_vwap_pct": -0.11,
      "spread_pct": 0.28
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 14.37,
    "pm_low": 14.25
  },
  {
    "symbol": "VMET",
    "total_score": 33.42,
    "raw_score": 35.42,
    "breakdown": {
      "price_quality": 4.92,
      "volume_quality": 2.49,
      "rvol": 0.1,
      "volume_acceleration": 2.0,
      "price_momentum": 0.3,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.52,
      "spread_liquidity": 4.34,
      "momentum_consistency": 3.35,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.08,
      "vwap": 10.1101,
      "vwap_slope": -0.0127,
      "rvol": 0.04,
      "volume_acceleration": 0.58,
      "premarket_volume": 20744.0,
      "momentum_pct": 0.2,
      "consolidation_tightness_pct": 0.37,
      "distance_from_pm_high_pct": 0.64,
      "extension_from_vwap_pct": -0.3,
      "spread_pct": 0.2
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 10.145,
    "pm_low": 10.0542
  },
  {
    "symbol": "AUNA",
    "total_score": 33.41,
    "raw_score": 35.42,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 5.72,
      "rvol": 0.23,
      "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.11,
      "spread_liquidity": 3.77,
      "momentum_consistency": 3.0,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.44,
      "vwap": 5.4609,
      "vwap_slope": -0.0025,
      "rvol": 0.1,
      "volume_acceleration": 1.06,
      "premarket_volume": 47655.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.28,
      "distance_from_pm_high_pct": 1.18,
      "extension_from_vwap_pct": -0.38,
      "spread_pct": 0.37
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 5.505,
    "pm_low": 5.435
  },
  {
    "symbol": "TBCH",
    "total_score": 33.23,
    "raw_score": 35.23,
    "breakdown": {
      "price_quality": 2.67,
      "volume_quality": 3.06,
      "rvol": 0.12,
      "volume_acceleration": 5.49,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.34,
      "spread_liquidity": 3.38,
      "momentum_consistency": 2.77,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.33,
      "vwap": 12.3947,
      "vwap_slope": -0.0137,
      "rvol": 0.05,
      "volume_acceleration": 1.55,
      "premarket_volume": 25532.0,
      "momentum_pct": -0.2,
      "consolidation_tightness_pct": 0.73,
      "distance_from_pm_high_pct": 0.88,
      "extension_from_vwap_pct": -0.52,
      "spread_pct": 0.49
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 12.44,
    "pm_low": 12.33
  },
  {
    "symbol": "BHK",
    "total_score": 32.05,
    "raw_score": 33.97,
    "breakdown": {
      "price_quality": 3.96,
      "volume_quality": 4.06,
      "rvol": 0.16,
      "volume_acceleration": 1.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.79,
      "spread_liquidity": 4.63,
      "momentum_consistency": 1.67,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.965,
      "vwap": 8.9746,
      "vwap_slope": -0.0024,
      "rvol": 0.07,
      "volume_acceleration": 0.37,
      "premarket_volume": 33810.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.06,
      "distance_from_pm_high_pct": 0.28,
      "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": false
    },
    "pm_high": 8.99,
    "pm_low": 8.965
  },
  {
    "symbol": "BALY",
    "total_score": 31.05,
    "raw_score": 32.92,
    "breakdown": {
      "price_quality": 3.92,
      "volume_quality": 2.9,
      "rvol": 0.12,
      "volume_acceleration": 3.32,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 2.86,
      "spread_liquidity": 4.25,
      "momentum_consistency": 3.14,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.92,
      "vwap": 9.0973,
      "vwap_slope": -0.068,
      "rvol": 0.05,
      "volume_acceleration": 0.95,
      "premarket_volume": 24189.0,
      "momentum_pct": -0.94,
      "consolidation_tightness_pct": 2.38,
      "distance_from_pm_high_pct": 4.18,
      "extension_from_vwap_pct": -1.95,
      "spread_pct": 0.22
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 9.3094,
    "pm_low": 8.86
  },
  {
    "symbol": "GCMG",
    "total_score": 30.98,
    "raw_score": 32.83,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 3.26,
      "rvol": 0.13,
      "volume_acceleration": 2.72,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.81,
      "spread_liquidity": 4.51,
      "momentum_consistency": 2.5,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.69,
      "vwap": 13.7067,
      "vwap_slope": -0.0049,
      "rvol": 0.05,
      "volume_acceleration": 1.27,
      "premarket_volume": 27155.0,
      "momentum_pct": -0.04,
      "consolidation_tightness_pct": 0.15,
      "distance_from_pm_high_pct": 0.26,
      "extension_from_vwap_pct": -0.12,
      "spread_pct": 0.15
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 13.725,
    "pm_low": 13.69
  },
  {
    "symbol": "DSP",
    "total_score": 30.81,
    "raw_score": 32.66,
    "breakdown": {
      "price_quality": 2.03,
      "volume_quality": 3.0,
      "rvol": 0.12,
      "volume_acceleration": 3.35,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.4,
      "spread_liquidity": 3.46,
      "momentum_consistency": 2.91,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.975,
      "vwap": 13.034,
      "vwap_slope": -0.0072,
      "rvol": 0.05,
      "volume_acceleration": 0.96,
      "premarket_volume": 24987.0,
      "momentum_pct": -0.38,
      "consolidation_tightness_pct": 0.42,
      "distance_from_pm_high_pct": 0.8,
      "extension_from_vwap_pct": -0.45,
      "spread_pct": 0.46
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 13.08,
    "pm_low": 12.97
  },
  {
    "symbol": "SAFE",
    "total_score": 30.43,
    "raw_score": 32.26,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 3.3,
      "rvol": 0.13,
      "volume_acceleration": 2.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.75,
      "spread_liquidity": 4.55,
      "momentum_consistency": 2.21,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.86,
      "vwap": 14.8803,
      "vwap_slope": -0.0098,
      "rvol": 0.06,
      "volume_acceleration": 1.24,
      "premarket_volume": 27528.0,
      "momentum_pct": -0.03,
      "consolidation_tightness_pct": 0.13,
      "distance_from_pm_high_pct": 0.34,
      "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": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 14.91,
    "pm_low": 14.84
  },
  {
    "symbol": "AUDC",
    "total_score": 30.07,
    "raw_score": 31.88,
    "breakdown": {
      "price_quality": 4.9,
      "volume_quality": 2.45,
      "rvol": 0.1,
      "volume_acceleration": 0.72,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.85,
      "spread_liquidity": 4.66,
      "momentum_consistency": 0.8,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.9,
      "vwap": 9.9084,
      "vwap_slope": -0.0011,
      "rvol": 0.04,
      "volume_acceleration": 0.21,
      "premarket_volume": 20403.0,
      "momentum_pct": -0.1,
      "consolidation_tightness_pct": 0.2,
      "distance_from_pm_high_pct": 0.2,
      "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.92,
    "pm_low": 9.885
  },
  {
    "symbol": "UFI",
    "total_score": 28.3,
    "raw_score": 30.0,
    "breakdown": {
      "price_quality": 3.1,
      "volume_quality": 2.5,
      "rvol": 0.1,
      "volume_acceleration": 3.24,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 4.95,
      "spread_liquidity": 2.12,
      "momentum_consistency": 1.6,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.095,
      "vwap": 8.1368,
      "vwap_slope": -0.0329,
      "rvol": 0.04,
      "volume_acceleration": 0.93,
      "premarket_volume": 20822.0,
      "momentum_pct": -0.06,
      "consolidation_tightness_pct": 1.17,
      "distance_from_pm_high_pct": 1.4,
      "extension_from_vwap_pct": -0.51,
      "spread_pct": 0.86
    },
    "flags": {
      "meets_min_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.21,
    "pm_low": 7.99
  },
  {
    "symbol": "FISN",
    "total_score": 26.63,
    "raw_score": 28.23,
    "breakdown": {
      "price_quality": 2.7,
      "volume_quality": 2.42,
      "rvol": 0.1,
      "volume_acceleration": 3.63,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 3.28,
      "spread_liquidity": 1.13,
      "momentum_consistency": 2.57,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.7,
      "vwap": 7.8424,
      "vwap_slope": -0.0401,
      "rvol": 0.04,
      "volume_acceleration": 1.04,
      "premarket_volume": 20201.0,
      "momentum_pct": -1.41,
      "consolidation_tightness_pct": 1.67,
      "distance_from_pm_high_pct": 3.63,
      "extension_from_vwap_pct": -1.82,
      "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": false,
      "vwap_rising": false
    },
    "pm_high": 7.99,
    "pm_low": 7.7
  }
]