Arena run #831

meanrev-v1amazonamazon/nova-premier-v1USsuccess
Arena
Run status
as_of: 2026-03-24T18:12:08.252730+00:00
started_at: 2026-03-24T18:20:31.640721+00:00
finished_at: 2026-03-24T18:21:02.617958+00:00
duration_ms: 30976
Inputs
{
  "as_of": "2026-03-24T18:12:08.252730+00:00",
  "dry_run": false,
  "selected": [
    {
      "symbol": "PAG_CFD.UK",
      "selection_reason": "Near MA200 with low 1D volatility",
      "mean_reversion_score": 72
    },
    {
      "symbol": "EMG_CFD.UK",
      "selection_reason": "Moderate distance from MA50 with stable trend",
      "mean_reversion_score": 68
    },
    {
      "symbol": "HHFA_CFD.DE",
      "selection_reason": "Close to MA200 with low volatility",
      "mean_reversion_score": 65
    },
    {
      "symbol": "IPO_CFD.UK",
      "selection_reason": "Positive MA200 distance with controlled volatility",
      "mean_reversion_score": 62
    },
    {
      "symbol": "AB_CFD.FR",
      "selection_reason": "Significant underperformance vs MA200",
      "mean_reversion_score": 58
    }
  ],
  "simulate_only": false,
  "strict_replay": false,
  "universe_symbols": [
    "CRST_CFD.UK",
    "MSLH_CFD.UK",
    "LMP_CFD.UK",
    "ESNT_CFD.UK",
    "PAG_CFD.UK",
    "INVP_CFD.UK",
    "CBG_CFD.UK",
    "DLN_CFD.UK",
    "MCG_CFD.UK",
    "BT_CFD.UK",
    "IWG_CFD.UK",
    "MKS_CFD.UK",
    "EMG_CFD.UK",
    "MNG_CFD.UK",
    "PZC_CFD.UK",
    "LTA_CFD.FR",
    "OCDO_CFD.UK",
    "HWDN_CFD.UK",
    "LRE_CFD.UK",
    "IMI_CFD.UK",
    "BME_CFD.UK",
    "DCC_CFD.UK",
    "DOCS_CFD.UK",
    "ABDN_CFD.UK",
    "LIO_CFD.UK",
    "BBY_CFD.UK",
    "AB_CFD.FR",
    "OSB_CFD.UK",
    "MAB_CFD.UK",
    "KGF_CFD.UK",
    "HLMA_CFD.UK",
    "DOM_CFD.UK",
    "IPO_CFD.UK",
    "BTRW_CFD.UK",
    "GROW_CFD.UK",
    "BYIT_CFD.UK",
    "HIK_CFD.UK",
    "HHFA_CFD.DE",
    "INF_CFD.UK",
    "ATG_CFD.UK",
    "BLDR_CFD.US",
    "HMSO_CFD.UK",
    "NXT_CFD.UK",
    "BRNK_CFD.DE",
    "QDT_CFD.FR",
    "KSS_CFD.US",
    "OVH_CFD.FR",
    "IPR_CFD.PT",
    "DG_CFD.US",
    "AUTO_CFD.UK"
  ]
}
Outputs
{
  "actions": {
    "buy": [
      {
        "reason": "Top candidate with moderate MA distance",
        "symbol": "EMG_CFD.UK",
        "position_size": 3000
      },
      {
        "reason": "Second candidate with low volatility",
        "symbol": "HHFA_CFD.DE",
        "position_size": 3000
      }
    ],
    "hold": [
      {
        "reason": "No significant price movement",
        "symbol": "BBY_CFD.UK"
      },
      {
        "reason": "No significant price movement",
        "symbol": "CBG_CFD.UK"
      },
      {
        "reason": "No significant price movement",
        "symbol": "CRST_CFD.UK"
      },
      {
        "reason": "No significant price movement",
        "symbol": "DCC_CFD.UK"
      },
      {
        "reason": "No significant price movement",
        "symbol": "DLN_CFD.UK"
      },
      {
        "reason": "No significant price movement",
        "symbol": "ESNT_CFD.UK"
      },
      {
        "reason": "Profit locked but within acceptable range",
        "symbol": "FUTR_CFD.UK"
      },
      {
        "reason": "No significant price movement",
        "symbol": "HMSO_CFD.UK"
      },
      {
        "reason": "No significant price movement",
        "symbol": "HWDN_CFD.UK"
      },
      {
        "reason": "No significant price movement",
        "symbol": "IWG_CFD.UK"
      },
      {
        "reason": "No significant price movement",
        "symbol": "JDW_CFD.UK"
      },
      {
        "reason": "Profit locked but within acceptable range",
        "symbol": "KEX_CFD.US"
      },
      {
        "reason": "No significant price movement",
        "symbol": "LIO_CFD.UK"
      },
      {
        "reason": "No significant price movement",
        "symbol": "MAB_CFD.UK"
      },
      {
        "reason": "No significant price movement",
        "symbol": "OCDO_CFD.UK"
      },
      {
        "reason": "No significant price movement",
        "symbol": "PAGE_CFD.UK"
      },
      {
        "reason": "No significant price movement",
        "symbol": "PAG_CFD.UK"
      },
      {
        "reason": "No significant price movement",
        "symbol": "RHIM_CFD.UK"
      },
      {
        "reason": "No significant price movement",
        "symbol": "SAFE_CFD.UK"
      },
      {
        "reason": "No significant price movement",
        "symbol": "TPK_CFD.UK"
      },
      {
        "reason": "Profit locked but within acceptable range",
        "symbol": "UKW_CFD.UK"
      },
      {
        "reason": "No significant price movement",
        "symbol": "UTG_CFD.UK"
      },
      {
        "reason": "Profit locked but within acceptable range",
        "symbol": "WIZZ_CFD.UK"
      }
    ],
    "sell": [
      {
        "reason": "Realized loss exceeds threshold",
        "symbol": "BTRW_CFD.UK"
      }
    ]
  },
  "portfolio_rationale": "Maintaining core positions while reallocating from underperforming asset. Adding EMG and HHFA based on mean-reversion metrics while respecting max_buys constraint."
}
Prompts & responses
#1636openrouteramazon/nova-premier-v12026-03-24T18:20:31.683024+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": "CRST_CFD.UK", "name": "CREST NICHOLSON HOLDINGS", "sector": "", "last_price": 167.8, "change_1d_pct": 24.85119047619049, "distance_from_ma200_pct": 1.2720261375977815, "distance_from_ma50_pct": 17.82963155418549, "volatility_20d_pct": 158.46878099582966, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "MSLH_CFD.UK", "name": "MARSHALLS PLC", "sector": "", "last_price": 179.0, "change_1d_pct": 2.052451539338662, "distance_from_ma200_pct": -18.41965657865713, "distance_from_ma50_pct": 4.539832012082234, "volatility_20d_pct": 102.90810964969117, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "LMP_CFD.UK", "name": "LONDONMETRIC PROPERTY PLC", "sector": "", "last_price": 214.0, "change_1d_pct": 11.57455683003128, "distance_from_ma200_pct": 12.507879494597773, "distance_from_ma50_pct": 10.77384329331672, "volatility_20d_pct": 54.89150861607771, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "ESNT_CFD.UK", "name": "ESSENTRA PLC", "sector": "", "last_price": 108.4, "change_1d_pct": 4.230769230769238, "distance_from_ma200_pct": 7.40452119530135, "distance_from_ma50_pct": 9.771484932749797, "volatility_20d_pct": 98.9832071461764, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "PAG_CFD.UK", "name": "PARAGON BANKING GROUP PLC", "sector": "", "last_price": 852.5, "change_1d_pct": -3.399433427762044, "distance_from_ma200_pct": -1.3404962254783492, "distance_from_ma50_pct": 0.699141440891915, "volatility_20d_pct": 71.52779356208148, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "INVP_CFD.UK", "name": "INVESTEC PLC", "sector": "", "last_price": 623.5, "change_1d_pct": 8.529155787641418, "distance_from_ma200_pct": 17.34715626999408, "distance_from_ma50_pct": 9.569618971869698, "volatility_20d_pct": 76.97154585310399, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "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": "MCG_CFD.UK", "name": "MOBICO GROUP PLC", "sector": "", "last_price": 25.72, "change_1d_pct": 2.9623698959167166, "distance_from_ma200_pct": -7.132760074308242, "distance_from_ma50_pct": 8.327577202351844, "volatility_20d_pct": 232.19808875565576, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "BT_CFD.UK", "name": "BT GROUP PLC", "sector": "", "last_price": 217.3, "change_1d_pct": 4.521404521404526, "distance_from_ma200_pct": 12.48931662093067, "distance_from_ma50_pct": 10.274676813493189, "volatility_20d_pct": 92.38992239372133, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "IWG_CFD.UK", "name": "IWG PLC", "sector": "", "last_price": 189.6, "change_1d_pct": -24.09927942353883, "distance_from_ma200_pct": -11.798015594910993, "distance_from_ma50_pct": -17.03351041019402, "volatility_20d_pct": 148.96998448946707, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "MKS_CFD.UK", "name": "MARKS & SPENCER GROUP PLC", "sector": "", "last_price": 346.1, "change_1d_pct": -7.43514308638672, "distance_from_ma200_pct": -3.8050775687949234, "distance_from_ma50_pct": -2.7644562367007075, "volatility_20d_pct": 113.7533392971785, "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": "MNG_CFD.UK", "name": "M&G PLC", "sector": "", "last_price": 279.6, "change_1d_pct": -11.937007874015737, "distance_from_ma200_pct": 3.6912374599800346, "distance_from_ma50_pct": -7.6737144159107595, "volatility_20d_pct": 91.15993052698488, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "PZC_CFD.UK", "name": "PZ CUSSONS PLC", "sector": "", "last_price": 77.7, "change_1d_pct": -13.858093126385807, "distance_from_ma200_pct": 2.9808107121248817, "distance_from_ma50_pct": 2.5905093876257723, "volatility_20d_pct": 92.73478468401771, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "LTA_CFD.FR", "name": "ALTAMIR", "sector": "", "last_price": 26.58, "change_1d_pct": -3.3102946526009425, "distance_from_ma200_pct": -6.386926289741979, "distance_from_ma50_pct": -6.995167107780642, "volatility_20d_pct": 78.6048870937708, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "OCDO_CFD.UK", "name": "OCADO GROUP PLC", "sector": "", "last_price": 217.0, "change_1d_pct": -21.148255813953487, "distance_from_ma200_pct": -15.81606625159202, "distance_from_ma50_pct": -5.48311196636071, "volatility_20d_pct": 241.3119670937803, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "HWDN_CFD.UK", "name": "HOWDEN JOINERY GROUP PLC", "sector": "", "last_price": 843.0, "change_1d_pct": -2.686229466563539, "distance_from_ma200_pct": 2.9144756901175572, "distance_from_ma50_pct": 0.6796292983215046, "volatility_20d_pct": 44.16384759940265, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "LRE_CFD.UK", "name": "LANCASHIRE HOLDINGS LTD", "sector": "", "last_price": 611.0, "change_1d_pct": -7.424242424242422, "distance_from_ma200_pct": 0.4068944205071867, "distance_from_ma50_pct": -6.396619125545266, "volatility_20d_pct": 86.32350801127552, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "IMI_CFD.UK", "name": "IMI PLC", "sector": "", "last_price": 2676.0, "change_1d_pct": 1.5945330296127658, "distance_from_ma200_pct": 20.655603593859716, "distance_from_ma50_pct": 2.743599661176499, "volatility_20d_pct": 90.40898907393799, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "BME_CFD.UK", "name": "B&M EUROPEAN VALUE RETAIL SA", "sector": "", "last_price": 168.5, "change_1d_pct": -5.123873873873874, "distance_from_ma200_pct": -22.143264248764517, "distance_from_ma50_pct": -2.809133288189092, "volatility_20d_pct": 127.41578734735941, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "DCC_CFD.UK", "name": "DCC PLC", "sector": "", "last_price": 4738.0, "change_1d_pct": 4.131868131868122, "distance_from_ma200_pct": -1.2358165497191043, "distance_from_ma50_pct": -1.6950365081147445, "volatility_20d_pct": 101.79870451788292, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "DOCS_CFD.UK", "name": "DR. MARTENS PLC", "sector": "", "last_price": 65.6, "change_1d_pct": -1.501501501501501, "distance_from_ma200_pct": -13.08259339811949, "distance_from_ma50_pct": -12.14348468939509, "volatility_20d_pct": 121.2025974369199, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "ABDN_CFD.UK", "name": "Aberdeen Group Plc", "sector": "", "last_price": 202.6, "change_1d_pct": -7.741347905282336, "distance_from_ma200_pct": 6.460345885775287, "distance_from_ma50_pct": -2.3285905331046353, "volatility_20d_pct": 82.55854119558269, "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": "BBY_CFD.UK", "name": "BALFOUR BEATTY PLC", "sector": "", "last_price": 759.18, "change_1d_pct": 5.222453222453205, "distance_from_ma200_pct": 33.313724414201815, "distance_from_ma50_pct": 8.832962232591, "volatility_20d_pct": 54.25956465831767, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "AB_CFD.FR", "name": "AB Science", "sector": "", "last_price": 1.174, "change_1d_pct": -3.9279869067103124, "distance_from_ma200_pct": -9.499123128216013, "distance_from_ma50_pct": -11.838034303565525, "volatility_20d_pct": 75.02950867710489, "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": 544.0, "change_1d_pct": -12.82051282051282, "distance_from_ma200_pct": 1.2037008184198061, "distance_from_ma50_pct": -8.431783193394438, "volatility_20d_pct": 87.0803157010617, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "MAB_CFD.UK", "name": "MITCHELLS & BUTLERS PLC", "sector": "", "last_price": 292.81, "change_1d_pct": 14.37890625, "distance_from_ma200_pct": 11.595067041457764, "distance_from_ma50_pct": 10.935906392690597, "volatility_20d_pct": 118.87119977937589, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "KGF_CFD.UK", "name": "KINGFISHER PLC", "sector": "", "last_price": 309.6, "change_1d_pct": -14.143094841930115, "distance_from_ma200_pct": 5.51507100114581, "distance_from_ma50_pct": -4.715827882807844, "volatility_20d_pct": 104.60870893174696, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "HLMA_CFD.UK", "name": "HALMA PLC", "sector": "", "last_price": 3658.0, "change_1d_pct": -5.478036175710599, "distance_from_ma200_pct": 8.890890613176584, "distance_from_ma50_pct": -0.8317338451695466, "volatility_20d_pct": 89.73890792125391, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "DOM_CFD.UK", "name": "DOMINO'S PIZZA GROUP PLC", "sector": "", "last_price": 189.21, "change_1d_pct": 4.190528634361246, "distance_from_ma200_pct": -12.46581454882838, "distance_from_ma50_pct": 4.428944053991102, "volatility_20d_pct": 85.812071272284, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "IPO_CFD.UK", "name": "IP GROUP PLC", "sector": "", "last_price": 57.6, "change_1d_pct": -1.873935264054516, "distance_from_ma200_pct": 10.233643652522883, "distance_from_ma50_pct": -2.027486732888828, "volatility_20d_pct": 89.82123635439407, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "BTRW_CFD.UK", "name": "Barratt Redrow Plc", "sector": "", "last_price": 250.8, "change_1d_pct": -33.21439032833594, "distance_from_ma200_pct": -35.943900342194425, "distance_from_ma50_pct": -31.82125861001269, "volatility_20d_pct": 128.21792815079814, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "GROW_CFD.UK", "name": "MOLTEN VENTURES PLC", "sector": "", "last_price": 465.0, "change_1d_pct": 1.572739187418093, "distance_from_ma200_pct": 22.569628774815076, "distance_from_ma50_pct": -4.275686024250158, "volatility_20d_pct": 115.72658030340939, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "BYIT_CFD.UK", "name": "BYTES TECHNOLOGY GROUP PLC", "sector": "", "last_price": 300.4, "change_1d_pct": -12.674418604651173, "distance_from_ma200_pct": -28.03446775272175, "distance_from_ma50_pct": -14.34777426817815, "volatility_20d_pct": 87.82535981934274, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "HIK_CFD.UK", "name": "HIKMA PHARMACEUTICALS PLC", "sector": "", "last_price": 1271.0, "change_1d_pct": -18.941326530612244, "distance_from_ma200_pct": -28.65732725032737, "distance_from_ma50_pct": -15.445606311549753, "volatility_20d_pct": 155.60111264077167, "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": "HHFA_CFD.DE", "name": "HAMBURGER HAFEN UND LOGISTIK", "sector": "", "last_price": 22.9, "change_1d_pct": 0.0, "distance_from_ma200_pct": 8.286007461804346, "distance_from_ma50_pct": 0.3750256416550135, "volatility_20d_pct": 55.586552774997564, "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": "INF_CFD.UK", "name": "INFORMA PLC", "sector": "", "last_price": 756.4, "change_1d_pct": -14.492425955234012, "distance_from_ma200_pct": -10.927806304012677, "distance_from_ma50_pct": -13.84600805409979, "volatility_20d_pct": 89.53684626030801, "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": "BLDR_CFD.US", "name": "Builders FirstSource Inc", "sector": "", "last_price": 83.95, "change_1d_pct": 0.9135713427094627, "distance_from_ma200_pct": -28.916834813562275, "distance_from_ma50_pct": -22.851702500725978, "volatility_20d_pct": 97.46952972265542, "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": "NXT_CFD.UK", "name": "NEXT PLC", "sector": "", "last_price": 12560.0, "change_1d_pct": -6.478034251675357, "distance_from_ma200_pct": -1.3592309227407728, "distance_from_ma50_pct": -7.68316285245737, "volatility_20d_pct": 74.74482929593471, "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.331, "change_1d_pct": -10.910307898259708, "distance_from_ma200_pct": -30.535803287415288, "distance_from_ma50_pct": -25.291872474180522, "volatility_20d_pct": 173.33614285159015, "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": "QDT_CFD.FR", "name": "", "sector": "", "last_price": 12.8, "change_1d_pct": 0.0, "distance_from_ma200_pct": -14.516900275950128, "distance_from_ma50_pct": -11.265779786621932, "volatility_20d_pct": 73.68150412533132, "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": "KSS_CFD.US", "name": "KOHLS CORP", "sector": "", "last_price": 12.85, "change_1d_pct": 6.727574750830567, "distance_from_ma200_pct": -18.551806755446265, "distance_from_ma50_pct": -23.329355608591896, "volatility_20d_pct": 143.67670881245292, "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": "OVH_CFD.FR", "name": "OVH Groupe SA ", "sector": "", "last_price": 8.5, "change_1d_pct": -2.912621359223311, "distance_from_ma200_pct": -12.3012010092584, "distance_from_ma50_pct": -6.807646597053807, "volatility_20d_pct": 97.27402098995047, "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": "IPR_CFD.PT", "name": "Impresa SGPS SA", "sector": "", "last_price": 0.185, "change_1d_pct": -3.645833333333337, "distance_from_ma200_pct": 18.21086261980831, "distance_from_ma50_pct": -3.181913334728914, "volatility_20d_pct": 211.6528623619224, "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": "DG_CFD.US", "name": "Dollar General Corporation", "sector": "", "last_price": 121.02, "change_1d_pct": -4.392479064623167, "distance_from_ma200_pct": 0.5837046419604031, "distance_from_ma50_pct": -16.554044736188867, "volatility_20d_pct": 78.8686754657176, "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": "AUTO_CFD.UK", "name": "AUTOTRADER GROUP PLC", "sector": "", "last_price": 490.4, "change_1d_pct": -38.63326367424575, "distance_from_ma200_pct": -37.426260695289436, "distance_from_ma50_pct": -31.896720766000808, "volatility_20d_pct": 130.06763966702516, "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": "PAG_CFD.UK",
      "selection_reason": "Near MA200 with low 1D volatility",
      "mean_reversion_score": 72
    },
    {
      "symbol": "EMG_CFD.UK",
      "selection_reason": "Moderate distance from MA50 with stable trend",
      "mean_reversion_score": 68
    },
    {
      "symbol": "HHFA_CFD.DE",
      "selection_reason": "Close to MA200 with low volatility",
      "mean_reversion_score": 65
    },
    {
      "symbol": "IPO_CFD.UK",
      "selection_reason": "Positive MA200 distance with controlled volatility",
      "mean_reversion_score": 62
    },
    {
      "symbol": "AB_CFD.FR",
      "selection_reason": "Significant underperformance vs MA200",
      "mean_reversion_score": 58
    }
  ],
  "rejected_common_reasons": [
    "Extreme 1D movement >10%",
    "Volatility >100%",
    "Missing sector classification"
  ]
}
#1637openrouteramazon/nova-premier-v12026-03-24T18:20:42.259724+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": "ABDN_CFD.UK", "qty": 0.0, "avg_price": 202.6, "last_price": 193.2, "unrealized_pnl": 0.0, "opened_at": "2026-03-19T10:09:24.325041+00:00"}, {"symbol": "ADBE_CFD.US", "qty": 0.0, "avg_price": 249.47, "last_price": 248.05, "unrealized_pnl": 0.0, "opened_at": "2026-03-14T18:06:47.909233+00:00"}, {"symbol": "ADP_CFD.FR", "qty": 0.0, "avg_price": 117.5, "last_price": 115.1, "unrealized_pnl": -61.276595744680996, "opened_at": "2026-02-25T10:57:06.928276+00:00"}, {"symbol": "AKAM_CFD.US", "qty": 0.0, "avg_price": 97.455, "last_price": 107.67, "unrealized_pnl": 0.0, "opened_at": "2026-02-23T18:14:12.978497+00:00"}, {"symbol": "BBY_CFD.UK", "qty": 4.129387474191328, "avg_price": 726.5, "last_price": 726.5, "unrealized_pnl": 0.0, "opened_at": "2026-03-20T18:25:08.105367+00:00"}, {"symbol": "BIG_CFD.FR", "qty": 0.0, "avg_price": 0.453, "last_price": 0.296, "unrealized_pnl": 0.0, "opened_at": "2026-02-21T17:32:49.140800+00:00"}, {"symbol": "BRBY_CFD.UK", "qty": 0.0, "avg_price": 1119.08, "last_price": 1067.5, "unrealized_pnl": 0.0, "opened_at": "2026-03-02T10:31:26.559356+00:00"}, {"symbol": "BRNL_CFD.NL", "qty": 0.0, "avg_price": 7.05, "last_price": 6.68, "unrealized_pnl": 0.0, "opened_at": "2026-02-23T10:32:09.961595+00:00"}, {"symbol": "BTRW_CFD.UK", "qty": 11.63241566498643, "avg_price": 257.9, "last_price": 250.8, "unrealized_pnl": -82.59015122140326, "opened_at": "2026-03-02T18:21:09.503139+00:00"}, {"symbol": "BT_CFD.UK", "qty": 0.0, "avg_price": 211.0, "last_price": 207.8, "unrealized_pnl": 0.0, "opened_at": "2026-03-03T10:20:03.276878+00:00"}, {"symbol": "BYIT_CFD.UK", "qty": 20.505809979494188, "avg_price": 292.6, "last_price": 292.6, "unrealized_pnl": 0.0, "opened_at": "2026-02-16T09:30:55.514112+00:00"}, {"symbol": "CABO_CFD.US", "qty": 0.0, "avg_price": 94.6, "last_price": 111.495, "unrealized_pnl": 535.7822410147995, "opened_at": "2026-02-27T18:23:55.960577+00:00"}, {"symbol": "CBG_CFD.UK", "qty": 8.748396127376648, "avg_price": 342.92, "last_price": 342.92, "unrealized_pnl": 0.0, "opened_at": "2026-03-04T10:26:53.527562+00:00"}, {"symbol": "CCL_CFD.UK", "qty": 0.0, "avg_price": 1945.9999999999998, "last_price": 1842.0, "unrealized_pnl": 0.0, "opened_at": "2026-03-06T18:02:13.212382+00:00"}, {"symbol": "CO_CFD.FR", "qty": 0.0, "avg_price": 0.171, "last_price": 0.165, "unrealized_pnl": 0.0, "opened_at": "2026-03-06T10:33:43.857578+00:00"}, {"symbol": "CRST_CFD.UK", "qty": 25.246149962130776, "avg_price": 118.83, "last_price": 118.83, "unrealized_pnl": 0.0, "opened_at": "2026-03-19T10:09:24.325041+00:00"}, {"symbol": "DCC_CFD.UK", "qty": 0.6651884700665188, "avg_price": 4510.0, "last_price": 4510.0, "unrealized_pnl": 0.0, "opened_at": "2026-03-23T10:03:51.599067+00:00"}, {"symbol": "DLN_CFD.UK", "qty": 4.966887417218543, "avg_price": 1812.0, "last_price": 1812.0, "unrealized_pnl": 0.0, "opened_at": "2026-03-12T18:01:52.554929+00:00"}, {"symbol": "DSY_CFD.FR", "qty": 0.0, "avg_price": 17.881, "last_price": 16.752, "unrealized_pnl": 0.0, "opened_at": "2026-02-16T09:30:55.514112+00:00"}, {"symbol": "ERA_CFD.FR", "qty": 0.0, "avg_price": 47.4, "last_price": 46.329, "unrealized_pnl": 0.0, "opened_at": "2026-02-19T17:33:27.020111+00:00"}, {"symbol": "ESNT_CFD.UK", "qty": 31.413612565445025, "avg_price": 95.5, "last_price": 95.5, "unrealized_pnl": 0.0, "opened_at": "2026-03-20T10:26:40.341409+00:00"}, {"symbol": "ESTC_CFD.US", "qty": 0.0, "avg_price": 58.085, "last_price": 55.355000000000004, "unrealized_pnl": 0.0, "opened_at": "2026-02-20T17:33:34.647633+00:00"}, {"symbol": "EXE_CFD.FR", "qty": 0.0, "avg_price": 37.303, "last_price": 35.843, "unrealized_pnl": 0.0, "opened_at": "2026-02-24T18:14:37.115518+00:00"}, {"symbol": "EZJ_CFD.UK", "qty": 0.0, "avg_price": 405.2, "last_price": 394.1, "unrealized_pnl": 0.0, "opened_at": "2026-02-21T09:33:26.900894+00:00"}, {"symbol": "FBIN_CFD.US", "qty": 0.0, "avg_price": 42.790000000000006, "last_price": 41.445, "unrealized_pnl": 0.0, "opened_at": "2026-03-05T18:20:59.102726+00:00"}, {"symbol": "FICO_CFD.US", "qty": 2.6609662855571625, "avg_price": 1127.4099999999999, "last_price": 1010.79, "unrealized_pnl": -310.321888221676, "opened_at": "2026-03-14T18:06:47.909233+00:00"}, {"symbol": "FUTR_CFD.UK", "qty": 29.709178385970056, "avg_price": 403.9155793573515, "last_price": 414.2, "unrealized_pnl": 305.5416874687975, "opened_at": "2026-02-18T09:36:37.284518+00:00"}, {"symbol": "GNRC_CFD.US", "qty": 0.0, "avg_price": 200.66, "last_price": 198.98, "unrealized_pnl": 0.0, "opened_at": "2026-03-09T18:18:45.954380+00:00"}, {"symbol": "GO_CFD.US", "qty": 0.0, "avg_price": 6.53, "last_price": 6.35, "unrealized_pnl": 0.0, "opened_at": "2026-03-05T18:20:59.102726+00:00"}, {"symbol": "HAIN_CFD.US", "qty": 0.0, "avg_price": 0.8, "last_price": 0.8, "unrealized_pnl": 0.0, "opened_at": "2026-02-27T18:23:55.960577+00:00"}, {"symbol": "HELE_CFD.US", "qty": 0.0, "avg_price": 15.94, "last_price": 15.78, "unrealized_pnl": 0.0, "opened_at": "2026-03-16T18:18:58.833148+00:00"}, {"symbol": "HIK_CFD.UK", "qty": 0.0, "avg_price": 1409.0, "last_price": 1342.0, "unrealized_pnl": -142.65436479772887, "opened_at": "2026-02-26T10:33:24.101894+00:00"}, {"symbol": "HMSO_CFD.UK", "qty": 8.600917431192661, "avg_price": 348.8, "last_price": 348.8, "unrealized_pnl": 0.0, "opened_at": "2026-02-23T18:14:12.978497+00:00"}, {"symbol": "HWDN_CFD.UK", "qty": 3.7783375314861463, "avg_price": 794.0, "last_price": 794.0, "unrealized_pnl": 0.0, "opened_at": "2026-03-20T10:26:40.341409+00:00"}, {"symbol": "IPO_CFD.UK", "qty": 0.0, "avg_price": 57.7, "last_price": 57.6, "unrealized_pnl": 0.0, "opened_at": "2026-02-20T09:33:44.817899+00:00"}, {"symbol": "ITV_CFD.UK", "qty": 0.0, "avg_price": 82.85, "last_price": 78.75, "unrealized_pnl": 0.0, "opened_at": "2026-03-13T10:07:39.444598+00:00"}, {"symbol": "IWG_CFD.UK", "qty": 16.949152542372882, "avg_price": 177.0, "last_price": 177.0, "unrealized_pnl": 0.0, "opened_at": "2026-03-19T18:04:14.272849+00:00"}, {"symbol": "JDW_CFD.UK", "qty": 4.514672686230249, "avg_price": 664.5, "last_price": 664.5, "unrealized_pnl": 0.0, "opened_at": "2026-03-15T10:35:48.762746+00:00"}, {"symbol": "KBCA_CFD.BE", "qty": 0.0, "avg_price": 75.3, "last_price": 75.1, "unrealized_pnl": 0.0, "opened_at": "2026-02-25T10:57:06.928276+00:00"}, {"symbol": "KEX_CFD.US", "qty": 24.390243902439025, "avg_price": 123.0, "last_price": 134.95, "unrealized_pnl": 291.4634146341461, "opened_at": "2026-03-09T18:18:45.954380+00:00"}, {"symbol": "KGF_CFD.UK", "qty": 0.0, "avg_price": 315.6, "last_price": 298.6, "unrealized_pnl": 0.0, "opened_at": "2026-03-14T10:03:26.036362+00:00"}, {"symbol": "LIO_CFD.UK", "qty": 23.300970873786408, "avg_price": 257.5, "last_price": 257.5, "unrealized_pnl": 0.0, "opened_at": "2026-02-21T09:33:26.900894+00:00"}, {"symbol": "LXS_CFD.DE", "qty": 0.0, "avg_price": 13.14, "last_price": 11.929, "unrealized_pnl": 0.0, "opened_at": "2026-03-06T10:33:43.857578+00:00"}, {"symbol": "MAB_CFD.UK", "qty": 10.624734381640458, "avg_price": 282.36, "last_price": 282.36, "unrealized_pnl": 0.0, "opened_at": "2026-03-21T17:59:11.913241+00:00"}, {"symbol": "NXST_CFD.US", "qty": 0.0, "avg_price": 233.02, "last_price": 226.38, "unrealized_pnl": -85.48622435842437, "opened_at": "2026-03-15T18:15:23.812047+00:00"}, {"symbol": "OCDO_CFD.UK", "qty": 14.684287812041115, "avg_price": 204.3, "last_price": 204.3, "unrealized_pnl": 0.0, "opened_at": "2026-03-01T10:30:13.622938+00:00"}, {"symbol": "OSB_CFD.UK", "qty": 0.0, "avg_price": 558.5, "last_price": 544.0, "unrealized_pnl": -155.7743957027753, "opened_at": "2026-03-13T10:07:39.444598+00:00"}, {"symbol": "PAGE_CFD.UK", "qty": 39.39490073936085, "avg_price": 152.3039755753258, "last_price": 152.7, "unrealized_pnl": 15.601342900401843, "opened_at": "2026-02-22T09:32:59.506254+00:00"}, {"symbol": "PAG_CFD.UK", "qty": 3.9190071848465053, "avg_price": 765.5, "last_price": 765.5, "unrealized_pnl": 0.0, "opened_at": "2026-03-23T10:03:51.599067+00:00"}, {"symbol": "REC_CFD.BE", "qty": 0.0, "avg_price": 11.08, "last_price": 10.68, "unrealized_pnl": 0.0, "opened_at": "2026-03-02T18:21:09.503139+00:00"}, {"symbol": "RHIM_CFD.UK", "qty": 1.2903225806451613, "avg_price": 2325.0, "last_price": 2325.0, "unrealized_pnl": 0.0, "opened_at": "2026-03-03T10:20:03.276878+00:00"}, {"symbol": "RMV_CFD.UK", "qty": 0.0, "avg_price": 424.3, "last_price": 416.0, "unrealized_pnl": 0.0, "opened_at": "2026-02-19T00:47:27.070066+00:00"}, {"symbol": "ROR_CFD.UK", "qty": 0.0, "avg_price": 315.64, "last_price": 309.4, "unrealized_pnl": 0.0, "opened_at": "2026-03-14T10:03:26.036362+00:00"}, {"symbol": "SAFE_CFD.UK", "qty": 4.662004662004662, "avg_price": 643.5, "last_price": 643.5, "unrealized_pnl": 0.0, "opened_at": "2026-03-23T18:04:09.108429+00:00"}, {"symbol": "SGE_CFD.UK", "qty": 0.0, "avg_price": 795.4, "last_price": 813.4, "unrealized_pnl": 0.0, "opened_at": "2026-02-16T17:30:52.485845+00:00"}, {"symbol": "SGRO_CFD.UK", "qty": 0.0, "avg_price": 735.4, "last_price": 723.8, "unrealized_pnl": 0.0, "opened_at": "2026-03-16T10:12:30.296045+00:00"}, {"symbol": "SYNT_CFD.UK", "qty": 0.0, "avg_price": 18.4, "last_price": 27.2, "unrealized_pnl": 0.0, "opened_at": "2026-03-03T18:03:34.247734+00:00"}, {"symbol": "TPK_CFD.UK", "qty": 5.328975415660082, "avg_price": 562.96, "last_price": 562.96, "unrealized_pnl": 0.0, "opened_at": "2026-03-21T10:00:02.317290+00:00"}, {"symbol": "TRN_CFD.UK", "qty": 0.0, "avg_price": 184.5, "last_price": 211.4, "unrealized_pnl": 0.0, "opened_at": "2026-03-05T10:27:11.178069+00:00"}, {"symbol": "UKW_CFD.UK", "qty": 64.97022198159178, "avg_price": 92.35, "last_price": 98.75, "unrealized_pnl": 415.80942068218775, "opened_at": "2026-02-20T09:33:44.817899+00:00"}, {"symbol": "UMG_CFD.NL", "qty": 0.0, "avg_price": 19.085, "last_price": 18.665, "unrealized_pnl": 0.0, "opened_at": "2026-02-19T09:33:49.074031+00:00"}, {"symbol": "UTG_CFD.UK", "qty": 17.821782178217823, "avg_price": 504.99999999999994, "last_price": 505.0, "unrealized_pnl": 1.0130510292025192e-12, "opened_at": "2026-03-04T10:26:53.527562+00:00"}, {"symbol": "VTY_CFD.UK", "qty": 0.0, "avg_price": 427.6, "last_price": 406.1, "unrealized_pnl": 0.0, "opened_at": "2026-03-10T18:24:41.570614+00:00"}, {"symbol": "WIZZ_CFD.UK", "qty": 3.4403669724770642, "avg_price": 872.0, "last_price": 894.0, "unrealized_pnl": 75.68807339449542, "opened_at": "2026-02-25T17:57:28.313088+00:00"}, {"symbol": "WPP_CFD.UK", "qty": 0.0, "avg_price": 263.4, "last_price": 240.8, "unrealized_pnl": 0.0, "opened_at": "2026-02-16T17:30:52.485845+00:00"}, {"symbol": "WTB_CFD.UK", "qty": 1.279317697228145, "avg_price": 2345.0, "last_price": 2308.0, "unrealized_pnl": -47.33475479744136, "opened_at": "2026-03-13T18:17:31.188931+00:00"}, {"symbol": "XRX_CFD.US", "qty": 0.0, "avg_price": 1.56, "last_price": 1.52, "unrealized_pnl": 0.0, "opened_at": "2026-03-16T18:18:58.833148+00:00"}, {"symbol": "ZS_CFD.US", "qty": 0.0, "avg_price": 159.76, "last_price": 144.45, "unrealized_pnl": 0.0, "opened_at": "2026-02-21T17:32:49.140800+00:00"}], "candidates": [{"symbol": "PAG_CFD.UK", "mean_reversion_score": 72, "selection_reason": "Near MA200 with low 1D volatility"}, {"symbol": "EMG_CFD.UK", "mean_reversion_score": 68, "selection_reason": "Moderate distance from MA50 with stable trend"}, {"symbol": "HHFA_CFD.DE", "mean_reversion_score": 65, "selection_reason": "Close to MA200 with low volatility"}, {"symbol": "IPO_CFD.UK", "mean_reversion_score": 62, "selection_reason": "Positive MA200 distance with controlled volatility"}, {"symbol": "AB_CFD.FR", "mean_reversion_score": 58, "selection_reason": "Significant underperformance vs 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": "Top candidate with moderate MA distance",
        "symbol": "EMG_CFD.UK",
        "position_size": 3000
      },
      {
        "reason": "Second candidate with low volatility",
        "symbol": "HHFA_CFD.DE",
        "position_size": 3000
      }
    ],
    "hold": [
      {
        "reason": "No significant price movement",
        "symbol": "BBY_CFD.UK"
      },
      {
        "reason": "No significant price movement",
        "symbol": "CBG_CFD.UK"
      },
      {
        "reason": "No significant price movement",
        "symbol": "CRST_CFD.UK"
      },
      {
        "reason": "No significant price movement",
        "symbol": "DCC_CFD.UK"
      },
      {
        "reason": "No significant price movement",
        "symbol": "DLN_CFD.UK"
      },
      {
        "reason": "No significant price movement",
        "symbol": "ESNT_CFD.UK"
      },
      {
        "reason": "Profit locked but within acceptable range",
        "symbol": "FUTR_CFD.UK"
      },
      {
        "reason": "No significant price movement",
        "symbol": "HMSO_CFD.UK"
      },
      {
        "reason": "No significant price movement",
        "symbol": "HWDN_CFD.UK"
      },
      {
        "reason": "No significant price movement",
        "symbol": "IWG_CFD.UK"
      },
      {
        "reason": "No significant price movement",
        "symbol": "JDW_CFD.UK"
      },
      {
        "reason": "Profit locked but within acceptable range",
        "symbol": "KEX_CFD.US"
      },
      {
        "reason": "No significant price movement",
        "symbol": "LIO_CFD.UK"
      },
      {
        "reason": "No significant price movement",
        "symbol": "MAB_CFD.UK"
      },
      {
        "reason": "No significant price movement",
        "symbol": "OCDO_CFD.UK"
      },
      {
        "reason": "No significant price movement",
        "symbol": "PAGE_CFD.UK"
      },
      {
        "reason": "No significant price movement",
        "symbol": "PAG_CFD.UK"
      },
      {
        "reason": "No significant price movement",
        "symbol": "RHIM_CFD.UK"
      },
      {
        "reason": "No significant price movement",
        "symbol": "SAFE_CFD.UK"
      },
      {
        "reason": "No significant price movement",
        "symbol": "TPK_CFD.UK"
      },
      {
        "reason": "Profit locked but within acceptable range",
        "symbol": "UKW_CFD.UK"
      },
      {
        "reason": "No significant price movement",
        "symbol": "UTG_CFD.UK"
      },
      {
        "reason": "Profit locked but within acceptable range",
        "symbol": "WIZZ_CFD.UK"
      }
    ],
    "sell": [
      {
        "reason": "Realized loss exceeds threshold",
        "symbol": "BTRW_CFD.UK"
      }
    ]
  },
  "portfolio_rationale": "Maintaining core positions while reallocating from underperforming asset. Adding EMG and HHFA based on mean-reversion metrics while respecting max_buys constraint."
}
Selection logs
#810stage12026-03-24T18:20:42.256888+00:00
{
  "selected_stocks": [
    {
      "symbol": "PAG_CFD.UK",
      "selection_reason": "Near MA200 with low 1D volatility",
      "mean_reversion_score": 72
    },
    {
      "symbol": "EMG_CFD.UK",
      "selection_reason": "Moderate distance from MA50 with stable trend",
      "mean_reversion_score": 68
    },
    {
      "symbol": "HHFA_CFD.DE",
      "selection_reason": "Close to MA200 with low volatility",
      "mean_reversion_score": 65
    },
    {
      "symbol": "IPO_CFD.UK",
      "selection_reason": "Positive MA200 distance with controlled volatility",
      "mean_reversion_score": 62
    },
    {
      "symbol": "AB_CFD.FR",
      "selection_reason": "Significant underperformance vs MA200",
      "mean_reversion_score": 58
    }
  ],
  "rejected_common_reasons": [
    "Extreme 1D movement >10%",
    "Volatility >100%",
    "Missing sector classification"
  ]
}