Arena run #797

meanrev-v1mistralaimistralai/mistral-large-2512EUsuccess
Arena
Run status
as_of: 2026-03-23T10:03:51.599067+00:00
started_at: 2026-03-23T10:22:45.023122+00:00
finished_at: 2026-03-23T10:23:06.994035+00:00
duration_ms: 21968
Inputs
{
  "as_of": "2026-03-23T10:03:51.599067+00:00",
  "dry_run": false,
  "selected": [
    {
      "symbol": "CBG_CFD.UK",
      "selection_reason": "Extreme 1-day drop (-26.6%), far below MA50 (-22.1%) and MA200 (-13.4%), high volatility (169%)",
      "mean_reversion_score": 90
    },
    {
      "symbol": "IWG_CFD.UK",
      "selection_reason": "Large 1-day drop (-24.1%), below MA50 (-17.0%) and MA200 (-11.8%), high volatility (149%)",
      "mean_reversion_score": 85
    },
    {
      "symbol": "OCDO_CFD.UK",
      "selection_reason": "Significant 1-day drop (-21.1%), below MA50 (-5.5%) and MA200 (-15.8%), very high volatility (241%)",
      "mean_reversion_score": 80
    },
    {
      "symbol": "JMAT_CFD.UK",
      "selection_reason": "Large 1-day drop (-15.5%), below MA50 (-10.7%), near MA200 (+2.6%), high volatility (124%)",
      "mean_reversion_score": 75
    },
    {
      "symbol": "STJ_CFD.UK",
      "selection_reason": "Significant 1-day drop (-14.8%), below MA50 (-6.7%), above MA200 (+4.6%), high volatility (126%)",
      "mean_reversion_score": 70
    }
  ],
  "simulate_only": false,
  "strict_replay": false,
  "universe_symbols": [
    "CRST_CFD.UK",
    "MSLH_CFD.UK",
    "LMP_CFD.UK",
    "SPX_CFD.UK",
    "ESNT_CFD.UK",
    "JDW_CFD.UK",
    "UTG_CFD.UK",
    "PAG_CFD.UK",
    "INVP_CFD.UK",
    "BME_CFD.UK",
    "RHIM_CFD.UK",
    "CBG_CFD.UK",
    "ANTO_CFD.UK",
    "IWG_CFD.UK",
    "SYNT_CFD.UK",
    "EMG_CFD.UK",
    "ABDN_CFD.UK",
    "OCDO_CFD.UK",
    "HWDN_CFD.UK",
    "JMAT_CFD.UK",
    "IMI_CFD.UK",
    "FUR_CFD.NL",
    "DCC_CFD.UK",
    "ALTA_CFD.FR",
    "BPOST_CFD.BE",
    "COV_CFD.FR",
    "STJ_CFD.UK",
    "LIO_CFD.UK",
    "OPTU_CFD.US",
    "ADM_CFD.UK",
    "SMIN_CFD.UK",
    "APAM_CFD.NL",
    "XRX_CFD.US",
    "REC_CFD.BE",
    "VSVS_CFD.UK",
    "MKS_CFD.UK",
    "HDD_CFD.DE",
    "CMBT_CFD.BE",
    "LOTB_CFD.BE",
    "III_CFD.UK",
    "NXI_CFD.FR",
    "WHA_CFD.NL",
    "FNTN_CFD.DE",
    "ONTEX_CFD.BE",
    "UTDI_CFD.DE",
    "AAL_CFD.UK",
    "SHUR_CFD.BE",
    "KGF_CFD.UK",
    "SSE_CFD.UK",
    "ELI_CFD.BE"
  ]
}
Outputs
{
  "actions": {
    "buy": [
      {
        "reason": "Large 1-day drop (-15.5%), below MA50 (-10.7%), near MA200 (+2.6%), high volatility (124%) suggests potential mean-reversion.",
        "symbol": "JMAT_CFD.UK",
        "position_size": 3000
      },
      {
        "reason": "Significant 1-day drop (-14.8%), below MA50 (-6.7%), above MA200 (+4.6%), high volatility (126%) suggests potential mean-reversion.",
        "symbol": "STJ_CFD.UK",
        "position_size": 3000
      }
    ],
    "hold": [
      {
        "reason": "No significant mean-reversion signal or price improvement; holding to avoid overtrading.",
        "symbol": "BYIT_CFD.UK"
      },
      {
        "reason": "Already held; no new extreme deviation detected to justify selling.",
        "symbol": "CBG_CFD.UK"
      },
      {
        "reason": "No significant mean-reversion signal or price improvement; holding to avoid overtrading.",
        "symbol": "CRST_CFD.UK"
      },
      {
        "reason": "No significant mean-reversion signal or price improvement; holding to avoid overtrading.",
        "symbol": "ESNT_CFD.UK"
      },
      {
        "reason": "Positive unrealized PnL; no mean-reversion signal to justify selling.",
        "symbol": "EXPD_CFD.US"
      },
      {
        "reason": "Positive unrealized PnL; no mean-reversion signal to justify selling.",
        "symbol": "FUTR_CFD.UK"
      },
      {
        "reason": "No significant mean-reversion signal or price improvement; holding to avoid overtrading.",
        "symbol": "ICG_CFD.UK"
      },
      {
        "reason": "No significant mean-reversion signal or price improvement; holding to avoid overtrading.",
        "symbol": "INF_CFD.UK"
      },
      {
        "reason": "Already held; no new extreme deviation detected to justify selling.",
        "symbol": "IWG_CFD.UK"
      },
      {
        "reason": "No significant mean-reversion signal or price improvement; holding to avoid overtrading.",
        "symbol": "JDW_CFD.UK"
      },
      {
        "reason": "No significant mean-reversion signal or price improvement; holding to avoid overtrading.",
        "symbol": "MSLH_CFD.UK"
      },
      {
        "reason": "Already held; no new extreme deviation detected to justify selling.",
        "symbol": "OCDO_CFD.UK"
      },
      {
        "reason": "No significant mean-reversion signal or price improvement; holding to avoid overtrading.",
        "symbol": "PAG_CFD.UK"
      },
      {
        "reason": "No significant mean-reversion signal or price improvement; holding to avoid overtrading.",
        "symbol": "PSN_CFD.UK"
      },
      {
        "reason": "No significant mean-reversion signal or price improvement; holding to avoid overtrading.",
        "symbol": "TPK_CFD.UK"
      },
      {
        "reason": "Positive unrealized PnL; no mean-reversion signal to justify selling.",
        "symbol": "UKW_CFD.UK"
      }
    ],
    "sell": []
  },
  "portfolio_rationale": "Portfolio adjustments are minimal to avoid overtrading. Two new positions (JMAT_CFD.UK, STJ_CFD.UK) are initiated based on strong mean-reversion signals (large 1-day drops, high volatility, and deviations from moving averages). Existing positions are held due to lack of extreme deviations or positive PnL, aligning with the strategy's overtrading constraints."
}
Prompts & responses
#1568openroutermistralai/mistral-large-25122026-03-23T10:22:45.066341+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": "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": "LMP_CFD.UK", "name": "LONDONMETRIC PROPERTY PLC", "sector": "", "last_price": 214.0, "change_1d_pct": 11.57455683003128, "distance_from_ma200_pct": 12.507879494597773, "distance_from_ma50_pct": 10.77384329331672, "volatility_20d_pct": 54.89150861607771, "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": "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": "UTG_CFD.UK", "name": "UNITE GROUP PLC/THE", "sector": "", "last_price": 567.5, "change_1d_pct": 3.4639927073837784, "distance_from_ma200_pct": -23.929923575376698, "distance_from_ma50_pct": -3.6875042216270137, "volatility_20d_pct": 73.84223442053181, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "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": "INVP_CFD.UK", "name": "INVESTEC PLC", "sector": "", "last_price": 623.5, "change_1d_pct": 8.529155787641418, "distance_from_ma200_pct": 17.34715626999408, "distance_from_ma50_pct": 9.569618971869698, "volatility_20d_pct": 76.97154585310399, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "BME_CFD.UK", "name": "B&M EUROPEAN VALUE RETAIL SA", "sector": "", "last_price": 175.0, "change_1d_pct": -2.7237354085603127, "distance_from_ma200_pct": -19.458633148571437, "distance_from_ma50_pct": 0.9348295527952688, "volatility_20d_pct": 108.97608622337773, "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": "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": "ANTO_CFD.UK", "name": "ANTOFAGASTA PLC", "sector": "", "last_price": 3259.0, "change_1d_pct": -9.321090706733449, "distance_from_ma200_pct": 18.26423019611667, "distance_from_ma50_pct": -12.880389774045042, "volatility_20d_pct": 131.0149196933384, "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": 189.6, "change_1d_pct": -24.09927942353883, "distance_from_ma200_pct": -11.798015594910993, "distance_from_ma50_pct": -17.03351041019402, "volatility_20d_pct": 148.96998448946707, "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": "SYNT_CFD.UK", "name": "SYNTHOMER PLC", "sector": "", "last_price": 29.05, "change_1d_pct": 54.850746268656714, "distance_from_ma200_pct": -60.840559744095415, "distance_from_ma50_pct": -40.45886640240379, "volatility_20d_pct": 547.5939414040645, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "EMG_CFD.UK", "name": "MAN GROUP PLC/JERSEY", "sector": "", "last_price": 269.6, "change_1d_pct": 2.353834472285521, "distance_from_ma200_pct": 42.186331073171914, "distance_from_ma50_pct": 15.516783354614262, "volatility_20d_pct": 86.92367167139048, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "ABDN_CFD.UK", "name": "Aberdeen Group Plc", "sector": "", "last_price": 215.2, "change_1d_pct": -0.6463527239150557, "distance_from_ma200_pct": 13.219747060140353, "distance_from_ma50_pct": 3.663782514155023, "volatility_20d_pct": 74.75396598460024, "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": "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": "JMAT_CFD.UK", "name": "JOHNSON MATTHEY PLC", "sector": "", "last_price": 1921.0, "change_1d_pct": -15.523306948109061, "distance_from_ma200_pct": 2.5989307920274207, "distance_from_ma50_pct": -10.67077367201248, "volatility_20d_pct": 123.66479524785584, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "IMI_CFD.UK", "name": "IMI PLC", "sector": "", "last_price": 2676.0, "change_1d_pct": 1.5945330296127658, "distance_from_ma200_pct": 20.655603593859716, "distance_from_ma50_pct": 2.743599661176499, "volatility_20d_pct": 90.40898907393799, "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": "FUR_CFD.NL", "name": "Fugro", "sector": "", "last_price": 9.99, "change_1d_pct": -3.4782608695652084, "distance_from_ma200_pct": -13.243670652478812, "distance_from_ma50_pct": -6.214443163511685, "volatility_20d_pct": 88.00731385157378, "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": "DCC_CFD.UK", "name": "DCC PLC", "sector": "", "last_price": 4738.0, "change_1d_pct": 4.131868131868122, "distance_from_ma200_pct": -1.2358165497191043, "distance_from_ma50_pct": -1.6950365081147445, "volatility_20d_pct": 101.79870451788292, "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": "ALTA_CFD.FR", "name": "Altarea", "sector": "", "last_price": 112.4, "change_1d_pct": -4.58404074702885, "distance_from_ma200_pct": 4.9505471901171605, "distance_from_ma50_pct": -4.548290921863085, "volatility_20d_pct": 75.0741387586217, "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.792, "change_1d_pct": -2.0765027322404372, "distance_from_ma200_pct": -15.503185133841635, "distance_from_ma50_pct": -14.773808164973556, "volatility_20d_pct": 88.14495265266997, "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": "COV_CFD.FR", "name": "Covivio SA", "sector": "", "last_price": 54.021, "change_1d_pct": -3.705882352941181, "distance_from_ma200_pct": -2.6605065109671977, "distance_from_ma50_pct": -3.181821603352475, "volatility_20d_pct": 55.880099277383636, "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": "LIO_CFD.UK", "name": "LIONTRUST ASSET MANAGEMENT", "sector": "", "last_price": 270.0, "change_1d_pct": 7.784431137724557, "distance_from_ma200_pct": -17.148878096081223, "distance_from_ma50_pct": 4.440258238208905, "volatility_20d_pct": 138.52252179896075, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "OPTU_CFD.US", "name": "Optimum Communications Inc.", "sector": "", "last_price": 1.3, "change_1d_pct": -9.090909090909083, "distance_from_ma200_pct": -36.95288440553844, "distance_from_ma50_pct": -18.709354677338663, "volatility_20d_pct": 127.6568567850477, "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": "ADM_CFD.UK", "name": "ADMIRAL GROUP PLC", "sector": "", "last_price": 3260.0, "change_1d_pct": 13.906359189378058, "distance_from_ma200_pct": 0.982877810981142, "distance_from_ma50_pct": 10.999045203918524, "volatility_20d_pct": 81.6824895770128, "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": "SMIN_CFD.UK", "name": "SMITHS GROUP PLC", "sector": "", "last_price": 2544.0, "change_1d_pct": 1.4333845019038671, "distance_from_ma200_pct": 14.948150770494873, "distance_from_ma50_pct": 4.167383226889343, "volatility_20d_pct": 72.718462979927, "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.22, "change_1d_pct": -5.839002267573701, "distance_from_ma200_pct": 11.220385940096001, "distance_from_ma50_pct": -10.738612455644725, "volatility_20d_pct": 98.79392095847959, "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": "XRX_CFD.US", "name": "Xerox Corp", "sector": "", "last_price": 1.41, "change_1d_pct": -7.843137254901967, "distance_from_ma200_pct": -58.53185106758426, "distance_from_ma50_pct": -30.2739590544951, "volatility_20d_pct": 131.04334057422258, "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": "REC_CFD.BE", "name": "Recticel SA", "sector": "", "last_price": 8.75, "change_1d_pct": -7.407407407407396, "distance_from_ma200_pct": -10.30640868397975, "distance_from_ma50_pct": -14.48397185301017, "volatility_20d_pct": 79.41482349411139, "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": "VSVS_CFD.UK", "name": "VESUVIUS PLC", "sector": "", "last_price": 394.2, "change_1d_pct": -13.817227809357234, "distance_from_ma200_pct": 0.3255617926055221, "distance_from_ma50_pct": -12.75170756107602, "volatility_20d_pct": 119.59992452619474, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "MKS_CFD.UK", "name": "MARKS & SPENCER GROUP PLC", "sector": "", "last_price": 360.7, "change_1d_pct": -2.592492573588989, "distance_from_ma200_pct": 0.16685682262786994, "distance_from_ma50_pct": 1.2088381382512114, "volatility_20d_pct": 111.18292243780117, "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": "HDD_CFD.DE", "name": "Heidelberger Druckmaschinen AG", "sector": "", "last_price": 1.4020000000000001, "change_1d_pct": 4.470938897168408, "distance_from_ma200_pct": -23.469318129092297, "distance_from_ma50_pct": -12.59787541768489, "volatility_20d_pct": 90.25830766182494, "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": "CMBT_CFD.BE", "name": "Euronav", "sector": "", "last_price": 10.72, "change_1d_pct": 2.0952380952381056, "distance_from_ma200_pct": 21.039813291571583, "distance_from_ma50_pct": -1.7755534745981572, "volatility_20d_pct": 85.15590360214311, "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": "LOTB_CFD.BE", "name": "Lotus Bakeries NV", "sector": "", "last_price": 9740.0, "change_1d_pct": -4.8828125, "distance_from_ma200_pct": 13.007683836217021, "distance_from_ma50_pct": 0.5497050309365648, "volatility_20d_pct": 59.64920666059652, "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": "III_CFD.UK", "name": "3I GROUP PLC", "sector": "", "last_price": 2740.0, "change_1d_pct": -7.118644067796609, "distance_from_ma200_pct": -26.416581513106042, "distance_from_ma50_pct": -14.205507618143876, "volatility_20d_pct": 114.49622440194238, "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": "NXI_CFD.FR", "name": "Nexity SA", "sector": "", "last_price": 7.86, "change_1d_pct": -4.379562043795627, "distance_from_ma200_pct": -16.263877451225838, "distance_from_ma50_pct": -9.42321254891838, "volatility_20d_pct": 91.82911896505973, "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": "WHA_CFD.NL", "name": "Wereldhave", "sector": "", "last_price": 21.2, "change_1d_pct": -1.85185185185186, "distance_from_ma200_pct": 16.723119546497635, "distance_from_ma50_pct": 1.2551821638041583, "volatility_20d_pct": 57.72084549191143, "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": "FNTN_CFD.DE", "name": "FREENET AG", "sector": "", "last_price": 25.52, "change_1d_pct": -6.99708454810496, "distance_from_ma200_pct": -9.672845452256063, "distance_from_ma50_pct": -13.46788308941358, "volatility_20d_pct": 84.65989791678379, "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": "ONTEX_CFD.BE", "name": "Ontex Group NV", "sector": "", "last_price": 4.26, "change_1d_pct": 3.147699757869238, "distance_from_ma200_pct": -27.949260042283296, "distance_from_ma50_pct": -10.489157841654063, "volatility_20d_pct": 74.5493332175651, "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": "UTDI_CFD.DE", "name": "", "sector": "", "last_price": 27.36, "change_1d_pct": 4.427480916030535, "distance_from_ma200_pct": 3.7512366912304973, "distance_from_ma50_pct": -0.043694349984435554, "volatility_20d_pct": 111.32133694601802, "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": 2900.0, "change_1d_pct": -7.4074074074074066, "distance_from_ma200_pct": 4.752248290280758, "distance_from_ma50_pct": -14.758005325567103, "volatility_20d_pct": 97.09288799946901, "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": "SHUR_CFD.BE", "name": "", "sector": "", "last_price": 25.95, "change_1d_pct": -6.486486486486487, "distance_from_ma200_pct": -22.326365753919152, "distance_from_ma50_pct": -14.43251445744279, "volatility_20d_pct": 105.91501537481747, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "KGF_CFD.UK", "name": "KINGFISHER PLC", "sector": "", "last_price": 309.6, "change_1d_pct": -14.143094841930115, "distance_from_ma200_pct": 5.598205649094723, "distance_from_ma50_pct": -4.786156349988369, "volatility_20d_pct": 104.60870893174696, "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": "SSE_CFD.UK", "name": "SSE PLC", "sector": "", "last_price": 2684.0, "change_1d_pct": 0.18663680477790656, "distance_from_ma200_pct": 31.063227728388853, "distance_from_ma50_pct": 6.809869359272902, "volatility_20d_pct": 73.61489335463473, "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": "ELI_CFD.BE", "name": "Elia Group SA/NV", "sector": "", "last_price": 128.5, "change_1d_pct": -5.02586844050259, "distance_from_ma200_pct": 28.10807895405585, "distance_from_ma50_pct": 3.9977377861738495, "volatility_20d_pct": 65.94863383745387, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}], "output_schema": {"selected_stocks": [{"symbol": "string", "mean_reversion_score": "integer 0-100", "selection_reason": "short, concrete, indicator-based"}], "rejected_common_reasons": ["string"]}}
Output JSON
{
  "selected_stocks": [
    {
      "symbol": "CBG_CFD.UK",
      "selection_reason": "Extreme 1-day drop (-26.6%), far below MA50 (-22.1%) and MA200 (-13.4%), high volatility (169%)",
      "mean_reversion_score": 90
    },
    {
      "symbol": "IWG_CFD.UK",
      "selection_reason": "Large 1-day drop (-24.1%), below MA50 (-17.0%) and MA200 (-11.8%), high volatility (149%)",
      "mean_reversion_score": 85
    },
    {
      "symbol": "OCDO_CFD.UK",
      "selection_reason": "Significant 1-day drop (-21.1%), below MA50 (-5.5%) and MA200 (-15.8%), very high volatility (241%)",
      "mean_reversion_score": 80
    },
    {
      "symbol": "JMAT_CFD.UK",
      "selection_reason": "Large 1-day drop (-15.5%), below MA50 (-10.7%), near MA200 (+2.6%), high volatility (124%)",
      "mean_reversion_score": 75
    },
    {
      "symbol": "STJ_CFD.UK",
      "selection_reason": "Significant 1-day drop (-14.8%), below MA50 (-6.7%), above MA200 (+4.6%), high volatility (126%)",
      "mean_reversion_score": 70
    }
  ],
  "rejected_common_reasons": [
    "Earnings date unknown (cannot confirm avoidance of earnings within 5 days)",
    "Sector concentration (unknown sectors, assumed diverse)",
    "Extreme volatility with unclear mean-reversion potential (e.g., SYNT_CFD.UK)",
    "Insufficient deviation from moving averages for mean-reversion signal"
  ]
}
#1569openroutermistralai/mistral-large-25122026-03-23T10:22:55.093108+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": "AAL_CFD.UK", "qty": 0.0, "avg_price": 2913.0, "last_price": 2900.0, "unrealized_pnl": 0.0, "opened_at": "2026-03-19T10:09:24.325041+00:00"}, {"symbol": "ACM_CFD.US", "qty": 0.0, "avg_price": 88.42, "last_price": 97.88, "unrealized_pnl": 0.0, "opened_at": "2026-02-15T10:57:15.913854+00:00"}, {"symbol": "ADS_CFD.DE", "qty": 0.0, "avg_price": 137.15, "last_price": 138.55, "unrealized_pnl": 0.0, "opened_at": "2026-03-04T10:26:53.527562+00:00"}, {"symbol": "AIR_CFD.DE", "qty": 0.0, "avg_price": 200.984, "last_price": 187.12, "unrealized_pnl": 0.0, "opened_at": "2026-02-19T09:33:49.074031+00:00"}, {"symbol": "AMCX_CFD.US", "qty": 0.0, "avg_price": 7.5, "last_price": 7.365, "unrealized_pnl": -53.999999999999915, "opened_at": "2026-02-24T18:14:37.115518+00:00"}, {"symbol": "AMH_CFD.US", "qty": 0.0, "avg_price": 29.595, "last_price": 29.485, "unrealized_pnl": 0.0, "opened_at": "2026-02-20T17:33:34.647633+00:00"}, {"symbol": "ATG_CFD.UK", "qty": 0.0, "avg_price": 296.0, "last_price": 296.0, "unrealized_pnl": 0.0, "opened_at": "2026-03-04T18:49:26.891792+00:00"}, {"symbol": "ATO_CFD.FR", "qty": 0.0, "avg_price": 35.106, "last_price": 38.024, "unrealized_pnl": 0.0, "opened_at": "2026-02-25T10:57:06.928276+00:00"}, {"symbol": "AUTO_CFD.UK", "qty": 0.0, "avg_price": 482.8, "last_price": 482.8, "unrealized_pnl": 0.0, "opened_at": "2026-03-19T18:04:14.272849+00:00"}, {"symbol": "BIG_CFD.FR", "qty": 0.0, "avg_price": 0.453, "last_price": 0.453, "unrealized_pnl": 0.0, "opened_at": "2026-02-28T10:51:05.818250+00:00"}, {"symbol": "BLND_CFD.UK", "qty": 0.0, "avg_price": 364.2, "last_price": 364.2, "unrealized_pnl": 0.0, "opened_at": "2026-03-09T18:18:45.954380+00:00"}, {"symbol": "BRBY_CFD.UK", "qty": 0.0, "avg_price": 1070.84, "last_price": 1070.84, "unrealized_pnl": 0.0, "opened_at": "2026-03-09T10:19:46.508085+00:00"}, {"symbol": "BYIT_CFD.UK", "qty": 10.252904989747094, "avg_price": 292.6, "last_price": 292.6, "unrealized_pnl": 0.0, "opened_at": "2026-02-15T10:57:15.913854+00:00"}, {"symbol": "CBG_CFD.UK", "qty": 34.99358450950659, "avg_price": 342.92, "last_price": 342.92, "unrealized_pnl": 0.0, "opened_at": "2026-03-04T10:26:53.527562+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-18T17:58:33.497657+00:00"}, {"symbol": "CRWD_CFD.US", "qty": 0.0, "avg_price": 350.24, "last_price": 350.055, "unrealized_pnl": -1.5846276838739344, "opened_at": "2026-02-23T18:14:12.978497+00:00"}, {"symbol": "DLTR_CFD.US", "qty": 0.0, "avg_price": 112.12, "last_price": 107.655, "unrealized_pnl": 0.0, "opened_at": "2026-03-17T18:12:35.221859+00:00"}, {"symbol": "DOM_CFD.UK", "qty": 0.0, "avg_price": 199.3, "last_price": 189.21, "unrealized_pnl": 0.0, "opened_at": "2026-02-19T09:33:49.074031+00:00"}, {"symbol": "DSY_CFD.FR", "qty": 0.0, "avg_price": 17.881, "last_price": 16.752, "unrealized_pnl": 0.0, "opened_at": "2026-02-16T09:30:55.514112+00:00"}, {"symbol": "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": 54.045, "unrealized_pnl": 0.0, "opened_at": "2026-02-21T17:32:49.140800+00:00"}, {"symbol": "EVT_CFD.DE", "qty": 0.0, "avg_price": 4.502, "last_price": 4.353, "unrealized_pnl": 0.0, "opened_at": "2026-03-11T10:11:17.665074+00:00"}, {"symbol": "EXM_CFD.BE", "qty": 0.0, "avg_price": 10.0, "last_price": 9.933, "unrealized_pnl": 0.0, "opened_at": "2026-02-21T09:33:26.900894+00:00"}, {"symbol": "EXPD_CFD.US", "qty": 22.01269398686576, "avg_price": 136.285, "last_price": 146.315, "unrealized_pnl": 220.7873206882636, "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-20T17:33:34.647633+00:00"}, {"symbol": "FRVIA_CFD.FR", "qty": 0.0, "avg_price": 12.709, "last_price": 12.6, "unrealized_pnl": 0.0, "opened_at": "2026-02-26T10:33:24.101894+00:00"}, {"symbol": "FUTR_CFD.UK", "qty": 7.488766849725412, "avg_price": 400.6, "last_price": 414.2, "unrealized_pnl": 101.84722915626534, "opened_at": "2026-02-18T09:36:37.284518+00:00"}, {"symbol": "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": "GRI_CFD.UK", "qty": 0.0, "avg_price": 189.6, "last_price": 189.6, "unrealized_pnl": 0.0, "opened_at": "2026-02-21T09:33:26.900894+00:00"}, {"symbol": "HIK_CFD.UK", "qty": 0.0, "avg_price": 1409.0, "last_price": 1408.0, "unrealized_pnl": 0.0, "opened_at": "2026-02-26T10:33:24.101894+00:00"}, {"symbol": "ICG_CFD.UK", "qty": 1.772002362669817, "avg_price": 1693.0, "last_price": 1693.0, "unrealized_pnl": 0.0, "opened_at": "2026-03-15T18:15:23.812047+00:00"}, {"symbol": "INF_CFD.UK", "qty": 4.0474905558553695, "avg_price": 741.2, "last_price": 741.2, "unrealized_pnl": 0.0, "opened_at": "2026-03-21T10:00:02.317290+00:00"}, {"symbol": "ITRK_CFD.UK", "qty": 0.0, "avg_price": 3942.0, "last_price": 3760.0, "unrealized_pnl": 0.0, "opened_at": "2026-03-13T10:07:39.444598+00:00"}, {"symbol": "IWG_CFD.UK", "qty": 16.949152542372882, "avg_price": 177.0, "last_price": 177.0, "unrealized_pnl": 0.0, "opened_at": "2026-03-16T18:18:58.833148+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": "JEF_CFD.US", "qty": 0.0, "avg_price": 47.46, "last_price": 44.27, "unrealized_pnl": 0.0, "opened_at": "2026-02-26T18:07:22.382508+00:00"}, {"symbol": "JMAT_CFD.UK", "qty": 0.0, "avg_price": 1976.9999999999998, "last_price": 1964.0, "unrealized_pnl": 0.0, "opened_at": "2026-03-03T10:20:03.276878+00:00"}, {"symbol": "LIO_CFD.UK", "qty": 0.0, "avg_price": 250.0, "last_price": 257.5, "unrealized_pnl": 0.0, "opened_at": "2026-02-20T09:33:44.817899+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-21T17:59:11.913241+00:00"}, {"symbol": "NA9_CFD.DE", "qty": 0.0, "avg_price": 48.578, "last_price": 53.3, "unrealized_pnl": 0.0, "opened_at": "2026-02-25T10:57:06.928276+00:00"}, {"symbol": "OCDO_CFD.UK", "qty": 29.36857562408223, "avg_price": 204.3, "last_price": 204.3, "unrealized_pnl": 0.0, "opened_at": "2026-02-16T17:30:52.485845+00:00"}, {"symbol": "OKTA_CFD.US", "qty": 0.0, "avg_price": 70.18, "last_price": 79.26, "unrealized_pnl": 0.0, "opened_at": "2026-02-23T18:14:12.978497+00:00"}, {"symbol": "PAGE_CFD.UK", "qty": 0.0, "avg_price": 151.91, "last_price": 151.91, "unrealized_pnl": 0.0, "opened_at": "2026-03-06T10:33:43.857578+00:00"}, {"symbol": "PAG_CFD.UK", "qty": 3.9190071848465053, "avg_price": 765.5, "last_price": 765.5, "unrealized_pnl": 0.0, "opened_at": "2026-03-22T18:18:31.438015+00:00"}, {"symbol": "PSN_CFD.UK", "qty": 2.6954177897574123, "avg_price": 1113.0, "last_price": 1113.0, "unrealized_pnl": 0.0, "opened_at": "2026-03-21T10:00:02.317290+00:00"}, {"symbol": "RMV_CFD.UK", "qty": 0.0, "avg_price": 424.3, "last_price": 424.3, "unrealized_pnl": 0.0, "opened_at": "2026-02-19T00:47:27.070066+00:00"}, {"symbol": "SOI_CFD.FR", "qty": 0.0, "avg_price": 57.5, "last_price": 54.96, "unrealized_pnl": 0.0, "opened_at": "2026-03-19T10:09:24.325041+00:00"}, {"symbol": "STJ_CFD.UK", "qty": 0.0, "avg_price": 1300.0, "last_price": 1280.0, "unrealized_pnl": 0.0, "opened_at": "2026-03-15T10:35:48.762746+00:00"}, {"symbol": "SYNT_CFD.UK", "qty": 0.0, "avg_price": 18.4, "last_price": 18.34, "unrealized_pnl": 0.0, "opened_at": "2026-03-04T18:49:26.891792+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-22T18:18:31.438015+00:00"}, {"symbol": "TRN_CFD.UK", "qty": 0.0, "avg_price": 184.50000000000003, "last_price": 211.4, "unrealized_pnl": 0.0, "opened_at": "2026-02-16T09:30:55.514112+00:00"}, {"symbol": "TRST_CFD.UK", "qty": 0.0, "avg_price": 151.8, "last_price": 224.82, "unrealized_pnl": 0.0, "opened_at": "2026-02-16T17:30:52.485845+00:00"}, {"symbol": "TUI1_CFD.DE", "qty": 0.0, "avg_price": 7.398000000000001, "last_price": 6.95, "unrealized_pnl": -181.67072181670738, "opened_at": "2026-03-02T10:31:26.559356+00:00"}, {"symbol": "UKW_CFD.UK", "qty": 32.48511099079589, "avg_price": 92.35, "last_price": 101.7, "unrealized_pnl": 303.73578776394186, "opened_at": "2026-02-20T09:33:44.817899+00:00"}, {"symbol": "ULTA_CFD.US", "qty": 0.0, "avg_price": 535.2, "last_price": 523.22, "unrealized_pnl": 0.0, "opened_at": "2026-03-15T18:15:23.812047+00:00"}, {"symbol": "VSVS_CFD.UK", "qty": 0.0, "avg_price": 425.0, "last_price": 421.0, "unrealized_pnl": 0.0, "opened_at": "2026-03-16T18:18:58.833148+00:00"}, {"symbol": "VTY_CFD.UK", "qty": 0.0, "avg_price": 385.0, "last_price": 385.0, "unrealized_pnl": 0.0, "opened_at": "2026-03-11T10:11:17.665074+00:00"}, {"symbol": "WEIR_CFD.UK", "qty": 0.0, "avg_price": 2890.0, "last_price": 2842.0, "unrealized_pnl": 0.0, "opened_at": "2026-03-14T10:03:26.036362+00:00"}, {"symbol": "WIX_CFD.UK", "qty": 0.0, "avg_price": 224.5, "last_price": 222.5, "unrealized_pnl": 0.0, "opened_at": "2026-03-09T10:19:46.508085+00:00"}, {"symbol": "WIZZ_CFD.UK", "qty": 0.0, "avg_price": 1087.0, "last_price": 1064.0, "unrealized_pnl": 0.0, "opened_at": "2026-03-03T10:20:03.276878+00:00"}, {"symbol": "WKP_CFD.UK", "qty": 0.0, "avg_price": 412.5, "last_price": 412.5, "unrealized_pnl": 0.0, "opened_at": "2026-02-22T09:32:59.506254+00:00"}, {"symbol": "WPP_CFD.UK", "qty": 0.0, "avg_price": 263.4, "last_price": 257.0, "unrealized_pnl": -72.89293849658289, "opened_at": "2026-02-18T09:36:37.284518+00:00"}, {"symbol": "ZS_CFD.US", "qty": 0.0, "avg_price": 159.76, "last_price": 144.45, "unrealized_pnl": 0.0, "opened_at": "2026-02-21T17:32:49.140800+00:00"}], "candidates": [{"symbol": "CBG_CFD.UK", "mean_reversion_score": 90, "selection_reason": "Extreme 1-day drop (-26.6%), far below MA50 (-22.1%) and MA200 (-13.4%), high volatility (169%)"}, {"symbol": "IWG_CFD.UK", "mean_reversion_score": 85, "selection_reason": "Large 1-day drop (-24.1%), below MA50 (-17.0%) and MA200 (-11.8%), high volatility (149%)"}, {"symbol": "OCDO_CFD.UK", "mean_reversion_score": 80, "selection_reason": "Significant 1-day drop (-21.1%), below MA50 (-5.5%) and MA200 (-15.8%), very high volatility (241%)"}, {"symbol": "JMAT_CFD.UK", "mean_reversion_score": 75, "selection_reason": "Large 1-day drop (-15.5%), below MA50 (-10.7%), near MA200 (+2.6%), high volatility (124%)"}, {"symbol": "STJ_CFD.UK", "mean_reversion_score": 70, "selection_reason": "Significant 1-day drop (-14.8%), below MA50 (-6.7%), above MA200 (+4.6%), high volatility (126%)"}], "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": "Large 1-day drop (-15.5%), below MA50 (-10.7%), near MA200 (+2.6%), high volatility (124%) suggests potential mean-reversion.",
        "symbol": "JMAT_CFD.UK",
        "position_size": 3000
      },
      {
        "reason": "Significant 1-day drop (-14.8%), below MA50 (-6.7%), above MA200 (+4.6%), high volatility (126%) suggests potential mean-reversion.",
        "symbol": "STJ_CFD.UK",
        "position_size": 3000
      }
    ],
    "hold": [
      {
        "reason": "No significant mean-reversion signal or price improvement; holding to avoid overtrading.",
        "symbol": "BYIT_CFD.UK"
      },
      {
        "reason": "Already held; no new extreme deviation detected to justify selling.",
        "symbol": "CBG_CFD.UK"
      },
      {
        "reason": "No significant mean-reversion signal or price improvement; holding to avoid overtrading.",
        "symbol": "CRST_CFD.UK"
      },
      {
        "reason": "No significant mean-reversion signal or price improvement; holding to avoid overtrading.",
        "symbol": "ESNT_CFD.UK"
      },
      {
        "reason": "Positive unrealized PnL; no mean-reversion signal to justify selling.",
        "symbol": "EXPD_CFD.US"
      },
      {
        "reason": "Positive unrealized PnL; no mean-reversion signal to justify selling.",
        "symbol": "FUTR_CFD.UK"
      },
      {
        "reason": "No significant mean-reversion signal or price improvement; holding to avoid overtrading.",
        "symbol": "ICG_CFD.UK"
      },
      {
        "reason": "No significant mean-reversion signal or price improvement; holding to avoid overtrading.",
        "symbol": "INF_CFD.UK"
      },
      {
        "reason": "Already held; no new extreme deviation detected to justify selling.",
        "symbol": "IWG_CFD.UK"
      },
      {
        "reason": "No significant mean-reversion signal or price improvement; holding to avoid overtrading.",
        "symbol": "JDW_CFD.UK"
      },
      {
        "reason": "No significant mean-reversion signal or price improvement; holding to avoid overtrading.",
        "symbol": "MSLH_CFD.UK"
      },
      {
        "reason": "Already held; no new extreme deviation detected to justify selling.",
        "symbol": "OCDO_CFD.UK"
      },
      {
        "reason": "No significant mean-reversion signal or price improvement; holding to avoid overtrading.",
        "symbol": "PAG_CFD.UK"
      },
      {
        "reason": "No significant mean-reversion signal or price improvement; holding to avoid overtrading.",
        "symbol": "PSN_CFD.UK"
      },
      {
        "reason": "No significant mean-reversion signal or price improvement; holding to avoid overtrading.",
        "symbol": "TPK_CFD.UK"
      },
      {
        "reason": "Positive unrealized PnL; no mean-reversion signal to justify selling.",
        "symbol": "UKW_CFD.UK"
      }
    ],
    "sell": []
  },
  "portfolio_rationale": "Portfolio adjustments are minimal to avoid overtrading. Two new positions (JMAT_CFD.UK, STJ_CFD.UK) are initiated based on strong mean-reversion signals (large 1-day drops, high volatility, and deviations from moving averages). Existing positions are held due to lack of extreme deviations or positive PnL, aligning with the strategy's overtrading constraints."
}
Selection logs
#776stage12026-03-23T10:22:55.088140+00:00
{
  "selected_stocks": [
    {
      "symbol": "CBG_CFD.UK",
      "selection_reason": "Extreme 1-day drop (-26.6%), far below MA50 (-22.1%) and MA200 (-13.4%), high volatility (169%)",
      "mean_reversion_score": 90
    },
    {
      "symbol": "IWG_CFD.UK",
      "selection_reason": "Large 1-day drop (-24.1%), below MA50 (-17.0%) and MA200 (-11.8%), high volatility (149%)",
      "mean_reversion_score": 85
    },
    {
      "symbol": "OCDO_CFD.UK",
      "selection_reason": "Significant 1-day drop (-21.1%), below MA50 (-5.5%) and MA200 (-15.8%), very high volatility (241%)",
      "mean_reversion_score": 80
    },
    {
      "symbol": "JMAT_CFD.UK",
      "selection_reason": "Large 1-day drop (-15.5%), below MA50 (-10.7%), near MA200 (+2.6%), high volatility (124%)",
      "mean_reversion_score": 75
    },
    {
      "symbol": "STJ_CFD.UK",
      "selection_reason": "Significant 1-day drop (-14.8%), below MA50 (-6.7%), above MA200 (+4.6%), high volatility (126%)",
      "mean_reversion_score": 70
    }
  ],
  "rejected_common_reasons": [
    "Earnings date unknown (cannot confirm avoidance of earnings within 5 days)",
    "Sector concentration (unknown sectors, assumed diverse)",
    "Extreme volatility with unclear mean-reversion potential (e.g., SYNT_CFD.UK)",
    "Insufficient deviation from moving averages for mean-reversion signal"
  ]
}