Arena run #703

meanrev-v1deepseekdeepseek/deepseek-chatEUsuccess
Arena
Run status
as_of: 2026-03-18T10:06:24.210601+00:00
started_at: 2026-03-18T11:03:47.812171+00:00
finished_at: 2026-03-18T11:04:29.896094+00:00
duration_ms: 42082
Inputs
{
  "as_of": "2026-03-18T10:06:24.210601+00:00",
  "dry_run": false,
  "selected": [
    {
      "symbol": "WTB_CFD.UK",
      "selection_reason": "High volatility and significant deviation from MA200",
      "mean_reversion_score": 85
    },
    {
      "symbol": "ESNT_CFD.UK",
      "selection_reason": "Positive deviation from MA50 and MA200",
      "mean_reversion_score": 78
    },
    {
      "symbol": "SAFE_CFD.UK",
      "selection_reason": "High positive deviation from MA200",
      "mean_reversion_score": 82
    },
    {
      "symbol": "UTG_CFD.UK",
      "selection_reason": "Significant negative deviation from MA200",
      "mean_reversion_score": 75
    },
    {
      "symbol": "KGF_CFD.UK",
      "selection_reason": "Positive deviation from MA200 and MA50",
      "mean_reversion_score": 80
    }
  ],
  "simulate_only": false,
  "strict_replay": false,
  "universe_symbols": [
    "WTB_CFD.UK",
    "ESNT_CFD.UK",
    "SAFE_CFD.UK",
    "UTG_CFD.UK",
    "KGF_CFD.UK",
    "RHIM_CFD.UK",
    "CBG_CFD.UK",
    "RSW_CFD.UK",
    "MCG_CFD.UK",
    "CCL_CFD.UK",
    "UN0_CFD.DE",
    "EMG_CFD.UK",
    "OCDO_CFD.UK",
    "LRE_CFD.UK",
    "MRN_CFD.FR",
    "LIO_CFD.UK",
    "VTY_CFD.UK",
    "TPK_CFD.UK",
    "BBY_CFD.UK",
    "MAB_CFD.UK",
    "IMI_CFD.UK",
    "DOM_CFD.UK",
    "IPO_CFD.UK",
    "ATG_CFD.UK",
    "GO_CFD.US",
    "BME_CFD.UK",
    "GROW_CFD.UK",
    "BYIT_CFD.UK",
    "WKP_CFD.UK",
    "FBIN_CFD.US",
    "HLMA_CFD.UK",
    "FUTR_CFD.UK",
    "DPLM_CFD.UK",
    "NVAX_CFD.US",
    "MRNA_CFD.US",
    "FMC_CFD.US",
    "IGG_CFD.UK",
    "ROR_CFD.UK",
    "OCI_CFD.NL",
    "HPP_CFD.US",
    "GRG_CFD.UK",
    "TEP_CFD.FR",
    "HMSO_CFD.UK",
    "S30_CFD.FR",
    "MSLH_CFD.UK",
    "WPP_CFD.UK",
    "SAIA_CFD.US",
    "BMY_CFD.US",
    "MOH_CFD.US",
    "CABO_CFD.US"
  ]
}
Outputs
{
  "actions": {
    "buy": [
      {
        "reason": "High volatility and significant deviation from MA200",
        "symbol": "WTB_CFD.UK",
        "position_size": 3000
      },
      {
        "reason": "High positive deviation from MA200",
        "symbol": "SAFE_CFD.UK",
        "position_size": 3000
      }
    ],
    "hold": [
      {
        "reason": "Positive unrealized PnL, no clear improvement needed",
        "symbol": "ABF_CFD.UK"
      },
      {
        "reason": "Positive unrealized PnL, no clear improvement needed",
        "symbol": "ADS_CFD.DE"
      },
      {
        "reason": "Positive unrealized PnL, no clear improvement needed",
        "symbol": "AML_CFD.UK"
      },
      {
        "reason": "Positive unrealized PnL, no clear improvement needed",
        "symbol": "BLND_CFD.UK"
      },
      {
        "reason": "Positive unrealized PnL, no clear improvement needed",
        "symbol": "ERA_CFD.FR"
      },
      {
        "reason": "Positive unrealized PnL, no clear improvement needed",
        "symbol": "FUTR_CFD.UK"
      },
      {
        "reason": "Positive unrealized PnL, no clear improvement needed",
        "symbol": "IEP_CFD.BE"
      },
      {
        "reason": "Positive unrealized PnL, no clear improvement needed",
        "symbol": "IHG_CFD.UK"
      },
      {
        "reason": "Positive unrealized PnL, no clear improvement needed",
        "symbol": "PAGE_CFD.UK"
      },
      {
        "reason": "Positive unrealized PnL, no clear improvement needed",
        "symbol": "SYNT_CFD.UK"
      },
      {
        "reason": "Positive unrealized PnL, no clear improvement needed",
        "symbol": "TRN_CFD.UK"
      },
      {
        "reason": "Positive unrealized PnL, no clear improvement needed",
        "symbol": "UKW_CFD.UK"
      }
    ],
    "sell": [
      {
        "reason": "Negative deviation from mean reversion target",
        "symbol": "ROR_CFD.UK"
      }
    ]
  },
  "portfolio_rationale": "The portfolio is adjusted based on mean-reversion strategy rules. Positions with negative deviations are sold, while those with positive deviations are held. New positions are added for candidates with high mean-reversion scores and significant deviations from moving averages, adhering to the fixed position size and overtrading constraints."
}
Prompts & responses
#1390openrouterdeepseek/deepseek-chat2026-03-18T11:03:47.856709+00:00
System prompt
You are an Arena strategy executor. You must follow the strategy rules strictly and output ONLY valid JSON. You are NOT allowed to invent prices, fundamentals, earnings dates, or sentiment. If a field is null/empty, treat it as unknown. You are a constrained selector (no narrative).
User prompt
{"task": "stage1_universe_scan", "region": "EU", "strategy": {"key": "meanrev-v1", "name": "Two-Stage LLM Mean-Reversion (Arena v1)", "rules": {"max_positions": 10, "max_buys_per_run": 2, "avoid_overtrading": true, "max_sells_per_run": 2, "max_gross_leverage": 3.0, "fixed_position_size": 3000.0, "universe_symbols_eu": [], "universe_symbols_us": []}}, "selection_rules": {"horizon": "2-10 trading days", "target": "short-term mean reversion in liquid equities", "constraints": ["Select exactly 5 candidates", "Avoid earnings within 5 trading days (if known)", "Avoid highly binary/event-driven moves (if known)", "Avoid sector concentration: max 1 per sector unless clearly justified (sector may be unknown)"]}, "universe": [{"symbol": "WTB_CFD.UK", "name": "WHITBREAD PLC", "sector": "", "last_price": 2691.0, "change_1d_pct": 11.659751037344401, "distance_from_ma200_pct": -5.969827496214986, "distance_from_ma50_pct": -5.069507041577781, "volatility_20d_pct": 87.61035263352142, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "ESNT_CFD.UK", "name": "ESSENTRA PLC", "sector": "", "last_price": 108.4, "change_1d_pct": 4.230769230769238, "distance_from_ma200_pct": 7.40452119530135, "distance_from_ma50_pct": 9.771484932749797, "volatility_20d_pct": 98.9832071461764, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "SAFE_CFD.UK", "name": "SAFESTORE HOLDINGS PLC", "sector": "", "last_price": 802.5, "change_1d_pct": 13.187588152327212, "distance_from_ma200_pct": 21.40724384452035, "distance_from_ma50_pct": 10.29872606002229, "volatility_20d_pct": 81.07249455345375, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "UTG_CFD.UK", "name": "UNITE GROUP PLC/THE", "sector": "", "last_price": 567.5, "change_1d_pct": 3.4639927073837784, "distance_from_ma200_pct": -23.929923575376698, "distance_from_ma50_pct": -3.6875042216270137, "volatility_20d_pct": 73.84223442053181, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "KGF_CFD.UK", "name": "KINGFISHER PLC", "sector": "", "last_price": 347.0, "change_1d_pct": 2.6020106445890034, "distance_from_ma200_pct": 18.583930168759967, "distance_from_ma50_pct": 6.639688157278489, "volatility_20d_pct": 88.64906606382688, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "RHIM_CFD.UK", "name": "RHI MAGNESITA NV", "sector": "", "last_price": 2795.0, "change_1d_pct": 2.3809523809523725, "distance_from_ma200_pct": 6.811460460804897, "distance_from_ma50_pct": 10.895008018562113, "volatility_20d_pct": 141.33746334612064, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "CBG_CFD.UK", "name": "CLOSE BROTHERS GROUP PLC", "sector": "", "last_price": 372.74, "change_1d_pct": -26.625984251968504, "distance_from_ma200_pct": -13.365429078084645, "distance_from_ma50_pct": -22.129222788055436, "volatility_20d_pct": 169.0552301316783, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "RSW_CFD.UK", "name": "RENISHAW PLC", "sector": "", "last_price": 4100.0, "change_1d_pct": 18.155619596541793, "distance_from_ma200_pct": 36.779911314574385, "distance_from_ma50_pct": 14.333028240759926, "volatility_20d_pct": 92.61568245477878, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "MCG_CFD.UK", "name": "MOBICO GROUP PLC", "sector": "", "last_price": 25.72, "change_1d_pct": 2.9623698959167166, "distance_from_ma200_pct": -7.132760074308242, "distance_from_ma50_pct": 8.327577202351844, "volatility_20d_pct": 232.19808875565576, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "CCL_CFD.UK", "name": "CARNIVAL PLC", "sector": "", "last_price": 1989.0, "change_1d_pct": -3.9594398841139578, "distance_from_ma200_pct": 4.932242734391812, "distance_from_ma50_pct": -4.47172238108916, "volatility_20d_pct": 163.30913338012496, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "UN0_CFD.DE", "name": "UNIPER SE", "sector": "", "last_price": 47.883, "change_1d_pct": 29.193535331732456, "distance_from_ma200_pct": 36.04375288467563, "distance_from_ma50_pct": 34.22914742920196, "volatility_20d_pct": 94.30306553169683, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "EMG_CFD.UK", "name": "MAN GROUP PLC/JERSEY", "sector": "", "last_price": 269.6, "change_1d_pct": 2.353834472285521, "distance_from_ma200_pct": 42.186331073171914, "distance_from_ma50_pct": 15.516783354614262, "volatility_20d_pct": 86.92367167139048, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "OCDO_CFD.UK", "name": "OCADO GROUP PLC", "sector": "", "last_price": 217.0, "change_1d_pct": -21.148255813953487, "distance_from_ma200_pct": -15.81606625159202, "distance_from_ma50_pct": -5.48311196636071, "volatility_20d_pct": 241.3119670937803, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "LRE_CFD.UK", "name": "LANCASHIRE HOLDINGS LTD", "sector": "", "last_price": 647.0, "change_1d_pct": -2.26586102719033, "distance_from_ma200_pct": 6.266967093949116, "distance_from_ma50_pct": -1.0131237932627712, "volatility_20d_pct": 79.5840954070324, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "MRN_CFD.FR", "name": "Mersen", "sector": "", "last_price": 24.45, "change_1d_pct": -2.004008016032066, "distance_from_ma200_pct": 2.9337161597514427, "distance_from_ma50_pct": -4.920934660266352, "volatility_20d_pct": 65.049066606698, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "LIO_CFD.UK", "name": "LIONTRUST ASSET MANAGEMENT", "sector": "", "last_price": 270.0, "change_1d_pct": 7.784431137724557, "distance_from_ma200_pct": -17.148878096081223, "distance_from_ma50_pct": 4.440258238208905, "volatility_20d_pct": 138.52252179896075, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "VTY_CFD.UK", "name": "VISTRY GROUP PLC", "sector": "", "last_price": 403.2, "change_1d_pct": -44.21693414499169, "distance_from_ma200_pct": -35.825419675413826, "distance_from_ma50_pct": -36.113069725802745, "volatility_20d_pct": 213.0917779123437, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "TPK_CFD.UK", "name": "TRAVIS PERKINS PLC", "sector": "", "last_price": 630.0, "change_1d_pct": 3.3007034285995385, "distance_from_ma200_pct": 5.198044084492737, "distance_from_ma50_pct": -0.6512233461424932, "volatility_20d_pct": 104.7300027131335, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "BBY_CFD.UK", "name": "BALFOUR BEATTY PLC", "sector": "", "last_price": 759.18, "change_1d_pct": 5.222453222453205, "distance_from_ma200_pct": 33.313724414201815, "distance_from_ma50_pct": 8.832962232591, "volatility_20d_pct": 54.25956465831767, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "MAB_CFD.UK", "name": "MITCHELLS & BUTLERS PLC", "sector": "", "last_price": 292.81, "change_1d_pct": 14.37890625, "distance_from_ma200_pct": 11.595067041457764, "distance_from_ma50_pct": 10.935906392690597, "volatility_20d_pct": 118.87119977937589, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "IMI_CFD.UK", "name": "IMI PLC", "sector": "", "last_price": 2774.0, "change_1d_pct": 4.7583081570997, "distance_from_ma200_pct": 25.227479847754264, "distance_from_ma50_pct": 6.661876238540865, "volatility_20d_pct": 87.69330898337377, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "DOM_CFD.UK", "name": "DOMINO'S PIZZA GROUP PLC", "sector": "", "last_price": 189.21, "change_1d_pct": 4.190528634361246, "distance_from_ma200_pct": -12.46581454882838, "distance_from_ma50_pct": 4.428944053991102, "volatility_20d_pct": 85.812071272284, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "IPO_CFD.UK", "name": "IP GROUP PLC", "sector": "", "last_price": 57.6, "change_1d_pct": -1.873935264054516, "distance_from_ma200_pct": 10.233643652522883, "distance_from_ma50_pct": -2.027486732888828, "volatility_20d_pct": 89.82123635439407, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "ATG_CFD.UK", "name": "AUCTION TECHNOLOGY GROUP", "sector": "", "last_price": 305.0, "change_1d_pct": 4.2735042735042805, "distance_from_ma200_pct": -30.344980756373573, "distance_from_ma50_pct": -1.1704016694101371, "volatility_20d_pct": 159.9931345477538, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "GO_CFD.US", "name": "GROCERY OUTLET HOLDING CORP", "sector": "", "last_price": 6.03, "change_1d_pct": -5.039370078740147, "distance_from_ma200_pct": -53.12645751064955, "distance_from_ma50_pct": -33.71003913636162, "volatility_20d_pct": 169.99714545519276, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "BME_CFD.UK", "name": "B&M EUROPEAN VALUE RETAIL SA", "sector": "", "last_price": 180.0, "change_1d_pct": -0.5799502899751507, "distance_from_ma200_pct": -17.510144533683704, "distance_from_ma50_pct": 3.6906975618860693, "volatility_20d_pct": 107.67302074828436, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "GROW_CFD.UK", "name": "MOLTEN VENTURES PLC", "sector": "", "last_price": 465.0, "change_1d_pct": 1.572739187418093, "distance_from_ma200_pct": 22.569628774815076, "distance_from_ma50_pct": -4.275686024250158, "volatility_20d_pct": 115.72658030340939, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "BYIT_CFD.UK", "name": "BYTES TECHNOLOGY GROUP PLC", "sector": "", "last_price": 300.4, "change_1d_pct": -12.674418604651173, "distance_from_ma200_pct": -28.03446775272175, "distance_from_ma50_pct": -14.34777426817815, "volatility_20d_pct": 87.82535981934274, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "WKP_CFD.UK", "name": "WORKSPACE GROUP PLC", "sector": "", "last_price": 423.0, "change_1d_pct": 3.6764705882353033, "distance_from_ma200_pct": 1.8640028868691871, "distance_from_ma50_pct": 5.808194506978848, "volatility_20d_pct": 70.2233148398582, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "FBIN_CFD.US", "name": "Fortune Brands Innovations", "sector": "", "last_price": 43.93, "change_1d_pct": 0.0911369332421863, "distance_from_ma200_pct": -17.708809447096108, "distance_from_ma50_pct": -19.530334114888625, "volatility_20d_pct": 138.46106654082428, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "HLMA_CFD.UK", "name": "HALMA PLC", "sector": "", "last_price": 3904.0, "change_1d_pct": 7.548209366391179, "distance_from_ma200_pct": 16.52280895184093, "distance_from_ma50_pct": 5.778818225170168, "volatility_20d_pct": 86.60562444492528, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "FUTR_CFD.UK", "name": "FUTURE PLC", "sector": "", "last_price": 423.6, "change_1d_pct": -20.82242990654205, "distance_from_ma200_pct": -37.68377383888033, "distance_from_ma50_pct": -24.301477407850992, "volatility_20d_pct": 153.59085037557008, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "DPLM_CFD.UK", "name": "DIPLOMA PLC", "sector": "", "last_price": 5220.0, "change_1d_pct": -5.434782608695654, "distance_from_ma200_pct": 4.8180942215069855, "distance_from_ma50_pct": -4.664614313757087, "volatility_20d_pct": 82.77890721911896, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "NVAX_CFD.US", "name": "NOVAVAX INC", "sector": "", "last_price": 10.83, "change_1d_pct": 3.6363636363636376, "distance_from_ma200_pct": 36.543298598634564, "distance_from_ma50_pct": 19.152400651322445, "volatility_20d_pct": 181.41969659186609, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "MRNA_CFD.US", "name": "MODERNA INC", "sector": "", "last_price": 55.01, "change_1d_pct": 2.554064131245326, "distance_from_ma200_pct": 71.38059358561159, "distance_from_ma50_pct": 19.583317029481705, "volatility_20d_pct": 180.7912217387313, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "FMC_CFD.US", "name": "FMC Corporation", "sector": "", "last_price": 14.56, "change_1d_pct": -0.4784688995215336, "distance_from_ma200_pct": -45.728545815767795, "distance_from_ma50_pct": -2.444253859348189, "volatility_20d_pct": 118.11295296034356, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "IGG_CFD.UK", "name": "IG GROUP HOLDINGS PLC", "sector": "", "last_price": 1356.0, "change_1d_pct": 3.1963470319634757, "distance_from_ma200_pct": 21.69129359819437, "distance_from_ma50_pct": 9.822701129829392, "volatility_20d_pct": 89.02278066392904, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "ROR_CFD.UK", "name": "ROTORK PLC", "sector": "", "last_price": 315.64, "change_1d_pct": -7.815420560747666, "distance_from_ma200_pct": -3.440121571713639, "distance_from_ma50_pct": -7.465605958975752, "volatility_20d_pct": 114.53961834922319, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "OCI_CFD.NL", "name": "", "sector": "", "last_price": 3.518, "change_1d_pct": -6.436170212765957, "distance_from_ma200_pct": -24.327568275655864, "distance_from_ma50_pct": 1.0141615078043342, "volatility_20d_pct": 74.76517215223801, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "HPP_CFD.US", "name": "HUDSON PACIFIC PROPERTIES IN", "sector": "", "last_price": 6.28, "change_1d_pct": 1.7828200972447306, "distance_from_ma200_pct": -57.242989858826974, "distance_from_ma50_pct": -21.228237419095887, "volatility_20d_pct": 199.51253864998938, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "GRG_CFD.UK", "name": "GREGGS PLC", "sector": "", "last_price": 1624.0, "change_1d_pct": -1.3365735115431376, "distance_from_ma200_pct": -4.161978531102917, "distance_from_ma50_pct": -1.7144771670142167, "volatility_20d_pct": 111.32517975776676, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "TEP_CFD.FR", "name": "", "sector": "", "last_price": 51.66, "change_1d_pct": 0.9911442144155735, "distance_from_ma200_pct": -21.36742743858202, "distance_from_ma50_pct": -5.002852121106482, "volatility_20d_pct": 97.61358816186709, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "HMSO_CFD.UK", "name": "HAMMERSON PLC", "sector": "", "last_price": 355.4, "change_1d_pct": 14.129736673089276, "distance_from_ma200_pct": 22.516025502913806, "distance_from_ma50_pct": 10.006914897239172, "volatility_20d_pct": 87.54938293511039, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "S30_CFD.FR", "name": "", "sector": "", "last_price": 0.81, "change_1d_pct": -0.6134969325153228, "distance_from_ma200_pct": -34.27405285664441, "distance_from_ma50_pct": -9.867806115636258, "volatility_20d_pct": 63.45546307995025, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "MSLH_CFD.UK", "name": "MARSHALLS PLC", "sector": "", "last_price": 182.32, "change_1d_pct": 0.8407079646017612, "distance_from_ma200_pct": -17.111863069088763, "distance_from_ma50_pct": 6.139091576985178, "volatility_20d_pct": 102.4204512350097, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "WPP_CFD.UK", "name": "WPP PLC", "sector": "", "last_price": 236.4, "change_1d_pct": -9.076923076923071, "distance_from_ma200_pct": -37.486406136063586, "distance_from_ma50_pct": -18.8592516928349, "volatility_20d_pct": 171.07955577415137, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "SAIA_CFD.US", "name": "SAIA INC", "sector": "", "last_price": 334.77, "change_1d_pct": 3.1426194657546924, "distance_from_ma200_pct": 6.089019135287499, "distance_from_ma50_pct": -9.851079379629379, "volatility_20d_pct": 118.08021980348846, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "BMY_CFD.US", "name": "BRISTOL-MYERS SQUIBB CO", "sector": "", "last_price": 60.67, "change_1d_pct": 2.7086507533435, "distance_from_ma200_pct": 20.794732577146767, "distance_from_ma50_pct": 4.052686641398129, "volatility_20d_pct": 44.98956147594229, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "MOH_CFD.US", "name": "", "sector": "", "last_price": 146.23, "change_1d_pct": -0.3271760616181729, "distance_from_ma200_pct": -20.550166867469077, "distance_from_ma50_pct": -10.230847242037234, "volatility_20d_pct": 96.0850354127677, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "CABO_CFD.US", "name": "Cable One Inc", "sector": "", "last_price": 109.07, "change_1d_pct": -4.215333274787048, "distance_from_ma200_pct": -16.75936190063708, "distance_from_ma50_pct": 10.817368262767314, "volatility_20d_pct": 160.67012152356216, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}], "output_schema": {"selected_stocks": [{"symbol": "string", "mean_reversion_score": "integer 0-100", "selection_reason": "short, concrete, indicator-based"}], "rejected_common_reasons": ["string"]}}
Output JSON
{
  "selected_stocks": [
    {
      "symbol": "WTB_CFD.UK",
      "selection_reason": "High volatility and significant deviation from MA200",
      "mean_reversion_score": 85
    },
    {
      "symbol": "ESNT_CFD.UK",
      "selection_reason": "Positive deviation from MA50 and MA200",
      "mean_reversion_score": 78
    },
    {
      "symbol": "SAFE_CFD.UK",
      "selection_reason": "High positive deviation from MA200",
      "mean_reversion_score": 82
    },
    {
      "symbol": "UTG_CFD.UK",
      "selection_reason": "Significant negative deviation from MA200",
      "mean_reversion_score": 75
    },
    {
      "symbol": "KGF_CFD.UK",
      "selection_reason": "Positive deviation from MA200 and MA50",
      "mean_reversion_score": 80
    }
  ],
  "rejected_common_reasons": [
    "Unknown earnings dates",
    "High volatility without clear mean-reversion signal",
    "Sector concentration constraints"
  ]
}
#1391openrouterdeepseek/deepseek-chat2026-03-18T11:04:01.922313+00:00
System prompt
You are an Arena portfolio manager. You must follow the strategy rules strictly and output ONLY valid JSON. You are NOT allowed to invent prices/fundamentals/news/earnings. If a field is null/empty, treat it as unknown. Avoid overtrading: if changes are marginal, prefer HOLD. Do not churn.
User prompt
{"task": "stage2_portfolio_management", "region": "EU", "strategy": {"key": "meanrev-v1", "name": "Two-Stage LLM Mean-Reversion (Arena v1)", "rules": {"max_positions": 10, "max_buys_per_run": 2, "avoid_overtrading": true, "max_sells_per_run": 2, "max_gross_leverage": 3.0, "fixed_position_size": 3000.0, "universe_symbols_eu": [], "universe_symbols_us": []}}, "portfolio_constraints": {"initial_equity": 10000.0, "max_positions": 10, "fixed_position_size": 3000.0, "max_gross_leverage": 3.0, "overtrading_rules": ["Max 2 SELL actions per run unless risk event forces more", "Max 2 BUY actions per run", "If no clear improvement vs current holdings, output HOLD for everything"]}, "current_portfolio": [{"symbol": "ABF_CFD.UK", "qty": 1.6220600162206003, "avg_price": 1849.5, "last_price": 1871.0, "unrealized_pnl": 34.8742903487429, "opened_at": "2026-03-10T10:41:24.306870+00:00"}, {"symbol": "ADJ_CFD.DE", "qty": 0.0, "avg_price": 0.184, "last_price": 0.2, "unrealized_pnl": 0.0, "opened_at": "2026-02-16T21:00:47.737392+00:00"}, {"symbol": "ADS_CFD.DE", "qty": 21.873860736419978, "avg_price": 137.15, "last_price": 140.6, "unrealized_pnl": 75.46481954064868, "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": "AMH_CFD.US", "qty": 0.0, "avg_price": 29.634999999999998, "last_price": 28.67, "unrealized_pnl": 0.0, "opened_at": "2026-02-20T17:33:34.647633+00:00"}, {"symbol": "AML_CFD.UK", "qty": 75.1503006012024, "avg_price": 39.92, "last_price": 40.1, "unrealized_pnl": 13.527054108216412, "opened_at": "2026-02-20T09:33:44.817899+00:00"}, {"symbol": "ATG_CFD.UK", "qty": 10.135135135135135, "avg_price": 296.0, "last_price": 296.0, "unrealized_pnl": 0.0, "opened_at": "2026-02-16T21:00:47.737392+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-06T18:02:13.212382+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-22T17:33:48.338981+00:00"}, {"symbol": "BLND_CFD.UK", "qty": 8.237232289950576, "avg_price": 364.2, "last_price": 373.0, "unrealized_pnl": 72.48764415156516, "opened_at": "2026-03-10T10:41:24.306870+00:00"}, {"symbol": "BT_CFD.UK", "qty": 0.0, "avg_price": 204.0, "last_price": 203.0, "unrealized_pnl": 0.0, "opened_at": "2026-02-19T09:33:49.074031+00:00"}, {"symbol": "BYIT_CFD.UK", "qty": 10.252904989747094, "avg_price": 292.6, "last_price": 292.6, "unrealized_pnl": 0.0, "opened_at": "2026-03-04T18:49:26.891792+00:00"}, {"symbol": "BYW6_CFD.DE", "qty": 0.0, "avg_price": 3.005, "last_price": 2.94, "unrealized_pnl": 0.0, "opened_at": "2026-02-19T17:33:27.020111+00:00"}, {"symbol": "CBG_CFD.UK", "qty": 0.0, "avg_price": 458.2, "last_price": 372.74, "unrealized_pnl": 0.0, "opened_at": "2026-03-08T18:08:31.007911+00:00"}, {"symbol": "CCC_CFD.UK", "qty": 0.0, "avg_price": 2978.0, "last_price": 2926.0, "unrealized_pnl": 0.0, "opened_at": "2026-02-25T17:57:28.313088+00:00"}, {"symbol": "CCL_CFD.UK", "qty": 0.0, "avg_price": 1945.9999999999998, "last_price": 1849.0, "unrealized_pnl": 0.0, "opened_at": "2026-03-02T10:31:26.559356+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": "CRDA_CFD.UK", "qty": 0.0, "avg_price": 2911.0, "last_price": 2852.0, "unrealized_pnl": 0.0, "opened_at": "2026-03-02T10:31:26.559356+00:00"}, {"symbol": "CRWD_CFD.US", "qty": 0.0, "avg_price": 422.705, "last_price": 388.21500000000003, "unrealized_pnl": 0.0, "opened_at": "2026-02-20T17:33:34.647633+00:00"}, {"symbol": "EMG_CFD.UK", "qty": 11.857707509881424, "avg_price": 252.99999999999997, "last_price": 253.0, "unrealized_pnl": 3.370163173565693e-13, "opened_at": "2026-03-15T18:15:23.812047+00:00"}, {"symbol": "ERA_CFD.FR", "qty": 63.29113924050633, "avg_price": 47.4, "last_price": 52.45, "unrealized_pnl": 319.62025316455725, "opened_at": "2026-02-19T17:33:27.020111+00:00"}, {"symbol": "EZJ_CFD.UK", "qty": 0.0, "avg_price": 474.05, "last_price": 437.5, "unrealized_pnl": 0.0, "opened_at": "2026-02-22T09:32:59.506254+00:00"}, {"symbol": "FLO_CFD.US", "qty": 0.0, "avg_price": 9.875, "last_price": 9.245000000000001, "unrealized_pnl": 0.0, "opened_at": "2026-02-19T00:47:27.070066+00:00"}, {"symbol": "FRVIA_CFD.FR", "qty": 0.0, "avg_price": 12.709, "last_price": 11.64, "unrealized_pnl": 0.0, "opened_at": "2026-02-26T10:33:24.101894+00:00"}, {"symbol": "FUTR_CFD.UK", "qty": 22.466300549176236, "avg_price": 400.6, "last_price": 414.2, "unrealized_pnl": 305.54168746879606, "opened_at": "2026-02-18T09:36:37.284518+00:00"}, {"symbol": "GRI_CFD.UK", "qty": 15.822784810126583, "avg_price": 189.6, "last_price": 189.6, "unrealized_pnl": 0.0, "opened_at": "2026-02-22T09:32:59.506254+00:00"}, {"symbol": "HIK_CFD.UK", "qty": 0.0, "avg_price": 1408.0, "last_price": 1275.0, "unrealized_pnl": 0.0, "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-03-16T10:12:30.296045+00:00"}, {"symbol": "IEP_CFD.BE", "qty": 582.5242718446601, "avg_price": 5.15, "last_price": 5.5, "unrealized_pnl": 203.88349514563083, "opened_at": "2026-02-24T18:14:37.115518+00:00"}, {"symbol": "IHG_CFD.UK", "qty": 23.21083172147002, "avg_price": 129.25, "last_price": 130.0, "unrealized_pnl": 17.408123791102515, "opened_at": "2026-03-07T10:14:47.113218+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": "KGF_CFD.UK", "qty": 9.505703422053232, "avg_price": 315.6, "last_price": 315.6, "unrealized_pnl": 0.0, "opened_at": "2026-03-15T18:15:23.812047+00:00"}, {"symbol": "LXS_CFD.DE", "qty": 0.0, "avg_price": 20.34, "last_price": 20.025, "unrealized_pnl": 0.0, "opened_at": "2026-02-18T09:36:37.284518+00:00"}, {"symbol": "MCG_CFD.UK", "qty": 0.0, "avg_price": 25.72, "last_price": 23.88, "unrealized_pnl": 0.0, "opened_at": "2026-03-08T18:08:31.007911+00:00"}, {"symbol": "OCDO_CFD.UK", "qty": 0.0, "avg_price": 217.0, "last_price": 204.3, "unrealized_pnl": 0.0, "opened_at": "2026-02-19T00:47:27.070066+00:00"}, {"symbol": "OSB_CFD.UK", "qty": 10.743061772605193, "avg_price": 558.5, "last_price": 558.5, "unrealized_pnl": 0.0, "opened_at": "2026-03-12T18:01:52.554929+00:00"}, {"symbol": "PAGE_CFD.UK", "qty": 59.24560595089197, "avg_price": 151.91000000000003, "last_price": 152.7, "unrealized_pnl": 46.804028701202505, "opened_at": "2026-03-05T10:27:11.178069+00:00"}, {"symbol": "RHIM_CFD.UK", "qty": 1.1764705882352942, "avg_price": 2550.0, "last_price": 2550.0, "unrealized_pnl": 0.0, "opened_at": "2026-03-10T18:24:41.570614+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-21T17:32:49.140800+00:00"}, {"symbol": "ROR_CFD.UK", "qty": 9.50449879609682, "avg_price": 315.64, "last_price": 309.4, "unrealized_pnl": -59.308072487644246, "opened_at": "2026-03-16T10:12:30.296045+00:00"}, {"symbol": "SAFE_CFD.UK", "qty": 4.237288135593221, "avg_price": 708.0, "last_price": 708.0, "unrealized_pnl": 0.0, "opened_at": "2026-03-10T18:24:41.570614+00:00"}, {"symbol": "SYNT_CFD.UK", "qty": 326.0869565217392, "avg_price": 18.4, "last_price": 18.48, "unrealized_pnl": 26.086956521739737, "opened_at": "2026-03-03T18:03:34.247734+00:00"}, {"symbol": "TRN_CFD.UK", "qty": 81.30081300813009, "avg_price": 184.5, "last_price": 204.2, "unrealized_pnl": 1601.6260162601618, "opened_at": "2026-03-03T18:03:34.247734+00:00"}, {"symbol": "UKW_CFD.UK", "qty": 97.45533297238767, "avg_price": 92.35, "last_price": 96.7, "unrealized_pnl": 423.9306984298872, "opened_at": "2026-02-20T09:33:44.817899+00:00"}, {"symbol": "UTG_CFD.UK", "qty": 11.881188118811881, "avg_price": 505.0, "last_price": 505.0, "unrealized_pnl": 0.0, "opened_at": "2026-02-27T18:23:55.960577+00:00"}, {"symbol": "VTY_CFD.UK", "qty": 0.0, "avg_price": 427.6, "last_price": 406.1, "unrealized_pnl": -150.84190832553787, "opened_at": "2026-03-11T10:11:17.665074+00:00"}, {"symbol": "WIX_CFD.UK", "qty": 0.0, "avg_price": 224.5, "last_price": 220.5, "unrealized_pnl": 0.0, "opened_at": "2026-03-09T10:19:46.508085+00:00"}, {"symbol": "WIZZ_CFD.UK", "qty": 0.0, "avg_price": 1299.0, "last_price": 1080.0, "unrealized_pnl": 0.0, "opened_at": "2026-02-25T17:57:28.313088+00:00"}, {"symbol": "WKP_CFD.UK", "qty": 7.2727272727272725, "avg_price": 412.5, "last_price": 412.5, "unrealized_pnl": 0.0, "opened_at": "2026-02-21T09:33:26.900894+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-27T18:23:55.960577+00:00"}, {"symbol": "WTB_CFD.UK", "qty": 3.837953091684435, "avg_price": 2345.0, "last_price": 2345.0, "unrealized_pnl": 0.0, "opened_at": "2026-03-13T18:17:31.188931+00:00"}], "candidates": [{"symbol": "WTB_CFD.UK", "mean_reversion_score": 85, "selection_reason": "High volatility and significant deviation from MA200"}, {"symbol": "ESNT_CFD.UK", "mean_reversion_score": 78, "selection_reason": "Positive deviation from MA50 and MA200"}, {"symbol": "SAFE_CFD.UK", "mean_reversion_score": 82, "selection_reason": "High positive deviation from MA200"}, {"symbol": "UTG_CFD.UK", "mean_reversion_score": 75, "selection_reason": "Significant negative deviation from MA200"}, {"symbol": "KGF_CFD.UK", "mean_reversion_score": 80, "selection_reason": "Positive deviation from MA200 and MA50"}], "output_schema": {"actions": {"sell": [{"symbol": "string", "reason": "string"}], "hold": [{"symbol": "string", "reason": "string"}], "buy": [{"symbol": "string", "position_size": "number (currency amount)", "reason": "string"}]}, "portfolio_rationale": "string"}}
Output JSON
{
  "actions": {
    "buy": [
      {
        "reason": "High volatility and significant deviation from MA200",
        "symbol": "WTB_CFD.UK",
        "position_size": 3000
      },
      {
        "reason": "High positive deviation from MA200",
        "symbol": "SAFE_CFD.UK",
        "position_size": 3000
      }
    ],
    "hold": [
      {
        "reason": "Positive unrealized PnL, no clear improvement needed",
        "symbol": "ABF_CFD.UK"
      },
      {
        "reason": "Positive unrealized PnL, no clear improvement needed",
        "symbol": "ADS_CFD.DE"
      },
      {
        "reason": "Positive unrealized PnL, no clear improvement needed",
        "symbol": "AML_CFD.UK"
      },
      {
        "reason": "Positive unrealized PnL, no clear improvement needed",
        "symbol": "BLND_CFD.UK"
      },
      {
        "reason": "Positive unrealized PnL, no clear improvement needed",
        "symbol": "ERA_CFD.FR"
      },
      {
        "reason": "Positive unrealized PnL, no clear improvement needed",
        "symbol": "FUTR_CFD.UK"
      },
      {
        "reason": "Positive unrealized PnL, no clear improvement needed",
        "symbol": "IEP_CFD.BE"
      },
      {
        "reason": "Positive unrealized PnL, no clear improvement needed",
        "symbol": "IHG_CFD.UK"
      },
      {
        "reason": "Positive unrealized PnL, no clear improvement needed",
        "symbol": "PAGE_CFD.UK"
      },
      {
        "reason": "Positive unrealized PnL, no clear improvement needed",
        "symbol": "SYNT_CFD.UK"
      },
      {
        "reason": "Positive unrealized PnL, no clear improvement needed",
        "symbol": "TRN_CFD.UK"
      },
      {
        "reason": "Positive unrealized PnL, no clear improvement needed",
        "symbol": "UKW_CFD.UK"
      }
    ],
    "sell": [
      {
        "reason": "Negative deviation from mean reversion target",
        "symbol": "ROR_CFD.UK"
      }
    ]
  },
  "portfolio_rationale": "The portfolio is adjusted based on mean-reversion strategy rules. Positions with negative deviations are sold, while those with positive deviations are held. New positions are added for candidates with high mean-reversion scores and significant deviations from moving averages, adhering to the fixed position size and overtrading constraints."
}
Selection logs
#692stage12026-03-18T11:04:01.919149+00:00
{
  "selected_stocks": [
    {
      "symbol": "WTB_CFD.UK",
      "selection_reason": "High volatility and significant deviation from MA200",
      "mean_reversion_score": 85
    },
    {
      "symbol": "ESNT_CFD.UK",
      "selection_reason": "Positive deviation from MA50 and MA200",
      "mean_reversion_score": 78
    },
    {
      "symbol": "SAFE_CFD.UK",
      "selection_reason": "High positive deviation from MA200",
      "mean_reversion_score": 82
    },
    {
      "symbol": "UTG_CFD.UK",
      "selection_reason": "Significant negative deviation from MA200",
      "mean_reversion_score": 75
    },
    {
      "symbol": "KGF_CFD.UK",
      "selection_reason": "Positive deviation from MA200 and MA50",
      "mean_reversion_score": 80
    }
  ],
  "rejected_common_reasons": [
    "Unknown earnings dates",
    "High volatility without clear mean-reversion signal",
    "Sector concentration constraints"
  ]
}