Arena run #663

meanrev-v1deepseekdeepseek/deepseek-chatEUsuccess
Arena
Run status
as_of: 2026-03-16T10:12:30.296045+00:00
started_at: 2026-03-16T12:20:21.822290+00:00
finished_at: 2026-03-16T12:21:23.500186+00:00
duration_ms: 61676
Inputs
{
  "as_of": "2026-03-16T10:12:30.296045+00:00",
  "dry_run": false,
  "selected": [
    {
      "symbol": "ROR_CFD.UK",
      "selection_reason": "High distance from MA200 and MA50 indicating potential mean reversion",
      "mean_reversion_score": 85
    },
    {
      "symbol": "SAFE_CFD.UK",
      "selection_reason": "Significant distance from MA200 and MA50 suggesting mean reversion",
      "mean_reversion_score": 80
    },
    {
      "symbol": "WIX_CFD.UK",
      "selection_reason": "High distance from MA200 and MA50 indicating potential mean reversion",
      "mean_reversion_score": 75
    },
    {
      "symbol": "RSW_CFD.UK",
      "selection_reason": "Large distance from MA200 and MA50 suggesting mean reversion",
      "mean_reversion_score": 78
    },
    {
      "symbol": "HMSO_CFD.UK",
      "selection_reason": "High distance from MA200 and MA50 indicating potential mean reversion",
      "mean_reversion_score": 82
    }
  ],
  "simulate_only": false,
  "strict_replay": false,
  "universe_symbols": [
    "ROR_CFD.UK",
    "WTB_CFD.UK",
    "SAFE_CFD.UK",
    "UTG_CFD.UK",
    "TRN_CFD.UK",
    "WIX_CFD.UK",
    "CBG_CFD.UK",
    "RSW_CFD.UK",
    "DLN_CFD.UK",
    "SGRO_CFD.UK",
    "EMG_CFD.UK",
    "OCDO_CFD.UK",
    "LIO_CFD.UK",
    "SMIN_CFD.UK",
    "MNDI_CFD.UK",
    "CCC_CFD.UK",
    "FOXA_CFD.US",
    "DOM_CFD.UK",
    "TRST_CFD.UK",
    "OSB_CFD.UK",
    "ATG_CFD.UK",
    "BME_CFD.UK",
    "GROW_CFD.UK",
    "WEIR_CFD.UK",
    "BYIT_CFD.UK",
    "SAX_CFD.DE",
    "WKP_CFD.UK",
    "EGL_CFD.PT",
    "MPT_CFD.US",
    "FUTR_CFD.UK",
    "DPLM_CFD.UK",
    "ZIL2_CFD.DE",
    "ADBE_CFD.US",
    "PWR_CFD.US",
    "ASY_CFD.FR",
    "MTN_CFD.US",
    "WDC_CFD.US",
    "GT_CFD.US",
    "HMSO_CFD.UK",
    "MSLH_CFD.UK",
    "AML_CFD.UK",
    "ELIOR_CFD.FR",
    "UKW_CFD.UK",
    "FMC_CFD.US",
    "GLPG_CFD.NL",
    "ARMK_CFD.US",
    "AMG_CFD.NL",
    "SBGI_CFD.US"
  ]
}
Outputs
{
  "actions": {
    "buy": [
      {
        "reason": "High distance from MA200 and MA50 indicating potential mean reversion",
        "symbol": "ROR_CFD.UK",
        "position_size": 3000
      },
      {
        "reason": "High distance from MA200 and MA50 indicating potential mean reversion",
        "symbol": "HMSO_CFD.UK",
        "position_size": 3000
      }
    ],
    "hold": [
      {
        "reason": "No significant change in price",
        "symbol": "ABF_CFD.UK"
      },
      {
        "reason": "No significant change in price",
        "symbol": "ADJ_CFD.DE"
      },
      {
        "reason": "Positive unrealized PNL",
        "symbol": "ADS_CFD.DE"
      },
      {
        "reason": "No significant change in price",
        "symbol": "AIR_CFD.DE"
      },
      {
        "reason": "No significant change in price",
        "symbol": "AMH_CFD.US"
      },
      {
        "reason": "No significant change in price",
        "symbol": "AML_CFD.UK"
      },
      {
        "reason": "No significant change in price",
        "symbol": "ATG_CFD.UK"
      },
      {
        "reason": "No significant change in price",
        "symbol": "BBY_CFD.UK"
      },
      {
        "reason": "No significant change in price",
        "symbol": "BIG_CFD.FR"
      },
      {
        "reason": "Positive unrealized PNL",
        "symbol": "BLND_CFD.UK"
      },
      {
        "reason": "No significant change in price",
        "symbol": "BT_CFD.UK"
      },
      {
        "reason": "No significant change in price",
        "symbol": "BYIT_CFD.UK"
      },
      {
        "reason": "No significant change in price",
        "symbol": "BYW6_CFD.DE"
      },
      {
        "reason": "No significant change in price",
        "symbol": "CBG_CFD.UK"
      },
      {
        "reason": "Positive unrealized PNL",
        "symbol": "CCC_CFD.UK"
      },
      {
        "reason": "Positive unrealized PNL",
        "symbol": "CCL_CFD.UK"
      },
      {
        "reason": "No significant change in price",
        "symbol": "CO_CFD.FR"
      },
      {
        "reason": "No significant change in price",
        "symbol": "CRDA_CFD.UK"
      },
      {
        "reason": "No significant change in price",
        "symbol": "CRWD_CFD.US"
      },
      {
        "reason": "No significant change in price",
        "symbol": "EMG_CFD.UK"
      },
      {
        "reason": "Positive unrealized PNL",
        "symbol": "ERA_CFD.FR"
      },
      {
        "reason": "No significant change in price",
        "symbol": "EZJ_CFD.UK"
      },
      {
        "reason": "No significant change in price",
        "symbol": "FLO_CFD.US"
      },
      {
        "reason": "No significant change in price",
        "symbol": "FRVIA_CFD.FR"
      },
      {
        "reason": "Positive unrealized PNL",
        "symbol": "FUTR_CFD.UK"
      },
      {
        "reason": "No significant change in price",
        "symbol": "GRI_CFD.UK"
      },
      {
        "reason": "No significant change in price",
        "symbol": "HIK_CFD.UK"
      },
      {
        "reason": "Positive unrealized PNL",
        "symbol": "IEP_CFD.BE"
      },
      {
        "reason": "Positive unrealized PNL",
        "symbol": "IHG_CFD.UK"
      },
      {
        "reason": "No significant change in price",
        "symbol": "JDW_CFD.UK"
      },
      {
        "reason": "No significant change in price",
        "symbol": "KGF_CFD.UK"
      },
      {
        "reason": "No significant change in price",
        "symbol": "LXS_CFD.DE"
      },
      {
        "reason": "No significant change in price",
        "symbol": "MCG_CFD.UK"
      },
      {
        "reason": "No significant change in price",
        "symbol": "OCDO_CFD.UK"
      },
      {
        "reason": "No significant change in price",
        "symbol": "OSB_CFD.UK"
      },
      {
        "reason": "Positive unrealized PNL",
        "symbol": "PAGE_CFD.UK"
      },
      {
        "reason": "No significant change in price",
        "symbol": "RHIM_CFD.UK"
      },
      {
        "reason": "No significant change in price",
        "symbol": "RMV_CFD.UK"
      },
      {
        "reason": "No significant change in price",
        "symbol": "SAFE_CFD.UK"
      },
      {
        "reason": "Positive unrealized PNL",
        "symbol": "SYNT_CFD.UK"
      },
      {
        "reason": "No significant change in price",
        "symbol": "TRN_CFD.UK"
      },
      {
        "reason": "Positive unrealized PNL",
        "symbol": "UKW_CFD.UK"
      },
      {
        "reason": "No significant change in price",
        "symbol": "UTG_CFD.UK"
      },
      {
        "reason": "No significant change in price",
        "symbol": "VTY_CFD.UK"
      },
      {
        "reason": "No significant change in price",
        "symbol": "WIX_CFD.UK"
      },
      {
        "reason": "No significant change in price",
        "symbol": "WIZZ_CFD.UK"
      },
      {
        "reason": "No significant change in price",
        "symbol": "WKP_CFD.UK"
      },
      {
        "reason": "No significant change in price",
        "symbol": "WPP_CFD.UK"
      },
      {
        "reason": "No significant change in price",
        "symbol": "WTB_CFD.UK"
      }
    ],
    "sell": []
  },
  "portfolio_rationale": "The portfolio is currently well-balanced with several positions showing positive unrealized PNL. Given the strategy's focus on mean reversion and the constraints on the number of buys and sells, the decision is to hold most positions and add two new positions with high mean reversion scores."
}
Prompts & responses
#1310openrouterdeepseek/deepseek-chat2026-03-16T12:20:21.872835+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": "ROR_CFD.UK", "name": "ROTORK PLC", "sector": "", "last_price": 371.2, "change_1d_pct": 8.538011695906423, "distance_from_ma200_pct": 13.511525838626781, "distance_from_ma50_pct": 8.597200345451439, "volatility_20d_pct": 70.27413083068154, "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": "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": "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": "TRN_CFD.UK", "name": "TRAINLINE PLC", "sector": "", "last_price": 206.0, "change_1d_pct": -12.93322062552832, "distance_from_ma200_pct": -22.557701091522887, "distance_from_ma50_pct": -12.560104316644482, "volatility_20d_pct": 131.09279103846345, "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": "WIX_CFD.UK", "name": "WICKES GROUP PLC", "sector": "", "last_price": 247.5, "change_1d_pct": 15.984816533108393, "distance_from_ma200_pct": 18.647646929530737, "distance_from_ma50_pct": 10.198455173494668, "volatility_20d_pct": 84.25206447406164, "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": 497.8, "change_1d_pct": -5.89792060491493, "distance_from_ma200_pct": 15.793508864321094, "distance_from_ma50_pct": 3.592137485786795, "volatility_20d_pct": 116.76618625853061, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "RSW_CFD.UK", "name": "RENISHAW PLC", "sector": "", "last_price": 4100.0, "change_1d_pct": 18.155619596541793, "distance_from_ma200_pct": 36.779911314574385, "distance_from_ma50_pct": 14.333028240759926, "volatility_20d_pct": 92.61568245477878, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "DLN_CFD.UK", "name": "DERWENT LONDON PLC", "sector": "", "last_price": 1953.0, "change_1d_pct": 10.401356698699837, "distance_from_ma200_pct": 5.069478604951705, "distance_from_ma50_pct": 12.150447212111025, "volatility_20d_pct": 115.39088732649292, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "SGRO_CFD.UK", "name": "SEGRO PLC", "sector": "", "last_price": 789.8, "change_1d_pct": 5.166444740346199, "distance_from_ma200_pct": 16.137238395282736, "distance_from_ma50_pct": 8.124180991500651, "volatility_20d_pct": 71.28658783635437, "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": "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": "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": "MNDI_CFD.UK", "name": "MONDI PLC", "sector": "", "last_price": 852.4, "change_1d_pct": -11.595104750051865, "distance_from_ma200_pct": -14.237828442253509, "distance_from_ma50_pct": -4.452101627811578, "volatility_20d_pct": 104.65815372523797, "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": "CCC_CFD.UK", "name": "COMPUTACENTER PLC", "sector": "", "last_price": 3126.0, "change_1d_pct": -1.821608040201006, "distance_from_ma200_pct": 22.396205247786227, "distance_from_ma50_pct": 6.426296215091432, "volatility_20d_pct": 111.01536155240576, "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": "FOXA_CFD.US", "name": "FOX CORP - CLASS A", "sector": "", "last_price": 59.43, "change_1d_pct": 1.3817809621289756, "distance_from_ma200_pct": -3.706794236666111, "distance_from_ma50_pct": -9.013246128125518, "volatility_20d_pct": 76.08943961194082, "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": "TRST_CFD.UK", "name": "TRUSTPILOT AS", "sector": "", "last_price": 156.6, "change_1d_pct": -27.567067530064747, "distance_from_ma200_pct": -26.81677017545049, "distance_from_ma50_pct": -10.671300046318578, "volatility_20d_pct": 228.54402237564213, "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": "OSB_CFD.UK", "name": "OSB GROUP PLC", "sector": "", "last_price": 575.5, "change_1d_pct": -8.50556438791733, "distance_from_ma200_pct": 7.26309045372473, "distance_from_ma50_pct": -3.1605502163448818, "volatility_20d_pct": 83.79306172690484, "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": "BME_CFD.UK", "name": "B&M EUROPEAN VALUE RETAIL SA", "sector": "", "last_price": 187.88, "change_1d_pct": 1.0107526881720341, "distance_from_ma200_pct": null, "distance_from_ma50_pct": 7.318666981973787, "volatility_20d_pct": 3503.713036055361, "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": "WEIR_CFD.UK", "name": "WEIR GROUP PLC/THE", "sector": "", "last_price": 2968.0, "change_1d_pct": -7.250000000000001, "distance_from_ma200_pct": 13.608616555186948, "distance_from_ma50_pct": -2.0329806894725966, "volatility_20d_pct": 126.53973442920609, "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": "SAX_CFD.DE", "name": "", "sector": "", "last_price": 32.15, "change_1d_pct": -0.15527950310559868, "distance_from_ma200_pct": -19.801036724389974, "distance_from_ma50_pct": -6.814673370213276, "volatility_20d_pct": 62.31687656304465, "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": "EGL_CFD.PT", "name": "Mota-Engil SGPS SA", "sector": "", "last_price": 4.304, "change_1d_pct": -9.159983115238479, "distance_from_ma200_pct": -11.823335265953839, "distance_from_ma50_pct": -11.087239448840036, "volatility_20d_pct": 88.40473169152683, "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": "MPT_CFD.US", "name": "MEDICAL PROPERTIES TRUST INC", "sector": "", "last_price": 4.91, "change_1d_pct": -10.401459854014606, "distance_from_ma200_pct": 0.14787619193310508, "distance_from_ma50_pct": -8.138447146866223, "volatility_20d_pct": 139.4173956877411, "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": "ZIL2_CFD.DE", "name": "ELRINGKLINGER AG", "sector": "", "last_price": 4.478, "change_1d_pct": 0.17897091722594016, "distance_from_ma200_pct": 3.288604923392735, "distance_from_ma50_pct": 3.9852497921688324, "volatility_20d_pct": 65.61565926158389, "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": "ADBE_CFD.US", "name": "Adobe Systems Incorporated", "sector": "", "last_price": 254.76, "change_1d_pct": -6.991347522908997, "distance_from_ma200_pct": -24.950575375976236, "distance_from_ma50_pct": -11.024807300743555, "volatility_20d_pct": 75.42837402664499, "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": "PWR_CFD.US", "name": "Quanta Services Inc", "sector": "", "last_price": 570.06, "change_1d_pct": -0.40010483096009075, "distance_from_ma200_pct": 32.66130003466283, "distance_from_ma50_pct": 13.629704223111737, "volatility_20d_pct": 75.10747878988178, "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": "ASY_CFD.FR", "name": "Assystem SA", "sector": "", "last_price": 42.35, "change_1d_pct": 0.6392433639884842, "distance_from_ma200_pct": -3.314398403808605, "distance_from_ma50_pct": -6.223109725826048, "volatility_20d_pct": 68.69862813560952, "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": "MTN_CFD.US", "name": "VAIL RESORTS INC", "sector": "", "last_price": 134.14, "change_1d_pct": -1.251472320376923, "distance_from_ma200_pct": -9.650746994476266, "distance_from_ma50_pct": -2.409284431756342, "volatility_20d_pct": 78.42663697712976, "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": "WDC_CFD.US", "name": "Western Digital Corporation", "sector": "", "last_price": 277.84, "change_1d_pct": 0.33222591362125353, "distance_from_ma200_pct": 93.67833739443938, "distance_from_ma50_pct": 10.13762446177886, "volatility_20d_pct": 155.57328227015603, "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": "GT_CFD.US", "name": "GOODYEAR TIRE & RUBBER CO", "sector": "", "last_price": 6.9, "change_1d_pct": -5.089408528198058, "distance_from_ma200_pct": -23.075636716333058, "distance_from_ma50_pct": -22.546752576162355, "volatility_20d_pct": 122.51572489644428, "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": "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": "AML_CFD.UK", "name": "ASTON MARTIN LAGONDA GLOBAL", "sector": "", "last_price": 40.48, "change_1d_pct": -8.125283704039955, "distance_from_ma200_pct": -40.753533675571454, "distance_from_ma50_pct": -29.11725770639697, "volatility_20d_pct": 134.03421867122054, "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": "ELIOR_CFD.FR", "name": "Elior Group SCA", "sector": "", "last_price": 2.404, "change_1d_pct": -4.980237154150213, "distance_from_ma200_pct": -10.299176871814398, "distance_from_ma50_pct": -12.558924518419378, "volatility_20d_pct": 58.28588832534166, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "UKW_CFD.UK", "name": "GREENCOAT UK WIND PLC", "sector": "", "last_price": 96.65, "change_1d_pct": -2.864321608040199, "distance_from_ma200_pct": -13.509595378826178, "distance_from_ma50_pct": -7.518333665048904, "volatility_20d_pct": 52.20244024852636, "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.29, "change_1d_pct": 0.7757404795486478, "distance_from_ma200_pct": -47.23374086560298, "distance_from_ma50_pct": -4.264869427733053, "volatility_20d_pct": 124.54433559318134, "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": "GLPG_CFD.NL", "name": "Galapagos", "sector": "", "last_price": 27.84, "change_1d_pct": -1.6254416961130724, "distance_from_ma200_pct": 1.2473535763791066, "distance_from_ma50_pct": -2.5278341852811304, "volatility_20d_pct": 76.06783383943537, "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": "ARMK_CFD.US", "name": "Aramark Holdings", "sector": "", "last_price": 40.6, "change_1d_pct": 1.907630522088355, "distance_from_ma200_pct": 2.8443036034769387, "distance_from_ma50_pct": 2.8775301284195365, "volatility_20d_pct": 79.10676557514627, "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": "AMG_CFD.NL", "name": "AMG ADVANCED METALLURGICAL", "sector": "", "last_price": 32.682, "change_1d_pct": -7.9380281690140775, "distance_from_ma200_pct": 15.692836616170403, "distance_from_ma50_pct": -8.799983926562248, "volatility_20d_pct": 128.71231047796536, "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": "SBGI_CFD.US", "name": "SINCLAIR INC", "sector": "", "last_price": 14.31, "change_1d_pct": -1.919122686771757, "distance_from_ma200_pct": -1.4883451969544659, "distance_from_ma50_pct": -3.4439016490782848, "volatility_20d_pct": 151.16131595505473, "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": "ROR_CFD.UK",
      "selection_reason": "High distance from MA200 and MA50 indicating potential mean reversion",
      "mean_reversion_score": 85
    },
    {
      "symbol": "SAFE_CFD.UK",
      "selection_reason": "Significant distance from MA200 and MA50 suggesting mean reversion",
      "mean_reversion_score": 80
    },
    {
      "symbol": "WIX_CFD.UK",
      "selection_reason": "High distance from MA200 and MA50 indicating potential mean reversion",
      "mean_reversion_score": 75
    },
    {
      "symbol": "RSW_CFD.UK",
      "selection_reason": "Large distance from MA200 and MA50 suggesting mean reversion",
      "mean_reversion_score": 78
    },
    {
      "symbol": "HMSO_CFD.UK",
      "selection_reason": "High distance from MA200 and MA50 indicating potential mean reversion",
      "mean_reversion_score": 82
    }
  ],
  "rejected_common_reasons": [
    "Earnings date unknown",
    "Sector concentration risk",
    "High volatility",
    "Unknown sector"
  ]
}
#1311openrouterdeepseek/deepseek-chat2026-03-16T12:20:34.862211+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": 1849.5, "unrealized_pnl": 0.0, "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": 139.1, "unrealized_pnl": 42.654028436018706, "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": 39.78, "unrealized_pnl": -10.521042084168378, "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": 26.18943692710607, "avg_price": 458.2, "last_price": 458.2, "unrealized_pnl": 0.0, "opened_at": "2026-03-08T18:08:31.007911+00:00"}, {"symbol": "CCC_CFD.UK", "qty": 1.007387508394896, "avg_price": 2978.0, "last_price": 3010.0, "unrealized_pnl": 32.23640026863667, "opened_at": "2026-02-25T17:57:28.313088+00:00"}, {"symbol": "CCL_CFD.UK", "qty": 1.5416238437821173, "avg_price": 1945.9999999999998, "last_price": 1989.0, "unrealized_pnl": 66.2898252826314, "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": 50.769, "unrealized_pnl": 213.2278481012658, "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": "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": 131.9, "unrealized_pnl": 61.50870406189568, "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": "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": 65.04065040650407, "avg_price": 184.5, "last_price": 184.5, "unrealized_pnl": 0.0, "opened_at": "2026-03-03T18:03:34.247734+00:00"}, {"symbol": "UKW_CFD.UK", "qty": 97.45533297238767, "avg_price": 92.35, "last_price": 95.01, "unrealized_pnl": 259.23118570655225, "opened_at": "2026-02-20T09:33:44.817899+00:00"}, {"symbol": "UTG_CFD.UK", "qty": 5.9405940594059405, "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": 26.7260579064588, "avg_price": 224.5, "last_price": 224.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": 1.279317697228145, "avg_price": 2345.0, "last_price": 2345.0, "unrealized_pnl": 0.0, "opened_at": "2026-03-13T18:17:31.188931+00:00"}], "candidates": [{"symbol": "ROR_CFD.UK", "mean_reversion_score": 85, "selection_reason": "High distance from MA200 and MA50 indicating potential mean reversion"}, {"symbol": "SAFE_CFD.UK", "mean_reversion_score": 80, "selection_reason": "Significant distance from MA200 and MA50 suggesting mean reversion"}, {"symbol": "WIX_CFD.UK", "mean_reversion_score": 75, "selection_reason": "High distance from MA200 and MA50 indicating potential mean reversion"}, {"symbol": "RSW_CFD.UK", "mean_reversion_score": 78, "selection_reason": "Large distance from MA200 and MA50 suggesting mean reversion"}, {"symbol": "HMSO_CFD.UK", "mean_reversion_score": 82, "selection_reason": "High distance from MA200 and MA50 indicating potential mean reversion"}], "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 distance from MA200 and MA50 indicating potential mean reversion",
        "symbol": "ROR_CFD.UK",
        "position_size": 3000
      },
      {
        "reason": "High distance from MA200 and MA50 indicating potential mean reversion",
        "symbol": "HMSO_CFD.UK",
        "position_size": 3000
      }
    ],
    "hold": [
      {
        "reason": "No significant change in price",
        "symbol": "ABF_CFD.UK"
      },
      {
        "reason": "No significant change in price",
        "symbol": "ADJ_CFD.DE"
      },
      {
        "reason": "Positive unrealized PNL",
        "symbol": "ADS_CFD.DE"
      },
      {
        "reason": "No significant change in price",
        "symbol": "AIR_CFD.DE"
      },
      {
        "reason": "No significant change in price",
        "symbol": "AMH_CFD.US"
      },
      {
        "reason": "No significant change in price",
        "symbol": "AML_CFD.UK"
      },
      {
        "reason": "No significant change in price",
        "symbol": "ATG_CFD.UK"
      },
      {
        "reason": "No significant change in price",
        "symbol": "BBY_CFD.UK"
      },
      {
        "reason": "No significant change in price",
        "symbol": "BIG_CFD.FR"
      },
      {
        "reason": "Positive unrealized PNL",
        "symbol": "BLND_CFD.UK"
      },
      {
        "reason": "No significant change in price",
        "symbol": "BT_CFD.UK"
      },
      {
        "reason": "No significant change in price",
        "symbol": "BYIT_CFD.UK"
      },
      {
        "reason": "No significant change in price",
        "symbol": "BYW6_CFD.DE"
      },
      {
        "reason": "No significant change in price",
        "symbol": "CBG_CFD.UK"
      },
      {
        "reason": "Positive unrealized PNL",
        "symbol": "CCC_CFD.UK"
      },
      {
        "reason": "Positive unrealized PNL",
        "symbol": "CCL_CFD.UK"
      },
      {
        "reason": "No significant change in price",
        "symbol": "CO_CFD.FR"
      },
      {
        "reason": "No significant change in price",
        "symbol": "CRDA_CFD.UK"
      },
      {
        "reason": "No significant change in price",
        "symbol": "CRWD_CFD.US"
      },
      {
        "reason": "No significant change in price",
        "symbol": "EMG_CFD.UK"
      },
      {
        "reason": "Positive unrealized PNL",
        "symbol": "ERA_CFD.FR"
      },
      {
        "reason": "No significant change in price",
        "symbol": "EZJ_CFD.UK"
      },
      {
        "reason": "No significant change in price",
        "symbol": "FLO_CFD.US"
      },
      {
        "reason": "No significant change in price",
        "symbol": "FRVIA_CFD.FR"
      },
      {
        "reason": "Positive unrealized PNL",
        "symbol": "FUTR_CFD.UK"
      },
      {
        "reason": "No significant change in price",
        "symbol": "GRI_CFD.UK"
      },
      {
        "reason": "No significant change in price",
        "symbol": "HIK_CFD.UK"
      },
      {
        "reason": "Positive unrealized PNL",
        "symbol": "IEP_CFD.BE"
      },
      {
        "reason": "Positive unrealized PNL",
        "symbol": "IHG_CFD.UK"
      },
      {
        "reason": "No significant change in price",
        "symbol": "JDW_CFD.UK"
      },
      {
        "reason": "No significant change in price",
        "symbol": "KGF_CFD.UK"
      },
      {
        "reason": "No significant change in price",
        "symbol": "LXS_CFD.DE"
      },
      {
        "reason": "No significant change in price",
        "symbol": "MCG_CFD.UK"
      },
      {
        "reason": "No significant change in price",
        "symbol": "OCDO_CFD.UK"
      },
      {
        "reason": "No significant change in price",
        "symbol": "OSB_CFD.UK"
      },
      {
        "reason": "Positive unrealized PNL",
        "symbol": "PAGE_CFD.UK"
      },
      {
        "reason": "No significant change in price",
        "symbol": "RHIM_CFD.UK"
      },
      {
        "reason": "No significant change in price",
        "symbol": "RMV_CFD.UK"
      },
      {
        "reason": "No significant change in price",
        "symbol": "SAFE_CFD.UK"
      },
      {
        "reason": "Positive unrealized PNL",
        "symbol": "SYNT_CFD.UK"
      },
      {
        "reason": "No significant change in price",
        "symbol": "TRN_CFD.UK"
      },
      {
        "reason": "Positive unrealized PNL",
        "symbol": "UKW_CFD.UK"
      },
      {
        "reason": "No significant change in price",
        "symbol": "UTG_CFD.UK"
      },
      {
        "reason": "No significant change in price",
        "symbol": "VTY_CFD.UK"
      },
      {
        "reason": "No significant change in price",
        "symbol": "WIX_CFD.UK"
      },
      {
        "reason": "No significant change in price",
        "symbol": "WIZZ_CFD.UK"
      },
      {
        "reason": "No significant change in price",
        "symbol": "WKP_CFD.UK"
      },
      {
        "reason": "No significant change in price",
        "symbol": "WPP_CFD.UK"
      },
      {
        "reason": "No significant change in price",
        "symbol": "WTB_CFD.UK"
      }
    ],
    "sell": []
  },
  "portfolio_rationale": "The portfolio is currently well-balanced with several positions showing positive unrealized PNL. Given the strategy's focus on mean reversion and the constraints on the number of buys and sells, the decision is to hold most positions and add two new positions with high mean reversion scores."
}
Selection logs
#652stage12026-03-16T12:20:34.857465+00:00
{
  "selected_stocks": [
    {
      "symbol": "ROR_CFD.UK",
      "selection_reason": "High distance from MA200 and MA50 indicating potential mean reversion",
      "mean_reversion_score": 85
    },
    {
      "symbol": "SAFE_CFD.UK",
      "selection_reason": "Significant distance from MA200 and MA50 suggesting mean reversion",
      "mean_reversion_score": 80
    },
    {
      "symbol": "WIX_CFD.UK",
      "selection_reason": "High distance from MA200 and MA50 indicating potential mean reversion",
      "mean_reversion_score": 75
    },
    {
      "symbol": "RSW_CFD.UK",
      "selection_reason": "Large distance from MA200 and MA50 suggesting mean reversion",
      "mean_reversion_score": 78
    },
    {
      "symbol": "HMSO_CFD.UK",
      "selection_reason": "High distance from MA200 and MA50 indicating potential mean reversion",
      "mean_reversion_score": 82
    }
  ],
  "rejected_common_reasons": [
    "Earnings date unknown",
    "Sector concentration risk",
    "High volatility",
    "Unknown sector"
  ]
}