Arena run #404

meanrev-v1mistralaimistralai/mistral-large-2512EUsuccess
Arena
Run status
as_of: 2026-03-04T10:26:53.527562+00:00
started_at: 2026-03-04T11:44:51.274304+00:00
finished_at: 2026-03-04T11:45:11.848003+00:00
duration_ms: 20571
Inputs
{
  "dry_run": false,
  "selected": [
    {
      "symbol": "CBG_CFD.UK",
      "selection_reason": "Oversold (1-day -5.9%), near 50MA (+3.6%), high volatility (116.8%)",
      "mean_reversion_score": 85
    },
    {
      "symbol": "ADS_CFD.DE",
      "selection_reason": "Oversold (1-day -8.2%), near 50MA (-6.3%), moderate volatility (43.3%)",
      "mean_reversion_score": 80
    },
    {
      "symbol": "EZJ_CFD.UK",
      "selection_reason": "Oversold (1-day -8.2%), near 50MA (-8.3%), moderate volatility (86.6%)",
      "mean_reversion_score": 75
    },
    {
      "symbol": "PAGE_CFD.UK",
      "selection_reason": "Oversold (1-day -11.0%), near 50MA (-8.4%), high volatility (112.7%)",
      "mean_reversion_score": 70
    },
    {
      "symbol": "BOSS_CFD.DE",
      "selection_reason": "Oversold (1-day -4.9%), near 50MA (-1.5%), moderate volatility (46.5%)",
      "mean_reversion_score": 65
    }
  ],
  "universe_symbols": [
    "VTY_CFD.UK",
    "WEIR_CFD.UK",
    "UTG_CFD.UK",
    "CCL_CFD.UK",
    "CBG_CFD.UK",
    "KGF_CFD.UK",
    "ADS_CFD.DE",
    "AML_CFD.UK",
    "COFB_CFD.BE",
    "IMI_CFD.UK",
    "AT1_CFD.DE",
    "CNA_CFD.UK",
    "STNE_CFD.US",
    "HLMA_CFD.UK",
    "SHC_CFD.UK",
    "IPR_CFD.PT",
    "IPO_CFD.UK",
    "ATG_CFD.UK",
    "MDB_CFD.US",
    "EXPN_CFD.UK",
    "CCC_CFD.UK",
    "BYIT_CFD.UK",
    "WKP_CFD.UK",
    "CCH_CFD.UK",
    "MCG_CFD.UK",
    "EZJ_CFD.UK",
    "LSEG_CFD.UK",
    "SBGI_CFD.US",
    "MKS_CFD.UK",
    "BOSS_CFD.DE",
    "ALK_CFD.US",
    "HMSO_CFD.UK",
    "BT_CFD.UK",
    "MSLH_CFD.UK",
    "PAGE_CFD.UK",
    "NBIS_CFD.US",
    "COIN_CFD.US",
    "NXT_CFD.UK",
    "SDG_CFD.FR",
    "SNOW_CFD.US",
    "GOOS_CFD.US",
    "PSN_CFD.UK",
    "ARG_CFD.FR",
    "WLK_CFD.US",
    "UHAL_CFD.US",
    "IVZ_CFD.US",
    "JLL_CFD.US"
  ]
}
Outputs
{
  "actions": {
    "buy": [
      {
        "reason": "Highest mean-reversion score (85) with strong oversold signal (-5.9% 1-day) and proximity to 50MA (+3.6%).",
        "symbol": "CBG_CFD.UK",
        "position_size": 3000
      },
      {
        "reason": "Second-highest mean-reversion score (80) with strong oversold signal (-8.2% 1-day) and moderate volatility.",
        "symbol": "ADS_CFD.DE",
        "position_size": 3000
      }
    ],
    "hold": [
      {
        "reason": "Positive PnL (384.04) and no strong sell signal; holding for further upside.",
        "symbol": "ATO_CFD.FR"
      },
      {
        "reason": "No price movement since entry; no clear mean-reversion signal to exit.",
        "symbol": "BYIT_CFD.UK"
      },
      {
        "reason": "Positive PnL (73.01) and no strong sell signal; holding for further upside.",
        "symbol": "DOM_CFD.UK"
      },
      {
        "reason": "Positive PnL (210.00) and no strong sell signal; holding for further upside.",
        "symbol": "EXM_CFD.BE"
      },
      {
        "reason": "Positive PnL (262.17) and no strong sell signal; holding for further upside.",
        "symbol": "EXPD_CFD.US"
      },
      {
        "reason": "Marginal negative PnL (-0.69) but candidate for mean-reversion; holding for potential rebound.",
        "symbol": "EZJ_CFD.UK"
      },
      {
        "reason": "Positive PnL (101.85) and no strong sell signal; holding for further upside.",
        "symbol": "FUTR_CFD.UK"
      },
      {
        "reason": "Positive PnL (240.00) and no strong sell signal; holding for further upside.",
        "symbol": "LIO_CFD.UK"
      },
      {
        "reason": "Positive PnL (63.36) and no strong sell signal; holding for further upside.",
        "symbol": "NA9_CFD.DE"
      },
      {
        "reason": "No price movement since entry; no clear mean-reversion signal to exit.",
        "symbol": "OCDO_CFD.UK"
      },
      {
        "reason": "Positive PnL (89.77) and no strong sell signal; holding for further upside.",
        "symbol": "OKTA_CFD.US"
      },
      {
        "reason": "Positive PnL (79.26) and no strong sell signal; holding for further upside.",
        "symbol": "UKW_CFD.UK"
      },
      {
        "reason": "No price movement since entry; no clear mean-reversion signal to exit.",
        "symbol": "WKP_CFD.UK"
      }
    ],
    "sell": [
      {
        "reason": "Marginal negative PnL (-19.73) with no clear mean-reversion signal; prefer to free up capital for stronger candidates.",
        "symbol": "JMAT_CFD.UK"
      },
      {
        "reason": "Negative PnL (-63.48) with no immediate mean-reversion signal; avoid further drawdown.",
        "symbol": "WIZZ_CFD.UK"
      }
    ]
  },
  "portfolio_rationale": "Portfolio rebalanced to free up capital from underperforming or stagnant positions (JMAT_CFD.UK, WIZZ_CFD.UK) and deploy into high-conviction mean-reversion candidates (CBG_CFD.UK, ADS_CFD.DE). Existing profitable positions retained to avoid overtrading and allow further upside. Gross leverage remains within constraints (max 3.0)."
}
Prompts & responses
#793openroutermistralai/mistral-large-25122026-03-04T11:44:51.314723+00:00
System prompt
You are an Arena strategy executor. You must follow the strategy rules strictly and output ONLY valid JSON. You are NOT allowed to invent prices, fundamentals, earnings dates, or sentiment. If a field is null/empty, treat it as unknown. You are a constrained selector (no narrative).
User prompt
{"task": "stage1_universe_scan", "region": "EU", "strategy": {"key": "meanrev-v1", "name": "Two-Stage LLM Mean-Reversion (Arena v1)", "rules": {"max_positions": 10, "max_buys_per_run": 2, "avoid_overtrading": true, "max_sells_per_run": 2, "max_gross_leverage": 3.0, "fixed_position_size": 3000.0, "universe_symbols_eu": [], "universe_symbols_us": []}}, "selection_rules": {"horizon": "2-10 trading days", "target": "short-term mean reversion in liquid equities", "constraints": ["Select exactly 5 candidates", "Avoid earnings within 5 trading days (if known)", "Avoid highly binary/event-driven moves (if known)", "Avoid sector concentration: max 1 per sector unless clearly justified (sector may be unknown)"]}, "universe": [{"symbol": "VTY_CFD.UK", "name": "VISTRY GROUP PLC", "sector": "", "last_price": 720.0, "change_1d_pct": 7.752170008979342, "distance_from_ma200_pct": 13.334264143447182, "distance_from_ma50_pct": 9.187026761436968, "volatility_20d_pct": 108.27100991710547, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "WEIR_CFD.UK", "name": "", "sector": "", "last_price": 3564.0, "change_1d_pct": 19.19732441471571, "distance_from_ma200_pct": 37.136107856394496, "distance_from_ma50_pct": 18.20579522816075, "volatility_20d_pct": 87.71696843792506, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "UTG_CFD.UK", "name": "UNITE GROUP PLC/THE", "sector": "", "last_price": 567.5, "change_1d_pct": 3.4639927073837784, "distance_from_ma200_pct": -23.929923575376698, "distance_from_ma50_pct": -3.6875042216270137, "volatility_20d_pct": 73.84223442053181, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "CCL_CFD.UK", "name": "CARNIVAL PLC", "sector": "", "last_price": 2373.0, "change_1d_pct": 7.912687585266021, "distance_from_ma200_pct": 26.41215845244669, "distance_from_ma50_pct": 14.616441127141865, "volatility_20d_pct": 141.1300212149729, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "CBG_CFD.UK", "name": "CLOSE BROTHERS GROUP PLC", "sector": "", "last_price": 497.8, "change_1d_pct": -5.89792060491493, "distance_from_ma200_pct": 15.793508864321094, "distance_from_ma50_pct": 3.592137485786795, "volatility_20d_pct": 116.76618625853061, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "KGF_CFD.UK", "name": "KINGFISHER PLC", "sector": "", "last_price": 367.3, "change_1d_pct": 9.282951502529002, "distance_from_ma200_pct": 25.836325072262547, "distance_from_ma50_pct": 13.171108060075287, "volatility_20d_pct": 79.7523939314479, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "ADS_CFD.DE", "name": "ADIDAS AG", "sector": "", "last_price": 146.92, "change_1d_pct": -8.170982480483524, "distance_from_ma200_pct": -16.771731120801313, "distance_from_ma50_pct": -6.281487748849712, "volatility_20d_pct": 43.26107369371941, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "AML_CFD.UK", "name": "ASTON MARTIN LAGONDA GLOBAL", "sector": "", "last_price": 41.0, "change_1d_pct": -29.31034482758621, "distance_from_ma200_pct": -41.07802778099134, "distance_from_ma50_pct": -31.55967161996588, "volatility_20d_pct": 109.21218170050702, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "COFB_CFD.BE", "name": "Cofinimmo SA", "sector": "", "last_price": 91.25, "change_1d_pct": 1.9553072625698276, "distance_from_ma200_pct": null, "distance_from_ma50_pct": 9.988790183575812, "volatility_20d_pct": 1542.002222512536, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "IMI_CFD.UK", "name": "IMI PLC", "sector": "", "last_price": 2828.0, "change_1d_pct": 8.26952526799387, "distance_from_ma200_pct": 29.012317870749314, "distance_from_ma50_pct": 11.107007677698544, "volatility_20d_pct": 78.40398881701634, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "AT1_CFD.DE", "name": "AROUNDTOWN SA", "sector": "", "last_price": 2.692, "change_1d_pct": -12.654120700843595, "distance_from_ma200_pct": -10.79535287529243, "distance_from_ma50_pct": -2.9063183028081974, "volatility_20d_pct": 98.53482010392509, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "CNA_CFD.UK", "name": "CENTRICA PLC", "sector": "", "last_price": 197.0, "change_1d_pct": 2.3376623376623273, "distance_from_ma200_pct": 16.907910392757188, "distance_from_ma50_pct": 8.119974753711467, "volatility_20d_pct": 93.26050913466813, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "STNE_CFD.US", "name": "", "sector": "", "last_price": 14.17, "change_1d_pct": -13.544844417327639, "distance_from_ma200_pct": -10.990785002229941, "distance_from_ma50_pct": -10.379983808945559, "volatility_20d_pct": 147.29515351881847, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "HLMA_CFD.UK", "name": "HALMA PLC", "sector": "", "last_price": 4104.0, "change_1d_pct": 15.345699831365934, "distance_from_ma200_pct": 23.591861367515033, "distance_from_ma50_pct": 12.09684468140897, "volatility_20d_pct": 82.81135582460098, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "SHC_CFD.UK", "name": "SHAFTESBURY CAPITAL PLC", "sector": "", "last_price": 147.2, "change_1d_pct": 2.364394993045882, "distance_from_ma200_pct": 5.210906053879838, "distance_from_ma50_pct": 3.8182841489510233, "volatility_20d_pct": 60.09537427211038, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "IPR_CFD.PT", "name": "Impresa SGPS SA", "sector": "", "last_price": 0.185, "change_1d_pct": -6.565656565656575, "distance_from_ma200_pct": 20.69809166530745, "distance_from_ma50_pct": -5.833248498422073, "volatility_20d_pct": 242.82012575943392, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "IPO_CFD.UK", "name": "IP GROUP PLC", "sector": "", "last_price": 57.6, "change_1d_pct": -1.873935264054516, "distance_from_ma200_pct": 10.233643652522883, "distance_from_ma50_pct": -2.027486732888828, "volatility_20d_pct": 89.82123635439407, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "ATG_CFD.UK", "name": "AUCTION TECHNOLOGY GROUP", "sector": "", "last_price": 305.0, "change_1d_pct": 4.2735042735042805, "distance_from_ma200_pct": -30.344980756373573, "distance_from_ma50_pct": -1.1704016694101371, "volatility_20d_pct": 159.9931345477538, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "MDB_CFD.US", "name": "", "sector": "", "last_price": 259.43, "change_1d_pct": -21.353866674750655, "distance_from_ma200_pct": -15.190615164707822, "distance_from_ma50_pct": -32.01683816847183, "volatility_20d_pct": 215.6796730862848, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "EXPN_CFD.UK", "name": "EXPERIAN PLC", "sector": "", "last_price": 2745.0, "change_1d_pct": 8.670263936120115, "distance_from_ma200_pct": -22.49882643600887, "distance_from_ma50_pct": -7.076504979785325, "volatility_20d_pct": 106.5159364083547, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "CCC_CFD.UK", "name": "COMPUTACENTER PLC", "sector": "", "last_price": 3060.0, "change_1d_pct": -6.877662811929397, "distance_from_ma200_pct": 20.590448668980944, "distance_from_ma50_pct": 5.284743621327226, "volatility_20d_pct": 97.14510937756963, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "BYIT_CFD.UK", "name": "BYTES TECHNOLOGY GROUP PLC", "sector": "", "last_price": 300.4, "change_1d_pct": -12.674418604651173, "distance_from_ma200_pct": -28.03446775272175, "distance_from_ma50_pct": -14.34777426817815, "volatility_20d_pct": 87.82535981934274, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "WKP_CFD.UK", "name": "WORKSPACE GROUP PLC", "sector": "", "last_price": 423.0, "change_1d_pct": 3.6764705882353033, "distance_from_ma200_pct": 1.8640028868691871, "distance_from_ma50_pct": 5.808194506978848, "volatility_20d_pct": 70.2233148398582, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "CCH_CFD.UK", "name": "COCA-COLA HBC AG-DI", "sector": "", "last_price": 4630.0, "change_1d_pct": -1.906779661016944, "distance_from_ma200_pct": 20.510662239405143, "distance_from_ma50_pct": 13.022760782322539, "volatility_20d_pct": 71.1715610930273, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "MCG_CFD.UK", "name": "MOBICO GROUP PLC", "sector": "", "last_price": 31.26, "change_1d_pct": 23.851030110935035, "distance_from_ma200_pct": 12.691085471826336, "distance_from_ma50_pct": 32.023515896881435, "volatility_20d_pct": 210.87769115491298, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "EZJ_CFD.UK", "name": "EASYJET PLC", "sector": "", "last_price": 447.6, "change_1d_pct": -8.184615384615379, "distance_from_ma200_pct": -10.294983403269242, "distance_from_ma50_pct": -8.255338756298226, "volatility_20d_pct": 86.55788992228685, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "LSEG_CFD.UK", "name": "LONDON STOCK EXCHANGE GROUP", "sector": "", "last_price": 8674.0, "change_1d_pct": 9.547865622631967, "distance_from_ma200_pct": -7.437301817623421, "distance_from_ma50_pct": 3.746546875007839, "volatility_20d_pct": 108.29860079620886, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "SBGI_CFD.US", "name": "SINCLAIR INC", "sector": "", "last_price": 15.6, "change_1d_pct": -7.637655417406752, "distance_from_ma200_pct": 7.428768184557111, "distance_from_ma50_pct": 4.412079674448499, "volatility_20d_pct": 138.1881533648708, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "MKS_CFD.UK", "name": "MARKS & SPENCER GROUP PLC", "sector": "", "last_price": 397.6, "change_1d_pct": 9.411117226197053, "distance_from_ma200_pct": 10.111525306334212, "distance_from_ma50_pct": 12.600812560994456, "volatility_20d_pct": 102.27498035906231, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "BOSS_CFD.DE", "name": "Hugo Boss AG", "sector": "", "last_price": 35.35, "change_1d_pct": -4.896421845574384, "distance_from_ma200_pct": -9.266740510963, "distance_from_ma50_pct": -1.5236396194216018, "volatility_20d_pct": 46.5427844592804, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "ALK_CFD.US", "name": "Alaska Air Group Inc", "sector": "", "last_price": 50.71, "change_1d_pct": -8.200579290369303, "distance_from_ma200_pct": -0.8325877688310057, "distance_from_ma50_pct": -2.930276718580116, "volatility_20d_pct": 111.56413460180359, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "HMSO_CFD.UK", "name": "HAMMERSON PLC", "sector": "", "last_price": 355.4, "change_1d_pct": 14.129736673089276, "distance_from_ma200_pct": 22.516025502913806, "distance_from_ma50_pct": 10.006914897239172, "volatility_20d_pct": 87.54938293511039, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "BT_CFD.UK", "name": "BT GROUP PLC", "sector": "", "last_price": 211.0, "change_1d_pct": 3.3806957373836433, "distance_from_ma200_pct": 10.169909673727373, "distance_from_ma50_pct": 9.32993702388365, "volatility_20d_pct": 91.1818600610736, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "MSLH_CFD.UK", "name": "MARSHALLS PLC", "sector": "", "last_price": 182.32, "change_1d_pct": 0.8407079646017612, "distance_from_ma200_pct": -17.111863069088763, "distance_from_ma50_pct": 6.139091576985178, "volatility_20d_pct": 102.4204512350097, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "PAGE_CFD.UK", "name": "PAGEGROUP PLC", "sector": "", "last_price": 209.6, "change_1d_pct": -10.960067969413767, "distance_from_ma200_pct": -19.313052268665963, "distance_from_ma50_pct": -8.41066281665177, "volatility_20d_pct": 112.6882126676479, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "NBIS_CFD.US", "name": "", "sector": "", "last_price": 88.3, "change_1d_pct": -15.356595092024538, "distance_from_ma200_pct": 7.744945871281983, "distance_from_ma50_pct": -6.342212614844822, "volatility_20d_pct": 170.58581697884307, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "COIN_CFD.US", "name": "Coinbase Global Inc", "sector": "", "last_price": 185.67, "change_1d_pct": 3.132811198133645, "distance_from_ma200_pct": -35.418984425530006, "distance_from_ma50_pct": -9.915898216172748, "volatility_20d_pct": 155.61606228657058, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "NXT_CFD.UK", "name": "NEXT PLC", "sector": "", "last_price": 13225.0, "change_1d_pct": -5.603140613847257, "distance_from_ma200_pct": 4.116518358426768, "distance_from_ma50_pct": -3.780207539944458, "volatility_20d_pct": 72.99366321435181, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "SDG_CFD.FR", "name": "Synergie SA", "sector": "", "last_price": 28.5, "change_1d_pct": -3.0612244897959107, "distance_from_ma200_pct": -11.192308693042142, "distance_from_ma50_pct": -4.830852702202715, "volatility_20d_pct": 77.87629221334478, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "SNOW_CFD.US", "name": "", "sector": "", "last_price": 168.16, "change_1d_pct": -1.4706744008906036, "distance_from_ma200_pct": -22.961439946710716, "distance_from_ma50_pct": -15.014479276693182, "volatility_20d_pct": 138.69851569407896, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "GOOS_CFD.US", "name": "", "sector": "", "last_price": 11.94, "change_1d_pct": -3.6319612590799077, "distance_from_ma200_pct": -6.134289285630057, "distance_from_ma50_pct": -5.341768539218961, "volatility_20d_pct": 129.54896197262082, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "PSN_CFD.UK", "name": "PERSIMMON PLC", "sector": "", "last_price": 1398.0, "change_1d_pct": -2.7640602612433396, "distance_from_ma200_pct": 10.380997224407462, "distance_from_ma50_pct": -0.5773200509943011, "volatility_20d_pct": 95.523625160791, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "ARG_CFD.FR", "name": "ARGAN", "sector": "", "last_price": 66.0, "change_1d_pct": -6.6108218247679424, "distance_from_ma200_pct": 0.8922312752617456, "distance_from_ma50_pct": -1.0027521234909686, "volatility_20d_pct": 45.27217456851028, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "WLK_CFD.US", "name": "WESTLAKE CHEMICAL CORP", "sector": "", "last_price": 104.3, "change_1d_pct": 4.143784323514721, "distance_from_ma200_pct": 31.068351579857435, "distance_from_ma50_pct": 19.30553426688293, "volatility_20d_pct": 108.2661494522795, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "UHAL_CFD.US", "name": "", "sector": "", "last_price": 51.92, "change_1d_pct": 3.591380686352763, "distance_from_ma200_pct": -8.283540234149012, "distance_from_ma50_pct": -2.469446562949662, "volatility_20d_pct": 85.7198981925985, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "IVZ_CFD.US", "name": "", "sector": "", "last_price": 25.71, "change_1d_pct": -3.9237668161435035, "distance_from_ma200_pct": 14.96077427489979, "distance_from_ma50_pct": -5.63821743949614, "volatility_20d_pct": 82.56488833349962, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "JLL_CFD.US", "name": "", "sector": "", "last_price": 314.8, "change_1d_pct": -1.4031571034828216, "distance_from_ma200_pct": 6.188624459274572, "distance_from_ma50_pct": -6.114319832842929, "volatility_20d_pct": 109.52287995519126, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}], "output_schema": {"selected_stocks": [{"symbol": "string", "mean_reversion_score": "integer 0-100", "selection_reason": "short, concrete, indicator-based"}], "rejected_common_reasons": ["string"]}}
Output JSON
{
  "selected_stocks": [
    {
      "symbol": "CBG_CFD.UK",
      "selection_reason": "Oversold (1-day -5.9%), near 50MA (+3.6%), high volatility (116.8%)",
      "mean_reversion_score": 85
    },
    {
      "symbol": "ADS_CFD.DE",
      "selection_reason": "Oversold (1-day -8.2%), near 50MA (-6.3%), moderate volatility (43.3%)",
      "mean_reversion_score": 80
    },
    {
      "symbol": "EZJ_CFD.UK",
      "selection_reason": "Oversold (1-day -8.2%), near 50MA (-8.3%), moderate volatility (86.6%)",
      "mean_reversion_score": 75
    },
    {
      "symbol": "PAGE_CFD.UK",
      "selection_reason": "Oversold (1-day -11.0%), near 50MA (-8.4%), high volatility (112.7%)",
      "mean_reversion_score": 70
    },
    {
      "symbol": "BOSS_CFD.DE",
      "selection_reason": "Oversold (1-day -4.9%), near 50MA (-1.5%), moderate volatility (46.5%)",
      "mean_reversion_score": 65
    }
  ],
  "rejected_common_reasons": [
    "Extreme 1-day moves (>20%) with unknown catalysts",
    "Missing sector data (sector concentration risk unassessed)",
    "No earnings date confirmation (potential event risk)",
    "MA200 distance null or extreme (data quality or trend issues)"
  ]
}
#794openroutermistralai/mistral-large-25122026-03-04T11:44:59.071424+00:00
System prompt
You are an Arena portfolio manager. You must follow the strategy rules strictly and output ONLY valid JSON. You are NOT allowed to invent prices/fundamentals/news/earnings. If a field is null/empty, treat it as unknown. Avoid overtrading: if changes are marginal, prefer HOLD. Do not churn.
User prompt
{"task": "stage2_portfolio_management", "region": "EU", "strategy": {"key": "meanrev-v1", "name": "Two-Stage LLM Mean-Reversion (Arena v1)", "rules": {"max_positions": 10, "max_buys_per_run": 2, "avoid_overtrading": true, "max_sells_per_run": 2, "max_gross_leverage": 3.0, "fixed_position_size": 3000.0, "universe_symbols_eu": [], "universe_symbols_us": []}}, "portfolio_constraints": {"initial_equity": 10000.0, "max_positions": 10, "fixed_position_size": 3000.0, "max_gross_leverage": 3.0, "overtrading_rules": ["Max 2 SELL actions per run unless risk event forces more", "Max 2 BUY actions per run", "If no clear improvement vs current holdings, output HOLD for everything"]}, "current_portfolio": [{"symbol": "ACM_CFD.US", "qty": 0.0, "avg_price": 88.42, "last_price": 97.88, "unrealized_pnl": 0.0, "opened_at": "2026-02-15T10:57:15.913854+00:00"}, {"symbol": "AIR_CFD.DE", "qty": 0.0, "avg_price": 200.984, "last_price": 187.12, "unrealized_pnl": 0.0, "opened_at": "2026-02-19T09:33:49.074031+00:00"}, {"symbol": "AMCX_CFD.US", "qty": 0.0, "avg_price": 7.5, "last_price": 7.365, "unrealized_pnl": -53.999999999999915, "opened_at": "2026-02-24T18:14:37.115518+00:00"}, {"symbol": "AMH_CFD.US", "qty": 0.0, "avg_price": 29.595, "last_price": 29.485, "unrealized_pnl": 0.0, "opened_at": "2026-02-20T17:33:34.647633+00:00"}, {"symbol": "ATO_CFD.FR", "qty": 85.45547769612031, "avg_price": 35.106, "last_price": 39.6, "unrealized_pnl": 384.03691676636464, "opened_at": "2026-02-25T10:57:06.928276+00:00"}, {"symbol": "BIG_CFD.FR", "qty": 0.0, "avg_price": 0.453, "last_price": 0.453, "unrealized_pnl": 0.0, "opened_at": "2026-02-28T10:51:05.818250+00:00"}, {"symbol": "BYIT_CFD.UK", "qty": 10.252904989747094, "avg_price": 292.6, "last_price": 292.6, "unrealized_pnl": 0.0, "opened_at": "2026-02-15T10:57:15.913854+00:00"}, {"symbol": "CRWD_CFD.US", "qty": 0.0, "avg_price": 350.24, "last_price": 350.055, "unrealized_pnl": -1.5846276838739344, "opened_at": "2026-02-23T18:14:12.978497+00:00"}, {"symbol": "DOM_CFD.UK", "qty": 15.052684395383842, "avg_price": 199.3, "last_price": 204.15, "unrealized_pnl": 73.00551931761154, "opened_at": "2026-02-19T09:33:49.074031+00:00"}, {"symbol": "DSY_CFD.FR", "qty": 0.0, "avg_price": 17.881, "last_price": 16.752, "unrealized_pnl": 0.0, "opened_at": "2026-02-16T09:30:55.514112+00:00"}, {"symbol": "ESTC_CFD.US", "qty": 0.0, "avg_price": 58.085, "last_price": 54.045, "unrealized_pnl": 0.0, "opened_at": "2026-02-21T17:32:49.140800+00:00"}, {"symbol": "EXM_CFD.BE", "qty": 300.0, "avg_price": 10.0, "last_price": 10.7, "unrealized_pnl": 209.99999999999977, "opened_at": "2026-02-21T09:33:26.900894+00:00"}, {"symbol": "EXPD_CFD.US", "qty": 22.01269398686576, "avg_price": 136.285, "last_price": 148.195, "unrealized_pnl": 262.1711853835711, "opened_at": "2026-02-24T18:14:37.115518+00:00"}, {"symbol": "EZJ_CFD.UK", "qty": 6.855575868372943, "avg_price": 437.6, "last_price": 437.5, "unrealized_pnl": -0.6855575868374502, "opened_at": "2026-02-20T17:33:34.647633+00:00"}, {"symbol": "FRVIA_CFD.FR", "qty": 0.0, "avg_price": 12.709, "last_price": 12.6, "unrealized_pnl": 0.0, "opened_at": "2026-02-26T10:33:24.101894+00:00"}, {"symbol": "FUTR_CFD.UK", "qty": 7.488766849725412, "avg_price": 400.6, "last_price": 414.2, "unrealized_pnl": 101.84722915626534, "opened_at": "2026-02-18T09:36:37.284518+00:00"}, {"symbol": "GRI_CFD.UK", "qty": 0.0, "avg_price": 189.6, "last_price": 189.6, "unrealized_pnl": 0.0, "opened_at": "2026-02-21T09:33:26.900894+00:00"}, {"symbol": "HIK_CFD.UK", "qty": 0.0, "avg_price": 1409.0, "last_price": 1408.0, "unrealized_pnl": 0.0, "opened_at": "2026-02-26T10:33:24.101894+00:00"}, {"symbol": "JEF_CFD.US", "qty": 0.0, "avg_price": 47.46, "last_price": 44.27, "unrealized_pnl": 0.0, "opened_at": "2026-02-26T18:07:22.382508+00:00"}, {"symbol": "JMAT_CFD.UK", "qty": 1.5174506828528074, "avg_price": 1976.9999999999998, "last_price": 1964.0, "unrealized_pnl": -19.72685887708615, "opened_at": "2026-03-03T10:20:03.276878+00:00"}, {"symbol": "LIO_CFD.UK", "qty": 12.0, "avg_price": 250.0, "last_price": 270.0, "unrealized_pnl": 240.0, "opened_at": "2026-02-20T09:33:44.817899+00:00"}, {"symbol": "NA9_CFD.DE", "qty": 61.756350611387866, "avg_price": 48.578, "last_price": 49.604, "unrealized_pnl": 63.36201572728372, "opened_at": "2026-02-25T10:57:06.928276+00:00"}, {"symbol": "OCDO_CFD.UK", "qty": 13.824884792626728, "avg_price": 217.0, "last_price": 217.0, "unrealized_pnl": 0.0, "opened_at": "2026-02-16T17:30:52.485845+00:00"}, {"symbol": "OKTA_CFD.US", "qty": 42.747221430607006, "avg_price": 70.18, "last_price": 72.28, "unrealized_pnl": 89.76916500427447, "opened_at": "2026-02-23T18:14:12.978497+00:00"}, {"symbol": "RMV_CFD.UK", "qty": 0.0, "avg_price": 424.3, "last_price": 424.3, "unrealized_pnl": 0.0, "opened_at": "2026-02-19T00:47:27.070066+00:00"}, {"symbol": "TRN_CFD.UK", "qty": 0.0, "avg_price": 196.2, "last_price": 196.5, "unrealized_pnl": 0.0, "opened_at": "2026-02-16T09:30:55.514112+00:00"}, {"symbol": "TRST_CFD.UK", "qty": 0.0, "avg_price": 134.3, "last_price": 139.6, "unrealized_pnl": 0.0, "opened_at": "2026-02-16T17:30:52.485845+00:00"}, {"symbol": "TUI1_CFD.DE", "qty": 0.0, "avg_price": 7.398000000000001, "last_price": 6.95, "unrealized_pnl": -181.67072181670738, "opened_at": "2026-03-02T10:31:26.559356+00:00"}, {"symbol": "UKW_CFD.UK", "qty": 32.48511099079589, "avg_price": 92.35, "last_price": 94.79, "unrealized_pnl": 79.26367081754236, "opened_at": "2026-02-20T09:33:44.817899+00:00"}, {"symbol": "WIZZ_CFD.UK", "qty": 2.7598896044158234, "avg_price": 1087.0, "last_price": 1064.0, "unrealized_pnl": -63.47746090156394, "opened_at": "2026-03-03T10:20:03.276878+00:00"}, {"symbol": "WKP_CFD.UK", "qty": 7.2727272727272725, "avg_price": 412.5, "last_price": 412.5, "unrealized_pnl": 0.0, "opened_at": "2026-02-22T09:32:59.506254+00:00"}, {"symbol": "WPP_CFD.UK", "qty": 0.0, "avg_price": 263.4, "last_price": 257.0, "unrealized_pnl": -72.89293849658289, "opened_at": "2026-02-18T09:36:37.284518+00:00"}, {"symbol": "ZS_CFD.US", "qty": 0.0, "avg_price": 159.76, "last_price": 144.45, "unrealized_pnl": 0.0, "opened_at": "2026-02-21T17:32:49.140800+00:00"}], "candidates": [{"symbol": "CBG_CFD.UK", "mean_reversion_score": 85, "selection_reason": "Oversold (1-day -5.9%), near 50MA (+3.6%), high volatility (116.8%)"}, {"symbol": "ADS_CFD.DE", "mean_reversion_score": 80, "selection_reason": "Oversold (1-day -8.2%), near 50MA (-6.3%), moderate volatility (43.3%)"}, {"symbol": "EZJ_CFD.UK", "mean_reversion_score": 75, "selection_reason": "Oversold (1-day -8.2%), near 50MA (-8.3%), moderate volatility (86.6%)"}, {"symbol": "PAGE_CFD.UK", "mean_reversion_score": 70, "selection_reason": "Oversold (1-day -11.0%), near 50MA (-8.4%), high volatility (112.7%)"}, {"symbol": "BOSS_CFD.DE", "mean_reversion_score": 65, "selection_reason": "Oversold (1-day -4.9%), near 50MA (-1.5%), moderate volatility (46.5%)"}], "output_schema": {"actions": {"sell": [{"symbol": "string", "reason": "string"}], "hold": [{"symbol": "string", "reason": "string"}], "buy": [{"symbol": "string", "position_size": "number (currency amount)", "reason": "string"}]}, "portfolio_rationale": "string"}}
Output JSON
{
  "actions": {
    "buy": [
      {
        "reason": "Highest mean-reversion score (85) with strong oversold signal (-5.9% 1-day) and proximity to 50MA (+3.6%).",
        "symbol": "CBG_CFD.UK",
        "position_size": 3000
      },
      {
        "reason": "Second-highest mean-reversion score (80) with strong oversold signal (-8.2% 1-day) and moderate volatility.",
        "symbol": "ADS_CFD.DE",
        "position_size": 3000
      }
    ],
    "hold": [
      {
        "reason": "Positive PnL (384.04) and no strong sell signal; holding for further upside.",
        "symbol": "ATO_CFD.FR"
      },
      {
        "reason": "No price movement since entry; no clear mean-reversion signal to exit.",
        "symbol": "BYIT_CFD.UK"
      },
      {
        "reason": "Positive PnL (73.01) and no strong sell signal; holding for further upside.",
        "symbol": "DOM_CFD.UK"
      },
      {
        "reason": "Positive PnL (210.00) and no strong sell signal; holding for further upside.",
        "symbol": "EXM_CFD.BE"
      },
      {
        "reason": "Positive PnL (262.17) and no strong sell signal; holding for further upside.",
        "symbol": "EXPD_CFD.US"
      },
      {
        "reason": "Marginal negative PnL (-0.69) but candidate for mean-reversion; holding for potential rebound.",
        "symbol": "EZJ_CFD.UK"
      },
      {
        "reason": "Positive PnL (101.85) and no strong sell signal; holding for further upside.",
        "symbol": "FUTR_CFD.UK"
      },
      {
        "reason": "Positive PnL (240.00) and no strong sell signal; holding for further upside.",
        "symbol": "LIO_CFD.UK"
      },
      {
        "reason": "Positive PnL (63.36) and no strong sell signal; holding for further upside.",
        "symbol": "NA9_CFD.DE"
      },
      {
        "reason": "No price movement since entry; no clear mean-reversion signal to exit.",
        "symbol": "OCDO_CFD.UK"
      },
      {
        "reason": "Positive PnL (89.77) and no strong sell signal; holding for further upside.",
        "symbol": "OKTA_CFD.US"
      },
      {
        "reason": "Positive PnL (79.26) and no strong sell signal; holding for further upside.",
        "symbol": "UKW_CFD.UK"
      },
      {
        "reason": "No price movement since entry; no clear mean-reversion signal to exit.",
        "symbol": "WKP_CFD.UK"
      }
    ],
    "sell": [
      {
        "reason": "Marginal negative PnL (-19.73) with no clear mean-reversion signal; prefer to free up capital for stronger candidates.",
        "symbol": "JMAT_CFD.UK"
      },
      {
        "reason": "Negative PnL (-63.48) with no immediate mean-reversion signal; avoid further drawdown.",
        "symbol": "WIZZ_CFD.UK"
      }
    ]
  },
  "portfolio_rationale": "Portfolio rebalanced to free up capital from underperforming or stagnant positions (JMAT_CFD.UK, WIZZ_CFD.UK) and deploy into high-conviction mean-reversion candidates (CBG_CFD.UK, ADS_CFD.DE). Existing profitable positions retained to avoid overtrading and allow further upside. Gross leverage remains within constraints (max 3.0)."
}
Selection logs
#394stage12026-03-04T11:44:59.066527+00:00
{
  "selected_stocks": [
    {
      "symbol": "CBG_CFD.UK",
      "selection_reason": "Oversold (1-day -5.9%), near 50MA (+3.6%), high volatility (116.8%)",
      "mean_reversion_score": 85
    },
    {
      "symbol": "ADS_CFD.DE",
      "selection_reason": "Oversold (1-day -8.2%), near 50MA (-6.3%), moderate volatility (43.3%)",
      "mean_reversion_score": 80
    },
    {
      "symbol": "EZJ_CFD.UK",
      "selection_reason": "Oversold (1-day -8.2%), near 50MA (-8.3%), moderate volatility (86.6%)",
      "mean_reversion_score": 75
    },
    {
      "symbol": "PAGE_CFD.UK",
      "selection_reason": "Oversold (1-day -11.0%), near 50MA (-8.4%), high volatility (112.7%)",
      "mean_reversion_score": 70
    },
    {
      "symbol": "BOSS_CFD.DE",
      "selection_reason": "Oversold (1-day -4.9%), near 50MA (-1.5%), moderate volatility (46.5%)",
      "mean_reversion_score": 65
    }
  ],
  "rejected_common_reasons": [
    "Extreme 1-day moves (>20%) with unknown catalysts",
    "Missing sector data (sector concentration risk unassessed)",
    "No earnings date confirmation (potential event risk)",
    "MA200 distance null or extreme (data quality or trend issues)"
  ]
}