[
  {
    "symbol": "MARA",
    "total_score": 77.25,
    "raw_score": 81.89,
    "breakdown": {
      "price_quality": 3.46,
      "volume_quality": 12.0,
      "rvol": 12.0,
      "volume_acceleration": 3.62,
      "price_momentum": 0.33,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.77,
      "spread_liquidity": 4.71,
      "momentum_consistency": 4.0,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.545,
      "vwap": 11.5019,
      "vwap_slope": 0.0043,
      "rvol": 12.9,
      "volume_acceleration": 1.04,
      "premarket_volume": 6448688.0,
      "momentum_pct": 0.22,
      "consolidation_tightness_pct": 0.65,
      "distance_from_pm_high_pct": 0.3,
      "extension_from_vwap_pct": 0.37,
      "spread_pct": 0.09
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 11.58,
    "pm_low": 11.41
  },
  {
    "symbol": "RKT",
    "total_score": 74.17,
    "raw_score": 78.62,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 12.0,
      "volume_acceleration": 2.34,
      "price_momentum": 0.14,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.94,
      "spread_liquidity": 4.77,
      "momentum_consistency": 3.93,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.3181,
      "vwap": 14.2269,
      "vwap_slope": 0.0208,
      "rvol": 6.48,
      "volume_acceleration": 1.23,
      "premarket_volume": 3238981.0,
      "momentum_pct": 0.09,
      "consolidation_tightness_pct": 0.21,
      "distance_from_pm_high_pct": 0.08,
      "extension_from_vwap_pct": 0.64,
      "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.33,
    "pm_low": 14.155
  },
  {
    "symbol": "TTD",
    "total_score": 71.95,
    "raw_score": 76.26,
    "breakdown": {
      "price_quality": 0.0,
      "volume_quality": 12.0,
      "rvol": 11.42,
      "volume_acceleration": 2.43,
      "price_momentum": 0.2,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.85,
      "spread_liquidity": 4.78,
      "momentum_consistency": 3.59,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 15.135,
      "vwap": 15.0995,
      "vwap_slope": 0.0042,
      "rvol": 4.28,
      "volume_acceleration": 0.7,
      "premarket_volume": 2140974.0,
      "momentum_pct": 0.13,
      "consolidation_tightness_pct": 0.23,
      "distance_from_pm_high_pct": 0.2,
      "extension_from_vwap_pct": 0.23,
      "spread_pct": 0.07
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 15.165,
    "pm_low": 15.01
  },
  {
    "symbol": "WULF",
    "total_score": 71.58,
    "raw_score": 75.87,
    "breakdown": {
      "price_quality": 0.0,
      "volume_quality": 12.0,
      "rvol": 12.0,
      "volume_acceleration": 1.59,
      "price_momentum": 0.09,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.67,
      "spread_liquidity": 4.79,
      "momentum_consistency": 3.72,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 15.965,
      "vwap": 15.926,
      "vwap_slope": 0.0056,
      "rvol": 5.04,
      "volume_acceleration": 1.16,
      "premarket_volume": 2519233.0,
      "momentum_pct": 0.06,
      "consolidation_tightness_pct": 0.25,
      "distance_from_pm_high_pct": 0.44,
      "extension_from_vwap_pct": 0.24,
      "spread_pct": 0.06
    },
    "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": 16.035,
    "pm_low": 15.8
  },
  {
    "symbol": "CLSK",
    "total_score": 71.36,
    "raw_score": 75.64,
    "breakdown": {
      "price_quality": 2.52,
      "volume_quality": 12.0,
      "rvol": 9.98,
      "volume_acceleration": 10,
      "price_momentum": 0.24,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.97,
      "spread_liquidity": 4.73,
      "momentum_consistency": 3.8,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.485,
      "vwap": 12.4108,
      "vwap_slope": 0.0278,
      "rvol": 3.74,
      "volume_acceleration": 2.03,
      "premarket_volume": 1871777.0,
      "momentum_pct": 0.16,
      "consolidation_tightness_pct": 0.24,
      "distance_from_pm_high_pct": 0.04,
      "extension_from_vwap_pct": 0.6,
      "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.49,
    "pm_low": 12.25
  },
  {
    "symbol": "EQX",
    "total_score": 68.36,
    "raw_score": 72.46,
    "breakdown": {
      "price_quality": 1.99,
      "volume_quality": 12.0,
      "rvol": 4.6,
      "volume_acceleration": 3.32,
      "price_momentum": 0.29,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 6,
      "spread_liquidity": 4.74,
      "momentum_consistency": 3.53,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.01,
      "vwap": 12.9816,
      "vwap_slope": 0.0012,
      "rvol": 1.72,
      "volume_acceleration": 0.95,
      "premarket_volume": 862146.0,
      "momentum_pct": 0.19,
      "consolidation_tightness_pct": 0.31,
      "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": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 13.01,
    "pm_low": 12.94
  },
  {
    "symbol": "OWL",
    "total_score": 67.29,
    "raw_score": 71.33,
    "breakdown": {
      "price_quality": 3.2,
      "volume_quality": 12.0,
      "rvol": 12.0,
      "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.9,
      "spread_liquidity": 4.72,
      "momentum_consistency": 3.86,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.805,
      "vwap": 11.789,
      "vwap_slope": 0.005,
      "rvol": 5.54,
      "volume_acceleration": 0.93,
      "premarket_volume": 2770564.0,
      "momentum_pct": -0.13,
      "consolidation_tightness_pct": 0.17,
      "distance_from_pm_high_pct": 0.13,
      "extension_from_vwap_pct": 0.14,
      "spread_pct": 0.08
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 11.82,
    "pm_low": 11.74
  },
  {
    "symbol": "BTG",
    "total_score": 66.63,
    "raw_score": 70.63,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 12.0,
      "volume_acceleration": 10,
      "price_momentum": 0.14,
      "price_structure": 12,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.73,
      "spread_liquidity": 4.41,
      "momentum_consistency": 2.85,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.615,
      "vwap": 5.6174,
      "vwap_slope": -0.0003,
      "rvol": 44.62,
      "volume_acceleration": 18.23,
      "premarket_volume": 22308266.0,
      "momentum_pct": 0.09,
      "consolidation_tightness_pct": 0.36,
      "distance_from_pm_high_pct": 0.35,
      "extension_from_vwap_pct": -0.04,
      "spread_pct": 0.18
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 5.635,
    "pm_low": 5.6
  },
  {
    "symbol": "RUM",
    "total_score": 66.28,
    "raw_score": 70.26,
    "breakdown": {
      "price_quality": 3.96,
      "volume_quality": 12.0,
      "rvol": 0.93,
      "volume_acceleration": 3.35,
      "price_momentum": 0.76,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.87,
      "spread_liquidity": 4.63,
      "momentum_consistency": 2.76,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.965,
      "vwap": 8.9116,
      "vwap_slope": 0.0047,
      "rvol": 0.39,
      "volume_acceleration": 1.34,
      "premarket_volume": 193268.0,
      "momentum_pct": 0.5,
      "consolidation_tightness_pct": 0.84,
      "distance_from_pm_high_pct": 0.17,
      "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.98,
    "pm_low": 8.87
  },
  {
    "symbol": "ALOY",
    "total_score": 65.8,
    "raw_score": 69.75,
    "breakdown": {
      "price_quality": 4.97,
      "volume_quality": 12.0,
      "rvol": 0.77,
      "volume_acceleration": 10,
      "price_momentum": 0.22,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.59,
      "spread_liquidity": 4.33,
      "momentum_consistency": 3.05,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.025,
      "vwap": 10.0205,
      "vwap_slope": -0.0006,
      "rvol": 0.32,
      "volume_acceleration": 2.53,
      "premarket_volume": 159715.0,
      "momentum_pct": 0.15,
      "consolidation_tightness_pct": 0.2,
      "distance_from_pm_high_pct": 0.55,
      "extension_from_vwap_pct": 0.05,
      "spread_pct": 0.2
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 10.08,
    "pm_low": 9.97
  },
  {
    "symbol": "SMPL",
    "total_score": 65.66,
    "raw_score": 69.6,
    "breakdown": {
      "price_quality": 3.55,
      "volume_quality": 12.0,
      "rvol": 0.9,
      "volume_acceleration": 3.08,
      "price_momentum": 0.07,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.84,
      "spread_liquidity": 4.71,
      "momentum_consistency": 3.45,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.445,
      "vwap": 11.4103,
      "vwap_slope": 0.0084,
      "rvol": 0.37,
      "volume_acceleration": 0.89,
      "premarket_volume": 187365.0,
      "momentum_pct": 0.04,
      "consolidation_tightness_pct": 0.35,
      "distance_from_pm_high_pct": 0.22,
      "extension_from_vwap_pct": 0.3,
      "spread_pct": 0.09
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 11.47,
    "pm_low": 11.345
  },
  {
    "symbol": "PCG",
    "total_score": 65.02,
    "raw_score": 68.92,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 12.0,
      "volume_acceleration": 2.72,
      "price_momentum": 0.11,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.71,
      "spread_liquidity": 4.76,
      "momentum_consistency": 3.72,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.045,
      "vwap": 14.0118,
      "vwap_slope": 0.0039,
      "rvol": 16.03,
      "volume_acceleration": 0.78,
      "premarket_volume": 8014320.0,
      "momentum_pct": 0.07,
      "consolidation_tightness_pct": 0.43,
      "distance_from_pm_high_pct": 0.39,
      "extension_from_vwap_pct": 0.24,
      "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.1,
    "pm_low": 13.87
  },
  {
    "symbol": "UAA",
    "total_score": 63.94,
    "raw_score": 67.78,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 5.58,
      "volume_acceleration": 10,
      "price_momentum": 0.29,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.86,
      "spread_liquidity": 4.36,
      "momentum_consistency": 1.79,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.205,
      "vwap": 5.1959,
      "vwap_slope": 0.0016,
      "rvol": 2.09,
      "volume_acceleration": 2.53,
      "premarket_volume": 1045771.0,
      "momentum_pct": 0.19,
      "consolidation_tightness_pct": 0.38,
      "distance_from_pm_high_pct": 0.19,
      "extension_from_vwap_pct": 0.17,
      "spread_pct": 0.19
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 5.215,
    "pm_low": 5.18
  },
  {
    "symbol": "COMP",
    "total_score": 63.75,
    "raw_score": 67.57,
    "breakdown": {
      "price_quality": 3.8,
      "volume_quality": 12.0,
      "rvol": 8.02,
      "volume_acceleration": 4.23,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.83,
      "spread_liquidity": 4.7,
      "momentum_consistency": 2.58,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.195,
      "vwap": 11.189,
      "vwap_slope": 0.005,
      "rvol": 3.01,
      "volume_acceleration": 1.42,
      "premarket_volume": 1504680.0,
      "momentum_pct": -0.18,
      "consolidation_tightness_pct": 0.22,
      "distance_from_pm_high_pct": 0.22,
      "extension_from_vwap_pct": 0.05,
      "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.22,
    "pm_low": 11.11
  },
  {
    "symbol": "NEWT",
    "total_score": 63.57,
    "raw_score": 67.39,
    "breakdown": {
      "price_quality": 2.66,
      "volume_quality": 2.89,
      "rvol": 0.12,
      "volume_acceleration": 10,
      "price_momentum": 0.67,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.97,
      "spread_liquidity": 4.19,
      "momentum_consistency": 4.89,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.335,
      "vwap": 12.3027,
      "vwap_slope": 0.0224,
      "rvol": 0.05,
      "volume_acceleration": 3.1,
      "premarket_volume": 24051.0,
      "momentum_pct": 0.45,
      "consolidation_tightness_pct": 0.49,
      "distance_from_pm_high_pct": 0.04,
      "extension_from_vwap_pct": 0.26,
      "spread_pct": 0.24
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 12.34,
    "pm_low": 12.245
  },
  {
    "symbol": "RSKD",
    "total_score": 63.54,
    "raw_score": 67.35,
    "breakdown": {
      "price_quality": 1.78,
      "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.72,
      "spread_liquidity": 4.51,
      "momentum_consistency": 3.78,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.775,
      "vwap": 6.7222,
      "vwap_slope": 0.0196,
      "rvol": 1.32,
      "volume_acceleration": 20.42,
      "premarket_volume": 658348.0,
      "momentum_pct": -0.15,
      "consolidation_tightness_pct": 0.44,
      "distance_from_pm_high_pct": 0.37,
      "extension_from_vwap_pct": 0.79,
      "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.8,
    "pm_low": 6.6
  },
  {
    "symbol": "CRSR",
    "total_score": 63.22,
    "raw_score": 67.01,
    "breakdown": {
      "price_quality": 2.29,
      "volume_quality": 12.0,
      "rvol": 1.1,
      "volume_acceleration": 2.77,
      "price_momentum": 0.06,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.5,
      "spread_liquidity": 4.21,
      "momentum_consistency": 3.08,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.705,
      "vwap": 12.6982,
      "vwap_slope": 0.0003,
      "rvol": 0.46,
      "volume_acceleration": 0.8,
      "premarket_volume": 228562.0,
      "momentum_pct": 0.04,
      "consolidation_tightness_pct": 0.24,
      "distance_from_pm_high_pct": 0.66,
      "extension_from_vwap_pct": 0.05,
      "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": 12.79,
    "pm_low": 12.59
  },
  {
    "symbol": "CHPT",
    "total_score": 62.64,
    "raw_score": 66.39,
    "breakdown": {
      "price_quality": 4.16,
      "volume_quality": 12.0,
      "rvol": 12.0,
      "volume_acceleration": 2.93,
      "price_momentum": 0.8,
      "price_structure": 12,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 4.47,
      "spread_liquidity": 3.9,
      "momentum_consistency": 4.14,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.1588,
      "vwap": 9.1687,
      "vwap_slope": -0.0094,
      "rvol": 7.62,
      "volume_acceleration": 0.84,
      "premarket_volume": 3809796.0,
      "momentum_pct": 0.54,
      "consolidation_tightness_pct": 1.75,
      "distance_from_pm_high_pct": 2.04,
      "extension_from_vwap_pct": -0.11,
      "spread_pct": 0.33
    },
    "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": 9.35,
    "pm_low": 8.96
  },
  {
    "symbol": "PSKY",
    "total_score": 62.06,
    "raw_score": 65.78,
    "breakdown": {
      "price_quality": 3.94,
      "volume_quality": 12.0,
      "rvol": 8.2,
      "volume_acceleration": 2.07,
      "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.7,
      "momentum_consistency": 2.71,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.065,
      "vwap": 11.0292,
      "vwap_slope": 0.0081,
      "rvol": 3.08,
      "volume_acceleration": 0.6,
      "premarket_volume": 1537863.0,
      "momentum_pct": -0.14,
      "consolidation_tightness_pct": 0.35,
      "distance_from_pm_high_pct": 0.32,
      "extension_from_vwap_pct": 0.32,
      "spread_pct": 0.09
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 11.1,
    "pm_low": 10.885
  },
  {
    "symbol": "CWK",
    "total_score": 61.95,
    "raw_score": 65.67,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 0.5,
      "volume_acceleration": 2.02,
      "price_momentum": 0.22,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.95,
      "spread_liquidity": 4.51,
      "momentum_consistency": 2.98,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.66,
      "vwap": 13.6175,
      "vwap_slope": 0.005,
      "rvol": 0.21,
      "volume_acceleration": 0.58,
      "premarket_volume": 103643.0,
      "momentum_pct": 0.15,
      "consolidation_tightness_pct": 0.21,
      "distance_from_pm_high_pct": 0.07,
      "extension_from_vwap_pct": 0.31,
      "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.67,
    "pm_low": 13.58
  },
  {
    "symbol": "PSFE",
    "total_score": 61.15,
    "raw_score": 64.82,
    "breakdown": {
      "price_quality": 1.8,
      "volume_quality": 3.49,
      "rvol": 0.14,
      "volume_acceleration": 10,
      "price_momentum": 1.11,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.89,
      "spread_liquidity": 4.02,
      "momentum_consistency": 2.37,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.8,
      "vwap": 6.7582,
      "vwap_slope": 0.0204,
      "rvol": 0.06,
      "volume_acceleration": 2.84,
      "premarket_volume": 29071.0,
      "momentum_pct": 0.74,
      "consolidation_tightness_pct": 1.03,
      "distance_from_pm_high_pct": 0.15,
      "extension_from_vwap_pct": 0.62,
      "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": 6.81,
    "pm_low": 6.72
  },
  {
    "symbol": "AVTR",
    "total_score": 61.11,
    "raw_score": 64.77,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 3.28,
      "volume_acceleration": 8.65,
      "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.78,
      "momentum_consistency": 2.34,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.955,
      "vwap": 14.947,
      "vwap_slope": 0.011,
      "rvol": 1.37,
      "volume_acceleration": 1.86,
      "premarket_volume": 683578.0,
      "momentum_pct": -0.23,
      "consolidation_tightness_pct": 0.23,
      "distance_from_pm_high_pct": 0.23,
      "extension_from_vwap_pct": 0.05,
      "spread_pct": 0.07
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 14.99,
    "pm_low": 14.905
  },
  {
    "symbol": "SBET",
    "total_score": 61.09,
    "raw_score": 64.75,
    "breakdown": {
      "price_quality": 3.93,
      "volume_quality": 12.0,
      "rvol": 6.3,
      "volume_acceleration": 1.77,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.79,
      "spread_liquidity": 4.63,
      "momentum_consistency": 3.93,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.93,
      "vwap": 8.911,
      "vwap_slope": 0.0058,
      "rvol": 2.36,
      "volume_acceleration": 0.51,
      "premarket_volume": 1181284.0,
      "momentum_pct": -0.11,
      "consolidation_tightness_pct": 0.22,
      "distance_from_pm_high_pct": 0.28,
      "extension_from_vwap_pct": 0.21,
      "spread_pct": 0.11
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 8.955,
    "pm_low": 8.84
  },
  {
    "symbol": "CRCT",
    "total_score": 60.6,
    "raw_score": 64.24,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 0.84,
      "volume_acceleration": 0.85,
      "price_momentum": 0.51,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.81,
      "spread_liquidity": 4.43,
      "momentum_consistency": 2.29,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.88,
      "vwap": 5.8626,
      "vwap_slope": 0.0009,
      "rvol": 0.35,
      "volume_acceleration": 0.25,
      "premarket_volume": 175593.0,
      "momentum_pct": 0.34,
      "consolidation_tightness_pct": 0.51,
      "distance_from_pm_high_pct": 0.25,
      "extension_from_vwap_pct": 0.3,
      "spread_pct": 0.17
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 5.895,
    "pm_low": 5.845
  },
  {
    "symbol": "ADT",
    "total_score": 60.57,
    "raw_score": 64.2,
    "breakdown": {
      "price_quality": 2.59,
      "volume_quality": 12.0,
      "rvol": 4.5,
      "volume_acceleration": 5.48,
      "price_momentum": 0.1,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.8,
      "spread_liquidity": 4.56,
      "momentum_consistency": 2.76,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.595,
      "vwap": 7.5934,
      "vwap_slope": 0.0005,
      "rvol": 1.69,
      "volume_acceleration": 1.55,
      "premarket_volume": 844094.0,
      "momentum_pct": 0.07,
      "consolidation_tightness_pct": 0.13,
      "distance_from_pm_high_pct": 0.26,
      "extension_from_vwap_pct": 0.02,
      "spread_pct": 0.13
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 7.615,
    "pm_low": 7.57
  },
  {
    "symbol": "RGNX",
    "total_score": 60.44,
    "raw_score": 64.06,
    "breakdown": {
      "price_quality": 4.09,
      "volume_quality": 8.15,
      "rvol": 0.33,
      "volume_acceleration": 2.15,
      "price_momentum": 0.08,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.79,
      "spread_liquidity": 4.63,
      "momentum_consistency": 2.84,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.085,
      "vwap": 9.083,
      "vwap_slope": 0.0007,
      "rvol": 0.14,
      "volume_acceleration": 0.62,
      "premarket_volume": 67887.0,
      "momentum_pct": 0.06,
      "consolidation_tightness_pct": 0.12,
      "distance_from_pm_high_pct": 0.27,
      "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": true,
      "vwap_rising": true
    },
    "pm_high": 9.11,
    "pm_low": 9.06
  },
  {
    "symbol": "KLAR",
    "total_score": 60.39,
    "raw_score": 64.01,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 8.64,
      "volume_acceleration": 1.71,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.82,
      "spread_liquidity": 4.77,
      "momentum_consistency": 3.17,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.575,
      "vwap": 14.575,
      "vwap_slope": 0.0003,
      "rvol": 3.24,
      "volume_acceleration": 0.49,
      "premarket_volume": 1619601.0,
      "momentum_pct": -0.14,
      "consolidation_tightness_pct": 0.21,
      "distance_from_pm_high_pct": 0.24,
      "extension_from_vwap_pct": 0.0,
      "spread_pct": 0.07
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 14.61,
    "pm_low": 14.53
  },
  {
    "symbol": "XHLD",
    "total_score": 60.07,
    "raw_score": 63.68,
    "breakdown": {
      "price_quality": 4.36,
      "volume_quality": 12.0,
      "rvol": 2.75,
      "volume_acceleration": 10,
      "price_momentum": 0.32,
      "price_structure": 12,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.44,
      "spread_liquidity": 3.57,
      "momentum_consistency": 3.23,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.36,
      "vwap": 9.3625,
      "vwap_slope": -0.0072,
      "rvol": 1.15,
      "volume_acceleration": 3.92,
      "premarket_volume": 572507.0,
      "momentum_pct": 0.21,
      "consolidation_tightness_pct": 0.86,
      "distance_from_pm_high_pct": 0.74,
      "extension_from_vwap_pct": -0.03,
      "spread_pct": 0.43
    },
    "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.43,
    "pm_low": 9.3
  },
  {
    "symbol": "BB",
    "total_score": 59.94,
    "raw_score": 63.54,
    "breakdown": {
      "price_quality": 2.72,
      "volume_quality": 12.0,
      "rvol": 2.63,
      "volume_acceleration": 3.87,
      "price_momentum": 0.29,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.76,
      "spread_liquidity": 4.57,
      "momentum_consistency": 2.9,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.725,
      "vwap": 7.7245,
      "vwap_slope": -0.0013,
      "rvol": 1.09,
      "volume_acceleration": 1.11,
      "premarket_volume": 547321.0,
      "momentum_pct": 0.19,
      "consolidation_tightness_pct": 0.32,
      "distance_from_pm_high_pct": 0.32,
      "extension_from_vwap_pct": 0.01,
      "spread_pct": 0.13
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 7.75,
    "pm_low": 7.705
  },
  {
    "symbol": "LION",
    "total_score": 59.35,
    "raw_score": 62.92,
    "breakdown": {
      "price_quality": 3.93,
      "volume_quality": 12.0,
      "rvol": 1.33,
      "volume_acceleration": 3.58,
      "price_momentum": 0.34,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.8,
      "spread_liquidity": 4.7,
      "momentum_consistency": 2.43,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.07,
      "vwap": 11.0633,
      "vwap_slope": -0.0013,
      "rvol": 0.56,
      "volume_acceleration": 1.03,
      "premarket_volume": 277976.0,
      "momentum_pct": 0.23,
      "consolidation_tightness_pct": 0.26,
      "distance_from_pm_high_pct": 0.27,
      "extension_from_vwap_pct": 0.06,
      "spread_pct": 0.09
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 11.1,
    "pm_low": 11.025
  },
  {
    "symbol": "RITM",
    "total_score": 59.11,
    "raw_score": 62.66,
    "breakdown": {
      "price_quality": 4.9,
      "volume_quality": 12.0,
      "rvol": 2.16,
      "volume_acceleration": 4.42,
      "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.67,
      "momentum_consistency": 2.29,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.095,
      "vwap": 10.0933,
      "vwap_slope": 0.0007,
      "rvol": 0.9,
      "volume_acceleration": 1.44,
      "premarket_volume": 449898.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.09,
      "distance_from_pm_high_pct": 0.25,
      "extension_from_vwap_pct": 0.02,
      "spread_pct": 0.1
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 10.12,
    "pm_low": 10.06
  },
  {
    "symbol": "ONDS",
    "total_score": 59.02,
    "raw_score": 62.56,
    "breakdown": {
      "price_quality": 2.58,
      "volume_quality": 12.0,
      "rvol": 12.0,
      "volume_acceleration": 3.49,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.17,
      "spread_liquidity": 4.56,
      "momentum_consistency": 3.17,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.575,
      "vwap": 7.5952,
      "vwap_slope": 0.0026,
      "rvol": 21.05,
      "volume_acceleration": 1.35,
      "premarket_volume": 10525416.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.26,
      "distance_from_pm_high_pct": 1.11,
      "extension_from_vwap_pct": -0.27,
      "spread_pct": 0.13
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": true
    },
    "pm_high": 7.66,
    "pm_low": 7.54
  },
  {
    "symbol": "BRBR",
    "total_score": 58.55,
    "raw_score": 62.06,
    "breakdown": {
      "price_quality": 4.47,
      "volume_quality": 12.0,
      "rvol": 0.98,
      "volume_acceleration": 2.11,
      "price_momentum": 0.29,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.71,
      "spread_liquidity": 4.68,
      "momentum_consistency": 3.02,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.529,
      "vwap": 10.5204,
      "vwap_slope": -0.0018,
      "rvol": 0.41,
      "volume_acceleration": 0.61,
      "premarket_volume": 204378.0,
      "momentum_pct": 0.19,
      "consolidation_tightness_pct": 0.37,
      "distance_from_pm_high_pct": 0.39,
      "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": true,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 10.57,
    "pm_low": 10.45
  },
  {
    "symbol": "ATAI",
    "total_score": 58.49,
    "raw_score": 62.0,
    "breakdown": {
      "price_quality": 2.37,
      "volume_quality": 12.0,
      "rvol": 6.17,
      "volume_acceleration": 3.01,
      "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.55,
      "momentum_consistency": 1.66,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.37,
      "vwap": 7.3622,
      "vwap_slope": 0.0001,
      "rvol": 2.32,
      "volume_acceleration": 0.87,
      "premarket_volume": 1157565.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.2,
      "distance_from_pm_high_pct": 0.2,
      "extension_from_vwap_pct": 0.11,
      "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.385,
    "pm_low": 7.35
  },
  {
    "symbol": "ABSI",
    "total_score": 58.41,
    "raw_score": 61.92,
    "breakdown": {
      "price_quality": 3.61,
      "volume_quality": 12.0,
      "rvol": 4.97,
      "volume_acceleration": 10,
      "price_momentum": 0.17,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 4.97,
      "spread_liquidity": 4.61,
      "momentum_consistency": 2.39,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.61,
      "vwap": 8.5945,
      "vwap_slope": -0.0061,
      "rvol": 1.86,
      "volume_acceleration": 13.49,
      "premarket_volume": 931051.0,
      "momentum_pct": 0.12,
      "consolidation_tightness_pct": 0.17,
      "distance_from_pm_high_pct": 1.37,
      "extension_from_vwap_pct": 0.18,
      "spread_pct": 0.12
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 8.73,
    "pm_low": 8.55
  },
  {
    "symbol": "GNW",
    "total_score": 58.39,
    "raw_score": 61.9,
    "breakdown": {
      "price_quality": 4.46,
      "volume_quality": 12.0,
      "rvol": 3.22,
      "volume_acceleration": 10,
      "price_momentum": 0.07,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.65,
      "spread_liquidity": 4.68,
      "momentum_consistency": 2.22,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.54,
      "vwap": 10.5455,
      "vwap_slope": 0.0089,
      "rvol": 1.34,
      "volume_acceleration": 3.34,
      "premarket_volume": 669890.0,
      "momentum_pct": 0.05,
      "consolidation_tightness_pct": 0.38,
      "distance_from_pm_high_pct": 0.47,
      "extension_from_vwap_pct": -0.05,
      "spread_pct": 0.09
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": true
    },
    "pm_high": 10.59,
    "pm_low": 10.5
  },
  {
    "symbol": "SLDB",
    "total_score": 58.15,
    "raw_score": 61.64,
    "breakdown": {
      "price_quality": 4.73,
      "volume_quality": 7.55,
      "rvol": 0.3,
      "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.68,
      "momentum_consistency": 2.09,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.265,
      "vwap": 10.2267,
      "vwap_slope": 0.0126,
      "rvol": 0.13,
      "volume_acceleration": 2.27,
      "premarket_volume": 62884.0,
      "momentum_pct": -0.15,
      "consolidation_tightness_pct": 0.15,
      "distance_from_pm_high_pct": 0.15,
      "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": true,
      "vwap_rising": true
    },
    "pm_high": 10.28,
    "pm_low": 10.1946
  },
  {
    "symbol": "OBDC",
    "total_score": 57.97,
    "raw_score": 61.45,
    "breakdown": {
      "price_quality": 3.62,
      "volume_quality": 12.0,
      "rvol": 1.31,
      "volume_acceleration": 3.73,
      "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": 3.71,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.3802,
      "vwap": 11.3612,
      "vwap_slope": 0.0056,
      "rvol": 0.55,
      "volume_acceleration": 1.07,
      "premarket_volume": 273020.0,
      "momentum_pct": -0.04,
      "consolidation_tightness_pct": 0.09,
      "distance_from_pm_high_pct": 0.04,
      "extension_from_vwap_pct": 0.17,
      "spread_pct": 0.09
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 11.385,
    "pm_low": 11.33
  },
  {
    "symbol": "FLO",
    "total_score": 57.88,
    "raw_score": 61.35,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 6.38,
      "volume_acceleration": 1.81,
      "price_momentum": 0.47,
      "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": 2.48,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.45,
      "vwap": 6.4234,
      "vwap_slope": 0.0037,
      "rvol": 2.39,
      "volume_acceleration": 0.52,
      "premarket_volume": 1196889.0,
      "momentum_pct": 0.31,
      "consolidation_tightness_pct": 0.39,
      "distance_from_pm_high_pct": 0.23,
      "extension_from_vwap_pct": 0.41,
      "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.465,
    "pm_low": 6.375
  },
  {
    "symbol": "RDW",
    "total_score": 57.66,
    "raw_score": 61.12,
    "breakdown": {
      "price_quality": 4.79,
      "volume_quality": 12.0,
      "rvol": 7.36,
      "volume_acceleration": 3.56,
      "price_momentum": 0.07,
      "price_structure": 12,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 4.6,
      "spread_liquidity": 4.67,
      "momentum_consistency": 2.07,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.215,
      "vwap": 10.2661,
      "vwap_slope": -0.0114,
      "rvol": 2.76,
      "volume_acceleration": 1.02,
      "premarket_volume": 1379855.0,
      "momentum_pct": 0.05,
      "consolidation_tightness_pct": 0.24,
      "distance_from_pm_high_pct": 1.87,
      "extension_from_vwap_pct": -0.5,
      "spread_pct": 0.1
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 10.4099,
    "pm_low": 10.19
  },
  {
    "symbol": "ZURA",
    "total_score": 57.55,
    "raw_score": 61.0,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 0.64,
      "volume_acceleration": 6.33,
      "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.42,
      "momentum_consistency": 3.7,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.78,
      "vwap": 5.7142,
      "vwap_slope": 0.0216,
      "rvol": 0.27,
      "volume_acceleration": 1.63,
      "premarket_volume": 133781.0,
      "momentum_pct": 0.09,
      "consolidation_tightness_pct": 0.87,
      "distance_from_pm_high_pct": 0.17,
      "extension_from_vwap_pct": 1.15,
      "spread_pct": 0.17
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 5.79,
    "pm_low": 5.65
  },
  {
    "symbol": "ACDC",
    "total_score": 57.51,
    "raw_score": 60.96,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 9.29,
      "rvol": 0.37,
      "volume_acceleration": 10,
      "price_momentum": 0.29,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.86,
      "spread_liquidity": 4.36,
      "momentum_consistency": 2.89,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.175,
      "vwap": 5.1107,
      "vwap_slope": 0.049,
      "rvol": 0.15,
      "volume_acceleration": 3.32,
      "premarket_volume": 77455.0,
      "momentum_pct": 0.19,
      "consolidation_tightness_pct": 0.19,
      "distance_from_pm_high_pct": 0.19,
      "extension_from_vwap_pct": 1.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": 5.185,
    "pm_low": 5.04
  },
  {
    "symbol": "GO",
    "total_score": 57.47,
    "raw_score": 60.92,
    "breakdown": {
      "price_quality": 2.71,
      "volume_quality": 12.0,
      "rvol": 1.55,
      "volume_acceleration": 10,
      "price_momentum": 0.24,
      "price_structure": 12,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.55,
      "spread_liquidity": 4.73,
      "momentum_consistency": 2.14,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.295,
      "vwap": 12.3127,
      "vwap_slope": -0.0092,
      "rvol": 0.65,
      "volume_acceleration": 2.89,
      "premarket_volume": 323289.0,
      "momentum_pct": 0.16,
      "consolidation_tightness_pct": 0.45,
      "distance_from_pm_high_pct": 0.61,
      "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": true,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 12.37,
    "pm_low": 12.275
  },
  {
    "symbol": "ALMS",
    "total_score": 57.38,
    "raw_score": 60.82,
    "breakdown": {
      "price_quality": 3.23,
      "volume_quality": 12.0,
      "rvol": 2.23,
      "volume_acceleration": 3.92,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.02,
      "spread_liquidity": 4.43,
      "momentum_consistency": 3.59,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.765,
      "vwap": 11.7396,
      "vwap_slope": 0.0413,
      "rvol": 0.93,
      "volume_acceleration": 1.13,
      "premarket_volume": 463961.0,
      "momentum_pct": -1.13,
      "consolidation_tightness_pct": 1.22,
      "distance_from_pm_high_pct": 1.3,
      "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": true
    },
    "pm_high": 11.92,
    "pm_low": 11.6
  },
  {
    "symbol": "JBS",
    "total_score": 57.37,
    "raw_score": 60.81,
    "breakdown": {
      "price_quality": 1.86,
      "volume_quality": 12.0,
      "rvol": 3.08,
      "volume_acceleration": 3.71,
      "price_momentum": 0.34,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.91,
      "spread_liquidity": 4.75,
      "momentum_consistency": 2.76,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.135,
      "vwap": 13.0955,
      "vwap_slope": 0.0031,
      "rvol": 1.28,
      "volume_acceleration": 1.07,
      "premarket_volume": 641340.0,
      "momentum_pct": 0.23,
      "consolidation_tightness_pct": 0.42,
      "distance_from_pm_high_pct": 0.11,
      "extension_from_vwap_pct": 0.3,
      "spread_pct": 0.08
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 13.15,
    "pm_low": 13.05
  },
  {
    "symbol": "TBI",
    "total_score": 57.2,
    "raw_score": 60.64,
    "breakdown": {
      "price_quality": 4.85,
      "volume_quality": 6.6,
      "rvol": 0.26,
      "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.1,
      "spread_liquidity": 4.32,
      "momentum_consistency": 3.1,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.85,
      "vwap": 9.8302,
      "vwap_slope": 0.1162,
      "rvol": 0.11,
      "volume_acceleration": 2.63,
      "premarket_volume": 55032.0,
      "momentum_pct": -0.56,
      "consolidation_tightness_pct": 1.31,
      "distance_from_pm_high_pct": 1.2,
      "extension_from_vwap_pct": 0.2,
      "spread_pct": 0.2
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 9.97,
    "pm_low": 9.635
  },
  {
    "symbol": "BLMN",
    "total_score": 57.2,
    "raw_score": 60.63,
    "breakdown": {
      "price_quality": 4.75,
      "volume_quality": 12.0,
      "rvol": 0.53,
      "volume_acceleration": 3.71,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.92,
      "spread_liquidity": 4.66,
      "momentum_consistency": 2.67,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.75,
      "vwap": 9.7235,
      "vwap_slope": 0.0068,
      "rvol": 0.22,
      "volume_acceleration": 1.07,
      "premarket_volume": 109774.0,
      "momentum_pct": -0.05,
      "consolidation_tightness_pct": 0.21,
      "distance_from_pm_high_pct": 0.1,
      "extension_from_vwap_pct": 0.27,
      "spread_pct": 0.1
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 9.76,
    "pm_low": 9.69
  },
  {
    "symbol": "CLF",
    "total_score": 57.19,
    "raw_score": 60.63,
    "breakdown": {
      "price_quality": 2.78,
      "volume_quality": 12.0,
      "rvol": 6.94,
      "volume_acceleration": 4.86,
      "price_momentum": 0.18,
      "price_structure": 12,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.1,
      "spread_liquidity": 4.73,
      "momentum_consistency": 2.03,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.22,
      "vwap": 12.2735,
      "vwap_slope": -0.0158,
      "rvol": 2.6,
      "volume_acceleration": 1.49,
      "premarket_volume": 1301787.0,
      "momentum_pct": 0.12,
      "consolidation_tightness_pct": 0.29,
      "distance_from_pm_high_pct": 1.2,
      "extension_from_vwap_pct": -0.44,
      "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": false,
      "vwap_rising": false
    },
    "pm_high": 12.3687,
    "pm_low": 12.1801
  },
  {
    "symbol": "DEI",
    "total_score": 57.16,
    "raw_score": 60.59,
    "breakdown": {
      "price_quality": 3.61,
      "volume_quality": 12.0,
      "rvol": 1.25,
      "volume_acceleration": 1.63,
      "price_momentum": 0.26,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.87,
      "spread_liquidity": 4.71,
      "momentum_consistency": 2.46,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.395,
      "vwap": 11.3862,
      "vwap_slope": -0.0003,
      "rvol": 0.52,
      "volume_acceleration": 0.47,
      "premarket_volume": 261292.0,
      "momentum_pct": 0.18,
      "consolidation_tightness_pct": 0.22,
      "distance_from_pm_high_pct": 0.18,
      "extension_from_vwap_pct": 0.08,
      "spread_pct": 0.09
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 11.415,
    "pm_low": 11.35
  },
  {
    "symbol": "IBRX",
    "total_score": 57.1,
    "raw_score": 60.53,
    "breakdown": {
      "price_quality": 3.03,
      "volume_quality": 12.0,
      "rvol": 1.82,
      "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.91,
      "spread_liquidity": 4.59,
      "momentum_consistency": 3.0,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.03,
      "vwap": 7.9986,
      "vwap_slope": 0.0086,
      "rvol": 0.76,
      "volume_acceleration": 1.38,
      "premarket_volume": 378339.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.37,
      "distance_from_pm_high_pct": 0.12,
      "extension_from_vwap_pct": 0.39,
      "spread_pct": 0.12
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 8.04,
    "pm_low": 7.95
  },
  {
    "symbol": "IHS",
    "total_score": 56.96,
    "raw_score": 60.38,
    "breakdown": {
      "price_quality": 3.46,
      "volume_quality": 12.0,
      "rvol": 0.67,
      "volume_acceleration": 5.83,
      "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.61,
      "momentum_consistency": 1.45,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.455,
      "vwap": 8.4544,
      "vwap_slope": 0.0004,
      "rvol": 0.28,
      "volume_acceleration": 1.58,
      "premarket_volume": 140337.0,
      "momentum_pct": -0.06,
      "consolidation_tightness_pct": 0.06,
      "distance_from_pm_high_pct": 0.06,
      "extension_from_vwap_pct": 0.01,
      "spread_pct": 0.12
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 8.46,
    "pm_low": 8.44
  },
  {
    "symbol": "CPRI",
    "total_score": 56.79,
    "raw_score": 60.19,
    "breakdown": {
      "price_quality": 1.78,
      "volume_quality": 12.0,
      "rvol": 2.81,
      "volume_acceleration": 2.7,
      "price_momentum": 0.17,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.86,
      "spread_liquidity": 4.75,
      "momentum_consistency": 3.72,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.215,
      "vwap": 13.1502,
      "vwap_slope": 0.0173,
      "rvol": 1.17,
      "volume_acceleration": 1.27,
      "premarket_volume": 584611.0,
      "momentum_pct": 0.11,
      "consolidation_tightness_pct": 0.27,
      "distance_from_pm_high_pct": 0.19,
      "extension_from_vwap_pct": 0.49,
      "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.24,
    "pm_low": 13.035
  },
  {
    "symbol": "VFC",
    "total_score": 56.78,
    "raw_score": 60.19,
    "breakdown": {
      "price_quality": 1.89,
      "volume_quality": 12.0,
      "rvol": 3.15,
      "volume_acceleration": 3.35,
      "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.75,
      "momentum_consistency": 2.9,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.105,
      "vwap": 13.0871,
      "vwap_slope": 0.0127,
      "rvol": 1.31,
      "volume_acceleration": 1.34,
      "premarket_volume": 657204.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.11,
      "distance_from_pm_high_pct": 0.34,
      "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": true
    },
    "pm_high": 13.15,
    "pm_low": 13.04
  },
  {
    "symbol": "XRAY",
    "total_score": 56.73,
    "raw_score": 60.13,
    "breakdown": {
      "price_quality": 3.62,
      "volume_quality": 12.0,
      "rvol": 1.55,
      "volume_acceleration": 3.81,
      "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.07,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.375,
      "vwap": 11.3466,
      "vwap_slope": 0.0053,
      "rvol": 0.65,
      "volume_acceleration": 1.1,
      "premarket_volume": 322956.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.13,
      "distance_from_pm_high_pct": 0.04,
      "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.38,
    "pm_low": 11.32
  },
  {
    "symbol": "JOBY",
    "total_score": 56.46,
    "raw_score": 59.84,
    "breakdown": {
      "price_quality": 1.82,
      "volume_quality": 12.0,
      "rvol": 12.0,
      "volume_acceleration": 1.88,
      "price_momentum": 0.33,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.62,
      "spread_liquidity": 4.51,
      "momentum_consistency": 2.48,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.825,
      "vwap": 6.8207,
      "vwap_slope": -0.0001,
      "rvol": 5.88,
      "volume_acceleration": 0.54,
      "premarket_volume": 2941409.0,
      "momentum_pct": 0.22,
      "consolidation_tightness_pct": 0.29,
      "distance_from_pm_high_pct": 0.51,
      "extension_from_vwap_pct": 0.06,
      "spread_pct": 0.15
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 6.86,
    "pm_low": 6.79
  },
  {
    "symbol": "TJGC",
    "total_score": 56.31,
    "raw_score": 59.69,
    "breakdown": {
      "price_quality": 4.99,
      "volume_quality": 12.0,
      "rvol": 1.16,
      "volume_acceleration": 1.67,
      "price_momentum": 0.23,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.59,
      "spread_liquidity": 4.33,
      "momentum_consistency": 3.32,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.995,
      "vwap": 9.9895,
      "vwap_slope": 0.0012,
      "rvol": 0.48,
      "volume_acceleration": 0.48,
      "premarket_volume": 241438.0,
      "momentum_pct": 0.15,
      "consolidation_tightness_pct": 0.6,
      "distance_from_pm_high_pct": 0.55,
      "extension_from_vwap_pct": 0.05,
      "spread_pct": 0.2
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 10.05,
    "pm_low": 9.98
  },
  {
    "symbol": "RIG",
    "total_score": 56.19,
    "raw_score": 59.56,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 12.0,
      "volume_acceleration": 1.57,
      "price_momentum": 0.12,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.81,
      "spread_liquidity": 4.45,
      "momentum_consistency": 2.9,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.065,
      "vwap": 6.0628,
      "vwap_slope": -0.0001,
      "rvol": 5.99,
      "volume_acceleration": 0.45,
      "premarket_volume": 2993531.0,
      "momentum_pct": 0.08,
      "consolidation_tightness_pct": 0.16,
      "distance_from_pm_high_pct": 0.25,
      "extension_from_vwap_pct": 0.04,
      "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": false
    },
    "pm_high": 6.08,
    "pm_low": 6.04
  },
  {
    "symbol": "CRGY",
    "total_score": 56.06,
    "raw_score": 59.42,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 3.01,
      "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.84,
      "spread_liquidity": 4.76,
      "momentum_consistency": 2.71,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.99,
      "vwap": 13.9826,
      "vwap_slope": 0.0047,
      "rvol": 1.25,
      "volume_acceleration": 0.92,
      "premarket_volume": 626186.0,
      "momentum_pct": -0.11,
      "consolidation_tightness_pct": 0.14,
      "distance_from_pm_high_pct": 0.21,
      "extension_from_vwap_pct": 0.05,
      "spread_pct": 0.07
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 14.02,
    "pm_low": 13.93
  },
  {
    "symbol": "GPK",
    "total_score": 56.03,
    "raw_score": 59.4,
    "breakdown": {
      "price_quality": 4.3,
      "volume_quality": 12.0,
      "rvol": 1.74,
      "volume_acceleration": 2.27,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.83,
      "spread_liquidity": 4.69,
      "momentum_consistency": 2.17,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.695,
      "vwap": 10.6795,
      "vwap_slope": 0.0078,
      "rvol": 0.73,
      "volume_acceleration": 1.23,
      "premarket_volume": 363032.0,
      "momentum_pct": -0.14,
      "consolidation_tightness_pct": 0.23,
      "distance_from_pm_high_pct": 0.23,
      "extension_from_vwap_pct": 0.15,
      "spread_pct": 0.09
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 10.72,
    "pm_low": 10.645
  },
  {
    "symbol": "UNIT",
    "total_score": 55.63,
    "raw_score": 58.97,
    "breakdown": {
      "price_quality": 4.95,
      "volume_quality": 12.0,
      "rvol": 0.52,
      "volume_acceleration": 1.64,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.81,
      "spread_liquidity": 4.67,
      "momentum_consistency": 2.98,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.055,
      "vwap": 10.036,
      "vwap_slope": 0.0057,
      "rvol": 0.22,
      "volume_acceleration": 0.47,
      "premarket_volume": 108660.0,
      "momentum_pct": -0.1,
      "consolidation_tightness_pct": 0.15,
      "distance_from_pm_high_pct": 0.25,
      "extension_from_vwap_pct": 0.19,
      "spread_pct": 0.1
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 10.08,
    "pm_low": 9.98
  },
  {
    "symbol": "NOMD",
    "total_score": 55.53,
    "raw_score": 58.86,
    "breakdown": {
      "price_quality": 3.56,
      "volume_quality": 12.0,
      "rvol": 0.58,
      "volume_acceleration": 3.06,
      "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.71,
      "momentum_consistency": 2.52,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.435,
      "vwap": 11.3928,
      "vwap_slope": 0.005,
      "rvol": 0.24,
      "volume_acceleration": 0.88,
      "premarket_volume": 119992.0,
      "momentum_pct": 0.04,
      "consolidation_tightness_pct": 0.26,
      "distance_from_pm_high_pct": 0.04,
      "extension_from_vwap_pct": 0.37,
      "spread_pct": 0.09
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 11.44,
    "pm_low": 11.36
  },
  {
    "symbol": "SPT",
    "total_score": 55.31,
    "raw_score": 58.63,
    "breakdown": {
      "price_quality": 3.8,
      "volume_quality": 11.61,
      "rvol": 0.46,
      "volume_acceleration": 2.61,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.7,
      "spread_liquidity": 4.7,
      "momentum_consistency": 3.33,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.195,
      "vwap": 11.1918,
      "vwap_slope": 0.0046,
      "rvol": 0.19,
      "volume_acceleration": 0.75,
      "premarket_volume": 96787.0,
      "momentum_pct": -0.18,
      "consolidation_tightness_pct": 0.27,
      "distance_from_pm_high_pct": 0.4,
      "extension_from_vwap_pct": 0.03,
      "spread_pct": 0.09
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 11.24,
    "pm_low": 11.13
  },
  {
    "symbol": "VYX",
    "total_score": 55.28,
    "raw_score": 58.6,
    "breakdown": {
      "price_quality": 3.84,
      "volume_quality": 12.0,
      "rvol": 1.0,
      "volume_acceleration": 2.47,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.79,
      "spread_liquidity": 4.62,
      "momentum_consistency": 2.48,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.835,
      "vwap": 8.8304,
      "vwap_slope": 0.0017,
      "rvol": 0.42,
      "volume_acceleration": 1.25,
      "premarket_volume": 208016.0,
      "momentum_pct": -0.11,
      "consolidation_tightness_pct": 0.23,
      "distance_from_pm_high_pct": 0.28,
      "extension_from_vwap_pct": 0.05,
      "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.86,
    "pm_low": 8.795
  },
  {
    "symbol": "ODD",
    "total_score": 55.14,
    "raw_score": 58.44,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 7.06,
      "rvol": 0.28,
      "volume_acceleration": 10,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.74,
      "spread_liquidity": 4.07,
      "momentum_consistency": 3.39,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.32,
      "vwap": 14.2646,
      "vwap_slope": 0.0108,
      "rvol": 0.12,
      "volume_acceleration": 4.24,
      "premarket_volume": 58846.0,
      "momentum_pct": -0.28,
      "consolidation_tightness_pct": 0.35,
      "distance_from_pm_high_pct": 0.35,
      "extension_from_vwap_pct": 0.39,
      "spread_pct": 0.28
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 14.37,
    "pm_low": 14.21
  },
  {
    "symbol": "ALVO",
    "total_score": 55.09,
    "raw_score": 58.4,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 8.03,
      "rvol": 0.32,
      "volume_acceleration": 10,
      "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.38,
      "momentum_consistency": 1.7,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.37,
      "vwap": 5.3609,
      "vwap_slope": 0.0029,
      "rvol": 0.13,
      "volume_acceleration": 2.11,
      "premarket_volume": 66935.0,
      "momentum_pct": 0.09,
      "consolidation_tightness_pct": 0.19,
      "distance_from_pm_high_pct": 0.09,
      "extension_from_vwap_pct": 0.17,
      "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.375,
    "pm_low": 5.345
  },
  {
    "symbol": "LADR",
    "total_score": 54.98,
    "raw_score": 58.28,
    "breakdown": {
      "price_quality": 4.86,
      "volume_quality": 12.0,
      "rvol": 0.55,
      "volume_acceleration": 1.61,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.96,
      "spread_liquidity": 4.66,
      "momentum_consistency": 2.25,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.855,
      "vwap": 9.8354,
      "vwap_slope": 0.002,
      "rvol": 0.23,
      "volume_acceleration": 0.46,
      "premarket_volume": 114657.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.05,
      "distance_from_pm_high_pct": 0.05,
      "extension_from_vwap_pct": 0.2,
      "spread_pct": 0.1
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 9.86,
    "pm_low": 9.8
  },
  {
    "symbol": "MAT",
    "total_score": 54.98,
    "raw_score": 58.27,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 1.58,
      "volume_acceleration": 3.9,
      "price_momentum": 0.05,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.87,
      "spread_liquidity": 4.77,
      "momentum_consistency": 2.21,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.27,
      "vwap": 14.2586,
      "vwap_slope": 0.0034,
      "rvol": 0.66,
      "volume_acceleration": 1.12,
      "premarket_volume": 330036.0,
      "momentum_pct": 0.04,
      "consolidation_tightness_pct": 0.07,
      "distance_from_pm_high_pct": 0.17,
      "extension_from_vwap_pct": 0.08,
      "spread_pct": 0.07
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 14.295,
    "pm_low": 14.225
  },
  {
    "symbol": "AEBI",
    "total_score": 54.8,
    "raw_score": 58.09,
    "breakdown": {
      "price_quality": 2.52,
      "volume_quality": 3.21,
      "rvol": 0.13,
      "volume_acceleration": 10,
      "price_momentum": 0.51,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.88,
      "spread_liquidity": 3.93,
      "momentum_consistency": 3.11,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.48,
      "vwap": 12.4614,
      "vwap_slope": -0.0217,
      "rvol": 0.05,
      "volume_acceleration": 2.46,
      "premarket_volume": 26780.0,
      "momentum_pct": 0.34,
      "consolidation_tightness_pct": 0.4,
      "distance_from_pm_high_pct": 0.16,
      "extension_from_vwap_pct": 0.15,
      "spread_pct": 0.32
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 12.4999,
    "pm_low": 12.43
  },
  {
    "symbol": "OI",
    "total_score": 54.66,
    "raw_score": 57.94,
    "breakdown": {
      "price_quality": 1.97,
      "volume_quality": 12.0,
      "rvol": 1.37,
      "volume_acceleration": 3.69,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.68,
      "spread_liquidity": 4.52,
      "momentum_consistency": 2.31,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.97,
      "vwap": 6.9575,
      "vwap_slope": 0.0048,
      "rvol": 0.57,
      "volume_acceleration": 1.06,
      "premarket_volume": 286273.0,
      "momentum_pct": -0.21,
      "consolidation_tightness_pct": 0.29,
      "distance_from_pm_high_pct": 0.43,
      "extension_from_vwap_pct": 0.18,
      "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.905
  },
  {
    "symbol": "ULCC",
    "total_score": 54.65,
    "raw_score": 57.93,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 0.9,
      "volume_acceleration": 3.72,
      "price_momentum": 0.39,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.93,
      "spread_liquidity": 4.42,
      "momentum_consistency": 2.67,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.715,
      "vwap": 5.6988,
      "vwap_slope": 0.0021,
      "rvol": 0.38,
      "volume_acceleration": 1.07,
      "premarket_volume": 188153.0,
      "momentum_pct": 0.26,
      "consolidation_tightness_pct": 0.26,
      "distance_from_pm_high_pct": 0.09,
      "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.72,
    "pm_low": 5.68
  },
  {
    "symbol": "GENI",
    "total_score": 54.58,
    "raw_score": 57.85,
    "breakdown": {
      "price_quality": 2.65,
      "volume_quality": 12.0,
      "rvol": 1.01,
      "volume_acceleration": 3.08,
      "price_momentum": 0.12,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.96,
      "spread_liquidity": 4.56,
      "momentum_consistency": 2.07,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.651,
      "vwap": 7.6409,
      "vwap_slope": 0.0008,
      "rvol": 0.42,
      "volume_acceleration": 0.89,
      "premarket_volume": 210674.0,
      "momentum_pct": 0.08,
      "consolidation_tightness_pct": 0.2,
      "distance_from_pm_high_pct": 0.05,
      "extension_from_vwap_pct": 0.13,
      "spread_pct": 0.13
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 7.655,
    "pm_low": 7.62
  },
  {
    "symbol": "TROX",
    "total_score": 54.49,
    "raw_score": 57.76,
    "breakdown": {
      "price_quality": 0.0,
      "volume_quality": 12.0,
      "rvol": 1.99,
      "volume_acceleration": 2.56,
      "price_momentum": 0.92,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.25,
      "spread_liquidity": 4.33,
      "momentum_consistency": 1.93,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 4.945,
      "vwap": 4.9406,
      "vwap_slope": -0.0042,
      "rvol": 0.83,
      "volume_acceleration": 0.74,
      "premarket_volume": 413738.0,
      "momentum_pct": 0.61,
      "consolidation_tightness_pct": 0.76,
      "distance_from_pm_high_pct": 1.0,
      "extension_from_vwap_pct": 0.09,
      "spread_pct": 0.2
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 4.995,
    "pm_low": 4.89
  },
  {
    "symbol": "YSS",
    "total_score": 54.48,
    "raw_score": 57.75,
    "breakdown": {
      "price_quality": 3.41,
      "volume_quality": 12.0,
      "rvol": 1.36,
      "volume_acceleration": 6.75,
      "price_momentum": 0.27,
      "price_structure": 12,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.25,
      "spread_liquidity": 4.6,
      "momentum_consistency": 2.11,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.415,
      "vwap": 8.4354,
      "vwap_slope": -0.0184,
      "rvol": 0.56,
      "volume_acceleration": 1.67,
      "premarket_volume": 282316.0,
      "momentum_pct": 0.18,
      "consolidation_tightness_pct": 0.36,
      "distance_from_pm_high_pct": 1.0,
      "extension_from_vwap_pct": -0.24,
      "spread_pct": 0.12
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 8.5,
    "pm_low": 8.38
  },
  {
    "symbol": "FSK",
    "total_score": 54.42,
    "raw_score": 57.68,
    "breakdown": {
      "price_quality": 2.65,
      "volume_quality": 12.0,
      "rvol": 0.7,
      "volume_acceleration": 2.43,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.88,
      "spread_liquidity": 4.73,
      "momentum_consistency": 2.89,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.345,
      "vwap": 12.3235,
      "vwap_slope": 0.0067,
      "rvol": 0.29,
      "volume_acceleration": 0.7,
      "premarket_volume": 144826.0,
      "momentum_pct": -0.05,
      "consolidation_tightness_pct": 0.12,
      "distance_from_pm_high_pct": 0.16,
      "extension_from_vwap_pct": 0.17,
      "spread_pct": 0.08
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 12.365,
    "pm_low": 12.26
  },
  {
    "symbol": "QXO",
    "total_score": 54.4,
    "raw_score": 57.66,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 4.98,
      "volume_acceleration": 3.7,
      "price_momentum": 0.11,
      "price_structure": 12,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.59,
      "spread_liquidity": 4.75,
      "momentum_consistency": 3.03,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.525,
      "vwap": 13.5364,
      "vwap_slope": -0.0117,
      "rvol": 1.87,
      "volume_acceleration": 1.37,
      "premarket_volume": 933143.0,
      "momentum_pct": 0.07,
      "consolidation_tightness_pct": 0.18,
      "distance_from_pm_high_pct": 0.55,
      "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": true,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 13.6,
    "pm_low": 13.5
  },
  {
    "symbol": "VSTM",
    "total_score": 54.39,
    "raw_score": 57.66,
    "breakdown": {
      "price_quality": 3.01,
      "volume_quality": 12.0,
      "rvol": 2.79,
      "volume_acceleration": 1.18,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.4,
      "spread_liquidity": 4.58,
      "momentum_consistency": 2.31,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.005,
      "vwap": 7.9945,
      "vwap_slope": 0.0019,
      "rvol": 1.16,
      "volume_acceleration": 0.34,
      "premarket_volume": 580510.0,
      "momentum_pct": -0.25,
      "consolidation_tightness_pct": 0.56,
      "distance_from_pm_high_pct": 0.81,
      "extension_from_vwap_pct": 0.13,
      "spread_pct": 0.12
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 8.07,
    "pm_low": 7.905
  },
  {
    "symbol": "EXK",
    "total_score": 54.39,
    "raw_score": 57.65,
    "breakdown": {
      "price_quality": 3.55,
      "volume_quality": 12.0,
      "rvol": 4.45,
      "volume_acceleration": 1.92,
      "price_momentum": 0.33,
      "price_structure": 12,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.51,
      "spread_liquidity": 4.71,
      "momentum_consistency": 3.17,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.445,
      "vwap": 11.457,
      "vwap_slope": -0.0072,
      "rvol": 1.67,
      "volume_acceleration": 0.55,
      "premarket_volume": 835073.0,
      "momentum_pct": 0.22,
      "consolidation_tightness_pct": 0.22,
      "distance_from_pm_high_pct": 0.65,
      "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": true,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 11.52,
    "pm_low": 11.41
  },
  {
    "symbol": "AHCO",
    "total_score": 54.35,
    "raw_score": 57.61,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 1.89,
      "volume_acceleration": 3.51,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.36,
      "spread_liquidity": 4.48,
      "momentum_consistency": 2.48,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.355,
      "vwap": 6.3471,
      "vwap_slope": 0.0024,
      "rvol": 0.79,
      "volume_acceleration": 1.01,
      "premarket_volume": 393313.0,
      "momentum_pct": -0.31,
      "consolidation_tightness_pct": 0.39,
      "distance_from_pm_high_pct": 0.86,
      "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": true,
      "vwap_rising": true
    },
    "pm_high": 6.41,
    "pm_low": 6.3
  },
  {
    "symbol": "SWIM",
    "total_score": 54.35,
    "raw_score": 57.61,
    "breakdown": {
      "price_quality": 1.93,
      "volume_quality": 5.75,
      "rvol": 0.23,
      "volume_acceleration": 10,
      "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.67,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.93,
      "vwap": 6.8956,
      "vwap_slope": 0.014,
      "rvol": 0.1,
      "volume_acceleration": 3.24,
      "premarket_volume": 47936.0,
      "momentum_pct": 0.07,
      "consolidation_tightness_pct": 0.14,
      "distance_from_pm_high_pct": 0.0,
      "extension_from_vwap_pct": 0.5,
      "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.93,
    "pm_low": 6.86
  },
  {
    "symbol": "IMMX",
    "total_score": 54.34,
    "raw_score": 57.6,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 9.82,
      "rvol": 0.39,
      "volume_acceleration": 6.85,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.84,
      "spread_liquidity": 4.51,
      "momentum_consistency": 2.29,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.64,
      "vwap": 13.5965,
      "vwap_slope": 0.0108,
      "rvol": 0.16,
      "volume_acceleration": 1.69,
      "premarket_volume": 81844.0,
      "momentum_pct": -0.15,
      "consolidation_tightness_pct": 0.22,
      "distance_from_pm_high_pct": 0.22,
      "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": true,
      "vwap_rising": true
    },
    "pm_high": 13.67,
    "pm_low": 13.52
  },
  {
    "symbol": "NOK",
    "total_score": 54.31,
    "raw_score": 57.57,
    "breakdown": {
      "price_quality": 4.76,
      "volume_quality": 12.0,
      "rvol": 12.0,
      "volume_acceleration": 2.81,
      "price_momentum": 0.15,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.81,
      "spread_liquidity": 4.66,
      "momentum_consistency": 2.98,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.755,
      "vwap": 9.7574,
      "vwap_slope": -0.0019,
      "rvol": 8.66,
      "volume_acceleration": 0.81,
      "premarket_volume": 4332304.0,
      "momentum_pct": 0.1,
      "consolidation_tightness_pct": 0.21,
      "distance_from_pm_high_pct": 0.26,
      "extension_from_vwap_pct": -0.03,
      "spread_pct": 0.1
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 9.78,
    "pm_low": 9.74
  },
  {
    "symbol": "WSE",
    "total_score": 54.24,
    "raw_score": 57.5,
    "breakdown": {
      "price_quality": 1.86,
      "volume_quality": 12.0,
      "rvol": 0.79,
      "volume_acceleration": 9.92,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.86,
      "spread_liquidity": 4.75,
      "momentum_consistency": 2.72,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.135,
      "vwap": 13.1383,
      "vwap_slope": 0.0004,
      "rvol": 0.33,
      "volume_acceleration": 1.99,
      "premarket_volume": 165610.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.11,
      "distance_from_pm_high_pct": 0.19,
      "extension_from_vwap_pct": -0.03,
      "spread_pct": 0.08
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": true
    },
    "pm_high": 13.16,
    "pm_low": 13.11
  },
  {
    "symbol": "ADMA",
    "total_score": 54.24,
    "raw_score": 57.5,
    "breakdown": {
      "price_quality": 4.54,
      "volume_quality": 12.0,
      "rvol": 0.6,
      "volume_acceleration": 1.65,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.92,
      "spread_liquidity": 4.65,
      "momentum_consistency": 1.75,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.535,
      "vwap": 9.4932,
      "vwap_slope": 0.0091,
      "rvol": 0.25,
      "volume_acceleration": 0.47,
      "premarket_volume": 125168.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.21,
      "distance_from_pm_high_pct": 0.1,
      "extension_from_vwap_pct": 0.44,
      "spread_pct": 0.1
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 9.545,
    "pm_low": 9.455
  },
  {
    "symbol": "EROC",
    "total_score": 54.19,
    "raw_score": 57.45,
    "breakdown": {
      "price_quality": 3.45,
      "volume_quality": 12.0,
      "rvol": 1.21,
      "volume_acceleration": 1.97,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.71,
      "spread_liquidity": 4.13,
      "momentum_consistency": 2.58,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.55,
      "vwap": 11.5309,
      "vwap_slope": 0.0029,
      "rvol": 0.5,
      "volume_acceleration": 0.57,
      "premarket_volume": 251044.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.22,
      "distance_from_pm_high_pct": 0.39,
      "extension_from_vwap_pct": 0.17,
      "spread_pct": 0.26
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 11.595,
    "pm_low": 11.47
  },
  {
    "symbol": "SSYS",
    "total_score": 54.16,
    "raw_score": 57.41,
    "breakdown": {
      "price_quality": 2.74,
      "volume_quality": 12.0,
      "rvol": 0.49,
      "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.71,
      "spread_liquidity": 4.14,
      "momentum_consistency": 2.73,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.74,
      "vwap": 7.7424,
      "vwap_slope": 0.0012,
      "rvol": 0.2,
      "volume_acceleration": 3.03,
      "premarket_volume": 101633.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.25,
      "distance_from_pm_high_pct": 0.39,
      "extension_from_vwap_pct": -0.03,
      "spread_pct": 0.26
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": true
    },
    "pm_high": 7.77,
    "pm_low": 7.715
  },
  {
    "symbol": "SGHC",
    "total_score": 54.09,
    "raw_score": 57.34,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 0.59,
      "volume_acceleration": 4.0,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.97,
      "spread_liquidity": 4.76,
      "momentum_consistency": 2.11,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.155,
      "vwap": 14.1328,
      "vwap_slope": 0.0034,
      "rvol": 0.25,
      "volume_acceleration": 1.15,
      "premarket_volume": 123402.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.21,
      "distance_from_pm_high_pct": 0.04,
      "extension_from_vwap_pct": 0.16,
      "spread_pct": 0.07
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 14.16,
    "pm_low": 14.1
  },
  {
    "symbol": "CLYM",
    "total_score": 54.03,
    "raw_score": 57.27,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 1.08,
      "volume_acceleration": 2.45,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.8,
      "spread_liquidity": 4.32,
      "momentum_consistency": 3.72,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.67,
      "vwap": 14.567,
      "vwap_slope": 0.0107,
      "rvol": 0.45,
      "volume_acceleration": 0.7,
      "premarket_volume": 224892.0,
      "momentum_pct": -0.1,
      "consolidation_tightness_pct": 0.48,
      "distance_from_pm_high_pct": 0.27,
      "extension_from_vwap_pct": 0.71,
      "spread_pct": 0.2
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 14.71,
    "pm_low": 14.45
  },
  {
    "symbol": "LYG",
    "total_score": 54.01,
    "raw_score": 57.25,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 1.51,
      "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": 6,
      "spread_liquidity": 4.45,
      "momentum_consistency": 1.9,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.09,
      "vwap": 6.086,
      "vwap_slope": 0.0,
      "rvol": 0.63,
      "volume_acceleration": 1.0,
      "premarket_volume": 315593.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.16,
      "distance_from_pm_high_pct": 0.0,
      "extension_from_vwap_pct": 0.07,
      "spread_pct": 0.16
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 6.09,
    "pm_low": 6.08
  },
  {
    "symbol": "AVAH",
    "total_score": 54.0,
    "raw_score": 57.24,
    "breakdown": {
      "price_quality": 1.59,
      "volume_quality": 12.0,
      "rvol": 0.53,
      "volume_acceleration": 2.38,
      "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.75,
      "momentum_consistency": 3.48,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.415,
      "vwap": 13.385,
      "vwap_slope": 0.0052,
      "rvol": 0.22,
      "volume_acceleration": 1.24,
      "premarket_volume": 110758.0,
      "momentum_pct": 0.07,
      "consolidation_tightness_pct": 0.22,
      "distance_from_pm_high_pct": 0.0,
      "extension_from_vwap_pct": 0.22,
      "spread_pct": 0.07
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 13.415,
    "pm_low": 13.35
  },
  {
    "symbol": "NWL",
    "total_score": 53.94,
    "raw_score": 57.17,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 2.2,
      "volume_acceleration": 3.15,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.81,
      "spread_liquidity": 4.45,
      "momentum_consistency": 1.66,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.055,
      "vwap": 6.0483,
      "vwap_slope": 0.0009,
      "rvol": 0.92,
      "volume_acceleration": 0.91,
      "premarket_volume": 458024.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.3,
      "distance_from_pm_high_pct": 0.25,
      "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": true,
      "vwap_rising": true
    },
    "pm_high": 6.07,
    "pm_low": 6.03
  },
  {
    "symbol": "UPB",
    "total_score": 53.87,
    "raw_score": 57.11,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 0.55,
      "volume_acceleration": 3.21,
      "price_momentum": 0.77,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.81,
      "spread_liquidity": 3.87,
      "momentum_consistency": 3.0,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.91,
      "vwap": 5.8758,
      "vwap_slope": 0.0063,
      "rvol": 0.23,
      "volume_acceleration": 0.92,
      "premarket_volume": 115273.0,
      "momentum_pct": 0.51,
      "consolidation_tightness_pct": 0.72,
      "distance_from_pm_high_pct": 0.25,
      "extension_from_vwap_pct": 0.58,
      "spread_pct": 0.34
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 5.925,
    "pm_low": 5.77
  },
  {
    "symbol": "PDYN",
    "total_score": 53.63,
    "raw_score": 56.85,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 8.79,
      "rvol": 0.35,
      "volume_acceleration": 3.28,
      "price_momentum": 0.78,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.74,
      "spread_liquidity": 4.41,
      "momentum_consistency": 3.2,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.66,
      "vwap": 5.6482,
      "vwap_slope": -0.0047,
      "rvol": 0.15,
      "volume_acceleration": 0.94,
      "premarket_volume": 73217.0,
      "momentum_pct": 0.52,
      "consolidation_tightness_pct": 0.53,
      "distance_from_pm_high_pct": 0.35,
      "extension_from_vwap_pct": 0.21,
      "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": 5.68,
    "pm_low": 5.63
  },
  {
    "symbol": "PGEN",
    "total_score": 53.35,
    "raw_score": 56.55,
    "breakdown": {
      "price_quality": 2.05,
      "volume_quality": 12.0,
      "rvol": 0.98,
      "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.84,
      "spread_liquidity": 4.53,
      "momentum_consistency": 2.0,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.05,
      "vwap": 7.0346,
      "vwap_slope": 0.004,
      "rvol": 0.41,
      "volume_acceleration": 1.27,
      "premarket_volume": 205193.0,
      "momentum_pct": -0.07,
      "consolidation_tightness_pct": 0.14,
      "distance_from_pm_high_pct": 0.21,
      "extension_from_vwap_pct": 0.22,
      "spread_pct": 0.14
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 7.065,
    "pm_low": 7.015
  },
  {
    "symbol": "NEOG",
    "total_score": 53.3,
    "raw_score": 56.5,
    "breakdown": {
      "price_quality": 3.39,
      "volume_quality": 8.72,
      "rvol": 0.35,
      "volume_acceleration": 4.04,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.84,
      "spread_liquidity": 4.71,
      "momentum_consistency": 3.05,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.61,
      "vwap": 11.5962,
      "vwap_slope": 0.0124,
      "rvol": 0.15,
      "volume_acceleration": 1.4,
      "premarket_volume": 72693.0,
      "momentum_pct": -0.09,
      "consolidation_tightness_pct": 0.13,
      "distance_from_pm_high_pct": 0.21,
      "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": true
    },
    "pm_high": 11.635,
    "pm_low": 11.565
  },
  {
    "symbol": "EGY",
    "total_score": 53.29,
    "raw_score": 56.49,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 7.94,
      "rvol": 0.32,
      "volume_acceleration": 7.16,
      "price_momentum": 0.25,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 6,
      "spread_liquidity": 4.45,
      "momentum_consistency": 2.48,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.045,
      "vwap": 6.0335,
      "vwap_slope": 0.0018,
      "rvol": 0.13,
      "volume_acceleration": 1.72,
      "premarket_volume": 66175.0,
      "momentum_pct": 0.17,
      "consolidation_tightness_pct": 0.17,
      "distance_from_pm_high_pct": 0.0,
      "extension_from_vwap_pct": 0.19,
      "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.045,
    "pm_low": 6.02
  },
  {
    "symbol": "DRVN",
    "total_score": 53.25,
    "raw_score": 56.44,
    "breakdown": {
      "price_quality": 1.67,
      "volume_quality": 11.89,
      "rvol": 0.48,
      "volume_acceleration": 2.69,
      "price_momentum": 0.07,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.98,
      "spread_liquidity": 4.75,
      "momentum_consistency": 2.52,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.3261,
      "vwap": 13.2989,
      "vwap_slope": 0.0021,
      "rvol": 0.2,
      "volume_acceleration": 0.77,
      "premarket_volume": 99099.0,
      "momentum_pct": 0.05,
      "consolidation_tightness_pct": 0.08,
      "distance_from_pm_high_pct": 0.03,
      "extension_from_vwap_pct": 0.2,
      "spread_pct": 0.08
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 13.33,
    "pm_low": 13.25
  },
  {
    "symbol": "ANTX",
    "total_score": 53.16,
    "raw_score": 56.35,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 3.31,
      "rvol": 0.13,
      "volume_acceleration": 10,
      "price_momentum": 2.31,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.87,
      "spread_liquidity": 3.88,
      "momentum_consistency": 2.95,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.93,
      "vwap": 5.8862,
      "vwap_slope": 0.0021,
      "rvol": 0.06,
      "volume_acceleration": 2.73,
      "premarket_volume": 27593.0,
      "momentum_pct": 1.54,
      "consolidation_tightness_pct": 1.79,
      "distance_from_pm_high_pct": 0.17,
      "extension_from_vwap_pct": 0.74,
      "spread_pct": 0.34
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 5.94,
    "pm_low": 5.835
  },
  {
    "symbol": "IMUX",
    "total_score": 53.07,
    "raw_score": 56.26,
    "breakdown": {
      "price_quality": 2.57,
      "volume_quality": 12.0,
      "rvol": 1.17,
      "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.19,
      "spread_liquidity": 2.59,
      "momentum_consistency": 4.48,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.425,
      "vwap": 11.9519,
      "vwap_slope": 0.0884,
      "rvol": 0.49,
      "volume_acceleration": 0.53,
      "premarket_volume": 244153.0,
      "momentum_pct": -0.2,
      "consolidation_tightness_pct": 1.08,
      "distance_from_pm_high_pct": 1.07,
      "extension_from_vwap_pct": 3.96,
      "spread_pct": 0.72
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 12.56,
    "pm_low": 11.56
  },
  {
    "symbol": "AGNC",
    "total_score": 53.04,
    "raw_score": 56.22,
    "breakdown": {
      "price_quality": 4.34,
      "volume_quality": 12.0,
      "rvol": 12.0,
      "volume_acceleration": 2.06,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.75,
      "spread_liquidity": 4.69,
      "momentum_consistency": 2.98,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.665,
      "vwap": 10.6787,
      "vwap_slope": -0.0029,
      "rvol": 5.12,
      "volume_acceleration": 0.59,
      "premarket_volume": 2561866.0,
      "momentum_pct": -0.09,
      "consolidation_tightness_pct": 0.28,
      "distance_from_pm_high_pct": 0.33,
      "extension_from_vwap_pct": -0.13,
      "spread_pct": 0.09
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 10.7,
    "pm_low": 10.65
  },
  {
    "symbol": "GNL",
    "total_score": 52.91,
    "raw_score": 56.09,
    "breakdown": {
      "price_quality": 4.15,
      "volume_quality": 9.06,
      "rvol": 0.36,
      "volume_acceleration": 3.34,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.96,
      "spread_liquidity": 4.64,
      "momentum_consistency": 2.18,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.155,
      "vwap": 9.1529,
      "vwap_slope": 0.0003,
      "rvol": 0.15,
      "volume_acceleration": 0.96,
      "premarket_volume": 75460.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.11,
      "distance_from_pm_high_pct": 0.05,
      "extension_from_vwap_pct": 0.02,
      "spread_pct": 0.11
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 9.16,
    "pm_low": 9.14
  },
  {
    "symbol": "WLTH",
    "total_score": 52.85,
    "raw_score": 56.02,
    "breakdown": {
      "price_quality": 4.32,
      "volume_quality": 12.0,
      "rvol": 1.37,
      "volume_acceleration": 3.4,
      "price_momentum": 0.0,
      "price_structure": 12,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.56,
      "spread_liquidity": 4.64,
      "momentum_consistency": 2.72,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.32,
      "vwap": 9.3344,
      "vwap_slope": -0.0001,
      "rvol": 0.57,
      "volume_acceleration": 0.98,
      "premarket_volume": 286395.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.27,
      "distance_from_pm_high_pct": 0.59,
      "extension_from_vwap_pct": -0.15,
      "spread_pct": 0.11
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 9.375,
    "pm_low": 9.305
  },
  {
    "symbol": "BHC",
    "total_score": 52.82,
    "raw_score": 55.99,
    "breakdown": {
      "price_quality": 1.75,
      "volume_quality": 12.0,
      "rvol": 0.83,
      "volume_acceleration": 2.25,
      "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.51,
      "momentum_consistency": 2.17,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.755,
      "vwap": 6.7385,
      "vwap_slope": 0.0019,
      "rvol": 0.35,
      "volume_acceleration": 0.65,
      "premarket_volume": 173058.0,
      "momentum_pct": 0.06,
      "consolidation_tightness_pct": 0.15,
      "distance_from_pm_high_pct": 0.0,
      "extension_from_vwap_pct": 0.25,
      "spread_pct": 0.15
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 6.755,
    "pm_low": 6.72
  },
  {
    "symbol": "HAYW",
    "total_score": 52.78,
    "raw_score": 55.95,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 1.09,
      "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.89,
      "spread_liquidity": 4.76,
      "momentum_consistency": 1.44,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.755,
      "vwap": 13.7418,
      "vwap_slope": 0.0028,
      "rvol": 0.45,
      "volume_acceleration": 0.83,
      "premarket_volume": 226604.0,
      "momentum_pct": -0.07,
      "consolidation_tightness_pct": 0.11,
      "distance_from_pm_high_pct": 0.15,
      "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": true,
      "vwap_rising": true
    },
    "pm_high": 13.775,
    "pm_low": 13.71
  },
  {
    "symbol": "SVV",
    "total_score": 52.34,
    "raw_score": 55.48,
    "breakdown": {
      "price_quality": 4.74,
      "volume_quality": 5.4,
      "rvol": 0.22,
      "volume_acceleration": 5.66,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.96,
      "spread_liquidity": 4.67,
      "momentum_consistency": 2.42,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.255,
      "vwap": 10.2463,
      "vwap_slope": 0.0017,
      "rvol": 0.09,
      "volume_acceleration": 1.57,
      "premarket_volume": 44982.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.05,
      "distance_from_pm_high_pct": 0.05,
      "extension_from_vwap_pct": 0.08,
      "spread_pct": 0.1
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 10.26,
    "pm_low": 10.225
  },
  {
    "symbol": "BTE",
    "total_score": 52.24,
    "raw_score": 55.38,
    "breakdown": {
      "price_quality": 0.0,
      "volume_quality": 12.0,
      "rvol": 12.0,
      "volume_acceleration": 7.64,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 4.8,
      "spread_liquidity": 4.33,
      "momentum_consistency": 2.21,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 4.94,
      "vwap": 4.9675,
      "vwap_slope": -0.0008,
      "rvol": 9.07,
      "volume_acceleration": 1.76,
      "premarket_volume": 4536451.0,
      "momentum_pct": -0.3,
      "consolidation_tightness_pct": 0.3,
      "distance_from_pm_high_pct": 1.59,
      "extension_from_vwap_pct": -0.55,
      "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.02,
    "pm_low": 4.94
  },
  {
    "symbol": "RCAT",
    "total_score": 52.22,
    "raw_score": 55.35,
    "breakdown": {
      "price_quality": 3.47,
      "volume_quality": 12.0,
      "rvol": 1.87,
      "volume_acceleration": 3.48,
      "price_momentum": 0.41,
      "price_structure": 12,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.3,
      "spread_liquidity": 4.61,
      "momentum_consistency": 2.21,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.475,
      "vwap": 8.4949,
      "vwap_slope": -0.0091,
      "rvol": 0.78,
      "volume_acceleration": 1.0,
      "premarket_volume": 389781.0,
      "momentum_pct": 0.28,
      "consolidation_tightness_pct": 0.3,
      "distance_from_pm_high_pct": 0.94,
      "extension_from_vwap_pct": -0.23,
      "spread_pct": 0.12
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 8.555,
    "pm_low": 8.45
  },
  {
    "symbol": "PAYO",
    "total_score": 52.05,
    "raw_score": 55.17,
    "breakdown": {
      "price_quality": 2.17,
      "volume_quality": 12.0,
      "rvol": 0.48,
      "volume_acceleration": 2.23,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 6,
      "spread_liquidity": 4.53,
      "momentum_consistency": 1.36,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.17,
      "vwap": 7.1695,
      "vwap_slope": 0.0002,
      "rvol": 0.2,
      "volume_acceleration": 0.64,
      "premarket_volume": 100201.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.0,
      "distance_from_pm_high_pct": 0.0,
      "extension_from_vwap_pct": 0.01,
      "spread_pct": 0.14
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 7.17,
    "pm_low": 7.1601
  },
  {
    "symbol": "GSBD",
    "total_score": 51.9,
    "raw_score": 55.01,
    "breakdown": {
      "price_quality": 4.9,
      "volume_quality": 8.39,
      "rvol": 0.34,
      "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.81,
      "spread_liquidity": 4.66,
      "momentum_consistency": 1.83,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.905,
      "vwap": 9.8977,
      "vwap_slope": 0.0058,
      "rvol": 0.14,
      "volume_acceleration": 0.77,
      "premarket_volume": 69890.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.05,
      "distance_from_pm_high_pct": 0.25,
      "extension_from_vwap_pct": 0.07,
      "spread_pct": 0.1
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 9.93,
    "pm_low": 9.8541
  },
  {
    "symbol": "FSM",
    "total_score": 51.89,
    "raw_score": 55.0,
    "breakdown": {
      "price_quality": 2.46,
      "volume_quality": 12.0,
      "rvol": 1.85,
      "volume_acceleration": 2.97,
      "price_momentum": 0.12,
      "price_structure": 12,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.73,
      "spread_liquidity": 4.73,
      "momentum_consistency": 3.14,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.545,
      "vwap": 12.5595,
      "vwap_slope": -0.0058,
      "rvol": 0.77,
      "volume_acceleration": 0.86,
      "premarket_volume": 384583.0,
      "momentum_pct": 0.08,
      "consolidation_tightness_pct": 0.12,
      "distance_from_pm_high_pct": 0.36,
      "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": true,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 12.59,
    "pm_low": 12.52
  },
  {
    "symbol": "TXO",
    "total_score": 51.74,
    "raw_score": 54.84,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 3.19,
      "rvol": 0.13,
      "volume_acceleration": 2.65,
      "price_momentum": 0.51,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.95,
      "spread_liquidity": 2.53,
      "momentum_consistency": 2.4,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.89,
      "vwap": 14.8304,
      "vwap_slope": 0.007,
      "rvol": 0.05,
      "volume_acceleration": 0.76,
      "premarket_volume": 26552.0,
      "momentum_pct": 0.34,
      "consolidation_tightness_pct": 0.72,
      "distance_from_pm_high_pct": 0.07,
      "extension_from_vwap_pct": 0.4,
      "spread_pct": 0.74
    },
    "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.9,
    "pm_low": 14.785
  },
  {
    "symbol": "MNTN",
    "total_score": 51.67,
    "raw_score": 54.77,
    "breakdown": {
      "price_quality": 1.56,
      "volume_quality": 10.0,
      "rvol": 0.4,
      "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.39,
      "spread_liquidity": 4.5,
      "momentum_consistency": 3.2,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.44,
      "vwap": 13.4616,
      "vwap_slope": 0.0005,
      "rvol": 0.17,
      "volume_acceleration": 4.27,
      "premarket_volume": 83354.0,
      "momentum_pct": 0.07,
      "consolidation_tightness_pct": 0.22,
      "distance_from_pm_high_pct": 0.81,
      "extension_from_vwap_pct": -0.16,
      "spread_pct": 0.15
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": true
    },
    "pm_high": 13.55,
    "pm_low": 13.37
  },
  {
    "symbol": "F",
    "total_score": 51.65,
    "raw_score": 54.75,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 12.0,
      "volume_acceleration": 3.97,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.77,
      "spread_liquidity": 4.77,
      "momentum_consistency": 2.34,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.4,
      "vwap": 14.4076,
      "vwap_slope": -0.0008,
      "rvol": 6.28,
      "volume_acceleration": 1.14,
      "premarket_volume": 3138326.0,
      "momentum_pct": -0.03,
      "consolidation_tightness_pct": 0.14,
      "distance_from_pm_high_pct": 0.31,
      "extension_from_vwap_pct": -0.05,
      "spread_pct": 0.07
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 14.445,
    "pm_low": 14.39
  },
  {
    "symbol": "EMBC",
    "total_score": 51.64,
    "raw_score": 54.74,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 0.74,
      "volume_acceleration": 1.6,
      "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.82,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.705,
      "vwap": 5.6878,
      "vwap_slope": 0.0021,
      "rvol": 0.31,
      "volume_acceleration": 0.46,
      "premarket_volume": 153638.0,
      "momentum_pct": 0.18,
      "consolidation_tightness_pct": 0.26,
      "distance_from_pm_high_pct": 0.0,
      "extension_from_vwap_pct": 0.3,
      "spread_pct": 0.17
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 5.705,
    "pm_low": 5.665
  },
  {
    "symbol": "QUBT",
    "total_score": 51.36,
    "raw_score": 54.44,
    "breakdown": {
      "price_quality": 2.89,
      "volume_quality": 12.0,
      "rvol": 1.34,
      "volume_acceleration": 3.21,
      "price_momentum": 0.0,
      "price_structure": 12,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.43,
      "spread_liquidity": 4.58,
      "momentum_consistency": 2.98,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.89,
      "vwap": 7.8975,
      "vwap_slope": -0.0016,
      "rvol": 0.56,
      "volume_acceleration": 0.92,
      "premarket_volume": 278614.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.25,
      "distance_from_pm_high_pct": 0.75,
      "extension_from_vwap_pct": -0.09,
      "spread_pct": 0.13
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 7.9499,
    "pm_low": 7.87
  },
  {
    "symbol": "SPIR",
    "total_score": 51.36,
    "raw_score": 54.45,
    "breakdown": {
      "price_quality": 3.24,
      "volume_quality": 8.22,
      "rvol": 0.33,
      "volume_acceleration": 10,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.75,
      "spread_liquidity": 4.15,
      "momentum_consistency": 3.16,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.76,
      "vwap": 11.7654,
      "vwap_slope": 0.0004,
      "rvol": 0.14,
      "volume_acceleration": 3.15,
      "premarket_volume": 68482.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.22,
      "distance_from_pm_high_pct": 0.34,
      "extension_from_vwap_pct": -0.05,
      "spread_pct": 0.25
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": true
    },
    "pm_high": 11.8,
    "pm_low": 11.73
  },
  {
    "symbol": "GGB",
    "total_score": 51.26,
    "raw_score": 54.33,
    "breakdown": {
      "price_quality": 0.0,
      "volume_quality": 12.0,
      "rvol": 10.12,
      "volume_acceleration": 0.84,
      "price_momentum": 0.15,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.77,
      "spread_liquidity": 4.32,
      "momentum_consistency": 1.93,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 4.91,
      "vwap": 4.909,
      "vwap_slope": -0.0002,
      "rvol": 3.79,
      "volume_acceleration": 0.24,
      "premarket_volume": 1896756.0,
      "momentum_pct": 0.1,
      "consolidation_tightness_pct": 0.2,
      "distance_from_pm_high_pct": 0.3,
      "extension_from_vwap_pct": 0.02,
      "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": 4.925,
    "pm_low": 4.891
  },
  {
    "symbol": "SMR",
    "total_score": 51.16,
    "raw_score": 54.23,
    "breakdown": {
      "price_quality": 4.64,
      "volume_quality": 12.0,
      "rvol": 9.11,
      "volume_acceleration": 3.92,
      "price_momentum": 0.23,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 4.93,
      "spread_liquidity": 4.65,
      "momentum_consistency": 2.34,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.64,
      "vwap": 9.6779,
      "vwap_slope": -0.0137,
      "rvol": 3.42,
      "volume_acceleration": 1.13,
      "premarket_volume": 1707714.0,
      "momentum_pct": 0.16,
      "consolidation_tightness_pct": 0.31,
      "distance_from_pm_high_pct": 1.43,
      "extension_from_vwap_pct": -0.39,
      "spread_pct": 0.1
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 9.78,
    "pm_low": 9.61
  },
  {
    "symbol": "AES",
    "total_score": 50.96,
    "raw_score": 54.01,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 4.77,
      "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.77,
      "momentum_consistency": 2.62,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.7901,
      "vwap": 14.793,
      "vwap_slope": -0.0002,
      "rvol": 1.79,
      "volume_acceleration": 2.39,
      "premarket_volume": 893951.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.1,
      "distance_from_pm_high_pct": 0.07,
      "extension_from_vwap_pct": -0.02,
      "spread_pct": 0.07
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 14.8,
    "pm_low": 14.785
  },
  {
    "symbol": "WEN",
    "total_score": 50.95,
    "raw_score": 54.01,
    "breakdown": {
      "price_quality": 2.88,
      "volume_quality": 12.0,
      "rvol": 2.92,
      "volume_acceleration": 3.27,
      "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.58,
      "momentum_consistency": 3.03,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.8764,
      "vwap": 7.8809,
      "vwap_slope": 0.0031,
      "rvol": 1.22,
      "volume_acceleration": 0.94,
      "premarket_volume": 607615.0,
      "momentum_pct": -0.3,
      "consolidation_tightness_pct": 0.38,
      "distance_from_pm_high_pct": 0.36,
      "extension_from_vwap_pct": -0.06,
      "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.905,
    "pm_low": 7.85
  },
  {
    "symbol": "EVMN",
    "total_score": 50.51,
    "raw_score": 53.54,
    "breakdown": {
      "price_quality": 3.03,
      "volume_quality": 6.83,
      "rvol": 0.27,
      "volume_acceleration": 9.29,
      "price_momentum": 0.19,
      "price_structure": 12,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.1,
      "spread_liquidity": 4.16,
      "momentum_consistency": 2.67,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.975,
      "vwap": 12.0225,
      "vwap_slope": -0.0122,
      "rvol": 0.11,
      "volume_acceleration": 1.93,
      "premarket_volume": 56902.0,
      "momentum_pct": 0.13,
      "consolidation_tightness_pct": 0.33,
      "distance_from_pm_high_pct": 1.2,
      "extension_from_vwap_pct": -0.39,
      "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": false,
      "vwap_rising": false
    },
    "pm_high": 12.12,
    "pm_low": 11.95
  },
  {
    "symbol": "REAL",
    "total_score": 50.27,
    "raw_score": 53.29,
    "breakdown": {
      "price_quality": 4.84,
      "volume_quality": 5.95,
      "rvol": 0.24,
      "volume_acceleration": 3.43,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.85,
      "spread_liquidity": 4.67,
      "momentum_consistency": 1.9,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.165,
      "vwap": 10.161,
      "vwap_slope": 0.0052,
      "rvol": 0.1,
      "volume_acceleration": 1.34,
      "premarket_volume": 49617.0,
      "momentum_pct": -0.1,
      "consolidation_tightness_pct": 0.2,
      "distance_from_pm_high_pct": 0.2,
      "extension_from_vwap_pct": 0.04,
      "spread_pct": 0.1
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 10.185,
    "pm_low": 10.145
  },
  {
    "symbol": "TAC",
    "total_score": 50.23,
    "raw_score": 53.25,
    "breakdown": {
      "price_quality": 3.22,
      "volume_quality": 12.0,
      "rvol": 0.73,
      "volume_acceleration": 4.8,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.81,
      "spread_liquidity": 4.72,
      "momentum_consistency": 2.36,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.775,
      "vwap": 11.7772,
      "vwap_slope": 0.0033,
      "rvol": 0.31,
      "volume_acceleration": 1.48,
      "premarket_volume": 152662.0,
      "momentum_pct": -0.21,
      "consolidation_tightness_pct": 0.25,
      "distance_from_pm_high_pct": 0.25,
      "extension_from_vwap_pct": -0.02,
      "spread_pct": 0.08
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": true
    },
    "pm_high": 11.805,
    "pm_low": 11.76
  },
  {
    "symbol": "FNKO",
    "total_score": 49.99,
    "raw_score": 52.99,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 1.55,
      "volume_acceleration": 4.93,
      "price_momentum": 0.4,
      "price_structure": 12,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 3.83,
      "spread_liquidity": 4.42,
      "momentum_consistency": 2.37,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.71,
      "vwap": 5.7794,
      "vwap_slope": -0.0175,
      "rvol": 0.65,
      "volume_acceleration": 1.49,
      "premarket_volume": 323515.0,
      "momentum_pct": 0.26,
      "consolidation_tightness_pct": 0.79,
      "distance_from_pm_high_pct": 2.89,
      "extension_from_vwap_pct": -1.2,
      "spread_pct": 0.18
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 5.88,
    "pm_low": 5.68
  },
  {
    "symbol": "NAVI",
    "total_score": 49.96,
    "raw_score": 52.95,
    "breakdown": {
      "price_quality": 4.54,
      "volume_quality": 12.0,
      "rvol": 1.11,
      "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.76,
      "spread_liquidity": 4.65,
      "momentum_consistency": 2.26,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.535,
      "vwap": 9.5477,
      "vwap_slope": -0.0033,
      "rvol": 0.46,
      "volume_acceleration": 4.9,
      "premarket_volume": 231398.0,
      "momentum_pct": 0.16,
      "consolidation_tightness_pct": 0.21,
      "distance_from_pm_high_pct": 0.31,
      "extension_from_vwap_pct": -0.13,
      "spread_pct": 0.1
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 9.565,
    "pm_low": 9.515
  },
  {
    "symbol": "DOLE",
    "total_score": 49.9,
    "raw_score": 52.89,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 8.65,
      "rvol": 0.35,
      "volume_acceleration": 2.2,
      "price_momentum": 0.11,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.95,
      "spread_liquidity": 4.76,
      "momentum_consistency": 2.98,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.875,
      "vwap": 13.8648,
      "vwap_slope": 0.0015,
      "rvol": 0.14,
      "volume_acceleration": 1.22,
      "premarket_volume": 72118.0,
      "momentum_pct": 0.07,
      "consolidation_tightness_pct": 0.07,
      "distance_from_pm_high_pct": 0.07,
      "extension_from_vwap_pct": 0.07,
      "spread_pct": 0.07
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 13.885,
    "pm_low": 13.835
  },
  {
    "symbol": "NVAX",
    "total_score": 49.86,
    "raw_score": 52.85,
    "breakdown": {
      "price_quality": 4.97,
      "volume_quality": 12.0,
      "rvol": 1.42,
      "volume_acceleration": 10,
      "price_momentum": 0.15,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.48,
      "spread_liquidity": 4.67,
      "momentum_consistency": 1.76,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.025,
      "vwap": 10.0462,
      "vwap_slope": -0.0099,
      "rvol": 0.59,
      "volume_acceleration": 2.26,
      "premarket_volume": 294851.0,
      "momentum_pct": 0.1,
      "consolidation_tightness_pct": 0.3,
      "distance_from_pm_high_pct": 0.69,
      "extension_from_vwap_pct": -0.21,
      "spread_pct": 0.1
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 10.095,
    "pm_low": 10.0
  },
  {
    "symbol": "LENZ",
    "total_score": 49.83,
    "raw_score": 52.82,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 9.8,
      "rvol": 0.39,
      "volume_acceleration": 2.59,
      "price_momentum": 0.26,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.74,
      "spread_liquidity": 3.86,
      "momentum_consistency": 2.29,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.84,
      "vwap": 5.8187,
      "vwap_slope": 0.0058,
      "rvol": 0.16,
      "volume_acceleration": 1.26,
      "premarket_volume": 81657.0,
      "momentum_pct": 0.17,
      "consolidation_tightness_pct": 0.51,
      "distance_from_pm_high_pct": 0.34,
      "extension_from_vwap_pct": 0.37,
      "spread_pct": 0.34
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 5.86,
    "pm_low": 5.7701
  },
  {
    "symbol": "ARHS",
    "total_score": 49.82,
    "raw_score": 52.81,
    "breakdown": {
      "price_quality": 3.47,
      "volume_quality": 5.09,
      "rvol": 0.2,
      "volume_acceleration": 4.88,
      "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.61,
      "momentum_consistency": 2.29,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.475,
      "vwap": 8.4588,
      "vwap_slope": 0.01,
      "rvol": 0.08,
      "volume_acceleration": 1.49,
      "premarket_volume": 42399.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.24,
      "distance_from_pm_high_pct": 0.18,
      "extension_from_vwap_pct": 0.19,
      "spread_pct": 0.12
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 8.49,
    "pm_low": 8.435
  },
  {
    "symbol": "EOLS",
    "total_score": 49.63,
    "raw_score": 52.61,
    "breakdown": {
      "price_quality": 4.02,
      "volume_quality": 6.64,
      "rvol": 0.27,
      "volume_acceleration": 2.63,
      "price_momentum": 0.08,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 6,
      "spread_liquidity": 4.63,
      "momentum_consistency": 1.95,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.02,
      "vwap": 8.9763,
      "vwap_slope": 0.0064,
      "rvol": 0.11,
      "volume_acceleration": 0.76,
      "premarket_volume": 55318.0,
      "momentum_pct": 0.06,
      "consolidation_tightness_pct": 0.17,
      "distance_from_pm_high_pct": 0.0,
      "extension_from_vwap_pct": 0.49,
      "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.02,
    "pm_low": 8.94
  },
  {
    "symbol": "SHOE",
    "total_score": 49.59,
    "raw_score": 52.56,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 9.36,
      "rvol": 0.37,
      "volume_acceleration": 2.97,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.67,
      "spread_liquidity": 4.51,
      "momentum_consistency": 1.78,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.57,
      "vwap": 13.5621,
      "vwap_slope": 0.0085,
      "rvol": 0.16,
      "volume_acceleration": 0.85,
      "premarket_volume": 78013.0,
      "momentum_pct": -0.22,
      "consolidation_tightness_pct": 0.44,
      "distance_from_pm_high_pct": 0.44,
      "extension_from_vwap_pct": 0.06,
      "spread_pct": 0.15
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 13.63,
    "pm_low": 13.48
  },
  {
    "symbol": "BV",
    "total_score": 49.33,
    "raw_score": 52.29,
    "breakdown": {
      "price_quality": 3.64,
      "volume_quality": 6.0,
      "rvol": 0.24,
      "volume_acceleration": 3.88,
      "price_momentum": 0.13,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 6,
      "spread_liquidity": 4.71,
      "momentum_consistency": 1.28,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.355,
      "vwap": 11.3197,
      "vwap_slope": 0.0132,
      "rvol": 0.1,
      "volume_acceleration": 1.39,
      "premarket_volume": 50041.0,
      "momentum_pct": 0.09,
      "consolidation_tightness_pct": 0.13,
      "distance_from_pm_high_pct": 0.0,
      "extension_from_vwap_pct": 0.31,
      "spread_pct": 0.09
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 11.355,
    "pm_low": 11.28
  },
  {
    "symbol": "SNAP",
    "total_score": 49.24,
    "raw_score": 52.19,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 12.0,
      "volume_acceleration": 2.05,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.48,
      "spread_liquidity": 4.42,
      "momentum_consistency": 2.34,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.73,
      "vwap": 5.7507,
      "vwap_slope": -0.0011,
      "rvol": 6.0,
      "volume_acceleration": 0.59,
      "premarket_volume": 2997644.0,
      "momentum_pct": -0.09,
      "consolidation_tightness_pct": 0.35,
      "distance_from_pm_high_pct": 0.69,
      "extension_from_vwap_pct": -0.36,
      "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.77,
    "pm_low": 5.725
  },
  {
    "symbol": "BBCP",
    "total_score": 49.2,
    "raw_score": 52.16,
    "breakdown": {
      "price_quality": 4.03,
      "volume_quality": 3.52,
      "rvol": 0.14,
      "volume_acceleration": 2.31,
      "price_momentum": 0.67,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.92,
      "spread_liquidity": 3.89,
      "momentum_consistency": 2.88,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.03,
      "vwap": 9.0021,
      "vwap_slope": -0.0025,
      "rvol": 0.06,
      "volume_acceleration": 0.66,
      "premarket_volume": 29348.0,
      "momentum_pct": 0.44,
      "consolidation_tightness_pct": 0.44,
      "distance_from_pm_high_pct": 0.11,
      "extension_from_vwap_pct": 0.31,
      "spread_pct": 0.33
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 9.04,
    "pm_low": 8.945
  },
  {
    "symbol": "APPS",
    "total_score": 49.0,
    "raw_score": 51.94,
    "breakdown": {
      "price_quality": 4.29,
      "volume_quality": 12.0,
      "rvol": 1.07,
      "volume_acceleration": 2.15,
      "price_momentum": 0.21,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.41,
      "spread_liquidity": 4.38,
      "momentum_consistency": 3.23,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.705,
      "vwap": 10.6987,
      "vwap_slope": -0.0086,
      "rvol": 0.44,
      "volume_acceleration": 0.62,
      "premarket_volume": 222179.0,
      "momentum_pct": 0.14,
      "consolidation_tightness_pct": 0.36,
      "distance_from_pm_high_pct": 0.79,
      "extension_from_vwap_pct": 0.06,
      "spread_pct": 0.19
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 10.79,
    "pm_low": 10.6
  },
  {
    "symbol": "AURA",
    "total_score": 48.93,
    "raw_score": 51.86,
    "breakdown": {
      "price_quality": 2.31,
      "volume_quality": 12.0,
      "rvol": 0.65,
      "volume_acceleration": 2.81,
      "price_momentum": 0.62,
      "price_structure": 12,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 4.99,
      "spread_liquidity": 4.09,
      "momentum_consistency": 2.4,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.31,
      "vwap": 7.331,
      "vwap_slope": -0.0104,
      "rvol": 0.27,
      "volume_acceleration": 0.81,
      "premarket_volume": 135058.0,
      "momentum_pct": 0.41,
      "consolidation_tightness_pct": 0.41,
      "distance_from_pm_high_pct": 1.35,
      "extension_from_vwap_pct": -0.29,
      "spread_pct": 0.27
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 7.41,
    "pm_low": 7.26
  },
  {
    "symbol": "HELP",
    "total_score": 48.92,
    "raw_score": 51.85,
    "breakdown": {
      "price_quality": 3.25,
      "volume_quality": 12.0,
      "rvol": 0.67,
      "volume_acceleration": 4.42,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.2,
      "spread_liquidity": 4.43,
      "momentum_consistency": 2.29,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.7528,
      "vwap": 11.7919,
      "vwap_slope": 0.0092,
      "rvol": 0.28,
      "volume_acceleration": 1.44,
      "premarket_volume": 138750.0,
      "momentum_pct": -0.32,
      "consolidation_tightness_pct": 0.82,
      "distance_from_pm_high_pct": 1.07,
      "extension_from_vwap_pct": -0.33,
      "spread_pct": 0.17
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": true
    },
    "pm_high": 11.88,
    "pm_low": 11.69
  },
  {
    "symbol": "AEG",
    "total_score": 48.83,
    "raw_score": 51.76,
    "breakdown": {
      "price_quality": 4.18,
      "volume_quality": 12.0,
      "rvol": 0.55,
      "volume_acceleration": 3.56,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.92,
      "spread_liquidity": 4.64,
      "momentum_consistency": 1.31,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.18,
      "vwap": 9.1827,
      "vwap_slope": 0.0004,
      "rvol": 0.23,
      "volume_acceleration": 1.02,
      "premarket_volume": 115402.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.05,
      "distance_from_pm_high_pct": 0.11,
      "extension_from_vwap_pct": -0.03,
      "spread_pct": 0.11
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": true
    },
    "pm_high": 9.19,
    "pm_low": 9.18
  },
  {
    "symbol": "STTK",
    "total_score": 48.8,
    "raw_score": 51.73,
    "breakdown": {
      "price_quality": 1.94,
      "volume_quality": 7.28,
      "rvol": 0.29,
      "volume_acceleration": 2.84,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.89,
      "spread_liquidity": 4.52,
      "momentum_consistency": 2.56,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.94,
      "vwap": 6.91,
      "vwap_slope": 0.0103,
      "rvol": 0.12,
      "volume_acceleration": 0.82,
      "premarket_volume": 60677.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.14,
      "distance_from_pm_high_pct": 0.14,
      "extension_from_vwap_pct": 0.43,
      "spread_pct": 0.14
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 6.95,
    "pm_low": 6.87
  },
  {
    "symbol": "STGW",
    "total_score": 48.76,
    "raw_score": 51.69,
    "breakdown": {
      "price_quality": 3.84,
      "volume_quality": 7.09,
      "rvol": 0.28,
      "volume_acceleration": 1.41,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.92,
      "spread_liquidity": 4.62,
      "momentum_consistency": 2.13,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.835,
      "vwap": 8.8043,
      "vwap_slope": 0.0044,
      "rvol": 0.12,
      "volume_acceleration": 0.4,
      "premarket_volume": 59099.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.06,
      "distance_from_pm_high_pct": 0.11,
      "extension_from_vwap_pct": 0.35,
      "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.845,
    "pm_low": 8.76
  },
  {
    "symbol": "OSS",
    "total_score": 48.65,
    "raw_score": 51.57,
    "breakdown": {
      "price_quality": 4.68,
      "volume_quality": 4.06,
      "rvol": 0.16,
      "volume_acceleration": 1.51,
      "price_momentum": 0.47,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.58,
      "spread_liquidity": 3.97,
      "momentum_consistency": 2.34,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.68,
      "vwap": 9.6753,
      "vwap_slope": -0.0121,
      "rvol": 0.07,
      "volume_acceleration": 1.15,
      "premarket_volume": 33842.0,
      "momentum_pct": 0.31,
      "consolidation_tightness_pct": 0.41,
      "distance_from_pm_high_pct": 0.56,
      "extension_from_vwap_pct": 0.05,
      "spread_pct": 0.31
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 9.735,
    "pm_low": 9.64
  },
  {
    "symbol": "SUJA",
    "total_score": 48.56,
    "raw_score": 51.47,
    "breakdown": {
      "price_quality": 4.31,
      "volume_quality": 3.75,
      "rvol": 0.15,
      "volume_acceleration": 2.48,
      "price_momentum": 0.7,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.93,
      "spread_liquidity": 4.38,
      "momentum_consistency": 3.37,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.69,
      "vwap": 10.6447,
      "vwap_slope": 0.0128,
      "rvol": 0.06,
      "volume_acceleration": 1.25,
      "premarket_volume": 31245.0,
      "momentum_pct": 0.47,
      "consolidation_tightness_pct": 0.73,
      "distance_from_pm_high_pct": 0.09,
      "extension_from_vwap_pct": 0.43,
      "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.7,
    "pm_low": 10.62
  },
  {
    "symbol": "BRSL",
    "total_score": 48.5,
    "raw_score": 51.41,
    "breakdown": {
      "price_quality": 3.69,
      "volume_quality": 11.79,
      "rvol": 0.47,
      "volume_acceleration": 3.79,
      "price_momentum": 0.33,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.93,
      "spread_liquidity": 4.71,
      "momentum_consistency": 1.5,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.315,
      "vwap": 11.3013,
      "vwap_slope": -0.001,
      "rvol": 0.2,
      "volume_acceleration": 1.38,
      "premarket_volume": 98236.0,
      "momentum_pct": 0.22,
      "consolidation_tightness_pct": 0.35,
      "distance_from_pm_high_pct": 0.09,
      "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": 11.325,
    "pm_low": 11.28
  },
  {
    "symbol": "LAND",
    "total_score": 48.33,
    "raw_score": 51.23,
    "breakdown": {
      "price_quality": 4.77,
      "volume_quality": 10.53,
      "rvol": 0.42,
      "volume_acceleration": 3.16,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.85,
      "spread_liquidity": 4.66,
      "momentum_consistency": 2.23,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.77,
      "vwap": 9.7741,
      "vwap_slope": 0.001,
      "rvol": 0.18,
      "volume_acceleration": 0.91,
      "premarket_volume": 87737.0,
      "momentum_pct": -0.05,
      "consolidation_tightness_pct": 0.15,
      "distance_from_pm_high_pct": 0.2,
      "extension_from_vwap_pct": -0.04,
      "spread_pct": 0.1
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": true
    },
    "pm_high": 9.7891,
    "pm_low": 9.7501
  },
  {
    "symbol": "SHLS",
    "total_score": 48.2,
    "raw_score": 51.09,
    "breakdown": {
      "price_quality": 2.04,
      "volume_quality": 12.0,
      "rvol": 1.73,
      "volume_acceleration": 3.87,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.52,
      "spread_liquidity": 4.53,
      "momentum_consistency": 1.79,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.045,
      "vwap": 7.0608,
      "vwap_slope": 0.0025,
      "rvol": 0.72,
      "volume_acceleration": 1.11,
      "premarket_volume": 359594.0,
      "momentum_pct": -0.42,
      "consolidation_tightness_pct": 0.5,
      "distance_from_pm_high_pct": 0.63,
      "extension_from_vwap_pct": -0.22,
      "spread_pct": 0.14
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": true
    },
    "pm_high": 7.09,
    "pm_low": 7.01
  },
  {
    "symbol": "SECZ",
    "total_score": 48.15,
    "raw_score": 51.04,
    "breakdown": {
      "price_quality": 2.12,
      "volume_quality": 12.0,
      "rvol": 0.72,
      "volume_acceleration": 2.32,
      "price_momentum": 0.32,
      "price_structure": 12,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.01,
      "spread_liquidity": 3.59,
      "momentum_consistency": 2.95,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.125,
      "vwap": 7.1423,
      "vwap_slope": -0.0055,
      "rvol": 0.3,
      "volume_acceleration": 0.67,
      "premarket_volume": 150037.0,
      "momentum_pct": 0.21,
      "consolidation_tightness_pct": 0.42,
      "distance_from_pm_high_pct": 1.32,
      "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": true,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 7.22,
    "pm_low": 7.1
  },
  {
    "symbol": "MNRO",
    "total_score": 48.0,
    "raw_score": 50.88,
    "breakdown": {
      "price_quality": 2.54,
      "volume_quality": 6.77,
      "rvol": 0.27,
      "volume_acceleration": 1.65,
      "price_momentum": 0.18,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.82,
      "spread_liquidity": 4.73,
      "momentum_consistency": 2.53,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.465,
      "vwap": 12.4532,
      "vwap_slope": 0.001,
      "rvol": 0.11,
      "volume_acceleration": 0.47,
      "premarket_volume": 56388.0,
      "momentum_pct": 0.12,
      "consolidation_tightness_pct": 0.12,
      "distance_from_pm_high_pct": 0.24,
      "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.495,
    "pm_low": 12.415
  },
  {
    "symbol": "SLRC",
    "total_score": 47.98,
    "raw_score": 50.86,
    "breakdown": {
      "price_quality": 2.37,
      "volume_quality": 4.59,
      "rvol": 0.18,
      "volume_acceleration": 3.9,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.82,
      "spread_liquidity": 4.74,
      "momentum_consistency": 2.86,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.635,
      "vwap": 12.6349,
      "vwap_slope": 0.0085,
      "rvol": 0.08,
      "volume_acceleration": 1.12,
      "premarket_volume": 38255.0,
      "momentum_pct": -0.04,
      "consolidation_tightness_pct": 0.08,
      "distance_from_pm_high_pct": 0.24,
      "extension_from_vwap_pct": 0.0,
      "spread_pct": 0.08
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 12.665,
    "pm_low": 12.605
  },
  {
    "symbol": "BFLY",
    "total_score": 47.95,
    "raw_score": 50.82,
    "breakdown": {
      "price_quality": 2.28,
      "volume_quality": 12.0,
      "rvol": 0.98,
      "volume_acceleration": 3.07,
      "price_momentum": 0.1,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.85,
      "spread_liquidity": 4.54,
      "momentum_consistency": 2.81,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.275,
      "vwap": 7.2748,
      "vwap_slope": -0.0001,
      "rvol": 0.41,
      "volume_acceleration": 0.88,
      "premarket_volume": 204208.0,
      "momentum_pct": 0.07,
      "consolidation_tightness_pct": 0.14,
      "distance_from_pm_high_pct": 0.21,
      "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": 7.29,
    "pm_low": 7.265
  },
  {
    "symbol": "MATV",
    "total_score": 47.85,
    "raw_score": 50.72,
    "breakdown": {
      "price_quality": 2.51,
      "volume_quality": 4.44,
      "rvol": 0.18,
      "volume_acceleration": 3.26,
      "price_momentum": 0.6,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 6,
      "spread_liquidity": 4.47,
      "momentum_consistency": 2.86,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.49,
      "vwap": 12.4408,
      "vwap_slope": 0.0152,
      "rvol": 0.07,
      "volume_acceleration": 1.33,
      "premarket_volume": 36989.0,
      "momentum_pct": 0.4,
      "consolidation_tightness_pct": 0.56,
      "distance_from_pm_high_pct": 0.0,
      "extension_from_vwap_pct": 0.4,
      "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.49,
    "pm_low": 12.4
  },
  {
    "symbol": "HLF",
    "total_score": 47.83,
    "raw_score": 50.7,
    "breakdown": {
      "price_quality": 2.79,
      "volume_quality": 12.0,
      "rvol": 0.54,
      "volume_acceleration": 2.14,
      "price_momentum": 0.37,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.91,
      "spread_liquidity": 4.73,
      "momentum_consistency": 3.02,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.21,
      "vwap": 12.1974,
      "vwap_slope": -0.001,
      "rvol": 0.23,
      "volume_acceleration": 1.21,
      "premarket_volume": 112640.0,
      "momentum_pct": 0.25,
      "consolidation_tightness_pct": 0.25,
      "distance_from_pm_high_pct": 0.12,
      "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": false
    },
    "pm_high": 12.225,
    "pm_low": 12.16
  },
  {
    "symbol": "CERT",
    "total_score": 47.73,
    "raw_score": 50.6,
    "breakdown": {
      "price_quality": 3.21,
      "volume_quality": 12.0,
      "rvol": 0.76,
      "volume_acceleration": 2.27,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.82,
      "spread_liquidity": 4.59,
      "momentum_consistency": 2.35,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.205,
      "vwap": 8.2077,
      "vwap_slope": 0.0003,
      "rvol": 0.32,
      "volume_acceleration": 0.65,
      "premarket_volume": 157926.0,
      "momentum_pct": -0.12,
      "consolidation_tightness_pct": 0.12,
      "distance_from_pm_high_pct": 0.24,
      "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.225,
    "pm_low": 8.175
  },
  {
    "symbol": "AMCX",
    "total_score": 47.5,
    "raw_score": 50.35,
    "breakdown": {
      "price_quality": 2.24,
      "volume_quality": 4.03,
      "rvol": 0.16,
      "volume_acceleration": 3.73,
      "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": 3.95,
      "momentum_consistency": 3.89,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.755,
      "vwap": 12.7055,
      "vwap_slope": 0.0274,
      "rvol": 0.07,
      "volume_acceleration": 1.07,
      "premarket_volume": 33576.0,
      "momentum_pct": -0.04,
      "consolidation_tightness_pct": 0.2,
      "distance_from_pm_high_pct": 0.08,
      "extension_from_vwap_pct": 0.39,
      "spread_pct": 0.31
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 12.765,
    "pm_low": 12.645
  },
  {
    "symbol": "ASAN",
    "total_score": 47.49,
    "raw_score": 50.34,
    "breakdown": {
      "price_quality": 4.96,
      "volume_quality": 12.0,
      "rvol": 4.54,
      "volume_acceleration": 3.77,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.52,
      "spread_liquidity": 4.67,
      "momentum_consistency": 2.48,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.035,
      "vwap": 10.0648,
      "vwap_slope": -0.0063,
      "rvol": 1.7,
      "volume_acceleration": 1.08,
      "premarket_volume": 851623.0,
      "momentum_pct": -0.2,
      "consolidation_tightness_pct": 0.35,
      "distance_from_pm_high_pct": 0.64,
      "extension_from_vwap_pct": -0.3,
      "spread_pct": 0.1
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 10.1,
    "pm_low": 10.025
  },
  {
    "symbol": "SOUN",
    "total_score": 47.45,
    "raw_score": 50.3,
    "breakdown": {
      "price_quality": 1.72,
      "volume_quality": 12.0,
      "rvol": 10.3,
      "volume_acceleration": 2.17,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.01,
      "spread_liquidity": 4.5,
      "momentum_consistency": 2.21,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.72,
      "vwap": 6.7668,
      "vwap_slope": -0.0078,
      "rvol": 3.86,
      "volume_acceleration": 0.62,
      "premarket_volume": 1930508.0,
      "momentum_pct": -0.01,
      "consolidation_tightness_pct": 0.15,
      "distance_from_pm_high_pct": 1.32,
      "extension_from_vwap_pct": -0.69,
      "spread_pct": 0.15
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 6.81,
    "pm_low": 6.72
  },
  {
    "symbol": "SBGI",
    "total_score": 47.38,
    "raw_score": 50.23,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 5.52,
      "rvol": 0.22,
      "volume_acceleration": 3.26,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.95,
      "spread_liquidity": 4.28,
      "momentum_consistency": 3.1,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.94,
      "vwap": 13.9074,
      "vwap_slope": 0.0126,
      "rvol": 0.09,
      "volume_acceleration": 0.94,
      "premarket_volume": 46022.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.43,
      "distance_from_pm_high_pct": 0.07,
      "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": true,
      "vwap_rising": true
    },
    "pm_high": 13.95,
    "pm_low": 13.83
  },
  {
    "symbol": "RPD",
    "total_score": 47.27,
    "raw_score": 50.1,
    "breakdown": {
      "price_quality": 3.58,
      "volume_quality": 12.0,
      "rvol": 0.88,
      "volume_acceleration": 8.67,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.16,
      "spread_liquidity": 4.42,
      "momentum_consistency": 3.0,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.42,
      "vwap": 11.4918,
      "vwap_slope": -0.0074,
      "rvol": 0.36,
      "volume_acceleration": 1.87,
      "premarket_volume": 182453.0,
      "momentum_pct": -0.44,
      "consolidation_tightness_pct": 0.61,
      "distance_from_pm_high_pct": 1.13,
      "extension_from_vwap_pct": -0.62,
      "spread_pct": 0.18
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 11.55,
    "pm_low": 11.415
  },
  {
    "symbol": "KRO",
    "total_score": 47.25,
    "raw_score": 50.09,
    "breakdown": {
      "price_quality": 3.48,
      "volume_quality": 2.52,
      "rvol": 0.1,
      "volume_acceleration": 2.09,
      "price_momentum": 0.0,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.78,
      "spread_liquidity": 4.21,
      "momentum_consistency": 3.1,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.48,
      "vwap": 8.473,
      "vwap_slope": -0.0021,
      "rvol": 0.04,
      "volume_acceleration": 0.6,
      "premarket_volume": 21017.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.18,
      "distance_from_pm_high_pct": 0.29,
      "extension_from_vwap_pct": 0.08,
      "spread_pct": 0.24
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 8.505,
    "pm_low": 8.45
  },
  {
    "symbol": "STLA",
    "total_score": 47.21,
    "raw_score": 50.04,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 10.58,
      "volume_acceleration": 1.85,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.52,
      "spread_liquidity": 4.39,
      "momentum_consistency": 1.79,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.485,
      "vwap": 5.5029,
      "vwap_slope": -0.0021,
      "rvol": 3.97,
      "volume_acceleration": 0.53,
      "premarket_volume": 1983979.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.18,
      "distance_from_pm_high_pct": 0.63,
      "extension_from_vwap_pct": -0.33,
      "spread_pct": 0.18
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 5.52,
    "pm_low": 5.48
  },
  {
    "symbol": "VITL",
    "total_score": 47.21,
    "raw_score": 50.04,
    "breakdown": {
      "price_quality": 4.84,
      "volume_quality": 9.39,
      "rvol": 0.38,
      "volume_acceleration": 3.55,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.67,
      "spread_liquidity": 4.02,
      "momentum_consistency": 2.59,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.165,
      "vwap": 10.1801,
      "vwap_slope": 0.0072,
      "rvol": 0.16,
      "volume_acceleration": 1.36,
      "premarket_volume": 78276.0,
      "momentum_pct": -0.15,
      "consolidation_tightness_pct": 0.2,
      "distance_from_pm_high_pct": 0.44,
      "extension_from_vwap_pct": -0.15,
      "spread_pct": 0.3
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": true
    },
    "pm_high": 10.21,
    "pm_low": 10.145
  },
  {
    "symbol": "SB",
    "total_score": 47.11,
    "raw_score": 49.93,
    "breakdown": {
      "price_quality": 4.03,
      "volume_quality": 10.86,
      "rvol": 0.43,
      "volume_acceleration": 10,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.75,
      "spread_liquidity": 4.63,
      "momentum_consistency": 1.83,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.025,
      "vwap": 9.0397,
      "vwap_slope": -0.0067,
      "rvol": 0.18,
      "volume_acceleration": 2.26,
      "premarket_volume": 90497.0,
      "momentum_pct": -0.06,
      "consolidation_tightness_pct": 0.22,
      "distance_from_pm_high_pct": 0.33,
      "extension_from_vwap_pct": -0.16,
      "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.055,
    "pm_low": 9.015
  },
  {
    "symbol": "CAL",
    "total_score": 47.07,
    "raw_score": 49.9,
    "breakdown": {
      "price_quality": 2.83,
      "volume_quality": 4.84,
      "rvol": 0.19,
      "volume_acceleration": 3.42,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.82,
      "spread_liquidity": 4.45,
      "momentum_consistency": 1.95,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.17,
      "vwap": 12.1635,
      "vwap_slope": 0.0057,
      "rvol": 0.08,
      "volume_acceleration": 0.98,
      "premarket_volume": 40332.0,
      "momentum_pct": -0.12,
      "consolidation_tightness_pct": 0.25,
      "distance_from_pm_high_pct": 0.25,
      "extension_from_vwap_pct": 0.05,
      "spread_pct": 0.16
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 12.2,
    "pm_low": 12.1138
  },
  {
    "symbol": "DFH",
    "total_score": 46.86,
    "raw_score": 49.68,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 4.54,
      "rvol": 0.18,
      "volume_acceleration": 3.16,
      "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.03,
      "momentum_consistency": 3.87,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.71,
      "vwap": 13.6377,
      "vwap_slope": 0.0119,
      "rvol": 0.08,
      "volume_acceleration": 0.91,
      "premarket_volume": 37836.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.29,
      "distance_from_pm_high_pct": 0.0,
      "extension_from_vwap_pct": 0.53,
      "spread_pct": 0.29
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 13.71,
    "pm_low": 13.57
  },
  {
    "symbol": "LE",
    "total_score": 46.76,
    "raw_score": 49.57,
    "breakdown": {
      "price_quality": 3.94,
      "volume_quality": 2.91,
      "rvol": 0.12,
      "volume_acceleration": 3.24,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.53,
      "spread_liquidity": 3.79,
      "momentum_consistency": 3.64,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.06,
      "vwap": 11.0187,
      "vwap_slope": 0.0379,
      "rvol": 0.05,
      "volume_acceleration": 0.93,
      "premarket_volume": 24275.0,
      "momentum_pct": -0.41,
      "consolidation_tightness_pct": 0.9,
      "distance_from_pm_high_pct": 0.63,
      "extension_from_vwap_pct": 0.37,
      "spread_pct": 0.36
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 11.13,
    "pm_low": 10.92
  },
  {
    "symbol": "OPTX",
    "total_score": 46.74,
    "raw_score": 49.54,
    "breakdown": {
      "price_quality": 2.73,
      "volume_quality": 4.38,
      "rvol": 0.18,
      "volume_acceleration": 2.62,
      "price_momentum": 0.0,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 4.57,
      "spread_liquidity": 2.83,
      "momentum_consistency": 3.43,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.73,
      "vwap": 7.7177,
      "vwap_slope": -0.0625,
      "rvol": 0.07,
      "volume_acceleration": 0.75,
      "premarket_volume": 36519.0,
      "momentum_pct": -0.39,
      "consolidation_tightness_pct": 1.49,
      "distance_from_pm_high_pct": 1.9,
      "extension_from_vwap_pct": 0.16,
      "spread_pct": 0.65
    },
    "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.88,
    "pm_low": 7.57
  },
  {
    "symbol": "FWDI",
    "total_score": 46.72,
    "raw_score": 49.52,
    "breakdown": {
      "price_quality": 1.61,
      "volume_quality": 12.0,
      "rvol": 0.86,
      "volume_acceleration": 2.77,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.66,
      "spread_liquidity": 4.5,
      "momentum_consistency": 2.53,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.61,
      "vwap": 6.6112,
      "vwap_slope": 0.0047,
      "rvol": 0.36,
      "volume_acceleration": 1.28,
      "premarket_volume": 178638.0,
      "momentum_pct": -0.15,
      "consolidation_tightness_pct": 0.23,
      "distance_from_pm_high_pct": 0.45,
      "extension_from_vwap_pct": -0.02,
      "spread_pct": 0.15
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": true
    },
    "pm_high": 6.64,
    "pm_low": 6.56
  },
  {
    "symbol": "SG",
    "total_score": 46.64,
    "raw_score": 49.44,
    "breakdown": {
      "price_quality": 1.74,
      "volume_quality": 12.0,
      "rvol": 0.84,
      "volume_acceleration": 3.57,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.67,
      "spread_liquidity": 4.51,
      "momentum_consistency": 1.93,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.735,
      "vwap": 6.7332,
      "vwap_slope": -0.0017,
      "rvol": 0.35,
      "volume_acceleration": 1.03,
      "premarket_volume": 174707.0,
      "momentum_pct": -0.07,
      "consolidation_tightness_pct": 0.22,
      "distance_from_pm_high_pct": 0.44,
      "extension_from_vwap_pct": 0.03,
      "spread_pct": 0.15
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 6.765,
    "pm_low": 6.71
  },
  {
    "symbol": "RUN",
    "total_score": 46.64,
    "raw_score": 49.43,
    "breakdown": {
      "price_quality": 3.96,
      "volume_quality": 12.0,
      "rvol": 2.79,
      "volume_acceleration": 6.59,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.09,
      "spread_liquidity": 4.63,
      "momentum_consistency": 1.96,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.965,
      "vwap": 9.0299,
      "vwap_slope": -0.0251,
      "rvol": 1.16,
      "volume_acceleration": 1.66,
      "premarket_volume": 582247.0,
      "momentum_pct": -0.99,
      "consolidation_tightness_pct": 1.05,
      "distance_from_pm_high_pct": 1.21,
      "extension_from_vwap_pct": -0.72,
      "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.075,
    "pm_low": 8.96
  },
  {
    "symbol": "HPK",
    "total_score": 46.57,
    "raw_score": 49.36,
    "breakdown": {
      "price_quality": 3.27,
      "volume_quality": 3.21,
      "rvol": 0.13,
      "volume_acceleration": 2.74,
      "price_momentum": 0.18,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.95,
      "spread_liquidity": 3.79,
      "momentum_consistency": 3.69,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.265,
      "vwap": 8.2273,
      "vwap_slope": 0.0128,
      "rvol": 0.05,
      "volume_acceleration": 0.79,
      "premarket_volume": 26729.0,
      "momentum_pct": 0.12,
      "consolidation_tightness_pct": 0.48,
      "distance_from_pm_high_pct": 0.06,
      "extension_from_vwap_pct": 0.46,
      "spread_pct": 0.36
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 8.27,
    "pm_low": 8.19
  },
  {
    "symbol": "NEXT",
    "total_score": 46.5,
    "raw_score": 49.29,
    "breakdown": {
      "price_quality": 2.34,
      "volume_quality": 12.0,
      "rvol": 0.79,
      "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.44,
      "spread_liquidity": 4.55,
      "momentum_consistency": 1.76,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.345,
      "vwap": 7.3599,
      "vwap_slope": -0.0092,
      "rvol": 0.33,
      "volume_acceleration": 2.06,
      "premarket_volume": 165270.0,
      "momentum_pct": -0.07,
      "consolidation_tightness_pct": 0.27,
      "distance_from_pm_high_pct": 0.74,
      "extension_from_vwap_pct": -0.2,
      "spread_pct": 0.14
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 7.4,
    "pm_low": 7.33
  },
  {
    "symbol": "MAGN",
    "total_score": 46.44,
    "raw_score": 49.22,
    "breakdown": {
      "price_quality": 2.64,
      "volume_quality": 4.15,
      "rvol": 0.17,
      "volume_acceleration": 2.96,
      "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.46,
      "momentum_consistency": 2.44,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.36,
      "vwap": 12.3372,
      "vwap_slope": 0.007,
      "rvol": 0.07,
      "volume_acceleration": 0.85,
      "premarket_volume": 34608.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.08,
      "distance_from_pm_high_pct": 0.0,
      "extension_from_vwap_pct": 0.18,
      "spread_pct": 0.16
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 12.36,
    "pm_low": 12.31
  },
  {
    "symbol": "AI",
    "total_score": 46.41,
    "raw_score": 49.19,
    "breakdown": {
      "price_quality": 4.35,
      "volume_quality": 12.0,
      "rvol": 6.28,
      "volume_acceleration": 3.99,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 3.42,
      "spread_liquidity": 4.69,
      "momentum_consistency": 2.07,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.655,
      "vwap": 10.7839,
      "vwap_slope": -0.067,
      "rvol": 2.36,
      "volume_acceleration": 1.15,
      "premarket_volume": 1177873.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.38,
      "distance_from_pm_high_pct": 3.44,
      "extension_from_vwap_pct": -1.2,
      "spread_pct": 0.09
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 11.035,
    "pm_low": 10.545
  },
  {
    "symbol": "LWLG",
    "total_score": 46.36,
    "raw_score": 49.15,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 0.67,
      "volume_acceleration": 3.87,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.71,
      "spread_liquidity": 4.35,
      "momentum_consistency": 1.86,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.095,
      "vwap": 5.0922,
      "vwap_slope": -0.0044,
      "rvol": 0.28,
      "volume_acceleration": 1.11,
      "premarket_volume": 139026.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.57,
      "distance_from_pm_high_pct": 0.39,
      "extension_from_vwap_pct": 0.05,
      "spread_pct": 0.2
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 5.115,
    "pm_low": 5.07
  },
  {
    "symbol": "DX",
    "total_score": 46.35,
    "raw_score": 49.13,
    "breakdown": {
      "price_quality": 2.19,
      "volume_quality": 12.0,
      "rvol": 1.94,
      "volume_acceleration": 8.34,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.88,
      "spread_liquidity": 4.74,
      "momentum_consistency": 1.66,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.815,
      "vwap": 12.8218,
      "vwap_slope": -0.001,
      "rvol": 0.81,
      "volume_acceleration": 1.83,
      "premarket_volume": 403930.0,
      "momentum_pct": -0.08,
      "consolidation_tightness_pct": 0.11,
      "distance_from_pm_high_pct": 0.16,
      "extension_from_vwap_pct": -0.05,
      "spread_pct": 0.08
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 12.8361,
    "pm_low": 12.81
  },
  {
    "symbol": "TAL",
    "total_score": 46.34,
    "raw_score": 49.12,
    "breakdown": {
      "price_quality": 2.89,
      "volume_quality": 12.0,
      "rvol": 0.56,
      "volume_acceleration": 9.12,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.78,
      "spread_liquidity": 4.72,
      "momentum_consistency": 1.64,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.11,
      "vwap": 12.1287,
      "vwap_slope": -0.0028,
      "rvol": 0.23,
      "volume_acceleration": 1.91,
      "premarket_volume": 116513.0,
      "momentum_pct": -0.04,
      "consolidation_tightness_pct": 0.25,
      "distance_from_pm_high_pct": 0.29,
      "extension_from_vwap_pct": -0.15,
      "spread_pct": 0.08
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 12.145,
    "pm_low": 12.105
  },
  {
    "symbol": "DUOT",
    "total_score": 46.29,
    "raw_score": 49.07,
    "breakdown": {
      "price_quality": 3.69,
      "volume_quality": 12.0,
      "rvol": 0.52,
      "volume_acceleration": 8.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.15,
      "spread_liquidity": 4.23,
      "momentum_consistency": 2.73,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.69,
      "vwap": 8.7121,
      "vwap_slope": -0.0278,
      "rvol": 0.22,
      "volume_acceleration": 1.83,
      "premarket_volume": 107924.0,
      "momentum_pct": -0.11,
      "consolidation_tightness_pct": 0.58,
      "distance_from_pm_high_pct": 1.14,
      "extension_from_vwap_pct": -0.25,
      "spread_pct": 0.23
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 8.79,
    "pm_low": 8.66
  },
  {
    "symbol": "SWBI",
    "total_score": 46.25,
    "raw_score": 49.03,
    "breakdown": {
      "price_quality": 2.8,
      "volume_quality": 10.45,
      "rvol": 0.42,
      "volume_acceleration": 2.66,
      "price_momentum": 0.25,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.6,
      "spread_liquidity": 4.45,
      "momentum_consistency": 3.2,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.2,
      "vwap": 12.1979,
      "vwap_slope": -0.0004,
      "rvol": 0.17,
      "volume_acceleration": 1.27,
      "premarket_volume": 87080.0,
      "momentum_pct": 0.16,
      "consolidation_tightness_pct": 0.41,
      "distance_from_pm_high_pct": 0.53,
      "extension_from_vwap_pct": 0.02,
      "spread_pct": 0.16
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 12.265,
    "pm_low": 12.15
  },
  {
    "symbol": "GOOS",
    "total_score": 46.17,
    "raw_score": 48.94,
    "breakdown": {
      "price_quality": 3.19,
      "volume_quality": 4.02,
      "rvol": 0.16,
      "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.86,
      "spread_liquidity": 4.59,
      "momentum_consistency": 2.5,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.185,
      "vwap": 8.184,
      "vwap_slope": 0.0028,
      "rvol": 0.07,
      "volume_acceleration": 0.64,
      "premarket_volume": 33502.0,
      "momentum_pct": -0.06,
      "consolidation_tightness_pct": 0.12,
      "distance_from_pm_high_pct": 0.18,
      "extension_from_vwap_pct": 0.01,
      "spread_pct": 0.12
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 8.2,
    "pm_low": 8.165
  },
  {
    "symbol": "NMFC",
    "total_score": 46.01,
    "raw_score": 48.77,
    "breakdown": {
      "price_quality": 2.46,
      "volume_quality": 2.84,
      "rvol": 0.11,
      "volume_acceleration": 3.04,
      "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.55,
      "momentum_consistency": 3.52,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.455,
      "vwap": 7.4539,
      "vwap_slope": 0.0066,
      "rvol": 0.05,
      "volume_acceleration": 0.87,
      "premarket_volume": 23672.0,
      "momentum_pct": -0.07,
      "consolidation_tightness_pct": 0.2,
      "distance_from_pm_high_pct": 0.2,
      "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.47,
    "pm_low": 7.4301
  },
  {
    "symbol": "BTGO",
    "total_score": 45.93,
    "raw_score": 48.69,
    "breakdown": {
      "price_quality": 2.52,
      "volume_quality": 12.0,
      "rvol": 0.55,
      "volume_acceleration": 9.02,
      "price_momentum": 0.2,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.21,
      "spread_liquidity": 4.11,
      "momentum_consistency": 2.67,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.52,
      "vwap": 7.5279,
      "vwap_slope": -0.0075,
      "rvol": 0.23,
      "volume_acceleration": 1.9,
      "premarket_volume": 115578.0,
      "momentum_pct": 0.13,
      "consolidation_tightness_pct": 0.47,
      "distance_from_pm_high_pct": 1.05,
      "extension_from_vwap_pct": -0.1,
      "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.6,
    "pm_low": 7.49
  },
  {
    "symbol": "ACHR",
    "total_score": 45.9,
    "raw_score": 48.66,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 6.42,
      "volume_acceleration": 3.26,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.48,
      "spread_liquidity": 4.42,
      "momentum_consistency": 3.17,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.75,
      "vwap": 5.7589,
      "vwap_slope": -0.0019,
      "rvol": 2.41,
      "volume_acceleration": 0.94,
      "premarket_volume": 1203584.0,
      "momentum_pct": -0.17,
      "consolidation_tightness_pct": 0.35,
      "distance_from_pm_high_pct": 0.69,
      "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.79,
    "pm_low": 5.74
  },
  {
    "symbol": "LCUT",
    "total_score": 45.86,
    "raw_score": 48.62,
    "breakdown": {
      "price_quality": 3.94,
      "volume_quality": 3.75,
      "rvol": 0.15,
      "volume_acceleration": 1.97,
      "price_momentum": 0.17,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.58,
      "spread_liquidity": 3.51,
      "momentum_consistency": 3.14,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.94,
      "vwap": 8.9042,
      "vwap_slope": 0.0102,
      "rvol": 0.06,
      "volume_acceleration": 0.57,
      "premarket_volume": 31243.0,
      "momentum_pct": 0.11,
      "consolidation_tightness_pct": 0.34,
      "distance_from_pm_high_pct": 0.56,
      "extension_from_vwap_pct": 0.4,
      "spread_pct": 0.45
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 8.9899,
    "pm_low": 8.84
  },
  {
    "symbol": "OEC",
    "total_score": 45.84,
    "raw_score": 48.59,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 3.0,
      "rvol": 0.12,
      "volume_acceleration": 10,
      "price_momentum": 0.13,
      "price_structure": 12,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.25,
      "spread_liquidity": 4.44,
      "momentum_consistency": 2.15,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.975,
      "vwap": 5.9913,
      "vwap_slope": -0.0286,
      "rvol": 0.05,
      "volume_acceleration": 3.37,
      "premarket_volume": 24979.0,
      "momentum_pct": 0.08,
      "consolidation_tightness_pct": 0.25,
      "distance_from_pm_high_pct": 0.99,
      "extension_from_vwap_pct": -0.27,
      "spread_pct": 0.17
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 6.035,
    "pm_low": 5.95
  },
  {
    "symbol": "ACVA",
    "total_score": 45.81,
    "raw_score": 48.56,
    "breakdown": {
      "price_quality": 1.74,
      "volume_quality": 12.0,
      "rvol": 1.32,
      "volume_acceleration": 1.53,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.61,
      "spread_liquidity": 4.51,
      "momentum_consistency": 2.25,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.745,
      "vwap": 6.7486,
      "vwap_slope": 0.0002,
      "rvol": 0.55,
      "volume_acceleration": 0.44,
      "premarket_volume": 274799.0,
      "momentum_pct": -0.15,
      "consolidation_tightness_pct": 0.22,
      "distance_from_pm_high_pct": 0.52,
      "extension_from_vwap_pct": -0.05,
      "spread_pct": 0.15
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": true
    },
    "pm_high": 6.78,
    "pm_low": 6.715
  },
  {
    "symbol": "ECVT",
    "total_score": 45.77,
    "raw_score": 48.51,
    "breakdown": {
      "price_quality": 4.87,
      "volume_quality": 9.04,
      "rvol": 0.36,
      "volume_acceleration": 2.52,
      "price_momentum": 0.07,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.67,
      "spread_liquidity": 4.67,
      "momentum_consistency": 2.11,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.13,
      "vwap": 10.1201,
      "vwap_slope": -0.0018,
      "rvol": 0.15,
      "volume_acceleration": 0.72,
      "premarket_volume": 75339.0,
      "momentum_pct": 0.05,
      "consolidation_tightness_pct": 0.05,
      "distance_from_pm_high_pct": 0.44,
      "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": false
    },
    "pm_high": 10.175,
    "pm_low": 10.09
  },
  {
    "symbol": "SXC",
    "total_score": 45.76,
    "raw_score": 48.5,
    "breakdown": {
      "price_quality": 4.97,
      "volume_quality": 10.35,
      "rvol": 0.41,
      "volume_acceleration": 9.26,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.19,
      "spread_liquidity": 4.67,
      "momentum_consistency": 1.25,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.025,
      "vwap": 10.0643,
      "vwap_slope": -0.0052,
      "rvol": 0.17,
      "volume_acceleration": 1.93,
      "premarket_volume": 86219.0,
      "momentum_pct": -0.3,
      "consolidation_tightness_pct": 0.4,
      "distance_from_pm_high_pct": 1.09,
      "extension_from_vwap_pct": -0.39,
      "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.135,
    "pm_low": 10.015
  },
  {
    "symbol": "ALMU",
    "total_score": 45.52,
    "raw_score": 48.25,
    "breakdown": {
      "price_quality": 2.31,
      "volume_quality": 4.14,
      "rvol": 0.17,
      "volume_acceleration": 3.58,
      "price_momentum": 0.24,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.83,
      "spread_liquidity": 2.11,
      "momentum_consistency": 3.49,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.69,
      "vwap": 12.6593,
      "vwap_slope": 0.0033,
      "rvol": 0.07,
      "volume_acceleration": 1.36,
      "premarket_volume": 34466.0,
      "momentum_pct": 0.16,
      "consolidation_tightness_pct": 0.32,
      "distance_from_pm_high_pct": 0.23,
      "extension_from_vwap_pct": 0.24,
      "spread_pct": 0.87
    },
    "flags": {
      "meets_min_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.7195,
    "pm_low": 12.6
  },
  {
    "symbol": "ALHC",
    "total_score": 45.49,
    "raw_score": 48.22,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 1.82,
      "volume_acceleration": 8.32,
      "price_momentum": 0.06,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.18,
      "spread_liquidity": 4.75,
      "momentum_consistency": 2.18,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.585,
      "vwap": 13.6269,
      "vwap_slope": -0.0268,
      "rvol": 0.76,
      "volume_acceleration": 1.83,
      "premarket_volume": 379985.0,
      "momentum_pct": 0.04,
      "consolidation_tightness_pct": 0.33,
      "distance_from_pm_high_pct": 1.09,
      "extension_from_vwap_pct": -0.31,
      "spread_pct": 0.07
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 13.735,
    "pm_low": 13.5
  },
  {
    "symbol": "OPRX",
    "total_score": 45.44,
    "raw_score": 48.17,
    "breakdown": {
      "price_quality": 3.02,
      "volume_quality": 2.5,
      "rvol": 0.1,
      "volume_acceleration": 3.31,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.81,
      "spread_liquidity": 3.34,
      "momentum_consistency": 3.69,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.02,
      "vwap": 7.9953,
      "vwap_slope": 0.0234,
      "rvol": 0.04,
      "volume_acceleration": 0.95,
      "premarket_volume": 20812.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.62,
      "distance_from_pm_high_pct": 0.25,
      "extension_from_vwap_pct": 0.31,
      "spread_pct": 0.5
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 8.04,
    "pm_low": 7.94
  },
  {
    "symbol": "TDOC",
    "total_score": 45.37,
    "raw_score": 48.09,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 1.36,
      "volume_acceleration": 9.15,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.54,
      "spread_liquidity": 4.49,
      "momentum_consistency": 1.66,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.47,
      "vwap": 6.4919,
      "vwap_slope": -0.0025,
      "rvol": 0.57,
      "volume_acceleration": 1.92,
      "premarket_volume": 283216.0,
      "momentum_pct": -0.08,
      "consolidation_tightness_pct": 0.15,
      "distance_from_pm_high_pct": 0.61,
      "extension_from_vwap_pct": -0.34,
      "spread_pct": 0.15
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 6.51,
    "pm_low": 6.47
  },
  {
    "symbol": "GMRS",
    "total_score": 45.31,
    "raw_score": 48.03,
    "breakdown": {
      "price_quality": 1.9,
      "volume_quality": 4.07,
      "rvol": 0.16,
      "volume_acceleration": 2.17,
      "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.0,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.1,
      "vwap": 13.0652,
      "vwap_slope": 0.0223,
      "rvol": 0.07,
      "volume_acceleration": 0.62,
      "premarket_volume": 33914.0,
      "momentum_pct": -0.23,
      "consolidation_tightness_pct": 0.23,
      "distance_from_pm_high_pct": 0.23,
      "extension_from_vwap_pct": 0.27,
      "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.13,
    "pm_low": 12.99
  },
  {
    "symbol": "TU",
    "total_score": 45.18,
    "raw_score": 47.89,
    "breakdown": {
      "price_quality": 4.75,
      "volume_quality": 12.0,
      "rvol": 3.28,
      "volume_acceleration": 2.17,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.77,
      "spread_liquidity": 4.66,
      "momentum_consistency": 2.86,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.75,
      "vwap": 9.7552,
      "vwap_slope": -0.0006,
      "rvol": 1.37,
      "volume_acceleration": 0.62,
      "premarket_volume": 683907.0,
      "momentum_pct": -0.05,
      "consolidation_tightness_pct": 0.21,
      "distance_from_pm_high_pct": 0.31,
      "extension_from_vwap_pct": -0.05,
      "spread_pct": 0.1
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 9.78,
    "pm_low": 9.735
  },
  {
    "symbol": "BYND",
    "total_score": 44.76,
    "raw_score": 47.45,
    "breakdown": {
      "price_quality": 3.67,
      "volume_quality": 12.0,
      "rvol": 0.75,
      "volume_acceleration": 5.42,
      "price_momentum": 0.42,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.02,
      "spread_liquidity": 4.71,
      "momentum_consistency": 3.05,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.3298,
      "vwap": 11.3533,
      "vwap_slope": -0.0208,
      "rvol": 0.31,
      "volume_acceleration": 1.54,
      "premarket_volume": 157081.0,
      "momentum_pct": 0.28,
      "consolidation_tightness_pct": 0.35,
      "distance_from_pm_high_pct": 1.31,
      "extension_from_vwap_pct": -0.21,
      "spread_pct": 0.09
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 11.48,
    "pm_low": 11.265
  },
  {
    "symbol": "TRAK",
    "total_score": 44.69,
    "raw_score": 47.37,
    "breakdown": {
      "price_quality": 2.93,
      "volume_quality": 3.26,
      "rvol": 0.13,
      "volume_acceleration": 2.2,
      "price_momentum": 0.34,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.67,
      "spread_liquidity": 3.32,
      "momentum_consistency": 3.11,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.93,
      "vwap": 7.918,
      "vwap_slope": 0.0244,
      "rvol": 0.05,
      "volume_acceleration": 0.63,
      "premarket_volume": 27183.0,
      "momentum_pct": 0.23,
      "consolidation_tightness_pct": 0.5,
      "distance_from_pm_high_pct": 0.44,
      "extension_from_vwap_pct": 0.15,
      "spread_pct": 0.5
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 7.965,
    "pm_low": 7.88
  },
  {
    "symbol": "CRML",
    "total_score": 44.56,
    "raw_score": 47.23,
    "breakdown": {
      "price_quality": 2.42,
      "volume_quality": 12.0,
      "rvol": 1.57,
      "volume_acceleration": 6.67,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 4.9,
      "spread_liquidity": 4.55,
      "momentum_consistency": 2.72,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.42,
      "vwap": 7.4692,
      "vwap_slope": -0.0258,
      "rvol": 0.65,
      "volume_acceleration": 1.67,
      "premarket_volume": 326758.0,
      "momentum_pct": -0.27,
      "consolidation_tightness_pct": 0.4,
      "distance_from_pm_high_pct": 1.46,
      "extension_from_vwap_pct": -0.66,
      "spread_pct": 0.13
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 7.53,
    "pm_low": 7.42
  },
  {
    "symbol": "HLIT",
    "total_score": 44.49,
    "raw_score": 47.16,
    "breakdown": {
      "price_quality": 3.37,
      "volume_quality": 7.47,
      "rvol": 0.3,
      "volume_acceleration": 2.99,
      "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.71,
      "momentum_consistency": 2.91,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.63,
      "vwap": 11.6382,
      "vwap_slope": 0.0016,
      "rvol": 0.12,
      "volume_acceleration": 0.86,
      "premarket_volume": 62257.0,
      "momentum_pct": -0.09,
      "consolidation_tightness_pct": 0.13,
      "distance_from_pm_high_pct": 0.26,
      "extension_from_vwap_pct": -0.07,
      "spread_pct": 0.09
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": true
    },
    "pm_high": 11.66,
    "pm_low": 11.62
  },
  {
    "symbol": "FLNC",
    "total_score": 44.43,
    "raw_score": 47.09,
    "breakdown": {
      "price_quality": 4.68,
      "volume_quality": 12.0,
      "rvol": 2.2,
      "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.35,
      "spread_liquidity": 4.68,
      "momentum_consistency": 2.34,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.325,
      "vwap": 10.3723,
      "vwap_slope": -0.0054,
      "rvol": 0.92,
      "volume_acceleration": 0.99,
      "premarket_volume": 458205.0,
      "momentum_pct": -0.15,
      "consolidation_tightness_pct": 0.28,
      "distance_from_pm_high_pct": 0.86,
      "extension_from_vwap_pct": -0.46,
      "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.415,
    "pm_low": 10.315
  },
  {
    "symbol": "SLS",
    "total_score": 44.29,
    "raw_score": 46.95,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 4.71,
      "volume_acceleration": 3.09,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.21,
      "spread_liquidity": 4.51,
      "momentum_consistency": 3.53,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.66,
      "vwap": 13.6684,
      "vwap_slope": -0.0022,
      "rvol": 1.77,
      "volume_acceleration": 0.89,
      "premarket_volume": 883357.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.33,
      "distance_from_pm_high_pct": 1.05,
      "extension_from_vwap_pct": -0.06,
      "spread_pct": 0.15
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 13.805,
    "pm_low": 13.55
  },
  {
    "symbol": "GLAS",
    "total_score": 43.81,
    "raw_score": 46.44,
    "breakdown": {
      "price_quality": 3.67,
      "volume_quality": 10.83,
      "rvol": 0.43,
      "volume_acceleration": 2.24,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.57,
      "spread_liquidity": 1.55,
      "momentum_consistency": 2.94,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.67,
      "vwap": 8.6662,
      "vwap_slope": -0.0054,
      "rvol": 0.18,
      "volume_acceleration": 0.65,
      "premarket_volume": 90251.0,
      "momentum_pct": -0.23,
      "consolidation_tightness_pct": 0.69,
      "distance_from_pm_high_pct": 0.57,
      "extension_from_vwap_pct": 0.04,
      "spread_pct": 1.04
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 8.72,
    "pm_low": 8.61
  },
  {
    "symbol": "STUB",
    "total_score": 43.76,
    "raw_score": 46.39,
    "breakdown": {
      "price_quality": 1.63,
      "volume_quality": 12.0,
      "rvol": 5.63,
      "volume_acceleration": 2.53,
      "price_momentum": 0.11,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.11,
      "spread_liquidity": 4.5,
      "momentum_consistency": 2.48,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.63,
      "vwap": 6.6749,
      "vwap_slope": -0.0053,
      "rvol": 2.11,
      "volume_acceleration": 0.73,
      "premarket_volume": 1055843.0,
      "momentum_pct": 0.08,
      "consolidation_tightness_pct": 0.15,
      "distance_from_pm_high_pct": 1.19,
      "extension_from_vwap_pct": -0.67,
      "spread_pct": 0.15
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 6.71,
    "pm_low": 6.615
  },
  {
    "symbol": "QS",
    "total_score": 43.61,
    "raw_score": 46.22,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 5.26,
      "volume_acceleration": 1.85,
      "price_momentum": 0.14,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.52,
      "spread_liquidity": 4.39,
      "momentum_consistency": 3.17,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.435,
      "vwap": 5.4435,
      "vwap_slope": -0.0015,
      "rvol": 1.97,
      "volume_acceleration": 0.53,
      "premarket_volume": 985744.0,
      "momentum_pct": 0.09,
      "consolidation_tightness_pct": 0.28,
      "distance_from_pm_high_pct": 0.64,
      "extension_from_vwap_pct": -0.16,
      "spread_pct": 0.18
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 5.47,
    "pm_low": 5.425
  },
  {
    "symbol": "DBI",
    "total_score": 43.34,
    "raw_score": 45.94,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 4.71,
      "rvol": 0.19,
      "volume_acceleration": 1.53,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.78,
      "spread_liquidity": 4.36,
      "momentum_consistency": 1.47,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.215,
      "vwap": 5.2022,
      "vwap_slope": 0.0072,
      "rvol": 0.08,
      "volume_acceleration": 1.15,
      "premarket_volume": 39219.0,
      "momentum_pct": -0.19,
      "consolidation_tightness_pct": 0.29,
      "distance_from_pm_high_pct": 0.29,
      "extension_from_vwap_pct": 0.25,
      "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.23,
    "pm_low": 5.18
  },
  {
    "symbol": "FCEL",
    "total_score": 43.32,
    "raw_score": 45.92,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 4.78,
      "volume_acceleration": 2.52,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.19,
      "spread_liquidity": 4.77,
      "momentum_consistency": 2.76,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.685,
      "vwap": 14.7402,
      "vwap_slope": -0.0191,
      "rvol": 1.79,
      "volume_acceleration": 1.25,
      "premarket_volume": 895650.0,
      "momentum_pct": -0.1,
      "consolidation_tightness_pct": 0.31,
      "distance_from_pm_high_pct": 1.08,
      "extension_from_vwap_pct": -0.37,
      "spread_pct": 0.07
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 14.8458,
    "pm_low": 14.65
  },
  {
    "symbol": "BBDC",
    "total_score": 43.09,
    "raw_score": 45.67,
    "breakdown": {
      "price_quality": 4.01,
      "volume_quality": 6.46,
      "rvol": 0.26,
      "volume_acceleration": 3.08,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.75,
      "spread_liquidity": 4.63,
      "momentum_consistency": 1.88,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.005,
      "vwap": 9.0126,
      "vwap_slope": 0.0016,
      "rvol": 0.11,
      "volume_acceleration": 0.89,
      "premarket_volume": 53838.0,
      "momentum_pct": -0.11,
      "consolidation_tightness_pct": 0.17,
      "distance_from_pm_high_pct": 0.33,
      "extension_from_vwap_pct": -0.08,
      "spread_pct": 0.11
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": true
    },
    "pm_high": 9.035,
    "pm_low": 8.985
  },
  {
    "symbol": "USDE",
    "total_score": 43.07,
    "raw_score": 45.65,
    "breakdown": {
      "price_quality": 3.65,
      "volume_quality": 12.0,
      "rvol": 3.03,
      "volume_acceleration": 2.71,
      "price_momentum": 0.87,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 4.23,
      "spread_liquidity": 3.46,
      "momentum_consistency": 3.31,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.65,
      "vwap": 8.7236,
      "vwap_slope": -0.025,
      "rvol": 1.26,
      "volume_acceleration": 0.78,
      "premarket_volume": 630240.0,
      "momentum_pct": 0.58,
      "consolidation_tightness_pct": 1.16,
      "distance_from_pm_high_pct": 2.37,
      "extension_from_vwap_pct": -0.84,
      "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": 8.8596,
    "pm_low": 8.5
  },
  {
    "symbol": "HUN",
    "total_score": 43.04,
    "raw_score": 45.63,
    "breakdown": {
      "price_quality": 4.38,
      "volume_quality": 12.0,
      "rvol": 0.84,
      "volume_acceleration": 3.02,
      "price_momentum": 0.24,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.64,
      "spread_liquidity": 4.64,
      "momentum_consistency": 2.46,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.3799,
      "vwap": 9.3823,
      "vwap_slope": -0.0017,
      "rvol": 0.35,
      "volume_acceleration": 1.3,
      "premarket_volume": 175184.0,
      "momentum_pct": 0.16,
      "consolidation_tightness_pct": 0.16,
      "distance_from_pm_high_pct": 0.48,
      "extension_from_vwap_pct": -0.03,
      "spread_pct": 0.11
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 9.425,
    "pm_low": 9.35
  },
  {
    "symbol": "LNSR",
    "total_score": 43.03,
    "raw_score": 45.61,
    "breakdown": {
      "price_quality": 3.3,
      "volume_quality": 5.22,
      "rvol": 0.21,
      "volume_acceleration": 3.4,
      "price_momentum": 0.54,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.77,
      "spread_liquidity": 4.2,
      "momentum_consistency": 3.76,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.3,
      "vwap": 8.2495,
      "vwap_slope": -0.0181,
      "rvol": 0.09,
      "volume_acceleration": 0.98,
      "premarket_volume": 43535.0,
      "momentum_pct": 0.36,
      "consolidation_tightness_pct": 0.78,
      "distance_from_pm_high_pct": 0.3,
      "extension_from_vwap_pct": 0.61,
      "spread_pct": 0.24
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 8.325,
    "pm_low": 8.21
  },
  {
    "symbol": "NXE",
    "total_score": 42.99,
    "raw_score": 45.56,
    "breakdown": {
      "price_quality": 4.44,
      "volume_quality": 12.0,
      "rvol": 1.27,
      "volume_acceleration": 2.97,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.45,
      "spread_liquidity": 4.68,
      "momentum_consistency": 2.34,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.562,
      "vwap": 10.5925,
      "vwap_slope": -0.0074,
      "rvol": 0.53,
      "volume_acceleration": 0.85,
      "premarket_volume": 265320.0,
      "momentum_pct": -0.08,
      "consolidation_tightness_pct": 0.14,
      "distance_from_pm_high_pct": 0.73,
      "extension_from_vwap_pct": -0.29,
      "spread_pct": 0.09
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 10.64,
    "pm_low": 10.552
  },
  {
    "symbol": "HSLV",
    "total_score": 42.91,
    "raw_score": 45.48,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 5.29,
      "rvol": 0.21,
      "volume_acceleration": 5.01,
      "price_momentum": 1.42,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 6,
      "spread_liquidity": 4.43,
      "momentum_consistency": 2.42,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.86,
      "vwap": 5.8259,
      "vwap_slope": -0.0058,
      "rvol": 0.09,
      "volume_acceleration": 1.5,
      "premarket_volume": 44047.0,
      "momentum_pct": 0.95,
      "consolidation_tightness_pct": 0.95,
      "distance_from_pm_high_pct": 0.0,
      "extension_from_vwap_pct": 0.59,
      "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.86,
    "pm_low": 5.805
  },
  {
    "symbol": "UPWK",
    "total_score": 42.58,
    "raw_score": 45.14,
    "breakdown": {
      "price_quality": 4.21,
      "volume_quality": 12.0,
      "rvol": 0.93,
      "volume_acceleration": 3.02,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.55,
      "spread_liquidity": 4.64,
      "momentum_consistency": 2.39,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.21,
      "vwap": 9.2345,
      "vwap_slope": -0.0028,
      "rvol": 0.39,
      "volume_acceleration": 0.87,
      "premarket_volume": 193852.0,
      "momentum_pct": -0.05,
      "consolidation_tightness_pct": 0.22,
      "distance_from_pm_high_pct": 0.59,
      "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.265,
    "pm_low": 9.195
  },
  {
    "symbol": "HAFN",
    "total_score": 42.56,
    "raw_score": 45.12,
    "breakdown": {
      "price_quality": 3.98,
      "volume_quality": 12.0,
      "rvol": 1.08,
      "volume_acceleration": 3.67,
      "price_momentum": 0.08,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.58,
      "spread_liquidity": 4.63,
      "momentum_consistency": 1.69,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.98,
      "vwap": 9.0106,
      "vwap_slope": -0.0034,
      "rvol": 0.45,
      "volume_acceleration": 1.06,
      "premarket_volume": 224036.0,
      "momentum_pct": 0.06,
      "consolidation_tightness_pct": 0.11,
      "distance_from_pm_high_pct": 0.55,
      "extension_from_vwap_pct": -0.34,
      "spread_pct": 0.11
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 9.03,
    "pm_low": 8.97
  },
  {
    "symbol": "MASS",
    "total_score": 42.38,
    "raw_score": 44.92,
    "breakdown": {
      "price_quality": 4.96,
      "volume_quality": 3.27,
      "rvol": 0.13,
      "volume_acceleration": 2.09,
      "price_momentum": 0.15,
      "price_structure": 12,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.33,
      "spread_liquidity": 4.33,
      "momentum_consistency": 2.67,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.96,
      "vwap": 9.9676,
      "vwap_slope": -0.0036,
      "rvol": 0.05,
      "volume_acceleration": 0.6,
      "premarket_volume": 27220.0,
      "momentum_pct": 0.1,
      "consolidation_tightness_pct": 0.25,
      "distance_from_pm_high_pct": 0.9,
      "extension_from_vwap_pct": -0.08,
      "spread_pct": 0.2
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 10.05,
    "pm_low": 9.925
  },
  {
    "symbol": "TGB",
    "total_score": 42.38,
    "raw_score": 44.92,
    "breakdown": {
      "price_quality": 3.31,
      "volume_quality": 12.0,
      "rvol": 1.85,
      "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.46,
      "spread_liquidity": 4.6,
      "momentum_consistency": 1.96,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.31,
      "vwap": 8.3262,
      "vwap_slope": -0.0047,
      "rvol": 0.77,
      "volume_acceleration": 0.96,
      "premarket_volume": 386178.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.18,
      "distance_from_pm_high_pct": 0.72,
      "extension_from_vwap_pct": -0.19,
      "spread_pct": 0.12
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 8.37,
    "pm_low": 8.3
  },
  {
    "symbol": "VG",
    "total_score": 42.37,
    "raw_score": 44.91,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 3.2,
      "volume_acceleration": 1.96,
      "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": 3.31,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.445,
      "vwap": 14.4474,
      "vwap_slope": -0.0031,
      "rvol": 1.33,
      "volume_acceleration": 0.56,
      "premarket_volume": 666846.0,
      "momentum_pct": 0.07,
      "consolidation_tightness_pct": 0.21,
      "distance_from_pm_high_pct": 0.45,
      "extension_from_vwap_pct": -0.02,
      "spread_pct": 0.07
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 14.51,
    "pm_low": 14.41
  },
  {
    "symbol": "INFQ",
    "total_score": 42.19,
    "raw_score": 44.72,
    "breakdown": {
      "price_quality": 2.38,
      "volume_quality": 12.0,
      "rvol": 1.75,
      "volume_acceleration": 2.98,
      "price_momentum": 0.12,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.32,
      "spread_liquidity": 4.74,
      "momentum_consistency": 3.03,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.625,
      "vwap": 12.6494,
      "vwap_slope": -0.0071,
      "rvol": 0.73,
      "volume_acceleration": 0.86,
      "premarket_volume": 364711.0,
      "momentum_pct": 0.08,
      "consolidation_tightness_pct": 0.28,
      "distance_from_pm_high_pct": 0.9,
      "extension_from_vwap_pct": -0.19,
      "spread_pct": 0.08
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 12.74,
    "pm_low": 12.58
  },
  {
    "symbol": "DXC",
    "total_score": 42.13,
    "raw_score": 44.65,
    "breakdown": {
      "price_quality": 3.39,
      "volume_quality": 12.0,
      "rvol": 0.66,
      "volume_acceleration": 3.9,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.17,
      "spread_liquidity": 4.71,
      "momentum_consistency": 2.43,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.61,
      "vwap": 11.6971,
      "vwap_slope": -0.0143,
      "rvol": 0.27,
      "volume_acceleration": 1.12,
      "premarket_volume": 137111.0,
      "momentum_pct": -0.13,
      "consolidation_tightness_pct": 0.34,
      "distance_from_pm_high_pct": 1.11,
      "extension_from_vwap_pct": -0.74,
      "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.74,
    "pm_low": 11.61
  },
  {
    "symbol": "MFA",
    "total_score": 42.0,
    "raw_score": 44.52,
    "breakdown": {
      "price_quality": 3.87,
      "volume_quality": 12.0,
      "rvol": 0.83,
      "volume_acceleration": 3.12,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.75,
      "spread_liquidity": 4.62,
      "momentum_consistency": 1.93,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.87,
      "vwap": 8.885,
      "vwap_slope": -0.0019,
      "rvol": 0.35,
      "volume_acceleration": 1.31,
      "premarket_volume": 172501.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.11,
      "distance_from_pm_high_pct": 0.34,
      "extension_from_vwap_pct": -0.17,
      "spread_pct": 0.11
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 8.9,
    "pm_low": 8.87
  },
  {
    "symbol": "VISN",
    "total_score": 41.99,
    "raw_score": 44.51,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 4.98,
      "volume_acceleration": 1.65,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.54,
      "spread_liquidity": 4.48,
      "momentum_consistency": 1.96,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.3501,
      "vwap": 6.3641,
      "vwap_slope": -0.001,
      "rvol": 1.87,
      "volume_acceleration": 1.17,
      "premarket_volume": 933717.0,
      "momentum_pct": -0.23,
      "consolidation_tightness_pct": 0.31,
      "distance_from_pm_high_pct": 0.61,
      "extension_from_vwap_pct": -0.22,
      "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.3891,
    "pm_low": 6.345
  },
  {
    "symbol": "VSTS",
    "total_score": 41.93,
    "raw_score": 44.45,
    "breakdown": {
      "price_quality": 2.58,
      "volume_quality": 5.37,
      "rvol": 0.21,
      "volume_acceleration": 3.07,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.85,
      "spread_liquidity": 4.73,
      "momentum_consistency": 3.03,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.42,
      "vwap": 12.4217,
      "vwap_slope": 0.002,
      "rvol": 0.09,
      "volume_acceleration": 0.88,
      "premarket_volume": 44772.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.16,
      "distance_from_pm_high_pct": 0.2,
      "extension_from_vwap_pct": -0.01,
      "spread_pct": 0.08
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": true
    },
    "pm_high": 12.4453,
    "pm_low": 12.3902
  },
  {
    "symbol": "PUMP",
    "total_score": 41.83,
    "raw_score": 44.34,
    "breakdown": {
      "price_quality": 3.73,
      "volume_quality": 12.0,
      "rvol": 0.95,
      "volume_acceleration": 2.17,
      "price_momentum": 0.07,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.83,
      "spread_liquidity": 4.7,
      "momentum_consistency": 2.48,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.27,
      "vwap": 11.2713,
      "vwap_slope": -0.0026,
      "rvol": 0.4,
      "volume_acceleration": 0.62,
      "premarket_volume": 198498.0,
      "momentum_pct": 0.04,
      "consolidation_tightness_pct": 0.13,
      "distance_from_pm_high_pct": 0.22,
      "extension_from_vwap_pct": -0.01,
      "spread_pct": 0.09
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 11.295,
    "pm_low": 11.23
  },
  {
    "symbol": "TIC",
    "total_score": 41.78,
    "raw_score": 44.29,
    "breakdown": {
      "price_quality": 4.26,
      "volume_quality": 6.43,
      "rvol": 0.26,
      "volume_acceleration": 1.45,
      "price_momentum": 0.08,
      "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": 1.73,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.255,
      "vwap": 9.258,
      "vwap_slope": 0.0009,
      "rvol": 0.11,
      "volume_acceleration": 0.42,
      "premarket_volume": 53617.0,
      "momentum_pct": 0.05,
      "consolidation_tightness_pct": 0.11,
      "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": false,
      "vwap_rising": true
    },
    "pm_high": 9.275,
    "pm_low": 9.235
  },
  {
    "symbol": "XERS",
    "total_score": 41.74,
    "raw_score": 44.25,
    "breakdown": {
      "price_quality": 3.64,
      "volume_quality": 12.0,
      "rvol": 1.14,
      "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": 4.89,
      "spread_liquidity": 4.61,
      "momentum_consistency": 2.35,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.645,
      "vwap": 8.7227,
      "vwap_slope": -0.0148,
      "rvol": 0.48,
      "volume_acceleration": 0.92,
      "premarket_volume": 237975.0,
      "momentum_pct": -0.12,
      "consolidation_tightness_pct": 0.29,
      "distance_from_pm_high_pct": 1.48,
      "extension_from_vwap_pct": -0.89,
      "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.775,
    "pm_low": 8.635
  },
  {
    "symbol": "CXM",
    "total_score": 41.72,
    "raw_score": 44.23,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 3.2,
      "volume_acceleration": 2.49,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.53,
      "spread_liquidity": 4.48,
      "momentum_consistency": 2.62,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.395,
      "vwap": 6.4001,
      "vwap_slope": -0.0023,
      "rvol": 1.33,
      "volume_acceleration": 0.72,
      "premarket_volume": 667139.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.31,
      "distance_from_pm_high_pct": 0.62,
      "extension_from_vwap_pct": -0.08,
      "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.435,
    "pm_low": 6.355
  },
  {
    "symbol": "PHR",
    "total_score": 41.69,
    "raw_score": 44.19,
    "breakdown": {
      "price_quality": 3.98,
      "volume_quality": 12.0,
      "rvol": 0.51,
      "volume_acceleration": 2.75,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.13,
      "spread_liquidity": 4.4,
      "momentum_consistency": 3.02,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.02,
      "vwap": 11.0607,
      "vwap_slope": -0.003,
      "rvol": 0.21,
      "volume_acceleration": 0.79,
      "premarket_volume": 106353.0,
      "momentum_pct": -0.23,
      "consolidation_tightness_pct": 0.45,
      "distance_from_pm_high_pct": 1.17,
      "extension_from_vwap_pct": -0.37,
      "spread_pct": 0.18
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 11.15,
    "pm_low": 11.0
  },
  {
    "symbol": "UUUU",
    "total_score": 41.61,
    "raw_score": 44.1,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 2.26,
      "volume_acceleration": 3.38,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.04,
      "spread_liquidity": 4.76,
      "momentum_consistency": 2.76,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.0186,
      "vwap": 14.1012,
      "vwap_slope": -0.0183,
      "rvol": 0.94,
      "volume_acceleration": 0.97,
      "premarket_volume": 470050.0,
      "momentum_pct": -0.19,
      "consolidation_tightness_pct": 0.36,
      "distance_from_pm_high_pct": 1.28,
      "extension_from_vwap_pct": -0.59,
      "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.1999,
    "pm_low": 14.015
  },
  {
    "symbol": "IPWR",
    "total_score": 41.56,
    "raw_score": 44.05,
    "breakdown": {
      "price_quality": 0.0,
      "volume_quality": 3.23,
      "rvol": 0.13,
      "volume_acceleration": 10,
      "price_momentum": 1.28,
      "price_structure": 12,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 4.68,
      "spread_liquidity": 0.07,
      "momentum_consistency": 2.67,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 4.735,
      "vwap": 4.7532,
      "vwap_slope": -0.0598,
      "rvol": 0.05,
      "volume_acceleration": 3.33,
      "premarket_volume": 26928.0,
      "momentum_pct": 0.85,
      "consolidation_tightness_pct": 1.43,
      "distance_from_pm_high_pct": 1.76,
      "extension_from_vwap_pct": -0.38,
      "spread_pct": 1.48
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 4.82,
    "pm_low": 4.685
  },
  {
    "symbol": "IE",
    "total_score": 41.54,
    "raw_score": 44.03,
    "breakdown": {
      "price_quality": 4.76,
      "volume_quality": 12.0,
      "rvol": 0.49,
      "volume_acceleration": 2.96,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.16,
      "spread_liquidity": 4.66,
      "momentum_consistency": 1.6,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.755,
      "vwap": 9.7982,
      "vwap_slope": -0.0111,
      "rvol": 0.21,
      "volume_acceleration": 1.3,
      "premarket_volume": 102992.0,
      "momentum_pct": -0.05,
      "consolidation_tightness_pct": 0.19,
      "distance_from_pm_high_pct": 1.12,
      "extension_from_vwap_pct": -0.44,
      "spread_pct": 0.1
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 9.865,
    "pm_low": 9.7512
  },
  {
    "symbol": "FUBO",
    "total_score": 41.49,
    "raw_score": 43.97,
    "breakdown": {
      "price_quality": 3.47,
      "volume_quality": 12.0,
      "rvol": 0.8,
      "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": 4.97,
      "spread_liquidity": 4.42,
      "momentum_consistency": 2.62,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.53,
      "vwap": 11.6117,
      "vwap_slope": -0.006,
      "rvol": 0.33,
      "volume_acceleration": 0.95,
      "premarket_volume": 166533.0,
      "momentum_pct": -0.43,
      "consolidation_tightness_pct": 0.6,
      "distance_from_pm_high_pct": 1.37,
      "extension_from_vwap_pct": -0.7,
      "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.6899,
    "pm_low": 11.53
  },
  {
    "symbol": "MBLY",
    "total_score": 41.41,
    "raw_score": 43.89,
    "breakdown": {
      "price_quality": 3.37,
      "volume_quality": 12.0,
      "rvol": 1.58,
      "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.33,
      "spread_liquidity": 4.6,
      "momentum_consistency": 1.57,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.365,
      "vwap": 8.4029,
      "vwap_slope": -0.0102,
      "rvol": 0.66,
      "volume_acceleration": 0.87,
      "premarket_volume": 328137.0,
      "momentum_pct": -0.06,
      "consolidation_tightness_pct": 0.18,
      "distance_from_pm_high_pct": 0.89,
      "extension_from_vwap_pct": -0.45,
      "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.44,
    "pm_low": 8.365
  },
  {
    "symbol": "WU",
    "total_score": 41.37,
    "raw_score": 43.85,
    "breakdown": {
      "price_quality": 2.24,
      "volume_quality": 12.0,
      "rvol": 2.96,
      "volume_acceleration": 1.69,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.64,
      "spread_liquidity": 4.54,
      "momentum_consistency": 2.39,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.24,
      "vwap": 7.2566,
      "vwap_slope": -0.003,
      "rvol": 1.23,
      "volume_acceleration": 0.48,
      "premarket_volume": 617068.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.28,
      "distance_from_pm_high_pct": 0.48,
      "extension_from_vwap_pct": -0.23,
      "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.275,
    "pm_low": 7.23
  },
  {
    "symbol": "TRIP",
    "total_score": 41.33,
    "raw_score": 43.81,
    "breakdown": {
      "price_quality": 4.4,
      "volume_quality": 12.0,
      "rvol": 1.04,
      "volume_acceleration": 1.99,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.64,
      "spread_liquidity": 4.65,
      "momentum_consistency": 1.68,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.405,
      "vwap": 9.4258,
      "vwap_slope": -0.0028,
      "rvol": 0.43,
      "volume_acceleration": 0.57,
      "premarket_volume": 216967.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.21,
      "distance_from_pm_high_pct": 0.48,
      "extension_from_vwap_pct": -0.22,
      "spread_pct": 0.11
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 9.45,
    "pm_low": 9.4
  },
  {
    "symbol": "ATEC",
    "total_score": 40.92,
    "raw_score": 43.37,
    "breakdown": {
      "price_quality": 4.38,
      "volume_quality": 12.0,
      "rvol": 0.76,
      "volume_acceleration": 1.83,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.72,
      "spread_liquidity": 4.64,
      "momentum_consistency": 1.63,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.385,
      "vwap": 9.3984,
      "vwap_slope": -0.0013,
      "rvol": 0.32,
      "volume_acceleration": 0.53,
      "premarket_volume": 158517.0,
      "momentum_pct": -0.11,
      "consolidation_tightness_pct": 0.16,
      "distance_from_pm_high_pct": 0.37,
      "extension_from_vwap_pct": -0.14,
      "spread_pct": 0.11
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 9.42,
    "pm_low": 9.375
  },
  {
    "symbol": "HOPE",
    "total_score": 40.88,
    "raw_score": 43.33,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 6.63,
      "rvol": 0.27,
      "volume_acceleration": 3.39,
      "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.76,
      "momentum_consistency": 1.66,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.055,
      "vwap": 14.0524,
      "vwap_slope": -0.0006,
      "rvol": 0.11,
      "volume_acceleration": 0.97,
      "premarket_volume": 55269.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.04,
      "distance_from_pm_high_pct": 0.11,
      "extension_from_vwap_pct": 0.02,
      "spread_pct": 0.07
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 14.07,
    "pm_low": 14.03
  },
  {
    "symbol": "FMC",
    "total_score": 40.86,
    "raw_score": 43.31,
    "breakdown": {
      "price_quality": 2.21,
      "volume_quality": 12.0,
      "rvol": 3.48,
      "volume_acceleration": 1.87,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 4.39,
      "spread_liquidity": 4.48,
      "momentum_consistency": 2.48,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.79,
      "vwap": 12.9017,
      "vwap_slope": -0.017,
      "rvol": 1.45,
      "volume_acceleration": 0.54,
      "premarket_volume": 725298.0,
      "momentum_pct": -0.43,
      "consolidation_tightness_pct": 0.62,
      "distance_from_pm_high_pct": 2.14,
      "extension_from_vwap_pct": -0.87,
      "spread_pct": 0.16
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 13.07,
    "pm_low": 12.78
  },
  {
    "symbol": "BGC",
    "total_score": 40.83,
    "raw_score": 43.28,
    "breakdown": {
      "price_quality": 2.88,
      "volume_quality": 12.0,
      "rvol": 0.57,
      "volume_acceleration": 3.41,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.69,
      "spread_liquidity": 4.72,
      "momentum_consistency": 1.6,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.115,
      "vwap": 12.1428,
      "vwap_slope": -0.0056,
      "rvol": 0.24,
      "volume_acceleration": 0.98,
      "premarket_volume": 119573.0,
      "momentum_pct": -0.12,
      "consolidation_tightness_pct": 0.37,
      "distance_from_pm_high_pct": 0.41,
      "extension_from_vwap_pct": -0.23,
      "spread_pct": 0.08
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 12.165,
    "pm_low": 12.105
  },
  {
    "symbol": "MBC",
    "total_score": 40.75,
    "raw_score": 43.19,
    "breakdown": {
      "price_quality": 3.18,
      "volume_quality": 12.0,
      "rvol": 0.88,
      "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": 5.45,
      "spread_liquidity": 4.59,
      "momentum_consistency": 2.18,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.175,
      "vwap": 8.213,
      "vwap_slope": -0.0076,
      "rvol": 0.36,
      "volume_acceleration": 0.72,
      "premarket_volume": 182478.0,
      "momentum_pct": -0.18,
      "consolidation_tightness_pct": 0.49,
      "distance_from_pm_high_pct": 0.73,
      "extension_from_vwap_pct": -0.46,
      "spread_pct": 0.12
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 8.235,
    "pm_low": 8.165
  },
  {
    "symbol": "LZ",
    "total_score": 40.74,
    "raw_score": 43.19,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 1.09,
      "volume_acceleration": 4.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.31,
      "spread_liquidity": 4.48,
      "momentum_consistency": 2.21,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.43,
      "vwap": 6.4644,
      "vwap_slope": -0.0017,
      "rvol": 0.45,
      "volume_acceleration": 1.42,
      "premarket_volume": 227306.0,
      "momentum_pct": -0.39,
      "consolidation_tightness_pct": 0.93,
      "distance_from_pm_high_pct": 0.92,
      "extension_from_vwap_pct": -0.53,
      "spread_pct": 0.16
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 6.49,
    "pm_low": 6.43
  },
  {
    "symbol": "MOB",
    "total_score": 40.73,
    "raw_score": 43.17,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 0.63,
      "volume_acceleration": 2.52,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 3.37,
      "spread_liquidity": 1.08,
      "momentum_consistency": 2.47,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.095,
      "vwap": 5.1127,
      "vwap_slope": 0.0006,
      "rvol": 0.26,
      "volume_acceleration": 0.72,
      "premarket_volume": 131236.0,
      "momentum_pct": -0.1,
      "consolidation_tightness_pct": 0.78,
      "distance_from_pm_high_pct": 3.5,
      "extension_from_vwap_pct": -0.35,
      "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": false,
      "vwap_rising": true
    },
    "pm_high": 5.28,
    "pm_low": 5.0
  },
  {
    "symbol": "HNST",
    "total_score": 40.58,
    "raw_score": 43.02,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 1.02,
      "volume_acceleration": 3.83,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.55,
      "spread_liquidity": 4.43,
      "momentum_consistency": 2.29,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.845,
      "vwap": 5.8562,
      "vwap_slope": -0.0006,
      "rvol": 0.42,
      "volume_acceleration": 1.1,
      "premarket_volume": 211558.0,
      "momentum_pct": -0.26,
      "consolidation_tightness_pct": 0.34,
      "distance_from_pm_high_pct": 0.6,
      "extension_from_vwap_pct": -0.19,
      "spread_pct": 0.17
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 5.88,
    "pm_low": 5.835
  },
  {
    "symbol": "TBCH",
    "total_score": 40.54,
    "raw_score": 42.97,
    "breakdown": {
      "price_quality": 2.84,
      "volume_quality": 2.87,
      "rvol": 0.11,
      "volume_acceleration": 5.41,
      "price_momentum": 0.37,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.75,
      "spread_liquidity": 3.63,
      "momentum_consistency": 2.78,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.16,
      "vwap": 12.157,
      "vwap_slope": -0.0179,
      "rvol": 0.05,
      "volume_acceleration": 1.54,
      "premarket_volume": 23932.0,
      "momentum_pct": 0.25,
      "consolidation_tightness_pct": 0.41,
      "distance_from_pm_high_pct": 0.33,
      "extension_from_vwap_pct": 0.02,
      "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": false
    },
    "pm_high": 12.2,
    "pm_low": 12.12
  },
  {
    "symbol": "NUVB",
    "total_score": 40.49,
    "raw_score": 42.92,
    "breakdown": {
      "price_quality": 1.68,
      "volume_quality": 12.0,
      "rvol": 2.14,
      "volume_acceleration": 3.19,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 4.89,
      "spread_liquidity": 4.5,
      "momentum_consistency": 2.11,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.685,
      "vwap": 6.7319,
      "vwap_slope": -0.0081,
      "rvol": 0.89,
      "volume_acceleration": 0.92,
      "premarket_volume": 446118.0,
      "momentum_pct": -0.37,
      "consolidation_tightness_pct": 0.74,
      "distance_from_pm_high_pct": 1.47,
      "extension_from_vwap_pct": -0.7,
      "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.785,
    "pm_low": 6.68
  },
  {
    "symbol": "RES",
    "total_score": 40.47,
    "raw_score": 42.9,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 0.9,
      "volume_acceleration": 3.43,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.8,
      "spread_liquidity": 4.49,
      "momentum_consistency": 2.39,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.4728,
      "vwap": 6.4742,
      "vwap_slope": -0.0012,
      "rvol": 0.37,
      "volume_acceleration": 0.99,
      "premarket_volume": 186691.0,
      "momentum_pct": -0.03,
      "consolidation_tightness_pct": 0.15,
      "distance_from_pm_high_pct": 0.27,
      "extension_from_vwap_pct": -0.02,
      "spread_pct": 0.15
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 6.49,
    "pm_low": 6.455
  },
  {
    "symbol": "COUR",
    "total_score": 40.43,
    "raw_score": 42.86,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 2.67,
      "volume_acceleration": 3.06,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.27,
      "spread_liquidity": 4.45,
      "momentum_consistency": 1.52,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.065,
      "vwap": 6.0932,
      "vwap_slope": -0.0023,
      "rvol": 1.11,
      "volume_acceleration": 0.88,
      "premarket_volume": 555543.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.33,
      "distance_from_pm_high_pct": 0.98,
      "extension_from_vwap_pct": -0.46,
      "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.125,
    "pm_low": 6.06
  },
  {
    "symbol": "LFST",
    "total_score": 40.39,
    "raw_score": 42.81,
    "breakdown": {
      "price_quality": 2.07,
      "volume_quality": 12.0,
      "rvol": 1.43,
      "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.68,
      "spread_liquidity": 4.74,
      "momentum_consistency": 2.07,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.925,
      "vwap": 12.9481,
      "vwap_slope": -0.0024,
      "rvol": 0.6,
      "volume_acceleration": 0.69,
      "premarket_volume": 297633.0,
      "momentum_pct": -0.12,
      "consolidation_tightness_pct": 0.12,
      "distance_from_pm_high_pct": 0.42,
      "extension_from_vwap_pct": -0.18,
      "spread_pct": 0.08
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 12.98,
    "pm_low": 12.92
  },
  {
    "symbol": "OGN",
    "total_score": 40.31,
    "raw_score": 42.73,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 0.71,
      "volume_acceleration": 3.51,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.95,
      "spread_liquidity": 4.76,
      "momentum_consistency": 1.9,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.77,
      "vwap": 13.7729,
      "vwap_slope": -0.0001,
      "rvol": 0.3,
      "volume_acceleration": 1.35,
      "premarket_volume": 148581.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.07,
      "distance_from_pm_high_pct": 0.07,
      "extension_from_vwap_pct": -0.02,
      "spread_pct": 0.07
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 13.78,
    "pm_low": 13.77
  },
  {
    "symbol": "HLMN",
    "total_score": 40.29,
    "raw_score": 42.7,
    "breakdown": {
      "price_quality": 2.63,
      "volume_quality": 12.0,
      "rvol": 0.59,
      "volume_acceleration": 2.95,
      "price_momentum": 0.2,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.71,
      "spread_liquidity": 4.56,
      "momentum_consistency": 1.66,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.635,
      "vwap": 7.6383,
      "vwap_slope": -0.0013,
      "rvol": 0.25,
      "volume_acceleration": 0.85,
      "premarket_volume": 123771.0,
      "momentum_pct": 0.13,
      "consolidation_tightness_pct": 0.13,
      "distance_from_pm_high_pct": 0.39,
      "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.665,
    "pm_low": 7.625
  },
  {
    "symbol": "RLGT",
    "total_score": 40.28,
    "raw_score": 42.7,
    "breakdown": {
      "price_quality": 3.39,
      "volume_quality": 4.28,
      "rvol": 0.17,
      "volume_acceleration": 3.06,
      "price_momentum": 0.36,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.96,
      "spread_liquidity": 4.21,
      "momentum_consistency": 2.06,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.395,
      "vwap": 8.384,
      "vwap_slope": -0.0022,
      "rvol": 0.07,
      "volume_acceleration": 0.88,
      "premarket_volume": 35683.0,
      "momentum_pct": 0.24,
      "consolidation_tightness_pct": 0.3,
      "distance_from_pm_high_pct": 0.06,
      "extension_from_vwap_pct": 0.13,
      "spread_pct": 0.24
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 8.4,
    "pm_low": 8.3522
  },
  {
    "symbol": "SFL",
    "total_score": 40.27,
    "raw_score": 42.68,
    "breakdown": {
      "price_quality": 2.46,
      "volume_quality": 12.0,
      "rvol": 0.65,
      "volume_acceleration": 1.66,
      "price_momentum": 0.06,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.7,
      "spread_liquidity": 4.73,
      "momentum_consistency": 3.02,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.545,
      "vwap": 12.559,
      "vwap_slope": -0.0006,
      "rvol": 0.27,
      "volume_acceleration": 0.48,
      "premarket_volume": 135625.0,
      "momentum_pct": 0.04,
      "consolidation_tightness_pct": 0.12,
      "distance_from_pm_high_pct": 0.4,
      "extension_from_vwap_pct": -0.11,
      "spread_pct": 0.08
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 12.595,
    "pm_low": 12.535
  },
  {
    "symbol": "VIPS",
    "total_score": 40.16,
    "raw_score": 42.57,
    "breakdown": {
      "price_quality": 1.94,
      "volume_quality": 12.0,
      "rvol": 1.27,
      "volume_acceleration": 3.21,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.65,
      "spread_liquidity": 4.74,
      "momentum_consistency": 1.36,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.065,
      "vwap": 13.0854,
      "vwap_slope": -0.0022,
      "rvol": 0.53,
      "volume_acceleration": 1.32,
      "premarket_volume": 263972.0,
      "momentum_pct": -0.04,
      "consolidation_tightness_pct": 0.08,
      "distance_from_pm_high_pct": 0.46,
      "extension_from_vwap_pct": -0.16,
      "spread_pct": 0.08
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 13.126,
    "pm_low": 13.055
  },
  {
    "symbol": "SSL",
    "total_score": 40.15,
    "raw_score": 42.56,
    "breakdown": {
      "price_quality": 2.6,
      "volume_quality": 11.01,
      "rvol": 0.44,
      "volume_acceleration": 4.25,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.7,
      "spread_liquidity": 4.73,
      "momentum_consistency": 1.44,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.405,
      "vwap": 12.4225,
      "vwap_slope": -0.009,
      "rvol": 0.18,
      "volume_acceleration": 1.42,
      "premarket_volume": 91787.0,
      "momentum_pct": -0.04,
      "consolidation_tightness_pct": 0.12,
      "distance_from_pm_high_pct": 0.4,
      "extension_from_vwap_pct": -0.14,
      "spread_pct": 0.08
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 12.455,
    "pm_low": 12.39
  },
  {
    "symbol": "PSQL",
    "total_score": 40.1,
    "raw_score": 42.51,
    "breakdown": {
      "price_quality": 4.9,
      "volume_quality": 10.59,
      "rvol": 0.42,
      "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.5,
      "spread_liquidity": 3.66,
      "momentum_consistency": 3.11,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.904,
      "vwap": 9.9325,
      "vwap_slope": -0.0022,
      "rvol": 0.18,
      "volume_acceleration": 1.19,
      "premarket_volume": 88254.0,
      "momentum_pct": -0.56,
      "consolidation_tightness_pct": 0.7,
      "distance_from_pm_high_pct": 0.66,
      "extension_from_vwap_pct": -0.29,
      "spread_pct": 0.4
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 9.97,
    "pm_low": 9.9
  },
  {
    "symbol": "GDYN",
    "total_score": 40.09,
    "raw_score": 42.5,
    "breakdown": {
      "price_quality": 3.15,
      "volume_quality": 11.59,
      "rvol": 0.46,
      "volume_acceleration": 2.06,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.68,
      "spread_liquidity": 4.59,
      "momentum_consistency": 2.56,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.155,
      "vwap": 8.1692,
      "vwap_slope": -0.0024,
      "rvol": 0.19,
      "volume_acceleration": 0.59,
      "premarket_volume": 96581.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.12,
      "distance_from_pm_high_pct": 0.43,
      "extension_from_vwap_pct": -0.17,
      "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.19,
    "pm_low": 8.1296
  },
  {
    "symbol": "PRGO",
    "total_score": 40.07,
    "raw_score": 42.47,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 0.82,
      "volume_acceleration": 3.38,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.58,
      "spread_liquidity": 4.76,
      "momentum_consistency": 2.03,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.145,
      "vwap": 14.1903,
      "vwap_slope": -0.005,
      "rvol": 0.34,
      "volume_acceleration": 0.97,
      "premarket_volume": 170354.0,
      "momentum_pct": -0.14,
      "consolidation_tightness_pct": 0.18,
      "distance_from_pm_high_pct": 0.56,
      "extension_from_vwap_pct": -0.32,
      "spread_pct": 0.07
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 14.225,
    "pm_low": 14.145
  },
  {
    "symbol": "SRAD",
    "total_score": 40.03,
    "raw_score": 42.43,
    "breakdown": {
      "price_quality": 1.95,
      "volume_quality": 12.0,
      "rvol": 0.85,
      "volume_acceleration": 1.37,
      "price_momentum": 0.11,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.8,
      "spread_liquidity": 4.74,
      "momentum_consistency": 3.2,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.055,
      "vwap": 13.0581,
      "vwap_slope": -0.0002,
      "rvol": 0.35,
      "volume_acceleration": 0.39,
      "premarket_volume": 177452.0,
      "momentum_pct": 0.08,
      "consolidation_tightness_pct": 0.19,
      "distance_from_pm_high_pct": 0.27,
      "extension_from_vwap_pct": -0.02,
      "spread_pct": 0.08
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 13.09,
    "pm_low": 13.02
  },
  {
    "symbol": "TRLV",
    "total_score": 40.01,
    "raw_score": 42.41,
    "breakdown": {
      "price_quality": 3.06,
      "volume_quality": 12.0,
      "rvol": 1.41,
      "volume_acceleration": 2.08,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 4.67,
      "spread_liquidity": 4.16,
      "momentum_consistency": 2.62,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.935,
      "vwap": 12.0464,
      "vwap_slope": -0.0127,
      "rvol": 0.59,
      "volume_acceleration": 0.6,
      "premarket_volume": 293408.0,
      "momentum_pct": -0.04,
      "consolidation_tightness_pct": 0.42,
      "distance_from_pm_high_pct": 1.77,
      "extension_from_vwap_pct": -0.92,
      "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.15,
    "pm_low": 11.91
  },
  {
    "symbol": "ICL",
    "total_score": 39.94,
    "raw_score": 42.34,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 8.99,
      "rvol": 0.36,
      "volume_acceleration": 6.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.81,
      "spread_liquidity": 4.43,
      "momentum_consistency": 1.89,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.815,
      "vwap": 5.8247,
      "vwap_slope": -0.0025,
      "rvol": 0.15,
      "volume_acceleration": 1.7,
      "premarket_volume": 74934.0,
      "momentum_pct": -0.17,
      "consolidation_tightness_pct": 0.34,
      "distance_from_pm_high_pct": 0.26,
      "extension_from_vwap_pct": -0.17,
      "spread_pct": 0.17
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 5.83,
    "pm_low": 5.81
  },
  {
    "symbol": "JKS",
    "total_score": 39.88,
    "raw_score": 42.27,
    "breakdown": {
      "price_quality": 2.77,
      "volume_quality": 12.0,
      "rvol": 0.52,
      "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.36,
      "spread_liquidity": 4.46,
      "momentum_consistency": 1.96,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.23,
      "vwap": 12.2662,
      "vwap_slope": -0.0042,
      "rvol": 0.22,
      "volume_acceleration": 1.28,
      "premarket_volume": 109144.0,
      "momentum_pct": -0.16,
      "consolidation_tightness_pct": 0.29,
      "distance_from_pm_high_pct": 0.85,
      "extension_from_vwap_pct": -0.3,
      "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.335,
    "pm_low": 12.22
  },
  {
    "symbol": "BHK",
    "total_score": 39.85,
    "raw_score": 42.24,
    "breakdown": {
      "price_quality": 3.93,
      "volume_quality": 3.24,
      "rvol": 0.13,
      "volume_acceleration": 2.91,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.79,
      "spread_liquidity": 4.63,
      "momentum_consistency": 2.0,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.9345,
      "vwap": 8.9474,
      "vwap_slope": 0.0024,
      "rvol": 0.05,
      "volume_acceleration": 1.29,
      "premarket_volume": 26999.0,
      "momentum_pct": -0.17,
      "consolidation_tightness_pct": 0.22,
      "distance_from_pm_high_pct": 0.28,
      "extension_from_vwap_pct": -0.14,
      "spread_pct": 0.11
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": true
    },
    "pm_high": 8.9592,
    "pm_low": 8.93
  },
  {
    "symbol": "VERX",
    "total_score": 39.79,
    "raw_score": 42.17,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 0.71,
      "volume_acceleration": 2.43,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.41,
      "spread_liquidity": 4.76,
      "momentum_consistency": 2.96,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.835,
      "vwap": 13.8912,
      "vwap_slope": -0.0096,
      "rvol": 0.29,
      "volume_acceleration": 0.7,
      "premarket_volume": 147498.0,
      "momentum_pct": -0.14,
      "consolidation_tightness_pct": 0.22,
      "distance_from_pm_high_pct": 0.79,
      "extension_from_vwap_pct": -0.4,
      "spread_pct": 0.07
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 13.945,
    "pm_low": 13.835
  },
  {
    "symbol": "BLZE",
    "total_score": 39.79,
    "raw_score": 42.17,
    "breakdown": {
      "price_quality": 1.86,
      "volume_quality": 12.0,
      "rvol": 0.55,
      "volume_acceleration": 3.69,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.1,
      "spread_liquidity": 4.24,
      "momentum_consistency": 2.33,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.135,
      "vwap": 13.2394,
      "vwap_slope": -0.0192,
      "rvol": 0.23,
      "volume_acceleration": 1.06,
      "premarket_volume": 113673.0,
      "momentum_pct": -0.19,
      "consolidation_tightness_pct": 0.3,
      "distance_from_pm_high_pct": 1.2,
      "extension_from_vwap_pct": -0.79,
      "spread_pct": 0.23
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 13.295,
    "pm_low": 13.13
  },
  {
    "symbol": "ARCO",
    "total_score": 39.7,
    "raw_score": 42.09,
    "breakdown": {
      "price_quality": 3.28,
      "volume_quality": 12.0,
      "rvol": 0.8,
      "volume_acceleration": 1.63,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.46,
      "spread_liquidity": 4.6,
      "momentum_consistency": 1.93,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.275,
      "vwap": 8.2962,
      "vwap_slope": -0.0016,
      "rvol": 0.33,
      "volume_acceleration": 0.47,
      "premarket_volume": 165943.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.12,
      "distance_from_pm_high_pct": 0.72,
      "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": false
    },
    "pm_high": 8.335,
    "pm_low": 8.26
  },
  {
    "symbol": "VHC",
    "total_score": 39.68,
    "raw_score": 42.06,
    "breakdown": {
      "price_quality": 3.74,
      "volume_quality": 12.0,
      "rvol": 0.57,
      "volume_acceleration": 3.95,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 4.12,
      "spread_liquidity": 3.22,
      "momentum_consistency": 2.06,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.26,
      "vwap": 11.3353,
      "vwap_slope": -0.0193,
      "rvol": 0.24,
      "volume_acceleration": 1.13,
      "premarket_volume": 119693.0,
      "momentum_pct": -0.35,
      "consolidation_tightness_pct": 0.97,
      "distance_from_pm_high_pct": 2.51,
      "extension_from_vwap_pct": -0.66,
      "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": false,
      "vwap_rising": false
    },
    "pm_high": 11.55,
    "pm_low": 10.95
  },
  {
    "symbol": "RILY",
    "total_score": 39.67,
    "raw_score": 42.05,
    "breakdown": {
      "price_quality": 2.05,
      "volume_quality": 5.94,
      "rvol": 0.24,
      "volume_acceleration": 1.07,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.67,
      "spread_liquidity": 4.05,
      "momentum_consistency": 3.43,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.049,
      "vwap": 7.0518,
      "vwap_slope": 0.0023,
      "rvol": 0.1,
      "volume_acceleration": 0.31,
      "premarket_volume": 49515.0,
      "momentum_pct": -0.09,
      "consolidation_tightness_pct": 0.3,
      "distance_from_pm_high_pct": 0.44,
      "extension_from_vwap_pct": -0.04,
      "spread_pct": 0.28
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": true
    },
    "pm_high": 7.08,
    "pm_low": 7.02
  },
  {
    "symbol": "DFNS",
    "total_score": 39.64,
    "raw_score": 42.02,
    "breakdown": {
      "price_quality": 4.81,
      "volume_quality": 2.87,
      "rvol": 0.11,
      "volume_acceleration": 1.76,
      "price_momentum": 0.0,
      "price_structure": 12,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 4.69,
      "spread_liquidity": 2.06,
      "momentum_consistency": 3.71,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.1891,
      "vwap": 10.2466,
      "vwap_slope": -0.0244,
      "rvol": 0.05,
      "volume_acceleration": 0.5,
      "premarket_volume": 23911.0,
      "momentum_pct": -0.2,
      "consolidation_tightness_pct": 0.34,
      "distance_from_pm_high_pct": 1.74,
      "extension_from_vwap_pct": -0.56,
      "spread_pct": 0.88
    },
    "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.37,
    "pm_low": 10.1001
  },
  {
    "symbol": "KD",
    "total_score": 39.43,
    "raw_score": 41.8,
    "breakdown": {
      "price_quality": 1.77,
      "volume_quality": 12.0,
      "rvol": 1.53,
      "volume_acceleration": 2.21,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.24,
      "spread_liquidity": 4.75,
      "momentum_consistency": 1.9,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.23,
      "vwap": 13.3054,
      "vwap_slope": -0.0109,
      "rvol": 0.64,
      "volume_acceleration": 0.64,
      "premarket_volume": 318894.0,
      "momentum_pct": -0.23,
      "consolidation_tightness_pct": 0.26,
      "distance_from_pm_high_pct": 1.01,
      "extension_from_vwap_pct": -0.57,
      "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.365,
    "pm_low": 13.23
  },
  {
    "symbol": "ARDT",
    "total_score": 39.39,
    "raw_score": 41.75,
    "breakdown": {
      "price_quality": 4.17,
      "volume_quality": 6.59,
      "rvol": 0.26,
      "volume_acceleration": 5.13,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.66,
      "spread_liquidity": 4.38,
      "momentum_consistency": 3.16,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.83,
      "vwap": 10.8478,
      "vwap_slope": -0.0009,
      "rvol": 0.11,
      "volume_acceleration": 1.51,
      "premarket_volume": 54926.0,
      "momentum_pct": -0.28,
      "consolidation_tightness_pct": 0.37,
      "distance_from_pm_high_pct": 0.46,
      "extension_from_vwap_pct": -0.16,
      "spread_pct": 0.18
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 10.88,
    "pm_low": 10.82
  },
  {
    "symbol": "WNC",
    "total_score": 39.29,
    "raw_score": 41.64,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 1.15,
      "volume_acceleration": 2.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.15,
      "spread_liquidity": 4.29,
      "momentum_consistency": 3.08,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.04,
      "vwap": 14.1422,
      "vwap_slope": -0.0061,
      "rvol": 0.48,
      "volume_acceleration": 0.6,
      "premarket_volume": 239147.0,
      "momentum_pct": -0.28,
      "consolidation_tightness_pct": 0.5,
      "distance_from_pm_high_pct": 1.13,
      "extension_from_vwap_pct": -0.72,
      "spread_pct": 0.21
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 14.2,
    "pm_low": 14.03
  },
  {
    "symbol": "SVRA",
    "total_score": 38.98,
    "raw_score": 41.32,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 10.18,
      "rvol": 0.41,
      "volume_acceleration": 4.7,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.58,
      "spread_liquidity": 4.37,
      "momentum_consistency": 2.18,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.295,
      "vwap": 5.3017,
      "vwap_slope": -0.0012,
      "rvol": 0.17,
      "volume_acceleration": 1.47,
      "premarket_volume": 84874.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.09,
      "distance_from_pm_high_pct": 0.56,
      "extension_from_vwap_pct": -0.13,
      "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.325,
    "pm_low": 5.29
  },
  {
    "symbol": "PD",
    "total_score": 38.95,
    "raw_score": 41.29,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 0.56,
      "volume_acceleration": 2.16,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.52,
      "spread_liquidity": 4.52,
      "momentum_consistency": 2.62,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.995,
      "vwap": 14.0403,
      "vwap_slope": -0.0047,
      "rvol": 0.23,
      "volume_acceleration": 1.22,
      "premarket_volume": 117431.0,
      "momentum_pct": -0.21,
      "consolidation_tightness_pct": 0.25,
      "distance_from_pm_high_pct": 0.64,
      "extension_from_vwap_pct": -0.32,
      "spread_pct": 0.14
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 14.085,
    "pm_low": 13.975
  },
  {
    "symbol": "BKKT",
    "total_score": 38.93,
    "raw_score": 41.26,
    "breakdown": {
      "price_quality": 3.33,
      "volume_quality": 8.8,
      "rvol": 0.35,
      "volume_acceleration": 4.04,
      "price_momentum": 0.27,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.37,
      "spread_liquidity": 3.8,
      "momentum_consistency": 2.89,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.33,
      "vwap": 8.3344,
      "vwap_slope": -0.0066,
      "rvol": 0.15,
      "volume_acceleration": 1.4,
      "premarket_volume": 73354.0,
      "momentum_pct": 0.18,
      "consolidation_tightness_pct": 0.24,
      "distance_from_pm_high_pct": 0.83,
      "extension_from_vwap_pct": -0.05,
      "spread_pct": 0.36
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 8.4,
    "pm_low": 8.2835
  },
  {
    "symbol": "EGAN",
    "total_score": 38.91,
    "raw_score": 41.25,
    "breakdown": {
      "price_quality": 2.25,
      "volume_quality": 3.42,
      "rvol": 0.14,
      "volume_acceleration": 10,
      "price_momentum": 1.25,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 4.58,
      "spread_liquidity": 3.62,
      "momentum_consistency": 3.6,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.2498,
      "vwap": 7.2595,
      "vwap_slope": -0.1098,
      "rvol": 0.06,
      "volume_acceleration": 3.15,
      "premarket_volume": 28471.0,
      "momentum_pct": 0.83,
      "consolidation_tightness_pct": 1.39,
      "distance_from_pm_high_pct": 1.9,
      "extension_from_vwap_pct": -0.13,
      "spread_pct": 0.41
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 7.39,
    "pm_low": 7.15
  },
  {
    "symbol": "YEXT",
    "total_score": 38.83,
    "raw_score": 41.16,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 0.64,
      "volume_acceleration": 3.98,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 4.58,
      "spread_liquidity": 4.49,
      "momentum_consistency": 1.57,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.485,
      "vwap": 6.5547,
      "vwap_slope": -0.0187,
      "rvol": 0.27,
      "volume_acceleration": 1.14,
      "premarket_volume": 132622.0,
      "momentum_pct": -0.31,
      "consolidation_tightness_pct": 0.54,
      "distance_from_pm_high_pct": 1.89,
      "extension_from_vwap_pct": -1.06,
      "spread_pct": 0.15
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 6.61,
    "pm_low": 6.475
  },
  {
    "symbol": "SGRY",
    "total_score": 38.75,
    "raw_score": 41.07,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 0.61,
      "volume_acceleration": 2.23,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.73,
      "spread_liquidity": 4.76,
      "momentum_consistency": 1.83,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.97,
      "vwap": 13.9887,
      "vwap_slope": -0.0008,
      "rvol": 0.25,
      "volume_acceleration": 0.64,
      "premarket_volume": 127204.0,
      "momentum_pct": -0.11,
      "consolidation_tightness_pct": 0.18,
      "distance_from_pm_high_pct": 0.36,
      "extension_from_vwap_pct": -0.13,
      "spread_pct": 0.07
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 14.02,
    "pm_low": 13.96
  },
  {
    "symbol": "FRSH",
    "total_score": 38.69,
    "raw_score": 41.01,
    "breakdown": {
      "price_quality": 1.57,
      "volume_quality": 12.0,
      "rvol": 1.25,
      "volume_acceleration": 1.51,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.56,
      "spread_liquidity": 4.75,
      "momentum_consistency": 1.96,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.425,
      "vwap": 13.4676,
      "vwap_slope": -0.0081,
      "rvol": 0.52,
      "volume_acceleration": 1.15,
      "premarket_volume": 261010.0,
      "momentum_pct": -0.15,
      "consolidation_tightness_pct": 0.19,
      "distance_from_pm_high_pct": 0.59,
      "extension_from_vwap_pct": -0.32,
      "spread_pct": 0.07
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 13.505,
    "pm_low": 13.425
  },
  {
    "symbol": "MAX",
    "total_score": 38.69,
    "raw_score": 41.01,
    "breakdown": {
      "price_quality": 2.85,
      "volume_quality": 12.0,
      "rvol": 0.55,
      "volume_acceleration": 1.82,
      "price_momentum": 0.06,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.33,
      "spread_liquidity": 4.18,
      "momentum_consistency": 1.82,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.155,
      "vwap": 12.2105,
      "vwap_slope": -0.0091,
      "rvol": 0.23,
      "volume_acceleration": 0.52,
      "premarket_volume": 115096.0,
      "momentum_pct": 0.04,
      "consolidation_tightness_pct": 0.12,
      "distance_from_pm_high_pct": 0.9,
      "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": false,
      "vwap_rising": false
    },
    "pm_high": 12.265,
    "pm_low": 12.145
  },
  {
    "symbol": "GPGI",
    "total_score": 38.36,
    "raw_score": 40.66,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 1.43,
      "volume_acceleration": 2.95,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 3.23,
      "spread_liquidity": 4.52,
      "momentum_consistency": 2.62,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.83,
      "vwap": 14.0185,
      "vwap_slope": -0.0261,
      "rvol": 0.6,
      "volume_acceleration": 0.85,
      "premarket_volume": 298647.0,
      "momentum_pct": -0.07,
      "consolidation_tightness_pct": 0.4,
      "distance_from_pm_high_pct": 3.69,
      "extension_from_vwap_pct": -1.34,
      "spread_pct": 0.14
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 14.36,
    "pm_low": 13.81
  },
  {
    "symbol": "MTRX",
    "total_score": 38.27,
    "raw_score": 40.57,
    "breakdown": {
      "price_quality": 4.44,
      "volume_quality": 9.16,
      "rvol": 0.37,
      "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.61,
      "spread_liquidity": 4.68,
      "momentum_consistency": 2.61,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.56,
      "vwap": 10.5704,
      "vwap_slope": -0.0013,
      "rvol": 0.15,
      "volume_acceleration": 0.37,
      "premarket_volume": 76317.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.28,
      "distance_from_pm_high_pct": 0.52,
      "extension_from_vwap_pct": -0.1,
      "spread_pct": 0.09
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 10.615,
    "pm_low": 10.53
  },
  {
    "symbol": "CNXU",
    "total_score": 38.11,
    "raw_score": 40.4,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 6.23,
      "rvol": 0.25,
      "volume_acceleration": 10,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 4.53,
      "spread_liquidity": 2.46,
      "momentum_consistency": 3.03,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.235,
      "vwap": 5.2467,
      "vwap_slope": -0.0325,
      "rvol": 0.1,
      "volume_acceleration": 3.19,
      "premarket_volume": 51923.0,
      "momentum_pct": -0.1,
      "consolidation_tightness_pct": 1.15,
      "distance_from_pm_high_pct": 1.97,
      "extension_from_vwap_pct": -0.22,
      "spread_pct": 0.76
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 5.34,
    "pm_low": 5.2
  },
  {
    "symbol": "TSSI",
    "total_score": 37.96,
    "raw_score": 40.23,
    "breakdown": {
      "price_quality": 3.07,
      "volume_quality": 4.73,
      "rvol": 0.19,
      "volume_acceleration": 6.72,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.54,
      "spread_liquidity": 4.59,
      "momentum_consistency": 3.0,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.07,
      "vwap": 8.0848,
      "vwap_slope": -0.0055,
      "rvol": 0.08,
      "volume_acceleration": 1.67,
      "premarket_volume": 39398.0,
      "momentum_pct": -0.09,
      "consolidation_tightness_pct": 0.22,
      "distance_from_pm_high_pct": 0.62,
      "extension_from_vwap_pct": -0.18,
      "spread_pct": 0.12
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 8.12,
    "pm_low": 8.06
  },
  {
    "symbol": "GFR",
    "total_score": 37.85,
    "raw_score": 40.12,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 11.45,
      "rvol": 0.46,
      "volume_acceleration": 2.49,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.76,
      "spread_liquidity": 4.46,
      "momentum_consistency": 1.6,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.19,
      "vwap": 6.2013,
      "vwap_slope": -0.0026,
      "rvol": 0.19,
      "volume_acceleration": 0.72,
      "premarket_volume": 95450.0,
      "momentum_pct": -0.16,
      "consolidation_tightness_pct": 0.16,
      "distance_from_pm_high_pct": 0.32,
      "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": false,
      "vwap_rising": false
    },
    "pm_high": 6.21,
    "pm_low": 6.19
  },
  {
    "symbol": "DCH",
    "total_score": 37.78,
    "raw_score": 40.05,
    "breakdown": {
      "price_quality": 1.7,
      "volume_quality": 12.0,
      "rvol": 0.52,
      "volume_acceleration": 1.83,
      "price_momentum": 0.11,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.5,
      "spread_liquidity": 4.5,
      "momentum_consistency": 1.48,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.705,
      "vwap": 6.7229,
      "vwap_slope": -0.005,
      "rvol": 0.22,
      "volume_acceleration": 0.53,
      "premarket_volume": 107831.0,
      "momentum_pct": 0.07,
      "consolidation_tightness_pct": 0.22,
      "distance_from_pm_high_pct": 0.67,
      "extension_from_vwap_pct": -0.27,
      "spread_pct": 0.15
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 6.75,
    "pm_low": 6.7
  },
  {
    "symbol": "CTOS",
    "total_score": 37.77,
    "raw_score": 40.04,
    "breakdown": {
      "price_quality": 3.94,
      "volume_quality": 8.72,
      "rvol": 0.35,
      "volume_acceleration": 2.72,
      "price_momentum": 0.34,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.5,
      "spread_liquidity": 4.25,
      "momentum_consistency": 1.82,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.94,
      "vwap": 8.9489,
      "vwap_slope": -0.0084,
      "rvol": 0.15,
      "volume_acceleration": 0.78,
      "premarket_volume": 72652.0,
      "momentum_pct": 0.22,
      "consolidation_tightness_pct": 0.22,
      "distance_from_pm_high_pct": 0.67,
      "extension_from_vwap_pct": -0.1,
      "spread_pct": 0.22
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 9.0,
    "pm_low": 8.91
  },
  {
    "symbol": "AVO",
    "total_score": 37.68,
    "raw_score": 39.94,
    "breakdown": {
      "price_quality": 2.41,
      "volume_quality": 6.42,
      "rvol": 0.26,
      "volume_acceleration": 5.82,
      "price_momentum": 0.12,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.76,
      "spread_liquidity": 4.47,
      "momentum_consistency": 2.29,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.59,
      "vwap": 12.602,
      "vwap_slope": -0.0092,
      "rvol": 0.11,
      "volume_acceleration": 1.58,
      "premarket_volume": 53468.0,
      "momentum_pct": 0.08,
      "consolidation_tightness_pct": 0.23,
      "distance_from_pm_high_pct": 0.32,
      "extension_from_vwap_pct": -0.09,
      "spread_pct": 0.16
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 12.63,
    "pm_low": 12.57
  },
  {
    "symbol": "FWRG",
    "total_score": 37.61,
    "raw_score": 39.87,
    "breakdown": {
      "price_quality": 3.28,
      "volume_quality": 8.89,
      "rvol": 0.36,
      "volume_acceleration": 2.95,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.59,
      "spread_liquidity": 4.72,
      "momentum_consistency": 1.7,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.725,
      "vwap": 11.7521,
      "vwap_slope": -0.0051,
      "rvol": 0.15,
      "volume_acceleration": 0.85,
      "premarket_volume": 74055.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.04,
      "distance_from_pm_high_pct": 0.55,
      "extension_from_vwap_pct": -0.23,
      "spread_pct": 0.09
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 11.79,
    "pm_low": 11.725
  },
  {
    "symbol": "AVPT",
    "total_score": 37.6,
    "raw_score": 39.86,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 10.46,
      "rvol": 0.42,
      "volume_acceleration": 2.94,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.42,
      "spread_liquidity": 4.75,
      "momentum_consistency": 1.96,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.525,
      "vwap": 13.587,
      "vwap_slope": -0.0098,
      "rvol": 0.17,
      "volume_acceleration": 0.84,
      "premarket_volume": 87193.0,
      "momentum_pct": -0.18,
      "consolidation_tightness_pct": 0.22,
      "distance_from_pm_high_pct": 0.77,
      "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": false,
      "vwap_rising": false
    },
    "pm_high": 13.63,
    "pm_low": 13.525
  },
  {
    "symbol": "GCMG",
    "total_score": 37.57,
    "raw_score": 39.82,
    "breakdown": {
      "price_quality": 1.74,
      "volume_quality": 2.89,
      "rvol": 0.12,
      "volume_acceleration": 2.57,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.85,
      "spread_liquidity": 4.5,
      "momentum_consistency": 2.56,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.26,
      "vwap": 13.2684,
      "vwap_slope": 0.005,
      "rvol": 0.05,
      "volume_acceleration": 1.26,
      "premarket_volume": 24087.0,
      "momentum_pct": -0.15,
      "consolidation_tightness_pct": 0.15,
      "distance_from_pm_high_pct": 0.21,
      "extension_from_vwap_pct": -0.06,
      "spread_pct": 0.15
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": true
    },
    "pm_high": 13.2873,
    "pm_low": 13.23
  },
  {
    "symbol": "CLBT",
    "total_score": 37.46,
    "raw_score": 39.7,
    "breakdown": {
      "price_quality": 3.15,
      "volume_quality": 8.12,
      "rvol": 0.32,
      "volume_acceleration": 2.89,
      "price_momentum": 0.19,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.78,
      "spread_liquidity": 4.44,
      "momentum_consistency": 2.4,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.845,
      "vwap": 11.8485,
      "vwap_slope": -0.0068,
      "rvol": 0.14,
      "volume_acceleration": 0.83,
      "premarket_volume": 67690.0,
      "momentum_pct": 0.13,
      "consolidation_tightness_pct": 0.3,
      "distance_from_pm_high_pct": 0.29,
      "extension_from_vwap_pct": -0.03,
      "spread_pct": 0.17
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 11.88,
    "pm_low": 11.795
  },
  {
    "symbol": "AMPL",
    "total_score": 37.44,
    "raw_score": 39.69,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 9.17,
      "rvol": 0.37,
      "volume_acceleration": 3.3,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.59,
      "spread_liquidity": 4.75,
      "momentum_consistency": 2.6,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.575,
      "vwap": 13.6199,
      "vwap_slope": -0.0055,
      "rvol": 0.15,
      "volume_acceleration": 0.95,
      "premarket_volume": 76458.0,
      "momentum_pct": -0.22,
      "consolidation_tightness_pct": 0.26,
      "distance_from_pm_high_pct": 0.55,
      "extension_from_vwap_pct": -0.33,
      "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.65,
    "pm_low": 13.575
  },
  {
    "symbol": "QTTB",
    "total_score": 37.33,
    "raw_score": 39.58,
    "breakdown": {
      "price_quality": 2.16,
      "volume_quality": 11.95,
      "rvol": 0.48,
      "volume_acceleration": 1.0,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 4.57,
      "spread_liquidity": 3.96,
      "momentum_consistency": 3.06,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.84,
      "vwap": 12.9434,
      "vwap_slope": -0.0094,
      "rvol": 0.2,
      "volume_acceleration": 0.29,
      "premarket_volume": 99543.0,
      "momentum_pct": -0.08,
      "consolidation_tightness_pct": 0.43,
      "distance_from_pm_high_pct": 1.91,
      "extension_from_vwap_pct": -0.8,
      "spread_pct": 0.31
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 13.09,
    "pm_low": 12.835
  },
  {
    "symbol": "NMAX",
    "total_score": 37.25,
    "raw_score": 39.49,
    "breakdown": {
      "price_quality": 4.03,
      "volume_quality": 9.1,
      "rvol": 0.36,
      "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": 4.99,
      "spread_liquidity": 4.7,
      "momentum_consistency": 2.62,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.9701,
      "vwap": 11.0183,
      "vwap_slope": -0.0091,
      "rvol": 0.15,
      "volume_acceleration": 0.37,
      "premarket_volume": 75805.0,
      "momentum_pct": -0.09,
      "consolidation_tightness_pct": 0.16,
      "distance_from_pm_high_pct": 1.35,
      "extension_from_vwap_pct": -0.44,
      "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.12,
    "pm_low": 10.94
  },
  {
    "symbol": "UTZ",
    "total_score": 37.0,
    "raw_score": 39.22,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 9.64,
      "rvol": 0.39,
      "volume_acceleration": 2.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.97,
      "spread_liquidity": 4.77,
      "momentum_consistency": 2.0,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.195,
      "vwap": 14.1965,
      "vwap_slope": -0.0001,
      "rvol": 0.16,
      "volume_acceleration": 0.73,
      "premarket_volume": 80354.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.04,
      "distance_from_pm_high_pct": 0.04,
      "extension_from_vwap_pct": -0.01,
      "spread_pct": 0.07
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 14.2,
    "pm_low": 14.19
  },
  {
    "symbol": "MGTX",
    "total_score": 36.99,
    "raw_score": 39.21,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 0.64,
      "volume_acceleration": 0.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.14,
      "spread_liquidity": 4.28,
      "momentum_consistency": 2.56,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.815,
      "vwap": 13.8778,
      "vwap_slope": -0.0044,
      "rvol": 0.27,
      "volume_acceleration": 0.2,
      "premarket_volume": 134170.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.14,
      "distance_from_pm_high_pct": 1.14,
      "extension_from_vwap_pct": -0.45,
      "spread_pct": 0.22
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 13.975,
    "pm_low": 13.765
  },
  {
    "symbol": "ADTN",
    "total_score": 36.97,
    "raw_score": 39.19,
    "breakdown": {
      "price_quality": 2.17,
      "volume_quality": 9.26,
      "rvol": 0.37,
      "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.28,
      "spread_liquidity": 4.54,
      "momentum_consistency": 1.5,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.175,
      "vwap": 7.2113,
      "vwap_slope": -0.0093,
      "rvol": 0.15,
      "volume_acceleration": 1.06,
      "premarket_volume": 77166.0,
      "momentum_pct": -0.14,
      "consolidation_tightness_pct": 0.21,
      "distance_from_pm_high_pct": 0.97,
      "extension_from_vwap_pct": -0.5,
      "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.245,
    "pm_low": 7.175
  },
  {
    "symbol": "LTRX",
    "total_score": 36.85,
    "raw_score": 39.06,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 0.55,
      "volume_acceleration": 0.73,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.29,
      "spread_liquidity": 4.36,
      "momentum_consistency": 2.23,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.195,
      "vwap": 5.2144,
      "vwap_slope": -0.0012,
      "rvol": 0.23,
      "volume_acceleration": 0.21,
      "premarket_volume": 115105.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.28,
      "distance_from_pm_high_pct": 0.95,
      "extension_from_vwap_pct": -0.37,
      "spread_pct": 0.19
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 5.245,
    "pm_low": 5.1902
  },
  {
    "symbol": "NMR",
    "total_score": 36.63,
    "raw_score": 38.83,
    "breakdown": {
      "price_quality": 4.42,
      "volume_quality": 7.21,
      "rvol": 0.29,
      "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.86,
      "spread_liquidity": 4.69,
      "momentum_consistency": 1.28,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.58,
      "vwap": 10.5885,
      "vwap_slope": -0.0012,
      "rvol": 0.12,
      "volume_acceleration": 0.77,
      "premarket_volume": 60065.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.09,
      "distance_from_pm_high_pct": 0.19,
      "extension_from_vwap_pct": -0.08,
      "spread_pct": 0.09
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 10.6,
    "pm_low": 10.58
  },
  {
    "symbol": "VELO",
    "total_score": 36.55,
    "raw_score": 38.75,
    "breakdown": {
      "price_quality": 3.36,
      "volume_quality": 5.9,
      "rvol": 0.24,
      "volume_acceleration": 3.8,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.42,
      "spread_liquidity": 4.43,
      "momentum_consistency": 3.2,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.64,
      "vwap": 11.6783,
      "vwap_slope": -0.0152,
      "rvol": 0.1,
      "volume_acceleration": 1.09,
      "premarket_volume": 49138.0,
      "momentum_pct": -0.09,
      "consolidation_tightness_pct": 0.26,
      "distance_from_pm_high_pct": 0.77,
      "extension_from_vwap_pct": -0.33,
      "spread_pct": 0.17
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 11.73,
    "pm_low": 11.62
  },
  {
    "symbol": "NRDS",
    "total_score": 36.29,
    "raw_score": 38.46,
    "breakdown": {
      "price_quality": 4.91,
      "volume_quality": 6.3,
      "rvol": 0.25,
      "volume_acceleration": 2.13,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.38,
      "spread_liquidity": 4.66,
      "momentum_consistency": 2.42,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.91,
      "vwap": 9.9707,
      "vwap_slope": -0.0108,
      "rvol": 0.11,
      "volume_acceleration": 0.61,
      "premarket_volume": 52528.0,
      "momentum_pct": -0.55,
      "consolidation_tightness_pct": 0.6,
      "distance_from_pm_high_pct": 0.82,
      "extension_from_vwap_pct": -0.61,
      "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.992,
    "pm_low": 9.91
  },
  {
    "symbol": "LXU",
    "total_score": 36.27,
    "raw_score": 38.45,
    "breakdown": {
      "price_quality": 3.69,
      "volume_quality": 3.68,
      "rvol": 0.15,
      "volume_acceleration": 5.95,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.87,
      "spread_liquidity": 4.12,
      "momentum_consistency": 2.59,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.31,
      "vwap": 11.3151,
      "vwap_slope": -0.0015,
      "rvol": 0.06,
      "volume_acceleration": 1.6,
      "premarket_volume": 30678.0,
      "momentum_pct": -0.18,
      "consolidation_tightness_pct": 0.18,
      "distance_from_pm_high_pct": 0.18,
      "extension_from_vwap_pct": -0.04,
      "spread_pct": 0.27
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 11.33,
    "pm_low": 11.295
  },
  {
    "symbol": "XPOF",
    "total_score": 36.22,
    "raw_score": 38.39,
    "breakdown": {
      "price_quality": 0.0,
      "volume_quality": 3.9,
      "rvol": 0.16,
      "volume_acceleration": 10,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.48,
      "spread_liquidity": 4.33,
      "momentum_consistency": 2.13,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 4.975,
      "vwap": 4.9878,
      "vwap_slope": -0.0022,
      "rvol": 0.06,
      "volume_acceleration": 2.32,
      "premarket_volume": 32479.0,
      "momentum_pct": -0.2,
      "consolidation_tightness_pct": 0.4,
      "distance_from_pm_high_pct": 0.7,
      "extension_from_vwap_pct": -0.26,
      "spread_pct": 0.2
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 5.01,
    "pm_low": 4.97
  },
  {
    "symbol": "OABI",
    "total_score": 35.99,
    "raw_score": 38.15,
    "breakdown": {
      "price_quality": 0.0,
      "volume_quality": 12.0,
      "rvol": 1.2,
      "volume_acceleration": 1.37,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.21,
      "spread_liquidity": 4.29,
      "momentum_consistency": 1.68,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 4.705,
      "vwap": 4.722,
      "vwap_slope": -0.0015,
      "rvol": 0.5,
      "volume_acceleration": 0.39,
      "premarket_volume": 249047.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.0,
      "distance_from_pm_high_pct": 1.05,
      "extension_from_vwap_pct": -0.36,
      "spread_pct": 0.21
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 4.755,
    "pm_low": 4.6938
  },
  {
    "symbol": "WYY",
    "total_score": 35.94,
    "raw_score": 38.09,
    "breakdown": {
      "price_quality": 3.97,
      "volume_quality": 4.29,
      "rvol": 0.17,
      "volume_acceleration": 0.8,
      "price_momentum": 0.27,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 4.73,
      "spread_liquidity": 1.38,
      "momentum_consistency": 2.88,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.03,
      "vwap": 11.0555,
      "vwap_slope": 0.0021,
      "rvol": 0.07,
      "volume_acceleration": 0.23,
      "premarket_volume": 35715.0,
      "momentum_pct": 0.18,
      "consolidation_tightness_pct": 0.59,
      "distance_from_pm_high_pct": 1.69,
      "extension_from_vwap_pct": -0.23,
      "spread_pct": 1.08
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": true
    },
    "pm_high": 11.22,
    "pm_low": 10.9674
  },
  {
    "symbol": "TDAY",
    "total_score": 35.91,
    "raw_score": 38.07,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 9.34,
      "rvol": 0.37,
      "volume_acceleration": 2.47,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.6,
      "spread_liquidity": 4.48,
      "momentum_consistency": 1.91,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.455,
      "vwap": 6.4708,
      "vwap_slope": -0.0031,
      "rvol": 0.16,
      "volume_acceleration": 0.71,
      "premarket_volume": 77818.0,
      "momentum_pct": -0.15,
      "consolidation_tightness_pct": 0.31,
      "distance_from_pm_high_pct": 0.54,
      "extension_from_vwap_pct": -0.24,
      "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.49,
    "pm_low": 6.45
  },
  {
    "symbol": "CARS",
    "total_score": 35.58,
    "raw_score": 37.71,
    "breakdown": {
      "price_quality": 3.19,
      "volume_quality": 7.36,
      "rvol": 0.29,
      "volume_acceleration": 1.87,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.06,
      "spread_liquidity": 4.72,
      "momentum_consistency": 2.82,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.81,
      "vwap": 11.9001,
      "vwap_slope": -0.0106,
      "rvol": 0.12,
      "volume_acceleration": 0.54,
      "premarket_volume": 61347.0,
      "momentum_pct": -0.42,
      "consolidation_tightness_pct": 0.51,
      "distance_from_pm_high_pct": 1.25,
      "extension_from_vwap_pct": -0.76,
      "spread_pct": 0.08
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 11.96,
    "pm_low": 11.81
  },
  {
    "symbol": "CRMD",
    "total_score": 35.51,
    "raw_score": 37.65,
    "breakdown": {
      "price_quality": 3.47,
      "volume_quality": 7.13,
      "rvol": 0.29,
      "volume_acceleration": 2.45,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.47,
      "spread_liquidity": 4.21,
      "momentum_consistency": 2.22,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.47,
      "vwap": 8.5002,
      "vwap_slope": -0.011,
      "rvol": 0.12,
      "volume_acceleration": 0.7,
      "premarket_volume": 59426.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.12,
      "distance_from_pm_high_pct": 0.7,
      "extension_from_vwap_pct": -0.36,
      "spread_pct": 0.24
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 8.53,
    "pm_low": 8.46
  },
  {
    "symbol": "KODK",
    "total_score": 35.44,
    "raw_score": 37.57,
    "breakdown": {
      "price_quality": 4.09,
      "volume_quality": 7.56,
      "rvol": 0.3,
      "volume_acceleration": 1.65,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.26,
      "spread_liquidity": 4.27,
      "momentum_consistency": 2.04,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.09,
      "vwap": 9.1054,
      "vwap_slope": -0.0055,
      "rvol": 0.13,
      "volume_acceleration": 1.17,
      "premarket_volume": 62977.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.27,
      "distance_from_pm_high_pct": 0.98,
      "extension_from_vwap_pct": -0.17,
      "spread_pct": 0.22
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 9.18,
    "pm_low": 9.075
  },
  {
    "symbol": "CWH",
    "total_score": 35.24,
    "raw_score": 37.35,
    "breakdown": {
      "price_quality": 1.71,
      "volume_quality": 6.86,
      "rvol": 0.27,
      "volume_acceleration": 3.72,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.67,
      "spread_liquidity": 4.5,
      "momentum_consistency": 2.21,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.71,
      "vwap": 6.7234,
      "vwap_slope": -0.0023,
      "rvol": 0.11,
      "volume_acceleration": 1.07,
      "premarket_volume": 57180.0,
      "momentum_pct": -0.07,
      "consolidation_tightness_pct": 0.14,
      "distance_from_pm_high_pct": 0.45,
      "extension_from_vwap_pct": -0.2,
      "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.71
  },
  {
    "symbol": "PWRL",
    "total_score": 35.02,
    "raw_score": 37.12,
    "breakdown": {
      "price_quality": 4.77,
      "volume_quality": 3.96,
      "rvol": 0.16,
      "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": 4.21,
      "spread_liquidity": 4.02,
      "momentum_consistency": 3.79,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.23,
      "vwap": 10.3081,
      "vwap_slope": -0.0623,
      "rvol": 0.07,
      "volume_acceleration": 1.38,
      "premarket_volume": 33031.0,
      "momentum_pct": -0.73,
      "consolidation_tightness_pct": 1.07,
      "distance_from_pm_high_pct": 2.39,
      "extension_from_vwap_pct": -0.76,
      "spread_pct": 0.29
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 10.48,
    "pm_low": 10.2
  },
  {
    "symbol": "PERI",
    "total_score": 34.98,
    "raw_score": 37.08,
    "breakdown": {
      "price_quality": 4.25,
      "volume_quality": 4.97,
      "rvol": 0.2,
      "volume_acceleration": 3.07,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.6,
      "spread_liquidity": 4.64,
      "momentum_consistency": 1.96,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.25,
      "vwap": 9.2747,
      "vwap_slope": -0.0055,
      "rvol": 0.08,
      "volume_acceleration": 0.88,
      "premarket_volume": 41411.0,
      "momentum_pct": -0.05,
      "consolidation_tightness_pct": 0.16,
      "distance_from_pm_high_pct": 0.54,
      "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.3,
    "pm_low": 9.245
  },
  {
    "symbol": "CGNT",
    "total_score": 34.78,
    "raw_score": 36.87,
    "breakdown": {
      "price_quality": 3.4,
      "volume_quality": 3.65,
      "rvol": 0.15,
      "volume_acceleration": 5.15,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.42,
      "spread_liquidity": 4.6,
      "momentum_consistency": 2.09,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.405,
      "vwap": 8.4357,
      "vwap_slope": -0.0178,
      "rvol": 0.06,
      "volume_acceleration": 1.52,
      "premarket_volume": 30412.0,
      "momentum_pct": -0.06,
      "consolidation_tightness_pct": 0.18,
      "distance_from_pm_high_pct": 0.77,
      "extension_from_vwap_pct": -0.36,
      "spread_pct": 0.12
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 8.47,
    "pm_low": 8.4
  },
  {
    "symbol": "DNA",
    "total_score": 34.62,
    "raw_score": 36.7,
    "breakdown": {
      "price_quality": 1.8,
      "volume_quality": 7.93,
      "rvol": 0.32,
      "volume_acceleration": 3.38,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.13,
      "spread_liquidity": 4.02,
      "momentum_consistency": 1.73,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.8,
      "vwap": 6.8284,
      "vwap_slope": -0.0063,
      "rvol": 0.13,
      "volume_acceleration": 0.97,
      "premarket_volume": 66100.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.29,
      "distance_from_pm_high_pct": 1.16,
      "extension_from_vwap_pct": -0.42,
      "spread_pct": 0.29
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 6.88,
    "pm_low": 6.79
  },
  {
    "symbol": "LSPD",
    "total_score": 34.6,
    "raw_score": 36.68,
    "breakdown": {
      "price_quality": 4.46,
      "volume_quality": 3.46,
      "rvol": 0.14,
      "volume_acceleration": 3.08,
      "price_momentum": 0.14,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.89,
      "spread_liquidity": 4.68,
      "momentum_consistency": 2.42,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.54,
      "vwap": 10.5407,
      "vwap_slope": -0.0021,
      "rvol": 0.06,
      "volume_acceleration": 0.88,
      "premarket_volume": 28864.0,
      "momentum_pct": 0.09,
      "consolidation_tightness_pct": 0.09,
      "distance_from_pm_high_pct": 0.14,
      "extension_from_vwap_pct": -0.01,
      "spread_pct": 0.09
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 10.555,
    "pm_low": 10.525
  },
  {
    "symbol": "SMWB",
    "total_score": 34.5,
    "raw_score": 36.57,
    "breakdown": {
      "price_quality": 3.88,
      "volume_quality": 4.44,
      "rvol": 0.18,
      "volume_acceleration": 3.9,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.29,
      "spread_liquidity": 3.87,
      "momentum_consistency": 2.6,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.885,
      "vwap": 8.9261,
      "vwap_slope": -0.0104,
      "rvol": 0.07,
      "volume_acceleration": 1.12,
      "premarket_volume": 36981.0,
      "momentum_pct": -0.11,
      "consolidation_tightness_pct": 0.51,
      "distance_from_pm_high_pct": 0.95,
      "extension_from_vwap_pct": -0.46,
      "spread_pct": 0.34
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 8.97,
    "pm_low": 8.88
  },
  {
    "symbol": "QDEL",
    "total_score": 34.26,
    "raw_score": 36.32,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 7.0,
      "rvol": 0.28,
      "volume_acceleration": 2.95,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.57,
      "spread_liquidity": 4.03,
      "momentum_consistency": 2.6,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.77,
      "vwap": 13.8125,
      "vwap_slope": -0.0123,
      "rvol": 0.12,
      "volume_acceleration": 0.85,
      "premarket_volume": 58304.0,
      "momentum_pct": -0.18,
      "consolidation_tightness_pct": 0.25,
      "distance_from_pm_high_pct": 0.58,
      "extension_from_vwap_pct": -0.31,
      "spread_pct": 0.29
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 13.85,
    "pm_low": 13.76
  },
  {
    "symbol": "TLYS",
    "total_score": 34.1,
    "raw_score": 36.15,
    "breakdown": {
      "price_quality": 0.0,
      "volume_quality": 12.0,
      "rvol": 2.24,
      "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": 0.74,
      "spread_liquidity": 4.19,
      "momentum_consistency": 2.39,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 4.11,
      "vwap": 4.2534,
      "vwap_slope": -0.0196,
      "rvol": 0.93,
      "volume_acceleration": 0.63,
      "premarket_volume": 465942.0,
      "momentum_pct": -0.72,
      "consolidation_tightness_pct": 1.45,
      "distance_from_pm_high_pct": 7.01,
      "extension_from_vwap_pct": -3.37,
      "spread_pct": 0.24
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 4.42,
    "pm_low": 4.1
  },
  {
    "symbol": "TK",
    "total_score": 34.08,
    "raw_score": 36.12,
    "breakdown": {
      "price_quality": 1.62,
      "volume_quality": 4.24,
      "rvol": 0.17,
      "volume_acceleration": 3.98,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.66,
      "spread_liquidity": 4.5,
      "momentum_consistency": 3.56,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.375,
      "vwap": 13.4054,
      "vwap_slope": -0.006,
      "rvol": 0.07,
      "volume_acceleration": 1.14,
      "premarket_volume": 35312.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.26,
      "distance_from_pm_high_pct": 0.46,
      "extension_from_vwap_pct": -0.23,
      "spread_pct": 0.15
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 13.4364,
    "pm_low": 13.355
  },
  {
    "symbol": "FPI",
    "total_score": 33.8,
    "raw_score": 35.82,
    "breakdown": {
      "price_quality": 4.45,
      "volume_quality": 3.67,
      "rvol": 0.15,
      "volume_acceleration": 2.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.82,
      "spread_liquidity": 4.68,
      "momentum_consistency": 2.21,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.555,
      "vwap": 10.5639,
      "vwap_slope": -0.0016,
      "rvol": 0.06,
      "volume_acceleration": 0.7,
      "premarket_volume": 30612.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.05,
      "distance_from_pm_high_pct": 0.23,
      "extension_from_vwap_pct": -0.08,
      "spread_pct": 0.09
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 10.5797,
    "pm_low": 10.55
  },
  {
    "symbol": "CLPT",
    "total_score": 33.59,
    "raw_score": 35.61,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 6.05,
      "rvol": 0.24,
      "volume_acceleration": 3.98,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 4.93,
      "spread_liquidity": 4.29,
      "momentum_consistency": 2.22,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.15,
      "vwap": 14.2459,
      "vwap_slope": -0.0092,
      "rvol": 0.1,
      "volume_acceleration": 1.4,
      "premarket_volume": 50377.0,
      "momentum_pct": -0.28,
      "consolidation_tightness_pct": 0.49,
      "distance_from_pm_high_pct": 1.43,
      "extension_from_vwap_pct": -0.67,
      "spread_pct": 0.21
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 14.355,
    "pm_low": 14.15
  },
  {
    "symbol": "ARVN",
    "total_score": 33.52,
    "raw_score": 35.53,
    "breakdown": {
      "price_quality": 4.23,
      "volume_quality": 3.69,
      "rvol": 0.15,
      "volume_acceleration": 2.4,
      "price_momentum": 0.06,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.71,
      "spread_liquidity": 4.64,
      "momentum_consistency": 2.26,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.2288,
      "vwap": 9.229,
      "vwap_slope": -0.0014,
      "rvol": 0.06,
      "volume_acceleration": 0.69,
      "premarket_volume": 30760.0,
      "momentum_pct": 0.04,
      "consolidation_tightness_pct": 0.05,
      "distance_from_pm_high_pct": 0.39,
      "extension_from_vwap_pct": -0.0,
      "spread_pct": 0.11
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 9.265,
    "pm_low": 9.21
  },
  {
    "symbol": "MH",
    "total_score": 33.29,
    "raw_score": 35.29,
    "breakdown": {
      "price_quality": 1.71,
      "volume_quality": 3.93,
      "rvol": 0.16,
      "volume_acceleration": 3.76,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.44,
      "spread_liquidity": 4.5,
      "momentum_consistency": 3.4,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.29,
      "vwap": 13.3319,
      "vwap_slope": -0.0047,
      "rvol": 0.07,
      "volume_acceleration": 1.08,
      "premarket_volume": 32717.0,
      "momentum_pct": -0.08,
      "consolidation_tightness_pct": 0.23,
      "distance_from_pm_high_pct": 0.75,
      "extension_from_vwap_pct": -0.31,
      "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.39,
    "pm_low": 13.26
  },
  {
    "symbol": "DC",
    "total_score": 33.28,
    "raw_score": 35.28,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 6.25,
      "rvol": 0.25,
      "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.57,
      "spread_liquidity": 4.45,
      "momentum_consistency": 1.76,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.055,
      "vwap": 6.0627,
      "vwap_slope": -0.0025,
      "rvol": 0.1,
      "volume_acceleration": 1.31,
      "premarket_volume": 52092.0,
      "momentum_pct": -0.08,
      "consolidation_tightness_pct": 0.17,
      "distance_from_pm_high_pct": 0.57,
      "extension_from_vwap_pct": -0.13,
      "spread_pct": 0.17
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 6.09,
    "pm_low": 6.045
  },
  {
    "symbol": "GSIT",
    "total_score": 33.26,
    "raw_score": 35.26,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 4.71,
      "rvol": 0.19,
      "volume_acceleration": 5.13,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.3,
      "spread_liquidity": 3.75,
      "momentum_consistency": 2.29,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.31,
      "vwap": 5.3351,
      "vwap_slope": -0.0044,
      "rvol": 0.08,
      "volume_acceleration": 1.51,
      "premarket_volume": 39217.0,
      "momentum_pct": -0.19,
      "consolidation_tightness_pct": 0.19,
      "distance_from_pm_high_pct": 0.93,
      "extension_from_vwap_pct": -0.47,
      "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": 5.36,
    "pm_low": 5.31
  },
  {
    "symbol": "BVS",
    "total_score": 33.0,
    "raw_score": 34.98,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 6.52,
      "rvol": 0.26,
      "volume_acceleration": 1.65,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.64,
      "spread_liquidity": 4.54,
      "momentum_consistency": 2.48,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.34,
      "vwap": 14.3725,
      "vwap_slope": -0.0103,
      "rvol": 0.11,
      "volume_acceleration": 1.16,
      "premarket_volume": 54374.0,
      "momentum_pct": -0.1,
      "consolidation_tightness_pct": 0.1,
      "distance_from_pm_high_pct": 0.49,
      "extension_from_vwap_pct": -0.23,
      "spread_pct": 0.14
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 14.41,
    "pm_low": 14.34
  },
  {
    "symbol": "XMAX",
    "total_score": 32.96,
    "raw_score": 34.94,
    "breakdown": {
      "price_quality": 3.71,
      "volume_quality": 4.84,
      "rvol": 0.19,
      "volume_acceleration": 2.01,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.57,
      "spread_liquidity": 4.62,
      "momentum_consistency": 1.6,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.715,
      "vwap": 8.7383,
      "vwap_slope": -0.0044,
      "rvol": 0.08,
      "volume_acceleration": 0.58,
      "premarket_volume": 40300.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.1,
      "distance_from_pm_high_pct": 0.57,
      "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": 8.765,
    "pm_low": 8.71
  },
  {
    "symbol": "BSM",
    "total_score": 32.86,
    "raw_score": 34.83,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 3.26,
      "rvol": 0.13,
      "volume_acceleration": 5.48,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.69,
      "spread_liquidity": 4.55,
      "momentum_consistency": 1.82,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.68,
      "vwap": 14.7008,
      "vwap_slope": -0.023,
      "rvol": 0.05,
      "volume_acceleration": 1.55,
      "premarket_volume": 27186.0,
      "momentum_pct": -0.07,
      "consolidation_tightness_pct": 0.17,
      "distance_from_pm_high_pct": 0.41,
      "extension_from_vwap_pct": -0.14,
      "spread_pct": 0.14
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 14.74,
    "pm_low": 14.67
  },
  {
    "symbol": "KRNY",
    "total_score": 32.59,
    "raw_score": 34.55,
    "breakdown": {
      "price_quality": 4.94,
      "volume_quality": 3.32,
      "rvol": 0.13,
      "volume_acceleration": 2.49,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.74,
      "spread_liquidity": 4.67,
      "momentum_consistency": 0.86,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.065,
      "vwap": 10.0745,
      "vwap_slope": -0.0033,
      "rvol": 0.06,
      "volume_acceleration": 0.72,
      "premarket_volume": 27693.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.05,
      "distance_from_pm_high_pct": 0.35,
      "extension_from_vwap_pct": -0.09,
      "spread_pct": 0.1
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 10.1,
    "pm_low": 10.06
  },
  {
    "symbol": "IMMR",
    "total_score": 32.36,
    "raw_score": 34.31,
    "breakdown": {
      "price_quality": 2.55,
      "volume_quality": 3.78,
      "rvol": 0.15,
      "volume_acceleration": 3.57,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.85,
      "spread_liquidity": 4.12,
      "momentum_consistency": 1.88,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.55,
      "vwap": 7.5505,
      "vwap_slope": -0.0011,
      "rvol": 0.06,
      "volume_acceleration": 1.03,
      "premarket_volume": 31534.0,
      "momentum_pct": -0.07,
      "consolidation_tightness_pct": 0.26,
      "distance_from_pm_high_pct": 0.2,
      "extension_from_vwap_pct": -0.01,
      "spread_pct": 0.26
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 7.565,
    "pm_low": 7.535
  },
  {
    "symbol": "SOPH",
    "total_score": 32.32,
    "raw_score": 34.26,
    "breakdown": {
      "price_quality": 3.01,
      "volume_quality": 6.19,
      "rvol": 0.25,
      "volume_acceleration": 2.13,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 4.44,
      "spread_liquidity": 3.75,
      "momentum_consistency": 2.09,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.01,
      "vwap": 8.111,
      "vwap_slope": -0.0214,
      "rvol": 0.1,
      "volume_acceleration": 0.61,
      "premarket_volume": 51567.0,
      "momentum_pct": -0.12,
      "consolidation_tightness_pct": 0.25,
      "distance_from_pm_high_pct": 2.08,
      "extension_from_vwap_pct": -1.25,
      "spread_pct": 0.37
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 8.18,
    "pm_low": 7.985
  },
  {
    "symbol": "BIOA",
    "total_score": 32.1,
    "raw_score": 34.03,
    "breakdown": {
      "price_quality": 4.52,
      "volume_quality": 3.99,
      "rvol": 0.16,
      "volume_acceleration": 1.84,
      "price_momentum": 0.32,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.35,
      "spread_liquidity": 3.6,
      "momentum_consistency": 1.87,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.52,
      "vwap": 9.5241,
      "vwap_slope": -0.0074,
      "rvol": 0.07,
      "volume_acceleration": 1.18,
      "premarket_volume": 33217.0,
      "momentum_pct": 0.21,
      "consolidation_tightness_pct": 0.42,
      "distance_from_pm_high_pct": 0.87,
      "extension_from_vwap_pct": -0.04,
      "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.6036,
    "pm_low": 9.49
  },
  {
    "symbol": "OPFI",
    "total_score": 31.58,
    "raw_score": 33.47,
    "breakdown": {
      "price_quality": 2.33,
      "volume_quality": 4.89,
      "rvol": 0.2,
      "volume_acceleration": 1.52,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.64,
      "spread_liquidity": 4.55,
      "momentum_consistency": 1.95,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.335,
      "vwap": 7.3541,
      "vwap_slope": -0.0032,
      "rvol": 0.08,
      "volume_acceleration": 0.44,
      "premarket_volume": 40732.0,
      "momentum_pct": -0.07,
      "consolidation_tightness_pct": 0.14,
      "distance_from_pm_high_pct": 0.47,
      "extension_from_vwap_pct": -0.26,
      "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.37,
    "pm_low": 7.335
  },
  {
    "symbol": "HTLD",
    "total_score": 31.5,
    "raw_score": 33.39,
    "breakdown": {
      "price_quality": 2.65,
      "volume_quality": 3.3,
      "rvol": 0.13,
      "volume_acceleration": 3.14,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.76,
      "spread_liquidity": 3.92,
      "momentum_consistency": 2.09,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.35,
      "vwap": 12.3625,
      "vwap_slope": -0.0085,
      "rvol": 0.06,
      "volume_acceleration": 0.9,
      "premarket_volume": 27533.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.2,
      "distance_from_pm_high_pct": 0.32,
      "extension_from_vwap_pct": -0.1,
      "spread_pct": 0.32
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 12.39,
    "pm_low": 12.335
  },
  {
    "symbol": "CRNC",
    "total_score": 31.45,
    "raw_score": 33.33,
    "breakdown": {
      "price_quality": 3.44,
      "volume_quality": 3.28,
      "rvol": 0.13,
      "volume_acceleration": 2.43,
      "price_momentum": 0.27,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.08,
      "spread_liquidity": 4.6,
      "momentum_consistency": 1.71,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.435,
      "vwap": 8.4771,
      "vwap_slope": -0.031,
      "rvol": 0.05,
      "volume_acceleration": 1.24,
      "premarket_volume": 27304.0,
      "momentum_pct": 0.18,
      "consolidation_tightness_pct": 0.24,
      "distance_from_pm_high_pct": 1.23,
      "extension_from_vwap_pct": -0.5,
      "spread_pct": 0.12
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 8.54,
    "pm_low": 8.415
  },
  {
    "symbol": "ASLE",
    "total_score": 31.26,
    "raw_score": 33.13,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 3.6,
      "rvol": 0.14,
      "volume_acceleration": 3.04,
      "price_momentum": 0.27,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.87,
      "spread_liquidity": 4.4,
      "momentum_consistency": 1.92,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.59,
      "vwap": 5.5903,
      "vwap_slope": -0.0016,
      "rvol": 0.06,
      "volume_acceleration": 1.3,
      "premarket_volume": 29959.0,
      "momentum_pct": 0.18,
      "consolidation_tightness_pct": 0.27,
      "distance_from_pm_high_pct": 0.18,
      "extension_from_vwap_pct": -0.01,
      "spread_pct": 0.18
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 5.6,
    "pm_low": 5.58
  },
  {
    "symbol": "PAYS",
    "total_score": 31.25,
    "raw_score": 33.12,
    "breakdown": {
      "price_quality": 2.28,
      "volume_quality": 3.41,
      "rvol": 0.14,
      "volume_acceleration": 1.54,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.78,
      "spread_liquidity": 4.21,
      "momentum_consistency": 3.35,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.72,
      "vwap": 12.7313,
      "vwap_slope": -0.0014,
      "rvol": 0.06,
      "volume_acceleration": 1.15,
      "premarket_volume": 28454.0,
      "momentum_pct": -0.08,
      "consolidation_tightness_pct": 0.2,
      "distance_from_pm_high_pct": 0.29,
      "extension_from_vwap_pct": -0.09,
      "spread_pct": 0.24
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 12.7571,
    "pm_low": 12.71
  },
  {
    "symbol": "LYNX",
    "total_score": 31.06,
    "raw_score": 32.92,
    "breakdown": {
      "price_quality": 2.07,
      "volume_quality": 5.83,
      "rvol": 0.23,
      "volume_acceleration": 1.38,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.2,
      "spread_liquidity": 3.45,
      "momentum_consistency": 2.36,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.93,
      "vwap": 12.9852,
      "vwap_slope": -0.0059,
      "rvol": 0.1,
      "volume_acceleration": 0.4,
      "premarket_volume": 48583.0,
      "momentum_pct": -0.23,
      "consolidation_tightness_pct": 0.27,
      "distance_from_pm_high_pct": 1.07,
      "extension_from_vwap_pct": -0.43,
      "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.07,
    "pm_low": 12.835
  },
  {
    "symbol": "AGEN",
    "total_score": 30.84,
    "raw_score": 32.69,
    "breakdown": {
      "price_quality": 3.02,
      "volume_quality": 4.73,
      "rvol": 0.19,
      "volume_acceleration": 1.95,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.12,
      "spread_liquidity": 3.75,
      "momentum_consistency": 1.51,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.02,
      "vwap": 8.0807,
      "vwap_slope": -0.0148,
      "rvol": 0.08,
      "volume_acceleration": 1.2,
      "premarket_volume": 39457.0,
      "momentum_pct": -0.37,
      "consolidation_tightness_pct": 0.37,
      "distance_from_pm_high_pct": 1.17,
      "extension_from_vwap_pct": -0.75,
      "spread_pct": 0.37
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 8.115,
    "pm_low": 8.02
  },
  {
    "symbol": "RMNI",
    "total_score": 30.73,
    "raw_score": 32.57,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 3.69,
      "rvol": 0.15,
      "volume_acceleration": 2.84,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.78,
      "spread_liquidity": 4.35,
      "momentum_consistency": 1.86,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.135,
      "vwap": 5.1368,
      "vwap_slope": -0.0013,
      "rvol": 0.06,
      "volume_acceleration": 1.28,
      "premarket_volume": 30743.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.29,
      "distance_from_pm_high_pct": 0.29,
      "extension_from_vwap_pct": -0.04,
      "spread_pct": 0.19
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 5.15,
    "pm_low": 5.12
  },
  {
    "symbol": "RXST",
    "total_score": 30.56,
    "raw_score": 32.39,
    "breakdown": {
      "price_quality": 1.6,
      "volume_quality": 3.12,
      "rvol": 0.12,
      "volume_acceleration": 2.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.59,
      "spread_liquidity": 4.5,
      "momentum_consistency": 2.51,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.6,
      "vwap": 6.6136,
      "vwap_slope": -0.0042,
      "rvol": 0.05,
      "volume_acceleration": 0.73,
      "premarket_volume": 26017.0,
      "momentum_pct": -0.02,
      "consolidation_tightness_pct": 0.08,
      "distance_from_pm_high_pct": 0.55,
      "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": false,
      "vwap_rising": false
    },
    "pm_high": 6.6362,
    "pm_low": 6.6
  },
  {
    "symbol": "LTBR",
    "total_score": 30.45,
    "raw_score": 32.28,
    "breakdown": {
      "price_quality": 2.44,
      "volume_quality": 4.89,
      "rvol": 0.2,
      "volume_acceleration": 1.96,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 4.91,
      "spread_liquidity": 4.1,
      "momentum_consistency": 1.38,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.44,
      "vwap": 7.4821,
      "vwap_slope": -0.0152,
      "rvol": 0.08,
      "volume_acceleration": 0.56,
      "premarket_volume": 40778.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.19,
      "distance_from_pm_high_pct": 1.46,
      "extension_from_vwap_pct": -0.56,
      "spread_pct": 0.27
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 7.55,
    "pm_low": 7.435
  },
  {
    "symbol": "IMRX",
    "total_score": 30.43,
    "raw_score": 32.26,
    "breakdown": {
      "price_quality": 0.0,
      "volume_quality": 3.76,
      "rvol": 0.15,
      "volume_acceleration": 3.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.55,
      "spread_liquidity": 4.33,
      "momentum_consistency": 2.25,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 4.945,
      "vwap": 4.9482,
      "vwap_slope": -0.005,
      "rvol": 0.06,
      "volume_acceleration": 1.38,
      "premarket_volume": 31330.0,
      "momentum_pct": -0.1,
      "consolidation_tightness_pct": 0.2,
      "distance_from_pm_high_pct": 0.6,
      "extension_from_vwap_pct": -0.06,
      "spread_pct": 0.2
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 4.975,
    "pm_low": 4.935
  },
  {
    "symbol": "SSTK",
    "total_score": 30.39,
    "raw_score": 32.21,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 4.81,
      "rvol": 0.19,
      "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.35,
      "spread_liquidity": 3.84,
      "momentum_consistency": 1.93,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.755,
      "vwap": 5.7727,
      "vwap_slope": -0.012,
      "rvol": 0.08,
      "volume_acceleration": 1.22,
      "premarket_volume": 40072.0,
      "momentum_pct": -0.09,
      "consolidation_tightness_pct": 0.26,
      "distance_from_pm_high_pct": 0.86,
      "extension_from_vwap_pct": -0.31,
      "spread_pct": 0.35
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 5.805,
    "pm_low": 5.745
  },
  {
    "symbol": "MRTN",
    "total_score": 30.38,
    "raw_score": 32.2,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 3.09,
      "rvol": 0.12,
      "volume_acceleration": 3.36,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.74,
      "spread_liquidity": 4.76,
      "momentum_consistency": 1.23,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.12,
      "vwap": 14.1392,
      "vwap_slope": -0.0044,
      "rvol": 0.05,
      "volume_acceleration": 0.97,
      "premarket_volume": 25769.0,
      "momentum_pct": -0.11,
      "consolidation_tightness_pct": 0.14,
      "distance_from_pm_high_pct": 0.35,
      "extension_from_vwap_pct": -0.14,
      "spread_pct": 0.07
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 14.17,
    "pm_low": 14.11
  },
  {
    "symbol": "VOXR",
    "total_score": 30.15,
    "raw_score": 31.96,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 3.07,
      "rvol": 0.12,
      "volume_acceleration": 2.41,
      "price_momentum": 0.13,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.74,
      "spread_liquidity": 3.84,
      "momentum_consistency": 2.74,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.73,
      "vwap": 5.7313,
      "vwap_slope": -0.0028,
      "rvol": 0.05,
      "volume_acceleration": 0.69,
      "premarket_volume": 25613.0,
      "momentum_pct": 0.09,
      "consolidation_tightness_pct": 0.26,
      "distance_from_pm_high_pct": 0.35,
      "extension_from_vwap_pct": -0.02,
      "spread_pct": 0.35
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 5.75,
    "pm_low": 5.695
  },
  {
    "symbol": "RWAY",
    "total_score": 29.71,
    "raw_score": 31.5,
    "breakdown": {
      "price_quality": 1.6,
      "volume_quality": 2.94,
      "rvol": 0.12,
      "volume_acceleration": 1.76,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.78,
      "spread_liquidity": 4.5,
      "momentum_consistency": 2.4,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.601,
      "vwap": 6.6078,
      "vwap_slope": -0.003,
      "rvol": 0.05,
      "volume_acceleration": 1.18,
      "premarket_volume": 24480.0,
      "momentum_pct": -0.21,
      "consolidation_tightness_pct": 0.23,
      "distance_from_pm_high_pct": 0.29,
      "extension_from_vwap_pct": -0.1,
      "spread_pct": 0.15
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 6.62,
    "pm_low": 6.595
  },
  {
    "symbol": "SD",
    "total_score": 29.68,
    "raw_score": 31.46,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 2.51,
      "rvol": 0.1,
      "volume_acceleration": 2.76,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.79,
      "spread_liquidity": 4.53,
      "momentum_consistency": 1.87,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.28,
      "vwap": 14.2973,
      "vwap_slope": -0.0039,
      "rvol": 0.04,
      "volume_acceleration": 1.28,
      "premarket_volume": 20891.0,
      "momentum_pct": -0.1,
      "consolidation_tightness_pct": 0.14,
      "distance_from_pm_high_pct": 0.28,
      "extension_from_vwap_pct": -0.12,
      "spread_pct": 0.14
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 14.32,
    "pm_low": 14.28
  },
  {
    "symbol": "NVA",
    "total_score": 29.36,
    "raw_score": 31.12,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 3.08,
      "rvol": 0.12,
      "volume_acceleration": 2.26,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.11,
      "spread_liquidity": 3.85,
      "momentum_consistency": 2.8,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.8,
      "vwap": 5.836,
      "vwap_slope": -0.0135,
      "rvol": 0.05,
      "volume_acceleration": 0.65,
      "premarket_volume": 25667.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.51,
      "distance_from_pm_high_pct": 1.19,
      "extension_from_vwap_pct": -0.62,
      "spread_pct": 0.34
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 5.87,
    "pm_low": 5.8
  },
  {
    "symbol": "XGN",
    "total_score": 29.34,
    "raw_score": 31.1,
    "breakdown": {
      "price_quality": 2.48,
      "volume_quality": 2.67,
      "rvol": 0.11,
      "volume_acceleration": 2.36,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.6,
      "spread_liquidity": 4.11,
      "momentum_consistency": 1.37,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.48,
      "vwap": 7.4921,
      "vwap_slope": -0.0003,
      "rvol": 0.04,
      "volume_acceleration": 1.24,
      "premarket_volume": 22278.0,
      "momentum_pct": -0.27,
      "consolidation_tightness_pct": 0.27,
      "distance_from_pm_high_pct": 0.53,
      "extension_from_vwap_pct": -0.16,
      "spread_pct": 0.27
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 7.52,
    "pm_low": 7.465
  },
  {
    "symbol": "INMD",
    "total_score": 28.82,
    "raw_score": 30.54,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 2.67,
      "rvol": 0.11,
      "volume_acceleration": 1.54,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.85,
      "spread_liquidity": 4.55,
      "momentum_consistency": 1.93,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.84,
      "vwap": 14.8526,
      "vwap_slope": -0.0027,
      "rvol": 0.04,
      "volume_acceleration": 0.44,
      "premarket_volume": 22236.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.03,
      "distance_from_pm_high_pct": 0.2,
      "extension_from_vwap_pct": -0.08,
      "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.87,
    "pm_low": 14.835
  },
  {
    "symbol": "ALIT",
    "total_score": 28.62,
    "raw_score": 30.33,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 4.34,
      "rvol": 0.17,
      "volume_acceleration": 2.0,
      "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": 3.87,
      "momentum_consistency": 1.1,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.74,
      "vwap": 14.8758,
      "vwap_slope": -0.0322,
      "rvol": 0.07,
      "volume_acceleration": 0.57,
      "premarket_volume": 36189.0,
      "momentum_pct": -0.2,
      "consolidation_tightness_pct": 0.2,
      "distance_from_pm_high_pct": 1.4,
      "extension_from_vwap_pct": -0.91,
      "spread_pct": 0.34
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 14.95,
    "pm_low": 14.74
  },
  {
    "symbol": "KPLT",
    "total_score": 27.38,
    "raw_score": 29.02,
    "breakdown": {
      "price_quality": 1.79,
      "volume_quality": 2.93,
      "rvol": 0.12,
      "volume_acceleration": 2.47,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 3.75,
      "spread_liquidity": 2.05,
      "momentum_consistency": 3.5,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.79,
      "vwap": 6.8968,
      "vwap_slope": -0.0165,
      "rvol": 0.05,
      "volume_acceleration": 1.25,
      "premarket_volume": 24424.0,
      "momentum_pct": -0.73,
      "consolidation_tightness_pct": 0.73,
      "distance_from_pm_high_pct": 3.0,
      "extension_from_vwap_pct": -1.55,
      "spread_pct": 0.88
    },
    "flags": {
      "meets_min_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.9999,
    "pm_low": 6.79
  },
  {
    "symbol": "ALTG",
    "total_score": 26.71,
    "raw_score": 28.32,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 2.82,
      "rvol": 0.11,
      "volume_acceleration": 1.89,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.16,
      "spread_liquidity": 2.66,
      "momentum_consistency": 1.78,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.67,
      "vwap": 5.7064,
      "vwap_slope": -0.0087,
      "rvol": 0.05,
      "volume_acceleration": 0.54,
      "premarket_volume": 23513.0,
      "momentum_pct": -0.35,
      "consolidation_tightness_pct": 0.88,
      "distance_from_pm_high_pct": 1.12,
      "extension_from_vwap_pct": -0.64,
      "spread_pct": 0.7
    },
    "flags": {
      "meets_min_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.7343,
    "pm_low": 5.67
  },
  {
    "symbol": "EVCM",
    "total_score": 26.54,
    "raw_score": 28.14,
    "breakdown": {
      "price_quality": 2.98,
      "volume_quality": 2.45,
      "rvol": 0.1,
      "volume_acceleration": 1.75,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 4.26,
      "spread_liquidity": 2.08,
      "momentum_consistency": 2.12,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.9758,
      "vwap": 8.0901,
      "vwap_slope": -0.0149,
      "rvol": 0.04,
      "volume_acceleration": 0.5,
      "premarket_volume": 20385.0,
      "momentum_pct": -0.8,
      "consolidation_tightness_pct": 0.8,
      "distance_from_pm_high_pct": 2.32,
      "extension_from_vwap_pct": -1.41,
      "spread_pct": 0.88
    },
    "flags": {
      "meets_min_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.165,
    "pm_low": 7.9758
  },
  {
    "symbol": "DMRC",
    "total_score": 25.27,
    "raw_score": 26.79,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 2.61,
      "rvol": 0.1,
      "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": 3.79,
      "spread_liquidity": 1.97,
      "momentum_consistency": 2.33,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.495,
      "vwap": 5.5745,
      "vwap_slope": -0.0117,
      "rvol": 0.04,
      "volume_acceleration": 0.6,
      "premarket_volume": 21751.0,
      "momentum_pct": -0.72,
      "consolidation_tightness_pct": 1.22,
      "distance_from_pm_high_pct": 2.95,
      "extension_from_vwap_pct": -1.43,
      "spread_pct": 0.91
    },
    "flags": {
      "meets_min_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.6621,
    "pm_low": 5.495
  }
]