[
  {
    "symbol": "NOK",
    "total_score": 76.12,
    "raw_score": 80.68,
    "breakdown": {
      "price_quality": 4.41,
      "volume_quality": 12.0,
      "rvol": 12.0,
      "volume_acceleration": 3.02,
      "price_momentum": 0.23,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.26,
      "spread_liquidity": 4.69,
      "momentum_consistency": 3.07,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.585,
      "vwap": 10.5243,
      "vwap_slope": 0.0008,
      "rvol": 111.28,
      "volume_acceleration": 0.87,
      "premarket_volume": 55637691.0,
      "momentum_pct": 0.15,
      "consolidation_tightness_pct": 0.28,
      "distance_from_pm_high_pct": 0.98,
      "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": 10.69,
    "pm_low": 10.3605
  },
  {
    "symbol": "RCAT",
    "total_score": 75.22,
    "raw_score": 79.74,
    "breakdown": {
      "price_quality": 4.27,
      "volume_quality": 12.0,
      "rvol": 12.0,
      "volume_acceleration": 1.88,
      "price_momentum": 0.16,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.12,
      "spread_liquidity": 4.64,
      "momentum_consistency": 3.67,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.27,
      "vwap": 9.2496,
      "vwap_slope": 0.0001,
      "rvol": 5.73,
      "volume_acceleration": 0.54,
      "premarket_volume": 2866785.0,
      "momentum_pct": 0.11,
      "consolidation_tightness_pct": 0.22,
      "distance_from_pm_high_pct": 1.17,
      "extension_from_vwap_pct": 0.22,
      "spread_pct": 0.11
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 9.38,
    "pm_low": 8.95
  },
  {
    "symbol": "CRGY",
    "total_score": 74.63,
    "raw_score": 79.11,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 12.0,
      "volume_acceleration": 2.79,
      "price_momentum": 0.27,
      "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.84,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.715,
      "vwap": 13.4201,
      "vwap_slope": 0.027,
      "rvol": 5.23,
      "volume_acceleration": 0.8,
      "premarket_volume": 2612922.0,
      "momentum_pct": 0.18,
      "consolidation_tightness_pct": 0.36,
      "distance_from_pm_high_pct": 0.07,
      "extension_from_vwap_pct": 2.2,
      "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.725,
    "pm_low": 13.19
  },
  {
    "symbol": "TROX",
    "total_score": 74.52,
    "raw_score": 78.99,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 7.08,
      "volume_acceleration": 10,
      "price_momentum": 0.14,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.13,
      "spread_liquidity": 4.39,
      "momentum_consistency": 2.76,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.51,
      "vwap": 5.4889,
      "vwap_slope": 0.0002,
      "rvol": 2.65,
      "volume_acceleration": 2.23,
      "premarket_volume": 1326598.0,
      "momentum_pct": 0.09,
      "consolidation_tightness_pct": 0.18,
      "distance_from_pm_high_pct": 1.17,
      "extension_from_vwap_pct": 0.39,
      "spread_pct": 0.18
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 5.575,
    "pm_low": 5.39
  },
  {
    "symbol": "AEBI",
    "total_score": 74.08,
    "raw_score": 78.52,
    "breakdown": {
      "price_quality": 2.66,
      "volume_quality": 12.0,
      "rvol": 5.04,
      "volume_acceleration": 10,
      "price_momentum": 1.29,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.28,
      "spread_liquidity": 3.11,
      "momentum_consistency": 3.15,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.34,
      "vwap": 12.1832,
      "vwap_slope": 0.0027,
      "rvol": 1.89,
      "volume_acceleration": 6.11,
      "premarket_volume": 945673.0,
      "momentum_pct": 0.86,
      "consolidation_tightness_pct": 1.63,
      "distance_from_pm_high_pct": 0.96,
      "extension_from_vwap_pct": 1.29,
      "spread_pct": 0.57
    },
    "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.46,
    "pm_low": 12.03
  },
  {
    "symbol": "PUMP",
    "total_score": 71.98,
    "raw_score": 76.3,
    "breakdown": {
      "price_quality": 3.86,
      "volume_quality": 12.0,
      "rvol": 9.94,
      "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.7,
      "momentum_consistency": 3.51,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.145,
      "vwap": 10.8163,
      "vwap_slope": 0.007,
      "rvol": 3.73,
      "volume_acceleration": 2.35,
      "premarket_volume": 1862817.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.27,
      "distance_from_pm_high_pct": 0.13,
      "extension_from_vwap_pct": 3.04,
      "spread_pct": 0.09
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 11.16,
    "pm_low": 10.48
  },
  {
    "symbol": "ONDS",
    "total_score": 68.43,
    "raw_score": 72.54,
    "breakdown": {
      "price_quality": 3.8,
      "volume_quality": 12.0,
      "rvol": 12.0,
      "volume_acceleration": 3.8,
      "price_momentum": 0.09,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.79,
      "spread_liquidity": 4.62,
      "momentum_consistency": 4.03,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.805,
      "vwap": 8.6563,
      "vwap_slope": 0.0044,
      "rvol": 131.72,
      "volume_acceleration": 1.38,
      "premarket_volume": 65857850.0,
      "momentum_pct": 0.06,
      "consolidation_tightness_pct": 0.45,
      "distance_from_pm_high_pct": 0.28,
      "extension_from_vwap_pct": 1.72,
      "spread_pct": 0.11
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 8.83,
    "pm_low": 8.28
  },
  {
    "symbol": "ABSI",
    "total_score": 68.21,
    "raw_score": 72.3,
    "breakdown": {
      "price_quality": 4.51,
      "volume_quality": 12.0,
      "rvol": 11.73,
      "volume_acceleration": 4.96,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 4.65,
      "spread_liquidity": 4.65,
      "momentum_consistency": 3.4,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.505,
      "vwap": 9.5032,
      "vwap_slope": 0.0001,
      "rvol": 4.4,
      "volume_acceleration": 1.5,
      "premarket_volume": 2200114.0,
      "momentum_pct": -0.16,
      "consolidation_tightness_pct": 0.21,
      "distance_from_pm_high_pct": 1.8,
      "extension_from_vwap_pct": 0.02,
      "spread_pct": 0.11
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 9.6788,
    "pm_low": 9.155
  },
  {
    "symbol": "HNST",
    "total_score": 67.76,
    "raw_score": 71.83,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 6.87,
      "volume_acceleration": 3.2,
      "price_momentum": 0.13,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 4.85,
      "spread_liquidity": 4.42,
      "momentum_consistency": 2.86,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.775,
      "vwap": 5.761,
      "vwap_slope": 0.0002,
      "rvol": 2.57,
      "volume_acceleration": 0.92,
      "premarket_volume": 1287494.0,
      "momentum_pct": 0.09,
      "consolidation_tightness_pct": 0.42,
      "distance_from_pm_high_pct": 1.53,
      "extension_from_vwap_pct": 0.24,
      "spread_pct": 0.17
    },
    "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": 5.865,
    "pm_low": 5.59
  },
  {
    "symbol": "SFL",
    "total_score": 66.87,
    "raw_score": 70.88,
    "breakdown": {
      "price_quality": 2.64,
      "volume_quality": 12.0,
      "rvol": 4.17,
      "volume_acceleration": 1.91,
      "price_momentum": 0.3,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.87,
      "spread_liquidity": 4.73,
      "momentum_consistency": 3.25,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.355,
      "vwap": 12.2761,
      "vwap_slope": 0.0012,
      "rvol": 1.56,
      "volume_acceleration": 0.55,
      "premarket_volume": 781495.0,
      "momentum_pct": 0.2,
      "consolidation_tightness_pct": 0.24,
      "distance_from_pm_high_pct": 0.17,
      "extension_from_vwap_pct": 0.64,
      "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.376,
    "pm_low": 12.02
  },
  {
    "symbol": "BFLY",
    "total_score": 66.78,
    "raw_score": 70.79,
    "breakdown": {
      "price_quality": 4.07,
      "volume_quality": 12.0,
      "rvol": 12.0,
      "volume_acceleration": 2.63,
      "price_momentum": 0.08,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.14,
      "spread_liquidity": 4.63,
      "momentum_consistency": 3.82,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.075,
      "vwap": 8.9514,
      "vwap_slope": 0.0023,
      "rvol": 5.39,
      "volume_acceleration": 0.76,
      "premarket_volume": 2695002.0,
      "momentum_pct": 0.06,
      "consolidation_tightness_pct": 0.3,
      "distance_from_pm_high_pct": 1.14,
      "extension_from_vwap_pct": 1.38,
      "spread_pct": 0.11
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 9.1799,
    "pm_low": 8.6
  },
  {
    "symbol": "BOOM",
    "total_score": 66.46,
    "raw_score": 70.45,
    "breakdown": {
      "price_quality": 1.98,
      "volume_quality": 8.0,
      "rvol": 0.32,
      "volume_acceleration": 10,
      "price_momentum": 0.76,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.89,
      "spread_liquidity": 3.57,
      "momentum_consistency": 3.94,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 6.98,
      "vwap": 6.8267,
      "vwap_slope": 0.0478,
      "rvol": 0.13,
      "volume_acceleration": 2.07,
      "premarket_volume": 66668.0,
      "momentum_pct": 0.5,
      "consolidation_tightness_pct": 0.72,
      "distance_from_pm_high_pct": 0.14,
      "extension_from_vwap_pct": 2.25,
      "spread_pct": 0.43
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 6.99,
    "pm_low": 6.56
  },
  {
    "symbol": "RIG",
    "total_score": 66.36,
    "raw_score": 70.34,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 12.0,
      "volume_acceleration": 5.36,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.42,
      "spread_liquidity": 4.42,
      "momentum_consistency": 3.24,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 5.775,
      "vwap": 5.6762,
      "vwap_slope": 0.0049,
      "rvol": 50.28,
      "volume_acceleration": 1.54,
      "premarket_volume": 25141718.0,
      "momentum_pct": -0.09,
      "consolidation_tightness_pct": 0.35,
      "distance_from_pm_high_pct": 0.77,
      "extension_from_vwap_pct": 1.74,
      "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.82,
    "pm_low": 5.57
  },
  {
    "symbol": "AGNC",
    "total_score": 66.34,
    "raw_score": 70.32,
    "breakdown": {
      "price_quality": 4.08,
      "volume_quality": 12.0,
      "rvol": 12.0,
      "volume_acceleration": 2.4,
      "price_momentum": 0.07,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.73,
      "spread_liquidity": 4.69,
      "momentum_consistency": 2.95,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.92,
      "vwap": 10.8841,
      "vwap_slope": 0.0004,
      "rvol": 16.25,
      "volume_acceleration": 0.69,
      "premarket_volume": 8124329.0,
      "momentum_pct": 0.05,
      "consolidation_tightness_pct": 0.09,
      "distance_from_pm_high_pct": 0.36,
      "extension_from_vwap_pct": 0.33,
      "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.96,
    "pm_low": 10.79
  },
  {
    "symbol": "BB",
    "total_score": 66.28,
    "raw_score": 70.25,
    "breakdown": {
      "price_quality": 3.5,
      "volume_quality": 12.0,
      "rvol": 12.0,
      "volume_acceleration": 2.48,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.91,
      "spread_liquidity": 4.61,
      "momentum_consistency": 3.36,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.4995,
      "vwap": 8.332,
      "vwap_slope": 0.0076,
      "rvol": 19.28,
      "volume_acceleration": 0.71,
      "premarket_volume": 9639282.0,
      "momentum_pct": -0.01,
      "consolidation_tightness_pct": 0.29,
      "distance_from_pm_high_pct": 0.12,
      "extension_from_vwap_pct": 2.01,
      "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.51,
    "pm_low": 8.0
  },
  {
    "symbol": "AI",
    "total_score": 66.22,
    "raw_score": 70.2,
    "breakdown": {
      "price_quality": 4.69,
      "volume_quality": 12.0,
      "rvol": 12.0,
      "volume_acceleration": 2.17,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 4.89,
      "spread_liquidity": 4.68,
      "momentum_consistency": 3.38,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 10.315,
      "vwap": 10.2602,
      "vwap_slope": 0.0021,
      "rvol": 6.07,
      "volume_acceleration": 0.62,
      "premarket_volume": 3034841.0,
      "momentum_pct": 0.0,
      "consolidation_tightness_pct": 0.24,
      "distance_from_pm_high_pct": 1.48,
      "extension_from_vwap_pct": 0.53,
      "spread_pct": 0.1
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 10.47,
    "pm_low": 9.76
  },
  {
    "symbol": "APPS",
    "total_score": 65.97,
    "raw_score": 69.93,
    "breakdown": {
      "price_quality": 3.44,
      "volume_quality": 12.0,
      "rvol": 11.78,
      "volume_acceleration": 3.04,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.64,
      "spread_liquidity": 4.13,
      "momentum_consistency": 3.49,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.56,
      "vwap": 11.3109,
      "vwap_slope": 0.0158,
      "rvol": 4.42,
      "volume_acceleration": 0.87,
      "premarket_volume": 2209390.0,
      "momentum_pct": -0.33,
      "consolidation_tightness_pct": 0.52,
      "distance_from_pm_high_pct": 0.47,
      "extension_from_vwap_pct": 2.2,
      "spread_pct": 0.26
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 11.615,
    "pm_low": 11.0
  },
  {
    "symbol": "EXK",
    "total_score": 65.85,
    "raw_score": 69.8,
    "breakdown": {
      "price_quality": 3.83,
      "volume_quality": 12.0,
      "rvol": 12.0,
      "volume_acceleration": 2.05,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.0,
      "spread_liquidity": 4.7,
      "momentum_consistency": 3.81,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.169,
      "vwap": 11.1522,
      "vwap_slope": 0.0002,
      "rvol": 11.2,
      "volume_acceleration": 0.59,
      "premarket_volume": 5600633.0,
      "momentum_pct": -0.01,
      "consolidation_tightness_pct": 0.22,
      "distance_from_pm_high_pct": 1.33,
      "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": 11.32,
    "pm_low": 10.65
  },
  {
    "symbol": "TXO",
    "total_score": 65.77,
    "raw_score": 69.72,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 0.51,
      "volume_acceleration": 6.45,
      "price_momentum": 0.31,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.36,
      "spread_liquidity": 4.32,
      "momentum_consistency": 3.26,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.63,
      "vwap": 14.3933,
      "vwap_slope": 0.0606,
      "rvol": 0.21,
      "volume_acceleration": 1.65,
      "premarket_volume": 107148.0,
      "momentum_pct": 0.21,
      "consolidation_tightness_pct": 0.41,
      "distance_from_pm_high_pct": 0.85,
      "extension_from_vwap_pct": 1.64,
      "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.755,
    "pm_low": 14.045
  },
  {
    "symbol": "CXM",
    "total_score": 65.7,
    "raw_score": 69.64,
    "breakdown": {
      "price_quality": 2.98,
      "volume_quality": 12.0,
      "rvol": 12.0,
      "volume_acceleration": 2.9,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.44,
      "spread_liquidity": 4.58,
      "momentum_consistency": 3.34,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 7.98,
      "vwap": 7.9337,
      "vwap_slope": 0.0028,
      "rvol": 5.67,
      "volume_acceleration": 1.29,
      "premarket_volume": 2834652.0,
      "momentum_pct": -0.31,
      "consolidation_tightness_pct": 0.44,
      "distance_from_pm_high_pct": 0.75,
      "extension_from_vwap_pct": 0.58,
      "spread_pct": 0.13
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 8.04,
    "pm_low": 7.4911
  },
  {
    "symbol": "CLF",
    "total_score": 65.64,
    "raw_score": 69.58,
    "breakdown": {
      "price_quality": 3.24,
      "volume_quality": 12.0,
      "rvol": 12.0,
      "volume_acceleration": 2.39,
      "price_momentum": 0.26,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.65,
      "spread_liquidity": 4.72,
      "momentum_consistency": 2.92,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.755,
      "vwap": 11.7218,
      "vwap_slope": 0.0007,
      "rvol": 15.67,
      "volume_acceleration": 0.69,
      "premarket_volume": 7835724.0,
      "momentum_pct": 0.17,
      "consolidation_tightness_pct": 0.34,
      "distance_from_pm_high_pct": 0.47,
      "extension_from_vwap_pct": 0.28,
      "spread_pct": 0.09
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 11.81,
    "pm_low": 11.45
  },
  {
    "symbol": "WNC",
    "total_score": 65.42,
    "raw_score": 69.35,
    "breakdown": {
      "price_quality": 2.01,
      "volume_quality": 12.0,
      "rvol": 1.49,
      "volume_acceleration": 3.53,
      "price_momentum": 0.58,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.77,
      "spread_liquidity": 4.49,
      "momentum_consistency": 3.48,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.99,
      "vwap": 12.7988,
      "vwap_slope": 0.0059,
      "rvol": 0.62,
      "volume_acceleration": 1.01,
      "premarket_volume": 311356.0,
      "momentum_pct": 0.39,
      "consolidation_tightness_pct": 0.42,
      "distance_from_pm_high_pct": 0.31,
      "extension_from_vwap_pct": 1.49,
      "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.03,
    "pm_low": 12.44
  },
  {
    "symbol": "TGB",
    "total_score": 65.23,
    "raw_score": 69.14,
    "breakdown": {
      "price_quality": 4.48,
      "volume_quality": 12.0,
      "rvol": 12.0,
      "volume_acceleration": 1.16,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.33,
      "spread_liquidity": 4.65,
      "momentum_consistency": 3.11,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 9.485,
      "vwap": 9.4274,
      "vwap_slope": 0.0008,
      "rvol": 12.37,
      "volume_acceleration": 0.33,
      "premarket_volume": 6182945.0,
      "momentum_pct": -0.05,
      "consolidation_tightness_pct": 0.16,
      "distance_from_pm_high_pct": 0.89,
      "extension_from_vwap_pct": 0.61,
      "spread_pct": 0.11
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 9.57,
    "pm_low": 9.11
  },
  {
    "symbol": "SBET",
    "total_score": 65.12,
    "raw_score": 69.03,
    "breakdown": {
      "price_quality": 3.88,
      "volume_quality": 12.0,
      "rvol": 12.0,
      "volume_acceleration": 1.71,
      "price_momentum": 0.17,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 4.51,
      "spread_liquidity": 4.62,
      "momentum_consistency": 3.74,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 8.875,
      "vwap": 8.8258,
      "vwap_slope": 0.0002,
      "rvol": 16.07,
      "volume_acceleration": 0.49,
      "premarket_volume": 8033753.0,
      "momentum_pct": 0.11,
      "consolidation_tightness_pct": 0.39,
      "distance_from_pm_high_pct": 1.99,
      "extension_from_vwap_pct": 0.56,
      "spread_pct": 0.11
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 9.055,
    "pm_low": 8.39
  },
  {
    "symbol": "VISN",
    "total_score": 64.97,
    "raw_score": 68.87,
    "breakdown": {
      "price_quality": 3.47,
      "volume_quality": 12.0,
      "rvol": 12.0,
      "volume_acceleration": 2.34,
      "price_momentum": 0.13,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 4.88,
      "spread_liquidity": 4.71,
      "momentum_consistency": 2.93,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.525,
      "vwap": 11.4663,
      "vwap_slope": 0.0011,
      "rvol": 8.2,
      "volume_acceleration": 0.67,
      "premarket_volume": 4099458.0,
      "momentum_pct": 0.09,
      "consolidation_tightness_pct": 0.22,
      "distance_from_pm_high_pct": 1.5,
      "extension_from_vwap_pct": 0.51,
      "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.7,
    "pm_low": 11.33
  },
  {
    "symbol": "VG",
    "total_score": 64.63,
    "raw_score": 68.51,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 12.0,
      "volume_acceleration": 2.83,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.47,
      "spread_liquidity": 4.77,
      "momentum_consistency": 3.54,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.625,
      "vwap": 14.263,
      "vwap_slope": 0.0095,
      "rvol": 13.84,
      "volume_acceleration": 0.81,
      "premarket_volume": 6920409.0,
      "momentum_pct": -0.03,
      "consolidation_tightness_pct": 0.24,
      "distance_from_pm_high_pct": 0.71,
      "extension_from_vwap_pct": 2.54,
      "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.73,
    "pm_low": 13.892
  },
  {
    "symbol": "HOPE",
    "total_score": 64.59,
    "raw_score": 68.46,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 1.62,
      "volume_acceleration": 3.4,
      "price_momentum": 0.22,
      "price_structure": 12,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.81,
      "spread_liquidity": 4.76,
      "momentum_consistency": 3.16,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 13.92,
      "vwap": 13.8693,
      "vwap_slope": 0.0019,
      "rvol": 0.67,
      "volume_acceleration": 0.98,
      "premarket_volume": 337133.0,
      "momentum_pct": 0.14,
      "consolidation_tightness_pct": 0.14,
      "distance_from_pm_high_pct": 0.25,
      "extension_from_vwap_pct": 0.37,
      "spread_pct": 0.07
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": false,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": true,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 13.955,
    "pm_low": 13.725
  },
  {
    "symbol": "FSM",
    "total_score": 64.33,
    "raw_score": 68.18,
    "breakdown": {
      "price_quality": 2.27,
      "volume_quality": 12.0,
      "rvol": 12.0,
      "volume_acceleration": 2.09,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.13,
      "spread_liquidity": 4.74,
      "momentum_consistency": 3.56,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 12.735,
      "vwap": 12.7185,
      "vwap_slope": 0.0005,
      "rvol": 9.33,
      "volume_acceleration": 0.6,
      "premarket_volume": 4665046.0,
      "momentum_pct": -0.08,
      "consolidation_tightness_pct": 0.12,
      "distance_from_pm_high_pct": 1.16,
      "extension_from_vwap_pct": 0.13,
      "spread_pct": 0.08
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 12.885,
    "pm_low": 12.0758
  },
  {
    "symbol": "GPK",
    "total_score": 64.15,
    "raw_score": 68.0,
    "breakdown": {
      "price_quality": 3.54,
      "volume_quality": 12.0,
      "rvol": 12.0,
      "volume_acceleration": 1.04,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.38,
      "spread_liquidity": 4.71,
      "momentum_consistency": 2.93,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 11.465,
      "vwap": 11.4442,
      "vwap_slope": 0.0009,
      "rvol": 6.85,
      "volume_acceleration": 0.3,
      "premarket_volume": 3422792.0,
      "momentum_pct": -0.04,
      "consolidation_tightness_pct": 0.22,
      "distance_from_pm_high_pct": 0.82,
      "extension_from_vwap_pct": 0.18,
      "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.56,
    "pm_low": 11.28
  },
  {
    "symbol": "F",
    "total_score": 64.12,
    "raw_score": 67.97,
    "breakdown": {
      "price_quality": 1.5,
      "volume_quality": 12.0,
      "rvol": 12.0,
      "volume_acceleration": 2.4,
      "price_momentum": 0.0,
      "price_structure": 2.4,
      "vwap_structure": 8,
      "vwap_slope": 8,
      "consolidation_quality": 8,
      "distance_from_pm_high": 5.6,
      "spread_liquidity": 4.76,
      "momentum_consistency": 3.31,
      "extension_risk_penalty": 0.0
    },
    "metrics": {
      "price": 14.025,
      "vwap": 14.0003,
      "vwap_slope": 0.0005,
      "rvol": 51.17,
      "volume_acceleration": 0.69,
      "premarket_volume": 25583180.0,
      "momentum_pct": -0.04,
      "consolidation_tightness_pct": 0.29,
      "distance_from_pm_high_pct": 0.53,
      "extension_from_vwap_pct": 0.18,
      "spread_pct": 0.07
    },
    "flags": {
      "meets_min_volume": true,
      "meets_min_rvol": true,
      "spread_ok": true,
      "extended": false,
      "hh_hl_structure": false,
      "price_above_vwap": true,
      "vwap_rising": true
    },
    "pm_high": 14.1,
    "pm_low": 13.845
  }
]