[
  {
    "symbol": "SMR",
    "total_score": 75.87,
    "raw_score": 80.43,
    "breakdown": {
      "price_quality": 4.26,
      "volume_quality": 12.0,
      "rvol": 12.0,
      "volume_acceleration": 1.93,
      "price_momentum": 0.16,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.72,
      "spread_liquidity": 4.64,
      "momentum_consistency": 3.72,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.255,
      "vwap": 9.2506,
      "vwap_slope": 0.0003,
      "rvol": 5.09,
      "volume_acceleration": 0.55,
      "premarket_volume": 2546023.0,
      "momentum_pct": 0.11,
      "consolidation_tightness_pct": 0.32,
      "distance_from_pm_high_pct": 0.38,
      "extension_from_vwap_pct": 0.05,
      "spread_pct": 0.11
    },
    "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": 9.29,
    "pm_low": 9.19
  },
  {
    "symbol": "NU",
    "total_score": 74.09,
    "raw_score": 78.53,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 12.0,
      "volume_acceleration": 2.94,
      "price_momentum": 0.31,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.97,
      "spread_liquidity": 4.77,
      "momentum_consistency": 3.03,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.515,
      "vwap": 14.4818,
      "vwap_slope": 0.0015,
      "rvol": 17.21,
      "volume_acceleration": 0.85,
      "premarket_volume": 8604949.0,
      "momentum_pct": 0.21,
      "consolidation_tightness_pct": 0.34,
      "distance_from_pm_high_pct": 0.03,
      "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": 14.52,
    "pm_low": 14.45
  },
  {
    "symbol": "EMBC",
    "total_score": 69.62,
    "raw_score": 73.8,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 0.6,
      "volume_acceleration": 10,
      "price_momentum": 0.43,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.93,
      "spread_liquidity": 4.36,
      "momentum_consistency": 2.98,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.19,
      "vwap": 5.161,
      "vwap_slope": 0.0028,
      "rvol": 0.25,
      "volume_acceleration": 3.11,
      "premarket_volume": 125064.0,
      "momentum_pct": 0.29,
      "consolidation_tightness_pct": 0.39,
      "distance_from_pm_high_pct": 0.1,
      "extension_from_vwap_pct": 0.56,
      "spread_pct": 0.19
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 5.195,
    "pm_low": 5.125
  },
  {
    "symbol": "RDW",
    "total_score": 68.27,
    "raw_score": 72.37,
    "breakdown": {
      "price_quality": 4.35,
      "volume_quality": 12.0,
      "rvol": 3.54,
      "volume_acceleration": 2.09,
      "price_momentum": 0.35,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.96,
      "spread_liquidity": 4.69,
      "momentum_consistency": 3.39,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.655,
      "vwap": 10.6237,
      "vwap_slope": 0.0039,
      "rvol": 1.47,
      "volume_acceleration": 1.21,
      "premarket_volume": 736825.0,
      "momentum_pct": 0.24,
      "consolidation_tightness_pct": 0.42,
      "distance_from_pm_high_pct": 0.05,
      "extension_from_vwap_pct": 0.29,
      "spread_pct": 0.09
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 10.66,
    "pm_low": 10.6
  },
  {
    "symbol": "SRAD",
    "total_score": 67.87,
    "raw_score": 71.94,
    "breakdown": {
      "price_quality": 2.46,
      "volume_quality": 11.4,
      "rvol": 0.46,
      "volume_acceleration": 8.22,
      "price_momentum": 0.18,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.88,
      "spread_liquidity": 4.73,
      "momentum_consistency": 2.61,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.535,
      "vwap": 12.5175,
      "vwap_slope": 0.0009,
      "rvol": 0.19,
      "volume_acceleration": 1.82,
      "premarket_volume": 94971.0,
      "momentum_pct": 0.12,
      "consolidation_tightness_pct": 0.2,
      "distance_from_pm_high_pct": 0.16,
      "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": true,
      "vwap_rising": true
    },
    "pm_high": 12.555,
    "pm_low": 12.49
  },
  {
    "symbol": "PSKY",
    "total_score": 67.79,
    "raw_score": 71.85,
    "breakdown": {
      "price_quality": 4.04,
      "volume_quality": 12.0,
      "rvol": 5.74,
      "volume_acceleration": 9.71,
      "price_momentum": 0.14,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.9,
      "spread_liquidity": 4.7,
      "momentum_consistency": 3.23,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.955,
      "vwap": 10.9022,
      "vwap_slope": 0.0148,
      "rvol": 2.15,
      "volume_acceleration": 1.97,
      "premarket_volume": 1076570.0,
      "momentum_pct": 0.09,
      "consolidation_tightness_pct": 0.23,
      "distance_from_pm_high_pct": 0.14,
      "extension_from_vwap_pct": 0.48,
      "spread_pct": 0.09
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 10.97,
    "pm_low": 10.8601
  },
  {
    "symbol": "USDE",
    "total_score": 67.69,
    "raw_score": 71.75,
    "breakdown": {
      "price_quality": 3.84,
      "volume_quality": 12.0,
      "rvol": 12.0,
      "volume_acceleration": 2.11,
      "price_momentum": 1.57,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 6.41,
      "distance_from_pm_high": 4.99,
      "spread_liquidity": 3.88,
      "momentum_consistency": 4.14,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.8399,
      "vwap": 8.697,
      "vwap_slope": -0.0069,
      "rvol": 6.11,
      "volume_acceleration": 0.61,
      "premarket_volume": 3057123.0,
      "momentum_pct": 1.05,
      "consolidation_tightness_pct": 5.38,
      "distance_from_pm_high_pct": 1.34,
      "extension_from_vwap_pct": 1.64,
      "spread_pct": 0.34
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 8.96,
    "pm_low": 8.3587
  },
  {
    "symbol": "FLNC",
    "total_score": 67.66,
    "raw_score": 71.72,
    "breakdown": {
      "price_quality": 4.21,
      "volume_quality": 12.0,
      "rvol": 2.32,
      "volume_acceleration": 10,
      "price_momentum": 0.63,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.9,
      "spread_liquidity": 4.69,
      "momentum_consistency": 3.17,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.785,
      "vwap": 10.7599,
      "vwap_slope": -0.0051,
      "rvol": 0.97,
      "volume_acceleration": 2.45,
      "premarket_volume": 482732.0,
      "momentum_pct": 0.42,
      "consolidation_tightness_pct": 0.5,
      "distance_from_pm_high_pct": 0.14,
      "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": true,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 10.8,
    "pm_low": 10.73
  },
  {
    "symbol": "TP",
    "total_score": 67.51,
    "raw_score": 71.56,
    "breakdown": {
      "price_quality": 3.82,
      "volume_quality": 12.0,
      "rvol": 0.53,
      "volume_acceleration": 10,
      "price_momentum": 12,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 3.3,
      "distance_from_pm_high": 4.68,
      "spread_liquidity": 3.88,
      "momentum_consistency": 2.95,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.18,
      "vwap": 10.5212,
      "vwap_slope": 0.3513,
      "rvol": 0.22,
      "volume_acceleration": 3.61,
      "premarket_volume": 109645.0,
      "momentum_pct": 8.39,
      "consolidation_tightness_pct": 10.05,
      "distance_from_pm_high_pct": 1.76,
      "extension_from_vwap_pct": 6.26,
      "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": 11.3799,
    "pm_low": 9.74
  },
  {
    "symbol": "CRML",
    "total_score": 66.76,
    "raw_score": 70.77,
    "breakdown": {
      "price_quality": 2.22,
      "volume_quality": 12.0,
      "rvol": 1.08,
      "volume_acceleration": 5.86,
      "price_momentum": 0.21,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.95,
      "spread_liquidity": 4.54,
      "momentum_consistency": 2.9,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.225,
      "vwap": 7.203,
      "vwap_slope": 0.0048,
      "rvol": 0.45,
      "volume_acceleration": 1.59,
      "premarket_volume": 226023.0,
      "momentum_pct": 0.14,
      "consolidation_tightness_pct": 0.28,
      "distance_from_pm_high_pct": 0.07,
      "extension_from_vwap_pct": 0.31,
      "spread_pct": 0.14
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 7.23,
    "pm_low": 7.175
  },
  {
    "symbol": "IBRX",
    "total_score": 65.98,
    "raw_score": 69.94,
    "breakdown": {
      "price_quality": 2.91,
      "volume_quality": 12.0,
      "rvol": 2.8,
      "volume_acceleration": 2.03,
      "price_momentum": 0.32,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 6,
      "spread_liquidity": 4.58,
      "momentum_consistency": 3.31,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.905,
      "vwap": 7.884,
      "vwap_slope": 0.0022,
      "rvol": 1.17,
      "volume_acceleration": 0.58,
      "premarket_volume": 582845.0,
      "momentum_pct": 0.21,
      "consolidation_tightness_pct": 0.25,
      "distance_from_pm_high_pct": 0.0,
      "extension_from_vwap_pct": 0.27,
      "spread_pct": 0.13
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 7.905,
    "pm_low": 7.8501
  },
  {
    "symbol": "MNRO",
    "total_score": 65.96,
    "raw_score": 69.92,
    "breakdown": {
      "price_quality": 2.46,
      "volume_quality": 8.44,
      "rvol": 0.34,
      "volume_acceleration": 9.25,
      "price_momentum": 0.0,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.91,
      "spread_liquidity": 4.73,
      "momentum_consistency": 2.78,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.545,
      "vwap": 12.5189,
      "vwap_slope": 0.0116,
      "rvol": 0.14,
      "volume_acceleration": 1.93,
      "premarket_volume": 70339.0,
      "momentum_pct": -0.04,
      "consolidation_tightness_pct": 0.32,
      "distance_from_pm_high_pct": 0.12,
      "extension_from_vwap_pct": 0.21,
      "spread_pct": 0.08
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 12.56,
    "pm_low": 12.47
  },
  {
    "symbol": "RCAT",
    "total_score": 65.64,
    "raw_score": 69.58,
    "breakdown": {
      "price_quality": 3.56,
      "volume_quality": 12.0,
      "rvol": 1.62,
      "volume_acceleration": 2.83,
      "price_momentum": 0.09,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.69,
      "spread_liquidity": 4.61,
      "momentum_consistency": 3.17,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.565,
      "vwap": 8.5588,
      "vwap_slope": 0.001,
      "rvol": 0.68,
      "volume_acceleration": 0.81,
      "premarket_volume": 337721.0,
      "momentum_pct": 0.06,
      "consolidation_tightness_pct": 0.28,
      "distance_from_pm_high_pct": 0.41,
      "extension_from_vwap_pct": 0.07,
      "spread_pct": 0.12
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 8.6,
    "pm_low": 8.52
  },
  {
    "symbol": "NWL",
    "total_score": 65.58,
    "raw_score": 69.52,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 5.75,
      "volume_acceleration": 10,
      "price_momentum": 0.51,
      "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.9,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.18,
      "vwap": 6.1199,
      "vwap_slope": 0.0137,
      "rvol": 2.16,
      "volume_acceleration": 4.74,
      "premarket_volume": 1078403.0,
      "momentum_pct": 0.34,
      "consolidation_tightness_pct": 0.42,
      "distance_from_pm_high_pct": 0.0,
      "extension_from_vwap_pct": 0.98,
      "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.18,
    "pm_low": 6.075
  },
  {
    "symbol": "QXO",
    "total_score": 65.39,
    "raw_score": 69.31,
    "breakdown": {
      "price_quality": 1.56,
      "volume_quality": 12.0,
      "rvol": 5.34,
      "volume_acceleration": 10,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.81,
      "spread_liquidity": 4.75,
      "momentum_consistency": 3.45,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.435,
      "vwap": 13.429,
      "vwap_slope": 0.0026,
      "rvol": 2.0,
      "volume_acceleration": 2.88,
      "premarket_volume": 1001174.0,
      "momentum_pct": -0.04,
      "consolidation_tightness_pct": 0.26,
      "distance_from_pm_high_pct": 0.26,
      "extension_from_vwap_pct": 0.04,
      "spread_pct": 0.07
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 13.47,
    "pm_low": 13.4
  },
  {
    "symbol": "EQX",
    "total_score": 64.78,
    "raw_score": 68.67,
    "breakdown": {
      "price_quality": 2.31,
      "volume_quality": 12.0,
      "rvol": 2.28,
      "volume_acceleration": 1.91,
      "price_momentum": 0.24,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.88,
      "spread_liquidity": 4.74,
      "momentum_consistency": 3.31,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.69,
      "vwap": 12.6593,
      "vwap_slope": 0.008,
      "rvol": 0.95,
      "volume_acceleration": 1.19,
      "premarket_volume": 474153.0,
      "momentum_pct": 0.16,
      "consolidation_tightness_pct": 0.24,
      "distance_from_pm_high_pct": 0.16,
      "extension_from_vwap_pct": 0.24,
      "spread_pct": 0.08
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 12.71,
    "pm_low": 12.615
  },
  {
    "symbol": "WU",
    "total_score": 64.69,
    "raw_score": 68.58,
    "breakdown": {
      "price_quality": 2.18,
      "volume_quality": 12.0,
      "rvol": 5.63,
      "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.9,
      "spread_liquidity": 4.54,
      "momentum_consistency": 1.93,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.18,
      "vwap": 7.1569,
      "vwap_slope": 0.0021,
      "rvol": 2.11,
      "volume_acceleration": 2.51,
      "premarket_volume": 1056243.0,
      "momentum_pct": -0.07,
      "consolidation_tightness_pct": 0.14,
      "distance_from_pm_high_pct": 0.14,
      "extension_from_vwap_pct": 0.32,
      "spread_pct": 0.14
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 7.19,
    "pm_low": 7.11
  },
  {
    "symbol": "NEXT",
    "total_score": 64.64,
    "raw_score": 68.52,
    "breakdown": {
      "price_quality": 2.5,
      "volume_quality": 12.0,
      "rvol": 0.76,
      "volume_acceleration": 4.51,
      "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.56,
      "momentum_consistency": 2.14,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.505,
      "vwap": 7.4903,
      "vwap_slope": 0.0016,
      "rvol": 0.32,
      "volume_acceleration": 1.45,
      "premarket_volume": 157650.0,
      "momentum_pct": 0.13,
      "consolidation_tightness_pct": 0.27,
      "distance_from_pm_high_pct": 0.2,
      "extension_from_vwap_pct": 0.2,
      "spread_pct": 0.13
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 7.5199,
    "pm_low": 7.465
  },
  {
    "symbol": "MARA",
    "total_score": 64.6,
    "raw_score": 68.47,
    "breakdown": {
      "price_quality": 4.29,
      "volume_quality": 12.0,
      "rvol": 10.28,
      "volume_acceleration": 2.15,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.76,
      "spread_liquidity": 4.69,
      "momentum_consistency": 2.9,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.705,
      "vwap": 10.6947,
      "vwap_slope": 0.0028,
      "rvol": 3.86,
      "volume_acceleration": 0.62,
      "premarket_volume": 1927850.0,
      "momentum_pct": -0.09,
      "consolidation_tightness_pct": 0.14,
      "distance_from_pm_high_pct": 0.33,
      "extension_from_vwap_pct": 0.1,
      "spread_pct": 0.09
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 10.74,
    "pm_low": 10.655
  },
  {
    "symbol": "EROC",
    "total_score": 64.59,
    "raw_score": 68.46,
    "breakdown": {
      "price_quality": 3.18,
      "volume_quality": 12.0,
      "rvol": 1.1,
      "volume_acceleration": 2.11,
      "price_momentum": 0.77,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 6,
      "spread_liquidity": 3.31,
      "momentum_consistency": 4.0,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.82,
      "vwap": 11.714,
      "vwap_slope": 0.0065,
      "rvol": 0.46,
      "volume_acceleration": 0.61,
      "premarket_volume": 228847.0,
      "momentum_pct": 0.51,
      "consolidation_tightness_pct": 0.59,
      "distance_from_pm_high_pct": 0.0,
      "extension_from_vwap_pct": 0.91,
      "spread_pct": 0.51
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 11.82,
    "pm_low": 11.64
  },
  {
    "symbol": "BTG",
    "total_score": 64.21,
    "raw_score": 68.06,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 12.0,
      "volume_acceleration": 3.84,
      "price_momentum": 0.14,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.86,
      "spread_liquidity": 4.39,
      "momentum_consistency": 1.93,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.49,
      "vwap": 5.4842,
      "vwap_slope": 0.0015,
      "rvol": 6.54,
      "volume_acceleration": 1.1,
      "premarket_volume": 3270459.0,
      "momentum_pct": 0.09,
      "consolidation_tightness_pct": 0.27,
      "distance_from_pm_high_pct": 0.18,
      "extension_from_vwap_pct": 0.11,
      "spread_pct": 0.18
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 5.5,
    "pm_low": 5.47
  },
  {
    "symbol": "COMP",
    "total_score": 64.07,
    "raw_score": 67.92,
    "breakdown": {
      "price_quality": 4.44,
      "volume_quality": 12.0,
      "rvol": 7.48,
      "volume_acceleration": 3.85,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.75,
      "spread_liquidity": 4.68,
      "momentum_consistency": 3.31,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.565,
      "vwap": 10.535,
      "vwap_slope": 0.0082,
      "rvol": 2.8,
      "volume_acceleration": 1.11,
      "premarket_volume": 1402412.0,
      "momentum_pct": -0.13,
      "consolidation_tightness_pct": 0.14,
      "distance_from_pm_high_pct": 0.33,
      "extension_from_vwap_pct": 0.28,
      "spread_pct": 0.09
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 10.6,
    "pm_low": 10.48
  },
  {
    "symbol": "CRK",
    "total_score": 63.93,
    "raw_score": 67.77,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 0.53,
      "volume_acceleration": 3.86,
      "price_momentum": 0.05,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.88,
      "spread_liquidity": 4.77,
      "momentum_consistency": 3.17,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.525,
      "vwap": 14.5142,
      "vwap_slope": 0.0001,
      "rvol": 0.22,
      "volume_acceleration": 1.11,
      "premarket_volume": 111417.0,
      "momentum_pct": 0.03,
      "consolidation_tightness_pct": 0.28,
      "distance_from_pm_high_pct": 0.16,
      "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": true,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 14.5477,
    "pm_low": 14.48
  },
  {
    "symbol": "SG",
    "total_score": 63.87,
    "raw_score": 67.71,
    "breakdown": {
      "price_quality": 2.06,
      "volume_quality": 12.0,
      "rvol": 2.65,
      "volume_acceleration": 10,
      "price_momentum": 0.51,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.83,
      "spread_liquidity": 4.53,
      "momentum_consistency": 3.72,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.0591,
      "vwap": 7.0051,
      "vwap_slope": 0.0141,
      "rvol": 1.1,
      "volume_acceleration": 2.39,
      "premarket_volume": 552303.0,
      "momentum_pct": 0.34,
      "consolidation_tightness_pct": 0.71,
      "distance_from_pm_high_pct": 0.22,
      "extension_from_vwap_pct": 0.77,
      "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.075,
    "pm_low": 6.935
  },
  {
    "symbol": "SNAP",
    "total_score": 63.81,
    "raw_score": 67.64,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 12.0,
      "volume_acceleration": 3.13,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.73,
      "spread_liquidity": 4.4,
      "momentum_consistency": 2.48,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.525,
      "vwap": 5.5246,
      "vwap_slope": 0.0001,
      "rvol": 8.67,
      "volume_acceleration": 0.9,
      "premarket_volume": 4332939.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.27,
      "distance_from_pm_high_pct": 0.36,
      "extension_from_vwap_pct": 0.01,
      "spread_pct": 0.18
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 5.545,
    "pm_low": 5.5
  },
  {
    "symbol": "WLTH",
    "total_score": 63.72,
    "raw_score": 67.54,
    "breakdown": {
      "price_quality": 4.21,
      "volume_quality": 12.0,
      "rvol": 0.92,
      "volume_acceleration": 10,
      "price_momentum": 0.33,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.96,
      "spread_liquidity": 4.64,
      "momentum_consistency": 3.09,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.21,
      "vwap": 9.1726,
      "vwap_slope": 0.0016,
      "rvol": 0.38,
      "volume_acceleration": 4.98,
      "premarket_volume": 191527.0,
      "momentum_pct": 0.22,
      "consolidation_tightness_pct": 0.27,
      "distance_from_pm_high_pct": 0.05,
      "extension_from_vwap_pct": 0.41,
      "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.215,
    "pm_low": 9.145
  },
  {
    "symbol": "PD",
    "total_score": 63.38,
    "raw_score": 67.19,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 0.69,
      "volume_acceleration": 2.69,
      "price_momentum": 0.32,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.84,
      "spread_liquidity": 4.76,
      "momentum_consistency": 3.38,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.145,
      "vwap": 14.1089,
      "vwap_slope": 0.0032,
      "rvol": 0.29,
      "volume_acceleration": 1.27,
      "premarket_volume": 143441.0,
      "momentum_pct": 0.21,
      "consolidation_tightness_pct": 0.28,
      "distance_from_pm_high_pct": 0.21,
      "extension_from_vwap_pct": 0.26,
      "spread_pct": 0.07
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 14.175,
    "pm_low": 14.05
  },
  {
    "symbol": "AMCX",
    "total_score": 63.33,
    "raw_score": 67.13,
    "breakdown": {
      "price_quality": 2.45,
      "volume_quality": 3.88,
      "rvol": 0.16,
      "volume_acceleration": 10,
      "price_momentum": 0.54,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 6,
      "spread_liquidity": 4.47,
      "momentum_consistency": 3.64,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.55,
      "vwap": 12.4896,
      "vwap_slope": 0.0216,
      "rvol": 0.06,
      "volume_acceleration": 2.76,
      "premarket_volume": 32309.0,
      "momentum_pct": 0.36,
      "consolidation_tightness_pct": 0.36,
      "distance_from_pm_high_pct": 0.0,
      "extension_from_vwap_pct": 0.48,
      "spread_pct": 0.16
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 12.55,
    "pm_low": 12.45
  },
  {
    "symbol": "RKT",
    "total_score": 63.27,
    "raw_score": 67.07,
    "breakdown": {
      "price_quality": 1.66,
      "volume_quality": 12.0,
      "rvol": 7.16,
      "volume_acceleration": 6.73,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.89,
      "spread_liquidity": 4.75,
      "momentum_consistency": 2.48,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.34,
      "vwap": 13.3336,
      "vwap_slope": 0.0014,
      "rvol": 2.69,
      "volume_acceleration": 1.67,
      "premarket_volume": 1343019.0,
      "momentum_pct": -0.07,
      "consolidation_tightness_pct": 0.15,
      "distance_from_pm_high_pct": 0.15,
      "extension_from_vwap_pct": 0.05,
      "spread_pct": 0.07
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 13.36,
    "pm_low": 13.31
  },
  {
    "symbol": "STUB",
    "total_score": 63.17,
    "raw_score": 66.96,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 6.01,
      "volume_acceleration": 9.0,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.64,
      "spread_liquidity": 4.47,
      "momentum_consistency": 1.93,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.275,
      "vwap": 6.2733,
      "vwap_slope": 0.0035,
      "rvol": 2.26,
      "volume_acceleration": 1.9,
      "premarket_volume": 1127763.0,
      "momentum_pct": -0.16,
      "consolidation_tightness_pct": 0.32,
      "distance_from_pm_high_pct": 0.48,
      "extension_from_vwap_pct": 0.03,
      "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.305,
    "pm_low": 6.2302
  },
  {
    "symbol": "UUUU",
    "total_score": 63.11,
    "raw_score": 66.89,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 1.19,
      "volume_acceleration": 1.85,
      "price_momentum": 0.21,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.92,
      "spread_liquidity": 4.77,
      "momentum_consistency": 3.45,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.665,
      "vwap": 14.643,
      "vwap_slope": 0.0019,
      "rvol": 0.49,
      "volume_acceleration": 1.18,
      "premarket_volume": 247498.0,
      "momentum_pct": 0.14,
      "consolidation_tightness_pct": 0.2,
      "distance_from_pm_high_pct": 0.1,
      "extension_from_vwap_pct": 0.15,
      "spread_pct": 0.07
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 14.68,
    "pm_low": 14.605
  },
  {
    "symbol": "SOUN",
    "total_score": 63.07,
    "raw_score": 66.85,
    "breakdown": {
      "price_quality": 2.11,
      "volume_quality": 12.0,
      "rvol": 9.15,
      "volume_acceleration": 2.11,
      "price_momentum": 0.25,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.7,
      "spread_liquidity": 4.53,
      "momentum_consistency": 2.21,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.1114,
      "vwap": 7.1042,
      "vwap_slope": -0.0,
      "rvol": 3.43,
      "volume_acceleration": 1.21,
      "premarket_volume": 1716135.0,
      "momentum_pct": 0.16,
      "consolidation_tightness_pct": 0.42,
      "distance_from_pm_high_pct": 0.4,
      "extension_from_vwap_pct": 0.1,
      "spread_pct": 0.14
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 7.14,
    "pm_low": 7.08
  },
  {
    "symbol": "UPWK",
    "total_score": 62.86,
    "raw_score": 66.63,
    "breakdown": {
      "price_quality": 3.94,
      "volume_quality": 12.0,
      "rvol": 1.91,
      "volume_acceleration": 10,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.79,
      "spread_liquidity": 4.63,
      "momentum_consistency": 1.96,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.935,
      "vwap": 8.926,
      "vwap_slope": 0.0003,
      "rvol": 0.8,
      "volume_acceleration": 2.38,
      "premarket_volume": 397982.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.22,
      "distance_from_pm_high_pct": 0.28,
      "extension_from_vwap_pct": 0.1,
      "spread_pct": 0.11
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 8.96,
    "pm_low": 8.895
  },
  {
    "symbol": "DOLE",
    "total_score": 62.3,
    "raw_score": 66.04,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 11.08,
      "rvol": 0.44,
      "volume_acceleration": 3.85,
      "price_momentum": 0.05,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.97,
      "spread_liquidity": 4.76,
      "momentum_consistency": 2.38,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.82,
      "vwap": 13.8052,
      "vwap_slope": 0.0017,
      "rvol": 0.18,
      "volume_acceleration": 1.11,
      "premarket_volume": 92336.0,
      "momentum_pct": 0.04,
      "consolidation_tightness_pct": 0.11,
      "distance_from_pm_high_pct": 0.04,
      "extension_from_vwap_pct": 0.11,
      "spread_pct": 0.07
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 13.825,
    "pm_low": 13.78
  },
  {
    "symbol": "FUBO",
    "total_score": 61.85,
    "raw_score": 65.56,
    "breakdown": {
      "price_quality": 4.48,
      "volume_quality": 5.71,
      "rvol": 0.23,
      "volume_acceleration": 4.08,
      "price_momentum": 0.68,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 6,
      "spread_liquidity": 4.37,
      "momentum_consistency": 4.0,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.515,
      "vwap": 10.4498,
      "vwap_slope": 0.0251,
      "rvol": 0.1,
      "volume_acceleration": 1.41,
      "premarket_volume": 47588.0,
      "momentum_pct": 0.45,
      "consolidation_tightness_pct": 0.62,
      "distance_from_pm_high_pct": 0.0,
      "extension_from_vwap_pct": 0.62,
      "spread_pct": 0.19
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 10.515,
    "pm_low": 10.39
  },
  {
    "symbol": "BKKT",
    "total_score": 61.84,
    "raw_score": 65.55,
    "breakdown": {
      "price_quality": 2.65,
      "volume_quality": 10.13,
      "rvol": 0.41,
      "volume_acceleration": 3.53,
      "price_momentum": 0.39,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.71,
      "spread_liquidity": 4.13,
      "momentum_consistency": 2.61,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.65,
      "vwap": 7.6362,
      "vwap_slope": 0.002,
      "rvol": 0.17,
      "volume_acceleration": 1.01,
      "premarket_volume": 84448.0,
      "momentum_pct": 0.26,
      "consolidation_tightness_pct": 0.33,
      "distance_from_pm_high_pct": 0.39,
      "extension_from_vwap_pct": 0.18,
      "spread_pct": 0.26
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 7.68,
    "pm_low": 7.595
  },
  {
    "symbol": "MNTN",
    "total_score": 61.54,
    "raw_score": 65.23,
    "breakdown": {
      "price_quality": 1.79,
      "volume_quality": 12.0,
      "rvol": 0.86,
      "volume_acceleration": 10,
      "price_momentum": 0.51,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.86,
      "spread_liquidity": 4.24,
      "momentum_consistency": 3.56,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.205,
      "vwap": 13.1141,
      "vwap_slope": 0.0694,
      "rvol": 0.36,
      "volume_acceleration": 7.8,
      "premarket_volume": 179784.0,
      "momentum_pct": 0.34,
      "consolidation_tightness_pct": 0.61,
      "distance_from_pm_high_pct": 0.19,
      "extension_from_vwap_pct": 0.69,
      "spread_pct": 0.23
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 13.23,
    "pm_low": 13.01
  },
  {
    "symbol": "LSPD",
    "total_score": 61.46,
    "raw_score": 65.15,
    "breakdown": {
      "price_quality": 4.37,
      "volume_quality": 7.56,
      "rvol": 0.3,
      "volume_acceleration": 3.87,
      "price_momentum": 0.28,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 6,
      "spread_liquidity": 4.69,
      "momentum_consistency": 2.08,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.635,
      "vwap": 10.6083,
      "vwap_slope": 0.0009,
      "rvol": 0.13,
      "volume_acceleration": 1.39,
      "premarket_volume": 63010.0,
      "momentum_pct": 0.19,
      "consolidation_tightness_pct": 0.19,
      "distance_from_pm_high_pct": 0.0,
      "extension_from_vwap_pct": 0.25,
      "spread_pct": 0.09
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 10.635,
    "pm_low": 10.595
  },
  {
    "symbol": "GNL",
    "total_score": 61.41,
    "raw_score": 65.09,
    "breakdown": {
      "price_quality": 4.18,
      "volume_quality": 11.17,
      "rvol": 0.45,
      "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.96,
      "spread_liquidity": 4.64,
      "momentum_consistency": 2.31,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.175,
      "vwap": 9.1717,
      "vwap_slope": 0.0058,
      "rvol": 0.19,
      "volume_acceleration": 2.15,
      "premarket_volume": 93066.0,
      "momentum_pct": -0.05,
      "consolidation_tightness_pct": 0.11,
      "distance_from_pm_high_pct": 0.05,
      "extension_from_vwap_pct": 0.04,
      "spread_pct": 0.11
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 9.18,
    "pm_low": 9.16
  },
  {
    "symbol": "AURA",
    "total_score": 61.31,
    "raw_score": 64.99,
    "breakdown": {
      "price_quality": 2.17,
      "volume_quality": 5.04,
      "rvol": 0.2,
      "volume_acceleration": 8.62,
      "price_momentum": 0.42,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.95,
      "spread_liquidity": 4.07,
      "momentum_consistency": 2.53,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.17,
      "vwap": 7.1258,
      "vwap_slope": 0.0075,
      "rvol": 0.08,
      "volume_acceleration": 1.86,
      "premarket_volume": 41974.0,
      "momentum_pct": 0.28,
      "consolidation_tightness_pct": 0.28,
      "distance_from_pm_high_pct": 0.07,
      "extension_from_vwap_pct": 0.62,
      "spread_pct": 0.28
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 7.175,
    "pm_low": 7.08
  },
  {
    "symbol": "CLSK",
    "total_score": 61.22,
    "raw_score": 64.9,
    "breakdown": {
      "price_quality": 3.39,
      "volume_quality": 12.0,
      "rvol": 5.61,
      "volume_acceleration": 3.26,
      "price_momentum": 0.52,
      "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.03,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.605,
      "vwap": 11.56,
      "vwap_slope": 0.0037,
      "rvol": 2.1,
      "volume_acceleration": 1.33,
      "premarket_volume": 1052095.0,
      "momentum_pct": 0.35,
      "consolidation_tightness_pct": 0.43,
      "distance_from_pm_high_pct": 0.04,
      "extension_from_vwap_pct": 0.39,
      "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.61,
    "pm_low": 11.51
  },
  {
    "symbol": "PAYS",
    "total_score": 61.16,
    "raw_score": 64.83,
    "breakdown": {
      "price_quality": 2.7,
      "volume_quality": 10.39,
      "rvol": 0.42,
      "volume_acceleration": 1.74,
      "price_momentum": 0.24,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.88,
      "spread_liquidity": 4.19,
      "momentum_consistency": 3.27,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.3,
      "vwap": 12.2461,
      "vwap_slope": 0.0099,
      "rvol": 0.17,
      "volume_acceleration": 1.17,
      "premarket_volume": 86564.0,
      "momentum_pct": 0.16,
      "consolidation_tightness_pct": 0.33,
      "distance_from_pm_high_pct": 0.16,
      "extension_from_vwap_pct": 0.44,
      "spread_pct": 0.24
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 12.32,
    "pm_low": 12.1501
  },
  {
    "symbol": "XMAX",
    "total_score": 61.12,
    "raw_score": 64.79,
    "breakdown": {
      "price_quality": 3.97,
      "volume_quality": 3.74,
      "rvol": 0.15,
      "volume_acceleration": 6.4,
      "price_momentum": 0.84,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 6,
      "spread_liquidity": 4.26,
      "momentum_consistency": 3.43,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.975,
      "vwap": 8.9487,
      "vwap_slope": 0.0067,
      "rvol": 0.06,
      "volume_acceleration": 1.64,
      "premarket_volume": 31173.0,
      "momentum_pct": 0.56,
      "consolidation_tightness_pct": 0.56,
      "distance_from_pm_high_pct": 0.0,
      "extension_from_vwap_pct": 0.29,
      "spread_pct": 0.22
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 8.975,
    "pm_low": 8.925
  },
  {
    "symbol": "HTLD",
    "total_score": 60.96,
    "raw_score": 64.62,
    "breakdown": {
      "price_quality": 2.64,
      "volume_quality": 6.54,
      "rvol": 0.26,
      "volume_acceleration": 5.41,
      "price_momentum": 0.49,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.94,
      "spread_liquidity": 4.46,
      "momentum_consistency": 2.89,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.36,
      "vwap": 12.32,
      "vwap_slope": 0.009,
      "rvol": 0.11,
      "volume_acceleration": 1.54,
      "premarket_volume": 54474.0,
      "momentum_pct": 0.32,
      "consolidation_tightness_pct": 0.41,
      "distance_from_pm_high_pct": 0.08,
      "extension_from_vwap_pct": 0.32,
      "spread_pct": 0.16
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 12.37,
    "pm_low": 12.28
  },
  {
    "symbol": "LZ",
    "total_score": 60.88,
    "raw_score": 64.53,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 1.1,
      "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.94,
      "spread_liquidity": 4.46,
      "momentum_consistency": 2.88,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.205,
      "vwap": 6.1589,
      "vwap_slope": 0.0039,
      "rvol": 0.46,
      "volume_acceleration": 2.13,
      "premarket_volume": 229943.0,
      "momentum_pct": 0.16,
      "consolidation_tightness_pct": 0.32,
      "distance_from_pm_high_pct": 0.08,
      "extension_from_vwap_pct": 0.75,
      "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.21,
    "pm_low": 6.095
  },
  {
    "symbol": "CRMD",
    "total_score": 60.8,
    "raw_score": 64.45,
    "breakdown": {
      "price_quality": 3.22,
      "volume_quality": 8.02,
      "rvol": 0.32,
      "volume_acceleration": 3.32,
      "price_momentum": 0.18,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.97,
      "spread_liquidity": 4.59,
      "momentum_consistency": 2.81,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.225,
      "vwap": 8.1984,
      "vwap_slope": 0.0052,
      "rvol": 0.13,
      "volume_acceleration": 0.95,
      "premarket_volume": 66833.0,
      "momentum_pct": 0.12,
      "consolidation_tightness_pct": 0.22,
      "distance_from_pm_high_pct": 0.04,
      "extension_from_vwap_pct": 0.32,
      "spread_pct": 0.12
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 8.228,
    "pm_low": 8.155
  },
  {
    "symbol": "ADTN",
    "total_score": 60.66,
    "raw_score": 64.3,
    "breakdown": {
      "price_quality": 2.72,
      "volume_quality": 12.0,
      "rvol": 0.64,
      "volume_acceleration": 10,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.85,
      "spread_liquidity": 4.14,
      "momentum_consistency": 2.55,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.72,
      "vwap": 7.7119,
      "vwap_slope": 0.0033,
      "rvol": 0.27,
      "volume_acceleration": 4.9,
      "premarket_volume": 133069.0,
      "momentum_pct": -0.16,
      "consolidation_tightness_pct": 0.26,
      "distance_from_pm_high_pct": 0.19,
      "extension_from_vwap_pct": 0.1,
      "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": 7.735,
    "pm_low": 7.67
  },
  {
    "symbol": "IMMX",
    "total_score": 60.39,
    "raw_score": 64.01,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 11.06,
      "rvol": 0.44,
      "volume_acceleration": 1.77,
      "price_momentum": 0.44,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.95,
      "spread_liquidity": 3.79,
      "momentum_consistency": 3.06,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.72,
      "vwap": 13.6383,
      "vwap_slope": 0.0406,
      "rvol": 0.18,
      "volume_acceleration": 1.18,
      "premarket_volume": 92183.0,
      "momentum_pct": 0.29,
      "consolidation_tightness_pct": 0.36,
      "distance_from_pm_high_pct": 0.07,
      "extension_from_vwap_pct": 0.6,
      "spread_pct": 0.36
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 13.73,
    "pm_low": 13.57
  },
  {
    "symbol": "NUVB",
    "total_score": 60.11,
    "raw_score": 63.72,
    "breakdown": {
      "price_quality": 1.54,
      "volume_quality": 12.0,
      "rvol": 1.35,
      "volume_acceleration": 9.23,
      "price_momentum": 0.11,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.83,
      "spread_liquidity": 4.49,
      "momentum_consistency": 2.77,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.535,
      "vwap": 6.5246,
      "vwap_slope": 0.002,
      "rvol": 0.56,
      "volume_acceleration": 1.92,
      "premarket_volume": 280674.0,
      "momentum_pct": 0.08,
      "consolidation_tightness_pct": 0.15,
      "distance_from_pm_high_pct": 0.23,
      "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": true,
      "vwap_rising": true
    },
    "pm_high": 6.55,
    "pm_low": 6.51
  },
  {
    "symbol": "SBET",
    "total_score": 60.03,
    "raw_score": 63.63,
    "breakdown": {
      "price_quality": 3.49,
      "volume_quality": 12.0,
      "rvol": 4.19,
      "volume_acceleration": 3.08,
      "price_momentum": 0.09,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.91,
      "spread_liquidity": 4.61,
      "momentum_consistency": 3.86,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.49,
      "vwap": 8.4266,
      "vwap_slope": 0.0233,
      "rvol": 1.57,
      "volume_acceleration": 0.89,
      "premarket_volume": 784758.0,
      "momentum_pct": 0.06,
      "consolidation_tightness_pct": 0.35,
      "distance_from_pm_high_pct": 0.12,
      "extension_from_vwap_pct": 0.75,
      "spread_pct": 0.12
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 8.5,
    "pm_low": 8.3614
  },
  {
    "symbol": "SHOE",
    "total_score": 59.96,
    "raw_score": 63.55,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 8.2,
      "rvol": 0.33,
      "volume_acceleration": 2.27,
      "price_momentum": 0.23,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 6,
      "spread_liquidity": 4.76,
      "momentum_consistency": 4.27,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.6891,
      "vwap": 13.6024,
      "vwap_slope": 0.0311,
      "rvol": 0.14,
      "volume_acceleration": 0.65,
      "premarket_volume": 68368.0,
      "momentum_pct": 0.15,
      "consolidation_tightness_pct": 0.25,
      "distance_from_pm_high_pct": 0.0,
      "extension_from_vwap_pct": 0.64,
      "spread_pct": 0.07
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 13.6891,
    "pm_low": 13.51
  },
  {
    "symbol": "ASAN",
    "total_score": 59.95,
    "raw_score": 63.54,
    "breakdown": {
      "price_quality": 4.72,
      "volume_quality": 12.0,
      "rvol": 2.41,
      "volume_acceleration": 3.61,
      "price_momentum": 0.31,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.96,
      "spread_liquidity": 4.68,
      "momentum_consistency": 3.45,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.28,
      "vwap": 10.2327,
      "vwap_slope": 0.0034,
      "rvol": 1.01,
      "volume_acceleration": 1.04,
      "premarket_volume": 502751.0,
      "momentum_pct": 0.2,
      "consolidation_tightness_pct": 0.39,
      "distance_from_pm_high_pct": 0.05,
      "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": true,
      "vwap_rising": true
    },
    "pm_high": 10.285,
    "pm_low": 10.195
  },
  {
    "symbol": "RPD",
    "total_score": 59.87,
    "raw_score": 63.46,
    "breakdown": {
      "price_quality": 1.65,
      "volume_quality": 12.0,
      "rvol": 0.49,
      "volume_acceleration": 10,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.8,
      "spread_liquidity": 4.5,
      "momentum_consistency": 2.62,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.35,
      "vwap": 13.2865,
      "vwap_slope": 0.0571,
      "rvol": 0.2,
      "volume_acceleration": 2.76,
      "premarket_volume": 102134.0,
      "momentum_pct": -0.11,
      "consolidation_tightness_pct": 0.3,
      "distance_from_pm_high_pct": 0.26,
      "extension_from_vwap_pct": 0.48,
      "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.385,
    "pm_low": 13.18
  },
  {
    "symbol": "SVRA",
    "total_score": 59.87,
    "raw_score": 63.46,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 0.84,
      "volume_acceleration": 10,
      "price_momentum": 0.03,
      "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": 2.38,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.36,
      "vwap": 5.3438,
      "vwap_slope": 0.0011,
      "rvol": 0.35,
      "volume_acceleration": 2.86,
      "premarket_volume": 175735.0,
      "momentum_pct": 0.02,
      "consolidation_tightness_pct": 0.28,
      "distance_from_pm_high_pct": 0.09,
      "extension_from_vwap_pct": 0.3,
      "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.365,
    "pm_low": 5.33
  },
  {
    "symbol": "PAYO",
    "total_score": 59.72,
    "raw_score": 63.31,
    "breakdown": {
      "price_quality": 2.12,
      "volume_quality": 12.0,
      "rvol": 0.49,
      "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.53,
      "momentum_consistency": 1.66,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.12,
      "vwap": 7.1169,
      "vwap_slope": 0.0017,
      "rvol": 0.2,
      "volume_acceleration": 2.52,
      "premarket_volume": 102232.0,
      "momentum_pct": 0.07,
      "consolidation_tightness_pct": 0.14,
      "distance_from_pm_high_pct": 0.0,
      "extension_from_vwap_pct": 0.04,
      "spread_pct": 0.14
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 7.12,
    "pm_low": 7.11
  },
  {
    "symbol": "IE",
    "total_score": 59.61,
    "raw_score": 63.18,
    "breakdown": {
      "price_quality": 4.1,
      "volume_quality": 11.62,
      "rvol": 0.46,
      "volume_acceleration": 3.78,
      "price_momentum": 0.21,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.86,
      "spread_liquidity": 4.69,
      "momentum_consistency": 3.67,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.905,
      "vwap": 10.8975,
      "vwap_slope": -0.0015,
      "rvol": 0.19,
      "volume_acceleration": 1.09,
      "premarket_volume": 96793.0,
      "momentum_pct": 0.14,
      "consolidation_tightness_pct": 0.23,
      "distance_from_pm_high_pct": 0.18,
      "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": true,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 10.925,
    "pm_low": 10.865
  },
  {
    "symbol": "AI",
    "total_score": 59.36,
    "raw_score": 62.92,
    "breakdown": {
      "price_quality": 4.23,
      "volume_quality": 12.0,
      "rvol": 2.43,
      "volume_acceleration": 1.64,
      "price_momentum": 0.22,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.86,
      "spread_liquidity": 4.69,
      "momentum_consistency": 3.03,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.765,
      "vwap": 10.7595,
      "vwap_slope": -0.0025,
      "rvol": 1.01,
      "volume_acceleration": 1.16,
      "premarket_volume": 506116.0,
      "momentum_pct": 0.15,
      "consolidation_tightness_pct": 0.46,
      "distance_from_pm_high_pct": 0.19,
      "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": true,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 10.785,
    "pm_low": 10.725
  },
  {
    "symbol": "TDAY",
    "total_score": 58.96,
    "raw_score": 62.5,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 0.72,
      "volume_acceleration": 10,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.7,
      "spread_liquidity": 4.46,
      "momentum_consistency": 1.71,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.215,
      "vwap": 6.2077,
      "vwap_slope": 0.0119,
      "rvol": 0.3,
      "volume_acceleration": 2.08,
      "premarket_volume": 150622.0,
      "momentum_pct": -0.32,
      "consolidation_tightness_pct": 0.4,
      "distance_from_pm_high_pct": 0.4,
      "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.24,
    "pm_low": 6.185
  },
  {
    "symbol": "VERX",
    "total_score": 58.84,
    "raw_score": 62.37,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 0.53,
      "volume_acceleration": 8.34,
      "price_momentum": 0.1,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 6,
      "spread_liquidity": 4.77,
      "momentum_consistency": 2.72,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.305,
      "vwap": 14.2669,
      "vwap_slope": 0.0105,
      "rvol": 0.22,
      "volume_acceleration": 1.83,
      "premarket_volume": 109751.0,
      "momentum_pct": 0.07,
      "consolidation_tightness_pct": 0.14,
      "distance_from_pm_high_pct": 0.0,
      "extension_from_vwap_pct": 0.27,
      "spread_pct": 0.07
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 14.305,
    "pm_low": 14.24
  },
  {
    "symbol": "SMWB",
    "total_score": 58.39,
    "raw_score": 61.9,
    "breakdown": {
      "price_quality": 4.22,
      "volume_quality": 8.24,
      "rvol": 0.33,
      "volume_acceleration": 10,
      "price_momentum": 0.33,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.92,
      "spread_liquidity": 3.56,
      "momentum_consistency": 2.91,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.22,
      "vwap": 9.1843,
      "vwap_slope": 0.0116,
      "rvol": 0.14,
      "volume_acceleration": 2.07,
      "premarket_volume": 68645.0,
      "momentum_pct": 0.22,
      "consolidation_tightness_pct": 0.22,
      "distance_from_pm_high_pct": 0.11,
      "extension_from_vwap_pct": 0.39,
      "spread_pct": 0.43
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 9.23,
    "pm_low": 9.14
  },
  {
    "symbol": "VSTS",
    "total_score": 58.39,
    "raw_score": 61.89,
    "breakdown": {
      "price_quality": 2.69,
      "volume_quality": 6.94,
      "rvol": 0.28,
      "volume_acceleration": 2.72,
      "price_momentum": 0.18,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.97,
      "spread_liquidity": 4.46,
      "momentum_consistency": 2.67,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.315,
      "vwap": 12.2879,
      "vwap_slope": 0.0074,
      "rvol": 0.12,
      "volume_acceleration": 1.27,
      "premarket_volume": 57812.0,
      "momentum_pct": 0.12,
      "consolidation_tightness_pct": 0.16,
      "distance_from_pm_high_pct": 0.04,
      "extension_from_vwap_pct": 0.22,
      "spread_pct": 0.16
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 12.32,
    "pm_low": 12.27
  },
  {
    "symbol": "UNIT",
    "total_score": 58.31,
    "raw_score": 61.81,
    "breakdown": {
      "price_quality": 4.9,
      "volume_quality": 9.61,
      "rvol": 0.38,
      "volume_acceleration": 6.97,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.93,
      "spread_liquidity": 4.66,
      "momentum_consistency": 2.96,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.9,
      "vwap": 9.8935,
      "vwap_slope": 0.0058,
      "rvol": 0.16,
      "volume_acceleration": 1.7,
      "premarket_volume": 80045.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.18,
      "distance_from_pm_high_pct": 0.09,
      "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.909,
    "pm_low": 9.875
  },
  {
    "symbol": "XERS",
    "total_score": 58.3,
    "raw_score": 61.8,
    "breakdown": {
      "price_quality": 3.4,
      "volume_quality": 10.35,
      "rvol": 0.41,
      "volume_acceleration": 7.96,
      "price_momentum": 0.09,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.91,
      "spread_liquidity": 4.6,
      "momentum_consistency": 2.67,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.405,
      "vwap": 8.3911,
      "vwap_slope": 0.0101,
      "rvol": 0.17,
      "volume_acceleration": 1.8,
      "premarket_volume": 86228.0,
      "momentum_pct": 0.06,
      "consolidation_tightness_pct": 0.24,
      "distance_from_pm_high_pct": 0.12,
      "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": true,
      "vwap_rising": true
    },
    "pm_high": 8.415,
    "pm_low": 8.34
  },
  {
    "symbol": "DXC",
    "total_score": 58.03,
    "raw_score": 61.51,
    "breakdown": {
      "price_quality": 3.64,
      "volume_quality": 12.0,
      "rvol": 1.47,
      "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.59,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.355,
      "vwap": 11.3195,
      "vwap_slope": 0.008,
      "rvol": 0.61,
      "volume_acceleration": 1.07,
      "premarket_volume": 306915.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.09,
      "distance_from_pm_high_pct": 0.04,
      "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.36,
    "pm_low": 11.275
  },
  {
    "symbol": "EGY",
    "total_score": 57.91,
    "raw_score": 61.38,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 10.65,
      "rvol": 0.43,
      "volume_acceleration": 10,
      "price_momentum": 0.03,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.94,
      "spread_liquidity": 4.44,
      "momentum_consistency": 2.0,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.915,
      "vwap": 5.9069,
      "vwap_slope": 0.0029,
      "rvol": 0.18,
      "volume_acceleration": 2.32,
      "premarket_volume": 88785.0,
      "momentum_pct": 0.02,
      "consolidation_tightness_pct": 0.17,
      "distance_from_pm_high_pct": 0.08,
      "extension_from_vwap_pct": 0.14,
      "spread_pct": 0.17
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 5.92,
    "pm_low": 5.8948
  },
  {
    "symbol": "VFC",
    "total_score": 57.78,
    "raw_score": 61.24,
    "breakdown": {
      "price_quality": 1.61,
      "volume_quality": 12.0,
      "rvol": 2.52,
      "volume_acceleration": 5.43,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.92,
      "spread_liquidity": 4.75,
      "momentum_consistency": 2.62,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.395,
      "vwap": 13.3933,
      "vwap_slope": 0.0003,
      "rvol": 1.05,
      "volume_acceleration": 1.54,
      "premarket_volume": 525371.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.19,
      "distance_from_pm_high_pct": 0.11,
      "extension_from_vwap_pct": 0.01,
      "spread_pct": 0.07
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 13.41,
    "pm_low": 13.37
  },
  {
    "symbol": "NXE",
    "total_score": 57.73,
    "raw_score": 61.19,
    "breakdown": {
      "price_quality": 4.56,
      "volume_quality": 12.0,
      "rvol": 1.83,
      "volume_acceleration": 3.18,
      "price_momentum": 0.07,
      "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.57,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.435,
      "vwap": 10.4286,
      "vwap_slope": 0.0001,
      "rvol": 0.76,
      "volume_acceleration": 1.32,
      "premarket_volume": 381080.0,
      "momentum_pct": 0.05,
      "consolidation_tightness_pct": 0.14,
      "distance_from_pm_high_pct": 0.14,
      "extension_from_vwap_pct": 0.06,
      "spread_pct": 0.1
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 10.45,
    "pm_low": 10.405
  },
  {
    "symbol": "GPGI",
    "total_score": 57.72,
    "raw_score": 61.18,
    "breakdown": {
      "price_quality": 1.75,
      "volume_quality": 12.0,
      "rvol": 1.09,
      "volume_acceleration": 3.69,
      "price_momentum": 0.74,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.83,
      "spread_liquidity": 4.25,
      "momentum_consistency": 3.03,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.25,
      "vwap": 13.2132,
      "vwap_slope": -0.0029,
      "rvol": 0.45,
      "volume_acceleration": 1.06,
      "premarket_volume": 226517.0,
      "momentum_pct": 0.49,
      "consolidation_tightness_pct": 0.68,
      "distance_from_pm_high_pct": 0.23,
      "extension_from_vwap_pct": 0.28,
      "spread_pct": 0.23
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 13.28,
    "pm_low": 13.16
  },
  {
    "symbol": "HLF",
    "total_score": 57.65,
    "raw_score": 61.11,
    "breakdown": {
      "price_quality": 4.01,
      "volume_quality": 12.0,
      "rvol": 1.79,
      "volume_acceleration": 3.59,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.46,
      "spread_liquidity": 4.7,
      "momentum_consistency": 3.17,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.9901,
      "vwap": 10.9686,
      "vwap_slope": 0.0106,
      "rvol": 0.75,
      "volume_acceleration": 1.03,
      "premarket_volume": 372779.0,
      "momentum_pct": -0.14,
      "consolidation_tightness_pct": 0.27,
      "distance_from_pm_high_pct": 0.72,
      "extension_from_vwap_pct": 0.2,
      "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.07,
    "pm_low": 10.9
  },
  {
    "symbol": "FRNM",
    "total_score": 57.54,
    "raw_score": 61.0,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 6.51,
      "rvol": 0.26,
      "volume_acceleration": 3.18,
      "price_momentum": 0.21,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.74,
      "spread_liquidity": 4.54,
      "momentum_consistency": 3.05,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.6,
      "vwap": 14.5824,
      "vwap_slope": 0.0028,
      "rvol": 0.11,
      "volume_acceleration": 0.91,
      "premarket_volume": 54291.0,
      "momentum_pct": 0.14,
      "consolidation_tightness_pct": 0.21,
      "distance_from_pm_high_pct": 0.34,
      "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": true,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 14.65,
    "pm_low": 14.53
  },
  {
    "symbol": "FMC",
    "total_score": 57.43,
    "raw_score": 60.87,
    "breakdown": {
      "price_quality": 3.54,
      "volume_quality": 12.0,
      "rvol": 1.34,
      "volume_acceleration": 3.89,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.9,
      "spread_liquidity": 4.71,
      "momentum_consistency": 3.09,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.455,
      "vwap": 11.3732,
      "vwap_slope": 0.0217,
      "rvol": 0.56,
      "volume_acceleration": 1.12,
      "premarket_volume": 279747.0,
      "momentum_pct": -0.09,
      "consolidation_tightness_pct": 0.22,
      "distance_from_pm_high_pct": 0.13,
      "extension_from_vwap_pct": 0.72,
      "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.47,
    "pm_low": 11.27
  },
  {
    "symbol": "TGB",
    "total_score": 57.41,
    "raw_score": 60.85,
    "breakdown": {
      "price_quality": 4.01,
      "volume_quality": 12.0,
      "rvol": 3.43,
      "volume_acceleration": 1.69,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.75,
      "spread_liquidity": 4.63,
      "momentum_consistency": 2.95,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.005,
      "vwap": 8.9959,
      "vwap_slope": 0.0077,
      "rvol": 1.43,
      "volume_acceleration": 1.17,
      "premarket_volume": 714734.0,
      "momentum_pct": -0.11,
      "consolidation_tightness_pct": 0.22,
      "distance_from_pm_high_pct": 0.33,
      "extension_from_vwap_pct": 0.1,
      "spread_pct": 0.11
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 9.035,
    "pm_low": 8.95
  },
  {
    "symbol": "VYX",
    "total_score": 57.23,
    "raw_score": 60.66,
    "breakdown": {
      "price_quality": 3.49,
      "volume_quality": 12.0,
      "rvol": 1.29,
      "volume_acceleration": 1.86,
      "price_momentum": 0.18,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.91,
      "spread_liquidity": 4.61,
      "momentum_consistency": 2.53,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.495,
      "vwap": 8.475,
      "vwap_slope": -0.0004,
      "rvol": 0.54,
      "volume_acceleration": 1.19,
      "premarket_volume": 268234.0,
      "momentum_pct": 0.12,
      "consolidation_tightness_pct": 0.24,
      "distance_from_pm_high_pct": 0.12,
      "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": true,
      "vwap_rising": false
    },
    "pm_high": 8.505,
    "pm_low": 8.45
  },
  {
    "symbol": "UPB",
    "total_score": 57.18,
    "raw_score": 60.61,
    "breakdown": {
      "price_quality": 1.54,
      "volume_quality": 5.19,
      "rvol": 0.21,
      "volume_acceleration": 3.97,
      "price_momentum": 1.04,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.94,
      "spread_liquidity": 3.47,
      "momentum_consistency": 3.26,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.535,
      "vwap": 6.4949,
      "vwap_slope": 0.0163,
      "rvol": 0.09,
      "volume_acceleration": 1.14,
      "premarket_volume": 43242.0,
      "momentum_pct": 0.69,
      "consolidation_tightness_pct": 0.86,
      "distance_from_pm_high_pct": 0.08,
      "extension_from_vwap_pct": 0.62,
      "spread_pct": 0.46
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 6.54,
    "pm_low": 6.445
  },
  {
    "symbol": "EVMN",
    "total_score": 57.05,
    "raw_score": 60.47,
    "breakdown": {
      "price_quality": 2.16,
      "volume_quality": 5.49,
      "rvol": 0.22,
      "volume_acceleration": 4.85,
      "price_momentum": 0.88,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.62,
      "spread_liquidity": 3.18,
      "momentum_consistency": 2.06,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.835,
      "vwap": 12.7929,
      "vwap_slope": 0.0006,
      "rvol": 0.09,
      "volume_acceleration": 1.48,
      "premarket_volume": 45735.0,
      "momentum_pct": 0.59,
      "consolidation_tightness_pct": 0.74,
      "distance_from_pm_high_pct": 0.5,
      "extension_from_vwap_pct": 0.33,
      "spread_pct": 0.55
    },
    "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.9,
    "pm_low": 12.74
  },
  {
    "symbol": "KRNY",
    "total_score": 56.96,
    "raw_score": 60.38,
    "breakdown": {
      "price_quality": 4.86,
      "volume_quality": 6.49,
      "rvol": 0.26,
      "volume_acceleration": 10,
      "price_momentum": 0.15,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.96,
      "spread_liquidity": 4.66,
      "momentum_consistency": 1.6,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.855,
      "vwap": 9.8498,
      "vwap_slope": 0.0048,
      "rvol": 0.11,
      "volume_acceleration": 4.96,
      "premarket_volume": 54043.0,
      "momentum_pct": 0.1,
      "consolidation_tightness_pct": 0.2,
      "distance_from_pm_high_pct": 0.05,
      "extension_from_vwap_pct": 0.05,
      "spread_pct": 0.1
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 9.86,
    "pm_low": 9.835
  },
  {
    "symbol": "ABSI",
    "total_score": 56.91,
    "raw_score": 60.33,
    "breakdown": {
      "price_quality": 3.86,
      "volume_quality": 12.0,
      "rvol": 1.29,
      "volume_acceleration": 3.72,
      "price_momentum": 0.08,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.96,
      "spread_liquidity": 4.62,
      "momentum_consistency": 2.39,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.86,
      "vwap": 8.8229,
      "vwap_slope": 0.0064,
      "rvol": 0.54,
      "volume_acceleration": 1.07,
      "premarket_volume": 269175.0,
      "momentum_pct": 0.06,
      "consolidation_tightness_pct": 0.23,
      "distance_from_pm_high_pct": 0.06,
      "extension_from_vwap_pct": 0.42,
      "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.865,
    "pm_low": 8.78
  },
  {
    "symbol": "HELP",
    "total_score": 56.79,
    "raw_score": 60.2,
    "breakdown": {
      "price_quality": 3.43,
      "volume_quality": 12.0,
      "rvol": 1.06,
      "volume_acceleration": 3.85,
      "price_momentum": 0.13,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.19,
      "spread_liquidity": 4.14,
      "momentum_consistency": 4.0,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.57,
      "vwap": 11.5256,
      "vwap_slope": 0.0107,
      "rvol": 0.44,
      "volume_acceleration": 1.11,
      "premarket_volume": 221655.0,
      "momentum_pct": 0.09,
      "consolidation_tightness_pct": 0.22,
      "distance_from_pm_high_pct": 1.08,
      "extension_from_vwap_pct": 0.39,
      "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.6962,
    "pm_low": 11.28
  },
  {
    "symbol": "ALIT",
    "total_score": 56.78,
    "raw_score": 60.18,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 5.37,
      "rvol": 0.21,
      "volume_acceleration": 2.5,
      "price_momentum": 0.93,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.9,
      "spread_liquidity": 3.86,
      "momentum_consistency": 3.91,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.64,
      "vwap": 14.572,
      "vwap_slope": 0.0015,
      "rvol": 0.09,
      "volume_acceleration": 0.72,
      "premarket_volume": 44754.0,
      "momentum_pct": 0.62,
      "consolidation_tightness_pct": 0.69,
      "distance_from_pm_high_pct": 0.14,
      "extension_from_vwap_pct": 0.47,
      "spread_pct": 0.34
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 14.66,
    "pm_low": 14.385
  },
  {
    "symbol": "RUM",
    "total_score": 56.29,
    "raw_score": 59.66,
    "breakdown": {
      "price_quality": 3.8,
      "volume_quality": 12.0,
      "rvol": 1.08,
      "volume_acceleration": 3.38,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.66,
      "spread_liquidity": 4.62,
      "momentum_consistency": 2.71,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.8,
      "vwap": 8.7497,
      "vwap_slope": 0.0182,
      "rvol": 0.45,
      "volume_acceleration": 0.97,
      "premarket_volume": 225823.0,
      "momentum_pct": -0.11,
      "consolidation_tightness_pct": 0.45,
      "distance_from_pm_high_pct": 0.45,
      "extension_from_vwap_pct": 0.58,
      "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.84,
    "pm_low": 8.695
  },
  {
    "symbol": "KD",
    "total_score": 56.25,
    "raw_score": 59.62,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 2.2,
      "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.97,
      "spread_liquidity": 4.75,
      "momentum_consistency": 3.45,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.595,
      "vwap": 13.5363,
      "vwap_slope": 0.0119,
      "rvol": 0.92,
      "volume_acceleration": 0.96,
      "premarket_volume": 457515.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.07,
      "distance_from_pm_high_pct": 0.04,
      "extension_from_vwap_pct": 0.43,
      "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.6,
    "pm_low": 13.46
  },
  {
    "symbol": "KODK",
    "total_score": 56.21,
    "raw_score": 59.58,
    "breakdown": {
      "price_quality": 4.02,
      "volume_quality": 12.0,
      "rvol": 1.67,
      "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.59,
      "spread_liquidity": 4.63,
      "momentum_consistency": 2.08,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.015,
      "vwap": 9.0231,
      "vwap_slope": 0.0146,
      "rvol": 0.7,
      "volume_acceleration": 2.38,
      "premarket_volume": 347883.0,
      "momentum_pct": -0.11,
      "consolidation_tightness_pct": 0.17,
      "distance_from_pm_high_pct": 0.55,
      "extension_from_vwap_pct": -0.09,
      "spread_pct": 0.11
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": true
    },
    "pm_high": 9.065,
    "pm_low": 8.97
  },
  {
    "symbol": "BLMN",
    "total_score": 56.14,
    "raw_score": 59.51,
    "breakdown": {
      "price_quality": 4.71,
      "volume_quality": 12.0,
      "rvol": 0.57,
      "volume_acceleration": 2.55,
      "price_momentum": 0.15,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.93,
      "spread_liquidity": 4.68,
      "momentum_consistency": 2.53,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.285,
      "vwap": 10.2713,
      "vwap_slope": 0.0024,
      "rvol": 0.24,
      "volume_acceleration": 1.25,
      "premarket_volume": 119479.0,
      "momentum_pct": 0.1,
      "consolidation_tightness_pct": 0.23,
      "distance_from_pm_high_pct": 0.1,
      "extension_from_vwap_pct": 0.13,
      "spread_pct": 0.1
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 10.295,
    "pm_low": 10.24
  },
  {
    "symbol": "AGPU",
    "total_score": 56.05,
    "raw_score": 59.41,
    "breakdown": {
      "price_quality": 4.71,
      "volume_quality": 2.88,
      "rvol": 0.12,
      "volume_acceleration": 10,
      "price_momentum": 2.75,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 6,
      "spread_liquidity": 0.51,
      "momentum_consistency": 3.64,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.715,
      "vwap": 9.5802,
      "vwap_slope": -0.1098,
      "rvol": 0.05,
      "volume_acceleration": 11.83,
      "premarket_volume": 24021.0,
      "momentum_pct": 1.83,
      "consolidation_tightness_pct": 2.86,
      "distance_from_pm_high_pct": 0.0,
      "extension_from_vwap_pct": 1.41,
      "spread_pct": 1.35
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 9.715,
    "pm_low": 9.4404
  },
  {
    "symbol": "VSTM",
    "total_score": 56.05,
    "raw_score": 59.42,
    "breakdown": {
      "price_quality": 2.17,
      "volume_quality": 7.66,
      "rvol": 0.31,
      "volume_acceleration": 8.75,
      "price_momentum": 0.21,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 6,
      "spread_liquidity": 4.54,
      "momentum_consistency": 3.38,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.175,
      "vwap": 7.1275,
      "vwap_slope": 0.0114,
      "rvol": 0.13,
      "volume_acceleration": 1.88,
      "premarket_volume": 63833.0,
      "momentum_pct": 0.14,
      "consolidation_tightness_pct": 0.21,
      "distance_from_pm_high_pct": 0.0,
      "extension_from_vwap_pct": 0.67,
      "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.175,
    "pm_low": 7.095
  },
  {
    "symbol": "SGRY",
    "total_score": 55.7,
    "raw_score": 59.05,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 3.09,
      "volume_acceleration": 10,
      "price_momentum": 0.11,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.7,
      "spread_liquidity": 4.51,
      "momentum_consistency": 2.94,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.65,
      "vwap": 13.6163,
      "vwap_slope": -0.0011,
      "rvol": 1.29,
      "volume_acceleration": 12.08,
      "premarket_volume": 642804.0,
      "momentum_pct": 0.07,
      "consolidation_tightness_pct": 0.48,
      "distance_from_pm_high_pct": 0.4,
      "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": false
    },
    "pm_high": 13.705,
    "pm_low": 13.57
  },
  {
    "symbol": "PUMP",
    "total_score": 55.64,
    "raw_score": 58.98,
    "breakdown": {
      "price_quality": 3.76,
      "volume_quality": 12.0,
      "rvol": 1.26,
      "volume_acceleration": 2.85,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.9,
      "spread_liquidity": 4.7,
      "momentum_consistency": 2.11,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.245,
      "vwap": 11.2254,
      "vwap_slope": 0.0079,
      "rvol": 0.52,
      "volume_acceleration": 0.82,
      "premarket_volume": 262127.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.13,
      "distance_from_pm_high_pct": 0.13,
      "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.26,
    "pm_low": 11.18
  },
  {
    "symbol": "CERT",
    "total_score": 55.62,
    "raw_score": 58.96,
    "breakdown": {
      "price_quality": 3.25,
      "volume_quality": 12.0,
      "rvol": 0.49,
      "volume_acceleration": 4.47,
      "price_momentum": 0.09,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.95,
      "spread_liquidity": 4.6,
      "momentum_consistency": 1.7,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.25,
      "vwap": 8.2372,
      "vwap_slope": 0.0002,
      "rvol": 0.21,
      "volume_acceleration": 1.45,
      "premarket_volume": 102874.0,
      "momentum_pct": 0.06,
      "consolidation_tightness_pct": 0.12,
      "distance_from_pm_high_pct": 0.06,
      "extension_from_vwap_pct": 0.16,
      "spread_pct": 0.12
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 8.255,
    "pm_low": 8.22
  },
  {
    "symbol": "REAL",
    "total_score": 55.25,
    "raw_score": 58.56,
    "breakdown": {
      "price_quality": 4.79,
      "volume_quality": 12.0,
      "rvol": 0.88,
      "volume_acceleration": 1.62,
      "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.67,
      "momentum_consistency": 2.53,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.21,
      "vwap": 10.1938,
      "vwap_slope": 0.0043,
      "rvol": 0.37,
      "volume_acceleration": 1.16,
      "premarket_volume": 183565.0,
      "momentum_pct": -0.08,
      "consolidation_tightness_pct": 0.1,
      "distance_from_pm_high_pct": 0.44,
      "extension_from_vwap_pct": 0.16,
      "spread_pct": 0.1
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 10.255,
    "pm_low": 10.15
  },
  {
    "symbol": "ATAI",
    "total_score": 55.22,
    "raw_score": 58.53,
    "breakdown": {
      "price_quality": 2.36,
      "volume_quality": 12.0,
      "rvol": 1.87,
      "volume_acceleration": 2.95,
      "price_momentum": 0.2,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 6,
      "spread_liquidity": 4.55,
      "momentum_consistency": 2.21,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.36,
      "vwap": 7.3579,
      "vwap_slope": 0.0002,
      "rvol": 0.78,
      "volume_acceleration": 1.29,
      "premarket_volume": 389305.0,
      "momentum_pct": 0.14,
      "consolidation_tightness_pct": 0.14,
      "distance_from_pm_high_pct": 0.0,
      "extension_from_vwap_pct": 0.03,
      "spread_pct": 0.14
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 7.36,
    "pm_low": 7.35
  },
  {
    "symbol": "RILY",
    "total_score": 55.06,
    "raw_score": 58.36,
    "breakdown": {
      "price_quality": 1.93,
      "volume_quality": 4.66,
      "rvol": 0.19,
      "volume_acceleration": 1.39,
      "price_momentum": 0.11,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.73,
      "spread_liquidity": 4.52,
      "momentum_consistency": 3.84,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.925,
      "vwap": 6.8932,
      "vwap_slope": 0.0111,
      "rvol": 0.08,
      "volume_acceleration": 0.4,
      "premarket_volume": 38814.0,
      "momentum_pct": 0.07,
      "consolidation_tightness_pct": 0.29,
      "distance_from_pm_high_pct": 0.36,
      "extension_from_vwap_pct": 0.46,
      "spread_pct": 0.14
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 6.95,
    "pm_low": 6.86
  },
  {
    "symbol": "WEN",
    "total_score": 55.03,
    "raw_score": 58.33,
    "breakdown": {
      "price_quality": 3.29,
      "volume_quality": 12.0,
      "rvol": 2.1,
      "volume_acceleration": 1.96,
      "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.6,
      "momentum_consistency": 2.11,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.295,
      "vwap": 8.2814,
      "vwap_slope": 0.0031,
      "rvol": 0.88,
      "volume_acceleration": 0.56,
      "premarket_volume": 437656.0,
      "momentum_pct": -0.09,
      "consolidation_tightness_pct": 0.18,
      "distance_from_pm_high_pct": 0.18,
      "extension_from_vwap_pct": 0.16,
      "spread_pct": 0.12
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 8.31,
    "pm_low": 8.26
  },
  {
    "symbol": "LION",
    "total_score": 54.8,
    "raw_score": 58.09,
    "breakdown": {
      "price_quality": 3.68,
      "volume_quality": 12.0,
      "rvol": 0.54,
      "volume_acceleration": 3.83,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.9,
      "spread_liquidity": 4.41,
      "momentum_consistency": 1.33,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.325,
      "vwap": 11.3013,
      "vwap_slope": 0.0059,
      "rvol": 0.22,
      "volume_acceleration": 1.1,
      "premarket_volume": 112430.0,
      "momentum_pct": -0.13,
      "consolidation_tightness_pct": 0.18,
      "distance_from_pm_high_pct": 0.13,
      "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": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 11.34,
    "pm_low": 11.28
  },
  {
    "symbol": "BFLY",
    "total_score": 54.77,
    "raw_score": 58.05,
    "breakdown": {
      "price_quality": 2.82,
      "volume_quality": 12.0,
      "rvol": 1.95,
      "volume_acceleration": 1.99,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.7,
      "spread_liquidity": 4.57,
      "momentum_consistency": 2.62,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.8236,
      "vwap": 7.8171,
      "vwap_slope": 0.0042,
      "rvol": 0.81,
      "volume_acceleration": 1.2,
      "premarket_volume": 405778.0,
      "momentum_pct": -0.02,
      "consolidation_tightness_pct": 0.19,
      "distance_from_pm_high_pct": 0.4,
      "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": true,
      "vwap_rising": true
    },
    "pm_high": 7.855,
    "pm_low": 7.79
  },
  {
    "symbol": "DBI",
    "total_score": 54.73,
    "raw_score": 58.01,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 7.8,
      "rvol": 0.31,
      "volume_acceleration": 10,
      "price_momentum": 0.27,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.86,
      "spread_liquidity": 4.39,
      "momentum_consistency": 1.47,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.49,
      "vwap": 5.4827,
      "vwap_slope": 0.0011,
      "rvol": 0.13,
      "volume_acceleration": 2.01,
      "premarket_volume": 65005.0,
      "momentum_pct": 0.18,
      "consolidation_tightness_pct": 0.45,
      "distance_from_pm_high_pct": 0.18,
      "extension_from_vwap_pct": 0.13,
      "spread_pct": 0.18
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 5.5,
    "pm_low": 5.455
  },
  {
    "symbol": "SUJA",
    "total_score": 54.67,
    "raw_score": 57.95,
    "breakdown": {
      "price_quality": 4.83,
      "volume_quality": 8.0,
      "rvol": 0.32,
      "volume_acceleration": 4.12,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.93,
      "spread_liquidity": 4.35,
      "momentum_consistency": 4.0,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.17,
      "vwap": 10.1275,
      "vwap_slope": 0.0087,
      "rvol": 0.13,
      "volume_acceleration": 1.41,
      "premarket_volume": 66680.0,
      "momentum_pct": -0.1,
      "consolidation_tightness_pct": 0.2,
      "distance_from_pm_high_pct": 0.1,
      "extension_from_vwap_pct": 0.42,
      "spread_pct": 0.2
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 10.18,
    "pm_low": 10.06
  },
  {
    "symbol": "TAL",
    "total_score": 54.64,
    "raw_score": 57.92,
    "breakdown": {
      "price_quality": 3.34,
      "volume_quality": 12.0,
      "rvol": 1.1,
      "volume_acceleration": 10,
      "price_momentum": 0.13,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.94,
      "spread_liquidity": 4.71,
      "momentum_consistency": 1.51,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.665,
      "vwap": 11.6609,
      "vwap_slope": -0.0023,
      "rvol": 0.46,
      "volume_acceleration": 2.26,
      "premarket_volume": 228178.0,
      "momentum_pct": 0.09,
      "consolidation_tightness_pct": 0.1,
      "distance_from_pm_high_pct": 0.09,
      "extension_from_vwap_pct": 0.04,
      "spread_pct": 0.09
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 11.675,
    "pm_low": 11.65
  },
  {
    "symbol": "FRSH",
    "total_score": 54.6,
    "raw_score": 57.87,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 2.25,
      "volume_acceleration": 2.08,
      "price_momentum": 0.04,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.89,
      "spread_liquidity": 4.76,
      "momentum_consistency": 2.95,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.885,
      "vwap": 13.862,
      "vwap_slope": 0.002,
      "rvol": 0.94,
      "volume_acceleration": 0.6,
      "premarket_volume": 469139.0,
      "momentum_pct": 0.03,
      "consolidation_tightness_pct": 0.11,
      "distance_from_pm_high_pct": 0.14,
      "extension_from_vwap_pct": 0.17,
      "spread_pct": 0.07
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 13.905,
    "pm_low": 13.84
  },
  {
    "symbol": "CIFR",
    "total_score": 54.52,
    "raw_score": 57.79,
    "breakdown": {
      "price_quality": 0.0,
      "volume_quality": 12.0,
      "rvol": 9.53,
      "volume_acceleration": 2.83,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.46,
      "spread_liquidity": 4.78,
      "momentum_consistency": 3.59,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 15.2701,
      "vwap": 15.3033,
      "vwap_slope": 0.0013,
      "rvol": 3.57,
      "volume_acceleration": 1.28,
      "premarket_volume": 1786828.0,
      "momentum_pct": -0.35,
      "consolidation_tightness_pct": 0.42,
      "distance_from_pm_high_pct": 0.71,
      "extension_from_vwap_pct": -0.22,
      "spread_pct": 0.07
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": true
    },
    "pm_high": 15.38,
    "pm_low": 15.26
  },
  {
    "symbol": "ADT",
    "total_score": 54.36,
    "raw_score": 57.62,
    "breakdown": {
      "price_quality": 2.43,
      "volume_quality": 12.0,
      "rvol": 2.26,
      "volume_acceleration": 2.22,
      "price_momentum": 0.1,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 6,
      "spread_liquidity": 4.55,
      "momentum_consistency": 1.66,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.435,
      "vwap": 7.4203,
      "vwap_slope": 0.002,
      "rvol": 0.94,
      "volume_acceleration": 1.22,
      "premarket_volume": 470545.0,
      "momentum_pct": 0.07,
      "consolidation_tightness_pct": 0.2,
      "distance_from_pm_high_pct": 0.0,
      "extension_from_vwap_pct": 0.2,
      "spread_pct": 0.13
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 7.435,
    "pm_low": 7.405
  },
  {
    "symbol": "LENZ",
    "total_score": 54.34,
    "raw_score": 57.6,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 7.6,
      "rvol": 0.3,
      "volume_acceleration": 9.31,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.5,
      "spread_liquidity": 3.73,
      "momentum_consistency": 3.25,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.24,
      "vwap": 5.2182,
      "vwap_slope": 0.047,
      "rvol": 0.13,
      "volume_acceleration": 1.93,
      "premarket_volume": 63360.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.19,
      "distance_from_pm_high_pct": 0.66,
      "extension_from_vwap_pct": 0.42,
      "spread_pct": 0.38
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 5.275,
    "pm_low": 5.12
  },
  {
    "symbol": "UAA",
    "total_score": 54.33,
    "raw_score": 57.59,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 1.92,
      "volume_acceleration": 3.29,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.93,
      "spread_liquidity": 4.34,
      "momentum_consistency": 2.21,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.085,
      "vwap": 5.0725,
      "vwap_slope": 0.0054,
      "rvol": 0.8,
      "volume_acceleration": 0.95,
      "premarket_volume": 400034.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.2,
      "distance_from_pm_high_pct": 0.1,
      "extension_from_vwap_pct": 0.25,
      "spread_pct": 0.2
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 5.09,
    "pm_low": 5.05
  },
  {
    "symbol": "VELO",
    "total_score": 54.33,
    "raw_score": 57.59,
    "breakdown": {
      "price_quality": 3.16,
      "volume_quality": 12.0,
      "rvol": 0.51,
      "volume_acceleration": 2.1,
      "price_momentum": 0.13,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.75,
      "spread_liquidity": 4.44,
      "momentum_consistency": 3.11,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.84,
      "vwap": 11.8199,
      "vwap_slope": 0.0019,
      "rvol": 0.21,
      "volume_acceleration": 0.6,
      "premarket_volume": 105461.0,
      "momentum_pct": 0.08,
      "consolidation_tightness_pct": 0.21,
      "distance_from_pm_high_pct": 0.34,
      "extension_from_vwap_pct": 0.17,
      "spread_pct": 0.17
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 11.88,
    "pm_low": 11.775
  },
  {
    "symbol": "HLIT",
    "total_score": 54.24,
    "raw_score": 57.5,
    "breakdown": {
      "price_quality": 3.1,
      "volume_quality": 12.0,
      "rvol": 0.57,
      "volume_acceleration": 2.34,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.94,
      "spread_liquidity": 4.72,
      "momentum_consistency": 2.43,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.9,
      "vwap": 11.8749,
      "vwap_slope": 0.0064,
      "rvol": 0.24,
      "volume_acceleration": 1.23,
      "premarket_volume": 119709.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.13,
      "distance_from_pm_high_pct": 0.08,
      "extension_from_vwap_pct": 0.21,
      "spread_pct": 0.08
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 11.91,
    "pm_low": 11.83
  },
  {
    "symbol": "SLS",
    "total_score": 54.23,
    "raw_score": 57.48,
    "breakdown": {
      "price_quality": 1.88,
      "volume_quality": 12.0,
      "rvol": 1.63,
      "volume_acceleration": 1.6,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.86,
      "spread_liquidity": 4.75,
      "momentum_consistency": 3.37,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.125,
      "vwap": 13.0409,
      "vwap_slope": 0.0114,
      "rvol": 0.68,
      "volume_acceleration": 1.16,
      "premarket_volume": 339253.0,
      "momentum_pct": -0.15,
      "consolidation_tightness_pct": 0.57,
      "distance_from_pm_high_pct": 0.19,
      "extension_from_vwap_pct": 0.65,
      "spread_pct": 0.08
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 13.15,
    "pm_low": 12.97
  },
  {
    "symbol": "CAL",
    "total_score": 54.09,
    "raw_score": 57.34,
    "breakdown": {
      "price_quality": 2.81,
      "volume_quality": 5.95,
      "rvol": 0.24,
      "volume_acceleration": 7.94,
      "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.73,
      "momentum_consistency": 3.03,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.19,
      "vwap": 12.1478,
      "vwap_slope": 0.0167,
      "rvol": 0.1,
      "volume_acceleration": 1.79,
      "premarket_volume": 49575.0,
      "momentum_pct": 0.16,
      "consolidation_tightness_pct": 0.25,
      "distance_from_pm_high_pct": 0.0,
      "extension_from_vwap_pct": 0.35,
      "spread_pct": 0.08
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 12.19,
    "pm_low": 12.09
  },
  {
    "symbol": "NTSK",
    "total_score": 54.08,
    "raw_score": 57.33,
    "breakdown": {
      "price_quality": 0.0,
      "volume_quality": 12.0,
      "rvol": 1.79,
      "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.76,
      "spread_liquidity": 4.78,
      "momentum_consistency": 3.93,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 15.295,
      "vwap": 15.2715,
      "vwap_slope": 0.012,
      "rvol": 0.74,
      "volume_acceleration": 0.77,
      "premarket_volume": 372403.0,
      "momentum_pct": -0.13,
      "consolidation_tightness_pct": 0.36,
      "distance_from_pm_high_pct": 0.33,
      "extension_from_vwap_pct": 0.15,
      "spread_pct": 0.07
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 15.345,
    "pm_low": 15.15
  },
  {
    "symbol": "SSYS",
    "total_score": 54.07,
    "raw_score": 57.31,
    "breakdown": {
      "price_quality": 2.74,
      "volume_quality": 4.11,
      "rvol": 0.16,
      "volume_acceleration": 10,
      "price_momentum": 0.49,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 6,
      "spread_liquidity": 4.57,
      "momentum_consistency": 2.84,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.74,
      "vwap": 7.7163,
      "vwap_slope": 0.0067,
      "rvol": 0.07,
      "volume_acceleration": 2.04,
      "premarket_volume": 34283.0,
      "momentum_pct": 0.32,
      "consolidation_tightness_pct": 0.39,
      "distance_from_pm_high_pct": 0.0,
      "extension_from_vwap_pct": 0.31,
      "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.74,
    "pm_low": 7.7
  },
  {
    "symbol": "FWDI",
    "total_score": 53.96,
    "raw_score": 57.2,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 0.97,
      "volume_acceleration": 3.08,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.82,
      "spread_liquidity": 4.47,
      "momentum_consistency": 2.96,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.245,
      "vwap": 6.214,
      "vwap_slope": 0.0168,
      "rvol": 0.41,
      "volume_acceleration": 1.31,
      "premarket_volume": 202739.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.4,
      "distance_from_pm_high_pct": 0.24,
      "extension_from_vwap_pct": 0.5,
      "spread_pct": 0.16
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 6.26,
    "pm_low": 6.155
  },
  {
    "symbol": "HLMN",
    "total_score": 53.86,
    "raw_score": 57.09,
    "breakdown": {
      "price_quality": 2.71,
      "volume_quality": 12.0,
      "rvol": 0.53,
      "volume_acceleration": 2.16,
      "price_momentum": 0.19,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.91,
      "spread_liquidity": 4.57,
      "momentum_consistency": 2.61,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.71,
      "vwap": 7.6883,
      "vwap_slope": 0.0036,
      "rvol": 0.22,
      "volume_acceleration": 0.62,
      "premarket_volume": 110200.0,
      "momentum_pct": 0.13,
      "consolidation_tightness_pct": 0.31,
      "distance_from_pm_high_pct": 0.12,
      "extension_from_vwap_pct": 0.28,
      "spread_pct": 0.13
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 7.719,
    "pm_low": 7.67
  },
  {
    "symbol": "ADMA",
    "total_score": 53.71,
    "raw_score": 56.94,
    "breakdown": {
      "price_quality": 4.46,
      "volume_quality": 10.54,
      "rvol": 0.42,
      "volume_acceleration": 1.82,
      "price_momentum": 0.08,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.84,
      "spread_liquidity": 4.65,
      "momentum_consistency": 2.73,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.455,
      "vwap": 9.4396,
      "vwap_slope": 0.0147,
      "rvol": 0.18,
      "volume_acceleration": 1.18,
      "premarket_volume": 87851.0,
      "momentum_pct": 0.05,
      "consolidation_tightness_pct": 0.16,
      "distance_from_pm_high_pct": 0.21,
      "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": true,
      "vwap_rising": true
    },
    "pm_high": 9.475,
    "pm_low": 9.4
  },
  {
    "symbol": "OGN",
    "total_score": 53.57,
    "raw_score": 56.78,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 0.96,
      "volume_acceleration": 3.46,
      "price_momentum": 0.05,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 6,
      "spread_liquidity": 4.76,
      "momentum_consistency": 1.66,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.76,
      "vwap": 13.7555,
      "vwap_slope": 0.0002,
      "rvol": 0.4,
      "volume_acceleration": 0.99,
      "premarket_volume": 199600.0,
      "momentum_pct": 0.04,
      "consolidation_tightness_pct": 0.07,
      "distance_from_pm_high_pct": 0.0,
      "extension_from_vwap_pct": 0.03,
      "spread_pct": 0.07
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 13.76,
    "pm_low": 13.75
  },
  {
    "symbol": "ONDS",
    "total_score": 53.55,
    "raw_score": 56.77,
    "breakdown": {
      "price_quality": 2.67,
      "volume_quality": 12.0,
      "rvol": 10.75,
      "volume_acceleration": 6.39,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.66,
      "spread_liquidity": 4.57,
      "momentum_consistency": 2.34,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.665,
      "vwap": 7.6757,
      "vwap_slope": -0.0019,
      "rvol": 4.03,
      "volume_acceleration": 1.64,
      "premarket_volume": 2014810.0,
      "momentum_pct": -0.13,
      "consolidation_tightness_pct": 0.26,
      "distance_from_pm_high_pct": 0.45,
      "extension_from_vwap_pct": -0.14,
      "spread_pct": 0.13
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 7.7,
    "pm_low": 7.66
  },
  {
    "symbol": "FWRG",
    "total_score": 53.46,
    "raw_score": 56.66,
    "breakdown": {
      "price_quality": 2.23,
      "volume_quality": 12.0,
      "rvol": 0.52,
      "volume_acceleration": 1.65,
      "price_momentum": 0.24,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.94,
      "spread_liquidity": 4.74,
      "momentum_consistency": 2.95,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.77,
      "vwap": 12.6865,
      "vwap_slope": 0.0086,
      "rvol": 0.22,
      "volume_acceleration": 0.48,
      "premarket_volume": 107681.0,
      "momentum_pct": 0.16,
      "consolidation_tightness_pct": 0.35,
      "distance_from_pm_high_pct": 0.08,
      "extension_from_vwap_pct": 0.66,
      "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.78,
    "pm_low": 12.525
  },
  {
    "symbol": "EVCM",
    "total_score": 53.44,
    "raw_score": 56.65,
    "breakdown": {
      "price_quality": 3.94,
      "volume_quality": 2.79,
      "rvol": 0.11,
      "volume_acceleration": 10,
      "price_momentum": 0.17,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.87,
      "spread_liquidity": 3.89,
      "momentum_consistency": 3.48,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.935,
      "vwap": 8.8972,
      "vwap_slope": 0.0118,
      "rvol": 0.05,
      "volume_acceleration": 2.3,
      "premarket_volume": 23252.0,
      "momentum_pct": 0.11,
      "consolidation_tightness_pct": 0.45,
      "distance_from_pm_high_pct": 0.17,
      "extension_from_vwap_pct": 0.43,
      "spread_pct": 0.33
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 8.95,
    "pm_low": 8.85
  },
  {
    "symbol": "ANNX",
    "total_score": 53.36,
    "raw_score": 56.56,
    "breakdown": {
      "price_quality": 0.0,
      "volume_quality": 12.0,
      "rvol": 1.01,
      "volume_acceleration": 4.2,
      "price_momentum": 0.46,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 6,
      "spread_liquidity": 4.32,
      "momentum_consistency": 2.17,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 4.905,
      "vwap": 4.8734,
      "vwap_slope": 0.0084,
      "rvol": 0.42,
      "volume_acceleration": 1.42,
      "premarket_volume": 209622.0,
      "momentum_pct": 0.31,
      "consolidation_tightness_pct": 0.51,
      "distance_from_pm_high_pct": 0.0,
      "extension_from_vwap_pct": 0.65,
      "spread_pct": 0.2
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 4.905,
    "pm_low": 4.845
  },
  {
    "symbol": "NEWT",
    "total_score": 53.3,
    "raw_score": 56.5,
    "breakdown": {
      "price_quality": 3.21,
      "volume_quality": 3.02,
      "rvol": 0.12,
      "volume_acceleration": 10,
      "price_momentum": 0.43,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.9,
      "spread_liquidity": 4.15,
      "momentum_consistency": 3.26,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.795,
      "vwap": 11.7779,
      "vwap_slope": 0.0028,
      "rvol": 0.05,
      "volume_acceleration": 2.9,
      "premarket_volume": 25199.0,
      "momentum_pct": 0.29,
      "consolidation_tightness_pct": 0.42,
      "distance_from_pm_high_pct": 0.13,
      "extension_from_vwap_pct": 0.15,
      "spread_pct": 0.25
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 11.81,
    "pm_low": 11.75
  },
  {
    "symbol": "AEYE",
    "total_score": 53.27,
    "raw_score": 56.47,
    "breakdown": {
      "price_quality": 2.41,
      "volume_quality": 4.91,
      "rvol": 0.2,
      "volume_acceleration": 10,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.35,
      "spread_liquidity": 3.2,
      "momentum_consistency": 4.0,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.41,
      "vwap": 7.4011,
      "vwap_slope": 0.0842,
      "rvol": 0.08,
      "volume_acceleration": 7.15,
      "premarket_volume": 40928.0,
      "momentum_pct": -0.67,
      "consolidation_tightness_pct": 0.71,
      "distance_from_pm_high_pct": 0.87,
      "extension_from_vwap_pct": 0.12,
      "spread_pct": 0.54
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 7.475,
    "pm_low": 7.27
  },
  {
    "symbol": "NOK",
    "total_score": 53.16,
    "raw_score": 56.35,
    "breakdown": {
      "price_quality": 4.93,
      "volume_quality": 12.0,
      "rvol": 12.0,
      "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.52,
      "spread_liquidity": 4.67,
      "momentum_consistency": 2.34,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.075,
      "vwap": 10.0954,
      "vwap_slope": -0.0021,
      "rvol": 8.72,
      "volume_acceleration": 0.72,
      "premarket_volume": 4360554.0,
      "momentum_pct": -0.05,
      "consolidation_tightness_pct": 0.3,
      "distance_from_pm_high_pct": 0.64,
      "extension_from_vwap_pct": -0.2,
      "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.14,
    "pm_low": 10.06
  },
  {
    "symbol": "RSKD",
    "total_score": 53.05,
    "raw_score": 56.23,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 3.16,
      "volume_acceleration": 0.42,
      "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.47,
      "momentum_consistency": 2.33,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.275,
      "vwap": 6.2579,
      "vwap_slope": 0.001,
      "rvol": 1.32,
      "volume_acceleration": 0.12,
      "premarket_volume": 658360.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.08,
      "distance_from_pm_high_pct": 0.07,
      "extension_from_vwap_pct": 0.27,
      "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.2791,
    "pm_low": 6.23
  },
  {
    "symbol": "CPRI",
    "total_score": 52.88,
    "raw_score": 56.06,
    "breakdown": {
      "price_quality": 1.71,
      "volume_quality": 12.0,
      "rvol": 1.28,
      "volume_acceleration": 1.56,
      "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.75,
      "momentum_consistency": 2.52,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.285,
      "vwap": 13.2441,
      "vwap_slope": 0.0199,
      "rvol": 0.53,
      "volume_acceleration": 1.16,
      "premarket_volume": 266873.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.26,
      "distance_from_pm_high_pct": 0.23,
      "extension_from_vwap_pct": 0.31,
      "spread_pct": 0.08
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 13.315,
    "pm_low": 13.16
  },
  {
    "symbol": "OWL",
    "total_score": 52.85,
    "raw_score": 56.02,
    "breakdown": {
      "price_quality": 2.71,
      "volume_quality": 12.0,
      "rvol": 12.0,
      "volume_acceleration": 3.52,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.48,
      "spread_liquidity": 4.73,
      "momentum_consistency": 3.17,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.285,
      "vwap": 12.3166,
      "vwap_slope": -0.0085,
      "rvol": 6.26,
      "volume_acceleration": 1.01,
      "premarket_volume": 3130573.0,
      "momentum_pct": -0.08,
      "consolidation_tightness_pct": 0.2,
      "distance_from_pm_high_pct": 0.69,
      "extension_from_vwap_pct": -0.26,
      "spread_pct": 0.08
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 12.37,
    "pm_low": 12.275
  },
  {
    "symbol": "PGEN",
    "total_score": 52.8,
    "raw_score": 55.96,
    "breakdown": {
      "price_quality": 1.85,
      "volume_quality": 12.0,
      "rvol": 0.76,
      "volume_acceleration": 2.98,
      "price_momentum": 0.11,
      "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": 1.52,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.85,
      "vwap": 6.8396,
      "vwap_slope": 0.0016,
      "rvol": 0.32,
      "volume_acceleration": 1.3,
      "premarket_volume": 157544.0,
      "momentum_pct": 0.07,
      "consolidation_tightness_pct": 0.21,
      "distance_from_pm_high_pct": 0.22,
      "extension_from_vwap_pct": 0.15,
      "spread_pct": 0.15
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 6.865,
    "pm_low": 6.82
  },
  {
    "symbol": "PRGO",
    "total_score": 52.74,
    "raw_score": 55.91,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 1.06,
      "volume_acceleration": 5.46,
      "price_momentum": 0.26,
      "price_structure": 12,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.69,
      "spread_liquidity": 4.77,
      "momentum_consistency": 3.17,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.57,
      "vwap": 14.5843,
      "vwap_slope": -0.0145,
      "rvol": 0.44,
      "volume_acceleration": 1.55,
      "premarket_volume": 219964.0,
      "momentum_pct": 0.17,
      "consolidation_tightness_pct": 0.41,
      "distance_from_pm_high_pct": 0.41,
      "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": true,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 14.63,
    "pm_low": 14.54
  },
  {
    "symbol": "AHCO",
    "total_score": 52.61,
    "raw_score": 55.77,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 0.85,
      "volume_acceleration": 10,
      "price_momentum": 0.4,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.67,
      "spread_liquidity": 4.41,
      "momentum_consistency": 1.75,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.615,
      "vwap": 5.6141,
      "vwap_slope": -0.0025,
      "rvol": 0.36,
      "volume_acceleration": 3.16,
      "premarket_volume": 177517.0,
      "momentum_pct": 0.27,
      "consolidation_tightness_pct": 0.27,
      "distance_from_pm_high_pct": 0.44,
      "extension_from_vwap_pct": 0.02,
      "spread_pct": 0.18
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 5.64,
    "pm_low": 5.6
  },
  {
    "symbol": "ARHS",
    "total_score": 52.53,
    "raw_score": 55.68,
    "breakdown": {
      "price_quality": 3.61,
      "volume_quality": 8.98,
      "rvol": 0.36,
      "volume_acceleration": 3.22,
      "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.61,
      "momentum_consistency": 2.72,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.605,
      "vwap": 8.6022,
      "vwap_slope": 0.0038,
      "rvol": 0.15,
      "volume_acceleration": 0.92,
      "premarket_volume": 74852.0,
      "momentum_pct": -0.12,
      "consolidation_tightness_pct": 0.29,
      "distance_from_pm_high_pct": 0.29,
      "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": true,
      "vwap_rising": true
    },
    "pm_high": 8.63,
    "pm_low": 8.58
  },
  {
    "symbol": "BTGO",
    "total_score": 52.52,
    "raw_score": 55.67,
    "breakdown": {
      "price_quality": 2.04,
      "volume_quality": 11.86,
      "rvol": 0.47,
      "volume_acceleration": 1.89,
      "price_momentum": 0.21,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.71,
      "spread_liquidity": 4.05,
      "momentum_consistency": 3.02,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.04,
      "vwap": 7.0327,
      "vwap_slope": 0.0019,
      "rvol": 0.2,
      "volume_acceleration": 1.19,
      "premarket_volume": 98874.0,
      "momentum_pct": 0.14,
      "consolidation_tightness_pct": 0.43,
      "distance_from_pm_high_pct": 0.38,
      "extension_from_vwap_pct": 0.1,
      "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": 7.0672,
    "pm_low": 7.01
  },
  {
    "symbol": "BRCB",
    "total_score": 52.42,
    "raw_score": 55.57,
    "breakdown": {
      "price_quality": 4.52,
      "volume_quality": 6.64,
      "rvol": 0.27,
      "volume_acceleration": 4.79,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.61,
      "spread_liquidity": 4.3,
      "momentum_consistency": 3.05,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.515,
      "vwap": 9.4853,
      "vwap_slope": 0.0168,
      "rvol": 0.11,
      "volume_acceleration": 1.48,
      "premarket_volume": 55319.0,
      "momentum_pct": -0.52,
      "consolidation_tightness_pct": 0.68,
      "distance_from_pm_high_pct": 0.52,
      "extension_from_vwap_pct": 0.31,
      "spread_pct": 0.21
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 9.565,
    "pm_low": 9.405
  },
  {
    "symbol": "CLBT",
    "total_score": 52.41,
    "raw_score": 55.55,
    "breakdown": {
      "price_quality": 2.94,
      "volume_quality": 8.45,
      "rvol": 0.34,
      "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.94,
      "spread_liquidity": 4.72,
      "momentum_consistency": 3.5,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.06,
      "vwap": 12.0449,
      "vwap_slope": 0.0044,
      "rvol": 0.14,
      "volume_acceleration": 0.94,
      "premarket_volume": 70433.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.15,
      "distance_from_pm_high_pct": 0.08,
      "extension_from_vwap_pct": 0.13,
      "spread_pct": 0.08
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 12.07,
    "pm_low": 12.02
  },
  {
    "symbol": "KLAR",
    "total_score": 52.29,
    "raw_score": 55.43,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 2.58,
      "volume_acceleration": 3.59,
      "price_momentum": 0.09,
      "price_structure": 12,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.72,
      "spread_liquidity": 4.77,
      "momentum_consistency": 3.17,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.645,
      "vwap": 14.6555,
      "vwap_slope": -0.0031,
      "rvol": 1.07,
      "volume_acceleration": 1.36,
      "premarket_volume": 537485.0,
      "momentum_pct": 0.06,
      "consolidation_tightness_pct": 0.17,
      "distance_from_pm_high_pct": 0.37,
      "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": true,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 14.7,
    "pm_low": 14.58
  },
  {
    "symbol": "FPI",
    "total_score": 52.15,
    "raw_score": 55.28,
    "breakdown": {
      "price_quality": 4.71,
      "volume_quality": 8.17,
      "rvol": 0.33,
      "volume_acceleration": 2.02,
      "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.68,
      "momentum_consistency": 2.97,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.285,
      "vwap": 10.2637,
      "vwap_slope": 0.0042,
      "rvol": 0.14,
      "volume_acceleration": 0.58,
      "premarket_volume": 68088.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.15,
      "distance_from_pm_high_pct": 0.0,
      "extension_from_vwap_pct": 0.21,
      "spread_pct": 0.1
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 10.285,
    "pm_low": 10.245
  },
  {
    "symbol": "WEST",
    "total_score": 52.15,
    "raw_score": 55.27,
    "breakdown": {
      "price_quality": 2.8,
      "volume_quality": 3.22,
      "rvol": 0.13,
      "volume_acceleration": 10,
      "price_momentum": 0.1,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.95,
      "spread_liquidity": 3.72,
      "momentum_consistency": 2.95,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.805,
      "vwap": 7.7837,
      "vwap_slope": 0.0165,
      "rvol": 0.05,
      "volume_acceleration": 2.39,
      "premarket_volume": 26866.0,
      "momentum_pct": 0.06,
      "consolidation_tightness_pct": 0.25,
      "distance_from_pm_high_pct": 0.06,
      "extension_from_vwap_pct": 0.27,
      "spread_pct": 0.38
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 7.81,
    "pm_low": 7.75
  },
  {
    "symbol": "WSE",
    "total_score": 51.93,
    "raw_score": 55.05,
    "breakdown": {
      "price_quality": 1.89,
      "volume_quality": 9.13,
      "rvol": 0.37,
      "volume_acceleration": 2.73,
      "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.75,
      "momentum_consistency": 3.79,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.105,
      "vwap": 13.0712,
      "vwap_slope": 0.0133,
      "rvol": 0.15,
      "volume_acceleration": 0.78,
      "premarket_volume": 76066.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.08,
      "distance_from_pm_high_pct": 0.0,
      "extension_from_vwap_pct": 0.26,
      "spread_pct": 0.08
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 13.105,
    "pm_low": 13.04
  },
  {
    "symbol": "QDEL",
    "total_score": 51.89,
    "raw_score": 55.01,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 0.66,
      "volume_acceleration": 0.97,
      "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.31,
      "momentum_consistency": 3.43,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.38,
      "vwap": 14.36,
      "vwap_slope": 0.0043,
      "rvol": 0.27,
      "volume_acceleration": 0.28,
      "premarket_volume": 136977.0,
      "momentum_pct": -0.07,
      "consolidation_tightness_pct": 0.26,
      "distance_from_pm_high_pct": 0.35,
      "extension_from_vwap_pct": 0.14,
      "spread_pct": 0.21
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 14.43,
    "pm_low": 14.3
  },
  {
    "symbol": "UTZ",
    "total_score": 51.85,
    "raw_score": 54.96,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 0.85,
      "volume_acceleration": 1.93,
      "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.77,
      "momentum_consistency": 1.52,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.2,
      "vwap": 14.1962,
      "vwap_slope": 0.0001,
      "rvol": 0.35,
      "volume_acceleration": 0.55,
      "premarket_volume": 176939.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.04,
      "distance_from_pm_high_pct": 0.0,
      "extension_from_vwap_pct": 0.03,
      "spread_pct": 0.07
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 14.2,
    "pm_low": 14.19
  },
  {
    "symbol": "LAND",
    "total_score": 51.83,
    "raw_score": 54.94,
    "breakdown": {
      "price_quality": 4.15,
      "volume_quality": 8.05,
      "rvol": 0.32,
      "volume_acceleration": 2.83,
      "price_momentum": 0.08,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.92,
      "spread_liquidity": 4.64,
      "momentum_consistency": 2.55,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.15,
      "vwap": 9.1404,
      "vwap_slope": 0.0036,
      "rvol": 0.13,
      "volume_acceleration": 1.28,
      "premarket_volume": 67110.0,
      "momentum_pct": 0.05,
      "consolidation_tightness_pct": 0.16,
      "distance_from_pm_high_pct": 0.11,
      "extension_from_vwap_pct": 0.1,
      "spread_pct": 0.11
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 9.16,
    "pm_low": 9.11
  },
  {
    "symbol": "WVE",
    "total_score": 51.79,
    "raw_score": 54.9,
    "breakdown": {
      "price_quality": 0.0,
      "volume_quality": 12.0,
      "rvol": 1.19,
      "volume_acceleration": 2.95,
      "price_momentum": 0.15,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.92,
      "spread_liquidity": 4.32,
      "momentum_consistency": 1.96,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 4.88,
      "vwap": 4.8736,
      "vwap_slope": 0.001,
      "rvol": 0.5,
      "volume_acceleration": 0.85,
      "premarket_volume": 247752.0,
      "momentum_pct": 0.1,
      "consolidation_tightness_pct": 0.21,
      "distance_from_pm_high_pct": 0.1,
      "extension_from_vwap_pct": 0.13,
      "spread_pct": 0.21
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 4.885,
    "pm_low": 4.86
  },
  {
    "symbol": "SWBI",
    "total_score": 51.21,
    "raw_score": 54.29,
    "breakdown": {
      "price_quality": 2.3,
      "volume_quality": 6.14,
      "rvol": 0.25,
      "volume_acceleration": 6.65,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.91,
      "spread_liquidity": 4.74,
      "momentum_consistency": 1.89,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.695,
      "vwap": 12.682,
      "vwap_slope": 0.0143,
      "rvol": 0.1,
      "volume_acceleration": 1.67,
      "premarket_volume": 51165.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.12,
      "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": true
    },
    "pm_high": 12.71,
    "pm_low": 12.65
  },
  {
    "symbol": "DEI",
    "total_score": 51.05,
    "raw_score": 54.11,
    "breakdown": {
      "price_quality": 3.45,
      "volume_quality": 9.45,
      "rvol": 0.38,
      "volume_acceleration": 2.48,
      "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": 1.28,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.555,
      "vwap": 11.5407,
      "vwap_slope": 0.0036,
      "rvol": 0.16,
      "volume_acceleration": 1.25,
      "premarket_volume": 78725.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.09,
      "distance_from_pm_high_pct": 0.04,
      "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.5599,
    "pm_low": 11.52
  },
  {
    "symbol": "RMNI",
    "total_score": 50.93,
    "raw_score": 53.99,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 3.73,
      "rvol": 0.15,
      "volume_acceleration": 10,
      "price_momentum": 0.27,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.93,
      "spread_liquidity": 4.4,
      "momentum_consistency": 1.6,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.595,
      "vwap": 5.5708,
      "vwap_slope": 0.0106,
      "rvol": 0.06,
      "volume_acceleration": 2.08,
      "premarket_volume": 31103.0,
      "momentum_pct": 0.18,
      "consolidation_tightness_pct": 0.54,
      "distance_from_pm_high_pct": 0.09,
      "extension_from_vwap_pct": 0.43,
      "spread_pct": 0.18
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 5.6,
    "pm_low": 5.555
  },
  {
    "symbol": "JBS",
    "total_score": 50.86,
    "raw_score": 53.91,
    "breakdown": {
      "price_quality": 1.6,
      "volume_quality": 12.0,
      "rvol": 6.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": 4.63,
      "spread_liquidity": 4.75,
      "momentum_consistency": 1.76,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.4,
      "vwap": 13.495,
      "vwap_slope": -0.0924,
      "rvol": 2.54,
      "volume_acceleration": 3.62,
      "premarket_volume": 1270128.0,
      "momentum_pct": -0.56,
      "consolidation_tightness_pct": 1.12,
      "distance_from_pm_high_pct": 1.83,
      "extension_from_vwap_pct": -0.7,
      "spread_pct": 0.07
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 13.65,
    "pm_low": 13.35
  },
  {
    "symbol": "SMPL",
    "total_score": 50.82,
    "raw_score": 53.87,
    "breakdown": {
      "price_quality": 3.6,
      "volume_quality": 12.0,
      "rvol": 1.37,
      "volume_acceleration": 3.98,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.45,
      "spread_liquidity": 4.71,
      "momentum_consistency": 3.17,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.405,
      "vwap": 11.4185,
      "vwap_slope": 0.0024,
      "rvol": 0.57,
      "volume_acceleration": 1.14,
      "premarket_volume": 284595.0,
      "momentum_pct": -0.04,
      "consolidation_tightness_pct": 0.26,
      "distance_from_pm_high_pct": 0.74,
      "extension_from_vwap_pct": -0.12,
      "spread_pct": 0.09
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": true
    },
    "pm_high": 11.49,
    "pm_low": 11.34
  },
  {
    "symbol": "MBLY",
    "total_score": 50.72,
    "raw_score": 53.76,
    "breakdown": {
      "price_quality": 3.53,
      "volume_quality": 12.0,
      "rvol": 1.09,
      "volume_acceleration": 3.26,
      "price_momentum": 0.09,
      "price_structure": 12,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.78,
      "spread_liquidity": 4.61,
      "momentum_consistency": 1.4,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.53,
      "vwap": 8.5317,
      "vwap_slope": -0.0018,
      "rvol": 0.45,
      "volume_acceleration": 0.94,
      "premarket_volume": 226620.0,
      "momentum_pct": 0.06,
      "consolidation_tightness_pct": 0.16,
      "distance_from_pm_high_pct": 0.29,
      "extension_from_vwap_pct": -0.02,
      "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.515
  },
  {
    "symbol": "OPFI",
    "total_score": 50.71,
    "raw_score": 53.75,
    "breakdown": {
      "price_quality": 1.97,
      "volume_quality": 5.94,
      "rvol": 0.24,
      "volume_acceleration": 6.65,
      "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.52,
      "momentum_consistency": 2.2,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.965,
      "vwap": 6.9629,
      "vwap_slope": 0.0064,
      "rvol": 0.1,
      "volume_acceleration": 1.67,
      "premarket_volume": 49466.0,
      "momentum_pct": -0.2,
      "consolidation_tightness_pct": 0.22,
      "distance_from_pm_high_pct": 0.21,
      "extension_from_vwap_pct": 0.03,
      "spread_pct": 0.14
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 6.98,
    "pm_low": 6.945
  },
  {
    "symbol": "BB",
    "total_score": 50.71,
    "raw_score": 53.75,
    "breakdown": {
      "price_quality": 3.07,
      "volume_quality": 12.0,
      "rvol": 1.71,
      "volume_acceleration": 3.97,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.77,
      "spread_liquidity": 4.59,
      "momentum_consistency": 3.03,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.075,
      "vwap": 8.0789,
      "vwap_slope": 0.0007,
      "rvol": 0.71,
      "volume_acceleration": 1.4,
      "premarket_volume": 357243.0,
      "momentum_pct": -0.06,
      "consolidation_tightness_pct": 0.18,
      "distance_from_pm_high_pct": 0.31,
      "extension_from_vwap_pct": -0.05,
      "spread_pct": 0.12
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": true
    },
    "pm_high": 8.1,
    "pm_low": 8.064
  },
  {
    "symbol": "FSM",
    "total_score": 50.61,
    "raw_score": 53.65,
    "breakdown": {
      "price_quality": 2.93,
      "volume_quality": 12.0,
      "rvol": 2.61,
      "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.81,
      "spread_liquidity": 4.72,
      "momentum_consistency": 2.91,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.0738,
      "vwap": 12.0755,
      "vwap_slope": 0.0017,
      "rvol": 1.09,
      "volume_acceleration": 0.88,
      "premarket_volume": 542856.0,
      "momentum_pct": -0.04,
      "consolidation_tightness_pct": 0.2,
      "distance_from_pm_high_pct": 0.26,
      "extension_from_vwap_pct": -0.01,
      "spread_pct": 0.08
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": true
    },
    "pm_high": 12.105,
    "pm_low": 12.05
  },
  {
    "symbol": "STTK",
    "total_score": 50.56,
    "raw_score": 53.59,
    "breakdown": {
      "price_quality": 1.94,
      "volume_quality": 12.0,
      "rvol": 0.48,
      "volume_acceleration": 0.92,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.57,
      "spread_liquidity": 4.04,
      "momentum_consistency": 2.23,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.94,
      "vwap": 6.9266,
      "vwap_slope": 0.0008,
      "rvol": 0.2,
      "volume_acceleration": 0.27,
      "premarket_volume": 100454.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.29,
      "distance_from_pm_high_pct": 0.57,
      "extension_from_vwap_pct": 0.19,
      "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": 6.98,
    "pm_low": 6.87
  },
  {
    "symbol": "GNW",
    "total_score": 50.54,
    "raw_score": 53.57,
    "breakdown": {
      "price_quality": 4.96,
      "volume_quality": 12.0,
      "rvol": 0.82,
      "volume_acceleration": 3.45,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.89,
      "spread_liquidity": 4.67,
      "momentum_consistency": 2.2,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.96,
      "vwap": 9.9614,
      "vwap_slope": 0.0009,
      "rvol": 0.34,
      "volume_acceleration": 1.34,
      "premarket_volume": 170213.0,
      "momentum_pct": -0.05,
      "consolidation_tightness_pct": 0.1,
      "distance_from_pm_high_pct": 0.15,
      "extension_from_vwap_pct": -0.01,
      "spread_pct": 0.1
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": true
    },
    "pm_high": 9.975,
    "pm_low": 9.945
  },
  {
    "symbol": "PDYN",
    "total_score": 50.46,
    "raw_score": 53.48,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 8.69,
      "rvol": 0.35,
      "volume_acceleration": 2.96,
      "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.84,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.73,
      "vwap": 5.7048,
      "vwap_slope": 0.0017,
      "rvol": 0.14,
      "volume_acceleration": 0.85,
      "premarket_volume": 72381.0,
      "momentum_pct": 0.26,
      "consolidation_tightness_pct": 0.44,
      "distance_from_pm_high_pct": 0.09,
      "extension_from_vwap_pct": 0.44,
      "spread_pct": 0.17
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 5.735,
    "pm_low": 5.675
  },
  {
    "symbol": "GPK",
    "total_score": 50.44,
    "raw_score": 53.47,
    "breakdown": {
      "price_quality": 3.74,
      "volume_quality": 12.0,
      "rvol": 1.38,
      "volume_acceleration": 4.12,
      "price_momentum": 0.05,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.79,
      "spread_liquidity": 4.7,
      "momentum_consistency": 2.48,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.2585,
      "vwap": 11.2565,
      "vwap_slope": -0.0016,
      "rvol": 0.58,
      "volume_acceleration": 1.41,
      "premarket_volume": 287710.0,
      "momentum_pct": 0.03,
      "consolidation_tightness_pct": 0.17,
      "distance_from_pm_high_pct": 0.28,
      "extension_from_vwap_pct": 0.02,
      "spread_pct": 0.09
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 11.29,
    "pm_low": 11.225
  },
  {
    "symbol": "F",
    "total_score": 50.32,
    "raw_score": 53.34,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 12.0,
      "volume_acceleration": 3.06,
      "price_momentum": 0.02,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.39,
      "spread_liquidity": 4.76,
      "momentum_consistency": 2.21,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.935,
      "vwap": 13.9771,
      "vwap_slope": -0.0071,
      "rvol": 8.39,
      "volume_acceleration": 0.88,
      "premarket_volume": 4197243.0,
      "momentum_pct": 0.01,
      "consolidation_tightness_pct": 0.14,
      "distance_from_pm_high_pct": 0.82,
      "extension_from_vwap_pct": -0.3,
      "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.0499,
    "pm_low": 13.93
  },
  {
    "symbol": "PCG",
    "total_score": 50.17,
    "raw_score": 53.18,
    "breakdown": {
      "price_quality": 1.61,
      "volume_quality": 12.0,
      "rvol": 12.0,
      "volume_acceleration": 2.74,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 4.79,
      "spread_liquidity": 4.75,
      "momentum_consistency": 2.9,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.395,
      "vwap": 13.5444,
      "vwap_slope": -0.0164,
      "rvol": 22.18,
      "volume_acceleration": 0.79,
      "premarket_volume": 11090439.0,
      "momentum_pct": -1.11,
      "consolidation_tightness_pct": 1.15,
      "distance_from_pm_high_pct": 1.62,
      "extension_from_vwap_pct": -1.1,
      "spread_pct": 0.07
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 13.615,
    "pm_low": 13.395
  },
  {
    "symbol": "TSSI",
    "total_score": 49.95,
    "raw_score": 52.95,
    "breakdown": {
      "price_quality": 2.9,
      "volume_quality": 7.04,
      "rvol": 0.28,
      "volume_acceleration": 3.02,
      "price_momentum": 0.09,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.53,
      "spread_liquidity": 4.58,
      "momentum_consistency": 3.11,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.8999,
      "vwap": 7.8882,
      "vwap_slope": 0.0021,
      "rvol": 0.12,
      "volume_acceleration": 1.3,
      "premarket_volume": 58652.0,
      "momentum_pct": 0.06,
      "consolidation_tightness_pct": 0.13,
      "distance_from_pm_high_pct": 0.63,
      "extension_from_vwap_pct": 0.15,
      "spread_pct": 0.13
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 7.95,
    "pm_low": 7.85
  },
  {
    "symbol": "ACHR",
    "total_score": 49.94,
    "raw_score": 52.94,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 12.0,
      "volume_acceleration": 2.05,
      "price_momentum": 0.26,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.55,
      "spread_liquidity": 4.42,
      "momentum_consistency": 2.76,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.785,
      "vwap": 5.7933,
      "vwap_slope": -0.0016,
      "rvol": 6.92,
      "volume_acceleration": 0.59,
      "premarket_volume": 3462258.0,
      "momentum_pct": 0.17,
      "consolidation_tightness_pct": 0.35,
      "distance_from_pm_high_pct": 0.6,
      "extension_from_vwap_pct": -0.14,
      "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.82,
    "pm_low": 5.77
  },
  {
    "symbol": "STDN",
    "total_score": 49.93,
    "raw_score": 52.93,
    "breakdown": {
      "price_quality": 0.0,
      "volume_quality": 12.0,
      "rvol": 1.07,
      "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.1,
      "spread_liquidity": 2.35,
      "momentum_consistency": 3.14,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 15.165,
      "vwap": 15.115,
      "vwap_slope": 0.0133,
      "rvol": 0.45,
      "volume_acceleration": 0.82,
      "premarket_volume": 223061.0,
      "momentum_pct": -0.2,
      "consolidation_tightness_pct": 1.45,
      "distance_from_pm_high_pct": 1.21,
      "extension_from_vwap_pct": 0.33,
      "spread_pct": 0.79
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 15.35,
    "pm_low": 14.9193
  },
  {
    "symbol": "ALHC",
    "total_score": 49.92,
    "raw_score": 52.92,
    "breakdown": {
      "price_quality": 1.65,
      "volume_quality": 12.0,
      "rvol": 1.18,
      "volume_acceleration": 3.44,
      "price_momentum": 0.11,
      "price_structure": 12,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.75,
      "spread_liquidity": 4.75,
      "momentum_consistency": 2.04,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.345,
      "vwap": 13.3592,
      "vwap_slope": -0.0105,
      "rvol": 0.49,
      "volume_acceleration": 1.34,
      "premarket_volume": 245580.0,
      "momentum_pct": 0.07,
      "consolidation_tightness_pct": 0.22,
      "distance_from_pm_high_pct": 0.34,
      "extension_from_vwap_pct": -0.11,
      "spread_pct": 0.07
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 13.39,
    "pm_low": 13.31
  },
  {
    "symbol": "ORN",
    "total_score": 49.88,
    "raw_score": 52.87,
    "breakdown": {
      "price_quality": 4.38,
      "volume_quality": 6.88,
      "rvol": 0.28,
      "volume_acceleration": 1.53,
      "price_momentum": 0.32,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.92,
      "spread_liquidity": 4.29,
      "momentum_consistency": 2.87,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.38,
      "vwap": 9.3411,
      "vwap_slope": 0.0037,
      "rvol": 0.11,
      "volume_acceleration": 0.44,
      "premarket_volume": 57356.0,
      "momentum_pct": 0.21,
      "consolidation_tightness_pct": 0.53,
      "distance_from_pm_high_pct": 0.11,
      "extension_from_vwap_pct": 0.42,
      "spread_pct": 0.21
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 9.39,
    "pm_low": 9.27
  },
  {
    "symbol": "RXST",
    "total_score": 49.86,
    "raw_score": 52.85,
    "breakdown": {
      "price_quality": 2.21,
      "volume_quality": 9.09,
      "rvol": 0.36,
      "volume_acceleration": 1.91,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.64,
      "spread_liquidity": 3.61,
      "momentum_consistency": 3.64,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.205,
      "vwap": 7.1454,
      "vwap_slope": 0.0176,
      "rvol": 0.15,
      "volume_acceleration": 0.55,
      "premarket_volume": 75735.0,
      "momentum_pct": -0.37,
      "consolidation_tightness_pct": 0.62,
      "distance_from_pm_high_pct": 0.48,
      "extension_from_vwap_pct": 0.83,
      "spread_pct": 0.42
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 7.24,
    "pm_low": 7.08
  },
  {
    "symbol": "SENS",
    "total_score": 49.86,
    "raw_score": 52.85,
    "breakdown": {
      "price_quality": 4.17,
      "volume_quality": 3.66,
      "rvol": 0.15,
      "volume_acceleration": 2.05,
      "price_momentum": 0.0,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.76,
      "spread_liquidity": 4.27,
      "momentum_consistency": 4.0,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.17,
      "vwap": 9.1657,
      "vwap_slope": -0.0032,
      "rvol": 0.06,
      "volume_acceleration": 1.2,
      "premarket_volume": 30534.0,
      "momentum_pct": -0.05,
      "consolidation_tightness_pct": 0.33,
      "distance_from_pm_high_pct": 0.33,
      "extension_from_vwap_pct": 0.05,
      "spread_pct": 0.22
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 9.2,
    "pm_low": 9.13
  },
  {
    "symbol": "BIOA",
    "total_score": 49.8,
    "raw_score": 52.79,
    "breakdown": {
      "price_quality": 4.29,
      "volume_quality": 5.91,
      "rvol": 0.24,
      "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.84,
      "spread_liquidity": 4.28,
      "momentum_consistency": 2.8,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.29,
      "vwap": 9.2821,
      "vwap_slope": 0.0069,
      "rvol": 0.1,
      "volume_acceleration": 0.87,
      "premarket_volume": 49209.0,
      "momentum_pct": -0.11,
      "consolidation_tightness_pct": 0.22,
      "distance_from_pm_high_pct": 0.21,
      "extension_from_vwap_pct": 0.09,
      "spread_pct": 0.22
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 9.31,
    "pm_low": 9.25
  },
  {
    "symbol": "RIG",
    "total_score": 49.79,
    "raw_score": 52.77,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 12.0,
      "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.42,
      "spread_liquidity": 4.42,
      "momentum_consistency": 2.62,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.765,
      "vwap": 5.7763,
      "vwap_slope": -0.0011,
      "rvol": 5.96,
      "volume_acceleration": 0.69,
      "premarket_volume": 2981371.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.17,
      "distance_from_pm_high_pct": 0.77,
      "extension_from_vwap_pct": -0.19,
      "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.81,
    "pm_low": 5.75
  },
  {
    "symbol": "CXM",
    "total_score": 49.79,
    "raw_score": 52.78,
    "breakdown": {
      "price_quality": 3.21,
      "volume_quality": 12.0,
      "rvol": 5.56,
      "volume_acceleration": 7.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.46,
      "spread_liquidity": 4.59,
      "momentum_consistency": 2.39,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.215,
      "vwap": 8.2406,
      "vwap_slope": -0.0025,
      "rvol": 2.08,
      "volume_acceleration": 1.72,
      "premarket_volume": 1042457.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.12,
      "distance_from_pm_high_pct": 0.73,
      "extension_from_vwap_pct": -0.31,
      "spread_pct": 0.12
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 8.275,
    "pm_low": 8.2001
  },
  {
    "symbol": "MATV",
    "total_score": 49.76,
    "raw_score": 52.74,
    "breakdown": {
      "price_quality": 3.11,
      "volume_quality": 6.15,
      "rvol": 0.25,
      "volume_acceleration": 3.62,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.81,
      "spread_liquidity": 4.44,
      "momentum_consistency": 2.97,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.89,
      "vwap": 11.8801,
      "vwap_slope": 0.0095,
      "rvol": 0.1,
      "volume_acceleration": 1.04,
      "premarket_volume": 51220.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.49,
      "distance_from_pm_high_pct": 0.25,
      "extension_from_vwap_pct": 0.08,
      "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.845
  },
  {
    "symbol": "JOBY",
    "total_score": 49.64,
    "raw_score": 52.62,
    "breakdown": {
      "price_quality": 1.88,
      "volume_quality": 12.0,
      "rvol": 10.91,
      "volume_acceleration": 3.17,
      "price_momentum": 0.11,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.3,
      "spread_liquidity": 4.52,
      "momentum_consistency": 2.34,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.875,
      "vwap": 6.8964,
      "vwap_slope": -0.0044,
      "rvol": 4.09,
      "volume_acceleration": 0.91,
      "premarket_volume": 2045061.0,
      "momentum_pct": 0.07,
      "consolidation_tightness_pct": 0.29,
      "distance_from_pm_high_pct": 0.94,
      "extension_from_vwap_pct": -0.31,
      "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.9399,
    "pm_low": 6.86
  },
  {
    "symbol": "NMAX",
    "total_score": 49.61,
    "raw_score": 52.59,
    "breakdown": {
      "price_quality": 4.16,
      "volume_quality": 6.24,
      "rvol": 0.25,
      "volume_acceleration": 2.77,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.72,
      "spread_liquidity": 4.39,
      "momentum_consistency": 2.67,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.84,
      "vwap": 10.7991,
      "vwap_slope": 0.018,
      "rvol": 0.1,
      "volume_acceleration": 0.8,
      "premarket_volume": 51985.0,
      "momentum_pct": -0.23,
      "consolidation_tightness_pct": 0.37,
      "distance_from_pm_high_pct": 0.37,
      "extension_from_vwap_pct": 0.38,
      "spread_pct": 0.18
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 10.88,
    "pm_low": 10.7104
  },
  {
    "symbol": "HUN",
    "total_score": 49.54,
    "raw_score": 52.51,
    "breakdown": {
      "price_quality": 4.48,
      "volume_quality": 12.0,
      "rvol": 0.64,
      "volume_acceleration": 2.79,
      "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.65,
      "momentum_consistency": 2.82,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.485,
      "vwap": 9.4806,
      "vwap_slope": -0.0023,
      "rvol": 0.27,
      "volume_acceleration": 0.8,
      "premarket_volume": 133709.0,
      "momentum_pct": -0.05,
      "consolidation_tightness_pct": 0.11,
      "distance_from_pm_high_pct": 0.11,
      "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": false
    },
    "pm_high": 9.495,
    "pm_low": 9.455
  },
  {
    "symbol": "BV",
    "total_score": 49.5,
    "raw_score": 52.47,
    "breakdown": {
      "price_quality": 3.88,
      "volume_quality": 5.57,
      "rvol": 0.22,
      "volume_acceleration": 3.2,
      "price_momentum": 0.14,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 6,
      "spread_liquidity": 4.4,
      "momentum_consistency": 2.67,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.12,
      "vwap": 11.1033,
      "vwap_slope": 0.0016,
      "rvol": 0.09,
      "volume_acceleration": 0.92,
      "premarket_volume": 46400.0,
      "momentum_pct": 0.09,
      "consolidation_tightness_pct": 0.13,
      "distance_from_pm_high_pct": 0.0,
      "extension_from_vwap_pct": 0.15,
      "spread_pct": 0.18
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 11.12,
    "pm_low": 11.08
  },
  {
    "symbol": "RGNX",
    "total_score": 49.46,
    "raw_score": 52.43,
    "breakdown": {
      "price_quality": 4.46,
      "volume_quality": 7.69,
      "rvol": 0.31,
      "volume_acceleration": 7.68,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.76,
      "spread_liquidity": 4.65,
      "momentum_consistency": 2.29,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.46,
      "vwap": 9.4604,
      "vwap_slope": 0.0006,
      "rvol": 0.13,
      "volume_acceleration": 1.77,
      "premarket_volume": 64103.0,
      "momentum_pct": -0.11,
      "consolidation_tightness_pct": 0.11,
      "distance_from_pm_high_pct": 0.32,
      "extension_from_vwap_pct": -0.0,
      "spread_pct": 0.11
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": true
    },
    "pm_high": 9.49,
    "pm_low": 9.44
  },
  {
    "symbol": "ICL",
    "total_score": 49.45,
    "raw_score": 52.42,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 8.97,
      "rvol": 0.36,
      "volume_acceleration": 3.1,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.93,
      "spread_liquidity": 4.41,
      "momentum_consistency": 1.74,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.695,
      "vwap": 5.6917,
      "vwap_slope": 0.001,
      "rvol": 0.15,
      "volume_acceleration": 0.89,
      "premarket_volume": 74734.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.09,
      "distance_from_pm_high_pct": 0.09,
      "extension_from_vwap_pct": 0.06,
      "spread_pct": 0.18
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 5.7,
    "pm_low": 5.67
  },
  {
    "symbol": "ACVA",
    "total_score": 49.23,
    "raw_score": 52.19,
    "breakdown": {
      "price_quality": 2.05,
      "volume_quality": 12.0,
      "rvol": 1.21,
      "volume_acceleration": 1.95,
      "price_momentum": 0.11,
      "price_structure": 12,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.52,
      "spread_liquidity": 4.53,
      "momentum_consistency": 2.82,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.05,
      "vwap": 7.0546,
      "vwap_slope": -0.0011,
      "rvol": 0.5,
      "volume_acceleration": 0.56,
      "premarket_volume": 251523.0,
      "momentum_pct": 0.07,
      "consolidation_tightness_pct": 0.28,
      "distance_from_pm_high_pct": 0.63,
      "extension_from_vwap_pct": -0.06,
      "spread_pct": 0.14
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 7.095,
    "pm_low": 7.025
  },
  {
    "symbol": "TTD",
    "total_score": 49.21,
    "raw_score": 52.16,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 12.0,
      "volume_acceleration": 1.23,
      "price_momentum": 0.11,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 4.44,
      "spread_liquidity": 4.76,
      "momentum_consistency": 3.72,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.845,
      "vwap": 13.9138,
      "vwap_slope": -0.0104,
      "rvol": 10.41,
      "volume_acceleration": 0.35,
      "premarket_volume": 5203764.0,
      "momentum_pct": 0.07,
      "consolidation_tightness_pct": 0.22,
      "distance_from_pm_high_pct": 2.09,
      "extension_from_vwap_pct": -0.49,
      "spread_pct": 0.07
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 14.14,
    "pm_low": 13.7
  },
  {
    "symbol": "AIRO",
    "total_score": 49.09,
    "raw_score": 52.04,
    "breakdown": {
      "price_quality": 2.75,
      "volume_quality": 5.2,
      "rvol": 0.21,
      "volume_acceleration": 4.02,
      "price_momentum": 1.17,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 6,
      "spread_liquidity": 4.14,
      "momentum_consistency": 2.15,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.75,
      "vwap": 7.7004,
      "vwap_slope": 0.0044,
      "rvol": 0.09,
      "volume_acceleration": 1.4,
      "premarket_volume": 43351.0,
      "momentum_pct": 0.78,
      "consolidation_tightness_pct": 0.91,
      "distance_from_pm_high_pct": 0.0,
      "extension_from_vwap_pct": 0.64,
      "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": 7.75,
    "pm_low": 7.68
  },
  {
    "symbol": "XHLD",
    "total_score": 49.08,
    "raw_score": 52.02,
    "breakdown": {
      "price_quality": 3.93,
      "volume_quality": 12.0,
      "rvol": 1.13,
      "volume_acceleration": 10,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.01,
      "spread_liquidity": 4.63,
      "momentum_consistency": 2.93,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.93,
      "vwap": 8.9559,
      "vwap_slope": -0.0264,
      "rvol": 0.47,
      "volume_acceleration": 6.35,
      "premarket_volume": 235747.0,
      "momentum_pct": -1.0,
      "consolidation_tightness_pct": 1.12,
      "distance_from_pm_high_pct": 1.33,
      "extension_from_vwap_pct": -0.29,
      "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.05,
    "pm_low": 8.92
  },
  {
    "symbol": "TBCH",
    "total_score": 49.07,
    "raw_score": 52.02,
    "breakdown": {
      "price_quality": 2.35,
      "volume_quality": 7.37,
      "rvol": 0.29,
      "volume_acceleration": 1.28,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.5,
      "spread_liquidity": 4.21,
      "momentum_consistency": 4.62,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.655,
      "vwap": 12.6018,
      "vwap_slope": 0.0291,
      "rvol": 0.12,
      "volume_acceleration": 0.37,
      "premarket_volume": 61386.0,
      "momentum_pct": -0.39,
      "consolidation_tightness_pct": 0.59,
      "distance_from_pm_high_pct": 0.67,
      "extension_from_vwap_pct": 0.42,
      "spread_pct": 0.24
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 12.74,
    "pm_low": 12.44
  },
  {
    "symbol": "BYND",
    "total_score": 48.92,
    "raw_score": 51.85,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 5.25,
      "rvol": 0.21,
      "volume_acceleration": 3.89,
      "price_momentum": 0.78,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.91,
      "spread_liquidity": 4.26,
      "momentum_consistency": 3.66,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.52,
      "vwap": 13.4754,
      "vwap_slope": 0.001,
      "rvol": 0.09,
      "volume_acceleration": 1.12,
      "premarket_volume": 43718.0,
      "momentum_pct": 0.52,
      "consolidation_tightness_pct": 0.59,
      "distance_from_pm_high_pct": 0.12,
      "extension_from_vwap_pct": 0.33,
      "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.5358,
    "pm_low": 13.4075
  },
  {
    "symbol": "QUAD",
    "total_score": 48.85,
    "raw_score": 51.78,
    "breakdown": {
      "price_quality": 4.99,
      "volume_quality": 5.27,
      "rvol": 0.21,
      "volume_acceleration": 2.66,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 6,
      "spread_liquidity": 4.33,
      "momentum_consistency": 1.9,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.01,
      "vwap": 9.977,
      "vwap_slope": 0.0076,
      "rvol": 0.09,
      "volume_acceleration": 0.77,
      "premarket_volume": 43955.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.09,
      "distance_from_pm_high_pct": 0.0,
      "extension_from_vwap_pct": 0.33,
      "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.01,
    "pm_low": 9.945
  },
  {
    "symbol": "DUOT",
    "total_score": 48.83,
    "raw_score": 51.76,
    "breakdown": {
      "price_quality": 4.38,
      "volume_quality": 12.0,
      "rvol": 0.5,
      "volume_acceleration": 10,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.25,
      "spread_liquidity": 3.93,
      "momentum_consistency": 3.3,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.375,
      "vwap": 9.415,
      "vwap_slope": -0.0158,
      "rvol": 0.21,
      "volume_acceleration": 2.01,
      "premarket_volume": 104932.0,
      "momentum_pct": -0.16,
      "consolidation_tightness_pct": 0.64,
      "distance_from_pm_high_pct": 1.0,
      "extension_from_vwap_pct": -0.42,
      "spread_pct": 0.32
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 9.47,
    "pm_low": 9.36
  },
  {
    "symbol": "DX",
    "total_score": 48.78,
    "raw_score": 51.71,
    "breakdown": {
      "price_quality": 2.09,
      "volume_quality": 12.0,
      "rvol": 1.42,
      "volume_acceleration": 3.52,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.91,
      "spread_liquidity": 4.74,
      "momentum_consistency": 2.43,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.915,
      "vwap": 12.9168,
      "vwap_slope": 0.0005,
      "rvol": 0.59,
      "volume_acceleration": 1.01,
      "premarket_volume": 296403.0,
      "momentum_pct": -0.08,
      "consolidation_tightness_pct": 0.15,
      "distance_from_pm_high_pct": 0.12,
      "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.93,
    "pm_low": 12.9
  },
  {
    "symbol": "SPT",
    "total_score": 48.55,
    "raw_score": 51.46,
    "breakdown": {
      "price_quality": 3.57,
      "volume_quality": 12.0,
      "rvol": 0.54,
      "volume_acceleration": 10,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.58,
      "spread_liquidity": 4.71,
      "momentum_consistency": 2.67,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.43,
      "vwap": 11.4537,
      "vwap_slope": -0.0071,
      "rvol": 0.22,
      "volume_acceleration": 3.39,
      "premarket_volume": 112420.0,
      "momentum_pct": -0.09,
      "consolidation_tightness_pct": 0.17,
      "distance_from_pm_high_pct": 0.57,
      "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.495,
    "pm_low": 11.425
  },
  {
    "symbol": "PERI",
    "total_score": 48.43,
    "raw_score": 51.34,
    "breakdown": {
      "price_quality": 4.74,
      "volume_quality": 3.13,
      "rvol": 0.13,
      "volume_acceleration": 3.33,
      "price_momentum": 0.08,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.96,
      "spread_liquidity": 4.66,
      "momentum_consistency": 2.91,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.745,
      "vwap": 9.7324,
      "vwap_slope": 0.0013,
      "rvol": 0.05,
      "volume_acceleration": 0.96,
      "premarket_volume": 26075.0,
      "momentum_pct": 0.05,
      "consolidation_tightness_pct": 0.1,
      "distance_from_pm_high_pct": 0.05,
      "extension_from_vwap_pct": 0.13,
      "spread_pct": 0.1
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 9.75,
    "pm_low": 9.715
  },
  {
    "symbol": "AGNC",
    "total_score": 48.38,
    "raw_score": 51.28,
    "breakdown": {
      "price_quality": 4.31,
      "volume_quality": 12.0,
      "rvol": 7.46,
      "volume_acceleration": 2.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.79,
      "spread_liquidity": 4.69,
      "momentum_consistency": 2.62,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.69,
      "vwap": 10.6941,
      "vwap_slope": -0.0012,
      "rvol": 2.8,
      "volume_acceleration": 0.58,
      "premarket_volume": 1398768.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.09,
      "distance_from_pm_high_pct": 0.28,
      "extension_from_vwap_pct": -0.04,
      "spread_pct": 0.09
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 10.72,
    "pm_low": 10.68
  },
  {
    "symbol": "SECZ",
    "total_score": 48.03,
    "raw_score": 50.91,
    "breakdown": {
      "price_quality": 1.53,
      "volume_quality": 5.44,
      "rvol": 0.22,
      "volume_acceleration": 3.34,
      "price_momentum": 0.69,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 6,
      "spread_liquidity": 3.98,
      "momentum_consistency": 3.32,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.53,
      "vwap": 6.4848,
      "vwap_slope": 0.0079,
      "rvol": 0.09,
      "volume_acceleration": 0.96,
      "premarket_volume": 45324.0,
      "momentum_pct": 0.46,
      "consolidation_tightness_pct": 0.46,
      "distance_from_pm_high_pct": 0.0,
      "extension_from_vwap_pct": 0.7,
      "spread_pct": 0.31
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 6.53,
    "pm_low": 6.46
  },
  {
    "symbol": "STGW",
    "total_score": 47.92,
    "raw_score": 50.79,
    "breakdown": {
      "price_quality": 3.62,
      "volume_quality": 4.89,
      "rvol": 0.2,
      "volume_acceleration": 2.24,
      "price_momentum": 0.09,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.91,
      "spread_liquidity": 4.61,
      "momentum_consistency": 2.84,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.62,
      "vwap": 8.6052,
      "vwap_slope": 0.0029,
      "rvol": 0.08,
      "volume_acceleration": 0.64,
      "premarket_volume": 40764.0,
      "momentum_pct": 0.06,
      "consolidation_tightness_pct": 0.12,
      "distance_from_pm_high_pct": 0.12,
      "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": true,
      "vwap_rising": true
    },
    "pm_high": 8.63,
    "pm_low": 8.585
  },
  {
    "symbol": "MFA",
    "total_score": 47.73,
    "raw_score": 50.6,
    "breakdown": {
      "price_quality": 3.84,
      "volume_quality": 12.0,
      "rvol": 0.5,
      "volume_acceleration": 2.19,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.96,
      "spread_liquidity": 4.62,
      "momentum_consistency": 2.29,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.835,
      "vwap": 8.8325,
      "vwap_slope": -0.001,
      "rvol": 0.21,
      "volume_acceleration": 0.63,
      "premarket_volume": 105201.0,
      "momentum_pct": -0.06,
      "consolidation_tightness_pct": 0.17,
      "distance_from_pm_high_pct": 0.06,
      "extension_from_vwap_pct": 0.03,
      "spread_pct": 0.11
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 8.84,
    "pm_low": 8.82
  },
  {
    "symbol": "EOLS",
    "total_score": 47.66,
    "raw_score": 50.52,
    "breakdown": {
      "price_quality": 4.03,
      "volume_quality": 4.92,
      "rvol": 0.2,
      "volume_acceleration": 1.72,
      "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.63,
      "momentum_consistency": 2.75,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.025,
      "vwap": 9.0098,
      "vwap_slope": 0.0029,
      "rvol": 0.08,
      "volume_acceleration": 0.49,
      "premarket_volume": 41005.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.11,
      "distance_from_pm_high_pct": 0.17,
      "extension_from_vwap_pct": 0.17,
      "spread_pct": 0.11
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 9.04,
    "pm_low": 8.97
  },
  {
    "symbol": "MED",
    "total_score": 47.6,
    "raw_score": 50.46,
    "breakdown": {
      "price_quality": 2.77,
      "volume_quality": 2.59,
      "rvol": 0.1,
      "volume_acceleration": 5.39,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.69,
      "spread_liquidity": 3.91,
      "momentum_consistency": 3.6,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.23,
      "vwap": 12.2282,
      "vwap_slope": 0.039,
      "rvol": 0.04,
      "volume_acceleration": 1.54,
      "premarket_volume": 21595.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.29,
      "distance_from_pm_high_pct": 0.41,
      "extension_from_vwap_pct": 0.01,
      "spread_pct": 0.33
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 12.28,
    "pm_low": 12.06
  },
  {
    "symbol": "AEG",
    "total_score": 47.6,
    "raw_score": 50.46,
    "breakdown": {
      "price_quality": 4.15,
      "volume_quality": 12.0,
      "rvol": 1.49,
      "volume_acceleration": 9.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.84,
      "spread_liquidity": 4.64,
      "momentum_consistency": 0.86,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.15,
      "vwap": 9.155,
      "vwap_slope": -0.0041,
      "rvol": 0.62,
      "volume_acceleration": 1.91,
      "premarket_volume": 311278.0,
      "momentum_pct": -0.05,
      "consolidation_tightness_pct": 0.05,
      "distance_from_pm_high_pct": 0.22,
      "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": false,
      "vwap_rising": false
    },
    "pm_high": 9.1699,
    "pm_low": 9.145
  },
  {
    "symbol": "TIC",
    "total_score": 47.56,
    "raw_score": 50.41,
    "breakdown": {
      "price_quality": 4.47,
      "volume_quality": 8.39,
      "rvol": 0.34,
      "volume_acceleration": 3.23,
      "price_momentum": 0.16,
      "price_structure": 12,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.68,
      "spread_liquidity": 4.65,
      "momentum_consistency": 1.49,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.475,
      "vwap": 9.4825,
      "vwap_slope": -0.0039,
      "rvol": 0.14,
      "volume_acceleration": 0.93,
      "premarket_volume": 69892.0,
      "momentum_pct": 0.11,
      "consolidation_tightness_pct": 0.16,
      "distance_from_pm_high_pct": 0.42,
      "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": true,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 9.515,
    "pm_low": 9.46
  },
  {
    "symbol": "SBGI",
    "total_score": 47.53,
    "raw_score": 50.38,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 6.6,
      "rvol": 0.26,
      "volume_acceleration": 1.64,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.95,
      "spread_liquidity": 4.53,
      "momentum_consistency": 3.5,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.09,
      "vwap": 14.068,
      "vwap_slope": 0.0017,
      "rvol": 0.11,
      "volume_acceleration": 0.47,
      "premarket_volume": 55022.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.21,
      "distance_from_pm_high_pct": 0.07,
      "extension_from_vwap_pct": 0.16,
      "spread_pct": 0.14
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 14.1,
    "pm_low": 14.005
  },
  {
    "symbol": "TRIP",
    "total_score": 47.45,
    "raw_score": 50.3,
    "breakdown": {
      "price_quality": 4.56,
      "volume_quality": 12.0,
      "rvol": 1.5,
      "volume_acceleration": 7.77,
      "price_momentum": 0.08,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.53,
      "spread_liquidity": 4.65,
      "momentum_consistency": 1.79,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.565,
      "vwap": 9.5764,
      "vwap_slope": -0.0129,
      "rvol": 0.63,
      "volume_acceleration": 1.78,
      "premarket_volume": 313523.0,
      "momentum_pct": 0.05,
      "consolidation_tightness_pct": 0.26,
      "distance_from_pm_high_pct": 0.62,
      "extension_from_vwap_pct": -0.12,
      "spread_pct": 0.1
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 9.625,
    "pm_low": 9.54
  },
  {
    "symbol": "GLAS",
    "total_score": 47.39,
    "raw_score": 50.24,
    "breakdown": {
      "price_quality": 4.21,
      "volume_quality": 12.0,
      "rvol": 0.5,
      "volume_acceleration": 10,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.04,
      "spread_liquidity": 3.91,
      "momentum_consistency": 2.18,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.21,
      "vwap": 9.2126,
      "vwap_slope": -0.05,
      "rvol": 0.21,
      "volume_acceleration": 6.48,
      "premarket_volume": 103910.0,
      "momentum_pct": -0.22,
      "consolidation_tightness_pct": 0.41,
      "distance_from_pm_high_pct": 1.29,
      "extension_from_vwap_pct": -0.03,
      "spread_pct": 0.33
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 9.33,
    "pm_low": 9.15
  },
  {
    "symbol": "VISN",
    "total_score": 47.25,
    "raw_score": 50.09,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 7.82,
      "volume_acceleration": 2.91,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.53,
      "spread_liquidity": 4.47,
      "momentum_consistency": 3.45,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.33,
      "vwap": 6.3421,
      "vwap_slope": -0.0024,
      "rvol": 2.93,
      "volume_acceleration": 0.84,
      "premarket_volume": 1466659.0,
      "momentum_pct": -0.24,
      "consolidation_tightness_pct": 0.46,
      "distance_from_pm_high_pct": 0.63,
      "extension_from_vwap_pct": -0.19,
      "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.37,
    "pm_low": 6.3111
  },
  {
    "symbol": "CARS",
    "total_score": 47.0,
    "raw_score": 49.82,
    "breakdown": {
      "price_quality": 3.33,
      "volume_quality": 4.07,
      "rvol": 0.16,
      "volume_acceleration": 10,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.81,
      "spread_liquidity": 4.43,
      "momentum_consistency": 2.42,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.67,
      "vwap": 11.679,
      "vwap_slope": 0.0079,
      "rvol": 0.07,
      "volume_acceleration": 2.4,
      "premarket_volume": 33909.0,
      "momentum_pct": -0.21,
      "consolidation_tightness_pct": 0.34,
      "distance_from_pm_high_pct": 0.26,
      "extension_from_vwap_pct": -0.08,
      "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.7,
    "pm_low": 11.64
  },
  {
    "symbol": "YEXT",
    "total_score": 46.91,
    "raw_score": 49.73,
    "breakdown": {
      "price_quality": 1.76,
      "volume_quality": 11.11,
      "rvol": 0.44,
      "volume_acceleration": 3.79,
      "price_momentum": 0.34,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.94,
      "spread_liquidity": 4.51,
      "momentum_consistency": 2.62,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.765,
      "vwap": 6.7505,
      "vwap_slope": -0.0,
      "rvol": 0.19,
      "volume_acceleration": 1.09,
      "premarket_volume": 92607.0,
      "momentum_pct": 0.23,
      "consolidation_tightness_pct": 0.3,
      "distance_from_pm_high_pct": 0.07,
      "extension_from_vwap_pct": 0.21,
      "spread_pct": 0.15
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 6.77,
    "pm_low": 6.735
  },
  {
    "symbol": "MRTN",
    "total_score": 46.88,
    "raw_score": 49.7,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 6.5,
      "rvol": 0.26,
      "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.95,
      "spread_liquidity": 4.54,
      "momentum_consistency": 2.91,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.41,
      "vwap": 14.3854,
      "vwap_slope": 0.0078,
      "rvol": 0.11,
      "volume_acceleration": 0.47,
      "premarket_volume": 54145.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.14,
      "distance_from_pm_high_pct": 0.07,
      "extension_from_vwap_pct": 0.17,
      "spread_pct": 0.14
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 14.42,
    "pm_low": 14.35
  },
  {
    "symbol": "GOOS",
    "total_score": 46.65,
    "raw_score": 49.44,
    "breakdown": {
      "price_quality": 3.2,
      "volume_quality": 3.6,
      "rvol": 0.14,
      "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": 6,
      "spread_liquidity": 4.59,
      "momentum_consistency": 2.0,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.195,
      "vwap": 8.1804,
      "vwap_slope": 0.004,
      "rvol": 0.06,
      "volume_acceleration": 1.01,
      "premarket_volume": 29991.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.12,
      "distance_from_pm_high_pct": 0.0,
      "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": true,
      "vwap_rising": true
    },
    "pm_high": 8.195,
    "pm_low": 8.161
  },
  {
    "symbol": "LTRX",
    "total_score": 46.35,
    "raw_score": 49.13,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 0.61,
      "volume_acceleration": 3.44,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.65,
      "spread_liquidity": 4.37,
      "momentum_consistency": 1.96,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.3,
      "vwap": 5.3001,
      "vwap_slope": 0.0034,
      "rvol": 0.25,
      "volume_acceleration": 0.99,
      "premarket_volume": 126882.0,
      "momentum_pct": -0.47,
      "consolidation_tightness_pct": 0.47,
      "distance_from_pm_high_pct": 0.47,
      "extension_from_vwap_pct": -0.0,
      "spread_pct": 0.19
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": true
    },
    "pm_high": 5.325,
    "pm_low": 5.265
  },
  {
    "symbol": "RWAY",
    "total_score": 46.32,
    "raw_score": 49.1,
    "breakdown": {
      "price_quality": 1.72,
      "volume_quality": 5.75,
      "rvol": 0.23,
      "volume_acceleration": 3.6,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.83,
      "spread_liquidity": 4.5,
      "momentum_consistency": 1.06,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.725,
      "vwap": 6.7125,
      "vwap_slope": 0.0033,
      "rvol": 0.1,
      "volume_acceleration": 1.04,
      "premarket_volume": 47912.0,
      "momentum_pct": -0.07,
      "consolidation_tightness_pct": 0.15,
      "distance_from_pm_high_pct": 0.22,
      "extension_from_vwap_pct": 0.19,
      "spread_pct": 0.15
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 6.74,
    "pm_low": 6.69
  },
  {
    "symbol": "BRSL",
    "total_score": 46.28,
    "raw_score": 49.05,
    "breakdown": {
      "price_quality": 3.7,
      "volume_quality": 12.0,
      "rvol": 0.56,
      "volume_acceleration": 7.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.6,
      "spread_liquidity": 4.71,
      "momentum_consistency": 2.42,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.305,
      "vwap": 11.319,
      "vwap_slope": -0.0072,
      "rvol": 0.23,
      "volume_acceleration": 1.77,
      "premarket_volume": 116094.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.13,
      "distance_from_pm_high_pct": 0.53,
      "extension_from_vwap_pct": -0.12,
      "spread_pct": 0.09
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 11.365,
    "pm_low": 11.28
  },
  {
    "symbol": "GDYN",
    "total_score": 46.12,
    "raw_score": 48.89,
    "breakdown": {
      "price_quality": 2.97,
      "volume_quality": 3.25,
      "rvol": 0.13,
      "volume_acceleration": 3.1,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.95,
      "spread_liquidity": 4.58,
      "momentum_consistency": 2.5,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.975,
      "vwap": 7.9688,
      "vwap_slope": 0.0037,
      "rvol": 0.05,
      "volume_acceleration": 0.89,
      "premarket_volume": 27071.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.06,
      "distance_from_pm_high_pct": 0.06,
      "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": true,
      "vwap_rising": true
    },
    "pm_high": 7.98,
    "pm_low": 7.955
  },
  {
    "symbol": "ALMU",
    "total_score": 46.09,
    "raw_score": 48.86,
    "breakdown": {
      "price_quality": 1.85,
      "volume_quality": 3.13,
      "rvol": 0.13,
      "volume_acceleration": 5.2,
      "price_momentum": 0.11,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.49,
      "spread_liquidity": 3.99,
      "momentum_consistency": 2.57,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.15,
      "vwap": 13.1454,
      "vwap_slope": 0.0102,
      "rvol": 0.05,
      "volume_acceleration": 1.52,
      "premarket_volume": 26045.0,
      "momentum_pct": 0.08,
      "consolidation_tightness_pct": 0.27,
      "distance_from_pm_high_pct": 0.68,
      "extension_from_vwap_pct": 0.03,
      "spread_pct": 0.3
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 13.24,
    "pm_low": 13.095
  },
  {
    "symbol": "GCMG",
    "total_score": 45.93,
    "raw_score": 48.68,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 3.51,
      "rvol": 0.14,
      "volume_acceleration": 3.32,
      "price_momentum": 0.11,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.95,
      "spread_liquidity": 4.76,
      "momentum_consistency": 3.0,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.74,
      "vwap": 13.6999,
      "vwap_slope": 0.0074,
      "rvol": 0.06,
      "volume_acceleration": 0.95,
      "premarket_volume": 29245.0,
      "momentum_pct": 0.07,
      "consolidation_tightness_pct": 0.15,
      "distance_from_pm_high_pct": 0.07,
      "extension_from_vwap_pct": 0.29,
      "spread_pct": 0.07
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 13.75,
    "pm_low": 13.64
  },
  {
    "symbol": "SGHC",
    "total_score": 45.86,
    "raw_score": 48.61,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 0.73,
      "volume_acceleration": 9.74,
      "price_momentum": 0.11,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.56,
      "spread_liquidity": 4.76,
      "momentum_consistency": 1.82,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.645,
      "vwap": 13.6616,
      "vwap_slope": -0.0102,
      "rvol": 0.3,
      "volume_acceleration": 1.97,
      "premarket_volume": 151160.0,
      "momentum_pct": 0.07,
      "consolidation_tightness_pct": 0.18,
      "distance_from_pm_high_pct": 0.58,
      "extension_from_vwap_pct": -0.12,
      "spread_pct": 0.07
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 13.725,
    "pm_low": 13.62
  },
  {
    "symbol": "MAX",
    "total_score": 45.86,
    "raw_score": 48.61,
    "breakdown": {
      "price_quality": 2.38,
      "volume_quality": 3.86,
      "rvol": 0.15,
      "volume_acceleration": 1.55,
      "price_momentum": 0.02,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.95,
      "spread_liquidity": 4.74,
      "momentum_consistency": 3.56,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.62,
      "vwap": 12.5807,
      "vwap_slope": 0.0164,
      "rvol": 0.06,
      "volume_acceleration": 1.16,
      "premarket_volume": 32138.0,
      "momentum_pct": 0.02,
      "consolidation_tightness_pct": 0.23,
      "distance_from_pm_high_pct": 0.07,
      "extension_from_vwap_pct": 0.31,
      "spread_pct": 0.08
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 12.6285,
    "pm_low": 12.54
  },
  {
    "symbol": "ANGI",
    "total_score": 45.65,
    "raw_score": 48.39,
    "breakdown": {
      "price_quality": 0.0,
      "volume_quality": 6.69,
      "rvol": 0.27,
      "volume_acceleration": 3.49,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.69,
      "spread_liquidity": 3.57,
      "momentum_consistency": 2.26,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 4.67,
      "vwap": 4.669,
      "vwap_slope": 0.0013,
      "rvol": 0.11,
      "volume_acceleration": 1.0,
      "premarket_volume": 55788.0,
      "momentum_pct": -0.11,
      "consolidation_tightness_pct": 0.19,
      "distance_from_pm_high_pct": 0.41,
      "extension_from_vwap_pct": 0.02,
      "spread_pct": 0.43
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 4.6891,
    "pm_low": 4.65
  },
  {
    "symbol": "VOXR",
    "total_score": 45.55,
    "raw_score": 48.29,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 3.23,
      "rvol": 0.13,
      "volume_acceleration": 2.98,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.93,
      "spread_liquidity": 4.4,
      "momentum_consistency": 3.71,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.56,
      "vwap": 5.5429,
      "vwap_slope": 0.0065,
      "rvol": 0.05,
      "volume_acceleration": 0.86,
      "premarket_volume": 26883.0,
      "momentum_pct": -0.09,
      "consolidation_tightness_pct": 0.09,
      "distance_from_pm_high_pct": 0.09,
      "extension_from_vwap_pct": 0.31,
      "spread_pct": 0.18
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 5.565,
    "pm_low": 5.52
  },
  {
    "symbol": "NOMD",
    "total_score": 45.53,
    "raw_score": 48.26,
    "breakdown": {
      "price_quality": 3.16,
      "volume_quality": 6.52,
      "rvol": 0.26,
      "volume_acceleration": 7.05,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.87,
      "spread_liquidity": 4.72,
      "momentum_consistency": 1.08,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.835,
      "vwap": 11.84,
      "vwap_slope": 0.0015,
      "rvol": 0.11,
      "volume_acceleration": 1.7,
      "premarket_volume": 54374.0,
      "momentum_pct": -0.04,
      "consolidation_tightness_pct": 0.13,
      "distance_from_pm_high_pct": 0.17,
      "extension_from_vwap_pct": -0.04,
      "spread_pct": 0.08
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": true
    },
    "pm_high": 11.855,
    "pm_low": 11.825
  },
  {
    "symbol": "PSFE",
    "total_score": 45.41,
    "raw_score": 48.13,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 4.57,
      "rvol": 0.18,
      "volume_acceleration": 2.0,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.66,
      "spread_liquidity": 4.49,
      "momentum_consistency": 3.33,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.505,
      "vwap": 6.4972,
      "vwap_slope": 0.0008,
      "rvol": 0.08,
      "volume_acceleration": 0.57,
      "premarket_volume": 38107.0,
      "momentum_pct": -0.08,
      "consolidation_tightness_pct": 0.15,
      "distance_from_pm_high_pct": 0.46,
      "extension_from_vwap_pct": 0.12,
      "spread_pct": 0.15
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 6.535,
    "pm_low": 6.47
  },
  {
    "symbol": "DRVN",
    "total_score": 45.38,
    "raw_score": 48.1,
    "breakdown": {
      "price_quality": 2.71,
      "volume_quality": 3.44,
      "rvol": 0.14,
      "volume_acceleration": 1.94,
      "price_momentum": 0.06,
      "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.81,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.29,
      "vwap": 12.2879,
      "vwap_slope": 0.0002,
      "rvol": 0.06,
      "volume_acceleration": 1.19,
      "premarket_volume": 28649.0,
      "momentum_pct": 0.04,
      "consolidation_tightness_pct": 0.15,
      "distance_from_pm_high_pct": 0.16,
      "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": true,
      "vwap_rising": true
    },
    "pm_high": 12.31,
    "pm_low": 12.26
  },
  {
    "symbol": "ECVT",
    "total_score": 45.35,
    "raw_score": 48.07,
    "breakdown": {
      "price_quality": 4.88,
      "volume_quality": 8.61,
      "rvol": 0.34,
      "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.74,
      "spread_liquidity": 4.67,
      "momentum_consistency": 1.42,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.115,
      "vwap": 10.1298,
      "vwap_slope": -0.0043,
      "rvol": 0.14,
      "volume_acceleration": 2.29,
      "premarket_volume": 71721.0,
      "momentum_pct": -0.1,
      "consolidation_tightness_pct": 0.25,
      "distance_from_pm_high_pct": 0.34,
      "extension_from_vwap_pct": -0.15,
      "spread_pct": 0.1
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 10.15,
    "pm_low": 10.11
  },
  {
    "symbol": "STLA",
    "total_score": 45.3,
    "raw_score": 48.02,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 6.87,
      "volume_acceleration": 3.61,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.59,
      "spread_liquidity": 4.39,
      "momentum_consistency": 1.66,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.48,
      "vwap": 5.4938,
      "vwap_slope": -0.0028,
      "rvol": 2.57,
      "volume_acceleration": 1.04,
      "premarket_volume": 1287349.0,
      "momentum_pct": -0.09,
      "consolidation_tightness_pct": 0.18,
      "distance_from_pm_high_pct": 0.54,
      "extension_from_vwap_pct": -0.25,
      "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.51,
    "pm_low": 5.48
  },
  {
    "symbol": "GPRE",
    "total_score": 45.27,
    "raw_score": 47.99,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 0.59,
      "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.48,
      "spread_liquidity": 4.76,
      "momentum_consistency": 2.26,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.77,
      "vwap": 13.924,
      "vwap_slope": -0.0753,
      "rvol": 0.24,
      "volume_acceleration": 2.13,
      "premarket_volume": 122135.0,
      "momentum_pct": -1.08,
      "consolidation_tightness_pct": 1.44,
      "distance_from_pm_high_pct": 2.03,
      "extension_from_vwap_pct": -1.11,
      "spread_pct": 0.07
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 14.055,
    "pm_low": 13.73
  },
  {
    "symbol": "NEOG",
    "total_score": 45.23,
    "raw_score": 47.94,
    "breakdown": {
      "price_quality": 3.45,
      "volume_quality": 8.74,
      "rvol": 0.35,
      "volume_acceleration": 2.67,
      "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.61,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.551,
      "vwap": 11.5549,
      "vwap_slope": 0.0067,
      "rvol": 0.15,
      "volume_acceleration": 0.77,
      "premarket_volume": 72841.0,
      "momentum_pct": -0.21,
      "consolidation_tightness_pct": 0.26,
      "distance_from_pm_high_pct": 0.25,
      "extension_from_vwap_pct": -0.03,
      "spread_pct": 0.09
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": true
    },
    "pm_high": 11.58,
    "pm_low": 11.535
  },
  {
    "symbol": "WETO",
    "total_score": 45.17,
    "raw_score": 47.88,
    "breakdown": {
      "price_quality": 3.06,
      "volume_quality": 12.0,
      "rvol": 10.56,
      "volume_acceleration": 2.91,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 0,
      "spread_liquidity": 3.77,
      "momentum_consistency": 3.17,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.065,
      "vwap": 8.6503,
      "vwap_slope": -0.0597,
      "rvol": 3.96,
      "volume_acceleration": 0.84,
      "premarket_volume": 1979353.0,
      "momentum_pct": -0.31,
      "consolidation_tightness_pct": 1.61,
      "distance_from_pm_high_pct": 17.07,
      "extension_from_vwap_pct": -6.77,
      "spread_pct": 0.37
    },
    "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.725,
    "pm_low": 7.8
  },
  {
    "symbol": "LTBR",
    "total_score": 44.95,
    "raw_score": 47.65,
    "breakdown": {
      "price_quality": 2.54,
      "volume_quality": 2.55,
      "rvol": 0.1,
      "volume_acceleration": 3.09,
      "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.56,
      "momentum_consistency": 2.56,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.545,
      "vwap": 7.5413,
      "vwap_slope": 0.0053,
      "rvol": 0.04,
      "volume_acceleration": 0.89,
      "premarket_volume": 21234.0,
      "momentum_pct": -0.07,
      "consolidation_tightness_pct": 0.13,
      "distance_from_pm_high_pct": 0.2,
      "extension_from_vwap_pct": 0.05,
      "spread_pct": 0.13
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 7.56,
    "pm_low": 7.52
  },
  {
    "symbol": "ULCC",
    "total_score": 44.83,
    "raw_score": 47.52,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 0.55,
      "volume_acceleration": 2.2,
      "price_momentum": 0.26,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.87,
      "spread_liquidity": 4.42,
      "momentum_consistency": 1.52,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.705,
      "vwap": 5.6954,
      "vwap_slope": -0.0008,
      "rvol": 0.23,
      "volume_acceleration": 0.63,
      "premarket_volume": 114519.0,
      "momentum_pct": 0.18,
      "consolidation_tightness_pct": 0.26,
      "distance_from_pm_high_pct": 0.17,
      "extension_from_vwap_pct": 0.17,
      "spread_pct": 0.18
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 5.715,
    "pm_low": 5.67
  },
  {
    "symbol": "ARCO",
    "total_score": 44.8,
    "raw_score": 47.48,
    "breakdown": {
      "price_quality": 2.92,
      "volume_quality": 9.47,
      "rvol": 0.38,
      "volume_acceleration": 3.43,
      "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.58,
      "momentum_consistency": 1.29,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.925,
      "vwap": 7.9299,
      "vwap_slope": 0.0012,
      "rvol": 0.16,
      "volume_acceleration": 0.99,
      "premarket_volume": 78930.0,
      "momentum_pct": -0.13,
      "consolidation_tightness_pct": 0.25,
      "distance_from_pm_high_pct": 0.25,
      "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.945,
    "pm_low": 7.915
  },
  {
    "symbol": "CLF",
    "total_score": 44.71,
    "raw_score": 47.4,
    "breakdown": {
      "price_quality": 3.41,
      "volume_quality": 12.0,
      "rvol": 4.76,
      "volume_acceleration": 1.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.26,
      "spread_liquidity": 4.71,
      "momentum_consistency": 2.95,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.59,
      "vwap": 11.6414,
      "vwap_slope": -0.0055,
      "rvol": 1.79,
      "volume_acceleration": 0.55,
      "premarket_volume": 892520.0,
      "momentum_pct": -0.04,
      "consolidation_tightness_pct": 0.22,
      "distance_from_pm_high_pct": 0.98,
      "extension_from_vwap_pct": -0.44,
      "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.705,
    "pm_low": 11.57
  },
  {
    "symbol": "SSTK",
    "total_score": 44.68,
    "raw_score": 47.36,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 8.22,
      "rvol": 0.33,
      "volume_acceleration": 3.07,
      "price_momentum": 0.02,
      "price_structure": 12,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.48,
      "spread_liquidity": 4.41,
      "momentum_consistency": 2.32,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.6608,
      "vwap": 5.6726,
      "vwap_slope": -0.0127,
      "rvol": 0.14,
      "volume_acceleration": 1.31,
      "premarket_volume": 68526.0,
      "momentum_pct": 0.01,
      "consolidation_tightness_pct": 0.37,
      "distance_from_pm_high_pct": 0.69,
      "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": false,
      "vwap_rising": false
    },
    "pm_high": 5.7,
    "pm_low": 5.64
  },
  {
    "symbol": "EXK",
    "total_score": 44.64,
    "raw_score": 47.32,
    "breakdown": {
      "price_quality": 4.37,
      "volume_quality": 12.0,
      "rvol": 2.19,
      "volume_acceleration": 3.4,
      "price_momentum": 0.07,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.58,
      "spread_liquidity": 4.69,
      "momentum_consistency": 2.62,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.63,
      "vwap": 10.6461,
      "vwap_slope": -0.0037,
      "rvol": 0.91,
      "volume_acceleration": 0.98,
      "premarket_volume": 456976.0,
      "momentum_pct": 0.05,
      "consolidation_tightness_pct": 0.19,
      "distance_from_pm_high_pct": 0.56,
      "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": false,
      "vwap_rising": false
    },
    "pm_high": 10.69,
    "pm_low": 10.61
  },
  {
    "symbol": "LCID",
    "total_score": 44.45,
    "raw_score": 47.11,
    "breakdown": {
      "price_quality": 0.0,
      "volume_quality": 12.0,
      "rvol": 6.75,
      "volume_acceleration": 3.99,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.45,
      "spread_liquidity": 4.32,
      "momentum_consistency": 2.21,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 4.8842,
      "vwap": 4.8942,
      "vwap_slope": -0.0024,
      "rvol": 2.53,
      "volume_acceleration": 1.15,
      "premarket_volume": 1265358.0,
      "momentum_pct": -0.02,
      "consolidation_tightness_pct": 0.4,
      "distance_from_pm_high_pct": 0.73,
      "extension_from_vwap_pct": -0.2,
      "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": 4.92,
    "pm_low": 4.875
  },
  {
    "symbol": "SD",
    "total_score": 44.45,
    "raw_score": 47.11,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 2.83,
      "rvol": 0.11,
      "volume_acceleration": 3.26,
      "price_momentum": 0.11,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.97,
      "spread_liquidity": 4.53,
      "momentum_consistency": 2.4,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.12,
      "vwap": 14.1136,
      "vwap_slope": 0.0011,
      "rvol": 0.05,
      "volume_acceleration": 0.94,
      "premarket_volume": 23611.0,
      "momentum_pct": 0.07,
      "consolidation_tightness_pct": 0.07,
      "distance_from_pm_high_pct": 0.04,
      "extension_from_vwap_pct": 0.05,
      "spread_pct": 0.14
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 14.125,
    "pm_low": 14.1
  },
  {
    "symbol": "OBDC",
    "total_score": 44.34,
    "raw_score": 47.01,
    "breakdown": {
      "price_quality": 3.4,
      "volume_quality": 12.0,
      "rvol": 2.9,
      "volume_acceleration": 3.22,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.81,
      "spread_liquidity": 4.71,
      "momentum_consistency": 2.57,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.6,
      "vwap": 11.6047,
      "vwap_slope": -0.0004,
      "rvol": 1.21,
      "volume_acceleration": 1.32,
      "premarket_volume": 603906.0,
      "momentum_pct": -0.04,
      "consolidation_tightness_pct": 0.09,
      "distance_from_pm_high_pct": 0.26,
      "extension_from_vwap_pct": -0.04,
      "spread_pct": 0.09
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 11.63,
    "pm_low": 11.585
  },
  {
    "symbol": "TROX",
    "total_score": 44.31,
    "raw_score": 46.97,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 1.35,
      "volume_acceleration": 8.69,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 4.93,
      "spread_liquidity": 4.35,
      "momentum_consistency": 1.75,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.17,
      "vwap": 5.2085,
      "vwap_slope": -0.0045,
      "rvol": 0.56,
      "volume_acceleration": 1.87,
      "premarket_volume": 282026.0,
      "momentum_pct": -0.1,
      "consolidation_tightness_pct": 0.19,
      "distance_from_pm_high_pct": 1.43,
      "extension_from_vwap_pct": -0.74,
      "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.15
  },
  {
    "symbol": "LE",
    "total_score": 44.18,
    "raw_score": 46.83,
    "breakdown": {
      "price_quality": 3.13,
      "volume_quality": 2.63,
      "rvol": 0.11,
      "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.94,
      "spread_liquidity": 4.44,
      "momentum_consistency": 2.55,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.87,
      "vwap": 11.8402,
      "vwap_slope": 0.0362,
      "rvol": 0.04,
      "volume_acceleration": 1.16,
      "premarket_volume": 21919.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.25,
      "distance_from_pm_high_pct": 0.08,
      "extension_from_vwap_pct": 0.25,
      "spread_pct": 0.17
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 11.88,
    "pm_low": 11.75
  },
  {
    "symbol": "VG",
    "total_score": 44.01,
    "raw_score": 46.65,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 5.59,
      "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.29,
      "spread_liquidity": 4.77,
      "momentum_consistency": 3.03,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.6401,
      "vwap": 14.6908,
      "vwap_slope": -0.0075,
      "rvol": 2.1,
      "volume_acceleration": 0.59,
      "premarket_volume": 1048381.0,
      "momentum_pct": -0.1,
      "consolidation_tightness_pct": 0.2,
      "distance_from_pm_high_pct": 0.95,
      "extension_from_vwap_pct": -0.35,
      "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.78,
    "pm_low": 14.62
  },
  {
    "symbol": "RITM",
    "total_score": 43.99,
    "raw_score": 46.63,
    "breakdown": {
      "price_quality": 4.95,
      "volume_quality": 12.0,
      "rvol": 2.34,
      "volume_acceleration": 1.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.81,
      "spread_liquidity": 4.67,
      "momentum_consistency": 2.57,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.055,
      "vwap": 10.0612,
      "vwap_slope": -0.0009,
      "rvol": 0.97,
      "volume_acceleration": 0.55,
      "premarket_volume": 486843.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.1,
      "distance_from_pm_high_pct": 0.25,
      "extension_from_vwap_pct": -0.06,
      "spread_pct": 0.1
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 10.08,
    "pm_low": 10.05
  },
  {
    "symbol": "EIC",
    "total_score": 43.78,
    "raw_score": 46.41,
    "breakdown": {
      "price_quality": 5.0,
      "volume_quality": 8.28,
      "rvol": 0.33,
      "volume_acceleration": 1.76,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.78,
      "spread_liquidity": 3.0,
      "momentum_consistency": 2.67,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.0,
      "vwap": 10.0029,
      "vwap_slope": 0.002,
      "rvol": 0.14,
      "volume_acceleration": 0.51,
      "premarket_volume": 68977.0,
      "momentum_pct": -0.18,
      "consolidation_tightness_pct": 0.2,
      "distance_from_pm_high_pct": 0.3,
      "extension_from_vwap_pct": -0.03,
      "spread_pct": 0.6
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": true
    },
    "pm_high": 10.03,
    "pm_low": 9.925
  },
  {
    "symbol": "RUN",
    "total_score": 43.76,
    "raw_score": 46.39,
    "breakdown": {
      "price_quality": 3.55,
      "volume_quality": 12.0,
      "rvol": 2.52,
      "volume_acceleration": 2.89,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.52,
      "spread_liquidity": 4.61,
      "momentum_consistency": 2.9,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.555,
      "vwap": 8.5735,
      "vwap_slope": -0.0019,
      "rvol": 1.05,
      "volume_acceleration": 0.83,
      "premarket_volume": 524240.0,
      "momentum_pct": -0.06,
      "consolidation_tightness_pct": 0.23,
      "distance_from_pm_high_pct": 0.64,
      "extension_from_vwap_pct": -0.22,
      "spread_pct": 0.12
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 8.61,
    "pm_low": 8.55
  },
  {
    "symbol": "AVPT",
    "total_score": 43.75,
    "raw_score": 46.38,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 9.41,
      "rvol": 0.38,
      "volume_acceleration": 2.14,
      "price_momentum": 0.05,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.87,
      "spread_liquidity": 4.76,
      "momentum_consistency": 3.08,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.0,
      "vwap": 13.9978,
      "vwap_slope": -0.0035,
      "rvol": 0.16,
      "volume_acceleration": 1.21,
      "premarket_volume": 78382.0,
      "momentum_pct": 0.04,
      "consolidation_tightness_pct": 0.07,
      "distance_from_pm_high_pct": 0.18,
      "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.025,
    "pm_low": 13.9601
  },
  {
    "symbol": "TU",
    "total_score": 43.75,
    "raw_score": 46.38,
    "breakdown": {
      "price_quality": 4.7,
      "volume_quality": 12.0,
      "rvol": 1.57,
      "volume_acceleration": 2.56,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.78,
      "spread_liquidity": 4.66,
      "momentum_consistency": 2.71,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.701,
      "vwap": 9.7072,
      "vwap_slope": -0.0012,
      "rvol": 0.65,
      "volume_acceleration": 0.74,
      "premarket_volume": 327016.0,
      "momentum_pct": -0.04,
      "consolidation_tightness_pct": 0.05,
      "distance_from_pm_high_pct": 0.3,
      "extension_from_vwap_pct": -0.06,
      "spread_pct": 0.1
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 9.73,
    "pm_low": 9.6901
  },
  {
    "symbol": "QS",
    "total_score": 43.62,
    "raw_score": 46.23,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 4.09,
      "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.39,
      "spread_liquidity": 4.4,
      "momentum_consistency": 2.48,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.5347,
      "vwap": 5.5563,
      "vwap_slope": -0.0034,
      "rvol": 1.54,
      "volume_acceleration": 1.14,
      "premarket_volume": 767629.0,
      "momentum_pct": -0.19,
      "consolidation_tightness_pct": 0.36,
      "distance_from_pm_high_pct": 0.81,
      "extension_from_vwap_pct": -0.39,
      "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.58,
    "pm_low": 5.53
  },
  {
    "symbol": "PWRL",
    "total_score": 43.58,
    "raw_score": 46.2,
    "breakdown": {
      "price_quality": 4.68,
      "volume_quality": 2.42,
      "rvol": 0.1,
      "volume_acceleration": 1.36,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.46,
      "spread_liquidity": 4.35,
      "momentum_consistency": 1.43,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.32,
      "vwap": 10.3175,
      "vwap_slope": 0.0083,
      "rvol": 0.04,
      "volume_acceleration": 0.39,
      "premarket_volume": 20173.0,
      "momentum_pct": -0.15,
      "consolidation_tightness_pct": 0.39,
      "distance_from_pm_high_pct": 0.72,
      "extension_from_vwap_pct": 0.02,
      "spread_pct": 0.19
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 10.395,
    "pm_low": 10.23
  },
  {
    "symbol": "BGC",
    "total_score": 43.55,
    "raw_score": 46.17,
    "breakdown": {
      "price_quality": 3.07,
      "volume_quality": 12.0,
      "rvol": 0.68,
      "volume_acceleration": 5.61,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.69,
      "spread_liquidity": 4.72,
      "momentum_consistency": 2.0,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.93,
      "vwap": 11.9452,
      "vwap_slope": -0.004,
      "rvol": 0.28,
      "volume_acceleration": 1.56,
      "premarket_volume": 140750.0,
      "momentum_pct": -0.04,
      "consolidation_tightness_pct": 0.08,
      "distance_from_pm_high_pct": 0.42,
      "extension_from_vwap_pct": -0.13,
      "spread_pct": 0.08
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 11.98,
    "pm_low": 11.925
  },
  {
    "symbol": "OSS",
    "total_score": 43.23,
    "raw_score": 45.82,
    "breakdown": {
      "price_quality": 4.68,
      "volume_quality": 4.8,
      "rvol": 0.19,
      "volume_acceleration": 3.48,
      "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.35,
      "momentum_consistency": 3.0,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.32,
      "vwap": 10.3282,
      "vwap_slope": 0.01,
      "rvol": 0.08,
      "volume_acceleration": 1.0,
      "premarket_volume": 40033.0,
      "momentum_pct": -0.19,
      "consolidation_tightness_pct": 0.39,
      "distance_from_pm_high_pct": 0.39,
      "extension_from_vwap_pct": -0.08,
      "spread_pct": 0.19
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": true
    },
    "pm_high": 10.36,
    "pm_low": 10.29
  },
  {
    "symbol": "BRBR",
    "total_score": 43.14,
    "raw_score": 45.73,
    "breakdown": {
      "price_quality": 4.32,
      "volume_quality": 12.0,
      "rvol": 1.97,
      "volume_acceleration": 2.58,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.24,
      "spread_liquidity": 4.69,
      "momentum_consistency": 2.53,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.675,
      "vwap": 10.7236,
      "vwap_slope": -0.0058,
      "rvol": 0.82,
      "volume_acceleration": 1.26,
      "premarket_volume": 410820.0,
      "momentum_pct": -0.14,
      "consolidation_tightness_pct": 0.28,
      "distance_from_pm_high_pct": 1.02,
      "extension_from_vwap_pct": -0.45,
      "spread_pct": 0.09
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 10.785,
    "pm_low": 10.67
  },
  {
    "symbol": "WNC",
    "total_score": 43.09,
    "raw_score": 45.68,
    "breakdown": {
      "price_quality": 1.67,
      "volume_quality": 7.87,
      "rvol": 0.31,
      "volume_acceleration": 2.7,
      "price_momentum": 0.45,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.86,
      "spread_liquidity": 4.5,
      "momentum_consistency": 3.11,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.33,
      "vwap": 13.3052,
      "vwap_slope": -0.0019,
      "rvol": 0.13,
      "volume_acceleration": 1.27,
      "premarket_volume": 65588.0,
      "momentum_pct": 0.3,
      "consolidation_tightness_pct": 0.38,
      "distance_from_pm_high_pct": 0.19,
      "extension_from_vwap_pct": 0.19,
      "spread_pct": 0.15
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 13.355,
    "pm_low": 13.26
  },
  {
    "symbol": "FRMI",
    "total_score": 43.09,
    "raw_score": 45.67,
    "breakdown": {
      "price_quality": 0.0,
      "volume_quality": 12.0,
      "rvol": 4.97,
      "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.54,
      "spread_liquidity": 4.33,
      "momentum_consistency": 2.62,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 4.9494,
      "vwap": 4.9618,
      "vwap_slope": -0.0027,
      "rvol": 1.86,
      "volume_acceleration": 1.1,
      "premarket_volume": 931862.0,
      "momentum_pct": -0.17,
      "consolidation_tightness_pct": 0.4,
      "distance_from_pm_high_pct": 0.61,
      "extension_from_vwap_pct": -0.25,
      "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": 4.98,
    "pm_low": 4.94
  },
  {
    "symbol": "SND",
    "total_score": 43.06,
    "raw_score": 45.64,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 2.89,
      "rvol": 0.12,
      "volume_acceleration": 10,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.57,
      "spread_liquidity": 3.72,
      "momentum_consistency": 2.25,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.2,
      "vwap": 5.2064,
      "vwap_slope": 0.0014,
      "rvol": 0.05,
      "volume_acceleration": 2.31,
      "premarket_volume": 24074.0,
      "momentum_pct": -0.1,
      "consolidation_tightness_pct": 0.38,
      "distance_from_pm_high_pct": 0.57,
      "extension_from_vwap_pct": -0.12,
      "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": true
    },
    "pm_high": 5.23,
    "pm_low": 5.18
  },
  {
    "symbol": "AEBI",
    "total_score": 43.02,
    "raw_score": 45.6,
    "breakdown": {
      "price_quality": 2.4,
      "volume_quality": 4.38,
      "rvol": 0.18,
      "volume_acceleration": 3.22,
      "price_momentum": 0.48,
      "price_structure": 12,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.64,
      "spread_liquidity": 4.47,
      "momentum_consistency": 2.84,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.6,
      "vwap": 12.6097,
      "vwap_slope": -0.0145,
      "rvol": 0.07,
      "volume_acceleration": 0.92,
      "premarket_volume": 36463.0,
      "momentum_pct": 0.32,
      "consolidation_tightness_pct": 0.4,
      "distance_from_pm_high_pct": 0.47,
      "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": true,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 12.66,
    "pm_low": 12.55
  },
  {
    "symbol": "NVAX",
    "total_score": 42.98,
    "raw_score": 45.56,
    "breakdown": {
      "price_quality": 4.4,
      "volume_quality": 12.0,
      "rvol": 1.74,
      "volume_acceleration": 2.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.94,
      "spread_liquidity": 4.65,
      "momentum_consistency": 2.76,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.405,
      "vwap": 9.4362,
      "vwap_slope": -0.0033,
      "rvol": 0.73,
      "volume_acceleration": 0.77,
      "premarket_volume": 362826.0,
      "momentum_pct": -0.16,
      "consolidation_tightness_pct": 0.27,
      "distance_from_pm_high_pct": 1.42,
      "extension_from_vwap_pct": -0.33,
      "spread_pct": 0.11
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 9.54,
    "pm_low": 9.3701
  },
  {
    "symbol": "INFQ",
    "total_score": 42.92,
    "raw_score": 45.49,
    "breakdown": {
      "price_quality": 1.94,
      "volume_quality": 12.0,
      "rvol": 3.24,
      "volume_acceleration": 3.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.23,
      "spread_liquidity": 4.75,
      "momentum_consistency": 2.71,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.065,
      "vwap": 13.072,
      "vwap_slope": -0.0003,
      "rvol": 1.35,
      "volume_acceleration": 0.93,
      "premarket_volume": 675022.0,
      "momentum_pct": -0.31,
      "consolidation_tightness_pct": 0.42,
      "distance_from_pm_high_pct": 1.02,
      "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": 13.2,
    "pm_low": 13.01
  },
  {
    "symbol": "FLO",
    "total_score": 42.91,
    "raw_score": 45.48,
    "breakdown": {
      "price_quality": 1.95,
      "volume_quality": 12.0,
      "rvol": 2.68,
      "volume_acceleration": 4.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.52,
      "spread_liquidity": 4.52,
      "momentum_consistency": 2.21,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.945,
      "vwap": 6.9601,
      "vwap_slope": -0.0051,
      "rvol": 1.12,
      "volume_acceleration": 1.42,
      "premarket_volume": 559014.0,
      "momentum_pct": -0.07,
      "consolidation_tightness_pct": 0.14,
      "distance_from_pm_high_pct": 0.64,
      "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": false
    },
    "pm_high": 6.99,
    "pm_low": 6.93
  },
  {
    "symbol": "YSS",
    "total_score": 42.81,
    "raw_score": 45.38,
    "breakdown": {
      "price_quality": 4.03,
      "volume_quality": 12.0,
      "rvol": 0.94,
      "volume_acceleration": 4.12,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.1,
      "spread_liquidity": 4.26,
      "momentum_consistency": 2.53,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.03,
      "vwap": 9.0787,
      "vwap_slope": -0.009,
      "rvol": 0.39,
      "volume_acceleration": 1.41,
      "premarket_volume": 196121.0,
      "momentum_pct": -0.11,
      "consolidation_tightness_pct": 0.33,
      "distance_from_pm_high_pct": 1.2,
      "extension_from_vwap_pct": -0.54,
      "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.14,
    "pm_low": 9.02
  },
  {
    "symbol": "SPIR",
    "total_score": 42.75,
    "raw_score": 45.31,
    "breakdown": {
      "price_quality": 1.71,
      "volume_quality": 2.57,
      "rvol": 0.1,
      "volume_acceleration": 1.73,
      "price_momentum": 0.06,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.86,
      "spread_liquidity": 3.75,
      "momentum_consistency": 3.13,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.285,
      "vwap": 13.2749,
      "vwap_slope": 0.0027,
      "rvol": 0.04,
      "volume_acceleration": 0.5,
      "premarket_volume": 21380.0,
      "momentum_pct": 0.04,
      "consolidation_tightness_pct": 0.19,
      "distance_from_pm_high_pct": 0.19,
      "extension_from_vwap_pct": 0.08,
      "spread_pct": 0.38
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 13.31,
    "pm_low": 13.24
  },
  {
    "symbol": "CHPT",
    "total_score": 42.66,
    "raw_score": 45.21,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 3.76,
      "rvol": 0.15,
      "volume_acceleration": 1.32,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.8,
      "spread_liquidity": 3.8,
      "momentum_consistency": 2.48,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.52,
      "vwap": 5.5134,
      "vwap_slope": 0.002,
      "rvol": 0.06,
      "volume_acceleration": 0.38,
      "premarket_volume": 31368.0,
      "momentum_pct": -0.18,
      "consolidation_tightness_pct": 0.18,
      "distance_from_pm_high_pct": 0.27,
      "extension_from_vwap_pct": 0.12,
      "spread_pct": 0.36
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 5.535,
    "pm_low": 5.5
  },
  {
    "symbol": "DNA",
    "total_score": 42.52,
    "raw_score": 45.07,
    "breakdown": {
      "price_quality": 1.76,
      "volume_quality": 7.41,
      "rvol": 0.3,
      "volume_acceleration": 3.83,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.62,
      "spread_liquidity": 4.51,
      "momentum_consistency": 2.05,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.765,
      "vwap": 6.7721,
      "vwap_slope": 0.0001,
      "rvol": 0.12,
      "volume_acceleration": 1.1,
      "premarket_volume": 61778.0,
      "momentum_pct": -0.07,
      "consolidation_tightness_pct": 0.22,
      "distance_from_pm_high_pct": 0.51,
      "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": true
    },
    "pm_high": 6.7999,
    "pm_low": 6.755
  },
  {
    "symbol": "XGN",
    "total_score": 42.4,
    "raw_score": 44.94,
    "breakdown": {
      "price_quality": 2.33,
      "volume_quality": 2.5,
      "rvol": 0.1,
      "volume_acceleration": 1.76,
      "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": 3.64,
      "momentum_consistency": 2.43,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.333,
      "vwap": 7.3298,
      "vwap_slope": 0.0045,
      "rvol": 0.04,
      "volume_acceleration": 0.51,
      "premarket_volume": 20833.0,
      "momentum_pct": -0.23,
      "consolidation_tightness_pct": 0.3,
      "distance_from_pm_high_pct": 0.3,
      "extension_from_vwap_pct": 0.04,
      "spread_pct": 0.41
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 7.355,
    "pm_low": 7.31
  },
  {
    "symbol": "LYG",
    "total_score": 42.39,
    "raw_score": 44.93,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 5.33,
      "volume_acceleration": 1.49,
      "price_momentum": 0.13,
      "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.85,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.855,
      "vwap": 5.8598,
      "vwap_slope": -0.0006,
      "rvol": 2.0,
      "volume_acceleration": 0.43,
      "premarket_volume": 998816.0,
      "momentum_pct": 0.09,
      "consolidation_tightness_pct": 0.17,
      "distance_from_pm_high_pct": 0.26,
      "extension_from_vwap_pct": -0.08,
      "spread_pct": 0.17
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 5.87,
    "pm_low": 5.85
  },
  {
    "symbol": "HAYW",
    "total_score": 42.32,
    "raw_score": 44.86,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 0.68,
      "volume_acceleration": 5.82,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.81,
      "spread_liquidity": 4.76,
      "momentum_consistency": 1.88,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.06,
      "vwap": 14.0708,
      "vwap_slope": -0.0033,
      "rvol": 0.28,
      "volume_acceleration": 1.58,
      "premarket_volume": 142129.0,
      "momentum_pct": -0.04,
      "consolidation_tightness_pct": 0.18,
      "distance_from_pm_high_pct": 0.25,
      "extension_from_vwap_pct": -0.08,
      "spread_pct": 0.07
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 14.095,
    "pm_low": 14.05
  },
  {
    "symbol": "ARVN",
    "total_score": 42.26,
    "raw_score": 44.79,
    "breakdown": {
      "price_quality": 4.11,
      "volume_quality": 3.97,
      "rvol": 0.16,
      "volume_acceleration": 4.93,
      "price_momentum": 0.16,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.67,
      "spread_liquidity": 4.63,
      "momentum_consistency": 1.95,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.11,
      "vwap": 9.0973,
      "vwap_slope": -0.0047,
      "rvol": 0.07,
      "volume_acceleration": 1.49,
      "premarket_volume": 33117.0,
      "momentum_pct": 0.11,
      "consolidation_tightness_pct": 0.22,
      "distance_from_pm_high_pct": 0.44,
      "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": true,
      "vwap_rising": false
    },
    "pm_high": 9.15,
    "pm_low": 9.07
  },
  {
    "symbol": "APPS",
    "total_score": 42.25,
    "raw_score": 44.79,
    "breakdown": {
      "price_quality": 4.46,
      "volume_quality": 11.42,
      "rvol": 0.46,
      "volume_acceleration": 2.46,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.61,
      "spread_liquidity": 4.68,
      "momentum_consistency": 3.29,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.54,
      "vwap": 10.5505,
      "vwap_slope": -0.0003,
      "rvol": 0.19,
      "volume_acceleration": 0.71,
      "premarket_volume": 95176.0,
      "momentum_pct": -0.19,
      "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.595,
    "pm_low": 10.5108
  },
  {
    "symbol": "GENI",
    "total_score": 42.22,
    "raw_score": 44.75,
    "breakdown": {
      "price_quality": 2.49,
      "volume_quality": 12.0,
      "rvol": 3.25,
      "volume_acceleration": 3.01,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.26,
      "spread_liquidity": 4.56,
      "momentum_consistency": 1.79,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.485,
      "vwap": 7.4929,
      "vwap_slope": -0.0031,
      "rvol": 1.35,
      "volume_acceleration": 0.87,
      "premarket_volume": 676533.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.27,
      "distance_from_pm_high_pct": 0.99,
      "extension_from_vwap_pct": -0.11,
      "spread_pct": 0.13
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 7.56,
    "pm_low": 7.435
  },
  {
    "symbol": "CRGY",
    "total_score": 42.19,
    "raw_score": 44.72,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 1.46,
      "volume_acceleration": 5.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.48,
      "spread_liquidity": 4.76,
      "momentum_consistency": 2.11,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.675,
      "vwap": 13.7141,
      "vwap_slope": -0.0114,
      "rvol": 0.61,
      "volume_acceleration": 1.5,
      "premarket_volume": 304528.0,
      "momentum_pct": -0.07,
      "consolidation_tightness_pct": 0.15,
      "distance_from_pm_high_pct": 0.69,
      "extension_from_vwap_pct": -0.28,
      "spread_pct": 0.07
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 13.77,
    "pm_low": 13.675
  },
  {
    "symbol": "COUR",
    "total_score": 42.12,
    "raw_score": 44.65,
    "breakdown": {
      "price_quality": 1.54,
      "volume_quality": 12.0,
      "rvol": 2.34,
      "volume_acceleration": 3.77,
      "price_momentum": 0.23,
      "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": 2.34,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.535,
      "vwap": 6.5428,
      "vwap_slope": -0.0015,
      "rvol": 0.98,
      "volume_acceleration": 1.38,
      "premarket_volume": 487672.0,
      "momentum_pct": 0.15,
      "consolidation_tightness_pct": 0.38,
      "distance_from_pm_high_pct": 0.61,
      "extension_from_vwap_pct": -0.12,
      "spread_pct": 0.15
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 6.575,
    "pm_low": 6.525
  },
  {
    "symbol": "FOSL",
    "total_score": 41.94,
    "raw_score": 44.46,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 8.04,
      "rvol": 0.32,
      "volume_acceleration": 2.92,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.63,
      "spread_liquidity": 4.35,
      "momentum_consistency": 2.1,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.095,
      "vwap": 5.0973,
      "vwap_slope": 0.0052,
      "rvol": 0.13,
      "volume_acceleration": 1.29,
      "premarket_volume": 67004.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.49,
      "distance_from_pm_high_pct": 0.49,
      "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": false,
      "vwap_rising": true
    },
    "pm_high": 5.12,
    "pm_low": 5.07
  },
  {
    "symbol": "AVTR",
    "total_score": 41.88,
    "raw_score": 44.39,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 2.94,
      "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.74,
      "spread_liquidity": 4.77,
      "momentum_consistency": 2.53,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.435,
      "vwap": 14.447,
      "vwap_slope": -0.0,
      "rvol": 1.23,
      "volume_acceleration": 1.25,
      "premarket_volume": 612787.0,
      "momentum_pct": -0.07,
      "consolidation_tightness_pct": 0.17,
      "distance_from_pm_high_pct": 0.35,
      "extension_from_vwap_pct": -0.08,
      "spread_pct": 0.07
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 14.485,
    "pm_low": 14.405
  },
  {
    "symbol": "NRDS",
    "total_score": 41.79,
    "raw_score": 44.3,
    "breakdown": {
      "price_quality": 4.87,
      "volume_quality": 5.44,
      "rvol": 0.22,
      "volume_acceleration": 1.7,
      "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.66,
      "momentum_consistency": 2.0,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.87,
      "vwap": 9.8718,
      "vwap_slope": 0.0079,
      "rvol": 0.09,
      "volume_acceleration": 1.17,
      "premarket_volume": 45331.0,
      "momentum_pct": -0.1,
      "consolidation_tightness_pct": 0.25,
      "distance_from_pm_high_pct": 0.25,
      "extension_from_vwap_pct": -0.02,
      "spread_pct": 0.1
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": true
    },
    "pm_high": 9.895,
    "pm_low": 9.84
  },
  {
    "symbol": "ATEC",
    "total_score": 41.68,
    "raw_score": 44.18,
    "breakdown": {
      "price_quality": 4.38,
      "volume_quality": 12.0,
      "rvol": 0.64,
      "volume_acceleration": 2.4,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.4,
      "spread_liquidity": 4.64,
      "momentum_consistency": 2.31,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.375,
      "vwap": 9.3848,
      "vwap_slope": -0.0009,
      "rvol": 0.27,
      "volume_acceleration": 0.69,
      "premarket_volume": 134312.0,
      "momentum_pct": -0.11,
      "consolidation_tightness_pct": 0.43,
      "distance_from_pm_high_pct": 0.79,
      "extension_from_vwap_pct": -0.1,
      "spread_pct": 0.11
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 9.45,
    "pm_low": 9.315
  },
  {
    "symbol": "QUBT",
    "total_score": 41.64,
    "raw_score": 44.14,
    "breakdown": {
      "price_quality": 3.23,
      "volume_quality": 12.0,
      "rvol": 1.84,
      "volume_acceleration": 2.18,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.37,
      "spread_liquidity": 4.6,
      "momentum_consistency": 2.53,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.235,
      "vwap": 8.256,
      "vwap_slope": -0.0036,
      "rvol": 0.77,
      "volume_acceleration": 1.22,
      "premarket_volume": 382991.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.18,
      "distance_from_pm_high_pct": 0.84,
      "extension_from_vwap_pct": -0.25,
      "spread_pct": 0.12
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 8.305,
    "pm_low": 8.225
  },
  {
    "symbol": "CWH",
    "total_score": 41.64,
    "raw_score": 44.14,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 0.5,
      "volume_acceleration": 5.05,
      "price_momentum": 0.12,
      "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": 2.55,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.415,
      "vwap": 6.4268,
      "vwap_slope": -0.0057,
      "rvol": 0.21,
      "volume_acceleration": 1.51,
      "premarket_volume": 103699.0,
      "momentum_pct": 0.08,
      "consolidation_tightness_pct": 0.22,
      "distance_from_pm_high_pct": 0.62,
      "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.455,
    "pm_low": 6.405
  },
  {
    "symbol": "AES",
    "total_score": 41.59,
    "raw_score": 44.08,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 1.93,
      "volume_acceleration": 3.03,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.97,
      "spread_liquidity": 4.77,
      "momentum_consistency": 2.48,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.725,
      "vwap": 14.7256,
      "vwap_slope": -0.0,
      "rvol": 0.8,
      "volume_acceleration": 1.3,
      "premarket_volume": 401272.0,
      "momentum_pct": -0.03,
      "consolidation_tightness_pct": 0.07,
      "distance_from_pm_high_pct": 0.03,
      "extension_from_vwap_pct": -0.0,
      "spread_pct": 0.07
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 14.73,
    "pm_low": 14.72
  },
  {
    "symbol": "FSK",
    "total_score": 41.58,
    "raw_score": 44.08,
    "breakdown": {
      "price_quality": 2.56,
      "volume_quality": 12.0,
      "rvol": 0.52,
      "volume_acceleration": 3.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.79,
      "spread_liquidity": 4.73,
      "momentum_consistency": 2.84,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.44,
      "vwap": 12.4562,
      "vwap_slope": -0.003,
      "rvol": 0.22,
      "volume_acceleration": 0.93,
      "premarket_volume": 109098.0,
      "momentum_pct": -0.12,
      "consolidation_tightness_pct": 0.15,
      "distance_from_pm_high_pct": 0.28,
      "extension_from_vwap_pct": -0.13,
      "spread_pct": 0.08
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 12.475,
    "pm_low": 12.44
  },
  {
    "symbol": "CION",
    "total_score": 41.36,
    "raw_score": 43.84,
    "breakdown": {
      "price_quality": 2.52,
      "volume_quality": 4.26,
      "rvol": 0.17,
      "volume_acceleration": 2.57,
      "price_momentum": 0.1,
      "price_structure": 12,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.42,
      "spread_liquidity": 4.56,
      "momentum_consistency": 2.25,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.52,
      "vwap": 7.547,
      "vwap_slope": -0.0097,
      "rvol": 0.07,
      "volume_acceleration": 0.74,
      "premarket_volume": 35464.0,
      "momentum_pct": 0.07,
      "consolidation_tightness_pct": 0.13,
      "distance_from_pm_high_pct": 0.78,
      "extension_from_vwap_pct": -0.36,
      "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.579,
    "pm_low": 7.51
  },
  {
    "symbol": "FNKO",
    "total_score": 41.3,
    "raw_score": 43.78,
    "breakdown": {
      "price_quality": 1.74,
      "volume_quality": 9.35,
      "rvol": 0.37,
      "volume_acceleration": 6.78,
      "price_momentum": 0.33,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.56,
      "spread_liquidity": 4.51,
      "momentum_consistency": 2.73,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.74,
      "vwap": 6.746,
      "vwap_slope": -0.0094,
      "rvol": 0.16,
      "volume_acceleration": 1.68,
      "premarket_volume": 77911.0,
      "momentum_pct": 0.22,
      "consolidation_tightness_pct": 0.22,
      "distance_from_pm_high_pct": 0.59,
      "extension_from_vwap_pct": -0.09,
      "spread_pct": 0.15
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 6.78,
    "pm_low": 6.715
  },
  {
    "symbol": "CLYM",
    "total_score": 41.19,
    "raw_score": 43.66,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 0.75,
      "volume_acceleration": 5.34,
      "price_momentum": 0.28,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 4.94,
      "spread_liquidity": 4.02,
      "momentum_consistency": 2.43,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.625,
      "vwap": 13.6748,
      "vwap_slope": -0.0153,
      "rvol": 0.31,
      "volume_acceleration": 1.53,
      "premarket_volume": 155277.0,
      "momentum_pct": 0.18,
      "consolidation_tightness_pct": 0.59,
      "distance_from_pm_high_pct": 1.41,
      "extension_from_vwap_pct": -0.36,
      "spread_pct": 0.29
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 13.82,
    "pm_low": 13.58
  },
  {
    "symbol": "BVS",
    "total_score": 41.15,
    "raw_score": 43.62,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 4.45,
      "rvol": 0.18,
      "volume_acceleration": 5.4,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.72,
      "spread_liquidity": 4.26,
      "momentum_consistency": 2.5,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.55,
      "vwap": 13.5517,
      "vwap_slope": 0.0143,
      "rvol": 0.07,
      "volume_acceleration": 1.54,
      "premarket_volume": 37123.0,
      "momentum_pct": -0.07,
      "consolidation_tightness_pct": 0.22,
      "distance_from_pm_high_pct": 0.37,
      "extension_from_vwap_pct": -0.01,
      "spread_pct": 0.22
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": true
    },
    "pm_high": 13.6,
    "pm_low": 13.5101
  },
  {
    "symbol": "VMET",
    "total_score": 40.95,
    "raw_score": 43.41,
    "breakdown": {
      "price_quality": 4.76,
      "volume_quality": 4.13,
      "rvol": 0.17,
      "volume_acceleration": 3.51,
      "price_momentum": 0.15,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.49,
      "spread_liquidity": 4.35,
      "momentum_consistency": 1.66,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.24,
      "vwap": 10.2284,
      "vwap_slope": -0.0069,
      "rvol": 0.07,
      "volume_acceleration": 1.35,
      "premarket_volume": 34452.0,
      "momentum_pct": 0.1,
      "consolidation_tightness_pct": 0.1,
      "distance_from_pm_high_pct": 0.68,
      "extension_from_vwap_pct": 0.11,
      "spread_pct": 0.2
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 10.31,
    "pm_low": 10.18
  },
  {
    "symbol": "ODD",
    "total_score": 40.93,
    "raw_score": 43.38,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 5.86,
      "rvol": 0.23,
      "volume_acceleration": 3.58,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.64,
      "spread_liquidity": 4.31,
      "momentum_consistency": 2.67,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.42,
      "vwap": 14.4273,
      "vwap_slope": 0.0024,
      "rvol": 0.1,
      "volume_acceleration": 1.03,
      "premarket_volume": 48850.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.31,
      "distance_from_pm_high_pct": 0.48,
      "extension_from_vwap_pct": -0.05,
      "spread_pct": 0.21
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": true
    },
    "pm_high": 14.49,
    "pm_low": 14.36
  },
  {
    "symbol": "TAC",
    "total_score": 40.93,
    "raw_score": 43.39,
    "breakdown": {
      "price_quality": 2.96,
      "volume_quality": 12.0,
      "rvol": 0.53,
      "volume_acceleration": 3.11,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.57,
      "spread_liquidity": 4.72,
      "momentum_consistency": 2.11,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.04,
      "vwap": 12.0661,
      "vwap_slope": -0.0108,
      "rvol": 0.22,
      "volume_acceleration": 0.89,
      "premarket_volume": 110074.0,
      "momentum_pct": -0.12,
      "consolidation_tightness_pct": 0.12,
      "distance_from_pm_high_pct": 0.58,
      "extension_from_vwap_pct": -0.22,
      "spread_pct": 0.08
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 12.11,
    "pm_low": 12.04
  },
  {
    "symbol": "XRAY",
    "total_score": 40.9,
    "raw_score": 43.35,
    "breakdown": {
      "price_quality": 3.88,
      "volume_quality": 12.0,
      "rvol": 1.11,
      "volume_acceleration": 1.51,
      "price_momentum": 0.07,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.73,
      "spread_liquidity": 4.7,
      "momentum_consistency": 1.96,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.125,
      "vwap": 11.1372,
      "vwap_slope": -0.0017,
      "rvol": 0.46,
      "volume_acceleration": 1.15,
      "premarket_volume": 230550.0,
      "momentum_pct": 0.04,
      "consolidation_tightness_pct": 0.13,
      "distance_from_pm_high_pct": 0.36,
      "extension_from_vwap_pct": -0.11,
      "spread_pct": 0.09
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 11.165,
    "pm_low": 11.12
  },
  {
    "symbol": "LFST",
    "total_score": 40.89,
    "raw_score": 43.34,
    "breakdown": {
      "price_quality": 2.74,
      "volume_quality": 12.0,
      "rvol": 0.93,
      "volume_acceleration": 2.18,
      "price_momentum": 0.12,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.82,
      "spread_liquidity": 4.73,
      "momentum_consistency": 2.43,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.26,
      "vwap": 12.2633,
      "vwap_slope": -0.0002,
      "rvol": 0.39,
      "volume_acceleration": 1.22,
      "premarket_volume": 192729.0,
      "momentum_pct": 0.08,
      "consolidation_tightness_pct": 0.16,
      "distance_from_pm_high_pct": 0.24,
      "extension_from_vwap_pct": -0.03,
      "spread_pct": 0.08
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 12.29,
    "pm_low": 12.245
  },
  {
    "symbol": "BALY",
    "total_score": 40.84,
    "raw_score": 43.29,
    "breakdown": {
      "price_quality": 3.96,
      "volume_quality": 4.27,
      "rvol": 0.17,
      "volume_acceleration": 3.1,
      "price_momentum": 1.18,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.5,
      "spread_liquidity": 3.14,
      "momentum_consistency": 2.77,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.96,
      "vwap": 8.9382,
      "vwap_slope": -0.0117,
      "rvol": 0.07,
      "volume_acceleration": 0.89,
      "premarket_volume": 35601.0,
      "momentum_pct": 0.79,
      "consolidation_tightness_pct": 0.78,
      "distance_from_pm_high_pct": 0.67,
      "extension_from_vwap_pct": 0.24,
      "spread_pct": 0.56
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 9.02,
    "pm_low": 8.89
  },
  {
    "symbol": "GO",
    "total_score": 40.83,
    "raw_score": 43.28,
    "breakdown": {
      "price_quality": 2.88,
      "volume_quality": 12.0,
      "rvol": 0.6,
      "volume_acceleration": 3.24,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.51,
      "spread_liquidity": 4.73,
      "momentum_consistency": 1.93,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.115,
      "vwap": 12.1521,
      "vwap_slope": -0.0081,
      "rvol": 0.25,
      "volume_acceleration": 0.93,
      "premarket_volume": 125472.0,
      "momentum_pct": -0.16,
      "consolidation_tightness_pct": 0.21,
      "distance_from_pm_high_pct": 0.66,
      "extension_from_vwap_pct": -0.31,
      "spread_pct": 0.08
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 12.195,
    "pm_low": 12.115
  },
  {
    "symbol": "ALOY",
    "total_score": 40.81,
    "raw_score": 43.25,
    "breakdown": {
      "price_quality": 4.73,
      "volume_quality": 12.0,
      "rvol": 0.62,
      "volume_acceleration": 1.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.35,
      "spread_liquidity": 4.35,
      "momentum_consistency": 2.25,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.265,
      "vwap": 10.2823,
      "vwap_slope": -0.0058,
      "rvol": 0.26,
      "volume_acceleration": 1.16,
      "premarket_volume": 129749.0,
      "momentum_pct": -0.05,
      "consolidation_tightness_pct": 0.19,
      "distance_from_pm_high_pct": 0.87,
      "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": false,
      "vwap_rising": false
    },
    "pm_high": 10.355,
    "pm_low": 10.25
  },
  {
    "symbol": "AGEN",
    "total_score": 40.78,
    "raw_score": 43.23,
    "breakdown": {
      "price_quality": 2.62,
      "volume_quality": 5.69,
      "rvol": 0.23,
      "volume_acceleration": 2.71,
      "price_momentum": 0.49,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.66,
      "spread_liquidity": 4.56,
      "momentum_consistency": 2.06,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.625,
      "vwap": 7.609,
      "vwap_slope": -0.0032,
      "rvol": 0.09,
      "volume_acceleration": 0.78,
      "premarket_volume": 47441.0,
      "momentum_pct": 0.33,
      "consolidation_tightness_pct": 0.53,
      "distance_from_pm_high_pct": 0.46,
      "extension_from_vwap_pct": 0.21,
      "spread_pct": 0.13
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 7.66,
    "pm_low": 7.575
  },
  {
    "symbol": "MH",
    "total_score": 40.7,
    "raw_score": 43.15,
    "breakdown": {
      "price_quality": 1.84,
      "volume_quality": 3.21,
      "rvol": 0.13,
      "volume_acceleration": 3.45,
      "price_momentum": 0.0,
      "price_structure": 12,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.55,
      "spread_liquidity": 4.24,
      "momentum_consistency": 2.73,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.16,
      "vwap": 13.1945,
      "vwap_slope": -0.0153,
      "rvol": 0.05,
      "volume_acceleration": 0.99,
      "premarket_volume": 26745.0,
      "momentum_pct": -0.04,
      "consolidation_tightness_pct": 0.3,
      "distance_from_pm_high_pct": 0.6,
      "extension_from_vwap_pct": -0.26,
      "spread_pct": 0.23
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 13.24,
    "pm_low": 13.12
  },
  {
    "symbol": "OI",
    "total_score": 40.64,
    "raw_score": 43.08,
    "breakdown": {
      "price_quality": 2.29,
      "volume_quality": 12.0,
      "rvol": 0.97,
      "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.54,
      "spread_liquidity": 4.54,
      "momentum_consistency": 2.07,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.295,
      "vwap": 7.2982,
      "vwap_slope": -0.0053,
      "rvol": 0.41,
      "volume_acceleration": 0.94,
      "premarket_volume": 202658.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.19,
      "distance_from_pm_high_pct": 0.61,
      "extension_from_vwap_pct": -0.04,
      "spread_pct": 0.14
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 7.34,
    "pm_low": 7.26
  },
  {
    "symbol": "FRVO",
    "total_score": 40.61,
    "raw_score": 43.04,
    "breakdown": {
      "price_quality": 0.0,
      "volume_quality": 12.0,
      "rvol": 2.44,
      "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": 4.84,
      "spread_liquidity": 4.56,
      "momentum_consistency": 3.37,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 15.27,
      "vwap": 15.3883,
      "vwap_slope": -0.0096,
      "rvol": 1.02,
      "volume_acceleration": 0.99,
      "premarket_volume": 508633.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.29,
      "distance_from_pm_high_pct": 1.55,
      "extension_from_vwap_pct": -0.77,
      "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": 15.51,
    "pm_low": 15.22
  },
  {
    "symbol": "BBDC",
    "total_score": 40.6,
    "raw_score": 43.04,
    "breakdown": {
      "price_quality": 4.46,
      "volume_quality": 12.0,
      "rvol": 0.59,
      "volume_acceleration": 1.39,
      "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.65,
      "momentum_consistency": 1.75,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.46,
      "vwap": 9.4666,
      "vwap_slope": -0.0001,
      "rvol": 0.25,
      "volume_acceleration": 0.4,
      "premarket_volume": 122743.0,
      "momentum_pct": -0.05,
      "consolidation_tightness_pct": 0.05,
      "distance_from_pm_high_pct": 0.26,
      "extension_from_vwap_pct": -0.07,
      "spread_pct": 0.11
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 9.485,
    "pm_low": 9.44
  },
  {
    "symbol": "MTRX",
    "total_score": 40.6,
    "raw_score": 43.03,
    "breakdown": {
      "price_quality": 4.19,
      "volume_quality": 4.83,
      "rvol": 0.19,
      "volume_acceleration": 8.81,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.65,
      "spread_liquidity": 4.38,
      "momentum_consistency": 2.58,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.81,
      "vwap": 10.8194,
      "vwap_slope": -0.0237,
      "rvol": 0.08,
      "volume_acceleration": 1.88,
      "premarket_volume": 40213.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.19,
      "distance_from_pm_high_pct": 0.46,
      "extension_from_vwap_pct": -0.09,
      "spread_pct": 0.19
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 10.86,
    "pm_low": 10.78
  },
  {
    "symbol": "CGNT",
    "total_score": 40.58,
    "raw_score": 43.02,
    "breakdown": {
      "price_quality": 3.91,
      "volume_quality": 2.65,
      "rvol": 0.11,
      "volume_acceleration": 3.09,
      "price_momentum": 0.34,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.92,
      "spread_liquidity": 4.25,
      "momentum_consistency": 3.56,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.91,
      "vwap": 8.8978,
      "vwap_slope": -0.0005,
      "rvol": 0.04,
      "volume_acceleration": 0.89,
      "premarket_volume": 22085.0,
      "momentum_pct": 0.22,
      "consolidation_tightness_pct": 0.39,
      "distance_from_pm_high_pct": 0.11,
      "extension_from_vwap_pct": 0.14,
      "spread_pct": 0.22
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 8.9199,
    "pm_low": 8.87
  },
  {
    "symbol": "CRNC",
    "total_score": 40.5,
    "raw_score": 42.93,
    "breakdown": {
      "price_quality": 3.53,
      "volume_quality": 3.83,
      "rvol": 0.15,
      "volume_acceleration": 9.16,
      "price_momentum": 0.18,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.78,
      "spread_liquidity": 4.61,
      "momentum_consistency": 3.29,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.525,
      "vwap": 8.5297,
      "vwap_slope": -0.0053,
      "rvol": 0.06,
      "volume_acceleration": 1.92,
      "premarket_volume": 31931.0,
      "momentum_pct": 0.12,
      "consolidation_tightness_pct": 0.12,
      "distance_from_pm_high_pct": 0.29,
      "extension_from_vwap_pct": -0.05,
      "spread_pct": 0.12
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 8.55,
    "pm_low": 8.515
  },
  {
    "symbol": "AMPL",
    "total_score": 40.43,
    "raw_score": 42.86,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 0.49,
      "volume_acceleration": 3.25,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.5,
      "spread_liquidity": 4.76,
      "momentum_consistency": 2.96,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.15,
      "vwap": 14.1722,
      "vwap_slope": -0.0111,
      "rvol": 0.2,
      "volume_acceleration": 1.32,
      "premarket_volume": 101674.0,
      "momentum_pct": -0.07,
      "consolidation_tightness_pct": 0.21,
      "distance_from_pm_high_pct": 0.67,
      "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": false,
      "vwap_rising": false
    },
    "pm_high": 14.245,
    "pm_low": 14.115
  },
  {
    "symbol": "HAFN",
    "total_score": 40.38,
    "raw_score": 42.8,
    "breakdown": {
      "price_quality": 3.39,
      "volume_quality": 12.0,
      "rvol": 1.12,
      "volume_acceleration": 2.09,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.56,
      "spread_liquidity": 4.6,
      "momentum_consistency": 1.63,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.39,
      "vwap": 8.4183,
      "vwap_slope": -0.0018,
      "rvol": 0.47,
      "volume_acceleration": 0.6,
      "premarket_volume": 234236.0,
      "momentum_pct": -0.06,
      "consolidation_tightness_pct": 0.12,
      "distance_from_pm_high_pct": 0.58,
      "extension_from_vwap_pct": -0.34,
      "spread_pct": 0.12
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 8.439,
    "pm_low": 8.39
  },
  {
    "symbol": "SVV",
    "total_score": 40.36,
    "raw_score": 42.79,
    "breakdown": {
      "price_quality": 4.71,
      "volume_quality": 10.36,
      "rvol": 0.41,
      "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.24,
      "spread_liquidity": 4.68,
      "momentum_consistency": 1.6,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.29,
      "vwap": 10.3382,
      "vwap_slope": -0.0162,
      "rvol": 0.17,
      "volume_acceleration": 0.97,
      "premarket_volume": 86333.0,
      "momentum_pct": -0.34,
      "consolidation_tightness_pct": 0.63,
      "distance_from_pm_high_pct": 1.01,
      "extension_from_vwap_pct": -0.47,
      "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.395,
    "pm_low": 10.27
  },
  {
    "symbol": "TDOC",
    "total_score": 40.25,
    "raw_score": 42.67,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 2.52,
      "volume_acceleration": 1.44,
      "price_momentum": 0.48,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.24,
      "spread_liquidity": 4.47,
      "momentum_consistency": 2.62,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.325,
      "vwap": 6.3409,
      "vwap_slope": -0.0049,
      "rvol": 1.05,
      "volume_acceleration": 0.41,
      "premarket_volume": 525425.0,
      "momentum_pct": 0.32,
      "consolidation_tightness_pct": 0.47,
      "distance_from_pm_high_pct": 1.02,
      "extension_from_vwap_pct": -0.25,
      "spread_pct": 0.16
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 6.39,
    "pm_low": 6.3
  },
  {
    "symbol": "SHLS",
    "total_score": 40.17,
    "raw_score": 42.58,
    "breakdown": {
      "price_quality": 1.83,
      "volume_quality": 12.0,
      "rvol": 1.21,
      "volume_acceleration": 3.53,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.29,
      "spread_liquidity": 4.51,
      "momentum_consistency": 1.79,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.835,
      "vwap": 6.8605,
      "vwap_slope": -0.0017,
      "rvol": 0.5,
      "volume_acceleration": 1.02,
      "premarket_volume": 251848.0,
      "momentum_pct": -0.15,
      "consolidation_tightness_pct": 0.22,
      "distance_from_pm_high_pct": 0.94,
      "extension_from_vwap_pct": -0.37,
      "spread_pct": 0.15
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 6.9,
    "pm_low": 6.835
  },
  {
    "symbol": "CWK",
    "total_score": 40.17,
    "raw_score": 42.58,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 0.51,
      "volume_acceleration": 3.22,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.64,
      "spread_liquidity": 4.76,
      "momentum_consistency": 2.55,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.615,
      "vwap": 13.6261,
      "vwap_slope": -0.0036,
      "rvol": 0.21,
      "volume_acceleration": 0.93,
      "premarket_volume": 106125.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.15,
      "distance_from_pm_high_pct": 0.48,
      "extension_from_vwap_pct": -0.08,
      "spread_pct": 0.07
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 13.68,
    "pm_low": 13.595
  },
  {
    "symbol": "JKS",
    "total_score": 40.08,
    "raw_score": 42.49,
    "breakdown": {
      "price_quality": 2.38,
      "volume_quality": 11.98,
      "rvol": 0.48,
      "volume_acceleration": 2.46,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.5,
      "spread_liquidity": 4.21,
      "momentum_consistency": 3.08,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.625,
      "vwap": 12.648,
      "vwap_slope": -0.0068,
      "rvol": 0.2,
      "volume_acceleration": 0.71,
      "premarket_volume": 99874.0,
      "momentum_pct": -0.04,
      "consolidation_tightness_pct": 0.32,
      "distance_from_pm_high_pct": 0.67,
      "extension_from_vwap_pct": -0.18,
      "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.71,
    "pm_low": 12.6
  },
  {
    "symbol": "VIPS",
    "total_score": 40.03,
    "raw_score": 42.44,
    "breakdown": {
      "price_quality": 1.85,
      "volume_quality": 12.0,
      "rvol": 1.42,
      "volume_acceleration": 1.73,
      "price_momentum": 0.11,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.66,
      "spread_liquidity": 4.75,
      "momentum_consistency": 2.52,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.155,
      "vwap": 13.1745,
      "vwap_slope": -0.0111,
      "rvol": 0.59,
      "volume_acceleration": 1.17,
      "premarket_volume": 295821.0,
      "momentum_pct": 0.08,
      "consolidation_tightness_pct": 0.11,
      "distance_from_pm_high_pct": 0.45,
      "extension_from_vwap_pct": -0.15,
      "spread_pct": 0.08
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 13.215,
    "pm_low": 13.14
  },
  {
    "symbol": "MBC",
    "total_score": 40.0,
    "raw_score": 42.4,
    "breakdown": {
      "price_quality": 3.36,
      "volume_quality": 12.0,
      "rvol": 0.74,
      "volume_acceleration": 2.29,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.55,
      "spread_liquidity": 4.6,
      "momentum_consistency": 1.47,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.355,
      "vwap": 8.3786,
      "vwap_slope": -0.0048,
      "rvol": 0.31,
      "volume_acceleration": 0.66,
      "premarket_volume": 153601.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.18,
      "distance_from_pm_high_pct": 0.59,
      "extension_from_vwap_pct": -0.28,
      "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.405,
    "pm_low": 8.3501
  },
  {
    "symbol": "VITL",
    "total_score": 39.89,
    "raw_score": 42.28,
    "breakdown": {
      "price_quality": 4.27,
      "volume_quality": 9.54,
      "rvol": 0.38,
      "volume_acceleration": 2.72,
      "price_momentum": 0.21,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.62,
      "spread_liquidity": 4.38,
      "momentum_consistency": 2.78,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.735,
      "vwap": 10.7537,
      "vwap_slope": -0.0058,
      "rvol": 0.16,
      "volume_acceleration": 0.78,
      "premarket_volume": 79493.0,
      "momentum_pct": 0.14,
      "consolidation_tightness_pct": 0.28,
      "distance_from_pm_high_pct": 0.51,
      "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": false,
      "vwap_rising": false
    },
    "pm_high": 10.79,
    "pm_low": 10.71
  },
  {
    "symbol": "LWLG",
    "total_score": 39.87,
    "raw_score": 42.26,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 1.52,
      "volume_acceleration": 2.42,
      "price_momentum": 0.14,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.38,
      "spread_liquidity": 4.38,
      "momentum_consistency": 2.53,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.38,
      "vwap": 5.3981,
      "vwap_slope": -0.0025,
      "rvol": 0.63,
      "volume_acceleration": 0.69,
      "premarket_volume": 316808.0,
      "momentum_pct": 0.09,
      "consolidation_tightness_pct": 0.46,
      "distance_from_pm_high_pct": 0.83,
      "extension_from_vwap_pct": -0.33,
      "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.425,
    "pm_low": 5.37
  },
  {
    "symbol": "AVAH",
    "total_score": 39.86,
    "raw_score": 42.25,
    "breakdown": {
      "price_quality": 1.84,
      "volume_quality": 12.0,
      "rvol": 0.79,
      "volume_acceleration": 2.56,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.8,
      "spread_liquidity": 4.75,
      "momentum_consistency": 2.11,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.16,
      "vwap": 13.1739,
      "vwap_slope": -0.0001,
      "rvol": 0.33,
      "volume_acceleration": 0.74,
      "premarket_volume": 165556.0,
      "momentum_pct": -0.08,
      "consolidation_tightness_pct": 0.11,
      "distance_from_pm_high_pct": 0.27,
      "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": 13.195,
    "pm_low": 13.145
  },
  {
    "symbol": "TRLV",
    "total_score": 39.63,
    "raw_score": 42.01,
    "breakdown": {
      "price_quality": 3.38,
      "volume_quality": 12.0,
      "rvol": 1.1,
      "volume_acceleration": 2.56,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 4.2,
      "spread_liquidity": 4.43,
      "momentum_consistency": 1.93,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.62,
      "vwap": 11.7452,
      "vwap_slope": -0.0305,
      "rvol": 0.46,
      "volume_acceleration": 0.74,
      "premarket_volume": 229481.0,
      "momentum_pct": -0.34,
      "consolidation_tightness_pct": 0.43,
      "distance_from_pm_high_pct": 2.39,
      "extension_from_vwap_pct": -1.07,
      "spread_pct": 0.17
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 11.905,
    "pm_low": 11.61
  },
  {
    "symbol": "KRO",
    "total_score": 39.37,
    "raw_score": 41.73,
    "breakdown": {
      "price_quality": 3.65,
      "volume_quality": 4.16,
      "rvol": 0.17,
      "volume_acceleration": 10,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.23,
      "spread_liquidity": 3.84,
      "momentum_consistency": 2.29,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.65,
      "vwap": 8.6713,
      "vwap_slope": -0.0073,
      "rvol": 0.07,
      "volume_acceleration": 2.73,
      "premarket_volume": 34667.0,
      "momentum_pct": -0.06,
      "consolidation_tightness_pct": 0.14,
      "distance_from_pm_high_pct": 1.03,
      "extension_from_vwap_pct": -0.25,
      "spread_pct": 0.35
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 8.74,
    "pm_low": 8.63
  },
  {
    "symbol": "SFL",
    "total_score": 39.33,
    "raw_score": 41.69,
    "breakdown": {
      "price_quality": 2.64,
      "volume_quality": 10.23,
      "rvol": 0.41,
      "volume_acceleration": 3.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.61,
      "spread_liquidity": 4.73,
      "momentum_consistency": 2.0,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.36,
      "vwap": 12.3968,
      "vwap_slope": -0.0079,
      "rvol": 0.17,
      "volume_acceleration": 1.05,
      "premarket_volume": 85280.0,
      "momentum_pct": -0.12,
      "consolidation_tightness_pct": 0.12,
      "distance_from_pm_high_pct": 0.52,
      "extension_from_vwap_pct": -0.3,
      "spread_pct": 0.08
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 12.425,
    "pm_low": 12.36
  },
  {
    "symbol": "XPOF",
    "total_score": 39.32,
    "raw_score": 41.68,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 0.48,
      "volume_acceleration": 3.09,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 4.71,
      "spread_liquidity": 4.39,
      "momentum_consistency": 3.11,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.435,
      "vwap": 5.4511,
      "vwap_slope": -0.0035,
      "rvol": 0.2,
      "volume_acceleration": 0.89,
      "premarket_volume": 100993.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.28,
      "distance_from_pm_high_pct": 1.72,
      "extension_from_vwap_pct": -0.29,
      "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.53,
    "pm_low": 5.41
  },
  {
    "symbol": "HNST",
    "total_score": 39.24,
    "raw_score": 41.59,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 1.38,
      "volume_acceleration": 1.49,
      "price_momentum": 0.37,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.47,
      "spread_liquidity": 4.42,
      "momentum_consistency": 2.57,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.7391,
      "vwap": 5.7533,
      "vwap_slope": -0.003,
      "rvol": 0.57,
      "volume_acceleration": 0.43,
      "premarket_volume": 286961.0,
      "momentum_pct": 0.25,
      "consolidation_tightness_pct": 0.35,
      "distance_from_pm_high_pct": 0.71,
      "extension_from_vwap_pct": -0.25,
      "spread_pct": 0.17
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 5.78,
    "pm_low": 5.72
  },
  {
    "symbol": "ACDC",
    "total_score": 39.2,
    "raw_score": 41.55,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 8.79,
      "rvol": 0.35,
      "volume_acceleration": 6.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.56,
      "spread_liquidity": 4.35,
      "momentum_consistency": 2.33,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.095,
      "vwap": 5.1097,
      "vwap_slope": -0.0016,
      "rvol": 0.15,
      "volume_acceleration": 1.63,
      "premarket_volume": 73261.0,
      "momentum_pct": -0.2,
      "consolidation_tightness_pct": 0.39,
      "distance_from_pm_high_pct": 0.59,
      "extension_from_vwap_pct": -0.29,
      "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.125,
    "pm_low": 5.095
  },
  {
    "symbol": "IMTX",
    "total_score": 39.05,
    "raw_score": 41.39,
    "breakdown": {
      "price_quality": 4.39,
      "volume_quality": 2.94,
      "rvol": 0.12,
      "volume_acceleration": 10,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.6,
      "spread_liquidity": 3.94,
      "momentum_consistency": 2.0,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.39,
      "vwap": 9.4137,
      "vwap_slope": -0.0087,
      "rvol": 0.05,
      "volume_acceleration": 2.39,
      "premarket_volume": 24518.0,
      "momentum_pct": -0.11,
      "consolidation_tightness_pct": 0.21,
      "distance_from_pm_high_pct": 0.53,
      "extension_from_vwap_pct": -0.25,
      "spread_pct": 0.32
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 9.44,
    "pm_low": 9.39
  },
  {
    "symbol": "IMRX",
    "total_score": 39.03,
    "raw_score": 41.37,
    "breakdown": {
      "price_quality": 0.0,
      "volume_quality": 7.26,
      "rvol": 0.29,
      "volume_acceleration": 2.12,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.7,
      "spread_liquidity": 4.32,
      "momentum_consistency": 2.08,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 4.91,
      "vwap": 4.9105,
      "vwap_slope": 0.0014,
      "rvol": 0.12,
      "volume_acceleration": 0.61,
      "premarket_volume": 60509.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.1,
      "distance_from_pm_high_pct": 0.41,
      "extension_from_vwap_pct": -0.01,
      "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": true
    },
    "pm_high": 4.93,
    "pm_low": 4.8909
  },
  {
    "symbol": "SLRC",
    "total_score": 38.79,
    "raw_score": 41.12,
    "breakdown": {
      "price_quality": 2.27,
      "volume_quality": 3.43,
      "rvol": 0.14,
      "volume_acceleration": 2.09,
      "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.74,
      "momentum_consistency": 3.03,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.735,
      "vwap": 12.7449,
      "vwap_slope": 0.0014,
      "rvol": 0.06,
      "volume_acceleration": 0.6,
      "premarket_volume": 28559.0,
      "momentum_pct": -0.04,
      "consolidation_tightness_pct": 0.12,
      "distance_from_pm_high_pct": 0.24,
      "extension_from_vwap_pct": -0.08,
      "spread_pct": 0.08
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": true
    },
    "pm_high": 12.765,
    "pm_low": 12.725
  },
  {
    "symbol": "DC",
    "total_score": 38.53,
    "raw_score": 40.84,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 0.74,
      "volume_acceleration": 2.58,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.21,
      "spread_liquidity": 4.45,
      "momentum_consistency": 1.96,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.075,
      "vwap": 6.1134,
      "vwap_slope": -0.006,
      "rvol": 0.31,
      "volume_acceleration": 1.26,
      "premarket_volume": 153943.0,
      "momentum_pct": -0.41,
      "consolidation_tightness_pct": 0.66,
      "distance_from_pm_high_pct": 1.06,
      "extension_from_vwap_pct": -0.63,
      "spread_pct": 0.16
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 6.1399,
    "pm_low": 6.075
  },
  {
    "symbol": "BLZE",
    "total_score": 38.29,
    "raw_score": 40.59,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 0.61,
      "volume_acceleration": 1.72,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.27,
      "spread_liquidity": 4.76,
      "momentum_consistency": 2.33,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.15,
      "vwap": 14.1905,
      "vwap_slope": -0.0061,
      "rvol": 0.26,
      "volume_acceleration": 0.49,
      "premarket_volume": 128003.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.15,
      "distance_from_pm_high_pct": 0.98,
      "extension_from_vwap_pct": -0.29,
      "spread_pct": 0.07
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 14.29,
    "pm_low": 14.125
  },
  {
    "symbol": "RES",
    "total_score": 38.05,
    "raw_score": 40.33,
    "breakdown": {
      "price_quality": 1.51,
      "volume_quality": 9.58,
      "rvol": 0.38,
      "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.83,
      "spread_liquidity": 4.49,
      "momentum_consistency": 3.05,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.51,
      "vwap": 6.5132,
      "vwap_slope": -0.0,
      "rvol": 0.16,
      "volume_acceleration": 0.89,
      "premarket_volume": 79822.0,
      "momentum_pct": -0.08,
      "consolidation_tightness_pct": 0.08,
      "distance_from_pm_high_pct": 0.23,
      "extension_from_vwap_pct": -0.05,
      "spread_pct": 0.15
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 6.525,
    "pm_low": 6.5
  },
  {
    "symbol": "GSIT",
    "total_score": 37.97,
    "raw_score": 40.25,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 3.41,
      "rvol": 0.14,
      "volume_acceleration": 3.89,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.8,
      "spread_liquidity": 3.8,
      "momentum_consistency": 2.12,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.56,
      "vwap": 5.5613,
      "vwap_slope": 0.0001,
      "rvol": 0.06,
      "volume_acceleration": 1.12,
      "premarket_volume": 28385.0,
      "momentum_pct": -0.09,
      "consolidation_tightness_pct": 0.27,
      "distance_from_pm_high_pct": 0.27,
      "extension_from_vwap_pct": -0.02,
      "spread_pct": 0.36
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": true
    },
    "pm_high": 5.575,
    "pm_low": 5.55
  },
  {
    "symbol": "DCH",
    "total_score": 37.96,
    "raw_score": 40.24,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 0.63,
      "volume_acceleration": 2.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.35,
      "spread_liquidity": 4.47,
      "momentum_consistency": 1.57,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.245,
      "vwap": 6.2625,
      "vwap_slope": -0.0037,
      "rvol": 0.26,
      "volume_acceleration": 0.67,
      "premarket_volume": 131496.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.16,
      "distance_from_pm_high_pct": 0.87,
      "extension_from_vwap_pct": -0.28,
      "spread_pct": 0.16
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 6.3,
    "pm_low": 6.23
  },
  {
    "symbol": "CRSR",
    "total_score": 37.66,
    "raw_score": 39.92,
    "breakdown": {
      "price_quality": 2.88,
      "volume_quality": 7.63,
      "rvol": 0.31,
      "volume_acceleration": 3.24,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.72,
      "spread_liquidity": 4.45,
      "momentum_consistency": 3.28,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.115,
      "vwap": 12.1237,
      "vwap_slope": -0.0026,
      "rvol": 0.13,
      "volume_acceleration": 0.93,
      "premarket_volume": 63612.0,
      "momentum_pct": -0.1,
      "consolidation_tightness_pct": 0.21,
      "distance_from_pm_high_pct": 0.37,
      "extension_from_vwap_pct": -0.07,
      "spread_pct": 0.16
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 12.16,
    "pm_low": 12.0825
  },
  {
    "symbol": "SWIM",
    "total_score": 37.63,
    "raw_score": 39.89,
    "breakdown": {
      "price_quality": 2.05,
      "volume_quality": 10.08,
      "rvol": 0.4,
      "volume_acceleration": 2.59,
      "price_momentum": 0.21,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.68,
      "spread_liquidity": 4.53,
      "momentum_consistency": 1.96,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.05,
      "vwap": 7.0637,
      "vwap_slope": -0.0076,
      "rvol": 0.17,
      "volume_acceleration": 0.74,
      "premarket_volume": 83968.0,
      "momentum_pct": 0.14,
      "consolidation_tightness_pct": 0.21,
      "distance_from_pm_high_pct": 0.42,
      "extension_from_vwap_pct": -0.19,
      "spread_pct": 0.14
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 7.08,
    "pm_low": 7.0401
  },
  {
    "symbol": "BHC",
    "total_score": 37.5,
    "raw_score": 39.75,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 10.8,
      "rvol": 0.43,
      "volume_acceleration": 2.33,
      "price_momentum": 0.24,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.82,
      "spread_liquidity": 4.47,
      "momentum_consistency": 1.76,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.255,
      "vwap": 6.2585,
      "vwap_slope": -0.0026,
      "rvol": 0.18,
      "volume_acceleration": 0.67,
      "premarket_volume": 90030.0,
      "momentum_pct": 0.16,
      "consolidation_tightness_pct": 0.16,
      "distance_from_pm_high_pct": 0.24,
      "extension_from_vwap_pct": -0.06,
      "spread_pct": 0.16
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 6.27,
    "pm_low": 6.245
  },
  {
    "symbol": "REF",
    "total_score": 37.36,
    "raw_score": 39.6,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 4.12,
      "rvol": 0.16,
      "volume_acceleration": 2.97,
      "price_momentum": 1.07,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.42,
      "spread_liquidity": 1.69,
      "momentum_consistency": 3.47,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.18,
      "vwap": 14.1424,
      "vwap_slope": -0.022,
      "rvol": 0.07,
      "volume_acceleration": 1.3,
      "premarket_volume": 34312.0,
      "momentum_pct": 0.71,
      "consolidation_tightness_pct": 1.07,
      "distance_from_pm_high_pct": 0.77,
      "extension_from_vwap_pct": 0.27,
      "spread_pct": 0.99
    },
    "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.29,
    "pm_low": 13.99
  },
  {
    "symbol": "CTOS",
    "total_score": 37.26,
    "raw_score": 39.5,
    "breakdown": {
      "price_quality": 4.15,
      "volume_quality": 8.93,
      "rvol": 0.36,
      "volume_acceleration": 1.78,
      "price_momentum": 0.25,
      "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": 1.28,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.15,
      "vwap": 9.1523,
      "vwap_slope": -0.0025,
      "rvol": 0.15,
      "volume_acceleration": 0.51,
      "premarket_volume": 74446.0,
      "momentum_pct": 0.16,
      "consolidation_tightness_pct": 0.16,
      "distance_from_pm_high_pct": 0.38,
      "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.185,
    "pm_low": 9.135
  },
  {
    "symbol": "ZURA",
    "total_score": 37.25,
    "raw_score": 39.48,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 0.77,
      "volume_acceleration": 1.34,
      "price_momentum": 0.13,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.11,
      "spread_liquidity": 4.39,
      "momentum_consistency": 1.85,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.4248,
      "vwap": 5.439,
      "vwap_slope": -0.0035,
      "rvol": 0.32,
      "volume_acceleration": 0.39,
      "premarket_volume": 159823.0,
      "momentum_pct": 0.09,
      "consolidation_tightness_pct": 0.28,
      "distance_from_pm_high_pct": 1.19,
      "extension_from_vwap_pct": -0.26,
      "spread_pct": 0.18
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 5.49,
    "pm_low": 5.39
  },
  {
    "symbol": "SOPH",
    "total_score": 37.09,
    "raw_score": 39.31,
    "breakdown": {
      "price_quality": 3.27,
      "volume_quality": 12.0,
      "rvol": 0.87,
      "volume_acceleration": 0.38,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 4.32,
      "spread_liquidity": 3.79,
      "momentum_consistency": 2.29,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.27,
      "vwap": 8.3749,
      "vwap_slope": -0.0028,
      "rvol": 0.36,
      "volume_acceleration": 0.11,
      "premarket_volume": 181124.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.24,
      "distance_from_pm_high_pct": 2.25,
      "extension_from_vwap_pct": -1.25,
      "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.46,
    "pm_low": 8.26
  },
  {
    "symbol": "SXC",
    "total_score": 36.97,
    "raw_score": 39.19,
    "breakdown": {
      "price_quality": 4.66,
      "volume_quality": 6.86,
      "rvol": 0.27,
      "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.68,
      "spread_liquidity": 4.68,
      "momentum_consistency": 2.81,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.34,
      "vwap": 10.3517,
      "vwap_slope": -0.0034,
      "rvol": 0.11,
      "volume_acceleration": 1.18,
      "premarket_volume": 57166.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.1,
      "distance_from_pm_high_pct": 0.43,
      "extension_from_vwap_pct": -0.11,
      "spread_pct": 0.1
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 10.385,
    "pm_low": 10.335
  },
  {
    "symbol": "OEC",
    "total_score": 36.92,
    "raw_score": 39.13,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 3.98,
      "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.52,
      "spread_liquidity": 3.92,
      "momentum_consistency": 1.66,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.19,
      "vwap": 6.2007,
      "vwap_slope": -0.0091,
      "rvol": 0.07,
      "volume_acceleration": 2.21,
      "premarket_volume": 33143.0,
      "momentum_pct": -0.08,
      "consolidation_tightness_pct": 0.26,
      "distance_from_pm_high_pct": 0.64,
      "extension_from_vwap_pct": -0.17,
      "spread_pct": 0.32
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 6.23,
    "pm_low": 6.18
  },
  {
    "symbol": "LADR",
    "total_score": 35.93,
    "raw_score": 38.09,
    "breakdown": {
      "price_quality": 4.8,
      "volume_quality": 5.23,
      "rvol": 0.21,
      "volume_acceleration": 2.1,
      "price_momentum": 0.06,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.89,
      "spread_liquidity": 4.66,
      "momentum_consistency": 2.74,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.805,
      "vwap": 9.8083,
      "vwap_slope": -0.001,
      "rvol": 0.09,
      "volume_acceleration": 0.61,
      "premarket_volume": 43550.0,
      "momentum_pct": 0.04,
      "consolidation_tightness_pct": 0.09,
      "distance_from_pm_high_pct": 0.15,
      "extension_from_vwap_pct": -0.03,
      "spread_pct": 0.1
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 9.82,
    "pm_low": 9.795
  },
  {
    "symbol": "GSBD",
    "total_score": 35.84,
    "raw_score": 37.99,
    "breakdown": {
      "price_quality": 4.72,
      "volume_quality": 4.68,
      "rvol": 0.19,
      "volume_acceleration": 2.28,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.71,
      "spread_liquidity": 4.68,
      "momentum_consistency": 3.33,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.275,
      "vwap": 10.2967,
      "vwap_slope": -0.0098,
      "rvol": 0.08,
      "volume_acceleration": 0.65,
      "premarket_volume": 39009.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.1,
      "distance_from_pm_high_pct": 0.39,
      "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.315,
    "pm_low": 10.27
  },
  {
    "symbol": "DFH",
    "total_score": 35.77,
    "raw_score": 37.91,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 7.7,
      "rvol": 0.31,
      "volume_acceleration": 3.88,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.42,
      "spread_liquidity": 4.53,
      "momentum_consistency": 2.18,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.03,
      "vwap": 14.0846,
      "vwap_slope": -0.0155,
      "rvol": 0.13,
      "volume_acceleration": 1.39,
      "premarket_volume": 64184.0,
      "momentum_pct": -0.07,
      "consolidation_tightness_pct": 0.18,
      "distance_from_pm_high_pct": 0.78,
      "extension_from_vwap_pct": -0.39,
      "spread_pct": 0.14
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 14.14,
    "pm_low": 14.02
  },
  {
    "symbol": "SLDB",
    "total_score": 35.69,
    "raw_score": 37.83,
    "breakdown": {
      "price_quality": 4.45,
      "volume_quality": 4.42,
      "rvol": 0.18,
      "volume_acceleration": 3.91,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.68,
      "spread_liquidity": 4.29,
      "momentum_consistency": 2.5,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.45,
      "vwap": 9.4622,
      "vwap_slope": -0.0053,
      "rvol": 0.07,
      "volume_acceleration": 1.39,
      "premarket_volume": 36801.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.32,
      "distance_from_pm_high_pct": 0.42,
      "extension_from_vwap_pct": -0.13,
      "spread_pct": 0.21
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 9.49,
    "pm_low": 9.435
  },
  {
    "symbol": "SB",
    "total_score": 35.12,
    "raw_score": 37.22,
    "breakdown": {
      "price_quality": 3.53,
      "volume_quality": 5.84,
      "rvol": 0.23,
      "volume_acceleration": 2.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.74,
      "spread_liquidity": 4.61,
      "momentum_consistency": 1.88,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.525,
      "vwap": 8.5327,
      "vwap_slope": -0.0012,
      "rvol": 0.1,
      "volume_acceleration": 0.86,
      "premarket_volume": 48692.0,
      "momentum_pct": -0.03,
      "consolidation_tightness_pct": 0.05,
      "distance_from_pm_high_pct": 0.35,
      "extension_from_vwap_pct": -0.09,
      "spread_pct": 0.12
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 8.555,
    "pm_low": 8.515
  },
  {
    "symbol": "SSL",
    "total_score": 35.0,
    "raw_score": 37.1,
    "breakdown": {
      "price_quality": 2.96,
      "volume_quality": 5.54,
      "rvol": 0.22,
      "volume_acceleration": 3.39,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.81,
      "spread_liquidity": 4.72,
      "momentum_consistency": 2.05,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.035,
      "vwap": 12.05,
      "vwap_slope": -0.002,
      "rvol": 0.09,
      "volume_acceleration": 0.97,
      "premarket_volume": 46202.0,
      "momentum_pct": -0.08,
      "consolidation_tightness_pct": 0.13,
      "distance_from_pm_high_pct": 0.25,
      "extension_from_vwap_pct": -0.12,
      "spread_pct": 0.08
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 12.065,
    "pm_low": 12.03
  },
  {
    "symbol": "NAVI",
    "total_score": 34.92,
    "raw_score": 37.01,
    "breakdown": {
      "price_quality": 4.53,
      "volume_quality": 5.86,
      "rvol": 0.23,
      "volume_acceleration": 1.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.76,
      "spread_liquidity": 4.65,
      "momentum_consistency": 1.85,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.525,
      "vwap": 9.5338,
      "vwap_slope": -0.0076,
      "rvol": 0.1,
      "volume_acceleration": 1.17,
      "premarket_volume": 48831.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.1,
      "distance_from_pm_high_pct": 0.31,
      "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": 9.555,
    "pm_low": 9.515
  },
  {
    "symbol": "HOPE",
    "total_score": 34.51,
    "raw_score": 36.58,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 6.15,
      "rvol": 0.25,
      "volume_acceleration": 4.29,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.78,
      "spread_liquidity": 4.76,
      "momentum_consistency": 1.45,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.745,
      "vwap": 13.7665,
      "vwap_slope": -0.0055,
      "rvol": 0.1,
      "volume_acceleration": 1.43,
      "premarket_volume": 51262.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.04,
      "distance_from_pm_high_pct": 0.29,
      "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": false,
      "vwap_rising": false
    },
    "pm_high": 13.785,
    "pm_low": 13.745
  },
  {
    "symbol": "NMR",
    "total_score": 34.29,
    "raw_score": 36.34,
    "breakdown": {
      "price_quality": 4.84,
      "volume_quality": 3.73,
      "rvol": 0.15,
      "volume_acceleration": 2.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.82,
      "spread_liquidity": 4.67,
      "momentum_consistency": 1.9,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.165,
      "vwap": 10.1749,
      "vwap_slope": -0.0028,
      "rvol": 0.06,
      "volume_acceleration": 1.28,
      "premarket_volume": 31108.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.09,
      "distance_from_pm_high_pct": 0.25,
      "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": false,
      "vwap_rising": false
    },
    "pm_high": 10.19,
    "pm_low": 10.16
  },
  {
    "symbol": "LXU",
    "total_score": 34.12,
    "raw_score": 36.16,
    "breakdown": {
      "price_quality": 4.42,
      "volume_quality": 2.94,
      "rvol": 0.12,
      "volume_acceleration": 3.29,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.74,
      "spread_liquidity": 4.69,
      "momentum_consistency": 2.57,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.58,
      "vwap": 10.5834,
      "vwap_slope": -0.0004,
      "rvol": 0.05,
      "volume_acceleration": 1.33,
      "premarket_volume": 24521.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.09,
      "distance_from_pm_high_pct": 0.35,
      "extension_from_vwap_pct": -0.03,
      "spread_pct": 0.09
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 10.617,
    "pm_low": 10.565
  },
  {
    "symbol": "MGTX",
    "total_score": 33.84,
    "raw_score": 35.87,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 6.88,
      "rvol": 0.28,
      "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.59,
      "spread_liquidity": 4.51,
      "momentum_consistency": 2.67,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.685,
      "vwap": 13.7128,
      "vwap_slope": -0.0098,
      "rvol": 0.11,
      "volume_acceleration": 0.59,
      "premarket_volume": 57340.0,
      "momentum_pct": -0.04,
      "consolidation_tightness_pct": 0.15,
      "distance_from_pm_high_pct": 0.55,
      "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": 13.76,
    "pm_low": 13.655
  },
  {
    "symbol": "GFR",
    "total_score": 33.52,
    "raw_score": 35.54,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 7.96,
      "rvol": 0.32,
      "volume_acceleration": 1.04,
      "price_momentum": 0.12,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.7,
      "spread_liquidity": 4.46,
      "momentum_consistency": 2.04,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.145,
      "vwap": 6.1493,
      "vwap_slope": -0.0003,
      "rvol": 0.13,
      "volume_acceleration": 0.3,
      "premarket_volume": 66321.0,
      "momentum_pct": 0.08,
      "consolidation_tightness_pct": 0.16,
      "distance_from_pm_high_pct": 0.41,
      "extension_from_vwap_pct": -0.07,
      "spread_pct": 0.16
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 6.17,
    "pm_low": 6.135
  },
  {
    "symbol": "AVO",
    "total_score": 33.03,
    "raw_score": 35.01,
    "breakdown": {
      "price_quality": 2.21,
      "volume_quality": 3.26,
      "rvol": 0.13,
      "volume_acceleration": 4.0,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.59,
      "spread_liquidity": 4.22,
      "momentum_consistency": 3.2,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.79,
      "vwap": 12.8196,
      "vwap_slope": -0.0136,
      "rvol": 0.05,
      "volume_acceleration": 1.15,
      "premarket_volume": 27177.0,
      "momentum_pct": -0.04,
      "consolidation_tightness_pct": 0.27,
      "distance_from_pm_high_pct": 0.54,
      "extension_from_vwap_pct": -0.23,
      "spread_pct": 0.23
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 12.86,
    "pm_low": 12.785
  },
  {
    "symbol": "PHR",
    "total_score": 32.63,
    "raw_score": 34.58,
    "breakdown": {
      "price_quality": 2.91,
      "volume_quality": 4.14,
      "rvol": 0.17,
      "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.78,
      "spread_liquidity": 4.72,
      "momentum_consistency": 2.44,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.085,
      "vwap": 12.0979,
      "vwap_slope": -0.0017,
      "rvol": 0.07,
      "volume_acceleration": 0.58,
      "premarket_volume": 34519.0,
      "momentum_pct": -0.08,
      "consolidation_tightness_pct": 0.12,
      "distance_from_pm_high_pct": 0.29,
      "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.12,
    "pm_low": 12.075
  },
  {
    "symbol": "PXS",
    "total_score": 32.23,
    "raw_score": 34.17,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 2.48,
      "rvol": 0.1,
      "volume_acceleration": 0.78,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.59,
      "spread_liquidity": 0.12,
      "momentum_consistency": 4.0,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.48,
      "vwap": 5.4854,
      "vwap_slope": 0.0953,
      "rvol": 0.04,
      "volume_acceleration": 0.22,
      "premarket_volume": 20655.0,
      "momentum_pct": -0.36,
      "consolidation_tightness_pct": 0.66,
      "distance_from_pm_high_pct": 0.54,
      "extension_from_vwap_pct": -0.1,
      "spread_pct": 1.47
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": true
    },
    "pm_high": 5.51,
    "pm_low": 5.3901
  },
  {
    "symbol": "NAKA",
    "total_score": 32.14,
    "raw_score": 34.07,
    "breakdown": {
      "price_quality": 2.41,
      "volume_quality": 4.95,
      "rvol": 0.2,
      "volume_acceleration": 0.48,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.2,
      "spread_liquidity": 0.03,
      "momentum_consistency": 1.6,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.41,
      "vwap": 7.376,
      "vwap_slope": -0.0719,
      "rvol": 0.08,
      "volume_acceleration": 0.14,
      "premarket_volume": 41281.0,
      "momentum_pct": -0.8,
      "consolidation_tightness_pct": 0.94,
      "distance_from_pm_high_pct": 1.07,
      "extension_from_vwap_pct": 0.46,
      "spread_pct": 1.49
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 7.49,
    "pm_low": 7.27
  },
  {
    "symbol": "CRCT",
    "total_score": 31.79,
    "raw_score": 33.69,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 5.37,
      "rvol": 0.21,
      "volume_acceleration": 1.62,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.68,
      "spread_liquidity": 4.43,
      "momentum_consistency": 2.48,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.835,
      "vwap": 5.8466,
      "vwap_slope": -0.0014,
      "rvol": 0.09,
      "volume_acceleration": 0.47,
      "premarket_volume": 44743.0,
      "momentum_pct": -0.17,
      "consolidation_tightness_pct": 0.26,
      "distance_from_pm_high_pct": 0.43,
      "extension_from_vwap_pct": -0.2,
      "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.86,
    "pm_low": 5.835
  },
  {
    "symbol": "QUIK",
    "total_score": 31.72,
    "raw_score": 33.62,
    "breakdown": {
      "price_quality": 4.31,
      "volume_quality": 2.93,
      "rvol": 0.12,
      "volume_acceleration": 1.68,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.34,
      "spread_liquidity": 4.38,
      "momentum_consistency": 2.46,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.69,
      "vwap": 10.731,
      "vwap_slope": -0.0279,
      "rvol": 0.05,
      "volume_acceleration": 1.17,
      "premarket_volume": 24422.0,
      "momentum_pct": -0.19,
      "consolidation_tightness_pct": 0.47,
      "distance_from_pm_high_pct": 0.88,
      "extension_from_vwap_pct": -0.38,
      "spread_pct": 0.19
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 10.785,
    "pm_low": 10.67
  },
  {
    "symbol": "ASLE",
    "total_score": 31.0,
    "raw_score": 32.86,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 4.52,
      "rvol": 0.18,
      "volume_acceleration": 2.38,
      "price_momentum": 0.03,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.74,
      "spread_liquidity": 4.39,
      "momentum_consistency": 1.73,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.476,
      "vwap": 5.4789,
      "vwap_slope": -0.0017,
      "rvol": 0.08,
      "volume_acceleration": 1.24,
      "premarket_volume": 37642.0,
      "momentum_pct": 0.02,
      "consolidation_tightness_pct": 0.27,
      "distance_from_pm_high_pct": 0.35,
      "extension_from_vwap_pct": -0.05,
      "spread_pct": 0.18
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 5.495,
    "pm_low": 5.465
  },
  {
    "symbol": "NMFC",
    "total_score": 30.94,
    "raw_score": 32.8,
    "breakdown": {
      "price_quality": 2.63,
      "volume_quality": 2.8,
      "rvol": 0.11,
      "volume_acceleration": 2.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.71,
      "spread_liquidity": 4.56,
      "momentum_consistency": 2.21,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.635,
      "vwap": 7.6518,
      "vwap_slope": -0.006,
      "rvol": 0.05,
      "volume_acceleration": 1.24,
      "premarket_volume": 23369.0,
      "momentum_pct": -0.07,
      "consolidation_tightness_pct": 0.14,
      "distance_from_pm_high_pct": 0.39,
      "extension_from_vwap_pct": -0.22,
      "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.635
  },
  {
    "symbol": "INMD",
    "total_score": 30.5,
    "raw_score": 32.33,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 2.55,
      "rvol": 0.1,
      "volume_acceleration": 3.04,
      "price_momentum": 0.06,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.9,
      "spread_liquidity": 4.78,
      "momentum_consistency": 2.0,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.89,
      "vwap": 14.8907,
      "vwap_slope": -0.0024,
      "rvol": 0.04,
      "volume_acceleration": 0.87,
      "premarket_volume": 21283.0,
      "momentum_pct": 0.04,
      "consolidation_tightness_pct": 0.04,
      "distance_from_pm_high_pct": 0.13,
      "extension_from_vwap_pct": -0.0,
      "spread_pct": 0.07
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 14.91,
    "pm_low": 14.875
  },
  {
    "symbol": "TK",
    "total_score": 30.41,
    "raw_score": 32.23,
    "breakdown": {
      "price_quality": 1.91,
      "volume_quality": 3.48,
      "rvol": 0.14,
      "volume_acceleration": 3.55,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.15,
      "spread_liquidity": 4.24,
      "momentum_consistency": 1.37,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.09,
      "vwap": 13.1603,
      "vwap_slope": -0.0323,
      "rvol": 0.06,
      "volume_acceleration": 1.35,
      "premarket_volume": 28970.0,
      "momentum_pct": -0.29,
      "consolidation_tightness_pct": 0.31,
      "distance_from_pm_high_pct": 1.13,
      "extension_from_vwap_pct": -0.53,
      "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.24,
    "pm_low": 13.09
  },
  {
    "symbol": "XPER",
    "total_score": 30.06,
    "raw_score": 31.86,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 3.5,
      "rvol": 0.14,
      "volume_acceleration": 2.74,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.68,
      "spread_liquidity": 4.44,
      "momentum_consistency": 1.45,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.925,
      "vwap": 5.9354,
      "vwap_slope": -0.0072,
      "rvol": 0.06,
      "volume_acceleration": 1.27,
      "premarket_volume": 29205.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.25,
      "distance_from_pm_high_pct": 0.42,
      "extension_from_vwap_pct": -0.18,
      "spread_pct": 0.17
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 5.95,
    "pm_low": 5.92
  },
  {
    "symbol": "LYNX",
    "total_score": 29.18,
    "raw_score": 30.94,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 3.53,
      "rvol": 0.14,
      "volume_acceleration": 2.11,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.03,
      "spread_liquidity": 4.27,
      "momentum_consistency": 1.95,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.74,
      "vwap": 13.8107,
      "vwap_slope": -0.0166,
      "rvol": 0.06,
      "volume_acceleration": 0.61,
      "premarket_volume": 29441.0,
      "momentum_pct": -0.18,
      "consolidation_tightness_pct": 0.44,
      "distance_from_pm_high_pct": 1.29,
      "extension_from_vwap_pct": -0.51,
      "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.92,
    "pm_low": 13.72
  },
  {
    "symbol": "FF",
    "total_score": 29.09,
    "raw_score": 30.83,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 6.16,
      "rvol": 0.25,
      "volume_acceleration": 1.8,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 4.41,
      "spread_liquidity": 3.03,
      "momentum_consistency": 1.28,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.08,
      "vwap": 5.113,
      "vwap_slope": -0.0311,
      "rvol": 0.1,
      "volume_acceleration": 1.18,
      "premarket_volume": 51342.0,
      "momentum_pct": -0.1,
      "consolidation_tightness_pct": 0.98,
      "distance_from_pm_high_pct": 2.12,
      "extension_from_vwap_pct": -0.65,
      "spread_pct": 0.59
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 5.19,
    "pm_low": 5.0601
  },
  {
    "symbol": "NVA",
    "total_score": 28.12,
    "raw_score": 29.81,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 3.64,
      "rvol": 0.15,
      "volume_acceleration": 1.78,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 4.73,
      "spread_liquidity": 3.73,
      "momentum_consistency": 1.88,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.235,
      "vwap": 5.2676,
      "vwap_slope": -0.0112,
      "rvol": 0.06,
      "volume_acceleration": 0.51,
      "premarket_volume": 30321.0,
      "momentum_pct": -0.19,
      "consolidation_tightness_pct": 0.29,
      "distance_from_pm_high_pct": 1.69,
      "extension_from_vwap_pct": -0.62,
      "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.325,
    "pm_low": 5.22
  },
  {
    "symbol": "BETR",
    "total_score": 27.69,
    "raw_score": 29.35,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 2.83,
      "rvol": 0.11,
      "volume_acceleration": 3.7,
      "price_momentum": 0.22,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 4.54,
      "spread_liquidity": 0.85,
      "momentum_consistency": 3.2,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.64,
      "vwap": 13.6579,
      "vwap_slope": -0.0185,
      "rvol": 0.05,
      "volume_acceleration": 1.37,
      "premarket_volume": 23555.0,
      "momentum_pct": 0.15,
      "consolidation_tightness_pct": 0.55,
      "distance_from_pm_high_pct": 1.94,
      "extension_from_vwap_pct": -0.13,
      "spread_pct": 1.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": 13.91,
    "pm_low": 13.52
  }
]