Arena run #1001

meanrev-v1amazonamazon/nova-premier-v1EUsuccess
Arena
Run status
as_of: 2026-04-02T10:01:24.938009+00:00
started_at: 2026-04-02T11:05:26.838603+00:00
finished_at: 2026-04-02T11:06:13.417211+00:00
duration_ms: 46577
Inputs
{
  "as_of": "2026-04-02T10:01:24.938009+00:00",
  "dry_run": false,
  "selected": [
    {
      "symbol": "SHC_CFD.UK",
      "selection_reason": "Near MA200 and low volatility",
      "mean_reversion_score": 65
    },
    {
      "symbol": "DLN_CFD.UK",
      "selection_reason": "Positive MA50 deviation with controlled volatility",
      "mean_reversion_score": 72
    },
    {
      "symbol": "EGL_CFD.PT",
      "selection_reason": "Close to both MAs with moderate volatility",
      "mean_reversion_score": 58
    },
    {
      "symbol": "WKP_CFD.UK",
      "selection_reason": "Stable near-term technicals",
      "mean_reversion_score": 68
    },
    {
      "symbol": "LIO_CFD.UK",
      "selection_reason": "Neutral technical positioning with low MA deviation",
      "mean_reversion_score": 62
    }
  ],
  "simulate_only": false,
  "strict_replay": false,
  "universe_symbols": [
    "CRST_CFD.UK",
    "FUTR_CFD.UK",
    "MSLH_CFD.UK",
    "BOY_CFD.UK",
    "SPX_CFD.UK",
    "ESNT_CFD.UK",
    "ICG_CFD.UK",
    "JDW_CFD.UK",
    "MCG_CFD.UK",
    "SHC_CFD.UK",
    "SAFE_CFD.UK",
    "LIO_CFD.UK",
    "RHIM_CFD.UK",
    "UTG_CFD.UK",
    "CBG_CFD.UK",
    "RSW_CFD.UK",
    "DLN_CFD.UK",
    "PZC_CFD.UK",
    "DOM_CFD.UK",
    "FRES_CFD.UK",
    "HWDN_CFD.UK",
    "LRE_CFD.UK",
    "WIZZ_CFD.UK",
    "STJ_CFD.UK",
    "BBY_CFD.UK",
    "AAL_CFD.UK",
    "IEP_CFD.BE",
    "UMI_CFD.BE",
    "MAB_CFD.UK",
    "AGFB_CFD.BE",
    "EL_CFD.US",
    "MRN_CFD.FR",
    "EGL_CFD.PT",
    "IPO_CFD.UK",
    "CMCX_CFD.UK",
    "IDL_CFD.FR",
    "IWG_CFD.UK",
    "BPOST_CFD.BE",
    "AAD_CFD.DE",
    "SRP_CFD.UK",
    "SKB_CFD.DE",
    "BYIT_CFD.UK",
    "VIRI_CFD.FR",
    "APAM_CFD.NL",
    "WEW_CFD.DE",
    "EZJ_CFD.UK",
    "WKP_CFD.UK",
    "CLARI_CFD.FR",
    "PSN_CFD.UK"
  ]
}
Outputs
{
  "actions": {
    "buy": [
      {
        "reason": "Strong mean reversion candidate (score 72)",
        "symbol": "DLN_CFD.UK",
        "position_size": 3000
      }
    ],
    "hold": [
      {
        "reason": "Flat performance with no clear trend",
        "symbol": "BBY_CFD.UK"
      },
      {
        "reason": "No price movement detected",
        "symbol": "BYIT_CFD.UK"
      },
      {
        "reason": "No change in price since last trade",
        "symbol": "CBG_CFD.UK"
      },
      {
        "reason": "Price unchanged since entry",
        "symbol": "CRST_CFD.UK"
      },
      {
        "reason": "Small profit but volatile asset",
        "symbol": "DCC_CFD.UK"
      },
      {
        "reason": "No movement detected",
        "symbol": "DLN_CFD.UK"
      },
      {
        "reason": "Price remains static",
        "symbol": "ESNT_CFD.UK"
      },
      {
        "reason": "No price change since last trade",
        "symbol": "FUTR_CFD.UK"
      },
      {
        "reason": "Price stable since purchase",
        "symbol": "HMSO_CFD.UK"
      },
      {
        "reason": "No price movement",
        "symbol": "HWDN_CFD.UK"
      },
      {
        "reason": "Price unchanged",
        "symbol": "JDW_CFD.UK"
      },
      {
        "reason": "Significant unrealized gain - hold for profit realization",
        "symbol": "KEX_CFD.UK"
      },
      {
        "reason": "No price change",
        "symbol": "LRE_CFD.UK"
      },
      {
        "reason": "Price stable",
        "symbol": "MAB_CFD.UK"
      },
      {
        "reason": "No movement detected",
        "symbol": "MSLH_CFD.UK"
      },
      {
        "reason": "Price remains flat",
        "symbol": "OCDO_CFD.UK"
      },
      {
        "reason": "No price movement",
        "symbol": "PAGE_CFD.UK"
      },
      {
        "reason": "No change detected",
        "symbol": "PAG_CFD.UK"
      },
      {
        "reason": "Price stable",
        "symbol": "PZC_CFD.UK"
      },
      {
        "reason": "No movement",
        "symbol": "RHIM_CFD.UK"
      },
      {
        "reason": "Price remains static",
        "symbol": "SAFE_CFD.UK"
      },
      {
        "reason": "No price change",
        "symbol": "SHC_CFD.UK"
      },
      {
        "reason": "Price stable",
        "symbol": "TPK_CFD.UK"
      },
      {
        "reason": "Maintain position for profit potential",
        "symbol": "UKW_CFD.UK"
      },
      {
        "reason": "No price movement",
        "symbol": "WKP_CFD.UK"
      }
    ],
    "sell": [
      {
        "reason": "Marginal unrealized loss with no recovery signs",
        "symbol": "ABDN_CFD.UK"
      }
    ]
  },
  "portfolio_rationale": "Reduce exposure to underperforming assets while maintaining core holdings. Initiate 1 new position based on high mean reversion score and portfolio capacity."
}
Prompts & responses
#1943openrouteramazon/nova-premier-v12026-04-02T11:05:26.887548+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": "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": "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": "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": "SHC_CFD.UK", "name": "SHAFTESBURY CAPITAL PLC", "sector": "", "last_price": 140.4, "change_1d_pct": -2.9045643153526868, "distance_from_ma200_pct": 0.26963533347688085, "distance_from_ma50_pct": -0.771073778544229, "volatility_20d_pct": 63.75522821252001, "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": "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": "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": "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": "FRES_CFD.UK", "name": "FRESNILLO PLC", "sector": "", "last_price": 3494.0, "change_1d_pct": 9.874213836477995, "distance_from_ma200_pct": 32.60847028444005, "distance_from_ma50_pct": -5.295273561947766, "volatility_20d_pct": 123.12648079806692, "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": "HWDN_CFD.UK", "name": "HOWDEN JOINERY GROUP PLC", "sector": "", "last_price": 843.0, "change_1d_pct": -2.686229466563539, "distance_from_ma200_pct": 2.9144756901175572, "distance_from_ma50_pct": 0.6796292983215046, "volatility_20d_pct": 44.16384759940265, "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": 611.0, "change_1d_pct": -7.424242424242422, "distance_from_ma200_pct": 0.4068944205071867, "distance_from_ma50_pct": -6.396619125545266, "volatility_20d_pct": 86.32350801127552, "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": "WIZZ_CFD.UK", "name": "WIZZ AIR HOLDINGS PLC", "sector": "", "last_price": 906.21, "change_1d_pct": 2.165727170236753, "distance_from_ma200_pct": -22.830319651563403, "distance_from_ma50_pct": -21.16928444038726, "volatility_20d_pct": 194.9261168436724, "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": 722.5, "change_1d_pct": -1.0951403148528382, "distance_from_ma200_pct": null, "distance_from_ma50_pct": -1.628407265201648, "volatility_20d_pct": 2239.4661443465884, "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": "AAL_CFD.UK", "name": "ANGLO AMERICAN PLC", "sector": "", "last_price": 3586.0, "change_1d_pct": 0.055803571428580945, "distance_from_ma200_pct": null, "distance_from_ma50_pct": 11.748904636364198, "volatility_20d_pct": 4209.946938281094, "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": "UMI_CFD.BE", "name": "Umicore", "sector": "", "last_price": 16.7, "change_1d_pct": 4.1147132169575995, "distance_from_ma200_pct": 3.49407140099367, "distance_from_ma50_pct": -7.589911695797058, "volatility_20d_pct": 84.62085258767603, "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": "AGFB_CFD.BE", "name": "Agfa-Gevaert", "sector": "", "last_price": 0.49, "change_1d_pct": 4.255319148936176, "distance_from_ma200_pct": -34.941646640200744, "distance_from_ma50_pct": 1.491300745650359, "volatility_20d_pct": 106.27247086566986, "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": "EL_CFD.US", "name": "Estee Lauder Companies Inc", "sector": "", "last_price": 72.69, "change_1d_pct": 6.1167883211678875, "distance_from_ma200_pct": -23.440450699715733, "distance_from_ma50_pct": -26.7152207314565, "volatility_20d_pct": 133.36185414921857, "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": 22.85, "change_1d_pct": 4.10022779043282, "distance_from_ma200_pct": -4.206528209814953, "distance_from_ma50_pct": -9.61620310524709, "volatility_20d_pct": 88.76493092868468, "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": "EGL_CFD.PT", "name": "Mota-Engil SGPS SA", "sector": "", "last_price": 4.72, "change_1d_pct": 7.762557077625565, "distance_from_ma200_pct": -3.2219702530581484, "distance_from_ma50_pct": 0.8090352233603548, "volatility_20d_pct": 99.94399510320801, "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": "IDL_CFD.FR", "name": "", "sector": "", "last_price": 325.0, "change_1d_pct": 2.0408163265306145, "distance_from_ma200_pct": -18.920591076375317, "distance_from_ma50_pct": -13.377134474029429, "volatility_20d_pct": 98.79615587582798, "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": "BPOST_CFD.BE", "name": "Bpost", "sector": "", "last_price": 1.8559999999999999, "change_1d_pct": 0.5417118093174356, "distance_from_ma200_pct": -11.943598356533547, "distance_from_ma50_pct": -9.673149175572815, "volatility_20d_pct": 98.05183037189238, "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": "AAD_CFD.DE", "name": "AMADEUS FIRE AG", "sector": "", "last_price": 23.689, "change_1d_pct": 5.991051454138696, "distance_from_ma200_pct": -52.327747790461856, "distance_from_ma50_pct": -20.72182661409344, "volatility_20d_pct": 72.98703710542877, "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": "SKB_CFD.DE", "name": "Koenig & Bauer AG", "sector": "", "last_price": 8.451, "change_1d_pct": 2.7602140077821025, "distance_from_ma200_pct": -28.569556989254576, "distance_from_ma50_pct": -6.41859270217836, "volatility_20d_pct": 100.05173444339124, "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": "APAM_CFD.NL", "name": "Aperam SA", "sector": "", "last_price": 33.98, "change_1d_pct": 2.5347012673506253, "distance_from_ma200_pct": 13.229433054763806, "distance_from_ma50_pct": -9.772311836237025, "volatility_20d_pct": 107.27141164278213, "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": "WEW_CFD.DE", "name": "Westwing Group AG", "sector": "", "last_price": 14.0, "change_1d_pct": 3.7651941891491125, "distance_from_ma200_pct": 11.846814602720102, "distance_from_ma50_pct": -12.710368013088457, "volatility_20d_pct": 101.88568059283736, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "EZJ_CFD.UK", "name": "EASYJET PLC", "sector": "", "last_price": 362.85, "change_1d_pct": -0.3159340659340648, "distance_from_ma200_pct": -24.167583266752256, "distance_from_ma50_pct": -16.124990753753977, "volatility_20d_pct": 106.20041289549162, "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": "CLARI_CFD.FR", "name": "Clariane SE", "sector": "", "last_price": 3.7119999999999997, "change_1d_pct": 10.279263220439683, "distance_from_ma200_pct": -10.1218270547344, "distance_from_ma50_pct": -2.49693989587767, "volatility_20d_pct": 77.3621836086101, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "PSN_CFD.UK", "name": "PERSIMMON PLC", "sector": "", "last_price": 1094.5, "change_1d_pct": -14.990291262135925, "distance_from_ma200_pct": -12.659800346448124, "distance_from_ma50_pct": -19.09340856328078, "volatility_20d_pct": 125.96745311555702, "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": "SHC_CFD.UK",
      "selection_reason": "Near MA200 and low volatility",
      "mean_reversion_score": 65
    },
    {
      "symbol": "DLN_CFD.UK",
      "selection_reason": "Positive MA50 deviation with controlled volatility",
      "mean_reversion_score": 72
    },
    {
      "symbol": "EGL_CFD.PT",
      "selection_reason": "Close to both MAs with moderate volatility",
      "mean_reversion_score": 58
    },
    {
      "symbol": "WKP_CFD.UK",
      "selection_reason": "Stable near-term technicals",
      "mean_reversion_score": 68
    },
    {
      "symbol": "LIO_CFD.UK",
      "selection_reason": "Neutral technical positioning with low MA deviation",
      "mean_reversion_score": 62
    }
  ],
  "rejected_common_reasons": [
    "Extreme 1d movement >20%",
    "Missing critical technical indicators",
    "High volatility outliers >150%"
  ]
}
#1944openrouteramazon/nova-premier-v12026-04-02T11:05:40.667619+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": 15.527950310559007, "avg_price": 193.2, "last_price": 190.4, "unrealized_pnl": -43.478260869564956, "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": 4.129387474191328, "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": 4.966887417218543, "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": 21.1118930330753, "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": 134.6, "unrealized_pnl": 282.9268292682925, "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": 576.0, "unrealized_pnl": 0.0, "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": "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": 45.14672686230248, "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": "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": 64.97022198159178, "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": 858.5, "unrealized_pnl": -46.444954128440365, "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": "SHC_CFD.UK", "mean_reversion_score": 65, "selection_reason": "Near MA200 and low volatility"}, {"symbol": "DLN_CFD.UK", "mean_reversion_score": 72, "selection_reason": "Positive MA50 deviation with controlled volatility"}, {"symbol": "EGL_CFD.PT", "mean_reversion_score": 58, "selection_reason": "Close to both MAs with moderate volatility"}, {"symbol": "WKP_CFD.UK", "mean_reversion_score": 68, "selection_reason": "Stable near-term technicals"}, {"symbol": "LIO_CFD.UK", "mean_reversion_score": 62, "selection_reason": "Neutral technical positioning with low MA deviation"}], "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": "Strong mean reversion candidate (score 72)",
        "symbol": "DLN_CFD.UK",
        "position_size": 3000
      }
    ],
    "hold": [
      {
        "reason": "Flat performance with no clear trend",
        "symbol": "BBY_CFD.UK"
      },
      {
        "reason": "No price movement detected",
        "symbol": "BYIT_CFD.UK"
      },
      {
        "reason": "No change in price since last trade",
        "symbol": "CBG_CFD.UK"
      },
      {
        "reason": "Price unchanged since entry",
        "symbol": "CRST_CFD.UK"
      },
      {
        "reason": "Small profit but volatile asset",
        "symbol": "DCC_CFD.UK"
      },
      {
        "reason": "No movement detected",
        "symbol": "DLN_CFD.UK"
      },
      {
        "reason": "Price remains static",
        "symbol": "ESNT_CFD.UK"
      },
      {
        "reason": "No price change since last trade",
        "symbol": "FUTR_CFD.UK"
      },
      {
        "reason": "Price stable since purchase",
        "symbol": "HMSO_CFD.UK"
      },
      {
        "reason": "No price movement",
        "symbol": "HWDN_CFD.UK"
      },
      {
        "reason": "Price unchanged",
        "symbol": "JDW_CFD.UK"
      },
      {
        "reason": "Significant unrealized gain - hold for profit realization",
        "symbol": "KEX_CFD.UK"
      },
      {
        "reason": "No price change",
        "symbol": "LRE_CFD.UK"
      },
      {
        "reason": "Price stable",
        "symbol": "MAB_CFD.UK"
      },
      {
        "reason": "No movement detected",
        "symbol": "MSLH_CFD.UK"
      },
      {
        "reason": "Price remains flat",
        "symbol": "OCDO_CFD.UK"
      },
      {
        "reason": "No price movement",
        "symbol": "PAGE_CFD.UK"
      },
      {
        "reason": "No change detected",
        "symbol": "PAG_CFD.UK"
      },
      {
        "reason": "Price stable",
        "symbol": "PZC_CFD.UK"
      },
      {
        "reason": "No movement",
        "symbol": "RHIM_CFD.UK"
      },
      {
        "reason": "Price remains static",
        "symbol": "SAFE_CFD.UK"
      },
      {
        "reason": "No price change",
        "symbol": "SHC_CFD.UK"
      },
      {
        "reason": "Price stable",
        "symbol": "TPK_CFD.UK"
      },
      {
        "reason": "Maintain position for profit potential",
        "symbol": "UKW_CFD.UK"
      },
      {
        "reason": "No price movement",
        "symbol": "WKP_CFD.UK"
      }
    ],
    "sell": [
      {
        "reason": "Marginal unrealized loss with no recovery signs",
        "symbol": "ABDN_CFD.UK"
      }
    ]
  },
  "portfolio_rationale": "Reduce exposure to underperforming assets while maintaining core holdings. Initiate 1 new position based on high mean reversion score and portfolio capacity."
}
Selection logs
#947stage12026-04-02T11:05:40.664510+00:00
{
  "selected_stocks": [
    {
      "symbol": "SHC_CFD.UK",
      "selection_reason": "Near MA200 and low volatility",
      "mean_reversion_score": 65
    },
    {
      "symbol": "DLN_CFD.UK",
      "selection_reason": "Positive MA50 deviation with controlled volatility",
      "mean_reversion_score": 72
    },
    {
      "symbol": "EGL_CFD.PT",
      "selection_reason": "Close to both MAs with moderate volatility",
      "mean_reversion_score": 58
    },
    {
      "symbol": "WKP_CFD.UK",
      "selection_reason": "Stable near-term technicals",
      "mean_reversion_score": 68
    },
    {
      "symbol": "LIO_CFD.UK",
      "selection_reason": "Neutral technical positioning with low MA deviation",
      "mean_reversion_score": 62
    }
  ],
  "rejected_common_reasons": [
    "Extreme 1d movement >20%",
    "Missing critical technical indicators",
    "High volatility outliers >150%"
  ]
}