[
  {
    "symbol": "COMP",
    "total_score": 78.5,
    "raw_score": 83.21,
    "breakdown": {
      "price_quality": 3.45,
      "volume_quality": 12.0,
      "rvol": 7.77,
      "volume_acceleration": 10,
      "price_momentum": 0.52,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 6,
      "spread_liquidity": 4.71,
      "momentum_consistency": 2.76,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.55,
      "vwap": 11.4831,
      "vwap_slope": 0.0049,
      "rvol": 2.91,
      "volume_acceleration": 2.13,
      "premarket_volume": 1456635.0,
      "momentum_pct": 0.35,
      "consolidation_tightness_pct": 0.56,
      "distance_from_pm_high_pct": 0.0,
      "extension_from_vwap_pct": 0.58,
      "spread_pct": 0.09
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 11.55,
    "pm_low": 11.425
  },
  {
    "symbol": "INFQ",
    "total_score": 75.03,
    "raw_score": 79.53,
    "breakdown": {
      "price_quality": 1.79,
      "volume_quality": 12.0,
      "rvol": 4.37,
      "volume_acceleration": 10,
      "price_momentum": 1.26,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.97,
      "spread_liquidity": 4.75,
      "momentum_consistency": 3.39,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.205,
      "vwap": 13.0948,
      "vwap_slope": 0.0056,
      "rvol": 1.64,
      "volume_acceleration": 2.22,
      "premarket_volume": 818977.0,
      "momentum_pct": 0.84,
      "consolidation_tightness_pct": 1.1,
      "distance_from_pm_high_pct": 0.04,
      "extension_from_vwap_pct": 0.84,
      "spread_pct": 0.08
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 13.21,
    "pm_low": 13.02
  },
  {
    "symbol": "FSM",
    "total_score": 74.56,
    "raw_score": 79.03,
    "breakdown": {
      "price_quality": 2.84,
      "volume_quality": 12.0,
      "rvol": 4.26,
      "volume_acceleration": 10,
      "price_momentum": 0.12,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.91,
      "spread_liquidity": 4.73,
      "momentum_consistency": 3.17,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.16,
      "vwap": 12.135,
      "vwap_slope": 0.0131,
      "rvol": 1.6,
      "volume_acceleration": 2.01,
      "premarket_volume": 799618.0,
      "momentum_pct": 0.08,
      "consolidation_tightness_pct": 0.29,
      "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": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 12.175,
    "pm_low": 12.075
  },
  {
    "symbol": "STGW",
    "total_score": 73.16,
    "raw_score": 77.54,
    "breakdown": {
      "price_quality": 3.94,
      "volume_quality": 12.0,
      "rvol": 0.81,
      "volume_acceleration": 10,
      "price_momentum": 0.25,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 6,
      "spread_liquidity": 4.63,
      "momentum_consistency": 3.92,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.935,
      "vwap": 8.8935,
      "vwap_slope": 0.0205,
      "rvol": 0.34,
      "volume_acceleration": 4.55,
      "premarket_volume": 168483.0,
      "momentum_pct": 0.17,
      "consolidation_tightness_pct": 0.39,
      "distance_from_pm_high_pct": 0.0,
      "extension_from_vwap_pct": 0.47,
      "spread_pct": 0.11
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 8.935,
    "pm_low": 8.775
  },
  {
    "symbol": "TTD",
    "total_score": 71.7,
    "raw_score": 76.0,
    "breakdown": {
      "price_quality": 1.64,
      "volume_quality": 12.0,
      "rvol": 6.14,
      "volume_acceleration": 4.33,
      "price_momentum": 1.01,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 6,
      "spread_liquidity": 4.75,
      "momentum_consistency": 4.14,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.358,
      "vwap": 13.2389,
      "vwap_slope": 0.0205,
      "rvol": 2.3,
      "volume_acceleration": 1.43,
      "premarket_volume": 1150621.0,
      "momentum_pct": 0.67,
      "consolidation_tightness_pct": 0.92,
      "distance_from_pm_high_pct": 0.0,
      "extension_from_vwap_pct": 0.9,
      "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": 13.358,
    "pm_low": 13.1701
  },
  {
    "symbol": "TGB",
    "total_score": 71.01,
    "raw_score": 75.27,
    "breakdown": {
      "price_quality": 4.29,
      "volume_quality": 12.0,
      "rvol": 2.02,
      "volume_acceleration": 7.44,
      "price_momentum": 0.16,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.96,
      "spread_liquidity": 4.64,
      "momentum_consistency": 2.76,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.295,
      "vwap": 9.2771,
      "vwap_slope": 0.0039,
      "rvol": 0.84,
      "volume_acceleration": 1.74,
      "premarket_volume": 420490.0,
      "momentum_pct": 0.11,
      "consolidation_tightness_pct": 0.27,
      "distance_from_pm_high_pct": 0.05,
      "extension_from_vwap_pct": 0.19,
      "spread_pct": 0.11
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 9.3,
    "pm_low": 9.25
  },
  {
    "symbol": "EOLS",
    "total_score": 70.49,
    "raw_score": 74.72,
    "breakdown": {
      "price_quality": 3.71,
      "volume_quality": 12.0,
      "rvol": 0.69,
      "volume_acceleration": 10,
      "price_momentum": 0.0,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.96,
      "spread_liquidity": 4.23,
      "momentum_consistency": 2.13,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.705,
      "vwap": 8.6423,
      "vwap_slope": 0.0449,
      "rvol": 0.29,
      "volume_acceleration": 3.01,
      "premarket_volume": 143870.0,
      "momentum_pct": -0.06,
      "consolidation_tightness_pct": 0.69,
      "distance_from_pm_high_pct": 0.06,
      "extension_from_vwap_pct": 0.73,
      "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": true
    },
    "pm_high": 8.71,
    "pm_low": 8.5519
  },
  {
    "symbol": "BBDC",
    "total_score": 70.47,
    "raw_score": 74.69,
    "breakdown": {
      "price_quality": 4.43,
      "volume_quality": 10.41,
      "rvol": 0.42,
      "volume_acceleration": 10,
      "price_momentum": 0.0,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.88,
      "spread_liquidity": 4.65,
      "momentum_consistency": 2.91,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.43,
      "vwap": 9.4236,
      "vwap_slope": 0.0068,
      "rvol": 0.17,
      "volume_acceleration": 2.67,
      "premarket_volume": 86759.0,
      "momentum_pct": -0.05,
      "consolidation_tightness_pct": 0.24,
      "distance_from_pm_high_pct": 0.16,
      "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": true,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 9.445,
    "pm_low": 9.41
  },
  {
    "symbol": "STLA",
    "total_score": 69.7,
    "raw_score": 73.88,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 11.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.79,
      "spread_liquidity": 4.36,
      "momentum_consistency": 2.34,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.235,
      "vwap": 5.2309,
      "vwap_slope": 0.0036,
      "rvol": 4.31,
      "volume_acceleration": 2.83,
      "premarket_volume": 2153651.0,
      "momentum_pct": -0.1,
      "consolidation_tightness_pct": 0.38,
      "distance_from_pm_high_pct": 0.29,
      "extension_from_vwap_pct": 0.08,
      "spread_pct": 0.19
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 5.25,
    "pm_low": 5.22
  },
  {
    "symbol": "ATAI",
    "total_score": 68.74,
    "raw_score": 72.87,
    "breakdown": {
      "price_quality": 2.38,
      "volume_quality": 12.0,
      "rvol": 9.16,
      "volume_acceleration": 10,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.9,
      "spread_liquidity": 4.55,
      "momentum_consistency": 2.48,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.38,
      "vwap": 7.3767,
      "vwap_slope": 0.0004,
      "rvol": 3.43,
      "volume_acceleration": 7.29,
      "premarket_volume": 1717120.0,
      "momentum_pct": -0.07,
      "consolidation_tightness_pct": 0.14,
      "distance_from_pm_high_pct": 0.14,
      "extension_from_vwap_pct": 0.05,
      "spread_pct": 0.14
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 7.39,
    "pm_low": 7.37
  },
  {
    "symbol": "RCAT",
    "total_score": 68.4,
    "raw_score": 72.51,
    "breakdown": {
      "price_quality": 3.87,
      "volume_quality": 12.0,
      "rvol": 2.96,
      "volume_acceleration": 3.25,
      "price_momentum": 0.68,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.96,
      "spread_liquidity": 4.62,
      "momentum_consistency": 3.17,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.865,
      "vwap": 8.8214,
      "vwap_slope": 0.0036,
      "rvol": 1.23,
      "volume_acceleration": 0.93,
      "premarket_volume": 616180.0,
      "momentum_pct": 0.45,
      "consolidation_tightness_pct": 0.57,
      "distance_from_pm_high_pct": 0.06,
      "extension_from_vwap_pct": 0.49,
      "spread_pct": 0.11
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 8.87,
    "pm_low": 8.78
  },
  {
    "symbol": "ONDS",
    "total_score": 67.35,
    "raw_score": 71.39,
    "breakdown": {
      "price_quality": 3.28,
      "volume_quality": 12.0,
      "rvol": 12.0,
      "volume_acceleration": 3.49,
      "price_momentum": 0.18,
      "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": 3.59,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.275,
      "vwap": 8.2459,
      "vwap_slope": 0.003,
      "rvol": 11.66,
      "volume_acceleration": 1.0,
      "premarket_volume": 5829467.0,
      "momentum_pct": 0.12,
      "consolidation_tightness_pct": 0.36,
      "distance_from_pm_high_pct": 0.18,
      "extension_from_vwap_pct": 0.35,
      "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.29,
    "pm_low": 8.22
  },
  {
    "symbol": "AI",
    "total_score": 67.2,
    "raw_score": 71.24,
    "breakdown": {
      "price_quality": 4.86,
      "volume_quality": 12.0,
      "rvol": 1.11,
      "volume_acceleration": 3.53,
      "price_momentum": 0.07,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.85,
      "spread_liquidity": 4.67,
      "momentum_consistency": 3.14,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.14,
      "vwap": 10.1336,
      "vwap_slope": 0.0006,
      "rvol": 0.46,
      "volume_acceleration": 1.01,
      "premarket_volume": 230953.0,
      "momentum_pct": 0.05,
      "consolidation_tightness_pct": 0.25,
      "distance_from_pm_high_pct": 0.2,
      "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": true,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 10.16,
    "pm_low": 10.115
  },
  {
    "symbol": "SUJA",
    "total_score": 67.13,
    "raw_score": 71.16,
    "breakdown": {
      "price_quality": 4.23,
      "volume_quality": 12.0,
      "rvol": 0.89,
      "volume_acceleration": 3.81,
      "price_momentum": 0.16,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.44,
      "spread_liquidity": 3.92,
      "momentum_consistency": 4.71,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.23,
      "vwap": 9.1692,
      "vwap_slope": 0.0361,
      "rvol": 0.37,
      "volume_acceleration": 1.38,
      "premarket_volume": 186170.0,
      "momentum_pct": 0.11,
      "consolidation_tightness_pct": 0.6,
      "distance_from_pm_high_pct": 0.75,
      "extension_from_vwap_pct": 0.66,
      "spread_pct": 0.32
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 9.3,
    "pm_low": 8.9537
  },
  {
    "symbol": "ALOY",
    "total_score": 66.9,
    "raw_score": 70.91,
    "breakdown": {
      "price_quality": 3.88,
      "volume_quality": 12.0,
      "rvol": 1.38,
      "volume_acceleration": 3.94,
      "price_momentum": 0.0,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.6,
      "spread_liquidity": 4.4,
      "momentum_consistency": 3.72,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.12,
      "vwap": 11.1078,
      "vwap_slope": 0.0028,
      "rvol": 0.57,
      "volume_acceleration": 1.13,
      "premarket_volume": 286805.0,
      "momentum_pct": -0.09,
      "consolidation_tightness_pct": 0.36,
      "distance_from_pm_high_pct": 0.54,
      "extension_from_vwap_pct": 0.11,
      "spread_pct": 0.18
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 11.18,
    "pm_low": 11.07
  },
  {
    "symbol": "NOK",
    "total_score": 66.87,
    "raw_score": 70.89,
    "breakdown": {
      "price_quality": 4.99,
      "volume_quality": 12.0,
      "rvol": 12.0,
      "volume_acceleration": 1.92,
      "price_momentum": 0.15,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 6,
      "spread_liquidity": 4.67,
      "momentum_consistency": 2.76,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.99,
      "vwap": 9.9748,
      "vwap_slope": 0.0009,
      "rvol": 7.53,
      "volume_acceleration": 0.55,
      "premarket_volume": 3763419.0,
      "momentum_pct": 0.1,
      "consolidation_tightness_pct": 0.2,
      "distance_from_pm_high_pct": 0.0,
      "extension_from_vwap_pct": 0.15,
      "spread_pct": 0.1
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 9.99,
    "pm_low": 9.96
  },
  {
    "symbol": "RMAX",
    "total_score": 66.61,
    "raw_score": 70.61,
    "breakdown": {
      "price_quality": 3.15,
      "volume_quality": 12.0,
      "rvol": 1.78,
      "volume_acceleration": 3.32,
      "price_momentum": 0.7,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.31,
      "spread_liquidity": 4.72,
      "momentum_consistency": 3.62,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.85,
      "vwap": 11.5552,
      "vwap_slope": 0.0672,
      "rvol": 0.74,
      "volume_acceleration": 0.96,
      "premarket_volume": 371028.0,
      "momentum_pct": 0.47,
      "consolidation_tightness_pct": 2.29,
      "distance_from_pm_high_pct": 0.92,
      "extension_from_vwap_pct": 2.55,
      "spread_pct": 0.08
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 11.96,
    "pm_low": 11.28
  },
  {
    "symbol": "XRAY",
    "total_score": 66.44,
    "raw_score": 70.42,
    "breakdown": {
      "price_quality": 4.06,
      "volume_quality": 12.0,
      "rvol": 1.85,
      "volume_acceleration": 3.09,
      "price_momentum": 0.27,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.97,
      "spread_liquidity": 4.7,
      "momentum_consistency": 2.48,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.935,
      "vwap": 10.9047,
      "vwap_slope": 0.004,
      "rvol": 0.77,
      "volume_acceleration": 0.89,
      "premarket_volume": 385342.0,
      "momentum_pct": 0.18,
      "consolidation_tightness_pct": 0.27,
      "distance_from_pm_high_pct": 0.05,
      "extension_from_vwap_pct": 0.28,
      "spread_pct": 0.09
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 10.94,
    "pm_low": 10.865
  },
  {
    "symbol": "KRO",
    "total_score": 66.22,
    "raw_score": 70.19,
    "breakdown": {
      "price_quality": 3.82,
      "volume_quality": 5.04,
      "rvol": 0.2,
      "volume_acceleration": 10,
      "price_momentum": 1.07,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.94,
      "spread_liquidity": 4.62,
      "momentum_consistency": 3.5,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.8225,
      "vwap": 8.7483,
      "vwap_slope": 0.0363,
      "rvol": 0.08,
      "volume_acceleration": 2.35,
      "premarket_volume": 42022.0,
      "momentum_pct": 0.71,
      "consolidation_tightness_pct": 0.8,
      "distance_from_pm_high_pct": 0.08,
      "extension_from_vwap_pct": 0.85,
      "spread_pct": 0.11
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 8.83,
    "pm_low": 8.675
  },
  {
    "symbol": "CWH",
    "total_score": 66.17,
    "raw_score": 70.14,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 11.2,
      "rvol": 0.45,
      "volume_acceleration": 7.81,
      "price_momentum": 0.12,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.83,
      "spread_liquidity": 4.48,
      "momentum_consistency": 2.77,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.415,
      "vwap": 6.4055,
      "vwap_slope": 0.0062,
      "rvol": 0.19,
      "volume_acceleration": 1.78,
      "premarket_volume": 93316.0,
      "momentum_pct": 0.08,
      "consolidation_tightness_pct": 0.39,
      "distance_from_pm_high_pct": 0.23,
      "extension_from_vwap_pct": 0.15,
      "spread_pct": 0.16
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 6.43,
    "pm_low": 6.37
  },
  {
    "symbol": "RKT",
    "total_score": 66.08,
    "raw_score": 70.04,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 12.0,
      "volume_acceleration": 3.64,
      "price_momentum": 0.32,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.97,
      "spread_liquidity": 4.76,
      "momentum_consistency": 3.45,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.075,
      "vwap": 14.0239,
      "vwap_slope": 0.0096,
      "rvol": 4.9,
      "volume_acceleration": 1.05,
      "premarket_volume": 2449614.0,
      "momentum_pct": 0.21,
      "consolidation_tightness_pct": 0.28,
      "distance_from_pm_high_pct": 0.04,
      "extension_from_vwap_pct": 0.36,
      "spread_pct": 0.07
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 14.08,
    "pm_low": 13.93
  },
  {
    "symbol": "VALE",
    "total_score": 65.96,
    "raw_score": 69.92,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 10.96,
      "volume_acceleration": 5.71,
      "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.78,
      "momentum_consistency": 2.62,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.995,
      "vwap": 14.9654,
      "vwap_slope": 0.0057,
      "rvol": 4.11,
      "volume_acceleration": 1.57,
      "premarket_volume": 2054109.0,
      "momentum_pct": -0.07,
      "consolidation_tightness_pct": 0.17,
      "distance_from_pm_high_pct": 0.07,
      "extension_from_vwap_pct": 0.2,
      "spread_pct": 0.07
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 15.005,
    "pm_low": 14.94
  },
  {
    "symbol": "VYX",
    "total_score": 65.43,
    "raw_score": 69.36,
    "breakdown": {
      "price_quality": 2.95,
      "volume_quality": 12.0,
      "rvol": 0.97,
      "volume_acceleration": 3.95,
      "price_momentum": 0.47,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.95,
      "spread_liquidity": 4.58,
      "momentum_consistency": 2.48,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.945,
      "vwap": 7.9266,
      "vwap_slope": 0.0011,
      "rvol": 0.4,
      "volume_acceleration": 1.14,
      "premarket_volume": 201851.0,
      "momentum_pct": 0.32,
      "consolidation_tightness_pct": 0.38,
      "distance_from_pm_high_pct": 0.06,
      "extension_from_vwap_pct": 0.23,
      "spread_pct": 0.13
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 7.95,
    "pm_low": 7.885
  },
  {
    "symbol": "FWDI",
    "total_score": 65.34,
    "raw_score": 69.26,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 1.81,
      "volume_acceleration": 3.62,
      "price_momentum": 0.4,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.93,
      "spread_liquidity": 4.41,
      "momentum_consistency": 3.59,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.705,
      "vwap": 5.6455,
      "vwap_slope": 0.0077,
      "rvol": 0.75,
      "volume_acceleration": 1.04,
      "premarket_volume": 376186.0,
      "momentum_pct": 0.26,
      "consolidation_tightness_pct": 1.05,
      "distance_from_pm_high_pct": 0.09,
      "extension_from_vwap_pct": 1.05,
      "spread_pct": 0.18
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 5.71,
    "pm_low": 5.61
  },
  {
    "symbol": "RDW",
    "total_score": 65.25,
    "raw_score": 69.16,
    "breakdown": {
      "price_quality": 3.5,
      "volume_quality": 12.0,
      "rvol": 5.02,
      "volume_acceleration": 9.14,
      "price_momentum": 0.13,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.64,
      "spread_liquidity": 4.71,
      "momentum_consistency": 2.62,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.5,
      "vwap": 11.4762,
      "vwap_slope": 0.0002,
      "rvol": 1.88,
      "volume_acceleration": 1.91,
      "premarket_volume": 940404.0,
      "momentum_pct": 0.09,
      "consolidation_tightness_pct": 0.39,
      "distance_from_pm_high_pct": 0.48,
      "extension_from_vwap_pct": 0.21,
      "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.555,
    "pm_low": 11.42
  },
  {
    "symbol": "KLAR",
    "total_score": 64.94,
    "raw_score": 68.84,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 2.38,
      "volume_acceleration": 3.41,
      "price_momentum": 0.11,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.92,
      "spread_liquidity": 4.76,
      "momentum_consistency": 2.76,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.095,
      "vwap": 14.0865,
      "vwap_slope": 0.0025,
      "rvol": 0.99,
      "volume_acceleration": 0.98,
      "premarket_volume": 496011.0,
      "momentum_pct": 0.07,
      "consolidation_tightness_pct": 0.15,
      "distance_from_pm_high_pct": 0.11,
      "extension_from_vwap_pct": 0.06,
      "spread_pct": 0.07
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 14.11,
    "pm_low": 14.06
  },
  {
    "symbol": "SOUN",
    "total_score": 64.76,
    "raw_score": 68.65,
    "breakdown": {
      "price_quality": 2.08,
      "volume_quality": 12.0,
      "rvol": 11.43,
      "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.79,
      "spread_liquidity": 4.53,
      "momentum_consistency": 3.03,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.085,
      "vwap": 7.0655,
      "vwap_slope": 0.0052,
      "rvol": 4.29,
      "volume_acceleration": 1.34,
      "premarket_volume": 2142735.0,
      "momentum_pct": -0.07,
      "consolidation_tightness_pct": 0.56,
      "distance_from_pm_high_pct": 0.28,
      "extension_from_vwap_pct": 0.28,
      "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.105,
    "pm_low": 7.04
  },
  {
    "symbol": "GO",
    "total_score": 64.74,
    "raw_score": 68.63,
    "breakdown": {
      "price_quality": 3.05,
      "volume_quality": 12.0,
      "rvol": 1.82,
      "volume_acceleration": 2.19,
      "price_momentum": 0.0,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.81,
      "spread_liquidity": 4.72,
      "momentum_consistency": 3.03,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.945,
      "vwap": 11.9145,
      "vwap_slope": 0.0107,
      "rvol": 0.76,
      "volume_acceleration": 0.63,
      "premarket_volume": 378983.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.29,
      "distance_from_pm_high_pct": 0.25,
      "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": true,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 11.975,
    "pm_low": 11.835
  },
  {
    "symbol": "VELO",
    "total_score": 64.54,
    "raw_score": 68.41,
    "breakdown": {
      "price_quality": 2.46,
      "volume_quality": 12.0,
      "rvol": 0.54,
      "volume_acceleration": 4.16,
      "price_momentum": 0.06,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.58,
      "spread_liquidity": 4.47,
      "momentum_consistency": 3.14,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.54,
      "vwap": 12.5287,
      "vwap_slope": 0.0025,
      "rvol": 0.22,
      "volume_acceleration": 1.42,
      "premarket_volume": 112496.0,
      "momentum_pct": 0.04,
      "consolidation_tightness_pct": 0.48,
      "distance_from_pm_high_pct": 0.56,
      "extension_from_vwap_pct": 0.09,
      "spread_pct": 0.16
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 12.61,
    "pm_low": 12.46
  },
  {
    "symbol": "SNAP",
    "total_score": 64.47,
    "raw_score": 68.34,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 12.0,
      "volume_acceleration": 3.36,
      "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.39,
      "momentum_consistency": 2.76,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.465,
      "vwap": 5.4505,
      "vwap_slope": 0.0021,
      "rvol": 6.89,
      "volume_acceleration": 0.97,
      "premarket_volume": 3446219.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.37,
      "distance_from_pm_high_pct": 0.09,
      "extension_from_vwap_pct": 0.27,
      "spread_pct": 0.18
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 5.47,
    "pm_low": 5.43
  },
  {
    "symbol": "MNRO",
    "total_score": 64.17,
    "raw_score": 68.02,
    "breakdown": {
      "price_quality": 2.18,
      "volume_quality": 12.0,
      "rvol": 0.68,
      "volume_acceleration": 4.13,
      "price_momentum": 0.35,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 6,
      "spread_liquidity": 4.48,
      "momentum_consistency": 2.2,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.82,
      "vwap": 12.7921,
      "vwap_slope": 0.0057,
      "rvol": 0.28,
      "volume_acceleration": 1.41,
      "premarket_volume": 141683.0,
      "momentum_pct": 0.23,
      "consolidation_tightness_pct": 0.31,
      "distance_from_pm_high_pct": 0.0,
      "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.82,
    "pm_low": 12.73
  },
  {
    "symbol": "FLO",
    "total_score": 64.14,
    "raw_score": 67.99,
    "breakdown": {
      "price_quality": 2.28,
      "volume_quality": 12.0,
      "rvol": 5.53,
      "volume_acceleration": 8.37,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.69,
      "spread_liquidity": 4.54,
      "momentum_consistency": 3.17,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.275,
      "vwap": 7.264,
      "vwap_slope": 0.0089,
      "rvol": 2.07,
      "volume_acceleration": 1.84,
      "premarket_volume": 1037174.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.48,
      "distance_from_pm_high_pct": 0.41,
      "extension_from_vwap_pct": 0.15,
      "spread_pct": 0.14
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 7.305,
    "pm_low": 7.18
  },
  {
    "symbol": "EQX",
    "total_score": 64.1,
    "raw_score": 67.94,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 6.87,
      "volume_acceleration": 7.35,
      "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.76,
      "momentum_consistency": 3.31,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.75,
      "vwap": 13.7194,
      "vwap_slope": 0.0271,
      "rvol": 2.58,
      "volume_acceleration": 1.74,
      "premarket_volume": 1287611.0,
      "momentum_pct": -0.04,
      "consolidation_tightness_pct": 0.25,
      "distance_from_pm_high_pct": 0.33,
      "extension_from_vwap_pct": 0.22,
      "spread_pct": 0.07
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 13.795,
    "pm_low": 13.635
  },
  {
    "symbol": "OGN",
    "total_score": 64.08,
    "raw_score": 67.93,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 0.69,
      "volume_acceleration": 4.48,
      "price_momentum": 0.22,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 6,
      "spread_liquidity": 4.76,
      "momentum_consistency": 2.29,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.75,
      "vwap": 13.7379,
      "vwap_slope": 0.0008,
      "rvol": 0.29,
      "volume_acceleration": 1.45,
      "premarket_volume": 143740.0,
      "momentum_pct": 0.15,
      "consolidation_tightness_pct": 0.15,
      "distance_from_pm_high_pct": 0.0,
      "extension_from_vwap_pct": 0.09,
      "spread_pct": 0.07
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 13.75,
    "pm_low": 13.73
  },
  {
    "symbol": "NAVI",
    "total_score": 63.94,
    "raw_score": 67.77,
    "breakdown": {
      "price_quality": 4.37,
      "volume_quality": 7.69,
      "rvol": 0.31,
      "volume_acceleration": 5.93,
      "price_momentum": 0.27,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.82,
      "spread_liquidity": 4.65,
      "momentum_consistency": 2.73,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.372,
      "vwap": 9.3639,
      "vwap_slope": 0.0064,
      "rvol": 0.13,
      "volume_acceleration": 1.59,
      "premarket_volume": 64099.0,
      "momentum_pct": 0.18,
      "consolidation_tightness_pct": 0.32,
      "distance_from_pm_high_pct": 0.24,
      "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": true,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 9.395,
    "pm_low": 9.33
  },
  {
    "symbol": "DEI",
    "total_score": 63.94,
    "raw_score": 67.77,
    "breakdown": {
      "price_quality": 3.01,
      "volume_quality": 12.0,
      "rvol": 0.53,
      "volume_acceleration": 10,
      "price_momentum": 0.31,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.93,
      "spread_liquidity": 4.72,
      "momentum_consistency": 2.47,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.995,
      "vwap": 11.9861,
      "vwap_slope": -0.0034,
      "rvol": 0.22,
      "volume_acceleration": 2.21,
      "premarket_volume": 110052.0,
      "momentum_pct": 0.21,
      "consolidation_tightness_pct": 0.21,
      "distance_from_pm_high_pct": 0.09,
      "extension_from_vwap_pct": 0.07,
      "spread_pct": 0.08
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 12.0059,
    "pm_low": 11.965
  },
  {
    "symbol": "NEOG",
    "total_score": 63.85,
    "raw_score": 67.68,
    "breakdown": {
      "price_quality": 3.38,
      "volume_quality": 10.51,
      "rvol": 0.42,
      "volume_acceleration": 3.71,
      "price_momentum": 0.13,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.97,
      "spread_liquidity": 4.71,
      "momentum_consistency": 2.86,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.625,
      "vwap": 11.6086,
      "vwap_slope": 0.0054,
      "rvol": 0.18,
      "volume_acceleration": 1.07,
      "premarket_volume": 87550.0,
      "momentum_pct": 0.09,
      "consolidation_tightness_pct": 0.09,
      "distance_from_pm_high_pct": 0.04,
      "extension_from_vwap_pct": 0.14,
      "spread_pct": 0.09
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 11.63,
    "pm_low": 11.575
  },
  {
    "symbol": "VERX",
    "total_score": 63.64,
    "raw_score": 67.46,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 0.53,
      "volume_acceleration": 3.37,
      "price_momentum": 0.33,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.95,
      "spread_liquidity": 4.76,
      "momentum_consistency": 3.03,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.685,
      "vwap": 13.6405,
      "vwap_slope": 0.0091,
      "rvol": 0.22,
      "volume_acceleration": 1.34,
      "premarket_volume": 109984.0,
      "momentum_pct": 0.22,
      "consolidation_tightness_pct": 0.37,
      "distance_from_pm_high_pct": 0.07,
      "extension_from_vwap_pct": 0.33,
      "spread_pct": 0.07
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 13.695,
    "pm_low": 13.58
  },
  {
    "symbol": "BTG",
    "total_score": 63.51,
    "raw_score": 67.32,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 12.0,
      "volume_acceleration": 2.11,
      "price_momentum": 0.13,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.87,
      "spread_liquidity": 4.42,
      "momentum_consistency": 2.9,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.71,
      "vwap": 5.685,
      "vwap_slope": 0.0047,
      "rvol": 12.48,
      "volume_acceleration": 0.61,
      "premarket_volume": 6241058.0,
      "momentum_pct": 0.09,
      "consolidation_tightness_pct": 0.35,
      "distance_from_pm_high_pct": 0.17,
      "extension_from_vwap_pct": 0.44,
      "spread_pct": 0.17
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 5.72,
    "pm_low": 5.665
  },
  {
    "symbol": "MBC",
    "total_score": 63.41,
    "raw_score": 67.22,
    "breakdown": {
      "price_quality": 4.24,
      "volume_quality": 12.0,
      "rvol": 0.6,
      "volume_acceleration": 10,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.88,
      "spread_liquidity": 4.64,
      "momentum_consistency": 3.45,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.245,
      "vwap": 9.2219,
      "vwap_slope": 0.031,
      "rvol": 0.25,
      "volume_acceleration": 2.19,
      "premarket_volume": 125349.0,
      "momentum_pct": -0.11,
      "consolidation_tightness_pct": 0.22,
      "distance_from_pm_high_pct": 0.16,
      "extension_from_vwap_pct": 0.25,
      "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.26,
    "pm_low": 9.15
  },
  {
    "symbol": "BRBR",
    "total_score": 63.11,
    "raw_score": 66.9,
    "breakdown": {
      "price_quality": 4.19,
      "volume_quality": 12.0,
      "rvol": 2.04,
      "volume_acceleration": 6.14,
      "price_momentum": 0.49,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.69,
      "spread_liquidity": 4.38,
      "momentum_consistency": 3.17,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.81,
      "vwap": 10.8004,
      "vwap_slope": -0.0015,
      "rvol": 0.85,
      "volume_acceleration": 1.61,
      "premarket_volume": 423980.0,
      "momentum_pct": 0.32,
      "consolidation_tightness_pct": 0.69,
      "distance_from_pm_high_pct": 0.41,
      "extension_from_vwap_pct": 0.09,
      "spread_pct": 0.18
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 10.855,
    "pm_low": 10.75
  },
  {
    "symbol": "ARDT",
    "total_score": 63.02,
    "raw_score": 66.8,
    "breakdown": {
      "price_quality": 3.84,
      "volume_quality": 11.38,
      "rvol": 0.46,
      "volume_acceleration": 10,
      "price_momentum": 0.54,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.5,
      "spread_liquidity": 4.1,
      "momentum_consistency": 2.18,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.16,
      "vwap": 11.1482,
      "vwap_slope": -0.0457,
      "rvol": 0.19,
      "volume_acceleration": 4.75,
      "premarket_volume": 94852.0,
      "momentum_pct": 0.36,
      "consolidation_tightness_pct": 0.36,
      "distance_from_pm_high_pct": 0.67,
      "extension_from_vwap_pct": 0.11,
      "spread_pct": 0.27
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 11.235,
    "pm_low": 11.0901
  },
  {
    "symbol": "LEG",
    "total_score": 62.75,
    "raw_score": 66.51,
    "breakdown": {
      "price_quality": 4.36,
      "volume_quality": 12.0,
      "rvol": 1.24,
      "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.64,
      "momentum_consistency": 2.07,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.36,
      "vwap": 9.3515,
      "vwap_slope": 0.0089,
      "rvol": 0.52,
      "volume_acceleration": 2.38,
      "premarket_volume": 258486.0,
      "momentum_pct": -0.16,
      "consolidation_tightness_pct": 0.59,
      "distance_from_pm_high_pct": 0.27,
      "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": true,
      "vwap_rising": true
    },
    "pm_high": 9.385,
    "pm_low": 9.32
  },
  {
    "symbol": "OWL",
    "total_score": 62.16,
    "raw_score": 65.89,
    "breakdown": {
      "price_quality": 3.28,
      "volume_quality": 12.0,
      "rvol": 5.39,
      "volume_acceleration": 4.91,
      "price_momentum": 0.13,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.9,
      "spread_liquidity": 4.72,
      "momentum_consistency": 3.17,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.725,
      "vwap": 11.709,
      "vwap_slope": 0.0034,
      "rvol": 2.02,
      "volume_acceleration": 1.49,
      "premarket_volume": 1010686.0,
      "momentum_pct": 0.09,
      "consolidation_tightness_pct": 0.17,
      "distance_from_pm_high_pct": 0.13,
      "extension_from_vwap_pct": 0.14,
      "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.74,
    "pm_low": 11.67
  },
  {
    "symbol": "AGNC",
    "total_score": 62.12,
    "raw_score": 65.85,
    "breakdown": {
      "price_quality": 4.02,
      "volume_quality": 12.0,
      "rvol": 8.03,
      "volume_acceleration": 2.08,
      "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.7,
      "momentum_consistency": 2.76,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.98,
      "vwap": 10.9795,
      "vwap_slope": 0.0004,
      "rvol": 3.01,
      "volume_acceleration": 0.6,
      "premarket_volume": 1505243.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.09,
      "distance_from_pm_high_pct": 0.18,
      "extension_from_vwap_pct": 0.0,
      "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.0,
    "pm_low": 10.96
  },
  {
    "symbol": "LZ",
    "total_score": 61.96,
    "raw_score": 65.67,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 3.12,
      "volume_acceleration": 10,
      "price_momentum": 0.25,
      "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": 2.21,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.005,
      "vwap": 5.9551,
      "vwap_slope": 0.0126,
      "rvol": 1.3,
      "volume_acceleration": 2.62,
      "premarket_volume": 650367.0,
      "momentum_pct": 0.17,
      "consolidation_tightness_pct": 0.25,
      "distance_from_pm_high_pct": 0.33,
      "extension_from_vwap_pct": 0.84,
      "spread_pct": 0.17
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 6.025,
    "pm_low": 5.895
  },
  {
    "symbol": "BLMN",
    "total_score": 61.92,
    "raw_score": 65.64,
    "breakdown": {
      "price_quality": 3.57,
      "volume_quality": 12.0,
      "rvol": 0.76,
      "volume_acceleration": 8.83,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.77,
      "spread_liquidity": 4.71,
      "momentum_consistency": 3.59,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.425,
      "vwap": 11.4165,
      "vwap_slope": 0.0046,
      "rvol": 0.32,
      "volume_acceleration": 1.88,
      "premarket_volume": 158190.0,
      "momentum_pct": -0.04,
      "consolidation_tightness_pct": 0.22,
      "distance_from_pm_high_pct": 0.31,
      "extension_from_vwap_pct": 0.07,
      "spread_pct": 0.09
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 11.46,
    "pm_low": 11.36
  },
  {
    "symbol": "SBET",
    "total_score": 61.71,
    "raw_score": 65.41,
    "breakdown": {
      "price_quality": 3.25,
      "volume_quality": 12.0,
      "rvol": 2.94,
      "volume_acceleration": 6.54,
      "price_momentum": 0.18,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.92,
      "spread_liquidity": 4.6,
      "momentum_consistency": 3.59,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.25,
      "vwap": 8.2075,
      "vwap_slope": 0.013,
      "rvol": 1.22,
      "volume_acceleration": 1.65,
      "premarket_volume": 611926.0,
      "momentum_pct": 0.12,
      "consolidation_tightness_pct": 0.41,
      "distance_from_pm_high_pct": 0.11,
      "extension_from_vwap_pct": 0.52,
      "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.259,
    "pm_low": 8.14
  },
  {
    "symbol": "VSTS",
    "total_score": 61.69,
    "raw_score": 65.39,
    "breakdown": {
      "price_quality": 2.22,
      "volume_quality": 8.75,
      "rvol": 0.35,
      "volume_acceleration": 3.01,
      "price_momentum": 0.12,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 6,
      "spread_liquidity": 4.74,
      "momentum_consistency": 4.2,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.78,
      "vwap": 12.7564,
      "vwap_slope": 0.0036,
      "rvol": 0.15,
      "volume_acceleration": 1.3,
      "premarket_volume": 72927.0,
      "momentum_pct": 0.08,
      "consolidation_tightness_pct": 0.12,
      "distance_from_pm_high_pct": 0.0,
      "extension_from_vwap_pct": 0.19,
      "spread_pct": 0.08
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 12.78,
    "pm_low": 12.72
  },
  {
    "symbol": "BHC",
    "total_score": 61.46,
    "raw_score": 65.15,
    "breakdown": {
      "price_quality": 1.59,
      "volume_quality": 12.0,
      "rvol": 1.84,
      "volume_acceleration": 10,
      "price_momentum": 0.11,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.55,
      "spread_liquidity": 4.49,
      "momentum_consistency": 3.17,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.59,
      "vwap": 6.5884,
      "vwap_slope": 0.0018,
      "rvol": 0.76,
      "volume_acceleration": 2.63,
      "premarket_volume": 382447.0,
      "momentum_pct": 0.08,
      "consolidation_tightness_pct": 0.3,
      "distance_from_pm_high_pct": 0.6,
      "extension_from_vwap_pct": 0.02,
      "spread_pct": 0.15
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 6.63,
    "pm_low": 6.551
  },
  {
    "symbol": "FPI",
    "total_score": 60.76,
    "raw_score": 64.4,
    "breakdown": {
      "price_quality": 4.65,
      "volume_quality": 6.64,
      "rvol": 0.27,
      "volume_acceleration": 2.57,
      "price_momentum": 0.44,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.96,
      "spread_liquidity": 4.68,
      "momentum_consistency": 3.2,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.345,
      "vwap": 10.3165,
      "vwap_slope": 0.008,
      "rvol": 0.11,
      "volume_acceleration": 0.74,
      "premarket_volume": 55318.0,
      "momentum_pct": 0.29,
      "consolidation_tightness_pct": 0.34,
      "distance_from_pm_high_pct": 0.05,
      "extension_from_vwap_pct": 0.28,
      "spread_pct": 0.1
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 10.35,
    "pm_low": 10.285
  },
  {
    "symbol": "QDEL",
    "total_score": 60.54,
    "raw_score": 64.17,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 0.74,
      "volume_acceleration": 10,
      "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.31,
      "momentum_consistency": 3.17,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.505,
      "vwap": 14.3793,
      "vwap_slope": 0.0239,
      "rvol": 0.31,
      "volume_acceleration": 2.03,
      "premarket_volume": 154181.0,
      "momentum_pct": 0.03,
      "consolidation_tightness_pct": 0.17,
      "distance_from_pm_high_pct": 0.0,
      "extension_from_vwap_pct": 0.87,
      "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.505,
    "pm_low": 14.2
  },
  {
    "symbol": "RSKD",
    "total_score": 60.35,
    "raw_score": 63.97,
    "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.87,
      "spread_liquidity": 4.44,
      "momentum_consistency": 3.04,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.925,
      "vwap": 5.9191,
      "vwap_slope": 0.0039,
      "rvol": 0.3,
      "volume_acceleration": 4.47,
      "premarket_volume": 149039.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.42,
      "distance_from_pm_high_pct": 0.17,
      "extension_from_vwap_pct": 0.1,
      "spread_pct": 0.17
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 5.935,
    "pm_low": 5.9
  },
  {
    "symbol": "TROX",
    "total_score": 60.34,
    "raw_score": 63.96,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 0.81,
      "volume_acceleration": 10,
      "price_momentum": 0.14,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.86,
      "spread_liquidity": 4.39,
      "momentum_consistency": 2.86,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.455,
      "vwap": 5.4097,
      "vwap_slope": 0.0155,
      "rvol": 0.34,
      "volume_acceleration": 2.89,
      "premarket_volume": 169489.0,
      "momentum_pct": 0.09,
      "consolidation_tightness_pct": 0.44,
      "distance_from_pm_high_pct": 0.18,
      "extension_from_vwap_pct": 0.84,
      "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.465,
    "pm_low": 5.375
  },
  {
    "symbol": "IE",
    "total_score": 60.34,
    "raw_score": 63.97,
    "breakdown": {
      "price_quality": 3.76,
      "volume_quality": 12.0,
      "rvol": 0.77,
      "volume_acceleration": 6.66,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.83,
      "spread_liquidity": 4.7,
      "momentum_consistency": 3.85,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.245,
      "vwap": 11.2214,
      "vwap_slope": 0.0128,
      "rvol": 0.32,
      "volume_acceleration": 1.67,
      "premarket_volume": 159431.0,
      "momentum_pct": -0.09,
      "consolidation_tightness_pct": 0.36,
      "distance_from_pm_high_pct": 0.22,
      "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": true,
      "vwap_rising": true
    },
    "pm_high": 11.27,
    "pm_low": 11.175
  },
  {
    "symbol": "AHCO",
    "total_score": 60.3,
    "raw_score": 63.92,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 0.74,
      "volume_acceleration": 10,
      "price_momentum": 0.54,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.87,
      "spread_liquidity": 4.4,
      "momentum_consistency": 2.47,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.615,
      "vwap": 5.5963,
      "vwap_slope": 0.0014,
      "rvol": 0.31,
      "volume_acceleration": 2.34,
      "premarket_volume": 153289.0,
      "momentum_pct": 0.36,
      "consolidation_tightness_pct": 0.71,
      "distance_from_pm_high_pct": 0.18,
      "extension_from_vwap_pct": 0.33,
      "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.625,
    "pm_low": 5.575
  },
  {
    "symbol": "JOBY",
    "total_score": 60.19,
    "raw_score": 63.8,
    "breakdown": {
      "price_quality": 2.29,
      "volume_quality": 12.0,
      "rvol": 12.0,
      "volume_acceleration": 3.04,
      "price_momentum": 0.21,
      "price_structure": 12,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.24,
      "spread_liquidity": 4.54,
      "momentum_consistency": 2.48,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.295,
      "vwap": 7.314,
      "vwap_slope": -0.0085,
      "rvol": 5.21,
      "volume_acceleration": 0.87,
      "premarket_volume": 2607242.0,
      "momentum_pct": 0.14,
      "consolidation_tightness_pct": 0.41,
      "distance_from_pm_high_pct": 1.02,
      "extension_from_vwap_pct": -0.26,
      "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": false,
      "vwap_rising": false
    },
    "pm_high": 7.37,
    "pm_low": 7.27
  },
  {
    "symbol": "APPS",
    "total_score": 60.03,
    "raw_score": 63.63,
    "breakdown": {
      "price_quality": 4.23,
      "volume_quality": 12.0,
      "rvol": 1.25,
      "volume_acceleration": 3.77,
      "price_momentum": 1.58,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.79,
      "spread_liquidity": 4.38,
      "momentum_consistency": 1.82,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.77,
      "vwap": 10.7317,
      "vwap_slope": -0.0092,
      "rvol": 0.52,
      "volume_acceleration": 1.08,
      "premarket_volume": 259560.0,
      "momentum_pct": 1.06,
      "consolidation_tightness_pct": 1.47,
      "distance_from_pm_high_pct": 0.28,
      "extension_from_vwap_pct": 0.36,
      "spread_pct": 0.19
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 10.8,
    "pm_low": 10.64
  },
  {
    "symbol": "EXK",
    "total_score": 59.97,
    "raw_score": 63.57,
    "breakdown": {
      "price_quality": 4.23,
      "volume_quality": 12.0,
      "rvol": 5.17,
      "volume_acceleration": 1.83,
      "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.69,
      "momentum_consistency": 3.45,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.765,
      "vwap": 10.7488,
      "vwap_slope": 0.0088,
      "rvol": 1.94,
      "volume_acceleration": 1.18,
      "premarket_volume": 969665.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.19,
      "distance_from_pm_high_pct": 0.28,
      "extension_from_vwap_pct": 0.15,
      "spread_pct": 0.09
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 10.795,
    "pm_low": 10.7
  },
  {
    "symbol": "WU",
    "total_score": 59.96,
    "raw_score": 63.56,
    "breakdown": {
      "price_quality": 2.37,
      "volume_quality": 12.0,
      "rvol": 7.24,
      "volume_acceleration": 2.45,
      "price_momentum": 0.18,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.89,
      "spread_liquidity": 4.55,
      "momentum_consistency": 2.48,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.369,
      "vwap": 7.3604,
      "vwap_slope": 0.0004,
      "rvol": 2.71,
      "volume_acceleration": 0.71,
      "premarket_volume": 1356709.0,
      "momentum_pct": 0.12,
      "consolidation_tightness_pct": 0.27,
      "distance_from_pm_high_pct": 0.15,
      "extension_from_vwap_pct": 0.12,
      "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.38,
    "pm_low": 7.34
  },
  {
    "symbol": "AIAI",
    "total_score": 59.62,
    "raw_score": 63.19,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 9.18,
      "rvol": 0.37,
      "volume_acceleration": 3.86,
      "price_momentum": 0.21,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.69,
      "spread_liquidity": 3.15,
      "momentum_consistency": 3.23,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.4075,
      "vwap": 5.36,
      "vwap_slope": 0.0135,
      "rvol": 0.15,
      "volume_acceleration": 1.11,
      "premarket_volume": 76519.0,
      "momentum_pct": 0.14,
      "consolidation_tightness_pct": 0.6,
      "distance_from_pm_high_pct": 0.41,
      "extension_from_vwap_pct": 0.89,
      "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": 5.43,
    "pm_low": 5.32
  },
  {
    "symbol": "ATEC",
    "total_score": 59.53,
    "raw_score": 63.1,
    "breakdown": {
      "price_quality": 4.35,
      "volume_quality": 12.0,
      "rvol": 0.81,
      "volume_acceleration": 5.82,
      "price_momentum": 0.64,
      "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.48,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.345,
      "vwap": 9.2925,
      "vwap_slope": 0.0154,
      "rvol": 0.34,
      "volume_acceleration": 1.58,
      "premarket_volume": 167979.0,
      "momentum_pct": 0.43,
      "consolidation_tightness_pct": 0.54,
      "distance_from_pm_high_pct": 0.05,
      "extension_from_vwap_pct": 0.57,
      "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.35,
    "pm_low": 9.23
  },
  {
    "symbol": "CLF",
    "total_score": 59.0,
    "raw_score": 62.54,
    "breakdown": {
      "price_quality": 3.72,
      "volume_quality": 12.0,
      "rvol": 9.39,
      "volume_acceleration": 3.9,
      "price_momentum": 0.4,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.83,
      "spread_liquidity": 4.7,
      "momentum_consistency": 3.39,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.275,
      "vwap": 11.2571,
      "vwap_slope": -0.0003,
      "rvol": 3.52,
      "volume_acceleration": 1.12,
      "premarket_volume": 1760620.0,
      "momentum_pct": 0.27,
      "consolidation_tightness_pct": 0.27,
      "distance_from_pm_high_pct": 0.22,
      "extension_from_vwap_pct": 0.16,
      "spread_pct": 0.09
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 11.3,
    "pm_low": 11.23
  },
  {
    "symbol": "ALMU",
    "total_score": 58.82,
    "raw_score": 62.35,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 8.09,
      "rvol": 0.32,
      "volume_acceleration": 2.38,
      "price_momentum": 0.68,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.74,
      "spread_liquidity": 4.03,
      "momentum_consistency": 3.61,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.722,
      "vwap": 13.6747,
      "vwap_slope": 0.0059,
      "rvol": 0.13,
      "volume_acceleration": 0.69,
      "premarket_volume": 67381.0,
      "momentum_pct": 0.45,
      "consolidation_tightness_pct": 0.45,
      "distance_from_pm_high_pct": 0.35,
      "extension_from_vwap_pct": 0.35,
      "spread_pct": 0.29
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 13.77,
    "pm_low": 13.63
  },
  {
    "symbol": "EGY",
    "total_score": 58.8,
    "raw_score": 62.33,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 0.54,
      "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.42,
      "momentum_consistency": 1.66,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.775,
      "vwap": 5.7615,
      "vwap_slope": 0.0075,
      "rvol": 0.22,
      "volume_acceleration": 2.02,
      "premarket_volume": 112415.0,
      "momentum_pct": -0.24,
      "consolidation_tightness_pct": 0.24,
      "distance_from_pm_high_pct": 0.26,
      "extension_from_vwap_pct": 0.24,
      "spread_pct": 0.17
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 5.79,
    "pm_low": 5.741
  },
  {
    "symbol": "DNA",
    "total_score": 58.68,
    "raw_score": 62.2,
    "breakdown": {
      "price_quality": 1.84,
      "volume_quality": 12.0,
      "rvol": 0.5,
      "volume_acceleration": 8.72,
      "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": 2.29,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.845,
      "vwap": 6.801,
      "vwap_slope": 0.0196,
      "rvol": 0.21,
      "volume_acceleration": 1.87,
      "premarket_volume": 103988.0,
      "momentum_pct": 0.07,
      "consolidation_tightness_pct": 0.8,
      "distance_from_pm_high_pct": 0.22,
      "extension_from_vwap_pct": 0.65,
      "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.86,
    "pm_low": 6.755
  },
  {
    "symbol": "SWBI",
    "total_score": 58.63,
    "raw_score": 62.15,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 7.17,
      "rvol": 0.29,
      "volume_acceleration": 4.23,
      "price_momentum": 0.44,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.89,
      "spread_liquidity": 4.52,
      "momentum_consistency": 2.12,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.78,
      "vwap": 13.7431,
      "vwap_slope": 0.0028,
      "rvol": 0.12,
      "volume_acceleration": 1.42,
      "premarket_volume": 59783.0,
      "momentum_pct": 0.29,
      "consolidation_tightness_pct": 0.47,
      "distance_from_pm_high_pct": 0.14,
      "extension_from_vwap_pct": 0.27,
      "spread_pct": 0.15
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 13.8,
    "pm_low": 13.67
  },
  {
    "symbol": "PGEN",
    "total_score": 58.55,
    "raw_score": 62.06,
    "breakdown": {
      "price_quality": 2.13,
      "volume_quality": 12.0,
      "rvol": 1.0,
      "volume_acceleration": 7.74,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.84,
      "spread_liquidity": 4.53,
      "momentum_consistency": 2.42,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.13,
      "vwap": 7.1212,
      "vwap_slope": 0.0077,
      "rvol": 0.42,
      "volume_acceleration": 1.77,
      "premarket_volume": 208813.0,
      "momentum_pct": -0.21,
      "consolidation_tightness_pct": 0.21,
      "distance_from_pm_high_pct": 0.21,
      "extension_from_vwap_pct": 0.12,
      "spread_pct": 0.14
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 7.145,
    "pm_low": 7.1
  },
  {
    "symbol": "AURA",
    "total_score": 58.35,
    "raw_score": 61.85,
    "breakdown": {
      "price_quality": 2.94,
      "volume_quality": 9.12,
      "rvol": 0.36,
      "volume_acceleration": 10,
      "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.16,
      "momentum_consistency": 2.73,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.9372,
      "vwap": 7.8705,
      "vwap_slope": 0.0173,
      "rvol": 0.15,
      "volume_acceleration": 2.31,
      "premarket_volume": 76025.0,
      "momentum_pct": 0.09,
      "consolidation_tightness_pct": 1.16,
      "distance_from_pm_high_pct": 0.0,
      "extension_from_vwap_pct": 0.85,
      "spread_pct": 0.25
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 7.9372,
    "pm_low": 7.83
  },
  {
    "symbol": "PSKY",
    "total_score": 58.19,
    "raw_score": 61.68,
    "breakdown": {
      "price_quality": 4.54,
      "volume_quality": 12.0,
      "rvol": 7.63,
      "volume_acceleration": 2.01,
      "price_momentum": 0.14,
      "price_structure": 12,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.36,
      "spread_liquidity": 4.68,
      "momentum_consistency": 3.31,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.46,
      "vwap": 10.4831,
      "vwap_slope": -0.0059,
      "rvol": 2.86,
      "volume_acceleration": 1.2,
      "premarket_volume": 1431142.0,
      "momentum_pct": 0.1,
      "consolidation_tightness_pct": 0.3,
      "distance_from_pm_high_pct": 0.85,
      "extension_from_vwap_pct": -0.22,
      "spread_pct": 0.1
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 10.55,
    "pm_low": 10.41
  },
  {
    "symbol": "TRIP",
    "total_score": 57.89,
    "raw_score": 61.37,
    "breakdown": {
      "price_quality": 4.76,
      "volume_quality": 12.0,
      "rvol": 1.11,
      "volume_acceleration": 4.11,
      "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.67,
      "momentum_consistency": 2.21,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.245,
      "vwap": 10.2247,
      "vwap_slope": 0.0026,
      "rvol": 0.46,
      "volume_acceleration": 1.41,
      "premarket_volume": 232153.0,
      "momentum_pct": 0.1,
      "consolidation_tightness_pct": 0.24,
      "distance_from_pm_high_pct": 0.05,
      "extension_from_vwap_pct": 0.2,
      "spread_pct": 0.1
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 10.25,
    "pm_low": 10.19
  },
  {
    "symbol": "DC",
    "total_score": 57.88,
    "raw_score": 61.35,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 0.7,
      "volume_acceleration": 8.17,
      "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.46,
      "momentum_consistency": 2.24,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.155,
      "vwap": 6.1477,
      "vwap_slope": 0.0054,
      "rvol": 0.29,
      "volume_acceleration": 1.82,
      "premarket_volume": 146830.0,
      "momentum_pct": -0.08,
      "consolidation_tightness_pct": 0.08,
      "distance_from_pm_high_pct": 0.16,
      "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.165,
    "pm_low": 6.125
  },
  {
    "symbol": "SG",
    "total_score": 57.84,
    "raw_score": 61.31,
    "breakdown": {
      "price_quality": 1.92,
      "volume_quality": 12.0,
      "rvol": 2.19,
      "volume_acceleration": 6.17,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.73,
      "spread_liquidity": 4.52,
      "momentum_consistency": 2.39,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.915,
      "vwap": 6.8959,
      "vwap_slope": 0.0073,
      "rvol": 0.91,
      "volume_acceleration": 1.62,
      "premarket_volume": 455653.0,
      "momentum_pct": -0.14,
      "consolidation_tightness_pct": 0.36,
      "distance_from_pm_high_pct": 0.36,
      "extension_from_vwap_pct": 0.28,
      "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.94,
    "pm_low": 6.855
  },
  {
    "symbol": "GDYN",
    "total_score": 57.84,
    "raw_score": 61.31,
    "breakdown": {
      "price_quality": 2.88,
      "volume_quality": 6.18,
      "rvol": 0.25,
      "volume_acceleration": 2.79,
      "price_momentum": 0.08,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.9,
      "spread_liquidity": 4.58,
      "momentum_consistency": 2.67,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.879,
      "vwap": 7.8695,
      "vwap_slope": 0.0022,
      "rvol": 0.1,
      "volume_acceleration": 1.28,
      "premarket_volume": 51487.0,
      "momentum_pct": 0.05,
      "consolidation_tightness_pct": 0.18,
      "distance_from_pm_high_pct": 0.14,
      "extension_from_vwap_pct": 0.12,
      "spread_pct": 0.13
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 7.8899,
    "pm_low": 7.845
  },
  {
    "symbol": "LTRX",
    "total_score": 57.8,
    "raw_score": 61.27,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 7.06,
      "rvol": 0.28,
      "volume_acceleration": 3.39,
      "price_momentum": 0.39,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.93,
      "spread_liquidity": 4.42,
      "momentum_consistency": 2.29,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.715,
      "vwap": 5.6963,
      "vwap_slope": 0.003,
      "rvol": 0.12,
      "volume_acceleration": 0.98,
      "premarket_volume": 58839.0,
      "momentum_pct": 0.26,
      "consolidation_tightness_pct": 0.7,
      "distance_from_pm_high_pct": 0.09,
      "extension_from_vwap_pct": 0.33,
      "spread_pct": 0.17
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 5.72,
    "pm_low": 5.675
  },
  {
    "symbol": "NTSK",
    "total_score": 57.69,
    "raw_score": 61.15,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 0.97,
      "volume_acceleration": 3.71,
      "price_momentum": 0.0,
      "price_structure": 12,
      "vwap_structure": 1.2,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.84,
      "spread_liquidity": 4.76,
      "momentum_consistency": 3.17,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.075,
      "vwap": 14.0778,
      "vwap_slope": 0.0002,
      "rvol": 0.4,
      "volume_acceleration": 1.07,
      "premarket_volume": 201284.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.21,
      "distance_from_pm_high_pct": 0.21,
      "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": true,
      "price_above_vwap": false,
      "vwap_rising": true
    },
    "pm_high": 14.105,
    "pm_low": 14.045
  },
  {
    "symbol": "AVTR",
    "total_score": 57.62,
    "raw_score": 61.07,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 3.09,
      "volume_acceleration": 3.69,
      "price_momentum": 0.26,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 6,
      "spread_liquidity": 4.77,
      "momentum_consistency": 3.37,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.32,
      "vwap": 14.2696,
      "vwap_slope": 0.008,
      "rvol": 1.29,
      "volume_acceleration": 1.37,
      "premarket_volume": 642752.0,
      "momentum_pct": 0.17,
      "consolidation_tightness_pct": 0.24,
      "distance_from_pm_high_pct": 0.0,
      "extension_from_vwap_pct": 0.35,
      "spread_pct": 0.07
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 14.32,
    "pm_low": 14.195
  },
  {
    "symbol": "JBS",
    "total_score": 57.59,
    "raw_score": 61.04,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 3.0,
      "volume_acceleration": 3.91,
      "price_momentum": 0.05,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.84,
      "spread_liquidity": 4.76,
      "momentum_consistency": 3.59,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.92,
      "vwap": 13.8969,
      "vwap_slope": 0.0094,
      "rvol": 1.25,
      "volume_acceleration": 1.12,
      "premarket_volume": 624195.0,
      "momentum_pct": 0.04,
      "consolidation_tightness_pct": 0.32,
      "distance_from_pm_high_pct": 0.22,
      "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.95,
    "pm_low": 13.82
  },
  {
    "symbol": "MBLY",
    "total_score": 57.52,
    "raw_score": 60.97,
    "breakdown": {
      "price_quality": 3.62,
      "volume_quality": 12.0,
      "rvol": 1.35,
      "volume_acceleration": 3.87,
      "price_momentum": 0.35,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.83,
      "spread_liquidity": 4.61,
      "momentum_consistency": 2.95,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.615,
      "vwap": 8.592,
      "vwap_slope": 0.0064,
      "rvol": 0.56,
      "volume_acceleration": 1.11,
      "premarket_volume": 280844.0,
      "momentum_pct": 0.23,
      "consolidation_tightness_pct": 0.52,
      "distance_from_pm_high_pct": 0.23,
      "extension_from_vwap_pct": 0.27,
      "spread_pct": 0.12
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 8.635,
    "pm_low": 8.57
  },
  {
    "symbol": "BB",
    "total_score": 57.47,
    "raw_score": 60.92,
    "breakdown": {
      "price_quality": 2.72,
      "volume_quality": 12.0,
      "rvol": 3.55,
      "volume_acceleration": 2.73,
      "price_momentum": 0.19,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.85,
      "spread_liquidity": 4.57,
      "momentum_consistency": 2.9,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.725,
      "vwap": 7.7101,
      "vwap_slope": 0.0014,
      "rvol": 1.48,
      "volume_acceleration": 0.79,
      "premarket_volume": 739448.0,
      "momentum_pct": 0.13,
      "consolidation_tightness_pct": 0.32,
      "distance_from_pm_high_pct": 0.19,
      "extension_from_vwap_pct": 0.19,
      "spread_pct": 0.13
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 7.74,
    "pm_low": 7.685
  },
  {
    "symbol": "SMPL",
    "total_score": 57.31,
    "raw_score": 60.75,
    "breakdown": {
      "price_quality": 3.96,
      "volume_quality": 12.0,
      "rvol": 0.58,
      "volume_acceleration": 3.84,
      "price_momentum": 0.41,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.86,
      "spread_liquidity": 4.7,
      "momentum_consistency": 3.0,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.04,
      "vwap": 11.0038,
      "vwap_slope": 0.0087,
      "rvol": 0.24,
      "volume_acceleration": 1.1,
      "premarket_volume": 121512.0,
      "momentum_pct": 0.27,
      "consolidation_tightness_pct": 0.32,
      "distance_from_pm_high_pct": 0.18,
      "extension_from_vwap_pct": 0.33,
      "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.06,
    "pm_low": 10.975
  },
  {
    "symbol": "BGC",
    "total_score": 57.3,
    "raw_score": 60.74,
    "breakdown": {
      "price_quality": 3.21,
      "volume_quality": 12.0,
      "rvol": 0.89,
      "volume_acceleration": 5.02,
      "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.56,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.785,
      "vwap": 11.77,
      "vwap_slope": 0.0067,
      "rvol": 0.37,
      "volume_acceleration": 1.5,
      "premarket_volume": 184967.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.17,
      "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": 11.795,
    "pm_low": 11.745
  },
  {
    "symbol": "BVS",
    "total_score": 57.29,
    "raw_score": 60.73,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 5.79,
      "rvol": 0.23,
      "volume_acceleration": 3.44,
      "price_momentum": 0.32,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 6,
      "spread_liquidity": 4.29,
      "momentum_consistency": 3.16,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.11,
      "vwap": 14.032,
      "vwap_slope": 0.0232,
      "rvol": 0.1,
      "volume_acceleration": 0.99,
      "premarket_volume": 48265.0,
      "momentum_pct": 0.21,
      "consolidation_tightness_pct": 0.32,
      "distance_from_pm_high_pct": 0.0,
      "extension_from_vwap_pct": 0.56,
      "spread_pct": 0.21
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 14.11,
    "pm_low": 13.95
  },
  {
    "symbol": "PD",
    "total_score": 57.27,
    "raw_score": 60.7,
    "breakdown": {
      "price_quality": 2.59,
      "volume_quality": 12.0,
      "rvol": 0.5,
      "volume_acceleration": 3.75,
      "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.73,
      "momentum_consistency": 4.24,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.41,
      "vwap": 12.3584,
      "vwap_slope": 0.0124,
      "rvol": 0.21,
      "volume_acceleration": 1.38,
      "premarket_volume": 104008.0,
      "momentum_pct": 0.32,
      "consolidation_tightness_pct": 0.4,
      "distance_from_pm_high_pct": 0.0,
      "extension_from_vwap_pct": 0.42,
      "spread_pct": 0.08
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 12.41,
    "pm_low": 12.29
  },
  {
    "symbol": "GNL",
    "total_score": 57.25,
    "raw_score": 60.68,
    "breakdown": {
      "price_quality": 4.2,
      "volume_quality": 12.0,
      "rvol": 0.59,
      "volume_acceleration": 4.76,
      "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.64,
      "momentum_consistency": 2.22,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.195,
      "vwap": 9.1842,
      "vwap_slope": 0.004,
      "rvol": 0.25,
      "volume_acceleration": 1.48,
      "premarket_volume": 123666.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.11,
      "distance_from_pm_high_pct": 0.16,
      "extension_from_vwap_pct": 0.12,
      "spread_pct": 0.11
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 9.21,
    "pm_low": 9.16
  },
  {
    "symbol": "NL",
    "total_score": 57.13,
    "raw_score": 60.56,
    "breakdown": {
      "price_quality": 1.57,
      "volume_quality": 3.85,
      "rvol": 0.15,
      "volume_acceleration": 2.39,
      "price_momentum": 3.27,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 6,
      "spread_liquidity": 0.93,
      "momentum_consistency": 6.4,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.57,
      "vwap": 6.4923,
      "vwap_slope": 0.0623,
      "rvol": 0.06,
      "volume_acceleration": 1.24,
      "premarket_volume": 32107.0,
      "momentum_pct": 2.18,
      "consolidation_tightness_pct": 2.16,
      "distance_from_pm_high_pct": 0.0,
      "extension_from_vwap_pct": 1.2,
      "spread_pct": 1.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": 6.57,
    "pm_low": 6.43
  },
  {
    "symbol": "CWK",
    "total_score": 57.07,
    "raw_score": 60.5,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 0.79,
      "volume_acceleration": 3.74,
      "price_momentum": 0.31,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.92,
      "spread_liquidity": 4.77,
      "momentum_consistency": 2.67,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.62,
      "vwap": 14.6062,
      "vwap_slope": -0.0016,
      "rvol": 0.33,
      "volume_acceleration": 1.07,
      "premarket_volume": 164357.0,
      "momentum_pct": 0.21,
      "consolidation_tightness_pct": 0.21,
      "distance_from_pm_high_pct": 0.1,
      "extension_from_vwap_pct": 0.09,
      "spread_pct": 0.07
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 14.635,
    "pm_low": 14.58
  },
  {
    "symbol": "ALHC",
    "total_score": 57.05,
    "raw_score": 60.47,
    "breakdown": {
      "price_quality": 1.63,
      "volume_quality": 12.0,
      "rvol": 1.39,
      "volume_acceleration": 3.25,
      "price_momentum": 0.22,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.75,
      "spread_liquidity": 4.75,
      "momentum_consistency": 2.67,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.365,
      "vwap": 13.3642,
      "vwap_slope": -0.0029,
      "rvol": 0.58,
      "volume_acceleration": 1.33,
      "premarket_volume": 290613.0,
      "momentum_pct": 0.15,
      "consolidation_tightness_pct": 0.19,
      "distance_from_pm_high_pct": 0.34,
      "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": true,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 13.41,
    "pm_low": 13.32
  },
  {
    "symbol": "KRNY",
    "total_score": 57.05,
    "raw_score": 60.47,
    "breakdown": {
      "price_quality": 4.82,
      "volume_quality": 12.0,
      "rvol": 0.85,
      "volume_acceleration": 3.81,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.92,
      "spread_liquidity": 4.66,
      "momentum_consistency": 2.0,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.82,
      "vwap": 9.8091,
      "vwap_slope": 0.0048,
      "rvol": 0.36,
      "volume_acceleration": 1.1,
      "premarket_volume": 177915.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.25,
      "distance_from_pm_high_pct": 0.1,
      "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": true,
      "vwap_rising": true
    },
    "pm_high": 9.83,
    "pm_low": 9.775
  },
  {
    "symbol": "FMC",
    "total_score": 57.04,
    "raw_score": 60.46,
    "breakdown": {
      "price_quality": 3.7,
      "volume_quality": 12.0,
      "rvol": 1.55,
      "volume_acceleration": 3.3,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.74,
      "spread_liquidity": 4.41,
      "momentum_consistency": 3.37,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.3,
      "vwap": 11.2802,
      "vwap_slope": 0.0035,
      "rvol": 0.64,
      "volume_acceleration": 0.95,
      "premarket_volume": 322029.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.27,
      "distance_from_pm_high_pct": 0.35,
      "extension_from_vwap_pct": 0.18,
      "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.22
  },
  {
    "symbol": "ZURA",
    "total_score": 57.04,
    "raw_score": 60.46,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 1.36,
      "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.64,
      "spread_liquidity": 3.94,
      "momentum_consistency": 2.9,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.2847,
      "vwap": 6.2587,
      "vwap_slope": 0.0048,
      "rvol": 0.56,
      "volume_acceleration": 1.67,
      "premarket_volume": 282371.0,
      "momentum_pct": -0.0,
      "consolidation_tightness_pct": 0.7,
      "distance_from_pm_high_pct": 0.48,
      "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": true,
      "vwap_rising": true
    },
    "pm_high": 6.315,
    "pm_low": 6.21
  },
  {
    "symbol": "RWAY",
    "total_score": 57.03,
    "raw_score": 60.46,
    "breakdown": {
      "price_quality": 1.55,
      "volume_quality": 9.15,
      "rvol": 0.37,
      "volume_acceleration": 10,
      "price_momentum": 0.46,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.94,
      "spread_liquidity": 4.49,
      "momentum_consistency": 2.09,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.555,
      "vwap": 6.5391,
      "vwap_slope": 0.005,
      "rvol": 0.15,
      "volume_acceleration": 3.41,
      "premarket_volume": 76288.0,
      "momentum_pct": 0.31,
      "consolidation_tightness_pct": 0.38,
      "distance_from_pm_high_pct": 0.08,
      "extension_from_vwap_pct": 0.24,
      "spread_pct": 0.15
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 6.56,
    "pm_low": 6.51
  },
  {
    "symbol": "GOOS",
    "total_score": 56.99,
    "raw_score": 60.41,
    "breakdown": {
      "price_quality": 3.23,
      "volume_quality": 12.0,
      "rvol": 1.06,
      "volume_acceleration": 3.29,
      "price_momentum": 0.09,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.82,
      "spread_liquidity": 4.59,
      "momentum_consistency": 3.91,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.23,
      "vwap": 8.1886,
      "vwap_slope": 0.0085,
      "rvol": 0.44,
      "volume_acceleration": 0.95,
      "premarket_volume": 221300.0,
      "momentum_pct": 0.06,
      "consolidation_tightness_pct": 0.24,
      "distance_from_pm_high_pct": 0.24,
      "extension_from_vwap_pct": 0.51,
      "spread_pct": 0.12
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 8.25,
    "pm_low": 8.11
  },
  {
    "symbol": "ASAN",
    "total_score": 56.92,
    "raw_score": 60.34,
    "breakdown": {
      "price_quality": 4.82,
      "volume_quality": 12.0,
      "rvol": 1.61,
      "volume_acceleration": 2.44,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.89,
      "spread_liquidity": 4.66,
      "momentum_consistency": 2.53,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.82,
      "vwap": 9.7972,
      "vwap_slope": 0.0048,
      "rvol": 0.67,
      "volume_acceleration": 1.24,
      "premarket_volume": 334837.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.2,
      "distance_from_pm_high_pct": 0.15,
      "extension_from_vwap_pct": 0.23,
      "spread_pct": 0.1
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 9.835,
    "pm_low": 9.735
  },
  {
    "symbol": "NVAX",
    "total_score": 56.9,
    "raw_score": 60.32,
    "breakdown": {
      "price_quality": 3.82,
      "volume_quality": 12.0,
      "rvol": 1.69,
      "volume_acceleration": 2.15,
      "price_momentum": 0.26,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 6,
      "spread_liquidity": 4.62,
      "momentum_consistency": 3.39,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.82,
      "vwap": 8.7901,
      "vwap_slope": 0.0033,
      "rvol": 0.7,
      "volume_acceleration": 1.21,
      "premarket_volume": 351315.0,
      "momentum_pct": 0.17,
      "consolidation_tightness_pct": 0.34,
      "distance_from_pm_high_pct": 0.0,
      "extension_from_vwap_pct": 0.34,
      "spread_pct": 0.11
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 8.82,
    "pm_low": 8.755
  },
  {
    "symbol": "MFA",
    "total_score": 56.89,
    "raw_score": 60.31,
    "breakdown": {
      "price_quality": 3.96,
      "volume_quality": 12.0,
      "rvol": 0.74,
      "volume_acceleration": 4.66,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.92,
      "spread_liquidity": 4.63,
      "momentum_consistency": 2.0,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.96,
      "vwap": 8.9509,
      "vwap_slope": 0.0015,
      "rvol": 0.31,
      "volume_acceleration": 1.47,
      "premarket_volume": 154868.0,
      "momentum_pct": -0.11,
      "consolidation_tightness_pct": 0.11,
      "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": 8.97,
    "pm_low": 8.93
  },
  {
    "symbol": "NXE",
    "total_score": 56.81,
    "raw_score": 60.22,
    "breakdown": {
      "price_quality": 4.1,
      "volume_quality": 12.0,
      "rvol": 1.57,
      "volume_acceleration": 3.19,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.88,
      "spread_liquidity": 4.69,
      "momentum_consistency": 2.39,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.9009,
      "vwap": 10.8947,
      "vwap_slope": 0.0036,
      "rvol": 0.66,
      "volume_acceleration": 0.92,
      "premarket_volume": 327565.0,
      "momentum_pct": -0.04,
      "consolidation_tightness_pct": 0.18,
      "distance_from_pm_high_pct": 0.16,
      "extension_from_vwap_pct": 0.06,
      "spread_pct": 0.09
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 10.918,
    "pm_low": 10.845
  },
  {
    "symbol": "IMRX",
    "total_score": 56.76,
    "raw_score": 60.16,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 5.47,
      "rvol": 0.22,
      "volume_acceleration": 10,
      "price_momentum": 1.45,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.93,
      "spread_liquidity": 3.72,
      "momentum_consistency": 3.08,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.22,
      "vwap": 5.1916,
      "vwap_slope": -0.0121,
      "rvol": 0.09,
      "volume_acceleration": 3.2,
      "premarket_volume": 45554.0,
      "momentum_pct": 0.97,
      "consolidation_tightness_pct": 0.96,
      "distance_from_pm_high_pct": 0.1,
      "extension_from_vwap_pct": 0.55,
      "spread_pct": 0.38
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 5.225,
    "pm_low": 5.17
  },
  {
    "symbol": "XMAX",
    "total_score": 56.67,
    "raw_score": 60.08,
    "breakdown": {
      "price_quality": 3.98,
      "volume_quality": 4.01,
      "rvol": 0.16,
      "volume_acceleration": 2.07,
      "price_momentum": 0.17,
      "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.98,
      "vwap": 8.9524,
      "vwap_slope": 0.0092,
      "rvol": 0.07,
      "volume_acceleration": 0.6,
      "premarket_volume": 33422.0,
      "momentum_pct": 0.11,
      "consolidation_tightness_pct": 0.22,
      "distance_from_pm_high_pct": 0.0,
      "extension_from_vwap_pct": 0.31,
      "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.98,
    "pm_low": 8.93
  },
  {
    "symbol": "WEST",
    "total_score": 56.61,
    "raw_score": 60.01,
    "breakdown": {
      "price_quality": 3.41,
      "volume_quality": 6.34,
      "rvol": 0.25,
      "volume_acceleration": 0.82,
      "price_momentum": 0.36,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.96,
      "spread_liquidity": 4.21,
      "momentum_consistency": 2.67,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.41,
      "vwap": 8.3727,
      "vwap_slope": 0.0027,
      "rvol": 0.11,
      "volume_acceleration": 0.24,
      "premarket_volume": 52817.0,
      "momentum_pct": 0.24,
      "consolidation_tightness_pct": 0.24,
      "distance_from_pm_high_pct": 0.06,
      "extension_from_vwap_pct": 0.45,
      "spread_pct": 0.24
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 8.415,
    "pm_low": 8.34
  },
  {
    "symbol": "GENI",
    "total_score": 56.59,
    "raw_score": 59.98,
    "breakdown": {
      "price_quality": 3.07,
      "volume_quality": 12.0,
      "rvol": 2.79,
      "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.26,
      "spread_liquidity": 4.59,
      "momentum_consistency": 2.67,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.07,
      "vwap": 8.0913,
      "vwap_slope": 0.009,
      "rvol": 1.16,
      "volume_acceleration": 3.73,
      "premarket_volume": 582185.0,
      "momentum_pct": -0.37,
      "consolidation_tightness_pct": 0.62,
      "distance_from_pm_high_pct": 0.98,
      "extension_from_vwap_pct": -0.26,
      "spread_pct": 0.12
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": true
    },
    "pm_high": 8.15,
    "pm_low": 8.01
  },
  {
    "symbol": "SWIM",
    "total_score": 56.56,
    "raw_score": 59.95,
    "breakdown": {
      "price_quality": 2.04,
      "volume_quality": 7.31,
      "rvol": 0.29,
      "volume_acceleration": 10,
      "price_momentum": 0.53,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.95,
      "spread_liquidity": 4.53,
      "momentum_consistency": 2.91,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.04,
      "vwap": 7.0215,
      "vwap_slope": 0.0108,
      "rvol": 0.12,
      "volume_acceleration": 5.81,
      "premarket_volume": 60885.0,
      "momentum_pct": 0.36,
      "consolidation_tightness_pct": 0.64,
      "distance_from_pm_high_pct": 0.07,
      "extension_from_vwap_pct": 0.26,
      "spread_pct": 0.14
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 7.045,
    "pm_low": 7.0
  },
  {
    "symbol": "HAYW",
    "total_score": 56.48,
    "raw_score": 59.87,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 0.53,
      "volume_acceleration": 6.29,
      "price_momentum": 0.21,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.97,
      "spread_liquidity": 4.77,
      "momentum_consistency": 2.2,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.575,
      "vwap": 14.5455,
      "vwap_slope": 0.0043,
      "rvol": 0.22,
      "volume_acceleration": 1.63,
      "premarket_volume": 109412.0,
      "momentum_pct": 0.14,
      "consolidation_tightness_pct": 0.24,
      "distance_from_pm_high_pct": 0.03,
      "extension_from_vwap_pct": 0.2,
      "spread_pct": 0.07
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 14.58,
    "pm_low": 14.525
  },
  {
    "symbol": "FRSH",
    "total_score": 56.34,
    "raw_score": 59.72,
    "breakdown": {
      "price_quality": 1.77,
      "volume_quality": 12.0,
      "rvol": 1.98,
      "volume_acceleration": 3.82,
      "price_momentum": 0.11,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 6,
      "spread_liquidity": 4.75,
      "momentum_consistency": 2.9,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.235,
      "vwap": 13.2006,
      "vwap_slope": 0.0047,
      "rvol": 0.82,
      "volume_acceleration": 1.1,
      "premarket_volume": 411907.0,
      "momentum_pct": 0.08,
      "consolidation_tightness_pct": 0.19,
      "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.235,
    "pm_low": 13.15
  },
  {
    "symbol": "VMET",
    "total_score": 56.33,
    "raw_score": 59.71,
    "breakdown": {
      "price_quality": 4.32,
      "volume_quality": 11.41,
      "rvol": 0.46,
      "volume_acceleration": 3.93,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.3,
      "spread_liquidity": 4.38,
      "momentum_consistency": 3.51,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.68,
      "vwap": 10.6557,
      "vwap_slope": 0.0154,
      "rvol": 0.19,
      "volume_acceleration": 1.13,
      "premarket_volume": 95122.0,
      "momentum_pct": -0.25,
      "consolidation_tightness_pct": 0.28,
      "distance_from_pm_high_pct": 0.93,
      "extension_from_vwap_pct": 0.23,
      "spread_pct": 0.19
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 10.78,
    "pm_low": 10.55
  },
  {
    "symbol": "ARHS",
    "total_score": 56.33,
    "raw_score": 59.71,
    "breakdown": {
      "price_quality": 4.28,
      "volume_quality": 12.0,
      "rvol": 0.61,
      "volume_acceleration": 3.4,
      "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.64,
      "momentum_consistency": 2.46,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.28,
      "vwap": 9.2543,
      "vwap_slope": 0.0083,
      "rvol": 0.25,
      "volume_acceleration": 0.98,
      "premarket_volume": 126539.0,
      "momentum_pct": 0.05,
      "consolidation_tightness_pct": 0.22,
      "distance_from_pm_high_pct": 0.22,
      "extension_from_vwap_pct": 0.28,
      "spread_pct": 0.11
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 9.3,
    "pm_low": 9.1801
  },
  {
    "symbol": "CRSR",
    "total_score": 56.29,
    "raw_score": 59.67,
    "breakdown": {
      "price_quality": 4.08,
      "volume_quality": 12.0,
      "rvol": 0.82,
      "volume_acceleration": 2.38,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.62,
      "spread_liquidity": 4.69,
      "momentum_consistency": 3.68,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.92,
      "vwap": 10.8525,
      "vwap_slope": 0.0197,
      "rvol": 0.34,
      "volume_acceleration": 0.68,
      "premarket_volume": 170107.0,
      "momentum_pct": -0.5,
      "consolidation_tightness_pct": 0.5,
      "distance_from_pm_high_pct": 0.5,
      "extension_from_vwap_pct": 0.62,
      "spread_pct": 0.09
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 10.975,
    "pm_low": 10.785
  },
  {
    "symbol": "LION",
    "total_score": 56.25,
    "raw_score": 59.62,
    "breakdown": {
      "price_quality": 3.42,
      "volume_quality": 12.0,
      "rvol": 0.88,
      "volume_acceleration": 3.3,
      "price_momentum": 0.13,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.97,
      "spread_liquidity": 4.71,
      "momentum_consistency": 2.81,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.58,
      "vwap": 11.561,
      "vwap_slope": 0.002,
      "rvol": 0.37,
      "volume_acceleration": 0.95,
      "premarket_volume": 183618.0,
      "momentum_pct": 0.09,
      "consolidation_tightness_pct": 0.17,
      "distance_from_pm_high_pct": 0.04,
      "extension_from_vwap_pct": 0.16,
      "spread_pct": 0.09
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 11.585,
    "pm_low": 11.52
  },
  {
    "symbol": "RITM",
    "total_score": 56.25,
    "raw_score": 59.62,
    "breakdown": {
      "price_quality": 4.73,
      "volume_quality": 12.0,
      "rvol": 1.3,
      "volume_acceleration": 2.16,
      "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.67,
      "momentum_consistency": 2.39,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.265,
      "vwap": 10.2645,
      "vwap_slope": 0.0005,
      "rvol": 0.54,
      "volume_acceleration": 0.62,
      "premarket_volume": 271445.0,
      "momentum_pct": 0.05,
      "consolidation_tightness_pct": 0.1,
      "distance_from_pm_high_pct": 0.15,
      "extension_from_vwap_pct": 0.0,
      "spread_pct": 0.1
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 10.28,
    "pm_low": 10.25
  },
  {
    "symbol": "FSK",
    "total_score": 56.24,
    "raw_score": 59.61,
    "breakdown": {
      "price_quality": 2.97,
      "volume_quality": 12.0,
      "rvol": 0.76,
      "volume_acceleration": 3.82,
      "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.0,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.025,
      "vwap": 12.0149,
      "vwap_slope": 0.0022,
      "rvol": 0.32,
      "volume_acceleration": 1.38,
      "premarket_volume": 158500.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.17,
      "distance_from_pm_high_pct": 0.08,
      "extension_from_vwap_pct": 0.08,
      "spread_pct": 0.08
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 12.035,
    "pm_low": 11.995
  },
  {
    "symbol": "VIPS",
    "total_score": 56.15,
    "raw_score": 59.52,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 2.31,
      "volume_acceleration": 3.74,
      "price_momentum": 0.16,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.97,
      "spread_liquidity": 4.77,
      "momentum_consistency": 2.67,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.375,
      "vwap": 14.3341,
      "vwap_slope": 0.007,
      "rvol": 0.96,
      "volume_acceleration": 1.08,
      "premarket_volume": 482192.0,
      "momentum_pct": 0.1,
      "consolidation_tightness_pct": 0.17,
      "distance_from_pm_high_pct": 0.03,
      "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": 14.38,
    "pm_low": 14.275
  },
  {
    "symbol": "OBDC",
    "total_score": 56.04,
    "raw_score": 59.4,
    "breakdown": {
      "price_quality": 3.62,
      "volume_quality": 12.0,
      "rvol": 1.23,
      "volume_acceleration": 3.23,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.97,
      "spread_liquidity": 4.71,
      "momentum_consistency": 2.25,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.375,
      "vwap": 11.3662,
      "vwap_slope": 0.0025,
      "rvol": 0.51,
      "volume_acceleration": 0.93,
      "premarket_volume": 255276.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.09,
      "distance_from_pm_high_pct": 0.04,
      "extension_from_vwap_pct": 0.08,
      "spread_pct": 0.09
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 11.38,
    "pm_low": 11.35
  },
  {
    "symbol": "UAA",
    "total_score": 56.0,
    "raw_score": 59.36,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 3.39,
      "volume_acceleration": 2.58,
      "price_momentum": 0.28,
      "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.9,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.395,
      "vwap": 5.3725,
      "vwap_slope": 0.0029,
      "rvol": 1.41,
      "volume_acceleration": 0.74,
      "premarket_volume": 706546.0,
      "momentum_pct": 0.19,
      "consolidation_tightness_pct": 0.37,
      "distance_from_pm_high_pct": 0.09,
      "extension_from_vwap_pct": 0.42,
      "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.4,
    "pm_low": 5.35
  },
  {
    "symbol": "BRCB",
    "total_score": 55.96,
    "raw_score": 59.32,
    "breakdown": {
      "price_quality": 4.37,
      "volume_quality": 10.42,
      "rvol": 0.42,
      "volume_acceleration": 1.54,
      "price_momentum": 0.29,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.84,
      "spread_liquidity": 4.29,
      "momentum_consistency": 3.35,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.37,
      "vwap": 9.3608,
      "vwap_slope": -0.001,
      "rvol": 0.17,
      "volume_acceleration": 0.44,
      "premarket_volume": 86803.0,
      "momentum_pct": 0.19,
      "consolidation_tightness_pct": 0.32,
      "distance_from_pm_high_pct": 0.21,
      "extension_from_vwap_pct": 0.1,
      "spread_pct": 0.21
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 9.39,
    "pm_low": 9.345
  },
  {
    "symbol": "TDAY",
    "total_score": 55.93,
    "raw_score": 59.29,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 1.79,
      "volume_acceleration": 5.71,
      "price_momentum": 0.12,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.71,
      "spread_liquidity": 4.49,
      "momentum_consistency": 1.57,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.475,
      "vwap": 6.4497,
      "vwap_slope": 0.0093,
      "rvol": 0.75,
      "volume_acceleration": 1.57,
      "premarket_volume": 373176.0,
      "momentum_pct": 0.08,
      "consolidation_tightness_pct": 0.31,
      "distance_from_pm_high_pct": 0.38,
      "extension_from_vwap_pct": 0.39,
      "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.5,
    "pm_low": 6.395
  },
  {
    "symbol": "WLTH",
    "total_score": 55.84,
    "raw_score": 59.19,
    "breakdown": {
      "price_quality": 4.44,
      "volume_quality": 12.0,
      "rvol": 1.43,
      "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": 5.72,
      "spread_liquidity": 4.65,
      "momentum_consistency": 2.62,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.44,
      "vwap": 9.4201,
      "vwap_slope": 0.0003,
      "rvol": 0.6,
      "volume_acceleration": 0.56,
      "premarket_volume": 298165.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.16,
      "distance_from_pm_high_pct": 0.37,
      "extension_from_vwap_pct": 0.21,
      "spread_pct": 0.11
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 9.475,
    "pm_low": 9.38
  },
  {
    "symbol": "SVV",
    "total_score": 55.73,
    "raw_score": 59.07,
    "breakdown": {
      "price_quality": 4.1,
      "volume_quality": 12.0,
      "rvol": 0.65,
      "volume_acceleration": 2.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.69,
      "momentum_consistency": 3.0,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.9,
      "vwap": 10.8184,
      "vwap_slope": 0.0215,
      "rvol": 0.27,
      "volume_acceleration": 1.23,
      "premarket_volume": 135474.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.23,
      "distance_from_pm_high_pct": 0.09,
      "extension_from_vwap_pct": 0.75,
      "spread_pct": 0.09
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 10.91,
    "pm_low": 10.74
  },
  {
    "symbol": "TRLV",
    "total_score": 55.71,
    "raw_score": 59.06,
    "breakdown": {
      "price_quality": 3.9,
      "volume_quality": 12.0,
      "rvol": 1.0,
      "volume_acceleration": 3.25,
      "price_momentum": 0.41,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.46,
      "spread_liquidity": 3.5,
      "momentum_consistency": 3.14,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.1,
      "vwap": 11.0624,
      "vwap_slope": 0.0022,
      "rvol": 0.41,
      "volume_acceleration": 0.93,
      "premarket_volume": 207325.0,
      "momentum_pct": 0.27,
      "consolidation_tightness_pct": 0.56,
      "distance_from_pm_high_pct": 0.72,
      "extension_from_vwap_pct": 0.34,
      "spread_pct": 0.45
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 11.18,
    "pm_low": 10.99
  },
  {
    "symbol": "CXM",
    "total_score": 55.7,
    "raw_score": 59.05,
    "breakdown": {
      "price_quality": 2.45,
      "volume_quality": 12.0,
      "rvol": 1.57,
      "volume_acceleration": 2.76,
      "price_momentum": 0.1,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.95,
      "spread_liquidity": 4.55,
      "momentum_consistency": 3.26,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.445,
      "vwap": 7.4226,
      "vwap_slope": 0.0028,
      "rvol": 0.66,
      "volume_acceleration": 0.79,
      "premarket_volume": 328121.0,
      "momentum_pct": 0.07,
      "consolidation_tightness_pct": 0.34,
      "distance_from_pm_high_pct": 0.07,
      "extension_from_vwap_pct": 0.3,
      "spread_pct": 0.13
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 7.45,
    "pm_low": 7.4
  },
  {
    "symbol": "TAL",
    "total_score": 55.61,
    "raw_score": 58.95,
    "breakdown": {
      "price_quality": 3.61,
      "volume_quality": 12.0,
      "rvol": 1.15,
      "volume_acceleration": 2.39,
      "price_momentum": 0.13,
      "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": 2.67,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.39,
      "vwap": 11.3778,
      "vwap_slope": 0.0006,
      "rvol": 0.48,
      "volume_acceleration": 1.24,
      "premarket_volume": 238810.0,
      "momentum_pct": 0.09,
      "consolidation_tightness_pct": 0.13,
      "distance_from_pm_high_pct": 0.13,
      "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": true,
      "vwap_rising": true
    },
    "pm_high": 11.405,
    "pm_low": 11.34
  },
  {
    "symbol": "LADR",
    "total_score": 55.33,
    "raw_score": 58.65,
    "breakdown": {
      "price_quality": 4.96,
      "volume_quality": 12.0,
      "rvol": 0.52,
      "volume_acceleration": 1.78,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.96,
      "spread_liquidity": 4.67,
      "momentum_consistency": 2.35,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.035,
      "vwap": 10.0135,
      "vwap_slope": 0.0043,
      "rvol": 0.22,
      "volume_acceleration": 1.18,
      "premarket_volume": 108500.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.1,
      "distance_from_pm_high_pct": 0.05,
      "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.04,
    "pm_low": 10.0
  },
  {
    "symbol": "SSYS",
    "total_score": 55.31,
    "raw_score": 58.63,
    "breakdown": {
      "price_quality": 2.7,
      "volume_quality": 12.0,
      "rvol": 0.8,
      "volume_acceleration": 0.84,
      "price_momentum": 0.44,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.93,
      "spread_liquidity": 4.13,
      "momentum_consistency": 3.0,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.7023,
      "vwap": 7.6879,
      "vwap_slope": -0.0002,
      "rvol": 0.33,
      "volume_acceleration": 0.24,
      "premarket_volume": 166077.0,
      "momentum_pct": 0.29,
      "consolidation_tightness_pct": 0.55,
      "distance_from_pm_high_pct": 0.1,
      "extension_from_vwap_pct": 0.19,
      "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": false
    },
    "pm_high": 7.71,
    "pm_low": 7.66
  },
  {
    "symbol": "NRDS",
    "total_score": 55.27,
    "raw_score": 58.59,
    "breakdown": {
      "price_quality": 4.95,
      "volume_quality": 10.64,
      "rvol": 0.43,
      "volume_acceleration": 2.98,
      "price_momentum": 0.3,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.89,
      "spread_liquidity": 4.67,
      "momentum_consistency": 2.34,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.055,
      "vwap": 10.0478,
      "vwap_slope": 0.0004,
      "rvol": 0.18,
      "volume_acceleration": 0.86,
      "premarket_volume": 88685.0,
      "momentum_pct": 0.2,
      "consolidation_tightness_pct": 0.25,
      "distance_from_pm_high_pct": 0.15,
      "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": 10.07,
    "pm_low": 10.0224
  },
  {
    "symbol": "QS",
    "total_score": 55.21,
    "raw_score": 58.53,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 9.76,
      "volume_acceleration": 2.71,
      "price_momentum": 0.2,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.71,
      "spread_liquidity": 4.42,
      "momentum_consistency": 3.03,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.7475,
      "vwap": 5.7376,
      "vwap_slope": -0.0008,
      "rvol": 3.66,
      "volume_acceleration": 0.78,
      "premarket_volume": 1829396.0,
      "momentum_pct": 0.13,
      "consolidation_tightness_pct": 0.35,
      "distance_from_pm_high_pct": 0.39,
      "extension_from_vwap_pct": 0.17,
      "spread_pct": 0.17
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 5.77,
    "pm_low": 5.71
  },
  {
    "symbol": "UPWK",
    "total_score": 55.02,
    "raw_score": 58.32,
    "breakdown": {
      "price_quality": 3.55,
      "volume_quality": 12.0,
      "rvol": 0.77,
      "volume_acceleration": 3.31,
      "price_momentum": 0.09,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.87,
      "spread_liquidity": 4.61,
      "momentum_consistency": 1.71,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.555,
      "vwap": 8.5514,
      "vwap_slope": 0.0011,
      "rvol": 0.32,
      "volume_acceleration": 0.95,
      "premarket_volume": 160849.0,
      "momentum_pct": 0.06,
      "consolidation_tightness_pct": 0.12,
      "distance_from_pm_high_pct": 0.18,
      "extension_from_vwap_pct": 0.04,
      "spread_pct": 0.12
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 8.57,
    "pm_low": 8.52
  },
  {
    "symbol": "BFLY",
    "total_score": 54.99,
    "raw_score": 58.28,
    "breakdown": {
      "price_quality": 3.96,
      "volume_quality": 12.0,
      "rvol": 1.42,
      "volume_acceleration": 1.53,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.46,
      "spread_liquidity": 4.63,
      "momentum_consistency": 2.9,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.955,
      "vwap": 8.94,
      "vwap_slope": 0.0006,
      "rvol": 0.59,
      "volume_acceleration": 1.15,
      "premarket_volume": 294991.0,
      "momentum_pct": -0.09,
      "consolidation_tightness_pct": 0.46,
      "distance_from_pm_high_pct": 0.72,
      "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.02,
    "pm_low": 8.855
  },
  {
    "symbol": "DUOT",
    "total_score": 54.97,
    "raw_score": 58.27,
    "breakdown": {
      "price_quality": 4.57,
      "volume_quality": 10.96,
      "rvol": 0.44,
      "volume_acceleration": 2.5,
      "price_momentum": 0.14,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.78,
      "spread_liquidity": 4.36,
      "momentum_consistency": 3.11,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.43,
      "vwap": 10.4042,
      "vwap_slope": 0.0032,
      "rvol": 0.18,
      "volume_acceleration": 0.72,
      "premarket_volume": 91373.0,
      "momentum_pct": 0.1,
      "consolidation_tightness_pct": 0.19,
      "distance_from_pm_high_pct": 0.29,
      "extension_from_vwap_pct": 0.25,
      "spread_pct": 0.19
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 10.46,
    "pm_low": 10.345
  },
  {
    "symbol": "CSHR",
    "total_score": 54.96,
    "raw_score": 58.26,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 7.27,
      "rvol": 0.29,
      "volume_acceleration": 0.7,
      "price_momentum": 0.0,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.75,
      "spread_liquidity": 3.89,
      "momentum_consistency": 2.86,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.01,
      "vwap": 5.9659,
      "vwap_slope": 0.0081,
      "rvol": 0.12,
      "volume_acceleration": 0.2,
      "premarket_volume": 60592.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.33,
      "distance_from_pm_high_pct": 0.33,
      "extension_from_vwap_pct": 0.74,
      "spread_pct": 0.33
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 6.03,
    "pm_low": 5.9
  },
  {
    "symbol": "GPK",
    "total_score": 54.94,
    "raw_score": 58.24,
    "breakdown": {
      "price_quality": 3.5,
      "volume_quality": 12.0,
      "rvol": 1.91,
      "volume_acceleration": 1.88,
      "price_momentum": 0.13,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.74,
      "spread_liquidity": 4.71,
      "momentum_consistency": 1.96,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.5,
      "vwap": 11.4956,
      "vwap_slope": 0.0039,
      "rvol": 0.8,
      "volume_acceleration": 1.19,
      "premarket_volume": 398424.0,
      "momentum_pct": 0.09,
      "consolidation_tightness_pct": 0.17,
      "distance_from_pm_high_pct": 0.35,
      "extension_from_vwap_pct": 0.04,
      "spread_pct": 0.09
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 11.54,
    "pm_low": 11.45
  },
  {
    "symbol": "PRGO",
    "total_score": 54.92,
    "raw_score": 58.21,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 1.31,
      "volume_acceleration": 3.94,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.63,
      "spread_liquidity": 4.53,
      "momentum_consistency": 2.9,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.2,
      "vwap": 14.1934,
      "vwap_slope": 0.0154,
      "rvol": 0.55,
      "volume_acceleration": 1.13,
      "premarket_volume": 273852.0,
      "momentum_pct": -0.11,
      "consolidation_tightness_pct": 0.39,
      "distance_from_pm_high_pct": 0.49,
      "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.27,
    "pm_low": 14.07
  },
  {
    "symbol": "SMWB",
    "total_score": 54.85,
    "raw_score": 58.14,
    "breakdown": {
      "price_quality": 3.87,
      "volume_quality": 10.68,
      "rvol": 0.43,
      "volume_acceleration": 3.23,
      "price_momentum": 0.25,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.71,
      "spread_liquidity": 4.62,
      "momentum_consistency": 2.95,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.865,
      "vwap": 8.8627,
      "vwap_slope": 0.0019,
      "rvol": 0.18,
      "volume_acceleration": 0.93,
      "premarket_volume": 89012.0,
      "momentum_pct": 0.17,
      "consolidation_tightness_pct": 0.56,
      "distance_from_pm_high_pct": 0.39,
      "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": true
    },
    "pm_high": 8.9,
    "pm_low": 8.77
  },
  {
    "symbol": "ORN",
    "total_score": 54.83,
    "raw_score": 58.12,
    "breakdown": {
      "price_quality": 4.17,
      "volume_quality": 2.46,
      "rvol": 0.1,
      "volume_acceleration": 3.25,
      "price_momentum": 0.16,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.76,
      "spread_liquidity": 4.27,
      "momentum_consistency": 1.95,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.17,
      "vwap": 9.1565,
      "vwap_slope": 0.0016,
      "rvol": 0.04,
      "volume_acceleration": 1.33,
      "premarket_volume": 20511.0,
      "momentum_pct": 0.11,
      "consolidation_tightness_pct": 0.22,
      "distance_from_pm_high_pct": 0.33,
      "extension_from_vwap_pct": 0.15,
      "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": 9.2,
    "pm_low": 9.115
  },
  {
    "symbol": "MTRX",
    "total_score": 54.79,
    "raw_score": 58.08,
    "breakdown": {
      "price_quality": 4.26,
      "volume_quality": 5.41,
      "rvol": 0.22,
      "volume_acceleration": 10,
      "price_momentum": 0.35,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.65,
      "spread_liquidity": 4.07,
      "momentum_consistency": 1.73,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.74,
      "vwap": 10.7171,
      "vwap_slope": 0.0263,
      "rvol": 0.09,
      "volume_acceleration": 2.88,
      "premarket_volume": 45043.0,
      "momentum_pct": 0.23,
      "consolidation_tightness_pct": 0.75,
      "distance_from_pm_high_pct": 0.46,
      "extension_from_vwap_pct": 0.21,
      "spread_pct": 0.28
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 10.79,
    "pm_low": 10.67
  },
  {
    "symbol": "RPD",
    "total_score": 54.74,
    "raw_score": 58.02,
    "breakdown": {
      "price_quality": 3.04,
      "volume_quality": 11.51,
      "rvol": 0.46,
      "volume_acceleration": 2.72,
      "price_momentum": 0.13,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.91,
      "spread_liquidity": 4.72,
      "momentum_consistency": 3.14,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.965,
      "vwap": 11.9278,
      "vwap_slope": 0.0159,
      "rvol": 0.19,
      "volume_acceleration": 1.27,
      "premarket_volume": 95905.0,
      "momentum_pct": 0.08,
      "consolidation_tightness_pct": 0.21,
      "distance_from_pm_high_pct": 0.13,
      "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": 11.98,
    "pm_low": 11.85
  },
  {
    "symbol": "PERI",
    "total_score": 54.63,
    "raw_score": 57.91,
    "breakdown": {
      "price_quality": 4.76,
      "volume_quality": 3.2,
      "rvol": 0.13,
      "volume_acceleration": 10,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.88,
      "spread_liquidity": 4.66,
      "momentum_consistency": 2.88,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.76,
      "vwap": 9.7514,
      "vwap_slope": 0.0241,
      "rvol": 0.05,
      "volume_acceleration": 2.21,
      "premarket_volume": 26665.0,
      "momentum_pct": -0.1,
      "consolidation_tightness_pct": 0.15,
      "distance_from_pm_high_pct": 0.15,
      "extension_from_vwap_pct": 0.09,
      "spread_pct": 0.1
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 9.775,
    "pm_low": 9.715
  },
  {
    "symbol": "REPL",
    "total_score": 54.57,
    "raw_score": 57.84,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 0.89,
      "volume_acceleration": 3.92,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.85,
      "spread_liquidity": 4.78,
      "momentum_consistency": 2.51,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.935,
      "vwap": 14.9259,
      "vwap_slope": 0.0006,
      "rvol": 0.37,
      "volume_acceleration": 1.13,
      "premarket_volume": 185308.0,
      "momentum_pct": -0.03,
      "consolidation_tightness_pct": 0.23,
      "distance_from_pm_high_pct": 0.2,
      "extension_from_vwap_pct": 0.06,
      "spread_pct": 0.07
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 14.965,
    "pm_low": 14.87
  },
  {
    "symbol": "MGTX",
    "total_score": 54.55,
    "raw_score": 57.82,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 0.52,
      "volume_acceleration": 3.4,
      "price_momentum": 0.05,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.62,
      "spread_liquidity": 4.33,
      "momentum_consistency": 4.0,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.865,
      "vwap": 14.8031,
      "vwap_slope": 0.0279,
      "rvol": 0.21,
      "volume_acceleration": 0.98,
      "premarket_volume": 107332.0,
      "momentum_pct": 0.03,
      "consolidation_tightness_pct": 0.2,
      "distance_from_pm_high_pct": 0.5,
      "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": 14.94,
    "pm_low": 14.68
  },
  {
    "symbol": "ADTN",
    "total_score": 54.43,
    "raw_score": 57.69,
    "breakdown": {
      "price_quality": 2.68,
      "volume_quality": 12.0,
      "rvol": 0.6,
      "volume_acceleration": 10,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.66,
      "spread_liquidity": 4.13,
      "momentum_consistency": 3.02,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.68,
      "vwap": 7.6811,
      "vwap_slope": 0.0104,
      "rvol": 0.25,
      "volume_acceleration": 3.05,
      "premarket_volume": 124574.0,
      "momentum_pct": -0.26,
      "consolidation_tightness_pct": 0.32,
      "distance_from_pm_high_pct": 0.45,
      "extension_from_vwap_pct": -0.01,
      "spread_pct": 0.26
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": true
    },
    "pm_high": 7.715,
    "pm_low": 7.645
  },
  {
    "symbol": "CERT",
    "total_score": 54.35,
    "raw_score": 57.62,
    "breakdown": {
      "price_quality": 2.95,
      "volume_quality": 12.0,
      "rvol": 1.54,
      "volume_acceleration": 9.77,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 4.98,
      "spread_liquidity": 4.58,
      "momentum_consistency": 2.21,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.945,
      "vwap": 7.9613,
      "vwap_slope": 0.0129,
      "rvol": 0.64,
      "volume_acceleration": 1.98,
      "premarket_volume": 320705.0,
      "momentum_pct": -0.25,
      "consolidation_tightness_pct": 0.26,
      "distance_from_pm_high_pct": 1.37,
      "extension_from_vwap_pct": -0.21,
      "spread_pct": 0.13
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": true
    },
    "pm_high": 8.055,
    "pm_low": 7.895
  },
  {
    "symbol": "HELP",
    "total_score": 54.21,
    "raw_score": 57.47,
    "breakdown": {
      "price_quality": 1.98,
      "volume_quality": 12.0,
      "rvol": 1.05,
      "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.71,
      "spread_liquidity": 4.74,
      "momentum_consistency": 3.59,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.02,
      "vwap": 12.9781,
      "vwap_slope": 0.0142,
      "rvol": 0.44,
      "volume_acceleration": 1.2,
      "premarket_volume": 218773.0,
      "momentum_pct": -0.19,
      "consolidation_tightness_pct": 0.37,
      "distance_from_pm_high_pct": 0.38,
      "extension_from_vwap_pct": 0.32,
      "spread_pct": 0.08
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 13.07,
    "pm_low": 12.87
  },
  {
    "symbol": "LWLG",
    "total_score": 54.14,
    "raw_score": 57.39,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 0.88,
      "volume_acceleration": 2.81,
      "price_momentum": 0.36,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.92,
      "spread_liquidity": 4.43,
      "momentum_consistency": 3.09,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.819,
      "vwap": 5.8068,
      "vwap_slope": 0.0011,
      "rvol": 0.36,
      "volume_acceleration": 0.81,
      "premarket_volume": 182492.0,
      "momentum_pct": 0.24,
      "consolidation_tightness_pct": 0.43,
      "distance_from_pm_high_pct": 0.1,
      "extension_from_vwap_pct": 0.21,
      "spread_pct": 0.17
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 5.825,
    "pm_low": 5.7805
  },
  {
    "symbol": "OI",
    "total_score": 54.12,
    "raw_score": 57.37,
    "breakdown": {
      "price_quality": 2.24,
      "volume_quality": 12.0,
      "rvol": 1.09,
      "volume_acceleration": 2.89,
      "price_momentum": 0.31,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.79,
      "spread_liquidity": 4.54,
      "momentum_consistency": 2.11,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.235,
      "vwap": 7.2258,
      "vwap_slope": 0.0008,
      "rvol": 0.45,
      "volume_acceleration": 1.29,
      "premarket_volume": 227047.0,
      "momentum_pct": 0.21,
      "consolidation_tightness_pct": 0.26,
      "distance_from_pm_high_pct": 0.28,
      "extension_from_vwap_pct": 0.13,
      "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.255,
    "pm_low": 7.2
  },
  {
    "symbol": "FIGS",
    "total_score": 54.05,
    "raw_score": 57.29,
    "breakdown": {
      "price_quality": 0.0,
      "volume_quality": 12.0,
      "rvol": 1.53,
      "volume_acceleration": 3.86,
      "price_momentum": 0.25,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.95,
      "spread_liquidity": 4.78,
      "momentum_consistency": 2.53,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 15.165,
      "vwap": 15.0981,
      "vwap_slope": 0.0151,
      "rvol": 0.64,
      "volume_acceleration": 1.11,
      "premarket_volume": 318335.0,
      "momentum_pct": 0.17,
      "consolidation_tightness_pct": 0.3,
      "distance_from_pm_high_pct": 0.07,
      "extension_from_vwap_pct": 0.44,
      "spread_pct": 0.07
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 15.175,
    "pm_low": 15.015
  },
  {
    "symbol": "SOC",
    "total_score": 54.04,
    "raw_score": 57.28,
    "breakdown": {
      "price_quality": 0.0,
      "volume_quality": 12.0,
      "rvol": 3.28,
      "volume_acceleration": 3.3,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.63,
      "spread_liquidity": 4.33,
      "momentum_consistency": 2.34,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 4.985,
      "vwap": 4.9724,
      "vwap_slope": 0.0033,
      "rvol": 1.36,
      "volume_acceleration": 1.33,
      "premarket_volume": 682331.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.5,
      "distance_from_pm_high_pct": 0.5,
      "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.01,
    "pm_low": 4.94
  },
  {
    "symbol": "BKKT",
    "total_score": 54.0,
    "raw_score": 57.24,
    "breakdown": {
      "price_quality": 3.21,
      "volume_quality": 12.0,
      "rvol": 0.7,
      "volume_acceleration": 2.3,
      "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.78,
      "momentum_consistency": 3.2,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.2105,
      "vwap": 8.1913,
      "vwap_slope": 0.0014,
      "rvol": 0.29,
      "volume_acceleration": 0.66,
      "premarket_volume": 146819.0,
      "momentum_pct": -0.05,
      "consolidation_tightness_pct": 0.61,
      "distance_from_pm_high_pct": 0.48,
      "extension_from_vwap_pct": 0.23,
      "spread_pct": 0.36
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 8.25,
    "pm_low": 8.16
  },
  {
    "symbol": "BHVN",
    "total_score": 53.68,
    "raw_score": 56.9,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 11.72,
      "rvol": 0.47,
      "volume_acceleration": 4.65,
      "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.51,
      "momentum_consistency": 1.92,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.65,
      "vwap": 13.6451,
      "vwap_slope": 0.0027,
      "rvol": 0.2,
      "volume_acceleration": 1.47,
      "premarket_volume": 97634.0,
      "momentum_pct": -0.07,
      "consolidation_tightness_pct": 0.22,
      "distance_from_pm_high_pct": 0.36,
      "extension_from_vwap_pct": 0.04,
      "spread_pct": 0.15
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 13.7,
    "pm_low": 13.56
  },
  {
    "symbol": "HNST",
    "total_score": 53.43,
    "raw_score": 56.64,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 1.04,
      "volume_acceleration": 3.48,
      "price_momentum": 0.11,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.78,
      "spread_liquidity": 4.36,
      "momentum_consistency": 1.96,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.185,
      "vwap": 5.1732,
      "vwap_slope": 0.0006,
      "rvol": 0.44,
      "volume_acceleration": 1.0,
      "premarket_volume": 217538.0,
      "momentum_pct": 0.07,
      "consolidation_tightness_pct": 0.1,
      "distance_from_pm_high_pct": 0.29,
      "extension_from_vwap_pct": 0.23,
      "spread_pct": 0.19
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 5.2,
    "pm_low": 5.15
  },
  {
    "symbol": "NEXT",
    "total_score": 53.41,
    "raw_score": 56.61,
    "breakdown": {
      "price_quality": 2.35,
      "volume_quality": 12.0,
      "rvol": 1.04,
      "volume_acceleration": 1.81,
      "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.55,
      "momentum_consistency": 2.67,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.35,
      "vwap": 7.3403,
      "vwap_slope": 0.0047,
      "rvol": 0.44,
      "volume_acceleration": 1.18,
      "premarket_volume": 217674.0,
      "momentum_pct": -0.14,
      "consolidation_tightness_pct": 0.27,
      "distance_from_pm_high_pct": 0.27,
      "extension_from_vwap_pct": 0.13,
      "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.37,
    "pm_low": 7.31
  },
  {
    "symbol": "BTGO",
    "total_score": 53.32,
    "raw_score": 56.52,
    "breakdown": {
      "price_quality": 1.91,
      "volume_quality": 12.0,
      "rvol": 2.09,
      "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.14,
      "spread_liquidity": 4.04,
      "momentum_consistency": 1.75,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.91,
      "vwap": 6.9348,
      "vwap_slope": 0.0335,
      "rvol": 0.87,
      "volume_acceleration": 5.57,
      "premarket_volume": 434967.0,
      "momentum_pct": -0.58,
      "consolidation_tightness_pct": 0.72,
      "distance_from_pm_high_pct": 1.14,
      "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": true
    },
    "pm_high": 6.99,
    "pm_low": 6.87
  },
  {
    "symbol": "VG",
    "total_score": 53.24,
    "raw_score": 56.43,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 6.86,
      "volume_acceleration": 2.59,
      "price_momentum": 0.24,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.82,
      "spread_liquidity": 4.77,
      "momentum_consistency": 3.45,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.335,
      "vwap": 14.3222,
      "vwap_slope": -0.0001,
      "rvol": 2.57,
      "volume_acceleration": 1.26,
      "premarket_volume": 1287166.0,
      "momentum_pct": 0.16,
      "consolidation_tightness_pct": 0.28,
      "distance_from_pm_high_pct": 0.24,
      "extension_from_vwap_pct": 0.09,
      "spread_pct": 0.07
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 14.37,
    "pm_low": 14.275
  },
  {
    "symbol": "SB",
    "total_score": 53.16,
    "raw_score": 56.35,
    "breakdown": {
      "price_quality": 3.62,
      "volume_quality": 9.44,
      "rvol": 0.38,
      "volume_acceleration": 3.44,
      "price_momentum": 0.09,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.83,
      "spread_liquidity": 4.61,
      "momentum_consistency": 2.55,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.62,
      "vwap": 8.6164,
      "vwap_slope": 0.0008,
      "rvol": 0.16,
      "volume_acceleration": 0.99,
      "premarket_volume": 78681.0,
      "momentum_pct": 0.06,
      "consolidation_tightness_pct": 0.12,
      "distance_from_pm_high_pct": 0.23,
      "extension_from_vwap_pct": 0.04,
      "spread_pct": 0.12
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 8.64,
    "pm_low": 8.59
  },
  {
    "symbol": "SATL",
    "total_score": 53.08,
    "raw_score": 56.27,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 1.55,
      "volume_acceleration": 7.28,
      "price_momentum": 0.42,
      "price_structure": 12,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 4.9,
      "spread_liquidity": 4.38,
      "momentum_consistency": 2.25,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.355,
      "vwap": 5.372,
      "vwap_slope": -0.0086,
      "rvol": 0.65,
      "volume_acceleration": 1.73,
      "premarket_volume": 322515.0,
      "momentum_pct": 0.28,
      "consolidation_tightness_pct": 0.47,
      "distance_from_pm_high_pct": 1.47,
      "extension_from_vwap_pct": -0.32,
      "spread_pct": 0.19
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 5.435,
    "pm_low": 5.34
  },
  {
    "symbol": "SMR",
    "total_score": 53.04,
    "raw_score": 56.22,
    "breakdown": {
      "price_quality": 4.12,
      "volume_quality": 12.0,
      "rvol": 12.0,
      "volume_acceleration": 2.83,
      "price_momentum": 0.33,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.15,
      "spread_liquidity": 4.64,
      "momentum_consistency": 2.76,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.125,
      "vwap": 9.1471,
      "vwap_slope": -0.0057,
      "rvol": 7.28,
      "volume_acceleration": 0.81,
      "premarket_volume": 3639832.0,
      "momentum_pct": 0.22,
      "consolidation_tightness_pct": 0.44,
      "distance_from_pm_high_pct": 1.14,
      "extension_from_vwap_pct": -0.24,
      "spread_pct": 0.11
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 9.23,
    "pm_low": 9.1
  },
  {
    "symbol": "HUN",
    "total_score": 52.97,
    "raw_score": 56.15,
    "breakdown": {
      "price_quality": 4.62,
      "volume_quality": 12.0,
      "rvol": 1.42,
      "volume_acceleration": 2.95,
      "price_momentum": 0.16,
      "price_structure": 12,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.73,
      "spread_liquidity": 4.65,
      "momentum_consistency": 2.62,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.625,
      "vwap": 9.6297,
      "vwap_slope": -0.0003,
      "rvol": 0.59,
      "volume_acceleration": 0.85,
      "premarket_volume": 295285.0,
      "momentum_pct": 0.1,
      "consolidation_tightness_pct": 0.21,
      "distance_from_pm_high_pct": 0.36,
      "extension_from_vwap_pct": -0.05,
      "spread_pct": 0.1
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 9.66,
    "pm_low": 9.605
  },
  {
    "symbol": "VITL",
    "total_score": 52.92,
    "raw_score": 56.09,
    "breakdown": {
      "price_quality": 3.77,
      "volume_quality": 12.0,
      "rvol": 0.79,
      "volume_acceleration": 3.51,
      "price_momentum": 0.67,
      "price_structure": 12,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.27,
      "spread_liquidity": 4.7,
      "momentum_consistency": 3.37,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.23,
      "vwap": 11.2384,
      "vwap_slope": -0.0132,
      "rvol": 0.33,
      "volume_acceleration": 1.01,
      "premarket_volume": 165618.0,
      "momentum_pct": 0.45,
      "consolidation_tightness_pct": 0.56,
      "distance_from_pm_high_pct": 0.97,
      "extension_from_vwap_pct": -0.08,
      "spread_pct": 0.09
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 11.34,
    "pm_low": 11.167
  },
  {
    "symbol": "ODD",
    "total_score": 52.87,
    "raw_score": 56.04,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 10.16,
      "rvol": 0.41,
      "volume_acceleration": 3.63,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.78,
      "spread_liquidity": 4.51,
      "momentum_consistency": 3.65,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.66,
      "vwap": 13.5275,
      "vwap_slope": 0.0505,
      "rvol": 0.17,
      "volume_acceleration": 1.04,
      "premarket_volume": 84686.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.66,
      "distance_from_pm_high_pct": 0.29,
      "extension_from_vwap_pct": 0.98,
      "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.7,
    "pm_low": 13.31
  },
  {
    "symbol": "SGRY",
    "total_score": 52.83,
    "raw_score": 56.0,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 0.56,
      "volume_acceleration": 1.92,
      "price_momentum": 0.11,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.87,
      "spread_liquidity": 4.76,
      "momentum_consistency": 2.88,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.175,
      "vwap": 14.1558,
      "vwap_slope": 0.0018,
      "rvol": 0.23,
      "volume_acceleration": 1.19,
      "premarket_volume": 116003.0,
      "momentum_pct": 0.07,
      "consolidation_tightness_pct": 0.21,
      "distance_from_pm_high_pct": 0.18,
      "extension_from_vwap_pct": 0.14,
      "spread_pct": 0.07
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 14.2,
    "pm_low": 14.105
  },
  {
    "symbol": "GSBD",
    "total_score": 52.77,
    "raw_score": 55.94,
    "breakdown": {
      "price_quality": 4.98,
      "volume_quality": 7.44,
      "rvol": 0.3,
      "volume_acceleration": 3.39,
      "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.67,
      "momentum_consistency": 2.73,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.98,
      "vwap": 9.9674,
      "vwap_slope": 0.0014,
      "rvol": 0.12,
      "volume_acceleration": 0.97,
      "premarket_volume": 62026.0,
      "momentum_pct": 0.05,
      "consolidation_tightness_pct": 0.05,
      "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.985,
    "pm_low": 9.95
  },
  {
    "symbol": "CRNC",
    "total_score": 52.62,
    "raw_score": 55.78,
    "breakdown": {
      "price_quality": 2.63,
      "volume_quality": 11.84,
      "rvol": 0.47,
      "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.4,
      "spread_liquidity": 4.56,
      "momentum_consistency": 1.28,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.63,
      "vwap": 7.6388,
      "vwap_slope": 0.0018,
      "rvol": 0.2,
      "volume_acceleration": 2.72,
      "premarket_volume": 98626.0,
      "momentum_pct": -0.26,
      "consolidation_tightness_pct": 0.26,
      "distance_from_pm_high_pct": 0.81,
      "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": true
    },
    "pm_high": 7.692,
    "pm_low": 7.57
  },
  {
    "symbol": "DCH",
    "total_score": 52.55,
    "raw_score": 55.7,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 1.48,
      "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.84,
      "spread_liquidity": 4.48,
      "momentum_consistency": 2.43,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.451,
      "vwap": 6.4372,
      "vwap_slope": 0.0022,
      "rvol": 0.62,
      "volume_acceleration": 0.44,
      "premarket_volume": 308148.0,
      "momentum_pct": 0.02,
      "consolidation_tightness_pct": 0.23,
      "distance_from_pm_high_pct": 0.22,
      "extension_from_vwap_pct": 0.21,
      "spread_pct": 0.15
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 6.465,
    "pm_low": 6.4
  },
  {
    "symbol": "LYG",
    "total_score": 52.51,
    "raw_score": 55.66,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 7.81,
      "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.81,
      "spread_liquidity": 4.45,
      "momentum_consistency": 1.68,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.055,
      "vwap": 6.0604,
      "vwap_slope": -0.0007,
      "rvol": 2.93,
      "volume_acceleration": 3.85,
      "premarket_volume": 1463826.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.25,
      "distance_from_pm_high_pct": 0.25,
      "extension_from_vwap_pct": -0.09,
      "spread_pct": 0.17
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 6.07,
    "pm_low": 6.05
  },
  {
    "symbol": "MARA",
    "total_score": 52.5,
    "raw_score": 55.65,
    "breakdown": {
      "price_quality": 3.64,
      "volume_quality": 12.0,
      "rvol": 12.0,
      "volume_acceleration": 3.14,
      "price_momentum": 0.17,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 4.56,
      "spread_liquidity": 4.71,
      "momentum_consistency": 3.03,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.3578,
      "vwap": 11.4037,
      "vwap_slope": -0.0105,
      "rvol": 10.74,
      "volume_acceleration": 0.9,
      "premarket_volume": 5367788.0,
      "momentum_pct": 0.11,
      "consolidation_tightness_pct": 0.51,
      "distance_from_pm_high_pct": 1.92,
      "extension_from_vwap_pct": -0.4,
      "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.58,
    "pm_low": 11.3
  },
  {
    "symbol": "RZLT",
    "total_score": 52.48,
    "raw_score": 55.63,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 1.13,
      "volume_acceleration": 2.24,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.55,
      "spread_liquidity": 4.34,
      "momentum_consistency": 2.47,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.02,
      "vwap": 5.0154,
      "vwap_slope": 0.0018,
      "rvol": 0.47,
      "volume_acceleration": 0.64,
      "premarket_volume": 234844.0,
      "momentum_pct": -0.1,
      "consolidation_tightness_pct": 0.2,
      "distance_from_pm_high_pct": 0.59,
      "extension_from_vwap_pct": 0.09,
      "spread_pct": 0.2
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 5.05,
    "pm_low": 4.98
  },
  {
    "symbol": "SVRA",
    "total_score": 52.43,
    "raw_score": 55.57,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 1.44,
      "volume_acceleration": 10,
      "price_momentum": 0.14,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.19,
      "spread_liquidity": 4.4,
      "momentum_consistency": 1.7,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.53,
      "vwap": 5.528,
      "vwap_slope": -0.0434,
      "rvol": 0.6,
      "volume_acceleration": 6.76,
      "premarket_volume": 300881.0,
      "momentum_pct": 0.09,
      "consolidation_tightness_pct": 0.72,
      "distance_from_pm_high_pct": 1.07,
      "extension_from_vwap_pct": 0.04,
      "spread_pct": 0.18
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 5.59,
    "pm_low": 5.495
  },
  {
    "symbol": "USDE",
    "total_score": 52.31,
    "raw_score": 55.45,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 2.98,
      "volume_acceleration": 2.58,
      "price_momentum": 0.68,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 6.81,
      "distance_from_pm_high": 4.31,
      "spread_liquidity": 2.81,
      "momentum_consistency": 3.39,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.07,
      "vwap": 5.9743,
      "vwap_slope": 0.0148,
      "rvol": 1.24,
      "volume_acceleration": 0.74,
      "premarket_volume": 620621.0,
      "momentum_pct": 0.45,
      "consolidation_tightness_pct": 4.79,
      "distance_from_pm_high_pct": 2.25,
      "extension_from_vwap_pct": 1.6,
      "spread_pct": 0.66
    },
    "flags": {
      "meets_min_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": 5.8
  },
  {
    "symbol": "SECZ",
    "total_score": 52.17,
    "raw_score": 55.3,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 1.13,
      "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.52,
      "spread_liquidity": 2.88,
      "momentum_consistency": 2.48,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.25,
      "vwap": 6.2352,
      "vwap_slope": 0.0026,
      "rvol": 0.47,
      "volume_acceleration": 1.34,
      "premarket_volume": 235021.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.78,
      "distance_from_pm_high_pct": 0.64,
      "extension_from_vwap_pct": 0.24,
      "spread_pct": 0.64
    },
    "flags": {
      "meets_min_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.29,
    "pm_low": 6.19
  },
  {
    "symbol": "FWRG",
    "total_score": 52.11,
    "raw_score": 55.24,
    "breakdown": {
      "price_quality": 1.84,
      "volume_quality": 12.0,
      "rvol": 1.29,
      "volume_acceleration": 0.5,
      "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.49,
      "momentum_consistency": 2.83,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.16,
      "vwap": 13.1074,
      "vwap_slope": 0.0048,
      "rvol": 0.54,
      "volume_acceleration": 0.14,
      "premarket_volume": 269472.0,
      "momentum_pct": -0.08,
      "consolidation_tightness_pct": 0.15,
      "distance_from_pm_high_pct": 0.15,
      "extension_from_vwap_pct": 0.4,
      "spread_pct": 0.15
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 13.18,
    "pm_low": 13.065
  },
  {
    "symbol": "YSS",
    "total_score": 51.99,
    "raw_score": 55.11,
    "breakdown": {
      "price_quality": 4.65,
      "volume_quality": 12.0,
      "rvol": 1.72,
      "volume_acceleration": 4.35,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.2,
      "spread_liquidity": 4.65,
      "momentum_consistency": 2.95,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.6458,
      "vwap": 9.657,
      "vwap_slope": 0.0071,
      "rvol": 0.72,
      "volume_acceleration": 1.43,
      "premarket_volume": 357929.0,
      "momentum_pct": -0.4,
      "consolidation_tightness_pct": 0.62,
      "distance_from_pm_high_pct": 1.07,
      "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": true
    },
    "pm_high": 9.75,
    "pm_low": 9.58
  },
  {
    "symbol": "BYND",
    "total_score": 51.78,
    "raw_score": 54.89,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 0.8,
      "volume_acceleration": 6.14,
      "price_momentum": 0.32,
      "price_structure": 12,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 4.93,
      "spread_liquidity": 4.29,
      "momentum_consistency": 2.91,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.195,
      "vwap": 14.2628,
      "vwap_slope": -0.0236,
      "rvol": 0.33,
      "volume_acceleration": 1.61,
      "premarket_volume": 167051.0,
      "momentum_pct": 0.21,
      "consolidation_tightness_pct": 0.6,
      "distance_from_pm_high_pct": 1.43,
      "extension_from_vwap_pct": -0.48,
      "spread_pct": 0.21
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 14.401,
    "pm_low": 14.115
  },
  {
    "symbol": "LCID",
    "total_score": 51.73,
    "raw_score": 54.84,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 5.31,
      "volume_acceleration": 3.65,
      "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.36,
      "momentum_consistency": 2.71,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.19,
      "vwap": 5.1901,
      "vwap_slope": 0.0015,
      "rvol": 1.99,
      "volume_acceleration": 1.36,
      "premarket_volume": 995169.0,
      "momentum_pct": -0.18,
      "consolidation_tightness_pct": 0.55,
      "distance_from_pm_high_pct": 0.38,
      "extension_from_vwap_pct": -0.0,
      "spread_pct": 0.19
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": true
    },
    "pm_high": 5.21,
    "pm_low": 5.17
  },
  {
    "symbol": "SSTK",
    "total_score": 51.68,
    "raw_score": 54.78,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 8.44,
      "rvol": 0.34,
      "volume_acceleration": 3.61,
      "price_momentum": 0.7,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.93,
      "spread_liquidity": 4.38,
      "momentum_consistency": 3.48,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.355,
      "vwap": 5.3162,
      "vwap_slope": 0.0075,
      "rvol": 0.14,
      "volume_acceleration": 1.04,
      "premarket_volume": 70369.0,
      "momentum_pct": 0.47,
      "consolidation_tightness_pct": 0.56,
      "distance_from_pm_high_pct": 0.09,
      "extension_from_vwap_pct": 0.73,
      "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.36,
    "pm_low": 5.28
  },
  {
    "symbol": "HTLD",
    "total_score": 51.68,
    "raw_score": 54.78,
    "breakdown": {
      "price_quality": 2.56,
      "volume_quality": 5.14,
      "rvol": 0.21,
      "volume_acceleration": 7.02,
      "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.46,
      "momentum_consistency": 3.08,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.44,
      "vwap": 12.4271,
      "vwap_slope": 0.0101,
      "rvol": 0.09,
      "volume_acceleration": 1.7,
      "premarket_volume": 42847.0,
      "momentum_pct": -0.12,
      "consolidation_tightness_pct": 0.2,
      "distance_from_pm_high_pct": 0.12,
      "extension_from_vwap_pct": 0.1,
      "spread_pct": 0.16
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 12.455,
    "pm_low": 12.4
  },
  {
    "symbol": "ALIT",
    "total_score": 51.64,
    "raw_score": 54.74,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 7.23,
      "rvol": 0.29,
      "volume_acceleration": 2.5,
      "price_momentum": 0.86,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.55,
      "spread_liquidity": 4.11,
      "momentum_consistency": 3.91,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.91,
      "vwap": 14.89,
      "vwap_slope": -0.0295,
      "rvol": 0.12,
      "volume_acceleration": 1.25,
      "premarket_volume": 60250.0,
      "momentum_pct": 0.57,
      "consolidation_tightness_pct": 0.84,
      "distance_from_pm_high_pct": 0.6,
      "extension_from_vwap_pct": 0.13,
      "spread_pct": 0.27
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 15.0,
    "pm_low": 14.785
  },
  {
    "symbol": "F",
    "total_score": 51.57,
    "raw_score": 54.67,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 12.0,
      "volume_acceleration": 2.77,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.78,
      "spread_liquidity": 4.76,
      "momentum_consistency": 3.45,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.91,
      "vwap": 13.9174,
      "vwap_slope": -0.0011,
      "rvol": 7.78,
      "volume_acceleration": 0.8,
      "premarket_volume": 3888652.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.22,
      "distance_from_pm_high_pct": 0.29,
      "extension_from_vwap_pct": -0.05,
      "spread_pct": 0.07
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 13.95,
    "pm_low": 13.89
  },
  {
    "symbol": "MAGN",
    "total_score": 51.47,
    "raw_score": 54.56,
    "breakdown": {
      "price_quality": 2.57,
      "volume_quality": 3.09,
      "rvol": 0.12,
      "volume_acceleration": 5.86,
      "price_momentum": 0.91,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.94,
      "spread_liquidity": 4.2,
      "momentum_consistency": 3.08,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.43,
      "vwap": 12.3928,
      "vwap_slope": -0.0164,
      "rvol": 0.05,
      "volume_acceleration": 1.59,
      "premarket_volume": 25713.0,
      "momentum_pct": 0.61,
      "consolidation_tightness_pct": 0.61,
      "distance_from_pm_high_pct": 0.08,
      "extension_from_vwap_pct": 0.3,
      "spread_pct": 0.24
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 12.44,
    "pm_low": 12.355
  },
  {
    "symbol": "HGTY",
    "total_score": 51.43,
    "raw_score": 54.52,
    "breakdown": {
      "price_quality": 1.66,
      "volume_quality": 2.78,
      "rvol": 0.11,
      "volume_acceleration": 2.91,
      "price_momentum": 0.06,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.83,
      "spread_liquidity": 3.75,
      "momentum_consistency": 1.41,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.34,
      "vwap": 13.3055,
      "vwap_slope": 0.0123,
      "rvol": 0.05,
      "volume_acceleration": 0.84,
      "premarket_volume": 23170.0,
      "momentum_pct": 0.04,
      "consolidation_tightness_pct": 0.45,
      "distance_from_pm_high_pct": 0.22,
      "extension_from_vwap_pct": 0.26,
      "spread_pct": 0.37
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 13.37,
    "pm_low": 13.26
  },
  {
    "symbol": "KBDC",
    "total_score": 51.36,
    "raw_score": 54.44,
    "breakdown": {
      "price_quality": 1.56,
      "volume_quality": 10.21,
      "rvol": 0.41,
      "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.5,
      "momentum_consistency": 2.35,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.44,
      "vwap": 13.4526,
      "vwap_slope": 0.0054,
      "rvol": 0.17,
      "volume_acceleration": 3.51,
      "premarket_volume": 85080.0,
      "momentum_pct": -0.19,
      "consolidation_tightness_pct": 0.3,
      "distance_from_pm_high_pct": 0.26,
      "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": true
    },
    "pm_high": 13.475,
    "pm_low": 13.43
  },
  {
    "symbol": "RES",
    "total_score": 51.2,
    "raw_score": 54.27,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 11.52,
      "rvol": 0.46,
      "volume_acceleration": 2.28,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 6,
      "spread_liquidity": 4.46,
      "momentum_consistency": 1.64,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.225,
      "vwap": 6.2138,
      "vwap_slope": 0.0036,
      "rvol": 0.19,
      "volume_acceleration": 0.66,
      "premarket_volume": 95998.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.16,
      "distance_from_pm_high_pct": 0.0,
      "extension_from_vwap_pct": 0.18,
      "spread_pct": 0.16
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 6.225,
    "pm_low": 6.19
  },
  {
    "symbol": "GPGI",
    "total_score": 50.94,
    "raw_score": 53.99,
    "breakdown": {
      "price_quality": 2.08,
      "volume_quality": 8.57,
      "rvol": 0.34,
      "volume_acceleration": 3.92,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.88,
      "spread_liquidity": 4.48,
      "momentum_consistency": 2.31,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.92,
      "vwap": 12.9131,
      "vwap_slope": 0.0054,
      "rvol": 0.14,
      "volume_acceleration": 1.13,
      "premarket_volume": 71454.0,
      "momentum_pct": -0.08,
      "consolidation_tightness_pct": 0.12,
      "distance_from_pm_high_pct": 0.15,
      "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": true,
      "vwap_rising": true
    },
    "pm_high": 12.94,
    "pm_low": 12.88
  },
  {
    "symbol": "SPIR",
    "total_score": 50.93,
    "raw_score": 53.99,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 9.11,
      "rvol": 0.36,
      "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.79,
      "spread_liquidity": 4.05,
      "momentum_consistency": 3.17,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.97,
      "vwap": 13.9228,
      "vwap_slope": 0.0119,
      "rvol": 0.15,
      "volume_acceleration": 1.04,
      "premarket_volume": 75879.0,
      "momentum_pct": -0.21,
      "consolidation_tightness_pct": 0.43,
      "distance_from_pm_high_pct": 0.29,
      "extension_from_vwap_pct": 0.34,
      "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": 14.01,
    "pm_low": 13.85
  },
  {
    "symbol": "SSTI",
    "total_score": 50.83,
    "raw_score": 53.88,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 5.58,
      "rvol": 0.22,
      "volume_acceleration": 10,
      "price_momentum": 0.25,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 4.88,
      "spread_liquidity": 2.76,
      "momentum_consistency": 2.29,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.94,
      "vwap": 5.911,
      "vwap_slope": 0.0147,
      "rvol": 0.09,
      "volume_acceleration": 2.25,
      "premarket_volume": 46516.0,
      "momentum_pct": 0.17,
      "consolidation_tightness_pct": 2.36,
      "distance_from_pm_high_pct": 1.49,
      "extension_from_vwap_pct": 0.49,
      "spread_pct": 0.67
    },
    "flags": {
      "meets_min_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.03,
    "pm_low": 5.8
  },
  {
    "symbol": "ACHR",
    "total_score": 50.76,
    "raw_score": 53.81,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 12.0,
      "volume_acceleration": 3.5,
      "price_momentum": 0.13,
      "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": 2.62,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.0701,
      "vwap": 6.0845,
      "vwap_slope": -0.0043,
      "rvol": 6.37,
      "volume_acceleration": 1.01,
      "premarket_volume": 3186653.0,
      "momentum_pct": 0.08,
      "consolidation_tightness_pct": 0.49,
      "distance_from_pm_high_pct": 1.06,
      "extension_from_vwap_pct": -0.24,
      "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.135,
    "pm_low": 6.05
  },
  {
    "symbol": "PHR",
    "total_score": 50.72,
    "raw_score": 53.77,
    "breakdown": {
      "price_quality": 3.21,
      "volume_quality": 8.17,
      "rvol": 0.33,
      "volume_acceleration": 2.92,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.84,
      "spread_liquidity": 4.72,
      "momentum_consistency": 2.18,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.79,
      "vwap": 11.7851,
      "vwap_slope": 0.0057,
      "rvol": 0.14,
      "volume_acceleration": 0.84,
      "premarket_volume": 68101.0,
      "momentum_pct": -0.04,
      "consolidation_tightness_pct": 0.17,
      "distance_from_pm_high_pct": 0.21,
      "extension_from_vwap_pct": 0.04,
      "spread_pct": 0.08
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 11.815,
    "pm_low": 11.76
  },
  {
    "symbol": "KODK",
    "total_score": 50.69,
    "raw_score": 53.74,
    "breakdown": {
      "price_quality": 4.65,
      "volume_quality": 11.66,
      "rvol": 0.47,
      "volume_acceleration": 1.89,
      "price_momentum": 0.16,
      "price_structure": 12,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.23,
      "spread_liquidity": 4.65,
      "momentum_consistency": 3.03,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.65,
      "vwap": 9.6715,
      "vwap_slope": -0.0098,
      "rvol": 0.19,
      "volume_acceleration": 0.54,
      "premarket_volume": 97147.0,
      "momentum_pct": 0.1,
      "consolidation_tightness_pct": 0.31,
      "distance_from_pm_high_pct": 1.03,
      "extension_from_vwap_pct": -0.22,
      "spread_pct": 0.1
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 9.75,
    "pm_low": 9.63
  },
  {
    "symbol": "AEG",
    "total_score": 50.52,
    "raw_score": 53.55,
    "breakdown": {
      "price_quality": 4.2,
      "volume_quality": 12.0,
      "rvol": 1.1,
      "volume_acceleration": 3.53,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.88,
      "spread_liquidity": 4.64,
      "momentum_consistency": 2.62,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.195,
      "vwap": 9.1966,
      "vwap_slope": 0.0002,
      "rvol": 0.46,
      "volume_acceleration": 1.01,
      "premarket_volume": 229542.0,
      "momentum_pct": -0.05,
      "consolidation_tightness_pct": 0.07,
      "distance_from_pm_high_pct": 0.16,
      "extension_from_vwap_pct": -0.02,
      "spread_pct": 0.11
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": true
    },
    "pm_high": 9.21,
    "pm_low": 9.18
  },
  {
    "symbol": "KD",
    "total_score": 50.51,
    "raw_score": 53.54,
    "breakdown": {
      "price_quality": 2.06,
      "volume_quality": 12.0,
      "rvol": 1.53,
      "volume_acceleration": 2.48,
      "price_momentum": 0.17,
      "price_structure": 12,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.51,
      "spread_liquidity": 4.74,
      "momentum_consistency": 3.03,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.935,
      "vwap": 12.9666,
      "vwap_slope": -0.0099,
      "rvol": 0.64,
      "volume_acceleration": 1.25,
      "premarket_volume": 319432.0,
      "momentum_pct": 0.12,
      "consolidation_tightness_pct": 0.23,
      "distance_from_pm_high_pct": 0.65,
      "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": false,
      "vwap_rising": false
    },
    "pm_high": 13.02,
    "pm_low": 12.91
  },
  {
    "symbol": "UFI",
    "total_score": 50.45,
    "raw_score": 53.47,
    "breakdown": {
      "price_quality": 2.86,
      "volume_quality": 3.1,
      "rvol": 0.12,
      "volume_acceleration": 10,
      "price_momentum": 0.96,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.76,
      "spread_liquidity": 1.6,
      "momentum_consistency": 2.67,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.855,
      "vwap": 7.8216,
      "vwap_slope": 0.0147,
      "rvol": 0.05,
      "volume_acceleration": 2.98,
      "premarket_volume": 25842.0,
      "momentum_pct": 0.64,
      "consolidation_tightness_pct": 0.77,
      "distance_from_pm_high_pct": 0.32,
      "extension_from_vwap_pct": 0.43,
      "spread_pct": 1.02
    },
    "flags": {
      "meets_min_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.88,
    "pm_low": 7.741
  },
  {
    "symbol": "FRMI",
    "total_score": 50.43,
    "raw_score": 53.46,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 8.92,
      "volume_acceleration": 6.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.07,
      "spread_liquidity": 4.4,
      "momentum_consistency": 2.48,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.56,
      "vwap": 5.5761,
      "vwap_slope": -0.0058,
      "rvol": 3.35,
      "volume_acceleration": 1.67,
      "premarket_volume": 1672907.0,
      "momentum_pct": -0.09,
      "consolidation_tightness_pct": 0.36,
      "distance_from_pm_high_pct": 1.24,
      "extension_from_vwap_pct": -0.29,
      "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.63,
    "pm_low": 5.55
  },
  {
    "symbol": "KOPN",
    "total_score": 50.12,
    "raw_score": 53.13,
    "breakdown": {
      "price_quality": 0.0,
      "volume_quality": 12.0,
      "rvol": 1.35,
      "volume_acceleration": 6.27,
      "price_momentum": 0.31,
      "price_structure": 12,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.23,
      "spread_liquidity": 4.31,
      "momentum_consistency": 1.66,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 4.815,
      "vwap": 4.8164,
      "vwap_slope": -0.0021,
      "rvol": 0.56,
      "volume_acceleration": 1.63,
      "premarket_volume": 281712.0,
      "momentum_pct": 0.21,
      "consolidation_tightness_pct": 0.42,
      "distance_from_pm_high_pct": 1.03,
      "extension_from_vwap_pct": -0.03,
      "spread_pct": 0.21
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 4.865,
    "pm_low": 4.78
  },
  {
    "symbol": "SLDB",
    "total_score": 50.12,
    "raw_score": 53.13,
    "breakdown": {
      "price_quality": 4.14,
      "volume_quality": 5.58,
      "rvol": 0.22,
      "volume_acceleration": 3.58,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.84,
      "spread_liquidity": 4.64,
      "momentum_consistency": 2.73,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.14,
      "vwap": 9.1396,
      "vwap_slope": 0.0048,
      "rvol": 0.09,
      "volume_acceleration": 1.36,
      "premarket_volume": 46537.0,
      "momentum_pct": -0.22,
      "consolidation_tightness_pct": 0.22,
      "distance_from_pm_high_pct": 0.22,
      "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": true,
      "vwap_rising": true
    },
    "pm_high": 9.16,
    "pm_low": 9.11
  },
  {
    "symbol": "FIRY",
    "total_score": 50.1,
    "raw_score": 53.1,
    "breakdown": {
      "price_quality": 4.26,
      "volume_quality": 4.7,
      "rvol": 0.19,
      "volume_acceleration": 2.45,
      "price_momentum": 0.0,
      "price_structure": 12,
      "vwap_structure": 1.2,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 4.96,
      "spread_liquidity": 3.2,
      "momentum_consistency": 4.14,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.26,
      "vwap": 9.2994,
      "vwap_slope": 0.0098,
      "rvol": 0.08,
      "volume_acceleration": 0.7,
      "premarket_volume": 39201.0,
      "momentum_pct": -0.32,
      "consolidation_tightness_pct": 0.7,
      "distance_from_pm_high_pct": 1.38,
      "extension_from_vwap_pct": -0.42,
      "spread_pct": 0.54
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": false,
      "vwap_rising": true
    },
    "pm_high": 9.39,
    "pm_low": 9.21
  },
  {
    "symbol": "RUN",
    "total_score": 50.09,
    "raw_score": 53.1,
    "breakdown": {
      "price_quality": 3.97,
      "volume_quality": 12.0,
      "rvol": 2.52,
      "volume_acceleration": 9.23,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.73,
      "spread_liquidity": 4.63,
      "momentum_consistency": 2.62,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.975,
      "vwap": 8.9802,
      "vwap_slope": -0.0032,
      "rvol": 1.05,
      "volume_acceleration": 1.92,
      "premarket_volume": 524931.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.17,
      "distance_from_pm_high_pct": 0.37,
      "extension_from_vwap_pct": -0.06,
      "spread_pct": 0.11
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 9.008,
    "pm_low": 8.965
  },
  {
    "symbol": "RIG",
    "total_score": 50.09,
    "raw_score": 53.1,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 12.0,
      "volume_acceleration": 3.16,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.42,
      "spread_liquidity": 4.42,
      "momentum_consistency": 2.21,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.745,
      "vwap": 5.765,
      "vwap_slope": -0.0016,
      "rvol": 5.52,
      "volume_acceleration": 0.91,
      "premarket_volume": 2761564.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.17,
      "distance_from_pm_high_pct": 0.78,
      "extension_from_vwap_pct": -0.35,
      "spread_pct": 0.17
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 5.79,
    "pm_low": 5.74
  },
  {
    "symbol": "SPT",
    "total_score": 50.08,
    "raw_score": 53.08,
    "breakdown": {
      "price_quality": 4.66,
      "volume_quality": 12.0,
      "rvol": 0.56,
      "volume_acceleration": 3.7,
      "price_momentum": 0.07,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.86,
      "spread_liquidity": 4.68,
      "momentum_consistency": 2.34,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.335,
      "vwap": 10.3287,
      "vwap_slope": -0.0001,
      "rvol": 0.23,
      "volume_acceleration": 1.07,
      "premarket_volume": 116865.0,
      "momentum_pct": 0.05,
      "consolidation_tightness_pct": 0.24,
      "distance_from_pm_high_pct": 0.19,
      "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": false
    },
    "pm_high": 10.355,
    "pm_low": 10.3
  },
  {
    "symbol": "CAL",
    "total_score": 50.06,
    "raw_score": 53.06,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 5.03,
      "rvol": 0.2,
      "volume_acceleration": 5.55,
      "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.27,
      "momentum_consistency": 4.28,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.67,
      "vwap": 13.6257,
      "vwap_slope": 0.0309,
      "rvol": 0.08,
      "volume_acceleration": 1.55,
      "premarket_volume": 41901.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.22,
      "distance_from_pm_high_pct": 0.22,
      "extension_from_vwap_pct": 0.32,
      "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.7,
    "pm_low": 13.555
  },
  {
    "symbol": "DXC",
    "total_score": 49.97,
    "raw_score": 52.96,
    "breakdown": {
      "price_quality": 4.24,
      "volume_quality": 12.0,
      "rvol": 1.32,
      "volume_acceleration": 10,
      "price_momentum": 0.14,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.69,
      "spread_liquidity": 4.69,
      "momentum_consistency": 2.48,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.755,
      "vwap": 10.7624,
      "vwap_slope": -0.0072,
      "rvol": 0.55,
      "volume_acceleration": 2.78,
      "premarket_volume": 274637.0,
      "momentum_pct": 0.09,
      "consolidation_tightness_pct": 0.37,
      "distance_from_pm_high_pct": 0.42,
      "extension_from_vwap_pct": -0.07,
      "spread_pct": 0.09
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 10.8,
    "pm_low": 10.735
  },
  {
    "symbol": "FUBO",
    "total_score": 49.85,
    "raw_score": 52.84,
    "breakdown": {
      "price_quality": 4.5,
      "volume_quality": 5.67,
      "rvol": 0.23,
      "volume_acceleration": 3.01,
      "price_momentum": 0.07,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.86,
      "spread_liquidity": 4.37,
      "momentum_consistency": 2.74,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.5,
      "vwap": 10.4786,
      "vwap_slope": 0.0124,
      "rvol": 0.09,
      "volume_acceleration": 1.3,
      "premarket_volume": 47276.0,
      "momentum_pct": 0.05,
      "consolidation_tightness_pct": 0.14,
      "distance_from_pm_high_pct": 0.19,
      "extension_from_vwap_pct": 0.2,
      "spread_pct": 0.19
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 10.52,
    "pm_low": 10.43
  },
  {
    "symbol": "AIRO",
    "total_score": 49.62,
    "raw_score": 52.6,
    "breakdown": {
      "price_quality": 3.19,
      "volume_quality": 4.77,
      "rvol": 0.19,
      "volume_acceleration": 9.44,
      "price_momentum": 0.46,
      "price_structure": 12,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.54,
      "spread_liquidity": 4.19,
      "momentum_consistency": 2.81,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.19,
      "vwap": 8.1951,
      "vwap_slope": -0.0202,
      "rvol": 0.08,
      "volume_acceleration": 1.94,
      "premarket_volume": 39769.0,
      "momentum_pct": 0.31,
      "consolidation_tightness_pct": 0.31,
      "distance_from_pm_high_pct": 0.61,
      "extension_from_vwap_pct": -0.06,
      "spread_pct": 0.24
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 8.24,
    "pm_low": 8.145
  },
  {
    "symbol": "SSL",
    "total_score": 49.61,
    "raw_score": 52.59,
    "breakdown": {
      "price_quality": 2.71,
      "volume_quality": 7.23,
      "rvol": 0.29,
      "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.87,
      "spread_liquidity": 4.73,
      "momentum_consistency": 2.16,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.289,
      "vwap": 12.2964,
      "vwap_slope": 0.0027,
      "rvol": 0.12,
      "volume_acceleration": 3.03,
      "premarket_volume": 60242.0,
      "momentum_pct": -0.01,
      "consolidation_tightness_pct": 0.16,
      "distance_from_pm_high_pct": 0.17,
      "extension_from_vwap_pct": -0.06,
      "spread_pct": 0.08
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": true
    },
    "pm_high": 12.31,
    "pm_low": 12.27
  },
  {
    "symbol": "NU",
    "total_score": 49.47,
    "raw_score": 52.44,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 12.0,
      "volume_acceleration": 1.59,
      "price_momentum": 0.1,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.59,
      "spread_liquidity": 4.77,
      "momentum_consistency": 2.48,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.7299,
      "vwap": 14.7529,
      "vwap_slope": -0.0029,
      "rvol": 10.03,
      "volume_acceleration": 1.16,
      "premarket_volume": 5016040.0,
      "momentum_pct": 0.07,
      "consolidation_tightness_pct": 0.41,
      "distance_from_pm_high_pct": 0.54,
      "extension_from_vwap_pct": -0.16,
      "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.81,
    "pm_low": 14.71
  },
  {
    "symbol": "MATV",
    "total_score": 49.45,
    "raw_score": 52.42,
    "breakdown": {
      "price_quality": 2.74,
      "volume_quality": 6.18,
      "rvol": 0.25,
      "volume_acceleration": 1.65,
      "price_momentum": 0.37,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 6,
      "spread_liquidity": 4.46,
      "momentum_consistency": 4.38,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.26,
      "vwap": 12.1635,
      "vwap_slope": 0.0188,
      "rvol": 0.1,
      "volume_acceleration": 0.48,
      "premarket_volume": 51467.0,
      "momentum_pct": 0.25,
      "consolidation_tightness_pct": 0.24,
      "distance_from_pm_high_pct": 0.0,
      "extension_from_vwap_pct": 0.79,
      "spread_pct": 0.16
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 12.26,
    "pm_low": 12.11
  },
  {
    "symbol": "IBRX",
    "total_score": 49.36,
    "raw_score": 52.33,
    "breakdown": {
      "price_quality": 2.54,
      "volume_quality": 12.0,
      "rvol": 2.68,
      "volume_acceleration": 10,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.11,
      "spread_liquidity": 4.56,
      "momentum_consistency": 3.03,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.545,
      "vwap": 7.5859,
      "vwap_slope": -0.0263,
      "rvol": 1.12,
      "volume_acceleration": 2.59,
      "premarket_volume": 557638.0,
      "momentum_pct": -0.13,
      "consolidation_tightness_pct": 0.26,
      "distance_from_pm_high_pct": 1.19,
      "extension_from_vwap_pct": -0.54,
      "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.6355,
    "pm_low": 7.51
  },
  {
    "symbol": "REAL",
    "total_score": 49.34,
    "raw_score": 52.3,
    "breakdown": {
      "price_quality": 3.92,
      "volume_quality": 12.0,
      "rvol": 0.85,
      "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.83,
      "spread_liquidity": 4.7,
      "momentum_consistency": 1.93,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.08,
      "vwap": 11.0849,
      "vwap_slope": 0.0008,
      "rvol": 0.35,
      "volume_acceleration": 1.0,
      "premarket_volume": 176741.0,
      "momentum_pct": -0.09,
      "consolidation_tightness_pct": 0.18,
      "distance_from_pm_high_pct": 0.23,
      "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": true
    },
    "pm_high": 11.105,
    "pm_low": 11.061
  },
  {
    "symbol": "SOPH",
    "total_score": 49.19,
    "raw_score": 52.14,
    "breakdown": {
      "price_quality": 3.45,
      "volume_quality": 6.48,
      "rvol": 0.26,
      "volume_acceleration": 2.24,
      "price_momentum": 0.18,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.87,
      "spread_liquidity": 4.21,
      "momentum_consistency": 3.06,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.45,
      "vwap": 8.4161,
      "vwap_slope": 0.0057,
      "rvol": 0.11,
      "volume_acceleration": 0.64,
      "premarket_volume": 54031.0,
      "momentum_pct": 0.12,
      "consolidation_tightness_pct": 0.24,
      "distance_from_pm_high_pct": 0.18,
      "extension_from_vwap_pct": 0.4,
      "spread_pct": 0.24
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 8.465,
    "pm_low": 8.36
  },
  {
    "symbol": "MAKO",
    "total_score": 49.06,
    "raw_score": 52.0,
    "breakdown": {
      "price_quality": 4.13,
      "volume_quality": 5.34,
      "rvol": 0.21,
      "volume_acceleration": 2.57,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.59,
      "spread_liquidity": 4.08,
      "momentum_consistency": 3.68,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.87,
      "vwap": 10.8477,
      "vwap_slope": 0.0006,
      "rvol": 0.09,
      "volume_acceleration": 0.74,
      "premarket_volume": 44494.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.28,
      "distance_from_pm_high_pct": 0.55,
      "extension_from_vwap_pct": 0.21,
      "spread_pct": 0.28
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 10.93,
    "pm_low": 10.79
  },
  {
    "symbol": "GNW",
    "total_score": 49.05,
    "raw_score": 52.0,
    "breakdown": {
      "price_quality": 4.9,
      "volume_quality": 12.0,
      "rvol": 1.02,
      "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.85,
      "spread_liquidity": 4.66,
      "momentum_consistency": 1.17,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.9,
      "vwap": 9.9067,
      "vwap_slope": -0.0028,
      "rvol": 0.42,
      "volume_acceleration": 2.97,
      "premarket_volume": 212335.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.0,
      "distance_from_pm_high_pct": 0.2,
      "extension_from_vwap_pct": -0.07,
      "spread_pct": 0.1
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 9.92,
    "pm_low": 9.9
  },
  {
    "symbol": "NOMD",
    "total_score": 48.96,
    "raw_score": 51.9,
    "breakdown": {
      "price_quality": 2.87,
      "volume_quality": 11.43,
      "rvol": 0.46,
      "volume_acceleration": 2.44,
      "price_momentum": 0.19,
      "price_structure": 12,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.75,
      "spread_liquidity": 4.73,
      "momentum_consistency": 2.04,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.13,
      "vwap": 12.1495,
      "vwap_slope": -0.0041,
      "rvol": 0.19,
      "volume_acceleration": 0.7,
      "premarket_volume": 95246.0,
      "momentum_pct": 0.12,
      "consolidation_tightness_pct": 0.17,
      "distance_from_pm_high_pct": 0.33,
      "extension_from_vwap_pct": -0.16,
      "spread_pct": 0.08
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 12.17,
    "pm_low": 12.115
  },
  {
    "symbol": "IMTX",
    "total_score": 48.89,
    "raw_score": 51.82,
    "breakdown": {
      "price_quality": 3.64,
      "volume_quality": 3.44,
      "rvol": 0.14,
      "volume_acceleration": 6.21,
      "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.23,
      "momentum_consistency": 1.93,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.64,
      "vwap": 8.6344,
      "vwap_slope": 0.0021,
      "rvol": 0.06,
      "volume_acceleration": 1.62,
      "premarket_volume": 28697.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.12,
      "distance_from_pm_high_pct": 0.23,
      "extension_from_vwap_pct": 0.07,
      "spread_pct": 0.23
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 8.66,
    "pm_low": 8.62
  },
  {
    "symbol": "LAND",
    "total_score": 48.83,
    "raw_score": 51.76,
    "breakdown": {
      "price_quality": 3.8,
      "volume_quality": 4.19,
      "rvol": 0.17,
      "volume_acceleration": 3.47,
      "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.62,
      "momentum_consistency": 3.15,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.805,
      "vwap": 8.7844,
      "vwap_slope": 0.0122,
      "rvol": 0.07,
      "volume_acceleration": 1.0,
      "premarket_volume": 34937.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.06,
      "distance_from_pm_high_pct": 0.06,
      "extension_from_vwap_pct": 0.24,
      "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.81,
    "pm_low": 8.755
  },
  {
    "symbol": "TU",
    "total_score": 48.77,
    "raw_score": 51.7,
    "breakdown": {
      "price_quality": 4.86,
      "volume_quality": 12.0,
      "rvol": 1.46,
      "volume_acceleration": 1.59,
      "price_momentum": 0.08,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.89,
      "spread_liquidity": 4.66,
      "momentum_consistency": 1.96,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.855,
      "vwap": 9.8514,
      "vwap_slope": -0.0003,
      "rvol": 0.61,
      "volume_acceleration": 1.16,
      "premarket_volume": 304469.0,
      "momentum_pct": 0.05,
      "consolidation_tightness_pct": 0.05,
      "distance_from_pm_high_pct": 0.15,
      "extension_from_vwap_pct": 0.04,
      "spread_pct": 0.1
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 9.87,
    "pm_low": 9.8208
  },
  {
    "symbol": "BETR",
    "total_score": 48.48,
    "raw_score": 51.39,
    "breakdown": {
      "price_quality": 3.14,
      "volume_quality": 6.9,
      "rvol": 0.28,
      "volume_acceleration": 2.71,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.45,
      "spread_liquidity": 3.31,
      "momentum_consistency": 3.2,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.86,
      "vwap": 11.8426,
      "vwap_slope": 0.0262,
      "rvol": 0.11,
      "volume_acceleration": 0.78,
      "premarket_volume": 57478.0,
      "momentum_pct": -0.42,
      "consolidation_tightness_pct": 0.92,
      "distance_from_pm_high_pct": 0.73,
      "extension_from_vwap_pct": 0.15,
      "spread_pct": 0.51
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 11.9471,
    "pm_low": 11.67
  },
  {
    "symbol": "CRGY",
    "total_score": 48.35,
    "raw_score": 51.25,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 1.71,
      "volume_acceleration": 3.06,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.73,
      "spread_liquidity": 4.76,
      "momentum_consistency": 2.9,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.74,
      "vwap": 13.7416,
      "vwap_slope": 0.007,
      "rvol": 0.71,
      "volume_acceleration": 1.31,
      "premarket_volume": 356277.0,
      "momentum_pct": -0.11,
      "consolidation_tightness_pct": 0.25,
      "distance_from_pm_high_pct": 0.36,
      "extension_from_vwap_pct": -0.01,
      "spread_pct": 0.07
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": true
    },
    "pm_high": 13.79,
    "pm_low": 13.69
  },
  {
    "symbol": "SGHC",
    "total_score": 48.18,
    "raw_score": 51.07,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 2.35,
      "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.63,
      "spread_liquidity": 4.52,
      "momentum_consistency": 2.67,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.03,
      "vwap": 14.0562,
      "vwap_slope": -0.004,
      "rvol": 0.98,
      "volume_acceleration": 6.9,
      "premarket_volume": 489289.0,
      "momentum_pct": -0.04,
      "consolidation_tightness_pct": 0.14,
      "distance_from_pm_high_pct": 0.5,
      "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": 14.1,
    "pm_low": 14.01
  },
  {
    "symbol": "NMFC",
    "total_score": 48.11,
    "raw_score": 50.99,
    "breakdown": {
      "price_quality": 2.62,
      "volume_quality": 5.9,
      "rvol": 0.24,
      "volume_acceleration": 2.5,
      "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.56,
      "momentum_consistency": 2.67,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.625,
      "vwap": 7.599,
      "vwap_slope": 0.0056,
      "rvol": 0.1,
      "volume_acceleration": 1.25,
      "premarket_volume": 49207.0,
      "momentum_pct": 0.07,
      "consolidation_tightness_pct": 0.13,
      "distance_from_pm_high_pct": 0.0,
      "extension_from_vwap_pct": 0.34,
      "spread_pct": 0.13
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 7.625,
    "pm_low": 7.585
  },
  {
    "symbol": "STUB",
    "total_score": 47.97,
    "raw_score": 50.85,
    "breakdown": {
      "price_quality": 1.7,
      "volume_quality": 12.0,
      "rvol": 1.85,
      "volume_acceleration": 3.78,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.78,
      "spread_liquidity": 4.5,
      "momentum_consistency": 2.04,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.705,
      "vwap": 6.7042,
      "vwap_slope": -0.0025,
      "rvol": 0.77,
      "volume_acceleration": 1.09,
      "premarket_volume": 384921.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.37,
      "distance_from_pm_high_pct": 0.3,
      "extension_from_vwap_pct": 0.01,
      "spread_pct": 0.15
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 6.725,
    "pm_low": 6.68
  },
  {
    "symbol": "PAYS",
    "total_score": 47.93,
    "raw_score": 50.81,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 8.02,
      "rvol": 0.32,
      "volume_acceleration": 1.49,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.62,
      "spread_liquidity": 4.03,
      "momentum_consistency": 3.43,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.74,
      "vwap": 13.7203,
      "vwap_slope": 0.0031,
      "rvol": 0.13,
      "volume_acceleration": 0.43,
      "premarket_volume": 66862.0,
      "momentum_pct": -0.04,
      "consolidation_tightness_pct": 0.24,
      "distance_from_pm_high_pct": 0.51,
      "extension_from_vwap_pct": 0.14,
      "spread_pct": 0.29
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 13.81,
    "pm_low": 13.65
  },
  {
    "symbol": "SXC",
    "total_score": 47.79,
    "raw_score": 50.66,
    "breakdown": {
      "price_quality": 4.66,
      "volume_quality": 10.41,
      "rvol": 0.42,
      "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.38,
      "spread_liquidity": 4.66,
      "momentum_consistency": 2.73,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.665,
      "vwap": 9.7076,
      "vwap_slope": -0.022,
      "rvol": 0.17,
      "volume_acceleration": 2.18,
      "premarket_volume": 86736.0,
      "momentum_pct": -0.1,
      "consolidation_tightness_pct": 0.16,
      "distance_from_pm_high_pct": 0.82,
      "extension_from_vwap_pct": -0.44,
      "spread_pct": 0.1
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 9.745,
    "pm_low": 9.655
  },
  {
    "symbol": "AES",
    "total_score": 47.67,
    "raw_score": 50.53,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 2.29,
      "volume_acceleration": 1.86,
      "price_momentum": 0.05,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.97,
      "spread_liquidity": 4.77,
      "momentum_consistency": 2.48,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.755,
      "vwap": 14.7552,
      "vwap_slope": 0.0001,
      "rvol": 0.95,
      "volume_acceleration": 1.19,
      "premarket_volume": 477327.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": true
    },
    "pm_high": 14.76,
    "pm_low": 14.75
  },
  {
    "symbol": "VOXR",
    "total_score": 47.34,
    "raw_score": 50.18,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 5.56,
      "rvol": 0.22,
      "volume_acceleration": 3.96,
      "price_momentum": 0.26,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 6,
      "spread_liquidity": 4.43,
      "momentum_consistency": 1.86,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.83,
      "vwap": 5.821,
      "vwap_slope": 0.0012,
      "rvol": 0.09,
      "volume_acceleration": 1.14,
      "premarket_volume": 46341.0,
      "momentum_pct": 0.17,
      "consolidation_tightness_pct": 0.17,
      "distance_from_pm_high_pct": 0.0,
      "extension_from_vwap_pct": 0.15,
      "spread_pct": 0.17
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 5.83,
    "pm_low": 5.81
  },
  {
    "symbol": "GLAS",
    "total_score": 47.2,
    "raw_score": 50.03,
    "breakdown": {
      "price_quality": 4.89,
      "volume_quality": 6.61,
      "rvol": 0.26,
      "volume_acceleration": 2.01,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.78,
      "spread_liquidity": 1.35,
      "momentum_consistency": 2.73,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.11,
      "vwap": 10.0527,
      "vwap_slope": 0.0196,
      "rvol": 0.11,
      "volume_acceleration": 0.58,
      "premarket_volume": 55070.0,
      "momentum_pct": -0.15,
      "consolidation_tightness_pct": 0.4,
      "distance_from_pm_high_pct": 0.3,
      "extension_from_vwap_pct": 0.57,
      "spread_pct": 1.09
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 10.14,
    "pm_low": 9.94
  },
  {
    "symbol": "ECVT",
    "total_score": 47.16,
    "raw_score": 49.99,
    "breakdown": {
      "price_quality": 4.95,
      "volume_quality": 12.0,
      "rvol": 0.65,
      "volume_acceleration": 7.26,
      "price_momentum": 0.22,
      "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": 2.11,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.055,
      "vwap": 10.0592,
      "vwap_slope": -0.0016,
      "rvol": 0.27,
      "volume_acceleration": 1.73,
      "premarket_volume": 135318.0,
      "momentum_pct": 0.15,
      "consolidation_tightness_pct": 0.25,
      "distance_from_pm_high_pct": 0.35,
      "extension_from_vwap_pct": -0.04,
      "spread_pct": 0.1
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 10.09,
    "pm_low": 10.035
  },
  {
    "symbol": "QUBT",
    "total_score": 47.12,
    "raw_score": 49.94,
    "breakdown": {
      "price_quality": 3.26,
      "volume_quality": 12.0,
      "rvol": 3.23,
      "volume_acceleration": 6.53,
      "price_momentum": 0.14,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.17,
      "spread_liquidity": 4.6,
      "momentum_consistency": 2.62,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.2576,
      "vwap": 8.2813,
      "vwap_slope": -0.0084,
      "rvol": 1.35,
      "volume_acceleration": 1.65,
      "premarket_volume": 673099.0,
      "momentum_pct": 0.09,
      "consolidation_tightness_pct": 0.36,
      "distance_from_pm_high_pct": 1.11,
      "extension_from_vwap_pct": -0.29,
      "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.35,
    "pm_low": 8.24
  },
  {
    "symbol": "HLMN",
    "total_score": 47.0,
    "raw_score": 49.82,
    "breakdown": {
      "price_quality": 3.29,
      "volume_quality": 12.0,
      "rvol": 0.52,
      "volume_acceleration": 2.02,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.86,
      "spread_liquidity": 4.6,
      "momentum_consistency": 2.33,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.295,
      "vwap": 8.295,
      "vwap_slope": -0.0005,
      "rvol": 0.22,
      "volume_acceleration": 1.2,
      "premarket_volume": 107667.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.3,
      "distance_from_pm_high_pct": 0.18,
      "extension_from_vwap_pct": 0.0,
      "spread_pct": 0.12
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 8.31,
    "pm_low": 8.28
  },
  {
    "symbol": "TAC",
    "total_score": 46.9,
    "raw_score": 49.72,
    "breakdown": {
      "price_quality": 2.88,
      "volume_quality": 12.0,
      "rvol": 0.56,
      "volume_acceleration": 1.64,
      "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.73,
      "momentum_consistency": 2.5,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.125,
      "vwap": 12.128,
      "vwap_slope": 0.0027,
      "rvol": 0.23,
      "volume_acceleration": 1.16,
      "premarket_volume": 116569.0,
      "momentum_pct": -0.12,
      "consolidation_tightness_pct": 0.21,
      "distance_from_pm_high_pct": 0.25,
      "extension_from_vwap_pct": -0.03,
      "spread_pct": 0.08
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": true
    },
    "pm_high": 12.155,
    "pm_low": 12.095
  },
  {
    "symbol": "AEBI",
    "total_score": 46.85,
    "raw_score": 49.66,
    "breakdown": {
      "price_quality": 2.62,
      "volume_quality": 2.92,
      "rvol": 0.12,
      "volume_acceleration": 3.96,
      "price_momentum": 0.24,
      "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.93,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.38,
      "vwap": 12.3305,
      "vwap_slope": 0.012,
      "rvol": 0.05,
      "volume_acceleration": 1.14,
      "premarket_volume": 24373.0,
      "momentum_pct": 0.16,
      "consolidation_tightness_pct": 0.4,
      "distance_from_pm_high_pct": 0.0,
      "extension_from_vwap_pct": 0.4,
      "spread_pct": 0.16
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 12.38,
    "pm_low": 12.29
  },
  {
    "symbol": "VISN",
    "total_score": 46.81,
    "raw_score": 49.62,
    "breakdown": {
      "price_quality": 4.11,
      "volume_quality": 12.0,
      "rvol": 5.49,
      "volume_acceleration": 3.95,
      "price_momentum": 0.14,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.22,
      "spread_liquidity": 4.69,
      "momentum_consistency": 1.63,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.895,
      "vwap": 10.9287,
      "vwap_slope": -0.0196,
      "rvol": 2.06,
      "volume_acceleration": 1.14,
      "premarket_volume": 1029009.0,
      "momentum_pct": 0.09,
      "consolidation_tightness_pct": 0.28,
      "distance_from_pm_high_pct": 1.04,
      "extension_from_vwap_pct": -0.31,
      "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.01,
    "pm_low": 10.88
  },
  {
    "symbol": "YEXT",
    "total_score": 46.67,
    "raw_score": 49.47,
    "breakdown": {
      "price_quality": 1.56,
      "volume_quality": 5.59,
      "rvol": 0.22,
      "volume_acceleration": 1.98,
      "price_momentum": 0.11,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.94,
      "spread_liquidity": 4.49,
      "momentum_consistency": 3.17,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.56,
      "vwap": 6.5408,
      "vwap_slope": 0.0069,
      "rvol": 0.09,
      "volume_acceleration": 1.2,
      "premarket_volume": 46596.0,
      "momentum_pct": 0.08,
      "consolidation_tightness_pct": 0.15,
      "distance_from_pm_high_pct": 0.08,
      "extension_from_vwap_pct": 0.29,
      "spread_pct": 0.15
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 6.565,
    "pm_low": 6.51
  },
  {
    "symbol": "AGEN",
    "total_score": 46.63,
    "raw_score": 49.42,
    "breakdown": {
      "price_quality": 2.69,
      "volume_quality": 12.0,
      "rvol": 0.54,
      "volume_acceleration": 10,
      "price_momentum": 0.2,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.23,
      "spread_liquidity": 4.13,
      "momentum_consistency": 2.24,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.69,
      "vwap": 7.6927,
      "vwap_slope": -0.0125,
      "rvol": 0.22,
      "volume_acceleration": 2.41,
      "premarket_volume": 111958.0,
      "momentum_pct": 0.13,
      "consolidation_tightness_pct": 1.04,
      "distance_from_pm_high_pct": 1.03,
      "extension_from_vwap_pct": -0.04,
      "spread_pct": 0.26
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 7.77,
    "pm_low": 7.64
  },
  {
    "symbol": "ANNX",
    "total_score": 46.62,
    "raw_score": 49.41,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 0.61,
      "volume_acceleration": 3.39,
      "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.33,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.105,
      "vwap": 5.1094,
      "vwap_slope": 0.0006,
      "rvol": 0.25,
      "volume_acceleration": 0.98,
      "premarket_volume": 127099.0,
      "momentum_pct": -0.2,
      "consolidation_tightness_pct": 0.2,
      "distance_from_pm_high_pct": 0.49,
      "extension_from_vwap_pct": -0.09,
      "spread_pct": 0.2
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": true
    },
    "pm_high": 5.13,
    "pm_low": 5.09
  },
  {
    "symbol": "IMMX",
    "total_score": 46.6,
    "raw_score": 49.39,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 1.1,
      "volume_acceleration": 2.04,
      "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": 3.02,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.65,
      "vwap": 13.6508,
      "vwap_slope": 0.0071,
      "rvol": 0.46,
      "volume_acceleration": 0.59,
      "premarket_volume": 229831.0,
      "momentum_pct": -0.22,
      "consolidation_tightness_pct": 0.34,
      "distance_from_pm_high_pct": 0.51,
      "extension_from_vwap_pct": -0.01,
      "spread_pct": 0.15
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": true
    },
    "pm_high": 13.72,
    "pm_low": 13.57
  },
  {
    "symbol": "XPOF",
    "total_score": 46.6,
    "raw_score": 49.39,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 3.9,
      "rvol": 0.16,
      "volume_acceleration": 3.94,
      "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.35,
      "momentum_consistency": 3.08,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.125,
      "vwap": 5.1051,
      "vwap_slope": 0.0149,
      "rvol": 0.06,
      "volume_acceleration": 1.13,
      "premarket_volume": 32461.0,
      "momentum_pct": 0.1,
      "consolidation_tightness_pct": 0.2,
      "distance_from_pm_high_pct": 0.1,
      "extension_from_vwap_pct": 0.39,
      "spread_pct": 0.2
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 5.13,
    "pm_low": 5.06
  },
  {
    "symbol": "RXST",
    "total_score": 46.54,
    "raw_score": 49.33,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 5.06,
      "rvol": 0.2,
      "volume_acceleration": 2.52,
      "price_momentum": 0.24,
      "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": 3.29,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.305,
      "vwap": 6.2941,
      "vwap_slope": 0.0028,
      "rvol": 0.08,
      "volume_acceleration": 0.73,
      "premarket_volume": 42167.0,
      "momentum_pct": 0.16,
      "consolidation_tightness_pct": 0.24,
      "distance_from_pm_high_pct": 0.47,
      "extension_from_vwap_pct": 0.17,
      "spread_pct": 0.16
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 6.335,
    "pm_low": 6.26
  },
  {
    "symbol": "CRCT",
    "total_score": 46.53,
    "raw_score": 49.32,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 7.56,
      "rvol": 0.3,
      "volume_acceleration": 1.74,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.87,
      "spread_liquidity": 4.41,
      "momentum_consistency": 1.54,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.695,
      "vwap": 5.6901,
      "vwap_slope": 0.0024,
      "rvol": 0.13,
      "volume_acceleration": 1.17,
      "premarket_volume": 62968.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.18,
      "distance_from_pm_high_pct": 0.18,
      "extension_from_vwap_pct": 0.09,
      "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.705,
    "pm_low": 5.675
  },
  {
    "symbol": "MRTN",
    "total_score": 46.41,
    "raw_score": 49.19,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 4.31,
      "rvol": 0.17,
      "volume_acceleration": 2.8,
      "price_momentum": 0.26,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.97,
      "spread_liquidity": 4.55,
      "momentum_consistency": 3.24,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.67,
      "vwap": 14.6312,
      "vwap_slope": 0.0089,
      "rvol": 0.07,
      "volume_acceleration": 0.8,
      "premarket_volume": 35883.0,
      "momentum_pct": 0.17,
      "consolidation_tightness_pct": 0.21,
      "distance_from_pm_high_pct": 0.04,
      "extension_from_vwap_pct": 0.27,
      "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.6765,
    "pm_low": 14.59
  },
  {
    "symbol": "QXO",
    "total_score": 46.38,
    "raw_score": 49.16,
    "breakdown": {
      "price_quality": 1.56,
      "volume_quality": 12.0,
      "rvol": 7.45,
      "volume_acceleration": 2.76,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.35,
      "spread_liquidity": 4.75,
      "momentum_consistency": 2.9,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.4384,
      "vwap": 13.495,
      "vwap_slope": -0.0086,
      "rvol": 2.79,
      "volume_acceleration": 1.28,
      "premarket_volume": 1396261.0,
      "momentum_pct": -0.09,
      "consolidation_tightness_pct": 0.3,
      "distance_from_pm_high_pct": 0.86,
      "extension_from_vwap_pct": -0.42,
      "spread_pct": 0.07
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 13.5555,
    "pm_low": 13.4301
  },
  {
    "symbol": "CRMD",
    "total_score": 46.35,
    "raw_score": 49.13,
    "breakdown": {
      "price_quality": 3.27,
      "volume_quality": 10.46,
      "rvol": 0.42,
      "volume_acceleration": 2.85,
      "price_momentum": 0.27,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.73,
      "spread_liquidity": 4.6,
      "momentum_consistency": 2.34,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.265,
      "vwap": 8.2604,
      "vwap_slope": -0.0041,
      "rvol": 0.17,
      "volume_acceleration": 1.29,
      "premarket_volume": 87135.0,
      "momentum_pct": 0.18,
      "consolidation_tightness_pct": 0.3,
      "distance_from_pm_high_pct": 0.36,
      "extension_from_vwap_pct": 0.06,
      "spread_pct": 0.12
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 8.295,
    "pm_low": 8.235
  },
  {
    "symbol": "AVPT",
    "total_score": 46.33,
    "raw_score": 49.1,
    "breakdown": {
      "price_quality": 1.69,
      "volume_quality": 12.0,
      "rvol": 0.52,
      "volume_acceleration": 2.59,
      "price_momentum": 0.17,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.83,
      "spread_liquidity": 4.75,
      "momentum_consistency": 2.35,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.315,
      "vwap": 13.3139,
      "vwap_slope": -0.0004,
      "rvol": 0.22,
      "volume_acceleration": 0.75,
      "premarket_volume": 108815.0,
      "momentum_pct": 0.11,
      "consolidation_tightness_pct": 0.26,
      "distance_from_pm_high_pct": 0.22,
      "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": false
    },
    "pm_high": 13.345,
    "pm_low": 13.28
  },
  {
    "symbol": "LXU",
    "total_score": 46.29,
    "raw_score": 49.07,
    "breakdown": {
      "price_quality": 4.37,
      "volume_quality": 12.0,
      "rvol": 0.5,
      "volume_acceleration": 6.41,
      "price_momentum": 0.07,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.16,
      "spread_liquidity": 4.69,
      "momentum_consistency": 3.48,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.635,
      "vwap": 10.702,
      "vwap_slope": -0.0291,
      "rvol": 0.21,
      "volume_acceleration": 1.64,
      "premarket_volume": 103751.0,
      "momentum_pct": 0.05,
      "consolidation_tightness_pct": 0.34,
      "distance_from_pm_high_pct": 1.12,
      "extension_from_vwap_pct": -0.63,
      "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.755,
    "pm_low": 10.61
  },
  {
    "symbol": "NUVB",
    "total_score": 46.28,
    "raw_score": 49.06,
    "breakdown": {
      "price_quality": 1.76,
      "volume_quality": 12.0,
      "rvol": 1.55,
      "volume_acceleration": 2.41,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.56,
      "spread_liquidity": 4.51,
      "momentum_consistency": 2.07,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.76,
      "vwap": 6.7542,
      "vwap_slope": -0.0039,
      "rvol": 0.65,
      "volume_acceleration": 1.24,
      "premarket_volume": 323621.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.3,
      "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": true,
      "vwap_rising": false
    },
    "pm_high": 6.8,
    "pm_low": 6.73
  },
  {
    "symbol": "GFR",
    "total_score": 46.25,
    "raw_score": 49.02,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 0.62,
      "volume_acceleration": 2.85,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.53,
      "spread_liquidity": 3.95,
      "momentum_consistency": 2.97,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.37,
      "vwap": 6.3705,
      "vwap_slope": 0.0047,
      "rvol": 0.26,
      "volume_acceleration": 0.82,
      "premarket_volume": 128267.0,
      "momentum_pct": -0.31,
      "consolidation_tightness_pct": 0.55,
      "distance_from_pm_high_pct": 0.62,
      "extension_from_vwap_pct": -0.01,
      "spread_pct": 0.31
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": true
    },
    "pm_high": 6.41,
    "pm_low": 6.33
  },
  {
    "symbol": "CLSK",
    "total_score": 46.13,
    "raw_score": 48.9,
    "breakdown": {
      "price_quality": 2.97,
      "volume_quality": 12.0,
      "rvol": 6.14,
      "volume_acceleration": 3.44,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 4.74,
      "spread_liquidity": 4.72,
      "momentum_consistency": 2.48,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.03,
      "vwap": 12.0998,
      "vwap_slope": -0.0108,
      "rvol": 2.3,
      "volume_acceleration": 0.99,
      "premarket_volume": 1151105.0,
      "momentum_pct": -0.21,
      "consolidation_tightness_pct": 0.43,
      "distance_from_pm_high_pct": 1.68,
      "extension_from_vwap_pct": -0.58,
      "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.235,
    "pm_low": 12.02
  },
  {
    "symbol": "DOLE",
    "total_score": 46.12,
    "raw_score": 48.89,
    "breakdown": {
      "price_quality": 1.55,
      "volume_quality": 10.97,
      "rvol": 0.44,
      "volume_acceleration": 3.65,
      "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.75,
      "momentum_consistency": 2.04,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.445,
      "vwap": 13.4457,
      "vwap_slope": 0.0005,
      "rvol": 0.18,
      "volume_acceleration": 1.36,
      "premarket_volume": 91386.0,
      "momentum_pct": -0.07,
      "consolidation_tightness_pct": 0.11,
      "distance_from_pm_high_pct": 0.15,
      "extension_from_vwap_pct": -0.01,
      "spread_pct": 0.07
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": true
    },
    "pm_high": 13.465,
    "pm_low": 13.43
  },
  {
    "symbol": "ADMA",
    "total_score": 46.01,
    "raw_score": 48.77,
    "breakdown": {
      "price_quality": 4.61,
      "volume_quality": 12.0,
      "rvol": 0.83,
      "volume_acceleration": 6.35,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.61,
      "spread_liquidity": 4.65,
      "momentum_consistency": 2.31,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.61,
      "vwap": 9.6253,
      "vwap_slope": -0.0016,
      "rvol": 0.35,
      "volume_acceleration": 1.64,
      "premarket_volume": 173236.0,
      "momentum_pct": -0.05,
      "consolidation_tightness_pct": 0.21,
      "distance_from_pm_high_pct": 0.52,
      "extension_from_vwap_pct": -0.16,
      "spread_pct": 0.1
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 9.66,
    "pm_low": 9.605
  },
  {
    "symbol": "GCMG",
    "total_score": 45.96,
    "raw_score": 48.72,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 3.65,
      "rvol": 0.15,
      "volume_acceleration": 10,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.78,
      "spread_liquidity": 4.51,
      "momentum_consistency": 3.53,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.66,
      "vwap": 13.6714,
      "vwap_slope": 0.0117,
      "rvol": 0.06,
      "volume_acceleration": 2.45,
      "premarket_volume": 30396.0,
      "momentum_pct": -0.22,
      "consolidation_tightness_pct": 0.4,
      "distance_from_pm_high_pct": 0.29,
      "extension_from_vwap_pct": -0.08,
      "spread_pct": 0.15
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": true
    },
    "pm_high": 13.7,
    "pm_low": 13.64
  },
  {
    "symbol": "TOP",
    "total_score": 45.88,
    "raw_score": 48.63,
    "breakdown": {
      "price_quality": 0.0,
      "volume_quality": 4.75,
      "rvol": 0.19,
      "volume_acceleration": 2.6,
      "price_momentum": 5.01,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 7.82,
      "distance_from_pm_high": 5.93,
      "spread_liquidity": 0.31,
      "momentum_consistency": 3.64,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 15.725,
      "vwap": 15.4197,
      "vwap_slope": 0.0696,
      "rvol": 0.08,
      "volume_acceleration": 0.75,
      "premarket_volume": 39562.0,
      "momentum_pct": 3.34,
      "consolidation_tightness_pct": 3.27,
      "distance_from_pm_high_pct": 0.1,
      "extension_from_vwap_pct": 1.98,
      "spread_pct": 1.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": 15.74,
    "pm_low": 14.745
  },
  {
    "symbol": "DSP",
    "total_score": 45.82,
    "raw_score": 48.57,
    "breakdown": {
      "price_quality": 2.78,
      "volume_quality": 3.47,
      "rvol": 0.14,
      "volume_acceleration": 2.65,
      "price_momentum": 0.37,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.82,
      "spread_liquidity": 3.91,
      "momentum_consistency": 3.03,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.22,
      "vwap": 12.205,
      "vwap_slope": 0.0049,
      "rvol": 0.06,
      "volume_acceleration": 0.76,
      "premarket_volume": 28929.0,
      "momentum_pct": 0.25,
      "consolidation_tightness_pct": 0.41,
      "distance_from_pm_high_pct": 0.24,
      "extension_from_vwap_pct": 0.12,
      "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.25,
    "pm_low": 12.16
  },
  {
    "symbol": "BSM",
    "total_score": 45.8,
    "raw_score": 48.55,
    "breakdown": {
      "price_quality": 0.0,
      "volume_quality": 5.53,
      "rvol": 0.22,
      "volume_acceleration": 3.24,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.91,
      "spread_liquidity": 4.78,
      "momentum_consistency": 2.46,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 15.0623,
      "vwap": 15.0401,
      "vwap_slope": 0.0172,
      "rvol": 0.09,
      "volume_acceleration": 0.93,
      "premarket_volume": 46081.0,
      "momentum_pct": -0.05,
      "consolidation_tightness_pct": 0.13,
      "distance_from_pm_high_pct": 0.12,
      "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.08,
    "pm_low": 15.0
  },
  {
    "symbol": "IHS",
    "total_score": 45.68,
    "raw_score": 48.42,
    "breakdown": {
      "price_quality": 3.33,
      "volume_quality": 12.0,
      "rvol": 2.04,
      "volume_acceleration": 0.23,
      "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.6,
      "momentum_consistency": 0.71,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.33,
      "vwap": 8.3307,
      "vwap_slope": 0.0,
      "rvol": 0.85,
      "volume_acceleration": 0.07,
      "premarket_volume": 424135.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.12,
      "distance_from_pm_high_pct": 0.12,
      "extension_from_vwap_pct": -0.01,
      "spread_pct": 0.12
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": true
    },
    "pm_high": 8.34,
    "pm_low": 8.32
  },
  {
    "symbol": "SLRC",
    "total_score": 45.67,
    "raw_score": 48.41,
    "breakdown": {
      "price_quality": 2.32,
      "volume_quality": 4.15,
      "rvol": 0.17,
      "volume_acceleration": 1.79,
      "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.74,
      "momentum_consistency": 2.84,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.68,
      "vwap": 12.6525,
      "vwap_slope": 0.0072,
      "rvol": 0.07,
      "volume_acceleration": 0.51,
      "premarket_volume": 34608.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.04,
      "distance_from_pm_high_pct": 0.0,
      "extension_from_vwap_pct": 0.22,
      "spread_pct": 0.08
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 12.68,
    "pm_low": 12.63
  },
  {
    "symbol": "NMR",
    "total_score": 45.58,
    "raw_score": 48.31,
    "breakdown": {
      "price_quality": 4.76,
      "volume_quality": 6.96,
      "rvol": 0.28,
      "volume_acceleration": 3.84,
      "price_momentum": 0.06,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.96,
      "spread_liquidity": 4.66,
      "momentum_consistency": 2.6,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.755,
      "vwap": 9.7531,
      "vwap_slope": -0.0004,
      "rvol": 0.12,
      "volume_acceleration": 1.1,
      "premarket_volume": 57983.0,
      "momentum_pct": 0.04,
      "consolidation_tightness_pct": 0.05,
      "distance_from_pm_high_pct": 0.05,
      "extension_from_vwap_pct": 0.02,
      "spread_pct": 0.1
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 9.76,
    "pm_low": 9.74
  },
  {
    "symbol": "ABSI",
    "total_score": 45.21,
    "raw_score": 47.92,
    "breakdown": {
      "price_quality": 3.84,
      "volume_quality": 12.0,
      "rvol": 0.77,
      "volume_acceleration": 5.49,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.49,
      "spread_liquidity": 4.62,
      "momentum_consistency": 3.31,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.835,
      "vwap": 8.8566,
      "vwap_slope": -0.0071,
      "rvol": 0.32,
      "volume_acceleration": 1.55,
      "premarket_volume": 161095.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.06,
      "distance_from_pm_high_pct": 0.67,
      "extension_from_vwap_pct": -0.24,
      "spread_pct": 0.11
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 8.895,
    "pm_low": 8.82
  },
  {
    "symbol": "CPRI",
    "total_score": 45.2,
    "raw_score": 47.91,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 1.17,
      "volume_acceleration": 7.37,
      "price_momentum": 0.11,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.51,
      "spread_liquidity": 4.76,
      "momentum_consistency": 3.09,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.755,
      "vwap": 13.7905,
      "vwap_slope": -0.0128,
      "rvol": 0.49,
      "volume_acceleration": 1.74,
      "premarket_volume": 244021.0,
      "momentum_pct": 0.07,
      "consolidation_tightness_pct": 0.29,
      "distance_from_pm_high_pct": 0.65,
      "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": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 13.845,
    "pm_low": 13.74
  },
  {
    "symbol": "CARS",
    "total_score": 45.17,
    "raw_score": 47.88,
    "breakdown": {
      "price_quality": 2.66,
      "volume_quality": 3.27,
      "rvol": 0.13,
      "volume_acceleration": 2.18,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.82,
      "spread_liquidity": 4.46,
      "momentum_consistency": 2.96,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.34,
      "vwap": 12.3392,
      "vwap_slope": 0.0168,
      "rvol": 0.05,
      "volume_acceleration": 1.22,
      "premarket_volume": 27231.0,
      "momentum_pct": -0.24,
      "consolidation_tightness_pct": 0.4,
      "distance_from_pm_high_pct": 0.24,
      "extension_from_vwap_pct": 0.01,
      "spread_pct": 0.16
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 12.37,
    "pm_low": 12.31
  },
  {
    "symbol": "LFST",
    "total_score": 45.11,
    "raw_score": 47.81,
    "breakdown": {
      "price_quality": 2.71,
      "volume_quality": 12.0,
      "rvol": 1.01,
      "volume_acceleration": 7.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.49,
      "spread_liquidity": 4.73,
      "momentum_consistency": 1.52,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.295,
      "vwap": 12.3338,
      "vwap_slope": -0.0167,
      "rvol": 0.42,
      "volume_acceleration": 1.8,
      "premarket_volume": 209783.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.28,
      "distance_from_pm_high_pct": 0.69,
      "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.38,
    "pm_low": 12.275
  },
  {
    "symbol": "EROC",
    "total_score": 45.04,
    "raw_score": 47.74,
    "breakdown": {
      "price_quality": 1.66,
      "volume_quality": 12.0,
      "rvol": 0.66,
      "volume_acceleration": 8.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.33,
      "spread_liquidity": 4.0,
      "momentum_consistency": 2.96,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.34,
      "vwap": 13.3463,
      "vwap_slope": -0.0039,
      "rvol": 0.28,
      "volume_acceleration": 1.87,
      "premarket_volume": 137514.0,
      "momentum_pct": -0.07,
      "consolidation_tightness_pct": 0.52,
      "distance_from_pm_high_pct": 0.89,
      "extension_from_vwap_pct": -0.05,
      "spread_pct": 0.3
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 13.46,
    "pm_low": 13.27
  },
  {
    "symbol": "PSFE",
    "total_score": 45.03,
    "raw_score": 47.73,
    "breakdown": {
      "price_quality": 1.71,
      "volume_quality": 4.67,
      "rvol": 0.19,
      "volume_acceleration": 2.52,
      "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.01,
      "momentum_consistency": 2.57,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.71,
      "vwap": 6.7085,
      "vwap_slope": 0.0021,
      "rvol": 0.08,
      "volume_acceleration": 0.72,
      "premarket_volume": 38930.0,
      "momentum_pct": -0.22,
      "consolidation_tightness_pct": 0.3,
      "distance_from_pm_high_pct": 0.45,
      "extension_from_vwap_pct": 0.02,
      "spread_pct": 0.3
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 6.74,
    "pm_low": 6.67
  },
  {
    "symbol": "QUAD",
    "total_score": 44.85,
    "raw_score": 47.54,
    "breakdown": {
      "price_quality": 4.68,
      "volume_quality": 2.88,
      "rvol": 0.12,
      "volume_acceleration": 1.41,
      "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": 3.39,
      "momentum_consistency": 2.57,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.325,
      "vwap": 10.3007,
      "vwap_slope": 0.0056,
      "rvol": 0.05,
      "volume_acceleration": 0.41,
      "premarket_volume": 23966.0,
      "momentum_pct": 0.1,
      "consolidation_tightness_pct": 0.25,
      "distance_from_pm_high_pct": 0.05,
      "extension_from_vwap_pct": 0.24,
      "spread_pct": 0.48
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 10.33,
    "pm_low": 10.285
  },
  {
    "symbol": "WEN",
    "total_score": 44.84,
    "raw_score": 47.53,
    "breakdown": {
      "price_quality": 3.87,
      "volume_quality": 12.0,
      "rvol": 1.44,
      "volume_acceleration": 5.04,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.77,
      "spread_liquidity": 4.62,
      "momentum_consistency": 2.39,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.8723,
      "vwap": 8.8849,
      "vwap_slope": -0.0006,
      "rvol": 0.6,
      "volume_acceleration": 1.5,
      "premarket_volume": 299576.0,
      "momentum_pct": -0.03,
      "consolidation_tightness_pct": 0.23,
      "distance_from_pm_high_pct": 0.31,
      "extension_from_vwap_pct": -0.14,
      "spread_pct": 0.11
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 8.9,
    "pm_low": 8.87
  },
  {
    "symbol": "OCC",
    "total_score": 44.66,
    "raw_score": 47.34,
    "breakdown": {
      "price_quality": 1.79,
      "volume_quality": 3.63,
      "rvol": 0.15,
      "volume_acceleration": 10,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.16,
      "spread_liquidity": 2.98,
      "momentum_consistency": 4.44,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.21,
      "vwap": 13.1997,
      "vwap_slope": -0.1322,
      "rvol": 0.06,
      "volume_acceleration": 3.53,
      "premarket_volume": 30246.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.68,
      "distance_from_pm_high_pct": 1.12,
      "extension_from_vwap_pct": 0.08,
      "spread_pct": 0.61
    },
    "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.36,
    "pm_low": 13.14
  },
  {
    "symbol": "RUM",
    "total_score": 44.52,
    "raw_score": 47.19,
    "breakdown": {
      "price_quality": 4.26,
      "volume_quality": 12.0,
      "rvol": 4.13,
      "volume_acceleration": 4.66,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 2.89,
      "spread_liquidity": 4.64,
      "momentum_consistency": 2.21,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.26,
      "vwap": 9.4589,
      "vwap_slope": -0.0819,
      "rvol": 1.55,
      "volume_acceleration": 1.47,
      "premarket_volume": 774024.0,
      "momentum_pct": -0.27,
      "consolidation_tightness_pct": 0.7,
      "distance_from_pm_high_pct": 4.14,
      "extension_from_vwap_pct": -2.1,
      "spread_pct": 0.11
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 9.66,
    "pm_low": 9.255
  },
  {
    "symbol": "XHLD",
    "total_score": 44.49,
    "raw_score": 47.16,
    "breakdown": {
      "price_quality": 2.52,
      "volume_quality": 12.0,
      "rvol": 0.95,
      "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.15,
      "spread_liquidity": 2.79,
      "momentum_consistency": 2.35,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.52,
      "vwap": 7.5482,
      "vwap_slope": -0.1215,
      "rvol": 0.39,
      "volume_acceleration": 28.19,
      "premarket_volume": 197111.0,
      "momentum_pct": -1.44,
      "consolidation_tightness_pct": 1.98,
      "distance_from_pm_high_pct": 2.46,
      "extension_from_vwap_pct": -0.37,
      "spread_pct": 0.66
    },
    "flags": {
      "meets_min_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.71,
    "pm_low": 7.5
  },
  {
    "symbol": "FLNC",
    "total_score": 44.39,
    "raw_score": 47.05,
    "breakdown": {
      "price_quality": 4.11,
      "volume_quality": 12.0,
      "rvol": 2.24,
      "volume_acceleration": 3.77,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.35,
      "spread_liquidity": 4.69,
      "momentum_consistency": 2.48,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.895,
      "vwap": 10.9435,
      "vwap_slope": -0.0092,
      "rvol": 0.93,
      "volume_acceleration": 1.38,
      "premarket_volume": 467457.0,
      "momentum_pct": -0.46,
      "consolidation_tightness_pct": 0.6,
      "distance_from_pm_high_pct": 0.86,
      "extension_from_vwap_pct": -0.44,
      "spread_pct": 0.09
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 10.99,
    "pm_low": 10.885
  },
  {
    "symbol": "TBCH",
    "total_score": 44.36,
    "raw_score": 47.02,
    "breakdown": {
      "price_quality": 2.45,
      "volume_quality": 3.07,
      "rvol": 0.12,
      "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": 5.64,
      "spread_liquidity": 3.94,
      "momentum_consistency": 2.67,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.55,
      "vwap": 12.5258,
      "vwap_slope": 0.0175,
      "rvol": 0.05,
      "volume_acceleration": 1.27,
      "premarket_volume": 25606.0,
      "momentum_pct": -0.04,
      "consolidation_tightness_pct": 0.48,
      "distance_from_pm_high_pct": 0.48,
      "extension_from_vwap_pct": 0.19,
      "spread_pct": 0.32
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 12.61,
    "pm_low": 12.485
  },
  {
    "symbol": "COUR",
    "total_score": 44.33,
    "raw_score": 46.99,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 1.79,
      "volume_acceleration": 7.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.57,
      "spread_liquidity": 4.45,
      "momentum_consistency": 2.03,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.035,
      "vwap": 6.0481,
      "vwap_slope": -0.0022,
      "rvol": 0.75,
      "volume_acceleration": 1.72,
      "premarket_volume": 373434.0,
      "momentum_pct": -0.17,
      "consolidation_tightness_pct": 0.17,
      "distance_from_pm_high_pct": 0.58,
      "extension_from_vwap_pct": -0.22,
      "spread_pct": 0.17
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 6.07,
    "pm_low": 6.02
  },
  {
    "symbol": "MNTN",
    "total_score": 44.11,
    "raw_score": 46.75,
    "breakdown": {
      "price_quality": 1.89,
      "volume_quality": 12.0,
      "rvol": 0.59,
      "volume_acceleration": 7.74,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.18,
      "spread_liquidity": 4.49,
      "momentum_consistency": 2.46,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.115,
      "vwap": 13.2012,
      "vwap_slope": -0.0088,
      "rvol": 0.25,
      "volume_acceleration": 1.77,
      "premarket_volume": 122772.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.34,
      "distance_from_pm_high_pct": 1.09,
      "extension_from_vwap_pct": -0.65,
      "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.26,
    "pm_low": 13.09
  },
  {
    "symbol": "PDYN",
    "total_score": 44.05,
    "raw_score": 46.69,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 7.93,
      "rvol": 0.32,
      "volume_acceleration": 2.3,
      "price_momentum": 0.26,
      "price_structure": 12,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.48,
      "spread_liquidity": 4.42,
      "momentum_consistency": 2.48,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.76,
      "vwap": 5.7606,
      "vwap_slope": -0.0027,
      "rvol": 0.13,
      "volume_acceleration": 0.66,
      "premarket_volume": 66113.0,
      "momentum_pct": 0.17,
      "consolidation_tightness_pct": 0.43,
      "distance_from_pm_high_pct": 0.69,
      "extension_from_vwap_pct": -0.01,
      "spread_pct": 0.17
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 5.8,
    "pm_low": 5.735
  },
  {
    "symbol": "SD",
    "total_score": 43.71,
    "raw_score": 46.34,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 2.67,
      "rvol": 0.11,
      "volume_acceleration": 2.44,
      "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.53,
      "momentum_consistency": 2.77,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.075,
      "vwap": 14.0605,
      "vwap_slope": 0.0058,
      "rvol": 0.04,
      "volume_acceleration": 0.7,
      "premarket_volume": 22274.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.14,
      "distance_from_pm_high_pct": 0.11,
      "extension_from_vwap_pct": 0.1,
      "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.09,
    "pm_low": 14.04
  },
  {
    "symbol": "VFC",
    "total_score": 43.68,
    "raw_score": 46.3,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 4.38,
      "volume_acceleration": 2.73,
      "price_momentum": 0.05,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.71,
      "spread_liquidity": 4.77,
      "momentum_consistency": 2.76,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.275,
      "vwap": 14.2956,
      "vwap_slope": -0.0046,
      "rvol": 1.64,
      "volume_acceleration": 0.78,
      "premarket_volume": 821590.0,
      "momentum_pct": 0.04,
      "consolidation_tightness_pct": 0.18,
      "distance_from_pm_high_pct": 0.38,
      "extension_from_vwap_pct": -0.14,
      "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.33,
    "pm_low": 14.265
  },
  {
    "symbol": "UNIT",
    "total_score": 43.62,
    "raw_score": 46.24,
    "breakdown": {
      "price_quality": 4.88,
      "volume_quality": 12.0,
      "rvol": 0.68,
      "volume_acceleration": 4.1,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.59,
      "spread_liquidity": 4.66,
      "momentum_consistency": 1.93,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.885,
      "vwap": 9.9043,
      "vwap_slope": -0.0036,
      "rvol": 0.28,
      "volume_acceleration": 1.41,
      "premarket_volume": 141485.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.15,
      "distance_from_pm_high_pct": 0.55,
      "extension_from_vwap_pct": -0.19,
      "spread_pct": 0.1
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 9.94,
    "pm_low": 9.88
  },
  {
    "symbol": "ICL",
    "total_score": 43.57,
    "raw_score": 46.19,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 8.49,
      "rvol": 0.34,
      "volume_acceleration": 3.84,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.8,
      "spread_liquidity": 4.42,
      "momentum_consistency": 2.2,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.725,
      "vwap": 5.7282,
      "vwap_slope": 0.0012,
      "rvol": 0.14,
      "volume_acceleration": 1.1,
      "premarket_volume": 70736.0,
      "momentum_pct": -0.17,
      "consolidation_tightness_pct": 0.26,
      "distance_from_pm_high_pct": 0.26,
      "extension_from_vwap_pct": -0.06,
      "spread_pct": 0.17
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": true
    },
    "pm_high": 5.74,
    "pm_low": 5.72
  },
  {
    "symbol": "LSPD",
    "total_score": 43.52,
    "raw_score": 46.13,
    "breakdown": {
      "price_quality": 4.4,
      "volume_quality": 6.0,
      "rvol": 0.24,
      "volume_acceleration": 2.41,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.75,
      "spread_liquidity": 4.69,
      "momentum_consistency": 3.03,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.595,
      "vwap": 10.5959,
      "vwap_slope": 0.0027,
      "rvol": 0.1,
      "volume_acceleration": 1.24,
      "premarket_volume": 50037.0,
      "momentum_pct": -0.09,
      "consolidation_tightness_pct": 0.14,
      "distance_from_pm_high_pct": 0.33,
      "extension_from_vwap_pct": -0.01,
      "spread_pct": 0.09
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": true
    },
    "pm_high": 10.63,
    "pm_low": 10.545
  },
  {
    "symbol": "WVE",
    "total_score": 43.49,
    "raw_score": 46.1,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 4.81,
      "volume_acceleration": 3.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.57,
      "spread_liquidity": 4.36,
      "momentum_consistency": 2.07,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.185,
      "vwap": 5.1923,
      "vwap_slope": -0.0017,
      "rvol": 1.8,
      "volume_acceleration": 0.98,
      "premarket_volume": 901973.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.19,
      "distance_from_pm_high_pct": 0.58,
      "extension_from_vwap_pct": -0.14,
      "spread_pct": 0.19
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 5.215,
    "pm_low": 5.17
  },
  {
    "symbol": "CLBT",
    "total_score": 43.28,
    "raw_score": 45.87,
    "breakdown": {
      "price_quality": 3.38,
      "volume_quality": 12.0,
      "rvol": 2.61,
      "volume_acceleration": 2.3,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 4.95,
      "spread_liquidity": 4.71,
      "momentum_consistency": 3.51,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.615,
      "vwap": 11.6195,
      "vwap_slope": -0.002,
      "rvol": 1.09,
      "volume_acceleration": 0.66,
      "premarket_volume": 543870.0,
      "momentum_pct": -0.21,
      "consolidation_tightness_pct": 0.34,
      "distance_from_pm_high_pct": 1.4,
      "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.78,
    "pm_low": 11.44
  },
  {
    "symbol": "DX",
    "total_score": 43.23,
    "raw_score": 45.83,
    "breakdown": {
      "price_quality": 1.93,
      "volume_quality": 12.0,
      "rvol": 2.84,
      "volume_acceleration": 3.68,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.86,
      "spread_liquidity": 4.75,
      "momentum_consistency": 2.39,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.075,
      "vwap": 13.078,
      "vwap_slope": -0.0015,
      "rvol": 1.18,
      "volume_acceleration": 1.06,
      "premarket_volume": 591214.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.19,
      "distance_from_pm_high_pct": 0.19,
      "extension_from_vwap_pct": -0.02,
      "spread_pct": 0.08
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 13.1,
    "pm_low": 13.06
  },
  {
    "symbol": "WSE",
    "total_score": 43.18,
    "raw_score": 45.78,
    "breakdown": {
      "price_quality": 1.89,
      "volume_quality": 5.41,
      "rvol": 0.22,
      "volume_acceleration": 5.75,
      "price_momentum": 0.06,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.86,
      "spread_liquidity": 4.75,
      "momentum_consistency": 2.26,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.115,
      "vwap": 13.1185,
      "vwap_slope": 0.0028,
      "rvol": 0.09,
      "volume_acceleration": 1.57,
      "premarket_volume": 45059.0,
      "momentum_pct": 0.04,
      "consolidation_tightness_pct": 0.08,
      "distance_from_pm_high_pct": 0.19,
      "extension_from_vwap_pct": -0.03,
      "spread_pct": 0.08
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": true
    },
    "pm_high": 13.14,
    "pm_low": 13.1
  },
  {
    "symbol": "AVAH",
    "total_score": 43.17,
    "raw_score": 45.76,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 2.14,
      "volume_acceleration": 4.81,
      "price_momentum": 0.06,
      "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.62,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.635,
      "vwap": 13.675,
      "vwap_slope": -0.0078,
      "rvol": 0.89,
      "volume_acceleration": 1.48,
      "premarket_volume": 444807.0,
      "momentum_pct": 0.04,
      "consolidation_tightness_pct": 0.22,
      "distance_from_pm_high_pct": 0.69,
      "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": 13.73,
    "pm_low": 13.615
  },
  {
    "symbol": "SENS",
    "total_score": 43.15,
    "raw_score": 45.73,
    "breakdown": {
      "price_quality": 4.37,
      "volume_quality": 6.35,
      "rvol": 0.25,
      "volume_acceleration": 2.32,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.52,
      "spread_liquidity": 3.93,
      "momentum_consistency": 3.39,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.37,
      "vwap": 9.3703,
      "vwap_slope": 0.0052,
      "rvol": 0.11,
      "volume_acceleration": 0.67,
      "premarket_volume": 52890.0,
      "momentum_pct": -0.11,
      "consolidation_tightness_pct": 0.21,
      "distance_from_pm_high_pct": 0.64,
      "extension_from_vwap_pct": -0.0,
      "spread_pct": 0.32
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": true
    },
    "pm_high": 9.43,
    "pm_low": 9.32
  },
  {
    "symbol": "XGN",
    "total_score": 43.08,
    "raw_score": 45.66,
    "breakdown": {
      "price_quality": 2.76,
      "volume_quality": 3.54,
      "rvol": 0.14,
      "volume_acceleration": 6.44,
      "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": 3.71,
      "momentum_consistency": 3.85,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.76,
      "vwap": 7.7665,
      "vwap_slope": 0.0077,
      "rvol": 0.06,
      "volume_acceleration": 1.64,
      "premarket_volume": 29508.0,
      "momentum_pct": -0.0,
      "consolidation_tightness_pct": 0.39,
      "distance_from_pm_high_pct": 0.51,
      "extension_from_vwap_pct": -0.08,
      "spread_pct": 0.39
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": true
    },
    "pm_high": 7.8,
    "pm_low": 7.73
  },
  {
    "symbol": "SHLS",
    "total_score": 42.99,
    "raw_score": 45.57,
    "breakdown": {
      "price_quality": 1.85,
      "volume_quality": 12.0,
      "rvol": 1.42,
      "volume_acceleration": 6.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.51,
      "spread_liquidity": 4.51,
      "momentum_consistency": 1.6,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.85,
      "vwap": 6.8747,
      "vwap_slope": -0.0054,
      "rvol": 0.59,
      "volume_acceleration": 1.63,
      "premarket_volume": 294960.0,
      "momentum_pct": -0.22,
      "consolidation_tightness_pct": 0.22,
      "distance_from_pm_high_pct": 0.65,
      "extension_from_vwap_pct": -0.36,
      "spread_pct": 0.15
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 6.895,
    "pm_low": 6.85
  },
  {
    "symbol": "PUMP",
    "total_score": 42.84,
    "raw_score": 45.41,
    "breakdown": {
      "price_quality": 4.15,
      "volume_quality": 12.0,
      "rvol": 0.66,
      "volume_acceleration": 3.92,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.52,
      "spread_liquidity": 4.69,
      "momentum_consistency": 2.07,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.85,
      "vwap": 10.8721,
      "vwap_slope": -0.0031,
      "rvol": 0.28,
      "volume_acceleration": 1.39,
      "premarket_volume": 138012.0,
      "momentum_pct": -0.09,
      "consolidation_tightness_pct": 0.18,
      "distance_from_pm_high_pct": 0.64,
      "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": false,
      "vwap_rising": false
    },
    "pm_high": 10.92,
    "pm_low": 10.835
  },
  {
    "symbol": "ADT",
    "total_score": 42.72,
    "raw_score": 45.28,
    "breakdown": {
      "price_quality": 2.45,
      "volume_quality": 12.0,
      "rvol": 2.32,
      "volume_acceleration": 3.98,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.8,
      "spread_liquidity": 4.55,
      "momentum_consistency": 1.79,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.445,
      "vwap": 7.4548,
      "vwap_slope": -0.0019,
      "rvol": 0.97,
      "volume_acceleration": 1.14,
      "premarket_volume": 482913.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.26,
      "distance_from_pm_high_pct": 0.27,
      "extension_from_vwap_pct": -0.13,
      "spread_pct": 0.13
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 7.465,
    "pm_low": 7.44
  },
  {
    "symbol": "GMRS",
    "total_score": 42.57,
    "raw_score": 45.13,
    "breakdown": {
      "price_quality": 1.79,
      "volume_quality": 9.06,
      "rvol": 0.36,
      "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.1,
      "spread_liquidity": 3.49,
      "momentum_consistency": 2.93,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.21,
      "vwap": 13.3024,
      "vwap_slope": -0.0353,
      "rvol": 0.15,
      "volume_acceleration": 2.38,
      "premarket_volume": 75492.0,
      "momentum_pct": -0.15,
      "consolidation_tightness_pct": 0.6,
      "distance_from_pm_high_pct": 1.2,
      "extension_from_vwap_pct": -0.69,
      "spread_pct": 0.45
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 13.37,
    "pm_low": 13.21
  },
  {
    "symbol": "OEC",
    "total_score": 42.52,
    "raw_score": 45.07,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 9.22,
      "rvol": 0.37,
      "volume_acceleration": 2.51,
      "price_momentum": 0.37,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.45,
      "spread_liquidity": 4.45,
      "momentum_consistency": 2.0,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.045,
      "vwap": 6.0364,
      "vwap_slope": -0.0009,
      "rvol": 0.15,
      "volume_acceleration": 0.72,
      "premarket_volume": 76870.0,
      "momentum_pct": 0.25,
      "consolidation_tightness_pct": 0.41,
      "distance_from_pm_high_pct": 0.74,
      "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": false
    },
    "pm_high": 6.09,
    "pm_low": 5.98
  },
  {
    "symbol": "TIC",
    "total_score": 42.51,
    "raw_score": 45.06,
    "breakdown": {
      "price_quality": 4.32,
      "volume_quality": 12.0,
      "rvol": 0.6,
      "volume_acceleration": 2.79,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.84,
      "spread_liquidity": 4.64,
      "momentum_consistency": 2.46,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.32,
      "vwap": 9.3236,
      "vwap_slope": -0.0,
      "rvol": 0.25,
      "volume_acceleration": 0.8,
      "premarket_volume": 125884.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.11,
      "distance_from_pm_high_pct": 0.21,
      "extension_from_vwap_pct": -0.04,
      "spread_pct": 0.11
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 9.34,
    "pm_low": 9.29
  },
  {
    "symbol": "SFL",
    "total_score": 42.23,
    "raw_score": 44.76,
    "breakdown": {
      "price_quality": 2.71,
      "volume_quality": 11.73,
      "rvol": 0.47,
      "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.82,
      "spread_liquidity": 4.73,
      "momentum_consistency": 2.62,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.29,
      "vwap": 12.2908,
      "vwap_slope": -0.0011,
      "rvol": 0.2,
      "volume_acceleration": 1.43,
      "premarket_volume": 97742.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.12,
      "distance_from_pm_high_pct": 0.24,
      "extension_from_vwap_pct": -0.01,
      "spread_pct": 0.08
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 12.32,
    "pm_low": 12.265
  },
  {
    "symbol": "MAT",
    "total_score": 42.16,
    "raw_score": 44.69,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 2.54,
      "volume_acceleration": 2.7,
      "price_momentum": 0.2,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.5,
      "spread_liquidity": 4.77,
      "momentum_consistency": 3.09,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.795,
      "vwap": 14.829,
      "vwap_slope": -0.0103,
      "rvol": 1.06,
      "volume_acceleration": 0.78,
      "premarket_volume": 528172.0,
      "momentum_pct": 0.14,
      "consolidation_tightness_pct": 0.3,
      "distance_from_pm_high_pct": 0.67,
      "extension_from_vwap_pct": -0.23,
      "spread_pct": 0.07
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 14.895,
    "pm_low": 14.76
  },
  {
    "symbol": "CRML",
    "total_score": 42.15,
    "raw_score": 44.68,
    "breakdown": {
      "price_quality": 1.63,
      "volume_quality": 12.0,
      "rvol": 2.87,
      "volume_acceleration": 3.9,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 4.61,
      "spread_liquidity": 4.5,
      "momentum_consistency": 2.76,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.635,
      "vwap": 6.6857,
      "vwap_slope": -0.0157,
      "rvol": 1.2,
      "volume_acceleration": 1.12,
      "premarket_volume": 598724.0,
      "momentum_pct": -0.15,
      "consolidation_tightness_pct": 0.83,
      "distance_from_pm_high_pct": 1.85,
      "extension_from_vwap_pct": -0.76,
      "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.76,
    "pm_low": 6.625
  },
  {
    "symbol": "AMCX",
    "total_score": 42.07,
    "raw_score": 44.6,
    "breakdown": {
      "price_quality": 2.44,
      "volume_quality": 4.67,
      "rvol": 0.19,
      "volume_acceleration": 3.9,
      "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.73,
      "momentum_consistency": 3.31,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.56,
      "vwap": 12.5699,
      "vwap_slope": 0.0042,
      "rvol": 0.08,
      "volume_acceleration": 1.39,
      "premarket_volume": 38894.0,
      "momentum_pct": -0.08,
      "consolidation_tightness_pct": 0.16,
      "distance_from_pm_high_pct": 0.32,
      "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.6,
    "pm_low": 12.525
  },
  {
    "symbol": "XPON",
    "total_score": 42.05,
    "raw_score": 44.57,
    "breakdown": {
      "price_quality": 2.09,
      "volume_quality": 12.0,
      "rvol": 12.0,
      "volume_acceleration": 1.68,
      "price_momentum": 1.6,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 4.67,
      "distance_from_pm_high": 0,
      "spread_liquidity": 1.71,
      "momentum_consistency": 4.41,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.09,
      "vwap": 7.2611,
      "vwap_slope": -0.0349,
      "rvol": 8.13,
      "volume_acceleration": 0.48,
      "premarket_volume": 4066568.0,
      "momentum_pct": 1.07,
      "consolidation_tightness_pct": 7.99,
      "distance_from_pm_high_pct": 11.38,
      "extension_from_vwap_pct": -2.36,
      "spread_pct": 0.99
    },
    "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.0,
    "pm_low": 6.7228
  },
  {
    "symbol": "MASS",
    "total_score": 42.01,
    "raw_score": 44.53,
    "breakdown": {
      "price_quality": 3.94,
      "volume_quality": 12.0,
      "rvol": 0.62,
      "volume_acceleration": 2.62,
      "price_momentum": 0.14,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.39,
      "spread_liquidity": 4.7,
      "momentum_consistency": 2.72,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.065,
      "vwap": 11.0689,
      "vwap_slope": -0.0002,
      "rvol": 0.26,
      "volume_acceleration": 0.75,
      "premarket_volume": 128885.0,
      "momentum_pct": 0.09,
      "consolidation_tightness_pct": 0.23,
      "distance_from_pm_high_pct": 0.81,
      "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.155,
    "pm_low": 11.0
  },
  {
    "symbol": "ARVN",
    "total_score": 41.78,
    "raw_score": 44.29,
    "breakdown": {
      "price_quality": 4.29,
      "volume_quality": 4.45,
      "rvol": 0.18,
      "volume_acceleration": 10,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.48,
      "spread_liquidity": 4.64,
      "momentum_consistency": 2.86,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.285,
      "vwap": 9.3186,
      "vwap_slope": -0.0045,
      "rvol": 0.07,
      "volume_acceleration": 2.12,
      "premarket_volume": 37083.0,
      "momentum_pct": -0.21,
      "consolidation_tightness_pct": 0.27,
      "distance_from_pm_high_pct": 0.7,
      "extension_from_vwap_pct": -0.36,
      "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.35,
    "pm_low": 9.285
  },
  {
    "symbol": "NWL",
    "total_score": 41.73,
    "raw_score": 44.23,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 3.09,
      "volume_acceleration": 3.94,
      "price_momentum": 0.12,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.08,
      "spread_liquidity": 4.45,
      "momentum_consistency": 1.66,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.025,
      "vwap": 6.0428,
      "vwap_slope": -0.0014,
      "rvol": 1.29,
      "volume_acceleration": 1.13,
      "premarket_volume": 644173.0,
      "momentum_pct": 0.08,
      "consolidation_tightness_pct": 0.25,
      "distance_from_pm_high_pct": 1.23,
      "extension_from_vwap_pct": -0.29,
      "spread_pct": 0.17
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 6.1,
    "pm_low": 6.02
  },
  {
    "symbol": "INNV",
    "total_score": 41.61,
    "raw_score": 44.11,
    "breakdown": {
      "price_quality": 4.01,
      "volume_quality": 2.6,
      "rvol": 0.1,
      "volume_acceleration": 2.34,
      "price_momentum": 0.21,
      "price_structure": 12,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.26,
      "spread_liquidity": 4.39,
      "momentum_consistency": 3.2,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.99,
      "vwap": 11.0345,
      "vwap_slope": -0.0277,
      "rvol": 0.04,
      "volume_acceleration": 0.67,
      "premarket_volume": 21659.0,
      "momentum_pct": 0.14,
      "consolidation_tightness_pct": 0.27,
      "distance_from_pm_high_pct": 0.99,
      "extension_from_vwap_pct": -0.4,
      "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": 11.1,
    "pm_low": 10.96
  },
  {
    "symbol": "HLIT",
    "total_score": 41.55,
    "raw_score": 44.04,
    "breakdown": {
      "price_quality": 2.99,
      "volume_quality": 11.01,
      "rvol": 0.44,
      "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.78,
      "spread_liquidity": 4.72,
      "momentum_consistency": 2.78,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.005,
      "vwap": 12.0114,
      "vwap_slope": -0.0009,
      "rvol": 0.18,
      "volume_acceleration": 1.12,
      "premarket_volume": 91775.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.04,
      "distance_from_pm_high_pct": 0.29,
      "extension_from_vwap_pct": -0.05,
      "spread_pct": 0.08
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 12.0399,
    "pm_low": 11.995
  },
  {
    "symbol": "ULCC",
    "total_score": 41.51,
    "raw_score": 44.0,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 1.93,
      "volume_acceleration": 4.3,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.37,
      "spread_liquidity": 4.43,
      "momentum_consistency": 2.07,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.86,
      "vwap": 5.8658,
      "vwap_slope": -0.0031,
      "rvol": 0.8,
      "volume_acceleration": 1.43,
      "premarket_volume": 401810.0,
      "momentum_pct": -0.09,
      "consolidation_tightness_pct": 0.17,
      "distance_from_pm_high_pct": 0.85,
      "extension_from_vwap_pct": -0.1,
      "spread_pct": 0.17
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 5.91,
    "pm_low": 5.81
  },
  {
    "symbol": "BRSL",
    "total_score": 41.48,
    "raw_score": 43.97,
    "breakdown": {
      "price_quality": 3.13,
      "volume_quality": 12.0,
      "rvol": 0.88,
      "volume_acceleration": 3.8,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.5,
      "spread_liquidity": 4.72,
      "momentum_consistency": 1.54,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.87,
      "vwap": 11.9129,
      "vwap_slope": -0.0079,
      "rvol": 0.37,
      "volume_acceleration": 1.09,
      "premarket_volume": 183267.0,
      "momentum_pct": -0.04,
      "consolidation_tightness_pct": 0.17,
      "distance_from_pm_high_pct": 0.66,
      "extension_from_vwap_pct": -0.36,
      "spread_pct": 0.08
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 11.949,
    "pm_low": 11.86
  },
  {
    "symbol": "TDOC",
    "total_score": 41.36,
    "raw_score": 43.84,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 2.58,
      "volume_acceleration": 3.57,
      "price_momentum": 0.12,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.34,
      "spread_liquidity": 4.46,
      "momentum_consistency": 1.86,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.23,
      "vwap": 6.2479,
      "vwap_slope": -0.0084,
      "rvol": 1.08,
      "volume_acceleration": 1.03,
      "premarket_volume": 538488.0,
      "momentum_pct": 0.08,
      "consolidation_tightness_pct": 0.32,
      "distance_from_pm_high_pct": 0.88,
      "extension_from_vwap_pct": -0.29,
      "spread_pct": 0.16
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 6.285,
    "pm_low": 6.215
  },
  {
    "symbol": "TSSI",
    "total_score": 41.29,
    "raw_score": 43.77,
    "breakdown": {
      "price_quality": 3.51,
      "volume_quality": 6.12,
      "rvol": 0.24,
      "volume_acceleration": 10,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.34,
      "spread_liquidity": 4.22,
      "momentum_consistency": 1.93,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.51,
      "vwap": 8.5274,
      "vwap_slope": -0.0101,
      "rvol": 0.1,
      "volume_acceleration": 2.54,
      "premarket_volume": 51003.0,
      "momentum_pct": -0.35,
      "consolidation_tightness_pct": 0.47,
      "distance_from_pm_high_pct": 0.87,
      "extension_from_vwap_pct": -0.2,
      "spread_pct": 0.24
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 8.585,
    "pm_low": 8.5
  },
  {
    "symbol": "RGNX",
    "total_score": 41.28,
    "raw_score": 43.76,
    "breakdown": {
      "price_quality": 3.21,
      "volume_quality": 12.0,
      "rvol": 1.0,
      "volume_acceleration": 3.08,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 4.65,
      "spread_liquidity": 4.19,
      "momentum_consistency": 3.23,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.21,
      "vwap": 8.2253,
      "vwap_slope": -0.0004,
      "rvol": 0.42,
      "volume_acceleration": 0.89,
      "premarket_volume": 207831.0,
      "momentum_pct": -0.24,
      "consolidation_tightness_pct": 0.46,
      "distance_from_pm_high_pct": 1.79,
      "extension_from_vwap_pct": -0.19,
      "spread_pct": 0.24
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 8.36,
    "pm_low": 8.15
  },
  {
    "symbol": "AMPL",
    "total_score": 41.11,
    "raw_score": 43.57,
    "breakdown": {
      "price_quality": 1.74,
      "volume_quality": 12.0,
      "rvol": 0.68,
      "volume_acceleration": 4.13,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.66,
      "spread_liquidity": 4.75,
      "momentum_consistency": 2.21,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.255,
      "vwap": 13.2716,
      "vwap_slope": -0.0037,
      "rvol": 0.29,
      "volume_acceleration": 1.41,
      "premarket_volume": 142569.0,
      "momentum_pct": -0.08,
      "consolidation_tightness_pct": 0.15,
      "distance_from_pm_high_pct": 0.45,
      "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": 13.315,
    "pm_low": 13.235
  },
  {
    "symbol": "FRNM",
    "total_score": 40.87,
    "raw_score": 43.32,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 3.54,
      "rvol": 0.14,
      "volume_acceleration": 5.91,
      "price_momentum": 0.05,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.73,
      "spread_liquidity": 4.52,
      "momentum_consistency": 2.73,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.82,
      "vwap": 13.8093,
      "vwap_slope": -0.0021,
      "rvol": 0.06,
      "volume_acceleration": 1.59,
      "premarket_volume": 29484.0,
      "momentum_pct": 0.04,
      "consolidation_tightness_pct": 0.14,
      "distance_from_pm_high_pct": 0.36,
      "extension_from_vwap_pct": 0.08,
      "spread_pct": 0.14
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 13.87,
    "pm_low": 13.77
  },
  {
    "symbol": "SELF",
    "total_score": 40.83,
    "raw_score": 43.28,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 2.46,
      "rvol": 0.1,
      "volume_acceleration": 1.61,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.74,
      "spread_liquidity": 2.04,
      "momentum_consistency": 3.43,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.67,
      "vwap": 5.6515,
      "vwap_slope": 0.0277,
      "rvol": 0.04,
      "volume_acceleration": 1.16,
      "premarket_volume": 20530.0,
      "momentum_pct": -0.18,
      "consolidation_tightness_pct": 0.88,
      "distance_from_pm_high_pct": 0.35,
      "extension_from_vwap_pct": 0.33,
      "spread_pct": 0.89
    },
    "flags": {
      "meets_min_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.69,
    "pm_low": 5.61
  },
  {
    "symbol": "HSLV",
    "total_score": 40.82,
    "raw_score": 43.27,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 5.75,
      "rvol": 0.23,
      "volume_acceleration": 4.15,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.58,
      "spread_liquidity": 4.38,
      "momentum_consistency": 2.09,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.33,
      "vwap": 5.3354,
      "vwap_slope": 0.0024,
      "rvol": 0.1,
      "volume_acceleration": 1.41,
      "premarket_volume": 47908.0,
      "momentum_pct": -0.09,
      "consolidation_tightness_pct": 0.28,
      "distance_from_pm_high_pct": 0.56,
      "extension_from_vwap_pct": -0.1,
      "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.36,
    "pm_low": 5.31
  },
  {
    "symbol": "TG",
    "total_score": 40.77,
    "raw_score": 43.22,
    "breakdown": {
      "price_quality": 2.89,
      "volume_quality": 2.91,
      "rvol": 0.12,
      "volume_acceleration": 5.07,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.67,
      "spread_liquidity": 4.16,
      "momentum_consistency": 3.2,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.89,
      "vwap": 7.8737,
      "vwap_slope": -0.0064,
      "rvol": 0.05,
      "volume_acceleration": 1.51,
      "premarket_volume": 24287.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.51,
      "distance_from_pm_high_pct": 0.44,
      "extension_from_vwap_pct": 0.21,
      "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": false
    },
    "pm_high": 7.925,
    "pm_low": 7.8442
  },
  {
    "symbol": "OPFI",
    "total_score": 40.69,
    "raw_score": 43.14,
    "breakdown": {
      "price_quality": 2.1,
      "volume_quality": 12.0,
      "rvol": 0.5,
      "volume_acceleration": 3.76,
      "price_momentum": 0.11,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.63,
      "spread_liquidity": 4.53,
      "momentum_consistency": 2.11,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.1,
      "vwap": 7.1115,
      "vwap_slope": -0.0006,
      "rvol": 0.21,
      "volume_acceleration": 1.08,
      "premarket_volume": 103695.0,
      "momentum_pct": 0.07,
      "consolidation_tightness_pct": 0.42,
      "distance_from_pm_high_pct": 0.49,
      "extension_from_vwap_pct": -0.16,
      "spread_pct": 0.14
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 7.135,
    "pm_low": 7.09
  },
  {
    "symbol": "EYPT",
    "total_score": 40.27,
    "raw_score": 42.69,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 1.02,
      "volume_acceleration": 4.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.41,
      "spread_liquidity": 4.34,
      "momentum_consistency": 1.93,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.04,
      "vwap": 5.0612,
      "vwap_slope": -0.001,
      "rvol": 0.43,
      "volume_acceleration": 1.41,
      "premarket_volume": 213061.0,
      "momentum_pct": -0.3,
      "consolidation_tightness_pct": 0.69,
      "distance_from_pm_high_pct": 0.79,
      "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": false,
      "vwap_rising": false
    },
    "pm_high": 5.08,
    "pm_low": 5.04
  },
  {
    "symbol": "CRK",
    "total_score": 40.19,
    "raw_score": 42.61,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 0.79,
      "volume_acceleration": 2.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.53,
      "spread_liquidity": 4.53,
      "momentum_consistency": 3.17,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.3,
      "vwap": 14.3374,
      "vwap_slope": -0.0053,
      "rvol": 0.33,
      "volume_acceleration": 0.77,
      "premarket_volume": 164160.0,
      "momentum_pct": -0.07,
      "consolidation_tightness_pct": 0.14,
      "distance_from_pm_high_pct": 0.63,
      "extension_from_vwap_pct": -0.26,
      "spread_pct": 0.14
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 14.39,
    "pm_low": 14.29
  },
  {
    "symbol": "WNC",
    "total_score": 40.07,
    "raw_score": 42.48,
    "breakdown": {
      "price_quality": 2.88,
      "volume_quality": 4.21,
      "rvol": 0.17,
      "volume_acceleration": 3.12,
      "price_momentum": 0.08,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.72,
      "spread_liquidity": 4.17,
      "momentum_consistency": 2.51,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.115,
      "vwap": 12.117,
      "vwap_slope": 0.0065,
      "rvol": 0.07,
      "volume_acceleration": 0.9,
      "premarket_volume": 35111.0,
      "momentum_pct": 0.05,
      "consolidation_tightness_pct": 0.05,
      "distance_from_pm_high_pct": 0.37,
      "extension_from_vwap_pct": -0.02,
      "spread_pct": 0.25
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": true
    },
    "pm_high": 12.16,
    "pm_low": 12.07
  },
  {
    "symbol": "UPB",
    "total_score": 39.99,
    "raw_score": 42.38,
    "breakdown": {
      "price_quality": 1.73,
      "volume_quality": 6.65,
      "rvol": 0.27,
      "volume_acceleration": 1.86,
      "price_momentum": 0.22,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.78,
      "spread_liquidity": 4.01,
      "momentum_consistency": 2.67,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.73,
      "vwap": 6.7267,
      "vwap_slope": -0.0015,
      "rvol": 0.11,
      "volume_acceleration": 0.54,
      "premarket_volume": 55418.0,
      "momentum_pct": 0.15,
      "consolidation_tightness_pct": 0.52,
      "distance_from_pm_high_pct": 0.3,
      "extension_from_vwap_pct": 0.05,
      "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": false
    },
    "pm_high": 6.75,
    "pm_low": 6.7
  },
  {
    "symbol": "ACVA",
    "total_score": 39.83,
    "raw_score": 42.22,
    "breakdown": {
      "price_quality": 2.5,
      "volume_quality": 12.0,
      "rvol": 1.36,
      "volume_acceleration": 1.69,
      "price_momentum": 0.2,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.4,
      "spread_liquidity": 4.56,
      "momentum_consistency": 2.11,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.495,
      "vwap": 7.5113,
      "vwap_slope": -0.0047,
      "rvol": 0.57,
      "volume_acceleration": 0.49,
      "premarket_volume": 284274.0,
      "momentum_pct": 0.13,
      "consolidation_tightness_pct": 0.2,
      "distance_from_pm_high_pct": 0.79,
      "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.555,
    "pm_low": 7.475
  },
  {
    "symbol": "FNKO",
    "total_score": 39.8,
    "raw_score": 42.19,
    "breakdown": {
      "price_quality": 1.8,
      "volume_quality": 12.0,
      "rvol": 0.48,
      "volume_acceleration": 2.63,
      "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.48,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.8,
      "vwap": 6.8118,
      "vwap_slope": -0.0042,
      "rvol": 0.2,
      "volume_acceleration": 1.26,
      "premarket_volume": 100490.0,
      "momentum_pct": 0.22,
      "consolidation_tightness_pct": 0.37,
      "distance_from_pm_high_pct": 0.58,
      "extension_from_vwap_pct": -0.17,
      "spread_pct": 0.15
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 6.84,
    "pm_low": 6.78
  },
  {
    "symbol": "HLF",
    "total_score": 39.46,
    "raw_score": 41.83,
    "breakdown": {
      "price_quality": 2.28,
      "volume_quality": 12.0,
      "rvol": 0.5,
      "volume_acceleration": 2.12,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.68,
      "spread_liquidity": 4.48,
      "momentum_consistency": 2.39,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.725,
      "vwap": 12.7438,
      "vwap_slope": -0.002,
      "rvol": 0.21,
      "volume_acceleration": 1.21,
      "premarket_volume": 104558.0,
      "momentum_pct": -0.04,
      "consolidation_tightness_pct": 0.12,
      "distance_from_pm_high_pct": 0.43,
      "extension_from_vwap_pct": -0.15,
      "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.78,
    "pm_low": 12.705
  },
  {
    "symbol": "STTK",
    "total_score": 39.46,
    "raw_score": 41.83,
    "breakdown": {
      "price_quality": 2.88,
      "volume_quality": 12.0,
      "rvol": 1.47,
      "volume_acceleration": 1.84,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 4.69,
      "spread_liquidity": 3.72,
      "momentum_consistency": 2.82,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.88,
      "vwap": 7.9387,
      "vwap_slope": -0.0002,
      "rvol": 0.61,
      "volume_acceleration": 0.53,
      "premarket_volume": 307117.0,
      "momentum_pct": -0.88,
      "consolidation_tightness_pct": 1.26,
      "distance_from_pm_high_pct": 1.75,
      "extension_from_vwap_pct": -0.74,
      "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": 8.02,
    "pm_low": 7.85
  },
  {
    "symbol": "ASLE",
    "total_score": 39.39,
    "raw_score": 41.75,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 0.49,
      "volume_acceleration": 3.49,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.67,
      "spread_liquidity": 4.4,
      "momentum_consistency": 1.8,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.575,
      "vwap": 5.5833,
      "vwap_slope": -0.0035,
      "rvol": 0.2,
      "volume_acceleration": 1.0,
      "premarket_volume": 101793.0,
      "momentum_pct": -0.18,
      "consolidation_tightness_pct": 0.18,
      "distance_from_pm_high_pct": 0.45,
      "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": false,
      "vwap_rising": false
    },
    "pm_high": 5.6,
    "pm_low": 5.565
  },
  {
    "symbol": "MAX",
    "total_score": 38.89,
    "raw_score": 41.22,
    "breakdown": {
      "price_quality": 2.3,
      "volume_quality": 8.0,
      "rvol": 0.32,
      "volume_acceleration": 5.87,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.59,
      "spread_liquidity": 4.74,
      "momentum_consistency": 2.0,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.7,
      "vwap": 12.7443,
      "vwap_slope": -0.0035,
      "rvol": 0.13,
      "volume_acceleration": 1.59,
      "premarket_volume": 66700.0,
      "momentum_pct": -0.31,
      "consolidation_tightness_pct": 0.39,
      "distance_from_pm_high_pct": 0.55,
      "extension_from_vwap_pct": -0.35,
      "spread_pct": 0.08
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 12.77,
    "pm_low": 12.7
  },
  {
    "symbol": "AGBK",
    "total_score": 38.86,
    "raw_score": 41.19,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 4.18,
      "rvol": 0.17,
      "volume_acceleration": 3.59,
      "price_momentum": 0.74,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.82,
      "spread_liquidity": 3.91,
      "momentum_consistency": 2.09,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.14,
      "vwap": 6.1331,
      "vwap_slope": -0.0046,
      "rvol": 0.07,
      "volume_acceleration": 1.03,
      "premarket_volume": 34814.0,
      "momentum_pct": 0.49,
      "consolidation_tightness_pct": 0.49,
      "distance_from_pm_high_pct": 0.24,
      "extension_from_vwap_pct": 0.11,
      "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": false
    },
    "pm_high": 6.155,
    "pm_low": 6.11
  },
  {
    "symbol": "HAFN",
    "total_score": 38.73,
    "raw_score": 41.06,
    "breakdown": {
      "price_quality": 3.11,
      "volume_quality": 12.0,
      "rvol": 1.15,
      "volume_acceleration": 0.72,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.49,
      "spread_liquidity": 4.59,
      "momentum_consistency": 1.6,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.105,
      "vwap": 8.1311,
      "vwap_slope": -0.0017,
      "rvol": 0.48,
      "volume_acceleration": 0.21,
      "premarket_volume": 238806.0,
      "momentum_pct": -0.12,
      "consolidation_tightness_pct": 0.12,
      "distance_from_pm_high_pct": 0.67,
      "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": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 8.16,
    "pm_low": 8.1
  },
  {
    "symbol": "SRAD",
    "total_score": 38.42,
    "raw_score": 40.72,
    "breakdown": {
      "price_quality": 1.81,
      "volume_quality": 10.63,
      "rvol": 0.43,
      "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.69,
      "spread_liquidity": 4.75,
      "momentum_consistency": 2.93,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.185,
      "vwap": 13.2024,
      "vwap_slope": -0.0072,
      "rvol": 0.18,
      "volume_acceleration": 1.21,
      "premarket_volume": 88575.0,
      "momentum_pct": -0.08,
      "consolidation_tightness_pct": 0.19,
      "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": 13.24,
    "pm_low": 13.165
  },
  {
    "symbol": "UTZ",
    "total_score": 38.02,
    "raw_score": 40.3,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 1.03,
      "volume_acceleration": 1.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.89,
      "spread_liquidity": 4.77,
      "momentum_consistency": 1.66,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.2,
      "vwap": 14.208,
      "vwap_slope": -0.0005,
      "rvol": 0.43,
      "volume_acceleration": 0.3,
      "premarket_volume": 215295.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.04,
      "distance_from_pm_high_pct": 0.14,
      "extension_from_vwap_pct": -0.06,
      "spread_pct": 0.07
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 14.22,
    "pm_low": 14.2
  },
  {
    "symbol": "BIOA",
    "total_score": 38.01,
    "raw_score": 40.3,
    "breakdown": {
      "price_quality": 4.38,
      "volume_quality": 7.2,
      "rvol": 0.29,
      "volume_acceleration": 3.5,
      "price_momentum": 0.16,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.4,
      "spread_liquidity": 3.23,
      "momentum_consistency": 3.73,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.375,
      "vwap": 9.3935,
      "vwap_slope": -0.0062,
      "rvol": 0.12,
      "volume_acceleration": 1.01,
      "premarket_volume": 60033.0,
      "momentum_pct": 0.11,
      "consolidation_tightness_pct": 0.44,
      "distance_from_pm_high_pct": 0.79,
      "extension_from_vwap_pct": -0.2,
      "spread_pct": 0.53
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 9.45,
    "pm_low": 9.34
  },
  {
    "symbol": "EH",
    "total_score": 37.96,
    "raw_score": 40.24,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 4.86,
      "rvol": 0.19,
      "volume_acceleration": 2.05,
      "price_momentum": 0.57,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.7,
      "spread_liquidity": 3.73,
      "momentum_consistency": 2.42,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.26,
      "vwap": 5.2504,
      "vwap_slope": -0.001,
      "rvol": 0.08,
      "volume_acceleration": 0.59,
      "premarket_volume": 40483.0,
      "momentum_pct": 0.38,
      "consolidation_tightness_pct": 0.48,
      "distance_from_pm_high_pct": 0.4,
      "extension_from_vwap_pct": 0.18,
      "spread_pct": 0.38
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": false
    },
    "pm_high": 5.281,
    "pm_low": 5.23
  },
  {
    "symbol": "CNXU",
    "total_score": 37.91,
    "raw_score": 40.18,
    "breakdown": {
      "price_quality": 2.83,
      "volume_quality": 5.36,
      "rvol": 0.21,
      "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": 4.04,
      "spread_liquidity": 2.03,
      "momentum_consistency": 3.27,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.83,
      "vwap": 7.8541,
      "vwap_slope": 0.0062,
      "rvol": 0.09,
      "volume_acceleration": 1.28,
      "premarket_volume": 44707.0,
      "momentum_pct": -0.45,
      "consolidation_tightness_pct": 1.27,
      "distance_from_pm_high_pct": 2.61,
      "extension_from_vwap_pct": -0.31,
      "spread_pct": 0.89
    },
    "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.04,
    "pm_low": 7.75
  },
  {
    "symbol": "OBIO",
    "total_score": 37.74,
    "raw_score": 40.0,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 4.79,
      "rvol": 0.19,
      "volume_acceleration": 10,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.52,
      "spread_liquidity": 4.39,
      "momentum_consistency": 1.21,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.435,
      "vwap": 5.4557,
      "vwap_slope": -0.0004,
      "rvol": 0.08,
      "volume_acceleration": 3.46,
      "premarket_volume": 39909.0,
      "momentum_pct": -0.46,
      "consolidation_tightness_pct": 0.46,
      "distance_from_pm_high_pct": 0.64,
      "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": false,
      "vwap_rising": false
    },
    "pm_high": 5.47,
    "pm_low": 5.435
  },
  {
    "symbol": "ANTX",
    "total_score": 37.28,
    "raw_score": 39.51,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 3.58,
      "rvol": 0.14,
      "volume_acceleration": 3.3,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.48,
      "spread_liquidity": 3.25,
      "momentum_consistency": 2.67,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.705,
      "vwap": 5.719,
      "vwap_slope": 0.0024,
      "rvol": 0.06,
      "volume_acceleration": 0.95,
      "premarket_volume": 29806.0,
      "momentum_pct": -0.26,
      "consolidation_tightness_pct": 0.7,
      "distance_from_pm_high_pct": 0.7,
      "extension_from_vwap_pct": -0.25,
      "spread_pct": 0.53
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": true
    },
    "pm_high": 5.745,
    "pm_low": 5.69
  },
  {
    "symbol": "XERS",
    "total_score": 37.19,
    "raw_score": 39.42,
    "breakdown": {
      "price_quality": 3.76,
      "volume_quality": 7.99,
      "rvol": 0.32,
      "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.83,
      "spread_liquidity": 4.62,
      "momentum_consistency": 2.95,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.755,
      "vwap": 8.7641,
      "vwap_slope": -0.0023,
      "rvol": 0.13,
      "volume_acceleration": 1.16,
      "premarket_volume": 66617.0,
      "momentum_pct": -0.17,
      "consolidation_tightness_pct": 0.17,
      "distance_from_pm_high_pct": 0.23,
      "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": 8.775,
    "pm_low": 8.75
  },
  {
    "symbol": "NMAX",
    "total_score": 36.85,
    "raw_score": 39.06,
    "breakdown": {
      "price_quality": 4.31,
      "volume_quality": 5.37,
      "rvol": 0.21,
      "volume_acceleration": 3.75,
      "price_momentum": 0.21,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.69,
      "spread_liquidity": 4.38,
      "momentum_consistency": 2.74,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.685,
      "vwap": 10.6878,
      "vwap_slope": -0.0069,
      "rvol": 0.09,
      "volume_acceleration": 1.08,
      "premarket_volume": 44763.0,
      "momentum_pct": 0.14,
      "consolidation_tightness_pct": 0.23,
      "distance_from_pm_high_pct": 0.42,
      "extension_from_vwap_pct": -0.03,
      "spread_pct": 0.19
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 10.73,
    "pm_low": 10.66
  },
  {
    "symbol": "ASPN",
    "total_score": 36.44,
    "raw_score": 38.63,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 3.96,
      "rvol": 0.16,
      "volume_acceleration": 1.84,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.63,
      "spread_liquidity": 4.34,
      "momentum_consistency": 2.0,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.045,
      "vwap": 5.0445,
      "vwap_slope": -0.0022,
      "rvol": 0.07,
      "volume_acceleration": 1.18,
      "premarket_volume": 32972.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.1,
      "distance_from_pm_high_pct": 0.49,
      "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": true,
      "vwap_rising": false
    },
    "pm_high": 5.07,
    "pm_low": 5.035
  },
  {
    "symbol": "CTOS",
    "total_score": 36.38,
    "raw_score": 38.56,
    "breakdown": {
      "price_quality": 4.69,
      "volume_quality": 6.0,
      "rvol": 0.24,
      "volume_acceleration": 2.82,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.65,
      "spread_liquidity": 4.66,
      "momentum_consistency": 2.11,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.685,
      "vwap": 9.7131,
      "vwap_slope": -0.0021,
      "rvol": 0.1,
      "volume_acceleration": 0.81,
      "premarket_volume": 50038.0,
      "momentum_pct": -0.26,
      "consolidation_tightness_pct": 0.26,
      "distance_from_pm_high_pct": 0.46,
      "extension_from_vwap_pct": -0.29,
      "spread_pct": 0.1
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 9.73,
    "pm_low": 9.685
  },
  {
    "symbol": "ARCO",
    "total_score": 36.31,
    "raw_score": 38.49,
    "breakdown": {
      "price_quality": 3.08,
      "volume_quality": 7.0,
      "rvol": 0.28,
      "volume_acceleration": 3.83,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.91,
      "spread_liquidity": 4.59,
      "momentum_consistency": 1.4,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.08,
      "vwap": 8.082,
      "vwap_slope": -0.0004,
      "rvol": 0.12,
      "volume_acceleration": 1.1,
      "premarket_volume": 58374.0,
      "momentum_pct": -0.06,
      "consolidation_tightness_pct": 0.12,
      "distance_from_pm_high_pct": 0.12,
      "extension_from_vwap_pct": -0.03,
      "spread_pct": 0.12
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 8.09,
    "pm_low": 8.07
  },
  {
    "symbol": "HCKT",
    "total_score": 35.89,
    "raw_score": 38.04,
    "breakdown": {
      "price_quality": 3.81,
      "volume_quality": 3.9,
      "rvol": 0.16,
      "volume_acceleration": 4.08,
      "price_momentum": 0.4,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.63,
      "spread_liquidity": 4.11,
      "momentum_consistency": 3.56,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.185,
      "vwap": 11.1977,
      "vwap_slope": -0.0185,
      "rvol": 0.06,
      "volume_acceleration": 1.41,
      "premarket_volume": 32460.0,
      "momentum_pct": 0.27,
      "consolidation_tightness_pct": 0.54,
      "distance_from_pm_high_pct": 0.49,
      "extension_from_vwap_pct": -0.11,
      "spread_pct": 0.27
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 11.24,
    "pm_low": 11.13
  },
  {
    "symbol": "NAKA",
    "total_score": 35.88,
    "raw_score": 38.03,
    "breakdown": {
      "price_quality": 2.22,
      "volume_quality": 2.62,
      "rvol": 0.1,
      "volume_acceleration": 1.14,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.28,
      "spread_liquidity": 2.7,
      "momentum_consistency": 4.36,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.22,
      "vwap": 7.225,
      "vwap_slope": 0.0134,
      "rvol": 0.04,
      "volume_acceleration": 0.33,
      "premarket_volume": 21811.0,
      "momentum_pct": -0.89,
      "consolidation_tightness_pct": 0.96,
      "distance_from_pm_high_pct": 0.96,
      "extension_from_vwap_pct": -0.07,
      "spread_pct": 0.69
    },
    "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.29,
    "pm_low": 7.0901
  },
  {
    "symbol": "AVO",
    "total_score": 35.8,
    "raw_score": 37.94,
    "breakdown": {
      "price_quality": 1.88,
      "volume_quality": 6.14,
      "rvol": 0.25,
      "volume_acceleration": 5.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.77,
      "spread_liquidity": 4.24,
      "momentum_consistency": 1.88,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.119,
      "vwap": 13.1346,
      "vwap_slope": -0.0065,
      "rvol": 0.1,
      "volume_acceleration": 1.54,
      "premarket_volume": 51148.0,
      "momentum_pct": -0.08,
      "consolidation_tightness_pct": 0.27,
      "distance_from_pm_high_pct": 0.31,
      "extension_from_vwap_pct": -0.12,
      "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.16,
    "pm_low": 13.1
  },
  {
    "symbol": "IMMR",
    "total_score": 35.67,
    "raw_score": 37.82,
    "breakdown": {
      "price_quality": 2.53,
      "volume_quality": 5.13,
      "rvol": 0.21,
      "volume_acceleration": 5.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.75,
      "spread_liquidity": 4.56,
      "momentum_consistency": 1.95,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.525,
      "vwap": 7.5333,
      "vwap_slope": -0.0021,
      "rvol": 0.09,
      "volume_acceleration": 1.53,
      "premarket_volume": 42789.0,
      "momentum_pct": -0.07,
      "consolidation_tightness_pct": 0.13,
      "distance_from_pm_high_pct": 0.33,
      "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.55,
    "pm_low": 7.52
  },
  {
    "symbol": "INGN",
    "total_score": 35.53,
    "raw_score": 37.66,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 8.95,
      "rvol": 0.36,
      "volume_acceleration": 1.25,
      "price_momentum": 0.27,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.8,
      "spread_liquidity": 4.4,
      "momentum_consistency": 2.74,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.53,
      "vwap": 5.5307,
      "vwap_slope": -0.0009,
      "rvol": 0.15,
      "volume_acceleration": 0.36,
      "premarket_volume": 74587.0,
      "momentum_pct": 0.18,
      "consolidation_tightness_pct": 0.18,
      "distance_from_pm_high_pct": 0.27,
      "extension_from_vwap_pct": -0.01,
      "spread_pct": 0.18
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 5.545,
    "pm_low": 5.52
  },
  {
    "symbol": "GASS",
    "total_score": 35.52,
    "raw_score": 37.65,
    "breakdown": {
      "price_quality": 4.66,
      "volume_quality": 3.45,
      "rvol": 0.14,
      "volume_acceleration": 3.46,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.69,
      "spread_liquidity": 4.65,
      "momentum_consistency": 3.2,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.66,
      "vwap": 9.6653,
      "vwap_slope": -0.003,
      "rvol": 0.06,
      "volume_acceleration": 1.0,
      "premarket_volume": 28724.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.1,
      "distance_from_pm_high_pct": 0.41,
      "extension_from_vwap_pct": -0.05,
      "spread_pct": 0.1
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 9.7,
    "pm_low": 9.64
  },
  {
    "symbol": "EMBC",
    "total_score": 34.91,
    "raw_score": 37.0,
    "breakdown": {
      "price_quality": 0.0,
      "volume_quality": 8.37,
      "rvol": 0.33,
      "volume_acceleration": 3.31,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.7,
      "spread_liquidity": 4.33,
      "momentum_consistency": 2.56,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 4.985,
      "vwap": 4.9855,
      "vwap_slope": -0.0002,
      "rvol": 0.14,
      "volume_acceleration": 0.95,
      "premarket_volume": 69766.0,
      "momentum_pct": -0.1,
      "consolidation_tightness_pct": 0.2,
      "distance_from_pm_high_pct": 0.4,
      "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": false
    },
    "pm_high": 5.005,
    "pm_low": 4.97
  },
  {
    "symbol": "OSS",
    "total_score": 34.89,
    "raw_score": 36.99,
    "breakdown": {
      "price_quality": 3.95,
      "volume_quality": 5.24,
      "rvol": 0.21,
      "volume_acceleration": 2.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.36,
      "spread_liquidity": 4.7,
      "momentum_consistency": 2.67,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.055,
      "vwap": 11.0605,
      "vwap_slope": -0.0082,
      "rvol": 0.09,
      "volume_acceleration": 1.24,
      "premarket_volume": 43664.0,
      "momentum_pct": 0.05,
      "consolidation_tightness_pct": 0.18,
      "distance_from_pm_high_pct": 0.85,
      "extension_from_vwap_pct": -0.05,
      "spread_pct": 0.09
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 11.15,
    "pm_low": 11.012
  },
  {
    "symbol": "CRD.A",
    "total_score": 34.81,
    "raw_score": 36.9,
    "breakdown": {
      "price_quality": 1.52,
      "volume_quality": 3.1,
      "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.07,
      "spread_liquidity": 2.02,
      "momentum_consistency": 2.67,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.48,
      "vwap": 13.495,
      "vwap_slope": -0.1017,
      "rvol": 0.05,
      "volume_acceleration": 2.41,
      "premarket_volume": 25847.0,
      "momentum_pct": -0.22,
      "consolidation_tightness_pct": 0.82,
      "distance_from_pm_high_pct": 1.25,
      "extension_from_vwap_pct": -0.11,
      "spread_pct": 0.89
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 13.65,
    "pm_low": 13.41
  },
  {
    "symbol": "LTBR",
    "total_score": 34.58,
    "raw_score": 36.65,
    "breakdown": {
      "price_quality": 2.78,
      "volume_quality": 5.18,
      "rvol": 0.21,
      "volume_acceleration": 4.44,
      "price_momentum": 0.19,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.43,
      "spread_liquidity": 4.14,
      "momentum_consistency": 1.88,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.78,
      "vwap": 7.7904,
      "vwap_slope": -0.0158,
      "rvol": 0.09,
      "volume_acceleration": 1.44,
      "premarket_volume": 43154.0,
      "momentum_pct": 0.13,
      "consolidation_tightness_pct": 0.58,
      "distance_from_pm_high_pct": 0.77,
      "extension_from_vwap_pct": -0.13,
      "spread_pct": 0.26
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 7.84,
    "pm_low": 7.755
  },
  {
    "symbol": "BV",
    "total_score": 34.42,
    "raw_score": 36.49,
    "breakdown": {
      "price_quality": 3.93,
      "volume_quality": 5.87,
      "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.36,
      "spread_liquidity": 4.4,
      "momentum_consistency": 2.57,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.07,
      "vwap": 11.1065,
      "vwap_slope": -0.0224,
      "rvol": 0.1,
      "volume_acceleration": 1.17,
      "premarket_volume": 48884.0,
      "momentum_pct": -0.09,
      "consolidation_tightness_pct": 0.36,
      "distance_from_pm_high_pct": 0.85,
      "extension_from_vwap_pct": -0.33,
      "spread_pct": 0.18
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 11.165,
    "pm_low": 11.05
  },
  {
    "symbol": "KXIN",
    "total_score": 34.2,
    "raw_score": 36.25,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 2.61,
      "rvol": 0.1,
      "volume_acceleration": 0.49,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.59,
      "spread_liquidity": 3.14,
      "momentum_consistency": 3.2,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.3999,
      "vwap": 5.4006,
      "vwap_slope": 0.0006,
      "rvol": 0.04,
      "volume_acceleration": 0.14,
      "premarket_volume": 21788.0,
      "momentum_pct": -0.0,
      "consolidation_tightness_pct": 1.1,
      "distance_from_pm_high_pct": 0.54,
      "extension_from_vwap_pct": -0.01,
      "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": false,
      "vwap_rising": true
    },
    "pm_high": 5.4294,
    "pm_low": 5.37
  },
  {
    "symbol": "IPST",
    "total_score": 34.18,
    "raw_score": 36.23,
    "breakdown": {
      "price_quality": 3.54,
      "volume_quality": 6.29,
      "rvol": 0.25,
      "volume_acceleration": 2.26,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 2.93,
      "spread_liquidity": 4.22,
      "momentum_consistency": 4.33,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.54,
      "vwap": 8.5842,
      "vwap_slope": -0.008,
      "rvol": 0.1,
      "volume_acceleration": 0.65,
      "premarket_volume": 52417.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 1.84,
      "distance_from_pm_high_pct": 4.09,
      "extension_from_vwap_pct": -0.51,
      "spread_pct": 0.23
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 8.9041,
    "pm_low": 8.465
  },
  {
    "symbol": "DRVN",
    "total_score": 34.18,
    "raw_score": 36.23,
    "breakdown": {
      "price_quality": 2.06,
      "volume_quality": 7.64,
      "rvol": 0.31,
      "volume_acceleration": 2.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.4,
      "spread_liquidity": 4.74,
      "momentum_consistency": 1.0,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.935,
      "vwap": 12.9927,
      "vwap_slope": -0.0151,
      "rvol": 0.13,
      "volume_acceleration": 0.77,
      "premarket_volume": 63657.0,
      "momentum_pct": -0.04,
      "consolidation_tightness_pct": 0.15,
      "distance_from_pm_high_pct": 0.81,
      "extension_from_vwap_pct": -0.44,
      "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.04,
    "pm_low": 12.93
  },
  {
    "symbol": "VSTM",
    "total_score": 34.05,
    "raw_score": 36.09,
    "breakdown": {
      "price_quality": 1.86,
      "volume_quality": 7.22,
      "rvol": 0.29,
      "volume_acceleration": 3.08,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.13,
      "spread_liquidity": 4.51,
      "momentum_consistency": 1.6,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.855,
      "vwap": 6.8958,
      "vwap_slope": -0.0055,
      "rvol": 0.12,
      "volume_acceleration": 0.89,
      "premarket_volume": 60168.0,
      "momentum_pct": -0.29,
      "consolidation_tightness_pct": 0.51,
      "distance_from_pm_high_pct": 1.15,
      "extension_from_vwap_pct": -0.59,
      "spread_pct": 0.15
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 6.935,
    "pm_low": 6.855
  },
  {
    "symbol": "CGNT",
    "total_score": 33.45,
    "raw_score": 35.46,
    "breakdown": {
      "price_quality": 3.52,
      "volume_quality": 4.9,
      "rvol": 0.2,
      "volume_acceleration": 2.61,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.74,
      "spread_liquidity": 4.61,
      "momentum_consistency": 1.5,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.515,
      "vwap": 8.5283,
      "vwap_slope": -0.0024,
      "rvol": 0.08,
      "volume_acceleration": 1.26,
      "premarket_volume": 40833.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.06,
      "distance_from_pm_high_pct": 0.35,
      "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": false,
      "vwap_rising": false
    },
    "pm_high": 8.545,
    "pm_low": 8.51
  },
  {
    "symbol": "RILY",
    "total_score": 32.49,
    "raw_score": 34.44,
    "breakdown": {
      "price_quality": 2.1,
      "volume_quality": 5.17,
      "rvol": 0.21,
      "volume_acceleration": 2.05,
      "price_momentum": 0.21,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.58,
      "spread_liquidity": 4.53,
      "momentum_consistency": 2.18,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.1,
      "vwap": 7.1003,
      "vwap_slope": -0.0056,
      "rvol": 0.09,
      "volume_acceleration": 0.59,
      "premarket_volume": 43116.0,
      "momentum_pct": 0.14,
      "consolidation_tightness_pct": 0.14,
      "distance_from_pm_high_pct": 0.56,
      "extension_from_vwap_pct": -0.0,
      "spread_pct": 0.14
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 7.14,
    "pm_low": 7.07
  },
  {
    "symbol": "HOPE",
    "total_score": 31.96,
    "raw_score": 33.88,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 4.99,
      "rvol": 0.2,
      "volume_acceleration": 3.17,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.84,
      "spread_liquidity": 4.76,
      "momentum_consistency": 1.02,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.965,
      "vwap": 13.9833,
      "vwap_slope": -0.0033,
      "rvol": 0.08,
      "volume_acceleration": 0.91,
      "premarket_volume": 41543.0,
      "momentum_pct": -0.07,
      "consolidation_tightness_pct": 0.07,
      "distance_from_pm_high_pct": 0.21,
      "extension_from_vwap_pct": -0.13,
      "spread_pct": 0.07
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 13.995,
    "pm_low": 13.965
  },
  {
    "symbol": "MH",
    "total_score": 31.69,
    "raw_score": 33.59,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 5.4,
      "rvol": 0.22,
      "volume_acceleration": 1.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.37,
      "spread_liquidity": 4.51,
      "momentum_consistency": 2.29,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.565,
      "vwap": 13.6122,
      "vwap_slope": -0.0185,
      "rvol": 0.09,
      "volume_acceleration": 1.19,
      "premarket_volume": 45027.0,
      "momentum_pct": -0.07,
      "consolidation_tightness_pct": 0.11,
      "distance_from_pm_high_pct": 0.84,
      "extension_from_vwap_pct": -0.35,
      "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.68,
    "pm_low": 13.56
  },
  {
    "symbol": "PAYO",
    "total_score": 31.45,
    "raw_score": 33.34,
    "breakdown": {
      "price_quality": 2.11,
      "volume_quality": 2.62,
      "rvol": 0.1,
      "volume_acceleration": 3.35,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.95,
      "spread_liquidity": 4.53,
      "momentum_consistency": 2.29,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.105,
      "vwap": 7.1052,
      "vwap_slope": -0.0001,
      "rvol": 0.04,
      "volume_acceleration": 0.96,
      "premarket_volume": 21851.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.07,
      "distance_from_pm_high_pct": 0.07,
      "extension_from_vwap_pct": -0.0,
      "spread_pct": 0.14
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 7.11,
    "pm_low": 7.1
  },
  {
    "symbol": "RMNI",
    "total_score": 31.36,
    "raw_score": 33.25,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 4.65,
      "rvol": 0.19,
      "volume_acceleration": 2.08,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.5,
      "spread_liquidity": 4.36,
      "momentum_consistency": 2.57,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.2,
      "vwap": 5.2152,
      "vwap_slope": -0.0025,
      "rvol": 0.08,
      "volume_acceleration": 0.6,
      "premarket_volume": 38774.0,
      "momentum_pct": -0.1,
      "consolidation_tightness_pct": 0.19,
      "distance_from_pm_high_pct": 0.67,
      "extension_from_vwap_pct": -0.29,
      "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.235,
    "pm_low": 5.2
  },
  {
    "symbol": "DFH",
    "total_score": 31.34,
    "raw_score": 33.22,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 3.36,
      "rvol": 0.13,
      "volume_acceleration": 3.2,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.3,
      "spread_liquidity": 4.32,
      "momentum_consistency": 3.0,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.81,
      "vwap": 14.8679,
      "vwap_slope": -0.025,
      "rvol": 0.06,
      "volume_acceleration": 0.92,
      "premarket_volume": 28029.0,
      "momentum_pct": -0.2,
      "consolidation_tightness_pct": 0.3,
      "distance_from_pm_high_pct": 0.93,
      "extension_from_vwap_pct": -0.39,
      "spread_pct": 0.2
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 14.9493,
    "pm_low": 14.81
  },
  {
    "symbol": "TK",
    "total_score": 31.15,
    "raw_score": 33.02,
    "breakdown": {
      "price_quality": 1.67,
      "volume_quality": 4.83,
      "rvol": 0.19,
      "volume_acceleration": 3.13,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.22,
      "spread_liquidity": 4.5,
      "momentum_consistency": 1.07,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.33,
      "vwap": 13.3709,
      "vwap_slope": -0.0165,
      "rvol": 0.08,
      "volume_acceleration": 0.9,
      "premarket_volume": 40283.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.15,
      "distance_from_pm_high_pct": 1.04,
      "extension_from_vwap_pct": -0.31,
      "spread_pct": 0.15
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 13.47,
    "pm_low": 13.3
  },
  {
    "symbol": "XPER",
    "total_score": 30.23,
    "raw_score": 32.05,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 3.66,
      "rvol": 0.15,
      "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.64,
      "spread_liquidity": 4.46,
      "momentum_consistency": 2.15,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.185,
      "vwap": 6.1942,
      "vwap_slope": -0.0006,
      "rvol": 0.06,
      "volume_acceleration": 0.6,
      "premarket_volume": 30510.0,
      "momentum_pct": -0.16,
      "consolidation_tightness_pct": 0.16,
      "distance_from_pm_high_pct": 0.48,
      "extension_from_vwap_pct": -0.15,
      "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.215,
    "pm_low": 6.18
  },
  {
    "symbol": "FRMM",
    "total_score": 30.12,
    "raw_score": 31.93,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 3.06,
      "rvol": 0.12,
      "volume_acceleration": 3.94,
      "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": 2.26,
      "momentum_consistency": 3.85,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.1,
      "vwap": 6.1144,
      "vwap_slope": -0.0051,
      "rvol": 0.05,
      "volume_acceleration": 1.13,
      "premarket_volume": 25520.0,
      "momentum_pct": -0.89,
      "consolidation_tightness_pct": 1.72,
      "distance_from_pm_high_pct": 1.61,
      "extension_from_vwap_pct": -0.23,
      "spread_pct": 0.82
    },
    "flags": {
      "meets_min_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.2,
    "pm_low": 6.0305
  },
  {
    "symbol": "AGPU",
    "total_score": 29.79,
    "raw_score": 31.58,
    "breakdown": {
      "price_quality": 4.68,
      "volume_quality": 3.34,
      "rvol": 0.13,
      "volume_acceleration": 1.08,
      "price_momentum": 1.02,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 4.09,
      "spread_liquidity": 2.74,
      "momentum_consistency": 2.11,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.32,
      "vwap": 10.4235,
      "vwap_slope": -0.096,
      "rvol": 0.06,
      "volume_acceleration": 0.31,
      "premarket_volume": 27834.0,
      "momentum_pct": 0.68,
      "consolidation_tightness_pct": 1.07,
      "distance_from_pm_high_pct": 2.55,
      "extension_from_vwap_pct": -0.99,
      "spread_pct": 0.68
    },
    "flags": {
      "meets_min_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.5904,
    "pm_low": 10.25
  },
  {
    "symbol": "SVCO",
    "total_score": 29.71,
    "raw_score": 31.49,
    "breakdown": {
      "price_quality": 1.78,
      "volume_quality": 3.86,
      "rvol": 0.15,
      "volume_acceleration": 1.69,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.23,
      "spread_liquidity": 3.52,
      "momentum_consistency": 2.84,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.78,
      "vwap": 6.7977,
      "vwap_slope": -0.004,
      "rvol": 0.06,
      "volume_acceleration": 0.49,
      "premarket_volume": 32193.0,
      "momentum_pct": -0.22,
      "consolidation_tightness_pct": 0.74,
      "distance_from_pm_high_pct": 1.02,
      "extension_from_vwap_pct": -0.26,
      "spread_pct": 0.44
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 6.85,
    "pm_low": 6.74
  },
  {
    "symbol": "FOSL",
    "total_score": 29.61,
    "raw_score": 31.39,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 4.19,
      "rvol": 0.17,
      "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": 5.33,
      "spread_liquidity": 4.4,
      "momentum_consistency": 1.6,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.555,
      "vwap": 5.5803,
      "vwap_slope": -0.0051,
      "rvol": 0.07,
      "volume_acceleration": 0.52,
      "premarket_volume": 34949.0,
      "momentum_pct": -0.02,
      "consolidation_tightness_pct": 0.11,
      "distance_from_pm_high_pct": 0.89,
      "extension_from_vwap_pct": -0.45,
      "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.605,
    "pm_low": 5.55
  },
  {
    "symbol": "FISN",
    "total_score": 29.58,
    "raw_score": 31.35,
    "breakdown": {
      "price_quality": 2.17,
      "volume_quality": 3.81,
      "rvol": 0.15,
      "volume_acceleration": 4.2,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 3.72,
      "spread_liquidity": 1.75,
      "momentum_consistency": 3.14,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.175,
      "vwap": 7.2595,
      "vwap_slope": -0.0612,
      "rvol": 0.06,
      "volume_acceleration": 1.42,
      "premarket_volume": 31757.0,
      "momentum_pct": -0.69,
      "consolidation_tightness_pct": 2.71,
      "distance_from_pm_high_pct": 3.04,
      "extension_from_vwap_pct": -1.16,
      "spread_pct": 0.98
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 7.4,
    "pm_low": 7.12
  },
  {
    "symbol": "STDN",
    "total_score": 29.14,
    "raw_score": 30.88,
    "breakdown": {
      "price_quality": 2.79,
      "volume_quality": 2.71,
      "rvol": 0.11,
      "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.82,
      "spread_liquidity": 2.82,
      "momentum_consistency": 2.5,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.21,
      "vwap": 12.2743,
      "vwap_slope": -0.0423,
      "rvol": 0.05,
      "volume_acceleration": 1.27,
      "premarket_volume": 22571.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.57,
      "distance_from_pm_high_pct": 1.57,
      "extension_from_vwap_pct": -0.52,
      "spread_pct": 0.66
    },
    "flags": {
      "meets_min_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.4052,
    "pm_low": 12.18
  },
  {
    "symbol": "REF",
    "total_score": 29.03,
    "raw_score": 30.77,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 4.24,
      "rvol": 0.17,
      "volume_acceleration": 0.78,
      "price_momentum": 0.31,
      "price_structure": 2.4,
      "vwap_structure": 1.2,
      "vwap_slope": 0.8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 4.87,
      "spread_liquidity": 2.92,
      "momentum_consistency": 3.59,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.35,
      "vwap": 14.4578,
      "vwap_slope": -0.0127,
      "rvol": 0.07,
      "volume_acceleration": 0.22,
      "premarket_volume": 35304.0,
      "momentum_pct": 0.21,
      "consolidation_tightness_pct": 0.66,
      "distance_from_pm_high_pct": 1.51,
      "extension_from_vwap_pct": -0.75,
      "spread_pct": 0.63
    },
    "flags": {
      "meets_min_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.57,
    "pm_low": 14.3
  },
  {
    "symbol": "OPRX",
    "total_score": 28.4,
    "raw_score": 30.11,
    "breakdown": {
      "price_quality": 2.69,
      "volume_quality": 2.42,
      "rvol": 0.1,
      "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": 4.38,
      "spread_liquidity": 3.27,
      "momentum_consistency": 2.48,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.69,
      "vwap": 7.7974,
      "vwap_slope": -0.0172,
      "rvol": 0.04,
      "volume_acceleration": 0.68,
      "premarket_volume": 20185.0,
      "momentum_pct": -0.77,
      "consolidation_tightness_pct": 1.16,
      "distance_from_pm_high_pct": 2.16,
      "extension_from_vwap_pct": -1.38,
      "spread_pct": 0.52
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": false,
      "vwap_rising": false
    },
    "pm_high": 7.86,
    "pm_low": 7.69
  }
]