Arena run #1743

meanrev-v1deepseekdeepseek/deepseek-chatUSsuccess
Arena
Run status
as_of: 2026-05-09T18:07:46.147407+00:00
started_at: 2026-05-09T20:06:21.637018+00:00
finished_at: 2026-05-09T20:07:24.347373+00:00
duration_ms: 62708
Inputs
{
  "as_of": "2026-05-09T18:07:46.147407+00:00",
  "dry_run": false,
  "selected": [
    {
      "symbol": "CBG_CFD.UK",
      "selection_reason": "Significant negative deviation from MA50 and MA200",
      "mean_reversion_score": 85
    },
    {
      "symbol": "OCDO_CFD.UK",
      "selection_reason": "Large negative deviation from MA50 and MA200",
      "mean_reversion_score": 80
    },
    {
      "symbol": "IWG_CFD.UK",
      "selection_reason": "Substantial negative deviation from MA50 and MA200",
      "mean_reversion_score": 78
    },
    {
      "symbol": "FMC_CFD.US",
      "selection_reason": "Significant negative deviation from MA50 and MA200",
      "mean_reversion_score": 75
    },
    {
      "symbol": "TSCO_CFD.US",
      "selection_reason": "Large negative deviation from MA50 and MA200",
      "mean_reversion_score": 72
    }
  ],
  "simulate_only": false,
  "strict_replay": false,
  "universe_symbols": [
    "JUP_CFD.UK",
    "BOY_CFD.UK",
    "ASHM_CFD.UK",
    "N91_CFD.UK",
    "CBG_CFD.UK",
    "DLN_CFD.UK",
    "GFTU_CFD.UK",
    "TPK_CFD.UK",
    "PNN_CFD.UK",
    "SSPG_CFD.UK",
    "MGNS_CFD.UK",
    "INVP_CFD.UK",
    "BRNK_CFD.DE",
    "BNZL_CFD.UK",
    "WKP_CFD.UK",
    "OCDO_CFD.UK",
    "SBT_CFD.FR",
    "ATG_CFD.UK",
    "MOS_CFD.US",
    "CPG_CFD.UK",
    "GPK_CFD.US",
    "SPX_CFD.UK",
    "BLND_CFD.UK",
    "CTEC_CFD.UK",
    "ECMPA_CFD.NL",
    "PHP_CFD.UK",
    "IWG_CFD.UK",
    "MNDI_CFD.UK",
    "GRI_CFD.UK",
    "EXPE_CFD.US",
    "FMC_CFD.US",
    "GLW_CFD.US",
    "TER_CFD.US",
    "UKW_CFD.UK",
    "NXI_CFD.FR",
    "AKAM_CFD.US",
    "STNE_CFD.US",
    "SFM_CFD.US",
    "J_CFD.US",
    "APH_CFD.US",
    "ALB_CFD.US",
    "VSVS_CFD.UK",
    "TSCO_CFD.US",
    "CDW_CFD.US",
    "SMIN_CFD.UK",
    "OLN_CFD.US",
    "WELL_CFD.US",
    "AOS_CFD.US"
  ]
}
Outputs
{
  "actions": {
    "buy": [
      {
        "reason": "Significant negative deviation from MA50 and MA200",
        "symbol": "CBG_CFD.UK",
        "position_size": 3000
      },
      {
        "reason": "Large negative deviation from MA50 and MA200",
        "symbol": "OCDO_CFD.UK",
        "position_size": 3000
      }
    ],
    "hold": [
      {
        "reason": "Marginal deviation from mean-reversion strategy",
        "symbol": "ABF_CFD.UK"
      },
      {
        "reason": "Positive unrealized PnL and alignment with mean-reversion strategy",
        "symbol": "ADS_CFD.DE"
      },
      {
        "reason": "Positive unrealized PnL and alignment with mean-reversion strategy",
        "symbol": "ATG_CFD.UK"
      },
      {
        "reason": "Positive unrealized PnL and alignment with mean-reversion strategy",
        "symbol": "BBY_CFD.UK"
      },
      {
        "reason": "Positive unrealized PnL and alignment with mean-reversion strategy",
        "symbol": "BLND_CFD.UK"
      },
      {
        "reason": "No significant deviation from mean-reversion strategy",
        "symbol": "BOY_CFD.UK"
      },
      {
        "reason": "Marginal positive deviation from mean-reversion strategy",
        "symbol": "BTRW_CFD.UK"
      },
      {
        "reason": "Positive unrealized PnL and alignment with mean-reversion strategy",
        "symbol": "BYIT_CFD.UK"
      },
      {
        "reason": "No significant deviation from mean-reversion strategy",
        "symbol": "CBG_CFD.UK"
      },
      {
        "reason": "Marginal negative deviation from mean-reversion strategy",
        "symbol": "EMG_CFD.UK"
      },
      {
        "reason": "Positive unrealized PnL and alignment with mean-reversion strategy",
        "symbol": "FUTR_CFD.UK"
      },
      {
        "reason": "No significant deviation from mean-reversion strategy",
        "symbol": "GRI_CFD.UK"
      },
      {
        "reason": "Marginal positive deviation from mean-reversion strategy",
        "symbol": "HAS_CFD.UK"
      },
      {
        "reason": "No significant deviation from mean-reversion strategy",
        "symbol": "HMSO_CFD.UK"
      },
      {
        "reason": "Marginal negative deviation from mean-reversion strategy",
        "symbol": "IEP_CFD.BE"
      },
      {
        "reason": "Positive unrealized PnL and alignment with mean-reversion strategy",
        "symbol": "IHG_CFD.UK"
      },
      {
        "reason": "Positive unrealized PnL and alignment with mean-reversion strategy",
        "symbol": "LMP_CFD.UK"
      },
      {
        "reason": "Positive unrealized PnL and alignment with mean-reversion strategy",
        "symbol": "MCG_CFD.UK"
      },
      {
        "reason": "Positive unrealized PnL and alignment with mean-reversion strategy",
        "symbol": "PAGE_CFD.UK"
      },
      {
        "reason": "Marginal positive deviation from mean-reversion strategy",
        "symbol": "PHP_CFD.UK"
      },
      {
        "reason": "Positive unrealized PnL and alignment with mean-reversion strategy",
        "symbol": "RS1_CFD.UK"
      },
      {
        "reason": "Positive unrealized PnL and alignment with mean-reversion strategy",
        "symbol": "SPX_CFD.UK"
      },
      {
        "reason": "Positive unrealized PnL and alignment with mean-reversion strategy",
        "symbol": "THG_CFD.UK"
      },
      {
        "reason": "Positive unrealized PnL and alignment with mean-reversion strategy",
        "symbol": "UKW_CFD.UK"
      },
      {
        "reason": "No significant deviation from mean-reversion strategy",
        "symbol": "WKP_CFD.UK"
      }
    ],
    "sell": [
      {
        "reason": "Significant unrealized loss and negative deviation from mean-reversion strategy",
        "symbol": "CRST_CFD.UK"
      },
      {
        "reason": "Significant unrealized loss and negative deviation from mean-reversion strategy",
        "symbol": "MDM_CFD.FR"
      }
    ]
  },
  "portfolio_rationale": "The portfolio has been adjusted to align with the mean-reversion strategy by selling positions with significant unrealized losses and negative deviations, and buying positions with significant negative deviations from their moving averages. The strategy avoids overtrading by limiting the number of buys and sells to two each, ensuring that only the most compelling opportunities are acted upon."
}
Prompts & responses
#2855openrouterdeepseek/deepseek-chat2026-05-09T20:06:21.685746+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": "US", "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": "JUP_CFD.UK", "name": "JUPITER FUND MANAGEMENT", "sector": "", "last_price": 193.6, "change_1d_pct": 22.06809583858764, "distance_from_ma200_pct": 57.65825374753912, "distance_from_ma50_pct": 19.274691586205538, "volatility_20d_pct": 96.15961444303547, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "BOY_CFD.UK", "name": "BODYCOTE PLC", "sector": "", "last_price": 775.4, "change_1d_pct": 24.163330664531625, "distance_from_ma200_pct": 28.652243313347768, "distance_from_ma50_pct": 18.63612217470385, "volatility_20d_pct": 103.46484337510964, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "ASHM_CFD.UK", "name": "ASHMORE GROUP PLC", "sector": "", "last_price": 244.8, "change_1d_pct": 1.4084507042253502, "distance_from_ma200_pct": 40.45532080672305, "distance_from_ma50_pct": 24.88993054528128, "volatility_20d_pct": 134.25405461264828, "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": "N91_CFD.UK", "name": "NINETY ONE PLC", "sector": "", "last_price": 241.4, "change_1d_pct": -2.739726027397249, "distance_from_ma200_pct": 22.140556255617817, "distance_from_ma50_pct": 6.809338693563394, "volatility_20d_pct": 84.21236037483679, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "CBG_CFD.UK", "name": "CLOSE BROTHERS GROUP PLC", "sector": "", "last_price": 372.74, "change_1d_pct": -26.625984251968504, "distance_from_ma200_pct": -13.365429078084645, "distance_from_ma50_pct": -22.129222788055436, "volatility_20d_pct": 169.0552301316783, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "DLN_CFD.UK", "name": "DERWENT LONDON PLC", "sector": "", "last_price": 1953.0, "change_1d_pct": 10.401356698699837, "distance_from_ma200_pct": 5.069478604951705, "distance_from_ma50_pct": 12.150447212111025, "volatility_20d_pct": 115.39088732649292, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "GFTU_CFD.UK", "name": "GRAFTON GROUP PLC-UTS", "sector": "", "last_price": 955.8, "change_1d_pct": 1.0434175890393638, "distance_from_ma200_pct": 3.963270661870655, "distance_from_ma50_pct": 3.4837359036161253, "volatility_20d_pct": 51.04515943079597, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "TPK_CFD.UK", "name": "TRAVIS PERKINS PLC", "sector": "", "last_price": 601.57, "change_1d_pct": -1.21029986533977, "distance_from_ma200_pct": 0.5267641208837714, "distance_from_ma50_pct": -4.983077425595306, "volatility_20d_pct": 108.19399806448348, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "PNN_CFD.UK", "name": "PENNON GROUP PLC", "sector": "", "last_price": 551.0, "change_1d_pct": 7.699224018295192, "distance_from_ma200_pct": 13.698549858568065, "distance_from_ma50_pct": 7.285607918028347, "volatility_20d_pct": 97.33547101641821, "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": "SSPG_CFD.UK", "name": "SSP GROUP PLC", "sector": "", "last_price": 165.4, "change_1d_pct": 15.261324041811841, "distance_from_ma200_pct": 1.4859967425081333, "distance_from_ma50_pct": -0.5180998115016378, "volatility_20d_pct": 172.20034161947044, "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": "MGNS_CFD.UK", "name": "MORGAN SINDALL GROUP PLC", "sector": "", "last_price": 4860.0, "change_1d_pct": 8.928311274976753, "distance_from_ma200_pct": 19.027421064583947, "distance_from_ma50_pct": 4.129720434840567, "volatility_20d_pct": 174.2493967907277, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "INVP_CFD.UK", "name": "INVESTEC PLC", "sector": "", "last_price": 642.0, "change_1d_pct": 9.369676320272568, "distance_from_ma200_pct": 20.33187982293969, "distance_from_ma50_pct": 11.734877154290203, "volatility_20d_pct": 115.28654302325035, "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": "BRNK_CFD.DE", "name": "Branicks Group AG", "sector": "", "last_price": 1.45, "change_1d_pct": 5.072463768115942, "distance_from_ma200_pct": -21.736689839803102, "distance_from_ma50_pct": -6.741616392894367, "volatility_20d_pct": 192.10029439414404, "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": "BNZL_CFD.UK", "name": "BUNZL PLC", "sector": "", "last_price": 2463.0, "change_1d_pct": 11.246612466124661, "distance_from_ma200_pct": 6.753831191506032, "distance_from_ma50_pct": 13.385480526561633, "volatility_20d_pct": 95.72449919502712, "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": "OCDO_CFD.UK", "name": "OCADO GROUP PLC", "sector": "", "last_price": 186.0, "change_1d_pct": -27.372120265521282, "distance_from_ma200_pct": -27.532109898724187, "distance_from_ma50_pct": -19.095469955276336, "volatility_20d_pct": 249.4549801604736, "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": "SBT_CFD.FR", "name": "Oeneo Bouchage", "sector": "", "last_price": 9.06, "change_1d_pct": -3.6170212765957444, "distance_from_ma200_pct": -2.470898704832891, "distance_from_ma50_pct": -2.093216767347117, "volatility_20d_pct": 44.82674811022072, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "ATG_CFD.UK", "name": "AUCTION TECHNOLOGY GROUP", "sector": "", "last_price": 326.5, "change_1d_pct": 12.006861063464846, "distance_from_ma200_pct": -24.987260470422935, "distance_from_ma50_pct": 5.84429056770146, "volatility_20d_pct": 172.45012969704524, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "MOS_CFD.US", "name": "MOSAIC CO/THE", "sector": "", "last_price": 22.68, "change_1d_pct": -0.8307826847398392, "distance_from_ma200_pct": -20.041178088180335, "distance_from_ma50_pct": -10.675604357518132, "volatility_20d_pct": 58.492818534138344, "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": "CPG_CFD.UK", "name": "COMPASS GROUP PLC", "sector": "", "last_price": 29.86, "change_1d_pct": 10.38817005545285, "distance_from_ma200_pct": -98.62792901945058, "distance_from_ma50_pct": -97.64592728075431, "volatility_20d_pct": 603.5168554995487, "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": "GPK_CFD.US", "name": "GRAPHIC PACKAGING HOLDING CO", "sector": "", "last_price": 10.83, "change_1d_pct": 3.3396946564885566, "distance_from_ma200_pct": -30.55310635378158, "distance_from_ma50_pct": 8.776440810751085, "volatility_20d_pct": 88.64166136593849, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "SPX_CFD.UK", "name": "SPIRAX-SARCO ENGINEERING PLC", "sector": "", "last_price": 7168.0, "change_1d_pct": 7.064973861090373, "distance_from_ma200_pct": 9.233977228616963, "distance_from_ma50_pct": 1.207072239512863, "volatility_20d_pct": 136.31219199190863, "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": "BLND_CFD.UK", "name": "BRITISH LAND CO PLC", "sector": "", "last_price": 391.7, "change_1d_pct": 13.077367205542734, "distance_from_ma200_pct": 4.463250377902539, "distance_from_ma50_pct": -0.22954591071041586, "volatility_20d_pct": 119.37084138774277, "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": "CTEC_CFD.UK", "name": "CONVATEC GROUP PLC", "sector": "", "last_price": 207.6, "change_1d_pct": -9.344978165938866, "distance_from_ma200_pct": -16.703012133032836, "distance_from_ma50_pct": -11.110882751143869, "volatility_20d_pct": 116.55231905033538, "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": "ECMPA_CFD.NL", "name": "Eurocommercial Properties", "sector": "", "last_price": 27.55, "change_1d_pct": -1.0771992818671472, "distance_from_ma200_pct": 3.6903216093641333, "distance_from_ma50_pct": 1.1231830861841097, "volatility_20d_pct": 61.36817383080048, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "PHP_CFD.UK", "name": "PRIMARY HEALTH PROPERTIES", "sector": "", "last_price": 94.45, "change_1d_pct": 2.9427792915531326, "distance_from_ma200_pct": -1.7938096307572038, "distance_from_ma50_pct": -3.243122527295772, "volatility_20d_pct": 111.6461438724416, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "IWG_CFD.UK", "name": "IWG PLC", "sector": "", "last_price": 189.9, "change_1d_pct": -19.39728353140916, "distance_from_ma200_pct": -11.676534259760752, "distance_from_ma50_pct": -15.922856232068849, "volatility_20d_pct": 167.0810039928667, "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": 791.2, "change_1d_pct": -6.698113207547163, "distance_from_ma200_pct": -16.479426249971617, "distance_from_ma50_pct": -7.4613389099806415, "volatility_20d_pct": 122.60907560467662, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "GRI_CFD.UK", "name": "GRAINGER PLC", "sector": "", "last_price": 192.4, "change_1d_pct": 0.08322929671245038, "distance_from_ma200_pct": -4.9312468607917275, "distance_from_ma50_pct": 0.9128310349964197, "volatility_20d_pct": 71.43116862190418, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "EXPE_CFD.US", "name": "EXPEDIA GROUP INC", "sector": "", "last_price": 233.75, "change_1d_pct": -5.237767057201925, "distance_from_ma200_pct": -1.3788398438769, "distance_from_ma50_pct": -2.492276554012385, "volatility_20d_pct": 110.18821210149012, "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": 13.55, "change_1d_pct": -8.19783197831978, "distance_from_ma200_pct": -38.09209429190834, "distance_from_ma50_pct": -11.930636439267882, "volatility_20d_pct": 102.63745619428188, "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": "GLW_CFD.US", "name": "CORNING INC", "sector": "", "last_price": 188.85, "change_1d_pct": 15.110325490674148, "distance_from_ma200_pct": 82.89928046057497, "distance_from_ma50_pct": 24.75557552055807, "volatility_20d_pct": 146.84474569423688, "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": "TER_CFD.US", "name": "Teradyne Inc", "sector": "", "last_price": 305.58, "change_1d_pct": 0.12450851900394078, "distance_from_ma200_pct": null, "distance_from_ma50_pct": 17.197016104022467, "volatility_20d_pct": 6185.755685728551, "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": 100.4, "change_1d_pct": 3.976801988401002, "distance_from_ma200_pct": -9.084405711745047, "distance_from_ma50_pct": 0.06418459649417674, "volatility_20d_pct": 80.6750581480199, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "NXI_CFD.FR", "name": "Nexity SA", "sector": "", "last_price": 8.87, "change_1d_pct": 2.9002320185614883, "distance_from_ma200_pct": -3.8172723359173766, "distance_from_ma50_pct": 5.139882271780061, "volatility_20d_pct": 60.36558349705058, "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": "AKAM_CFD.US", "name": "Akamai Technologies Inc", "sector": "", "last_price": 149.65, "change_1d_pct": 29.533454513979063, "distance_from_ma200_pct": 67.35414384628247, "distance_from_ma50_pct": 40.951064126376544, "volatility_20d_pct": 154.28386628635903, "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": "STNE_CFD.US", "name": "STONECO LTD-A", "sector": "", "last_price": 10.91, "change_1d_pct": -0.7279344858962755, "distance_from_ma200_pct": -30.477228265371803, "distance_from_ma50_pct": -20.212376954467683, "volatility_20d_pct": 128.5417491189962, "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": "SFM_CFD.US", "name": "SPROUTS FARMERS MARKET INC", "sector": "", "last_price": 83.96, "change_1d_pct": 5.823040080665476, "distance_from_ma200_pct": -11.859033241826022, "distance_from_ma50_pct": 8.726337517838312, "volatility_20d_pct": 109.60367883354618, "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": "J_CFD.US", "name": "", "sector": "", "last_price": 119.9, "change_1d_pct": -7.988642467961016, "distance_from_ma200_pct": -14.777321100786999, "distance_from_ma50_pct": -7.1698335250842575, "volatility_20d_pct": 89.92059814232583, "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": "APH_CFD.US", "name": "Amphenol Corporation", "sector": "", "last_price": 129.32, "change_1d_pct": -6.405153072302228, "distance_from_ma200_pct": -2.0376873106913607, "distance_from_ma50_pct": -5.5835102608208125, "volatility_20d_pct": 75.0166002676417, "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": "ALB_CFD.US", "name": "Albemarle Corp", "sector": "", "last_price": 206.33, "change_1d_pct": 5.340276714147141, "distance_from_ma200_pct": 55.2867137024927, "distance_from_ma50_pct": 14.528901159776497, "volatility_20d_pct": 129.20248363317458, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "VSVS_CFD.UK", "name": "VESUVIUS PLC", "sector": "", "last_price": 460.91, "change_1d_pct": 15.054917623564656, "distance_from_ma200_pct": 14.930204294042394, "distance_from_ma50_pct": 4.058627377052515, "volatility_20d_pct": 138.4878050269555, "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": "TSCO_CFD.US", "name": "TRACTOR SUPPLY COMPANY", "sector": "", "last_price": 30.97, "change_1d_pct": -4.941682013505222, "distance_from_ma200_pct": -40.941691123328326, "distance_from_ma50_pct": -28.859547567855635, "volatility_20d_pct": 73.43852653574369, "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": "CDW_CFD.US", "name": "CDW Corp", "sector": "", "last_price": 105.95, "change_1d_pct": -22.522851919561237, "distance_from_ma200_pct": -26.021248903759897, "distance_from_ma50_pct": -15.385807177072463, "volatility_20d_pct": 133.8807652870453, "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": 2557.0, "change_1d_pct": 4.6235679214402525, "distance_from_ma200_pct": 14.883274190387418, "distance_from_ma50_pct": 3.9730049158046343, "volatility_20d_pct": 101.30183705216716, "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": "OLN_CFD.US", "name": "OLIN CORP", "sector": "", "last_price": 27.17, "change_1d_pct": -6.116102280580504, "distance_from_ma200_pct": 15.50446586092702, "distance_from_ma50_pct": 0.8447651285705904, "volatility_20d_pct": 108.09649885425287, "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": "WELL_CFD.US", "name": "WELLTOWER INC", "sector": "", "last_price": 217.23, "change_1d_pct": 1.4903756307232285, "distance_from_ma200_pct": 15.263300739159135, "distance_from_ma50_pct": 5.0618095993499646, "volatility_20d_pct": 42.5447144283932, "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": "AOS_CFD.US", "name": "SMITH (A.O.) CORP", "sector": "", "last_price": 59.31, "change_1d_pct": 1.2116040955631346, "distance_from_ma200_pct": -14.687648336473869, "distance_from_ma50_pct": -9.916067474095735, "volatility_20d_pct": 58.48398686369537, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}], "output_schema": {"selected_stocks": [{"symbol": "string", "mean_reversion_score": "integer 0-100", "selection_reason": "short, concrete, indicator-based"}], "rejected_common_reasons": ["string"]}}
Output JSON
{
  "selected_stocks": [
    {
      "symbol": "CBG_CFD.UK",
      "selection_reason": "Significant negative deviation from MA50 and MA200",
      "mean_reversion_score": 85
    },
    {
      "symbol": "OCDO_CFD.UK",
      "selection_reason": "Large negative deviation from MA50 and MA200",
      "mean_reversion_score": 80
    },
    {
      "symbol": "IWG_CFD.UK",
      "selection_reason": "Substantial negative deviation from MA50 and MA200",
      "mean_reversion_score": 78
    },
    {
      "symbol": "FMC_CFD.US",
      "selection_reason": "Significant negative deviation from MA50 and MA200",
      "mean_reversion_score": 75
    },
    {
      "symbol": "TSCO_CFD.US",
      "selection_reason": "Large negative deviation from MA50 and MA200",
      "mean_reversion_score": 72
    }
  ],
  "rejected_common_reasons": [
    "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)"
  ]
}
#2856openrouterdeepseek/deepseek-chat2026-05-09T20:06:37.967279+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": "US", "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": 1821.0, "unrealized_pnl": -46.228710462287104, "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": 147.175, "unrealized_pnl": 219.2854538826104, "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": 0.0, "avg_price": 39.92, "last_price": 36.92, "unrealized_pnl": 0.0, "opened_at": "2026-02-20T09:33:44.817899+00:00"}, {"symbol": "ATG_CFD.UK", "qty": 10.135135135135135, "avg_price": 296.0, "last_price": 320.0, "unrealized_pnl": 243.24324324324323, "opened_at": "2026-02-16T21:00:47.737392+00:00"}, {"symbol": "BBY_CFD.UK", "qty": 4.129387474191328, "avg_price": 726.5, "last_price": 823.0, "unrealized_pnl": 398.4858912594632, "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": 385.1, "unrealized_pnl": 172.1581548599673, "opened_at": "2026-03-10T10:41:24.306870+00:00"}, {"symbol": "BOY_CFD.UK", "qty": 4.73186119873817, "avg_price": 634.0, "last_price": 634.0, "unrealized_pnl": 0.0, "opened_at": "2026-03-27T09:59:46.331143+00:00"}, {"symbol": "BTRW_CFD.UK", "qty": 11.63241566498643, "avg_price": 257.9, "last_price": 264.3, "unrealized_pnl": 74.44746025591355, "opened_at": "2026-03-20T18:25:08.105367+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": 309.8, "unrealized_pnl": 176.3499658236499, "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": 8.748396127376648, "avg_price": 342.92, "last_price": 342.92, "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": "CRST_CFD.UK", "qty": 29.013539651837522, "avg_price": 103.4, "last_price": 74.5, "unrealized_pnl": -838.4912959381046, "opened_at": "2026-03-20T10:26:40.341409+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": 248.0, "unrealized_pnl": -59.28853754940678, "opened_at": "2026-03-15T18:15:23.812047+00:00"}, {"symbol": "ERA_CFD.FR", "qty": 0.0, "avg_price": 47.4, "last_price": 45.76, "unrealized_pnl": 0.0, "opened_at": "2026-02-19T17:33:27.020111+00:00"}, {"symbol": "ESNT_CFD.UK", "qty": 0.0, "avg_price": 95.5, "last_price": 87.4, "unrealized_pnl": 0.0, "opened_at": "2026-03-20T10:26:40.341409+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": 10.55594651653765, "avg_price": 284.2, "last_price": 337.6, "unrealized_pnl": 563.6875439831109, "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": "HAIN_CFD.US", "qty": 0.0, "avg_price": 0.7051, "last_price": 0.6, "unrealized_pnl": 0.0, "opened_at": "2026-03-20T18:25:08.105367+00:00"}, {"symbol": "HAS_CFD.UK", "qty": 277.09359605911334, "avg_price": 32.48, "last_price": 32.56, "unrealized_pnl": 22.167487684730563, "opened_at": "2026-04-07T18:08:48.203875+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.05, "unrealized_pnl": -58.25242718446632, "opened_at": "2026-02-24T18:14:37.115518+00:00"}, {"symbol": "IHG_CFD.UK", "qty": 23.21083172147002, "avg_price": 129.25, "last_price": 149.35, "unrealized_pnl": 466.53771760154723, "opened_at": "2026-03-07T10:14:47.113218+00:00"}, {"symbol": "JDW_CFD.UK", "qty": 0.0, "avg_price": 664.5, "last_price": 588.0, "unrealized_pnl": 0.0, "opened_at": "2026-03-15T10:35:48.762746+00:00"}, {"symbol": "KGF_CFD.UK", "qty": 0.0, "avg_price": 315.6, "last_price": 298.6, "unrealized_pnl": 0.0, "opened_at": "2026-03-15T18:15:23.812047+00:00"}, {"symbol": "LMP_CFD.UK", "qty": 33.09431880860452, "avg_price": 181.3, "last_price": 187.9, "unrealized_pnl": 218.42250413678966, "opened_at": "2026-03-23T10:03:51.599067+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": 172.51293847038528, "avg_price": 17.39, "last_price": 25.7, "unrealized_pnl": 1433.5825186889015, "opened_at": "2026-03-08T18:08:31.007911+00:00"}, {"symbol": "MDM_CFD.FR", "qty": 3571.4285714285716, "avg_price": 0.84, "last_price": 0.63, "unrealized_pnl": -749.9999999999999, "opened_at": "2026-04-09T10:04:16.483403+00:00"}, {"symbol": "MSLH_CFD.UK", "qty": 0.0, "avg_price": 140.8, "last_price": 137.2, "unrealized_pnl": 0.0, "opened_at": "2026-03-21T17:59:11.913241+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": 0.0, "avg_price": 553.5815365927725, "last_price": 544.0, "unrealized_pnl": 0.0, "opened_at": "2026-03-12T18:01:52.554929+00:00"}, {"symbol": "PAGE_CFD.UK", "qty": 67.72009029345372, "avg_price": 132.9, "last_price": 139.0, "unrealized_pnl": 413.0925507900673, "opened_at": "2026-03-05T10:27:11.178069+00:00"}, {"symbol": "PHP_CFD.UK", "qty": 32.715376226826606, "avg_price": 91.7, "last_price": 92.95, "unrealized_pnl": 40.89422028353326, "opened_at": "2026-04-05T10:14:33.033169+00:00"}, {"symbol": "PSN_CFD.UK", "qty": 0.0, "avg_price": 1113.0, "last_price": 1078.5, "unrealized_pnl": 0.0, "opened_at": "2026-03-21T17:59:11.913241+00:00"}, {"symbol": "RHIM_CFD.UK", "qty": 0.0, "avg_price": 2550.0, "last_price": 2325.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": 0.0, "avg_price": 315.64, "last_price": 309.4, "unrealized_pnl": 0.0, "opened_at": "2026-03-16T10:12:30.296045+00:00"}, {"symbol": "RS1_CFD.UK", "qty": 5.323868677905945, "avg_price": 563.5, "last_price": 579.5, "unrealized_pnl": 85.18189884649512, "opened_at": "2026-04-05T18:04:47.891107+00:00"}, {"symbol": "SAFE_CFD.UK", "qty": 0.0, "avg_price": 708.0, "last_price": 643.5, "unrealized_pnl": 0.0, "opened_at": "2026-03-10T18:24:41.570614+00:00"}, {"symbol": "SPX_CFD.UK", "qty": 0.45871559633027525, "avg_price": 6540.0, "last_price": 7046.0, "unrealized_pnl": 232.11009174311928, "opened_at": "2026-03-27T09:59:46.331143+00:00"}, {"symbol": "SYNT_CFD.UK", "qty": 0.0, "avg_price": 18.4, "last_price": 38.9, "unrealized_pnl": 0.0, "opened_at": "2026-03-03T18:03:34.247734+00:00"}, {"symbol": "THG_CFD.UK", "qty": 207.7562326869806, "avg_price": 28.88, "last_price": 31.18, "unrealized_pnl": 477.83933518005557, "opened_at": "2026-04-07T18:08:48.203875+00:00"}, {"symbol": "TRN_CFD.UK", "qty": 0.0, "avg_price": 184.5, "last_price": 211.4, "unrealized_pnl": 0.0, "opened_at": "2026-03-03T18:03:34.247734+00:00"}, {"symbol": "UKW_CFD.UK", "qty": 97.45533297238767, "avg_price": 92.35, "last_price": 99.04, "unrealized_pnl": 651.9761775852746, "opened_at": "2026-02-20T09:33:44.817899+00:00"}, {"symbol": "UTG_CFD.UK", "qty": 0.0, "avg_price": 505.0, "last_price": 461.2, "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": 0.0, "avg_price": 2345.0, "last_price": 2308.0, "unrealized_pnl": 0.0, "opened_at": "2026-03-13T18:17:31.188931+00:00"}], "candidates": [{"symbol": "CBG_CFD.UK", "mean_reversion_score": 85, "selection_reason": "Significant negative deviation from MA50 and MA200"}, {"symbol": "OCDO_CFD.UK", "mean_reversion_score": 80, "selection_reason": "Large negative deviation from MA50 and MA200"}, {"symbol": "IWG_CFD.UK", "mean_reversion_score": 78, "selection_reason": "Substantial negative deviation from MA50 and MA200"}, {"symbol": "FMC_CFD.US", "mean_reversion_score": 75, "selection_reason": "Significant negative deviation from MA50 and MA200"}, {"symbol": "TSCO_CFD.US", "mean_reversion_score": 72, "selection_reason": "Large negative deviation from MA50 and MA200"}], "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": "Significant negative deviation from MA50 and MA200",
        "symbol": "CBG_CFD.UK",
        "position_size": 3000
      },
      {
        "reason": "Large negative deviation from MA50 and MA200",
        "symbol": "OCDO_CFD.UK",
        "position_size": 3000
      }
    ],
    "hold": [
      {
        "reason": "Marginal deviation from mean-reversion strategy",
        "symbol": "ABF_CFD.UK"
      },
      {
        "reason": "Positive unrealized PnL and alignment with mean-reversion strategy",
        "symbol": "ADS_CFD.DE"
      },
      {
        "reason": "Positive unrealized PnL and alignment with mean-reversion strategy",
        "symbol": "ATG_CFD.UK"
      },
      {
        "reason": "Positive unrealized PnL and alignment with mean-reversion strategy",
        "symbol": "BBY_CFD.UK"
      },
      {
        "reason": "Positive unrealized PnL and alignment with mean-reversion strategy",
        "symbol": "BLND_CFD.UK"
      },
      {
        "reason": "No significant deviation from mean-reversion strategy",
        "symbol": "BOY_CFD.UK"
      },
      {
        "reason": "Marginal positive deviation from mean-reversion strategy",
        "symbol": "BTRW_CFD.UK"
      },
      {
        "reason": "Positive unrealized PnL and alignment with mean-reversion strategy",
        "symbol": "BYIT_CFD.UK"
      },
      {
        "reason": "No significant deviation from mean-reversion strategy",
        "symbol": "CBG_CFD.UK"
      },
      {
        "reason": "Marginal negative deviation from mean-reversion strategy",
        "symbol": "EMG_CFD.UK"
      },
      {
        "reason": "Positive unrealized PnL and alignment with mean-reversion strategy",
        "symbol": "FUTR_CFD.UK"
      },
      {
        "reason": "No significant deviation from mean-reversion strategy",
        "symbol": "GRI_CFD.UK"
      },
      {
        "reason": "Marginal positive deviation from mean-reversion strategy",
        "symbol": "HAS_CFD.UK"
      },
      {
        "reason": "No significant deviation from mean-reversion strategy",
        "symbol": "HMSO_CFD.UK"
      },
      {
        "reason": "Marginal negative deviation from mean-reversion strategy",
        "symbol": "IEP_CFD.BE"
      },
      {
        "reason": "Positive unrealized PnL and alignment with mean-reversion strategy",
        "symbol": "IHG_CFD.UK"
      },
      {
        "reason": "Positive unrealized PnL and alignment with mean-reversion strategy",
        "symbol": "LMP_CFD.UK"
      },
      {
        "reason": "Positive unrealized PnL and alignment with mean-reversion strategy",
        "symbol": "MCG_CFD.UK"
      },
      {
        "reason": "Positive unrealized PnL and alignment with mean-reversion strategy",
        "symbol": "PAGE_CFD.UK"
      },
      {
        "reason": "Marginal positive deviation from mean-reversion strategy",
        "symbol": "PHP_CFD.UK"
      },
      {
        "reason": "Positive unrealized PnL and alignment with mean-reversion strategy",
        "symbol": "RS1_CFD.UK"
      },
      {
        "reason": "Positive unrealized PnL and alignment with mean-reversion strategy",
        "symbol": "SPX_CFD.UK"
      },
      {
        "reason": "Positive unrealized PnL and alignment with mean-reversion strategy",
        "symbol": "THG_CFD.UK"
      },
      {
        "reason": "Positive unrealized PnL and alignment with mean-reversion strategy",
        "symbol": "UKW_CFD.UK"
      },
      {
        "reason": "No significant deviation from mean-reversion strategy",
        "symbol": "WKP_CFD.UK"
      }
    ],
    "sell": [
      {
        "reason": "Significant unrealized loss and negative deviation from mean-reversion strategy",
        "symbol": "CRST_CFD.UK"
      },
      {
        "reason": "Significant unrealized loss and negative deviation from mean-reversion strategy",
        "symbol": "MDM_CFD.FR"
      }
    ]
  },
  "portfolio_rationale": "The portfolio has been adjusted to align with the mean-reversion strategy by selling positions with significant unrealized losses and negative deviations, and buying positions with significant negative deviations from their moving averages. The strategy avoids overtrading by limiting the number of buys and sells to two each, ensuring that only the most compelling opportunities are acted upon."
}
Selection logs
#1117stage12026-05-09T20:06:37.964468+00:00
{
  "selected_stocks": [
    {
      "symbol": "CBG_CFD.UK",
      "selection_reason": "Significant negative deviation from MA50 and MA200",
      "mean_reversion_score": 85
    },
    {
      "symbol": "OCDO_CFD.UK",
      "selection_reason": "Large negative deviation from MA50 and MA200",
      "mean_reversion_score": 80
    },
    {
      "symbol": "IWG_CFD.UK",
      "selection_reason": "Substantial negative deviation from MA50 and MA200",
      "mean_reversion_score": 78
    },
    {
      "symbol": "FMC_CFD.US",
      "selection_reason": "Significant negative deviation from MA50 and MA200",
      "mean_reversion_score": 75
    },
    {
      "symbol": "TSCO_CFD.US",
      "selection_reason": "Large negative deviation from MA50 and MA200",
      "mean_reversion_score": 72
    }
  ],
  "rejected_common_reasons": [
    "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)"
  ]
}