Arena run #705

meanrev-v1anthropicanthropic/claude-opus-4.6EUsuccess
Arena
Run status
as_of: 2026-03-18T10:06:24.210601+00:00
started_at: 2026-03-18T11:06:28.031210+00:00
finished_at: 2026-03-18T11:07:05.471456+00:00
duration_ms: 37439
Inputs
{
  "as_of": "2026-03-18T10:06:24.210601+00:00",
  "dry_run": false,
  "selected": [
    {
      "symbol": "CBG_CFD.UK",
      "selection_reason": "Extreme -26.6% 1d drop, -22.1% below MA50, -13.4% below MA200; sharp single-day selloff in otherwise moderate downtrend suggests oversold bounce potential within 2-10 days.",
      "mean_reversion_score": 78
    },
    {
      "symbol": "DPLM_CFD.UK",
      "selection_reason": "-5.4% 1d drop, -4.7% below MA50 but still +4.8% above MA200; moderate volatility (83%); clean pullback within uptrend suggests snap-back to MA50 likely.",
      "mean_reversion_score": 72
    },
    {
      "symbol": "ROR_CFD.UK",
      "selection_reason": "-7.8% 1d drop, -7.5% below MA50, -3.4% below MA200; moderate volatility (115%); sharp intraday decline from near-MA levels creates mean-reversion setup.",
      "mean_reversion_score": 70
    },
    {
      "symbol": "MRN_CFD.FR",
      "selection_reason": "-2.0% 1d drop, -4.9% below MA50, only +2.9% above MA200; lowest volatility in universe (65%); clean mild pullback ideal for controlled mean-reversion trade.",
      "mean_reversion_score": 68
    },
    {
      "symbol": "CCL_CFD.UK",
      "selection_reason": "-4.0% 1d drop, -4.5% below MA50 while still +4.9% above MA200; pullback within uptrend; high but not extreme volatility (163%) supports bounce to MA50.",
      "mean_reversion_score": 65
    }
  ],
  "simulate_only": false,
  "strict_replay": false,
  "universe_symbols": [
    "WTB_CFD.UK",
    "ESNT_CFD.UK",
    "SAFE_CFD.UK",
    "UTG_CFD.UK",
    "KGF_CFD.UK",
    "RHIM_CFD.UK",
    "CBG_CFD.UK",
    "RSW_CFD.UK",
    "MCG_CFD.UK",
    "CCL_CFD.UK",
    "UN0_CFD.DE",
    "EMG_CFD.UK",
    "OCDO_CFD.UK",
    "LRE_CFD.UK",
    "MRN_CFD.FR",
    "LIO_CFD.UK",
    "VTY_CFD.UK",
    "TPK_CFD.UK",
    "BBY_CFD.UK",
    "MAB_CFD.UK",
    "IMI_CFD.UK",
    "DOM_CFD.UK",
    "IPO_CFD.UK",
    "ATG_CFD.UK",
    "GO_CFD.US",
    "BME_CFD.UK",
    "GROW_CFD.UK",
    "BYIT_CFD.UK",
    "WKP_CFD.UK",
    "FBIN_CFD.US",
    "HLMA_CFD.UK",
    "FUTR_CFD.UK",
    "DPLM_CFD.UK",
    "NVAX_CFD.US",
    "MRNA_CFD.US",
    "FMC_CFD.US",
    "IGG_CFD.UK",
    "ROR_CFD.UK",
    "OCI_CFD.NL",
    "HPP_CFD.US",
    "GRG_CFD.UK",
    "TEP_CFD.FR",
    "HMSO_CFD.UK",
    "S30_CFD.FR",
    "MSLH_CFD.UK",
    "WPP_CFD.UK",
    "SAIA_CFD.US",
    "BMY_CFD.US",
    "MOH_CFD.US",
    "CABO_CFD.US"
  ]
}
Outputs
{
  "actions": {
    "buy": [
      {
        "reason": "Highest mean-reversion score (78). Extreme -26.6% single-day drop, -22.1% below MA50, -13.4% below MA200. Classic oversold bounce setup. Previously held at 458.2, now at 372.74 — deep discount.",
        "symbol": "CBG_CFD.UK",
        "position_size": 3000
      },
      {
        "reason": "Mean-reversion score 70. Sharp -7.8% 1d drop, -7.5% below MA50. New name diversifies portfolio. Moderate volatility supports controlled bounce trade.",
        "symbol": "ROR_CFD.UK",
        "position_size": 3000
      }
    ],
    "hold": [
      {
        "reason": "Positive unrealized PnL (+56). Holding for further mean-reversion upside.",
        "symbol": "ADBE_CFD.US"
      },
      {
        "reason": "Flat at avg_price. No reason to exit; awaiting reversion move.",
        "symbol": "BYIT_CFD.UK"
      },
      {
        "reason": "Flat at avg_price. Small position, no catalyst to sell.",
        "symbol": "DLN_CFD.UK"
      },
      {
        "reason": "Flat at avg_price. Recently opened, awaiting reversion.",
        "symbol": "DOCS_CFD.UK"
      },
      {
        "reason": "Flat at avg_price. Already hold this name; candidate list confirms pullback within uptrend — hold for snap-back to MA50.",
        "symbol": "DPLM_CFD.UK"
      },
      {
        "reason": "Positive unrealized PnL (+100). Mean-reversion working; let it run.",
        "symbol": "ELIOR_CFD.FR"
      },
      {
        "reason": "Flat at avg_price. Small position, no reason to exit.",
        "symbol": "ICG_CFD.UK"
      },
      {
        "reason": "Flat at avg_price. Recently opened, awaiting move.",
        "symbol": "IWG_CFD.UK"
      },
      {
        "reason": "Positive unrealized PnL (+74). Reversion playing out; hold.",
        "symbol": "LAND_CFD.UK"
      },
      {
        "reason": "Positive unrealized PnL (+123). Strong reversion; hold for further upside.",
        "symbol": "LSEG_CFD.UK"
      },
      {
        "reason": "Positive unrealized PnL (+26). Slight gain, hold.",
        "symbol": "MNDI_CFD.UK"
      },
      {
        "reason": "Flat at avg_price. Awaiting reversion move.",
        "symbol": "OCDO_CFD.UK"
      },
      {
        "reason": "Flat at avg_price. Awaiting reversion.",
        "symbol": "OSB_CFD.UK"
      },
      {
        "reason": "Positive unrealized PnL (+16). Small gain, hold.",
        "symbol": "PAGE_CFD.UK"
      },
      {
        "reason": "Flat at avg_price. Recently opened, hold.",
        "symbol": "RSW_CFD.UK"
      },
      {
        "reason": "Positive unrealized PnL (+77). Reversion working well; hold.",
        "symbol": "VSVS_CFD.UK"
      }
    ],
    "sell": [
      {
        "reason": "Position is down -2.8% with unrealized PnL of -85.12. No strong mean-reversion catalyst visible; price trending below avg_price. Free up capital for higher-conviction mean-reversion candidates.",
        "symbol": "WEIR_CFD.UK"
      }
    ]
  },
  "portfolio_rationale": "Portfolio has 16 active positions (non-zero qty). Selling WEIR to cut a losing position with no clear reversion signal, freeing a slot. Buying CBG (extreme oversold bounce, score 78) and ROR (sharp pullback, score 70) as highest-conviction mean-reversion candidates. Skipping DPLM buy since we already hold it. Skipping MRN and CCL as lower-scored alternatives. All other positions are either profitable or flat and recently opened — no reason to churn. Gross leverage remains well within 3.0x limit with these changes."
}
Prompts & responses
#1394openrouteranthropic/claude-opus-4.62026-03-18T11:06:28.092159+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": "WTB_CFD.UK", "name": "WHITBREAD PLC", "sector": "", "last_price": 2691.0, "change_1d_pct": 11.659751037344401, "distance_from_ma200_pct": -5.969827496214986, "distance_from_ma50_pct": -5.069507041577781, "volatility_20d_pct": 87.61035263352142, "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": "ESNT_CFD.UK", "name": "ESSENTRA PLC", "sector": "", "last_price": 108.4, "change_1d_pct": 4.230769230769238, "distance_from_ma200_pct": 7.40452119530135, "distance_from_ma50_pct": 9.771484932749797, "volatility_20d_pct": 98.9832071461764, "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": "SAFE_CFD.UK", "name": "SAFESTORE HOLDINGS PLC", "sector": "", "last_price": 802.5, "change_1d_pct": 13.187588152327212, "distance_from_ma200_pct": 21.40724384452035, "distance_from_ma50_pct": 10.29872606002229, "volatility_20d_pct": 81.07249455345375, "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": "KGF_CFD.UK", "name": "KINGFISHER PLC", "sector": "", "last_price": 347.0, "change_1d_pct": 2.6020106445890034, "distance_from_ma200_pct": 18.583930168759967, "distance_from_ma50_pct": 6.639688157278489, "volatility_20d_pct": 88.64906606382688, "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": "RHIM_CFD.UK", "name": "RHI MAGNESITA NV", "sector": "", "last_price": 2795.0, "change_1d_pct": 2.3809523809523725, "distance_from_ma200_pct": 6.811460460804897, "distance_from_ma50_pct": 10.895008018562113, "volatility_20d_pct": 141.33746334612064, "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": 372.74, "change_1d_pct": -26.625984251968504, "distance_from_ma200_pct": -13.365429078084645, "distance_from_ma50_pct": -22.129222788055436, "volatility_20d_pct": 169.0552301316783, "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": "RSW_CFD.UK", "name": "RENISHAW PLC", "sector": "", "last_price": 4100.0, "change_1d_pct": 18.155619596541793, "distance_from_ma200_pct": 36.779911314574385, "distance_from_ma50_pct": 14.333028240759926, "volatility_20d_pct": 92.61568245477878, "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": 25.72, "change_1d_pct": 2.9623698959167166, "distance_from_ma200_pct": -7.132760074308242, "distance_from_ma50_pct": 8.327577202351844, "volatility_20d_pct": 232.19808875565576, "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": 1989.0, "change_1d_pct": -3.9594398841139578, "distance_from_ma200_pct": 4.932242734391812, "distance_from_ma50_pct": -4.47172238108916, "volatility_20d_pct": 163.30913338012496, "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": "UN0_CFD.DE", "name": "UNIPER SE", "sector": "", "last_price": 47.883, "change_1d_pct": 29.193535331732456, "distance_from_ma200_pct": 36.04375288467563, "distance_from_ma50_pct": 34.22914742920196, "volatility_20d_pct": 94.30306553169683, "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": "EMG_CFD.UK", "name": "MAN GROUP PLC/JERSEY", "sector": "", "last_price": 269.6, "change_1d_pct": 2.353834472285521, "distance_from_ma200_pct": 42.186331073171914, "distance_from_ma50_pct": 15.516783354614262, "volatility_20d_pct": 86.92367167139048, "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": "OCDO_CFD.UK", "name": "OCADO GROUP PLC", "sector": "", "last_price": 217.0, "change_1d_pct": -21.148255813953487, "distance_from_ma200_pct": -15.81606625159202, "distance_from_ma50_pct": -5.48311196636071, "volatility_20d_pct": 241.3119670937803, "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": "LRE_CFD.UK", "name": "LANCASHIRE HOLDINGS LTD", "sector": "", "last_price": 647.0, "change_1d_pct": -2.26586102719033, "distance_from_ma200_pct": 6.266967093949116, "distance_from_ma50_pct": -1.0131237932627712, "volatility_20d_pct": 79.5840954070324, "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": "MRN_CFD.FR", "name": "Mersen", "sector": "", "last_price": 24.45, "change_1d_pct": -2.004008016032066, "distance_from_ma200_pct": 2.9337161597514427, "distance_from_ma50_pct": -4.920934660266352, "volatility_20d_pct": 65.049066606698, "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": "LIO_CFD.UK", "name": "LIONTRUST ASSET MANAGEMENT", "sector": "", "last_price": 270.0, "change_1d_pct": 7.784431137724557, "distance_from_ma200_pct": -17.148878096081223, "distance_from_ma50_pct": 4.440258238208905, "volatility_20d_pct": 138.52252179896075, "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": "VTY_CFD.UK", "name": "VISTRY GROUP PLC", "sector": "", "last_price": 403.2, "change_1d_pct": -44.21693414499169, "distance_from_ma200_pct": -35.825419675413826, "distance_from_ma50_pct": -36.113069725802745, "volatility_20d_pct": 213.0917779123437, "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": "TPK_CFD.UK", "name": "TRAVIS PERKINS PLC", "sector": "", "last_price": 630.0, "change_1d_pct": 3.3007034285995385, "distance_from_ma200_pct": 5.198044084492737, "distance_from_ma50_pct": -0.6512233461424932, "volatility_20d_pct": 104.7300027131335, "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": "BBY_CFD.UK", "name": "BALFOUR BEATTY PLC", "sector": "", "last_price": 759.18, "change_1d_pct": 5.222453222453205, "distance_from_ma200_pct": 33.313724414201815, "distance_from_ma50_pct": 8.832962232591, "volatility_20d_pct": 54.25956465831767, "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": "MAB_CFD.UK", "name": "MITCHELLS & BUTLERS PLC", "sector": "", "last_price": 292.81, "change_1d_pct": 14.37890625, "distance_from_ma200_pct": 11.595067041457764, "distance_from_ma50_pct": 10.935906392690597, "volatility_20d_pct": 118.87119977937589, "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": 2774.0, "change_1d_pct": 4.7583081570997, "distance_from_ma200_pct": 25.227479847754264, "distance_from_ma50_pct": 6.661876238540865, "volatility_20d_pct": 87.69330898337377, "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": "DOM_CFD.UK", "name": "DOMINO'S PIZZA GROUP PLC", "sector": "", "last_price": 189.21, "change_1d_pct": 4.190528634361246, "distance_from_ma200_pct": -12.46581454882838, "distance_from_ma50_pct": 4.428944053991102, "volatility_20d_pct": 85.812071272284, "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": "GO_CFD.US", "name": "GROCERY OUTLET HOLDING CORP", "sector": "", "last_price": 6.03, "change_1d_pct": -5.039370078740147, "distance_from_ma200_pct": -53.12645751064955, "distance_from_ma50_pct": -33.71003913636162, "volatility_20d_pct": 169.99714545519276, "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": "BME_CFD.UK", "name": "B&M EUROPEAN VALUE RETAIL SA", "sector": "", "last_price": 180.0, "change_1d_pct": -0.5799502899751507, "distance_from_ma200_pct": -17.510144533683704, "distance_from_ma50_pct": 3.6906975618860693, "volatility_20d_pct": 107.67302074828436, "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": "GROW_CFD.UK", "name": "MOLTEN VENTURES PLC", "sector": "", "last_price": 465.0, "change_1d_pct": 1.572739187418093, "distance_from_ma200_pct": 22.569628774815076, "distance_from_ma50_pct": -4.275686024250158, "volatility_20d_pct": 115.72658030340939, "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": "FBIN_CFD.US", "name": "Fortune Brands Innovations", "sector": "", "last_price": 43.93, "change_1d_pct": 0.0911369332421863, "distance_from_ma200_pct": -17.708809447096108, "distance_from_ma50_pct": -19.530334114888625, "volatility_20d_pct": 138.46106654082428, "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": 3904.0, "change_1d_pct": 7.548209366391179, "distance_from_ma200_pct": 16.52280895184093, "distance_from_ma50_pct": 5.778818225170168, "volatility_20d_pct": 86.60562444492528, "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": "FUTR_CFD.UK", "name": "FUTURE PLC", "sector": "", "last_price": 423.6, "change_1d_pct": -20.82242990654205, "distance_from_ma200_pct": -37.68377383888033, "distance_from_ma50_pct": -24.301477407850992, "volatility_20d_pct": 153.59085037557008, "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": "DPLM_CFD.UK", "name": "DIPLOMA PLC", "sector": "", "last_price": 5220.0, "change_1d_pct": -5.434782608695654, "distance_from_ma200_pct": 4.8180942215069855, "distance_from_ma50_pct": -4.664614313757087, "volatility_20d_pct": 82.77890721911896, "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": "NVAX_CFD.US", "name": "NOVAVAX INC", "sector": "", "last_price": 10.83, "change_1d_pct": 3.6363636363636376, "distance_from_ma200_pct": 36.543298598634564, "distance_from_ma50_pct": 19.152400651322445, "volatility_20d_pct": 181.41969659186609, "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": "MRNA_CFD.US", "name": "MODERNA INC", "sector": "", "last_price": 55.01, "change_1d_pct": 2.554064131245326, "distance_from_ma200_pct": 71.38059358561159, "distance_from_ma50_pct": 19.583317029481705, "volatility_20d_pct": 180.7912217387313, "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": "FMC_CFD.US", "name": "FMC Corporation", "sector": "", "last_price": 14.56, "change_1d_pct": -0.4784688995215336, "distance_from_ma200_pct": -45.728545815767795, "distance_from_ma50_pct": -2.444253859348189, "volatility_20d_pct": 118.11295296034356, "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": "IGG_CFD.UK", "name": "IG GROUP HOLDINGS PLC", "sector": "", "last_price": 1356.0, "change_1d_pct": 3.1963470319634757, "distance_from_ma200_pct": 21.69129359819437, "distance_from_ma50_pct": 9.822701129829392, "volatility_20d_pct": 89.02278066392904, "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": "ROR_CFD.UK", "name": "ROTORK PLC", "sector": "", "last_price": 315.64, "change_1d_pct": -7.815420560747666, "distance_from_ma200_pct": -3.440121571713639, "distance_from_ma50_pct": -7.465605958975752, "volatility_20d_pct": 114.53961834922319, "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": "OCI_CFD.NL", "name": "", "sector": "", "last_price": 3.518, "change_1d_pct": -6.436170212765957, "distance_from_ma200_pct": -24.327568275655864, "distance_from_ma50_pct": 1.0141615078043342, "volatility_20d_pct": 74.76517215223801, "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": "HPP_CFD.US", "name": "HUDSON PACIFIC PROPERTIES IN", "sector": "", "last_price": 6.28, "change_1d_pct": 1.7828200972447306, "distance_from_ma200_pct": -57.242989858826974, "distance_from_ma50_pct": -21.228237419095887, "volatility_20d_pct": 199.51253864998938, "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": "GRG_CFD.UK", "name": "GREGGS PLC", "sector": "", "last_price": 1624.0, "change_1d_pct": -1.3365735115431376, "distance_from_ma200_pct": -4.161978531102917, "distance_from_ma50_pct": -1.7144771670142167, "volatility_20d_pct": 111.32517975776676, "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": "TEP_CFD.FR", "name": "", "sector": "", "last_price": 51.66, "change_1d_pct": 0.9911442144155735, "distance_from_ma200_pct": -21.36742743858202, "distance_from_ma50_pct": -5.002852121106482, "volatility_20d_pct": 97.61358816186709, "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": "S30_CFD.FR", "name": "", "sector": "", "last_price": 0.81, "change_1d_pct": -0.6134969325153228, "distance_from_ma200_pct": -34.27405285664441, "distance_from_ma50_pct": -9.867806115636258, "volatility_20d_pct": 63.45546307995025, "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": "WPP_CFD.UK", "name": "WPP PLC", "sector": "", "last_price": 236.4, "change_1d_pct": -9.076923076923071, "distance_from_ma200_pct": -37.486406136063586, "distance_from_ma50_pct": -18.8592516928349, "volatility_20d_pct": 171.07955577415137, "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": "SAIA_CFD.US", "name": "SAIA INC", "sector": "", "last_price": 334.77, "change_1d_pct": 3.1426194657546924, "distance_from_ma200_pct": 6.089019135287499, "distance_from_ma50_pct": -9.851079379629379, "volatility_20d_pct": 118.08021980348846, "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": "BMY_CFD.US", "name": "BRISTOL-MYERS SQUIBB CO", "sector": "", "last_price": 60.67, "change_1d_pct": 2.7086507533435, "distance_from_ma200_pct": 20.794732577146767, "distance_from_ma50_pct": 4.052686641398129, "volatility_20d_pct": 44.98956147594229, "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": "MOH_CFD.US", "name": "", "sector": "", "last_price": 146.23, "change_1d_pct": -0.3271760616181729, "distance_from_ma200_pct": -20.550166867469077, "distance_from_ma50_pct": -10.230847242037234, "volatility_20d_pct": 96.0850354127677, "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": "CABO_CFD.US", "name": "Cable One Inc", "sector": "", "last_price": 109.07, "change_1d_pct": -4.215333274787048, "distance_from_ma200_pct": -16.75936190063708, "distance_from_ma50_pct": 10.817368262767314, "volatility_20d_pct": 160.67012152356216, "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": "Extreme -26.6% 1d drop, -22.1% below MA50, -13.4% below MA200; sharp single-day selloff in otherwise moderate downtrend suggests oversold bounce potential within 2-10 days.",
      "mean_reversion_score": 78
    },
    {
      "symbol": "DPLM_CFD.UK",
      "selection_reason": "-5.4% 1d drop, -4.7% below MA50 but still +4.8% above MA200; moderate volatility (83%); clean pullback within uptrend suggests snap-back to MA50 likely.",
      "mean_reversion_score": 72
    },
    {
      "symbol": "ROR_CFD.UK",
      "selection_reason": "-7.8% 1d drop, -7.5% below MA50, -3.4% below MA200; moderate volatility (115%); sharp intraday decline from near-MA levels creates mean-reversion setup.",
      "mean_reversion_score": 70
    },
    {
      "symbol": "MRN_CFD.FR",
      "selection_reason": "-2.0% 1d drop, -4.9% below MA50, only +2.9% above MA200; lowest volatility in universe (65%); clean mild pullback ideal for controlled mean-reversion trade.",
      "mean_reversion_score": 68
    },
    {
      "symbol": "CCL_CFD.UK",
      "selection_reason": "-4.0% 1d drop, -4.5% below MA50 while still +4.9% above MA200; pullback within uptrend; high but not extreme volatility (163%) supports bounce to MA50.",
      "mean_reversion_score": 65
    }
  ],
  "rejected_common_reasons": [
    "Massive 1d spikes >+10% (WTB, SAFE, RSW, MAB, HMSO, UN0) — momentum/event-driven, not mean-reversion short candidates with clear setup",
    "Extreme crash >-20% (VTY -44%, OCDO -21%, FUTR -21%) — likely binary/event-driven, risk of continued downside or halts",
    "Excessively high volatility >200% (MCG, OCDO, VTY) — position sizing risk too large for controlled mean-reversion",
    "Far above MA200 >+30% (RSW, EMG, UN0, MRNA, BBY) — extended momentum, not mean-reverting",
    "Far below MA200 >-40% (GO, FMC, HPP) — structural decline, not short-term mean-reversion candidates",
    "WPP rejected despite large drop: -9% 1d and -37.5% below MA200 suggests structural breakdown rather than temporary dislocation",
    "US-listed stocks (SAIA, MOH, FBIN, CABO, BMY) deprioritized for EU-region scan; only selected EU/UK names"
  ]
}
#1395openrouteranthropic/claude-opus-4.62026-03-18T11:06:46.021396+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": "ABF_CFD.UK", "qty": 0.0, "avg_price": 1868.5, "last_price": 1846.0, "unrealized_pnl": 0.0, "opened_at": "2026-03-06T18:02:13.212382+00:00"}, {"symbol": "ADBE_CFD.US", "qty": 12.025494047380446, "avg_price": 249.47, "last_price": 254.13, "unrealized_pnl": 56.03880226079284, "opened_at": "2026-03-15T18:15:23.812047+00:00"}, {"symbol": "ADS_CFD.DE", "qty": 0.0, "avg_price": 137.15, "last_price": 142.35, "unrealized_pnl": 0.0, "opened_at": "2026-03-04T10:26:53.527562+00:00"}, {"symbol": "AMCX_CFD.US", "qty": 0.0, "avg_price": 7.07, "last_price": 6.93, "unrealized_pnl": 0.0, "opened_at": "2026-02-24T18:14:37.115518+00:00"}, {"symbol": "AMH_CFD.US", "qty": 0.0, "avg_price": 29.63, "last_price": 29.16, "unrealized_pnl": 0.0, "opened_at": "2026-02-20T17:33:34.647633+00:00"}, {"symbol": "AML_CFD.UK", "qty": 0.0, "avg_price": 59.0, "last_price": 58.0, "unrealized_pnl": 0.0, "opened_at": "2026-02-20T09:33:44.817899+00:00"}, {"symbol": "ARCAD_CFD.NL", "qty": 0.0, "avg_price": 28.6, "last_price": 27.5, "unrealized_pnl": 0.0, "opened_at": "2026-02-23T10:32:09.961595+00:00"}, {"symbol": "BEKB_CFD.BE", "qty": 0.0, "avg_price": 38.9, "last_price": 40.2, "unrealized_pnl": 0.0, "opened_at": "2026-03-09T10:19:46.508085+00:00"}, {"symbol": "BLND_CFD.UK", "qty": 0.0, "avg_price": 364.2, "last_price": 373.0, "unrealized_pnl": 0.0, "opened_at": "2026-03-03T18:03:34.247734+00:00"}, {"symbol": "BTRW_CFD.UK", "qty": 0.0, "avg_price": 310.3, "last_price": 295.4, "unrealized_pnl": 0.0, "opened_at": "2026-03-10T18:24:41.570614+00:00"}, {"symbol": "BXP_CFD.US", "qty": 0.0, "avg_price": 60.835, "last_price": 57.754999999999995, "unrealized_pnl": 0.0, "opened_at": "2026-02-21T17:32:49.140800+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-18T09:36:37.284518+00:00"}, {"symbol": "CABO_CFD.US", "qty": 0.0, "avg_price": 94.6, "last_price": 108.935, "unrealized_pnl": 0.0, "opened_at": "2026-02-27T18:23:55.960577+00:00"}, {"symbol": "CAR_CFD.US", "qty": 0.0, "avg_price": 92.285, "last_price": 95.88499999999999, "unrealized_pnl": 0.0, "opened_at": "2026-02-25T17:57:28.313088+00:00"}, {"symbol": "CBG_CFD.UK", "qty": 0.0, "avg_price": 458.2, "last_price": 372.74, "unrealized_pnl": 0.0, "opened_at": "2026-03-10T18:24:41.570614+00:00"}, {"symbol": "CCC_CFD.UK", "qty": 0.0, "avg_price": 2978.0, "last_price": 3218.0, "unrealized_pnl": 0.0, "opened_at": "2026-02-19T09:33:49.074031+00:00"}, {"symbol": "CCL_CFD.UK", "qty": 0.0, "avg_price": 1945.9999999999998, "last_price": 1858.65, "unrealized_pnl": 0.0, "opened_at": "2026-03-05T10:27:11.178069+00:00"}, {"symbol": "CPAY_CFD.US", "qty": 0.0, "avg_price": 321.845, "last_price": 317.015, "unrealized_pnl": -45.02167192282037, "opened_at": "2026-03-09T18:18:45.954380+00:00"}, {"symbol": "CRWD_CFD.US", "qty": 0.0, "avg_price": 423.05499999999995, "last_price": 388.21500000000003, "unrealized_pnl": 0.0, "opened_at": "2026-02-20T17:33:34.647633+00:00"}, {"symbol": "CTT_CFD.PT", "qty": 0.0, "avg_price": 6.74, "last_price": 6.76, "unrealized_pnl": 0.0, "opened_at": "2026-03-13T10:07:39.444598+00:00"}, {"symbol": "DLN_CFD.UK", "qty": 1.6556291390728477, "avg_price": 1812.0, "last_price": 1812.0, "unrealized_pnl": 0.0, "opened_at": "2026-02-28T10:51:05.818250+00:00"}, {"symbol": "DOCS_CFD.UK", "qty": 48.0, "avg_price": 62.5, "last_price": 62.5, "unrealized_pnl": 0.0, "opened_at": "2026-03-17T18:12:35.221859+00:00"}, {"symbol": "DPLM_CFD.UK", "qty": 0.5870841487279843, "avg_price": 5110.0, "last_price": 5110.0, "unrealized_pnl": 0.0, "opened_at": "2026-03-14T10:03:26.036362+00:00"}, {"symbol": "ELIOR_CFD.FR", "qty": 1250.0, "avg_price": 2.4, "last_price": 2.48, "unrealized_pnl": 100.00000000000009, "opened_at": "2026-03-16T10:12:30.296045+00:00"}, {"symbol": "ERA_CFD.FR", "qty": 0.0, "avg_price": 55.55, "last_price": 53.6, "unrealized_pnl": 0.0, "opened_at": "2026-03-07T10:14:47.113218+00:00"}, {"symbol": "ETSY_CFD.US", "qty": 0.0, "avg_price": 44.13, "last_price": 50.905, "unrealized_pnl": 0.0, "opened_at": "2026-02-19T00:47:27.070066+00:00"}, {"symbol": "EZJ_CFD.UK", "qty": 0.0, "avg_price": 405.2, "last_price": 395.4, "unrealized_pnl": 0.0, "opened_at": "2026-03-08T10:05:58.226220+00:00"}, {"symbol": "FICO_CFD.US", "qty": 0.0, "avg_price": 1127.4099999999999, "last_price": 1199.4650000000001, "unrealized_pnl": 0.0, "opened_at": "2026-03-14T18:06:47.909233+00:00"}, {"symbol": "FME_CFD.DE", "qty": 0.0, "avg_price": 38.38, "last_price": 38.14, "unrealized_pnl": 0.0, "opened_at": "2026-02-24T18:14:37.115518+00:00"}, {"symbol": "FRE_CFD.DE", "qty": 0.0, "avg_price": 49.156, "last_price": 47.0, "unrealized_pnl": 0.0, "opened_at": "2026-02-25T10:57:06.928276+00:00"}, {"symbol": "HIK_CFD.UK", "qty": 0.0, "avg_price": 1408.0, "last_price": 1342.0, "unrealized_pnl": 0.0, "opened_at": "2026-02-26T10:33:24.101894+00:00"}, {"symbol": "HO_CFD.FR", "qty": 0.0, "avg_price": 254.566, "last_price": 251.7, "unrealized_pnl": 0.0, "opened_at": "2026-02-23T10:32:09.961595+00:00"}, {"symbol": "ICG_CFD.UK", "qty": 1.772002362669817, "avg_price": 1693.0, "last_price": 1693.0, "unrealized_pnl": 0.0, "opened_at": "2026-02-16T09:30:55.514112+00:00"}, {"symbol": "ITRK_CFD.UK", "qty": 0.0, "avg_price": 3942.0, "last_price": 3760.0, "unrealized_pnl": -138.5083713850837, "opened_at": "2026-03-13T10:07:39.444598+00:00"}, {"symbol": "IWG_CFD.UK", "qty": 16.216216216216218, "avg_price": 185.0, "last_price": 185.0, "unrealized_pnl": 0.0, "opened_at": "2026-03-16T18:18:58.833148+00:00"}, {"symbol": "JBLU_CFD.US", "qty": 0.0, "avg_price": 4.57, "last_price": 4.5600000000000005, "unrealized_pnl": 0.0, "opened_at": "2026-03-05T18:20:59.102726+00:00"}, {"symbol": "LAND_CFD.UK", "qty": 5.1194539249146755, "avg_price": 586.0, "last_price": 600.5, "unrealized_pnl": 74.2320819112628, "opened_at": "2026-03-12T10:21:39.078796+00:00"}, {"symbol": "LOPE_CFD.US", "qty": 0.0, "avg_price": 157.02, "last_price": 152.77, "unrealized_pnl": 0.0, "opened_at": "2026-02-22T17:33:48.338981+00:00"}, {"symbol": "LPX_CFD.US", "qty": 0.0, "avg_price": 86.45, "last_price": 82.99, "unrealized_pnl": 0.0, "opened_at": "2026-02-19T00:47:27.070066+00:00"}, {"symbol": "LSEG_CFD.UK", "qty": 0.3525264394829612, "avg_price": 8510.0, "last_price": 8858.0, "unrealized_pnl": 122.6792009400705, "opened_at": "2026-03-12T10:21:39.078796+00:00"}, {"symbol": "LSS_CFD.FR", "qty": 0.0, "avg_price": 20.15, "last_price": 19.78, "unrealized_pnl": 0.0, "opened_at": "2026-02-16T09:30:55.514112+00:00"}, {"symbol": "LTA_CFD.FR", "qty": 0.0, "avg_price": 26.0, "last_price": 25.5, "unrealized_pnl": 0.0, "opened_at": "2026-03-14T10:03:26.036362+00:00"}, {"symbol": "LXS_CFD.DE", "qty": 0.0, "avg_price": 13.14, "last_price": 13.64, "unrealized_pnl": 0.0, "opened_at": "2026-03-06T10:33:43.857578+00:00"}, {"symbol": "MNDI_CFD.UK", "qty": 3.658536585365854, "avg_price": 820.0, "last_price": 827.0, "unrealized_pnl": 25.609756097560975, "opened_at": "2026-03-16T10:12:30.296045+00:00"}, {"symbol": "MTG_CFD.US", "qty": 0.0, "avg_price": 26.27, "last_price": 25.98, "unrealized_pnl": 0.0, "opened_at": "2026-02-19T17:33:27.020111+00:00"}, {"symbol": "NXT_CFD.UK", "qty": 0.0, "avg_price": 12990.0, "last_price": 12770.0, "unrealized_pnl": 0.0, "opened_at": "2026-03-07T10:14:47.113218+00:00"}, {"symbol": "OCDO_CFD.UK", "qty": 14.684287812041115, "avg_price": 204.3, "last_price": 204.3, "unrealized_pnl": 0.0, "opened_at": "2026-02-19T17:33:27.020111+00:00"}, {"symbol": "OKTA_CFD.US", "qty": 0.0, "avg_price": 70.18, "last_price": 78.38, "unrealized_pnl": 0.0, "opened_at": "2026-02-23T18:14:12.978497+00:00"}, {"symbol": "ORCL_CFD.US", "qty": 0.0, "avg_price": 153.02, "last_price": 150.49, "unrealized_pnl": 0.0, "opened_at": "2026-03-08T18:08:31.007911+00:00"}, {"symbol": "OSB_CFD.UK", "qty": 5.371530886302597, "avg_price": 558.5, "last_price": 558.5, "unrealized_pnl": 0.0, "opened_at": "2026-03-11T10:11:17.665074+00:00"}, {"symbol": "PAGE_CFD.UK", "qty": 19.74853531696399, "avg_price": 151.91, "last_price": 152.7, "unrealized_pnl": 15.601342900401397, "opened_at": "2026-02-18T09:36:37.284518+00:00"}, {"symbol": "PROX_CFD.BE", "qty": 0.0, "avg_price": 6.98, "last_price": 7.55, "unrealized_pnl": 0.0, "opened_at": "2026-02-28T10:51:05.818250+00:00"}, {"symbol": "PRU_CFD.UK", "qty": 0.0, "avg_price": 1030.0, "last_price": 1101.0, "unrealized_pnl": 0.0, "opened_at": "2026-03-09T10:19:46.508085+00:00"}, {"symbol": "PZC_CFD.UK", "qty": 0.0, "avg_price": 80.0, "last_price": 77.7, "unrealized_pnl": 0.0, "opened_at": "2026-03-04T18:49:26.891792+00:00"}, {"symbol": "RMV_CFD.UK", "qty": 0.0, "avg_price": 424.3, "last_price": 417.16, "unrealized_pnl": 0.0, "opened_at": "2026-02-21T09:33:26.900894+00:00"}, {"symbol": "RSW_CFD.UK", "qty": 0.7915567282321899, "avg_price": 3790.0000000000005, "last_price": 3790.0, "unrealized_pnl": -3.599583252399452e-13, "opened_at": "2026-03-17T18:12:35.221859+00:00"}, {"symbol": "RVTY_CFD.US", "qty": 0.0, "avg_price": 91.28, "last_price": 89.93, "unrealized_pnl": 0.0, "opened_at": "2026-03-08T10:05:58.226220+00:00"}, {"symbol": "SAFE_CFD.UK", "qty": 0.0, "avg_price": 708.0, "last_price": 708.0, "unrealized_pnl": 0.0, "opened_at": "2026-03-13T18:17:31.188931+00:00"}, {"symbol": "SGE_CFD.UK", "qty": 0.0, "avg_price": 795.4, "last_price": 783.4, "unrealized_pnl": 0.0, "opened_at": "2026-02-16T17:30:52.485845+00:00"}, {"symbol": "STAN_CFD.UK", "qty": 0.0, "avg_price": 1615.0, "last_price": 1634.5, "unrealized_pnl": 0.0, "opened_at": "2026-03-11T10:11:17.665074+00:00"}, {"symbol": "STJ_CFD.UK", "qty": 0.0, "avg_price": 1282.0, "last_price": 1318.5, "unrealized_pnl": 0.0, "opened_at": "2026-02-21T09:33:26.900894+00:00"}, {"symbol": "STM_CFD.DE", "qty": 0.0, "avg_price": 18.436, "last_price": 17.66, "unrealized_pnl": 0.0, "opened_at": "2026-03-02T10:31:26.559356+00:00"}, {"symbol": "STZ_CFD.US", "qty": 0.0, "avg_price": 149.07, "last_price": 156.44, "unrealized_pnl": 0.0, "opened_at": "2026-02-16T17:30:52.485845+00:00"}, {"symbol": "TCAP_CFD.UK", "qty": 0.0, "avg_price": 257.0, "last_price": 248.0, "unrealized_pnl": 0.0, "opened_at": "2026-03-01T10:30:13.622938+00:00"}, {"symbol": "TMV_CFD.DE", "qty": 0.0, "avg_price": 4.781, "last_price": 4.769, "unrealized_pnl": 0.0, "opened_at": "2026-02-19T09:33:49.074031+00:00"}, {"symbol": "TRN_CFD.UK", "qty": 0.0, "avg_price": 184.5, "last_price": 184.5, "unrealized_pnl": 0.0, "opened_at": "2026-03-03T18:03:34.247734+00:00"}, {"symbol": "TUI1_CFD.DE", "qty": 0.0, "avg_price": 7.398000000000001, "last_price": 7.132, "unrealized_pnl": 0.0, "opened_at": "2026-03-02T10:31:26.559356+00:00"}, {"symbol": "UKW_CFD.UK", "qty": 0.0, "avg_price": 92.35, "last_price": 94.79, "unrealized_pnl": 0.0, "opened_at": "2026-02-21T17:32:49.140800+00:00"}, {"symbol": "UTG_CFD.UK", "qty": 0.0, "avg_price": 505.0, "last_price": 505.0, "unrealized_pnl": 0.0, "opened_at": "2026-02-27T18:23:55.960577+00:00"}, {"symbol": "VSVS_CFD.UK", "qty": 7.309941520467837, "avg_price": 410.4, "last_price": 421.0, "unrealized_pnl": 77.48538011695923, "opened_at": "2026-03-17T10:04:29.123574+00:00"}, {"symbol": "WEIR_CFD.UK", "qty": 1.0380622837370241, "avg_price": 2890.0, "last_price": 2808.0, "unrealized_pnl": -85.12110726643598, "opened_at": "2026-03-15T10:35:48.762746+00:00"}, {"symbol": "WIX_CFD.UK", "qty": 0.0, "avg_price": 224.5, "last_price": 215.5, "unrealized_pnl": 0.0, "opened_at": "2026-03-13T18:17:31.188931+00:00"}, {"symbol": "WIZZ_CFD.UK", "qty": 0.0, "avg_price": 1299.0, "last_price": 1080.0, "unrealized_pnl": 0.0, "opened_at": "2026-02-25T17:57:28.313088+00:00"}, {"symbol": "ZAL_CFD.DE", "qty": 0.0, "avg_price": 21.078, "last_price": 20.775, "unrealized_pnl": 0.0, "opened_at": "2026-02-20T09:33:44.817899+00:00"}, {"symbol": "ZION_CFD.US", "qty": 0.0, "avg_price": 58.99, "last_price": 57.21, "unrealized_pnl": 0.0, "opened_at": "2026-02-23T18:14:12.978497+00:00"}], "candidates": [{"symbol": "CBG_CFD.UK", "mean_reversion_score": 78, "selection_reason": "Extreme -26.6% 1d drop, -22.1% below MA50, -13.4% below MA200; sharp single-day selloff in otherwise moderate downtrend suggests oversold bounce potential within 2-10 days."}, {"symbol": "DPLM_CFD.UK", "mean_reversion_score": 72, "selection_reason": "-5.4% 1d drop, -4.7% below MA50 but still +4.8% above MA200; moderate volatility (83%); clean pullback within uptrend suggests snap-back to MA50 likely."}, {"symbol": "ROR_CFD.UK", "mean_reversion_score": 70, "selection_reason": "-7.8% 1d drop, -7.5% below MA50, -3.4% below MA200; moderate volatility (115%); sharp intraday decline from near-MA levels creates mean-reversion setup."}, {"symbol": "MRN_CFD.FR", "mean_reversion_score": 68, "selection_reason": "-2.0% 1d drop, -4.9% below MA50, only +2.9% above MA200; lowest volatility in universe (65%); clean mild pullback ideal for controlled mean-reversion trade."}, {"symbol": "CCL_CFD.UK", "mean_reversion_score": 65, "selection_reason": "-4.0% 1d drop, -4.5% below MA50 while still +4.9% above MA200; pullback within uptrend; high but not extreme volatility (163%) supports bounce to MA50."}], "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 (78). Extreme -26.6% single-day drop, -22.1% below MA50, -13.4% below MA200. Classic oversold bounce setup. Previously held at 458.2, now at 372.74 — deep discount.",
        "symbol": "CBG_CFD.UK",
        "position_size": 3000
      },
      {
        "reason": "Mean-reversion score 70. Sharp -7.8% 1d drop, -7.5% below MA50. New name diversifies portfolio. Moderate volatility supports controlled bounce trade.",
        "symbol": "ROR_CFD.UK",
        "position_size": 3000
      }
    ],
    "hold": [
      {
        "reason": "Positive unrealized PnL (+56). Holding for further mean-reversion upside.",
        "symbol": "ADBE_CFD.US"
      },
      {
        "reason": "Flat at avg_price. No reason to exit; awaiting reversion move.",
        "symbol": "BYIT_CFD.UK"
      },
      {
        "reason": "Flat at avg_price. Small position, no catalyst to sell.",
        "symbol": "DLN_CFD.UK"
      },
      {
        "reason": "Flat at avg_price. Recently opened, awaiting reversion.",
        "symbol": "DOCS_CFD.UK"
      },
      {
        "reason": "Flat at avg_price. Already hold this name; candidate list confirms pullback within uptrend — hold for snap-back to MA50.",
        "symbol": "DPLM_CFD.UK"
      },
      {
        "reason": "Positive unrealized PnL (+100). Mean-reversion working; let it run.",
        "symbol": "ELIOR_CFD.FR"
      },
      {
        "reason": "Flat at avg_price. Small position, no reason to exit.",
        "symbol": "ICG_CFD.UK"
      },
      {
        "reason": "Flat at avg_price. Recently opened, awaiting move.",
        "symbol": "IWG_CFD.UK"
      },
      {
        "reason": "Positive unrealized PnL (+74). Reversion playing out; hold.",
        "symbol": "LAND_CFD.UK"
      },
      {
        "reason": "Positive unrealized PnL (+123). Strong reversion; hold for further upside.",
        "symbol": "LSEG_CFD.UK"
      },
      {
        "reason": "Positive unrealized PnL (+26). Slight gain, hold.",
        "symbol": "MNDI_CFD.UK"
      },
      {
        "reason": "Flat at avg_price. Awaiting reversion move.",
        "symbol": "OCDO_CFD.UK"
      },
      {
        "reason": "Flat at avg_price. Awaiting reversion.",
        "symbol": "OSB_CFD.UK"
      },
      {
        "reason": "Positive unrealized PnL (+16). Small gain, hold.",
        "symbol": "PAGE_CFD.UK"
      },
      {
        "reason": "Flat at avg_price. Recently opened, hold.",
        "symbol": "RSW_CFD.UK"
      },
      {
        "reason": "Positive unrealized PnL (+77). Reversion working well; hold.",
        "symbol": "VSVS_CFD.UK"
      }
    ],
    "sell": [
      {
        "reason": "Position is down -2.8% with unrealized PnL of -85.12. No strong mean-reversion catalyst visible; price trending below avg_price. Free up capital for higher-conviction mean-reversion candidates.",
        "symbol": "WEIR_CFD.UK"
      }
    ]
  },
  "portfolio_rationale": "Portfolio has 16 active positions (non-zero qty). Selling WEIR to cut a losing position with no clear reversion signal, freeing a slot. Buying CBG (extreme oversold bounce, score 78) and ROR (sharp pullback, score 70) as highest-conviction mean-reversion candidates. Skipping DPLM buy since we already hold it. Skipping MRN and CCL as lower-scored alternatives. All other positions are either profitable or flat and recently opened — no reason to churn. Gross leverage remains well within 3.0x limit with these changes."
}
Selection logs
#694stage12026-03-18T11:06:46.018558+00:00
{
  "selected_stocks": [
    {
      "symbol": "CBG_CFD.UK",
      "selection_reason": "Extreme -26.6% 1d drop, -22.1% below MA50, -13.4% below MA200; sharp single-day selloff in otherwise moderate downtrend suggests oversold bounce potential within 2-10 days.",
      "mean_reversion_score": 78
    },
    {
      "symbol": "DPLM_CFD.UK",
      "selection_reason": "-5.4% 1d drop, -4.7% below MA50 but still +4.8% above MA200; moderate volatility (83%); clean pullback within uptrend suggests snap-back to MA50 likely.",
      "mean_reversion_score": 72
    },
    {
      "symbol": "ROR_CFD.UK",
      "selection_reason": "-7.8% 1d drop, -7.5% below MA50, -3.4% below MA200; moderate volatility (115%); sharp intraday decline from near-MA levels creates mean-reversion setup.",
      "mean_reversion_score": 70
    },
    {
      "symbol": "MRN_CFD.FR",
      "selection_reason": "-2.0% 1d drop, -4.9% below MA50, only +2.9% above MA200; lowest volatility in universe (65%); clean mild pullback ideal for controlled mean-reversion trade.",
      "mean_reversion_score": 68
    },
    {
      "symbol": "CCL_CFD.UK",
      "selection_reason": "-4.0% 1d drop, -4.5% below MA50 while still +4.9% above MA200; pullback within uptrend; high but not extreme volatility (163%) supports bounce to MA50.",
      "mean_reversion_score": 65
    }
  ],
  "rejected_common_reasons": [
    "Massive 1d spikes >+10% (WTB, SAFE, RSW, MAB, HMSO, UN0) — momentum/event-driven, not mean-reversion short candidates with clear setup",
    "Extreme crash >-20% (VTY -44%, OCDO -21%, FUTR -21%) — likely binary/event-driven, risk of continued downside or halts",
    "Excessively high volatility >200% (MCG, OCDO, VTY) — position sizing risk too large for controlled mean-reversion",
    "Far above MA200 >+30% (RSW, EMG, UN0, MRNA, BBY) — extended momentum, not mean-reverting",
    "Far below MA200 >-40% (GO, FMC, HPP) — structural decline, not short-term mean-reversion candidates",
    "WPP rejected despite large drop: -9% 1d and -37.5% below MA200 suggests structural breakdown rather than temporary dislocation",
    "US-listed stocks (SAIA, MOH, FBIN, CABO, BMY) deprioritized for EU-region scan; only selected EU/UK names"
  ]
}