Arena run #1061

meanrev-v1amazonamazon/nova-premier-v1EUsuccess
Arena
Run status
as_of: 2026-04-05T10:14:33.033169+00:00
started_at: 2026-04-05T11:35:39.397507+00:00
finished_at: 2026-04-05T11:36:15.454545+00:00
duration_ms: 36055
Inputs
{
  "as_of": "2026-04-05T10:14:33.033169+00:00",
  "dry_run": false,
  "selected": [
    {
      "symbol": "FUTR_CFD.UK",
      "selection_reason": "-32.27% from MA50 with high volatility",
      "mean_reversion_score": 95
    },
    {
      "symbol": "PAGE_CFD.UK",
      "selection_reason": "-31.73% from MA50 with extreme volatility",
      "mean_reversion_score": 92
    },
    {
      "symbol": "IWG_CFD.UK",
      "selection_reason": "-22.14% from MA50 with high volatility",
      "mean_reversion_score": 89
    },
    {
      "symbol": "UTG_CFD.UK",
      "selection_reason": "-13.55% from MA50 with moderate volatility",
      "mean_reversion_score": 87
    },
    {
      "symbol": "AUTO_CFD.UK",
      "selection_reason": "-31.90% from MA50 with high volatility",
      "mean_reversion_score": 85
    }
  ],
  "simulate_only": false,
  "strict_replay": false,
  "universe_symbols": [
    "CRST_CFD.UK",
    "FUTR_CFD.UK",
    "MSLH_CFD.UK",
    "BOY_CFD.UK",
    "PHP_CFD.UK",
    "SPX_CFD.UK",
    "PAGE_CFD.UK",
    "ICG_CFD.UK",
    "JDW_CFD.UK",
    "MCG_CFD.UK",
    "PAG_CFD.UK",
    "SAFE_CFD.UK",
    "LIO_CFD.UK",
    "RHIM_CFD.UK",
    "UTG_CFD.UK",
    "CBG_CFD.UK",
    "DLN_CFD.UK",
    "TPK_CFD.UK",
    "PZC_CFD.UK",
    "DOM_CFD.UK",
    "OCDO_CFD.UK",
    "STJ_CFD.UK",
    "BBY_CFD.UK",
    "IEP_CFD.BE",
    "IPO_CFD.UK",
    "CMCX_CFD.UK",
    "GROW_CFD.UK",
    "IWG_CFD.UK",
    "SRP_CFD.UK",
    "BYIT_CFD.UK",
    "VIRI_CFD.FR",
    "HBR_CFD.UK",
    "UKW_CFD.UK",
    "CCI_CFD.US",
    "TFF_CFD.FR",
    "ATG_CFD.UK",
    "BTRW_CFD.UK",
    "CO_CFD.FR",
    "HMSO_CFD.UK",
    "ERA_CFD.FR",
    "ADJ_CFD.DE",
    "DOCS_CFD.UK",
    "AUTO_CFD.UK",
    "PRU_CFD.UK",
    "EEFT_CFD.US",
    "GRI_CFD.UK",
    "ABDN_CFD.UK",
    "ALTR_CFD.PT",
    "THG_CFD.UK"
  ]
}
Outputs
{
  "actions": {
    "buy": [
      {
        "reason": "High mean-reversion score (95) and -32.27% from MA50",
        "symbol": "FUTR_CFD.UK",
        "position_size": 3000
      },
      {
        "reason": "High mean-reversion score (92) and -31.73% from MA50",
        "symbol": "PAGE_CFD.UK",
        "position_size": 3000
      }
    ],
    "hold": [
      {
        "reason": "Maintain existing position",
        "symbol": "BYIT_CFD.UK"
      },
      {
        "reason": "No clear improvement opportunity",
        "symbol": "CBG_CFD.UK"
      },
      {
        "reason": "No clear improvement opportunity",
        "symbol": "CRST_CFD.UK"
      },
      {
        "reason": "Profitable position with +85.14 PnL",
        "symbol": "DCC_CFD.UK"
      },
      {
        "reason": "No clear improvement opportunity",
        "symbol": "DLN_CFD.UK"
      },
      {
        "reason": "No clear improvement opportunity",
        "symbol": "ESNT_CFD.UK"
      },
      {
        "reason": "No clear improvement opportunity",
        "symbol": "FUTR_CFD.UK"
      },
      {
        "reason": "No clear improvement opportunity",
        "symbol": "HMSO_CFD.UK"
      },
      {
        "reason": "No clear improvement opportunity",
        "symbol": "HWDN_CFD.UK"
      },
      {
        "reason": "No clear improvement opportunity",
        "symbol": "JDW_CFD.UK"
      },
      {
        "reason": "Profitable position with +322.68 PnL",
        "symbol": "KEX_CFD.US"
      },
      {
        "reason": "Profitable position with +88.54 PnL",
        "symbol": "LRE_CFD.UK"
      },
      {
        "reason": "No clear improvement opportunity",
        "symbol": "MAB_CFD.UK"
      },
      {
        "reason": "No clear improvement opportunity",
        "symbol": "MSLH_CFD.UK"
      },
      {
        "reason": "No clear improvement opportunity",
        "symbol": "MSM_CFD.US"
      },
      {
        "reason": "No clear improvement opportunity",
        "symbol": "OCDO_CFD.UK"
      },
      {
        "reason": "No clear improvement opportunity",
        "symbol": "PAG_CFD.UK"
      },
      {
        "reason": "No clear improvement opportunity",
        "symbol": "PZC_CFD.UK"
      },
      {
        "reason": "No clear improvement opportunity",
        "symbol": "RHIM_CFD.UK"
      },
      {
        "reason": "No clear improvement opportunity",
        "symbol": "SAFE_CFD.UK"
      },
      {
        "reason": "No clear improvement opportunity",
        "symbol": "SHC_CFD.UK"
      },
      {
        "reason": "No clear improvement opportunity",
        "symbol": "SRP_CFD.UK"
      },
      {
        "reason": "No clear improvement opportunity",
        "symbol": "TPK_CFD.UK"
      },
      {
        "reason": "No clear improvement opportunity",
        "symbol": "WKP_CFD.UK"
      }
    ],
    "sell": [
      {
        "reason": "Exit losing position with -61.28 unrealized PnL",
        "symbol": "ADP_CFD.FR"
      },
      {
        "reason": "Close position with -82.59 unrealized loss",
        "symbol": "BTRW_CFD.UK"
      }
    ]
  },
  "portfolio_rationale": "Closed two underperforming positions (ADP_CFD.FR and BTRW_CFD.UK) to free capital. Added two high-conviction mean-reversion candidates (FUTR_CFD.UK and PAGE_CFD.UK) with significant deviations from MA50. Maintained all profitable positions and followed max_buys_per_run constraint."
}
Prompts & responses
#2056openrouteramazon/nova-premier-v12026-04-05T11:35:39.449474+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": "CRST_CFD.UK", "name": "CREST NICHOLSON HOLDINGS", "sector": "", "last_price": 167.8, "change_1d_pct": 24.85119047619049, "distance_from_ma200_pct": 1.2720261375977815, "distance_from_ma50_pct": 17.82963155418549, "volatility_20d_pct": 158.46878099582966, "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": 368.42, "change_1d_pct": -30.74812030075188, "distance_from_ma200_pct": -45.17933560634293, "distance_from_ma50_pct": -32.26659626501075, "volatility_20d_pct": 170.38116786538166, "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": 179.0, "change_1d_pct": 2.052451539338662, "distance_from_ma200_pct": -18.41965657865713, "distance_from_ma50_pct": 4.539832012082234, "volatility_20d_pct": 102.90810964969117, "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": "BOY_CFD.UK", "name": "BODYCOTE PLC", "sector": "", "last_price": 775.4, "change_1d_pct": 24.163330664531625, "distance_from_ma200_pct": 28.652243313347768, "distance_from_ma50_pct": 18.63612217470385, "volatility_20d_pct": 103.46484337510964, "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": "PHP_CFD.UK", "name": "PRIMARY HEALTH PROPERTIES", "sector": "", "last_price": 107.7, "change_1d_pct": 10.518214468958442, "distance_from_ma200_pct": 11.915056783642308, "distance_from_ma50_pct": 10.278080977082226, "volatility_20d_pct": 53.84238650296991, "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": "SPX_CFD.UK", "name": "SPIRAX-SARCO ENGINEERING PLC", "sector": "", "last_price": 7608.71, "change_1d_pct": 10.91413994169097, "distance_from_ma200_pct": 15.905097055024719, "distance_from_ma50_pct": 8.459177525660632, "volatility_20d_pct": 84.71063298478786, "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": 152.7, "change_1d_pct": -36.79635761589404, "distance_from_ma200_pct": -40.61156091058385, "distance_from_ma50_pct": -31.72721647345812, "volatility_20d_pct": 193.22753953431183, "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": "ICG_CFD.UK", "name": "ICG Plc", "sector": "", "last_price": 1693.0, "change_1d_pct": -15.18545979199647, "distance_from_ma200_pct": -16.18296530905513, "distance_from_ma50_pct": -12.256151916578562, "volatility_20d_pct": 73.10253575454833, "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": "JDW_CFD.UK", "name": "WETHERSPOON (J.D.) PLC", "sector": "", "last_price": 748.5, "change_1d_pct": 9.750733137829904, "distance_from_ma200_pct": 6.242631058659898, "distance_from_ma50_pct": 5.290077328071208, "volatility_20d_pct": 98.2373545531062, "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": 19.51, "change_1d_pct": -21.646586345381515, "distance_from_ma200_pct": -29.294942649537013, "distance_from_ma50_pct": -17.188746837807088, "volatility_20d_pct": 260.52106739031456, "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": "PAG_CFD.UK", "name": "PARAGON BANKING GROUP PLC", "sector": "", "last_price": 852.5, "change_1d_pct": -3.399433427762044, "distance_from_ma200_pct": -1.3404962254783492, "distance_from_ma50_pct": 0.699141440891915, "volatility_20d_pct": 71.52779356208148, "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": 708.0, "change_1d_pct": 0.14144271570013522, "distance_from_ma200_pct": 7.079918522466522, "distance_from_ma50_pct": -2.535991476029087, "volatility_20d_pct": 107.99712610776675, "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": 257.5, "change_1d_pct": 3.8306451612903247, "distance_from_ma200_pct": -20.8874735683513, "distance_from_ma50_pct": 0.10846703807232405, "volatility_20d_pct": 141.21527367452939, "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": 2550.0, "change_1d_pct": -6.764168190127973, "distance_from_ma200_pct": -2.35709026809392, "distance_from_ma50_pct": 0.9429816244979738, "volatility_20d_pct": 151.25590362229855, "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": 505.0, "change_1d_pct": -8.265213442325159, "distance_from_ma200_pct": -32.12786599325862, "distance_from_ma50_pct": -13.548388422126267, "volatility_20d_pct": 98.87339279796446, "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": "DLN_CFD.UK", "name": "DERWENT LONDON PLC", "sector": "", "last_price": 1953.0, "change_1d_pct": 10.401356698699837, "distance_from_ma200_pct": 5.069478604951705, "distance_from_ma50_pct": 12.150447212111025, "volatility_20d_pct": 115.39088732649292, "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": 601.57, "change_1d_pct": -1.21029986533977, "distance_from_ma200_pct": 0.5267641208837714, "distance_from_ma50_pct": -4.983077425595306, "volatility_20d_pct": 108.19399806448348, "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": "PZC_CFD.UK", "name": "PZ CUSSONS PLC", "sector": "", "last_price": 77.7, "change_1d_pct": -13.858093126385807, "distance_from_ma200_pct": 2.9808107121248817, "distance_from_ma50_pct": 2.5905093876257723, "volatility_20d_pct": 92.73478468401771, "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": 183.13, "change_1d_pct": -0.3102885138813294, "distance_from_ma200_pct": -15.070952368916624, "distance_from_ma50_pct": 1.0777282376278619, "volatility_20d_pct": 87.92203351330001, "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": "STJ_CFD.UK", "name": "ST JAMES'S PLACE PLC", "sector": "", "last_price": 1280.0, "change_1d_pct": -14.836992681304062, "distance_from_ma200_pct": 4.633703562254432, "distance_from_ma50_pct": -6.669417974449299, "volatility_20d_pct": 125.87476157380789, "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": "IEP_CFD.BE", "name": "IEP Invest NV", "sector": "", "last_price": 5.4, "change_1d_pct": 0.0, "distance_from_ma200_pct": 0.9951765451794659, "distance_from_ma50_pct": 0.5657756042326989, "volatility_20d_pct": 138.39532879660115, "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": "CMCX_CFD.UK", "name": "CMC MARKETS PLC", "sector": "", "last_price": 336.5, "change_1d_pct": 6.487341772151889, "distance_from_ma200_pct": 33.727269096422944, "distance_from_ma50_pct": 13.399699398122245, "volatility_20d_pct": 207.2492443353413, "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": "IWG_CFD.UK", "name": "IWG PLC", "sector": "", "last_price": 177.0, "change_1d_pct": -26.786896095301127, "distance_from_ma200_pct": -17.645939421376646, "distance_from_ma50_pct": -22.14236071400294, "volatility_20d_pct": 154.02502086657427, "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": "SRP_CFD.UK", "name": "SERCO GROUP PLC", "sector": "", "last_price": 300.0, "change_1d_pct": -0.3984063745019917, "distance_from_ma200_pct": 34.11120814305375, "distance_from_ma50_pct": 6.89280433272168, "volatility_20d_pct": 77.89780733903845, "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": "VIRI_CFD.FR", "name": "VIRIDIEN", "sector": "", "last_price": 127.1, "change_1d_pct": 32.258064516129025, "distance_from_ma200_pct": 86.88026988392838, "distance_from_ma50_pct": 29.097132641971314, "volatility_20d_pct": 297.97668648307325, "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": "HBR_CFD.UK", "name": "HARBOUR ENERGY PLC", "sector": "", "last_price": 294.8, "change_1d_pct": 3.2936229852838173, "distance_from_ma200_pct": 33.38470243062854, "distance_from_ma50_pct": 15.459330743200915, "volatility_20d_pct": 160.28632234498426, "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": "UKW_CFD.UK", "name": "GREENCOAT UK WIND PLC", "sector": "", "last_price": 98.75, "change_1d_pct": -0.05060728744938903, "distance_from_ma200_pct": -11.408996180942744, "distance_from_ma50_pct": -4.589556348683388, "volatility_20d_pct": 64.15684506219812, "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": "CCI_CFD.US", "name": "Crown Castle", "sector": "", "last_price": 86.64, "change_1d_pct": 7.533821521658202, "distance_from_ma200_pct": -7.285087120877709, "distance_from_ma50_pct": 1.1468918111177562, "volatility_20d_pct": 60.76128339441084, "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": "TFF_CFD.FR", "name": "TFF Group", "sector": "", "last_price": 16.2, "change_1d_pct": 7.284768211920523, "distance_from_ma200_pct": -10.471615633645426, "distance_from_ma50_pct": -4.571496566341082, "volatility_20d_pct": 104.31410919918365, "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": 326.5, "change_1d_pct": 12.006861063464846, "distance_from_ma200_pct": -24.987260470422935, "distance_from_ma50_pct": 5.84429056770146, "volatility_20d_pct": 172.45012969704524, "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": "BTRW_CFD.UK", "name": "Barratt Redrow Plc", "sector": "", "last_price": 265.0, "change_1d_pct": -24.458380843785633, "distance_from_ma200_pct": -31.60081201451096, "distance_from_ma50_pct": -26.246873145735073, "volatility_20d_pct": 135.16950343577923, "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": "CO_CFD.FR", "name": "Casino Guichard Perrachon", "sector": "", "last_price": 0.161, "change_1d_pct": 0.6250000000000089, "distance_from_ma200_pct": -54.63319103371514, "distance_from_ma50_pct": -21.973441892022873, "volatility_20d_pct": 159.06564182763353, "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": "ERA_CFD.FR", "name": "Eramet", "sector": "", "last_price": 51.95, "change_1d_pct": 2.9528339278636517, "distance_from_ma200_pct": -7.215615638678486, "distance_from_ma50_pct": -11.840073311045863, "volatility_20d_pct": 94.50049855306494, "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": "ADJ_CFD.DE", "name": "ADLER GROUP SA", "sector": "", "last_price": 0.174, "change_1d_pct": 0.5780346820809301, "distance_from_ma200_pct": -13.818722139673124, "distance_from_ma50_pct": -5.793178126691922, "volatility_20d_pct": 294.59302160430366, "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": "DOCS_CFD.UK", "name": "DR. MARTENS PLC", "sector": "", "last_price": 63.38, "change_1d_pct": -1.5838509316770222, "distance_from_ma200_pct": -16.16856757768428, "distance_from_ma50_pct": -14.001313454221787, "volatility_20d_pct": 5214.649421846573, "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": "AUTO_CFD.UK", "name": "AUTOTRADER GROUP PLC", "sector": "", "last_price": 490.4, "change_1d_pct": -38.63326367424575, "distance_from_ma200_pct": -37.426260695289436, "distance_from_ma50_pct": -31.896720766000808, "volatility_20d_pct": 130.06763966702516, "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": "PRU_CFD.UK", "name": "PRUDENTIAL PLC", "sector": "", "last_price": 1083.5, "change_1d_pct": 1.5939990623534905, "distance_from_ma200_pct": 3.4579741725546453, "distance_from_ma50_pct": -3.3089489241012404, "volatility_20d_pct": 106.75001496511642, "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": "EEFT_CFD.US", "name": "Euronet Worldwide Inc", "sector": "", "last_price": 64.79, "change_1d_pct": -3.124999999999989, "distance_from_ma200_pct": -21.62251909989893, "distance_from_ma50_pct": -8.277791305431137, "volatility_20d_pct": 71.85042530060264, "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": "GRI_CFD.UK", "name": "GRAINGER PLC", "sector": "", "last_price": 192.4, "change_1d_pct": 0.08322929671245038, "distance_from_ma200_pct": -4.9312468607917275, "distance_from_ma50_pct": 0.9128310349964197, "volatility_20d_pct": 71.43116862190418, "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": "ABDN_CFD.UK", "name": "Aberdeen Group Plc", "sector": "", "last_price": 193.2, "change_1d_pct": -11.780821917808225, "distance_from_ma200_pct": 1.3805491026614547, "distance_from_ma50_pct": -6.772144752169284, "volatility_20d_pct": 87.08429925175024, "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": "ALTR_CFD.PT", "name": "Altri SGPS SA", "sector": "", "last_price": 4.92, "change_1d_pct": 7.894736842105243, "distance_from_ma200_pct": 2.9427611047934343, "distance_from_ma50_pct": 5.366856555446109, "volatility_20d_pct": 64.77855600418211, "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": "THG_CFD.UK", "name": "THG PLC", "sector": "", "last_price": 35.48, "change_1d_pct": -20.090090090090097, "distance_from_ma200_pct": 4.031971945380275, "distance_from_ma50_pct": -18.256005234564732, "volatility_20d_pct": 150.3458448856807, "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": "FUTR_CFD.UK",
      "selection_reason": "-32.27% from MA50 with high volatility",
      "mean_reversion_score": 95
    },
    {
      "symbol": "PAGE_CFD.UK",
      "selection_reason": "-31.73% from MA50 with extreme volatility",
      "mean_reversion_score": 92
    },
    {
      "symbol": "IWG_CFD.UK",
      "selection_reason": "-22.14% from MA50 with high volatility",
      "mean_reversion_score": 89
    },
    {
      "symbol": "UTG_CFD.UK",
      "selection_reason": "-13.55% from MA50 with moderate volatility",
      "mean_reversion_score": 87
    },
    {
      "symbol": "AUTO_CFD.UK",
      "selection_reason": "-31.90% from MA50 with high volatility",
      "mean_reversion_score": 85
    }
  ],
  "rejected_common_reasons": [
    "Earnings proximity unknown but required avoidance",
    "Extreme price movement >25%",
    "Sector concentration risk",
    "Insufficient distance from moving averages"
  ]
}
#2057openrouteramazon/nova-premier-v12026-04-05T11:35:50.836220+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": "ABDN_CFD.UK", "qty": 0.0, "avg_price": 193.2, "last_price": 190.4, "unrealized_pnl": 0.0, "opened_at": "2026-03-19T10:09:24.325041+00:00"}, {"symbol": "ADBE_CFD.US", "qty": 0.0, "avg_price": 249.47, "last_price": 248.05, "unrealized_pnl": 0.0, "opened_at": "2026-03-14T18:06:47.909233+00:00"}, {"symbol": "ADP_CFD.FR", "qty": 0.0, "avg_price": 117.5, "last_price": 115.1, "unrealized_pnl": -61.276595744680996, "opened_at": "2026-02-25T10:57:06.928276+00:00"}, {"symbol": "AKAM_CFD.US", "qty": 0.0, "avg_price": 97.455, "last_price": 107.67, "unrealized_pnl": 0.0, "opened_at": "2026-02-23T18:14:12.978497+00:00"}, {"symbol": "BBY_CFD.UK", "qty": 0.0, "avg_price": 726.5, "last_price": 726.5, "unrealized_pnl": 0.0, "opened_at": "2026-03-20T18:25:08.105367+00:00"}, {"symbol": "BIG_CFD.FR", "qty": 0.0, "avg_price": 0.453, "last_price": 0.296, "unrealized_pnl": 0.0, "opened_at": "2026-02-21T17:32:49.140800+00:00"}, {"symbol": "BRBY_CFD.UK", "qty": 0.0, "avg_price": 1119.08, "last_price": 1067.5, "unrealized_pnl": 0.0, "opened_at": "2026-03-02T10:31:26.559356+00:00"}, {"symbol": "BRNL_CFD.NL", "qty": 0.0, "avg_price": 7.05, "last_price": 6.68, "unrealized_pnl": 0.0, "opened_at": "2026-02-23T10:32:09.961595+00:00"}, {"symbol": "BTRW_CFD.UK", "qty": 0.0, "avg_price": 257.9, "last_price": 250.8, "unrealized_pnl": -82.59015122140326, "opened_at": "2026-03-02T18:21:09.503139+00:00"}, {"symbol": "BT_CFD.UK", "qty": 0.0, "avg_price": 202.8, "last_price": 203.6, "unrealized_pnl": 0.0, "opened_at": "2026-03-03T10:20:03.276878+00:00"}, {"symbol": "BYIT_CFD.UK", "qty": 20.505809979494188, "avg_price": 292.6, "last_price": 292.6, "unrealized_pnl": 0.0, "opened_at": "2026-02-16T09:30:55.514112+00:00"}, {"symbol": "CABO_CFD.US", "qty": 0.0, "avg_price": 94.6, "last_price": 111.495, "unrealized_pnl": 535.7822410147995, "opened_at": "2026-02-27T18:23:55.960577+00:00"}, {"symbol": "CBG_CFD.UK", "qty": 8.748396127376648, "avg_price": 342.92, "last_price": 342.92, "unrealized_pnl": 0.0, "opened_at": "2026-03-04T10:26:53.527562+00:00"}, {"symbol": "CCL_CFD.UK", "qty": 0.0, "avg_price": 1945.9999999999998, "last_price": 1842.0, "unrealized_pnl": 0.0, "opened_at": "2026-03-06T18:02:13.212382+00:00"}, {"symbol": "CO_CFD.FR", "qty": 0.0, "avg_price": 0.171, "last_price": 0.165, "unrealized_pnl": 0.0, "opened_at": "2026-03-06T10:33:43.857578+00:00"}, {"symbol": "CRST_CFD.UK", "qty": 25.246149962130776, "avg_price": 118.83, "last_price": 118.83, "unrealized_pnl": 0.0, "opened_at": "2026-03-19T10:09:24.325041+00:00"}, {"symbol": "DCC_CFD.UK", "qty": 0.6651884700665188, "avg_price": 4510.0, "last_price": 4638.0, "unrealized_pnl": 85.14412416851441, "opened_at": "2026-03-23T10:03:51.599067+00:00"}, {"symbol": "DLN_CFD.UK", "qty": 6.622516556291391, "avg_price": 1812.0, "last_price": 1812.0, "unrealized_pnl": 0.0, "opened_at": "2026-03-12T18:01:52.554929+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": "EMG_CFD.UK", "qty": 0.0, "avg_price": 252.99999999999997, "last_price": 252.66, "unrealized_pnl": 0.0, "opened_at": "2026-03-24T18:12:08.252730+00:00"}, {"symbol": "ERA_CFD.FR", "qty": 0.0, "avg_price": 47.4, "last_price": 46.329, "unrealized_pnl": 0.0, "opened_at": "2026-02-19T17:33:27.020111+00:00"}, {"symbol": "ESNT_CFD.UK", "qty": 31.413612565445025, "avg_price": 95.5, "last_price": 95.5, "unrealized_pnl": 0.0, "opened_at": "2026-03-20T10:26:40.341409+00:00"}, {"symbol": "ESTC_CFD.US", "qty": 0.0, "avg_price": 58.085, "last_price": 55.355000000000004, "unrealized_pnl": 0.0, "opened_at": "2026-02-20T17:33:34.647633+00:00"}, {"symbol": "EVD_CFD.DE", "qty": 0.0, "avg_price": 54.1, "last_price": 49.68, "unrealized_pnl": 0.0, "opened_at": "2026-03-27T09:59:46.331143+00:00"}, {"symbol": "EXE_CFD.FR", "qty": 0.0, "avg_price": 37.303, "last_price": 35.843, "unrealized_pnl": 0.0, "opened_at": "2026-02-24T18:14:37.115518+00:00"}, {"symbol": "EZJ_CFD.UK", "qty": 0.0, "avg_price": 405.2, "last_price": 394.1, "unrealized_pnl": 0.0, "opened_at": "2026-02-21T09:33:26.900894+00:00"}, {"symbol": "FBIN_CFD.US", "qty": 0.0, "avg_price": 42.790000000000006, "last_price": 41.445, "unrealized_pnl": 0.0, "opened_at": "2026-03-05T18:20:59.102726+00:00"}, {"symbol": "FICO_CFD.US", "qty": 0.0, "avg_price": 1127.4099999999999, "last_price": 993.365, "unrealized_pnl": 0.0, "opened_at": "2026-03-14T18:06:47.909233+00:00"}, {"symbol": "FII_CFD.FR", "qty": 0.0, "avg_price": 50.5, "last_price": 49.8, "unrealized_pnl": 0.0, "opened_at": "2026-03-29T10:09:56.528041+00:00"}, {"symbol": "FUTR_CFD.UK", "qty": 42.2237860661506, "avg_price": 284.2, "last_price": 284.2, "unrealized_pnl": 0.0, "opened_at": "2026-02-18T09:36:37.284518+00:00"}, {"symbol": "GNRC_CFD.US", "qty": 0.0, "avg_price": 200.66, "last_price": 198.98, "unrealized_pnl": 0.0, "opened_at": "2026-03-09T18:18:45.954380+00:00"}, {"symbol": "GO_CFD.US", "qty": 0.0, "avg_price": 6.53, "last_price": 6.35, "unrealized_pnl": 0.0, "opened_at": "2026-03-05T18:20:59.102726+00:00"}, {"symbol": "HAIN_CFD.US", "qty": 0.0, "avg_price": 0.8, "last_price": 0.8, "unrealized_pnl": 0.0, "opened_at": "2026-02-27T18:23:55.960577+00:00"}, {"symbol": "HELE_CFD.US", "qty": 0.0, "avg_price": 15.94, "last_price": 15.78, "unrealized_pnl": 0.0, "opened_at": "2026-03-16T18:18:58.833148+00:00"}, {"symbol": "HHFA_CFD.DE", "qty": 0.0, "avg_price": 22.4, "last_price": 21.947, "unrealized_pnl": 0.0, "opened_at": "2026-03-24T18:12:08.252730+00:00"}, {"symbol": "HIK_CFD.UK", "qty": 0.0, "avg_price": 1409.0, "last_price": 1342.0, "unrealized_pnl": -142.65436479772887, "opened_at": "2026-02-26T10:33:24.101894+00:00"}, {"symbol": "HMSO_CFD.UK", "qty": 8.600917431192661, "avg_price": 348.8, "last_price": 348.8, "unrealized_pnl": 0.0, "opened_at": "2026-02-23T18:14:12.978497+00:00"}, {"symbol": "HWDN_CFD.UK", "qty": 3.7783375314861463, "avg_price": 794.0, "last_price": 794.0, "unrealized_pnl": 0.0, "opened_at": "2026-03-20T10:26:40.341409+00:00"}, {"symbol": "IPO_CFD.UK", "qty": 0.0, "avg_price": 57.7, "last_price": 57.6, "unrealized_pnl": 0.0, "opened_at": "2026-02-20T09:33:44.817899+00:00"}, {"symbol": "ITV_CFD.UK", "qty": 0.0, "avg_price": 82.85, "last_price": 78.75, "unrealized_pnl": 0.0, "opened_at": "2026-03-13T10:07:39.444598+00:00"}, {"symbol": "IWG_CFD.UK", "qty": 0.0, "avg_price": 177.0, "last_price": 172.2, "unrealized_pnl": 0.0, "opened_at": "2026-03-19T18:04:14.272849+00:00"}, {"symbol": "JDW_CFD.UK", "qty": 4.514672686230249, "avg_price": 664.5, "last_price": 664.5, "unrealized_pnl": 0.0, "opened_at": "2026-03-15T10:35:48.762746+00:00"}, {"symbol": "KBCA_CFD.BE", "qty": 0.0, "avg_price": 75.3, "last_price": 75.1, "unrealized_pnl": 0.0, "opened_at": "2026-02-25T10:57:06.928276+00:00"}, {"symbol": "KEX_CFD.US", "qty": 24.390243902439025, "avg_price": 123.0, "last_price": 136.23, "unrealized_pnl": 322.68292682926807, "opened_at": "2026-03-09T18:18:45.954380+00:00"}, {"symbol": "KGF_CFD.UK", "qty": 0.0, "avg_price": 315.6, "last_price": 298.6, "unrealized_pnl": 0.0, "opened_at": "2026-03-14T10:03:26.036362+00:00"}, {"symbol": "LIO_CFD.UK", "qty": 0.0, "avg_price": 257.5, "last_price": 234.5, "unrealized_pnl": 0.0, "opened_at": "2026-02-21T09:33:26.900894+00:00"}, {"symbol": "LRE_CFD.UK", "qty": 5.208333333333333, "avg_price": 576.0, "last_price": 593.0, "unrealized_pnl": 88.54166666666666, "opened_at": "2026-03-30T17:49:05.858690+00:00"}, {"symbol": "LXS_CFD.DE", "qty": 0.0, "avg_price": 13.14, "last_price": 11.929, "unrealized_pnl": 0.0, "opened_at": "2026-03-06T10:33:43.857578+00:00"}, {"symbol": "MAB_CFD.UK", "qty": 10.624734381640458, "avg_price": 282.36, "last_price": 282.36, "unrealized_pnl": 0.0, "opened_at": "2026-03-21T17:59:11.913241+00:00"}, {"symbol": "MCG_CFD.UK", "qty": 0.0, "avg_price": 19.51, "last_price": 17.39, "unrealized_pnl": 0.0, "opened_at": "2026-03-26T17:55:26.602359+00:00"}, {"symbol": "MSLH_CFD.UK", "qty": 21.30681818181818, "avg_price": 140.8, "last_price": 140.8, "unrealized_pnl": 0.0, "opened_at": "2026-03-26T10:11:44.579260+00:00"}, {"symbol": "MSM_CFD.US", "qty": 33.22995126273815, "avg_price": 90.28, "last_price": 90.28, "unrealized_pnl": 0.0, "opened_at": "2026-04-04T18:08:49.555685+00:00"}, {"symbol": "NXST_CFD.US", "qty": 0.0, "avg_price": 233.02, "last_price": 226.38, "unrealized_pnl": -85.48622435842437, "opened_at": "2026-03-15T18:15:23.812047+00:00"}, {"symbol": "OCDO_CFD.UK", "qty": 14.684287812041115, "avg_price": 204.3, "last_price": 204.3, "unrealized_pnl": 0.0, "opened_at": "2026-03-01T10:30:13.622938+00:00"}, {"symbol": "OSB_CFD.UK", "qty": 0.0, "avg_price": 558.5, "last_price": 544.0, "unrealized_pnl": -155.7743957027753, "opened_at": "2026-03-13T10:07:39.444598+00:00"}, {"symbol": "PAGE_CFD.UK", "qty": 67.72009029345372, "avg_price": 132.9, "last_price": 132.9, "unrealized_pnl": 0.0, "opened_at": "2026-02-22T09:32:59.506254+00:00"}, {"symbol": "PAG_CFD.UK", "qty": 11.757021554539516, "avg_price": 765.5, "last_price": 765.5, "unrealized_pnl": 0.0, "opened_at": "2026-03-23T10:03:51.599067+00:00"}, {"symbol": "PZC_CFD.UK", "qty": 41.03967168262654, "avg_price": 73.1, "last_price": 73.1, "unrealized_pnl": 0.0, "opened_at": "2026-03-29T10:09:56.528041+00:00"}, {"symbol": "REC_CFD.BE", "qty": 0.0, "avg_price": 11.08, "last_price": 10.68, "unrealized_pnl": 0.0, "opened_at": "2026-03-02T18:21:09.503139+00:00"}, {"symbol": "RHIM_CFD.UK", "qty": 2.5806451612903225, "avg_price": 2325.0, "last_price": 2325.0, "unrealized_pnl": 0.0, "opened_at": "2026-03-03T10:20:03.276878+00:00"}, {"symbol": "RMV_CFD.UK", "qty": 0.0, "avg_price": 424.3, "last_price": 416.0, "unrealized_pnl": 0.0, "opened_at": "2026-02-19T00:47:27.070066+00:00"}, {"symbol": "ROR_CFD.UK", "qty": 0.0, "avg_price": 315.64, "last_price": 309.4, "unrealized_pnl": 0.0, "opened_at": "2026-03-14T10:03:26.036362+00:00"}, {"symbol": "SAFE_CFD.UK", "qty": 4.662004662004662, "avg_price": 643.5, "last_price": 643.5, "unrealized_pnl": 0.0, "opened_at": "2026-03-23T18:04:09.108429+00:00"}, {"symbol": "SGE_CFD.UK", "qty": 0.0, "avg_price": 795.4, "last_price": 813.4, "unrealized_pnl": 0.0, "opened_at": "2026-02-16T17:30:52.485845+00:00"}, {"symbol": "SGRO_CFD.UK", "qty": 0.0, "avg_price": 735.4, "last_price": 723.8, "unrealized_pnl": 0.0, "opened_at": "2026-03-16T10:12:30.296045+00:00"}, {"symbol": "SHC_CFD.UK", "qty": 47.69475357710652, "avg_price": 125.8, "last_price": 125.8, "unrealized_pnl": 0.0, "opened_at": "2026-03-28T10:05:22.022266+00:00"}, {"symbol": "SRP_CFD.UK", "qty": 10.273972602739725, "avg_price": 292.0, "last_price": 292.0, "unrealized_pnl": 0.0, "opened_at": "2026-04-03T18:06:55.972569+00:00"}, {"symbol": "SYNT_CFD.UK", "qty": 0.0, "avg_price": 18.4, "last_price": 27.2, "unrealized_pnl": 0.0, "opened_at": "2026-03-03T18:03:34.247734+00:00"}, {"symbol": "TPK_CFD.UK", "qty": 5.328975415660082, "avg_price": 562.96, "last_price": 562.96, "unrealized_pnl": 0.0, "opened_at": "2026-03-21T10:00:02.317290+00:00"}, {"symbol": "TRN_CFD.UK", "qty": 0.0, "avg_price": 184.5, "last_price": 211.4, "unrealized_pnl": 0.0, "opened_at": "2026-03-05T10:27:11.178069+00:00"}, {"symbol": "UKW_CFD.UK", "qty": 0.0, "avg_price": 92.35, "last_price": 96.43, "unrealized_pnl": 265.0785056848953, "opened_at": "2026-02-20T09:33:44.817899+00:00"}, {"symbol": "UMG_CFD.NL", "qty": 0.0, "avg_price": 19.085, "last_price": 18.665, "unrealized_pnl": 0.0, "opened_at": "2026-02-19T09:33:49.074031+00:00"}, {"symbol": "UTG_CFD.UK", "qty": 0.0, "avg_price": 504.99999999999994, "last_price": 461.2, "unrealized_pnl": 0.0, "opened_at": "2026-03-04T10:26:53.527562+00:00"}, {"symbol": "VTY_CFD.UK", "qty": 0.0, "avg_price": 427.6, "last_price": 406.1, "unrealized_pnl": 0.0, "opened_at": "2026-03-10T18:24:41.570614+00:00"}, {"symbol": "WIZZ_CFD.UK", "qty": 3.4403669724770642, "avg_price": 872.0, "last_price": 866.0, "unrealized_pnl": -20.642201834862384, "opened_at": "2026-02-25T17:57:28.313088+00:00"}, {"symbol": "WKP_CFD.UK", "qty": 7.2727272727272725, "avg_price": 412.5, "last_price": 412.5, "unrealized_pnl": 0.0, "opened_at": "2026-03-30T10:23:56.039732+00:00"}, {"symbol": "WPP_CFD.UK", "qty": 0.0, "avg_price": 263.4, "last_price": 240.8, "unrealized_pnl": 0.0, "opened_at": "2026-02-16T17:30:52.485845+00:00"}, {"symbol": "WTB_CFD.UK", "qty": 1.279317697228145, "avg_price": 2345.0, "last_price": 2297.0, "unrealized_pnl": -61.40724946695096, "opened_at": "2026-03-13T18:17:31.188931+00:00"}, {"symbol": "XRX_CFD.US", "qty": 0.0, "avg_price": 1.56, "last_price": 1.52, "unrealized_pnl": 0.0, "opened_at": "2026-03-16T18:18:58.833148+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": "FUTR_CFD.UK", "mean_reversion_score": 95, "selection_reason": "-32.27% from MA50 with high volatility"}, {"symbol": "PAGE_CFD.UK", "mean_reversion_score": 92, "selection_reason": "-31.73% from MA50 with extreme volatility"}, {"symbol": "IWG_CFD.UK", "mean_reversion_score": 89, "selection_reason": "-22.14% from MA50 with high volatility"}, {"symbol": "UTG_CFD.UK", "mean_reversion_score": 87, "selection_reason": "-13.55% from MA50 with moderate volatility"}, {"symbol": "AUTO_CFD.UK", "mean_reversion_score": 85, "selection_reason": "-31.90% from MA50 with high volatility"}], "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": "High mean-reversion score (95) and -32.27% from MA50",
        "symbol": "FUTR_CFD.UK",
        "position_size": 3000
      },
      {
        "reason": "High mean-reversion score (92) and -31.73% from MA50",
        "symbol": "PAGE_CFD.UK",
        "position_size": 3000
      }
    ],
    "hold": [
      {
        "reason": "Maintain existing position",
        "symbol": "BYIT_CFD.UK"
      },
      {
        "reason": "No clear improvement opportunity",
        "symbol": "CBG_CFD.UK"
      },
      {
        "reason": "No clear improvement opportunity",
        "symbol": "CRST_CFD.UK"
      },
      {
        "reason": "Profitable position with +85.14 PnL",
        "symbol": "DCC_CFD.UK"
      },
      {
        "reason": "No clear improvement opportunity",
        "symbol": "DLN_CFD.UK"
      },
      {
        "reason": "No clear improvement opportunity",
        "symbol": "ESNT_CFD.UK"
      },
      {
        "reason": "No clear improvement opportunity",
        "symbol": "FUTR_CFD.UK"
      },
      {
        "reason": "No clear improvement opportunity",
        "symbol": "HMSO_CFD.UK"
      },
      {
        "reason": "No clear improvement opportunity",
        "symbol": "HWDN_CFD.UK"
      },
      {
        "reason": "No clear improvement opportunity",
        "symbol": "JDW_CFD.UK"
      },
      {
        "reason": "Profitable position with +322.68 PnL",
        "symbol": "KEX_CFD.US"
      },
      {
        "reason": "Profitable position with +88.54 PnL",
        "symbol": "LRE_CFD.UK"
      },
      {
        "reason": "No clear improvement opportunity",
        "symbol": "MAB_CFD.UK"
      },
      {
        "reason": "No clear improvement opportunity",
        "symbol": "MSLH_CFD.UK"
      },
      {
        "reason": "No clear improvement opportunity",
        "symbol": "MSM_CFD.US"
      },
      {
        "reason": "No clear improvement opportunity",
        "symbol": "OCDO_CFD.UK"
      },
      {
        "reason": "No clear improvement opportunity",
        "symbol": "PAG_CFD.UK"
      },
      {
        "reason": "No clear improvement opportunity",
        "symbol": "PZC_CFD.UK"
      },
      {
        "reason": "No clear improvement opportunity",
        "symbol": "RHIM_CFD.UK"
      },
      {
        "reason": "No clear improvement opportunity",
        "symbol": "SAFE_CFD.UK"
      },
      {
        "reason": "No clear improvement opportunity",
        "symbol": "SHC_CFD.UK"
      },
      {
        "reason": "No clear improvement opportunity",
        "symbol": "SRP_CFD.UK"
      },
      {
        "reason": "No clear improvement opportunity",
        "symbol": "TPK_CFD.UK"
      },
      {
        "reason": "No clear improvement opportunity",
        "symbol": "WKP_CFD.UK"
      }
    ],
    "sell": [
      {
        "reason": "Exit losing position with -61.28 unrealized PnL",
        "symbol": "ADP_CFD.FR"
      },
      {
        "reason": "Close position with -82.59 unrealized loss",
        "symbol": "BTRW_CFD.UK"
      }
    ]
  },
  "portfolio_rationale": "Closed two underperforming positions (ADP_CFD.FR and BTRW_CFD.UK) to free capital. Added two high-conviction mean-reversion candidates (FUTR_CFD.UK and PAGE_CFD.UK) with significant deviations from MA50. Maintained all profitable positions and followed max_buys_per_run constraint."
}
Selection logs
#1000stage12026-04-05T11:35:50.833415+00:00
{
  "selected_stocks": [
    {
      "symbol": "FUTR_CFD.UK",
      "selection_reason": "-32.27% from MA50 with high volatility",
      "mean_reversion_score": 95
    },
    {
      "symbol": "PAGE_CFD.UK",
      "selection_reason": "-31.73% from MA50 with extreme volatility",
      "mean_reversion_score": 92
    },
    {
      "symbol": "IWG_CFD.UK",
      "selection_reason": "-22.14% from MA50 with high volatility",
      "mean_reversion_score": 89
    },
    {
      "symbol": "UTG_CFD.UK",
      "selection_reason": "-13.55% from MA50 with moderate volatility",
      "mean_reversion_score": 87
    },
    {
      "symbol": "AUTO_CFD.UK",
      "selection_reason": "-31.90% from MA50 with high volatility",
      "mean_reversion_score": 85
    }
  ],
  "rejected_common_reasons": [
    "Earnings proximity unknown but required avoidance",
    "Extreme price movement >25%",
    "Sector concentration risk",
    "Insufficient distance from moving averages"
  ]
}