Arena run #953

meanrev-v1deepseekdeepseek/deepseek-chatUSsuccess
Arena
Run status
as_of: 2026-03-30T17:49:05.858690+00:00
started_at: 2026-03-30T20:14:28.363122+00:00
finished_at: 2026-03-30T20:15:57.049622+00:00
duration_ms: 88685
Inputs
{
  "as_of": "2026-03-30T17:49:05.858690+00:00",
  "dry_run": false,
  "selected": [
    {
      "symbol": "MSLH_CFD.UK",
      "selection_reason": "Significant negative distance from MA200 and moderate volatility",
      "mean_reversion_score": 75
    },
    {
      "symbol": "PAGE_CFD.UK",
      "selection_reason": "Large negative distance from MA200 and MA50, high volatility",
      "mean_reversion_score": 80
    },
    {
      "symbol": "FUTR_CFD.UK",
      "selection_reason": "Substantial negative distance from MA200 and MA50, high volatility",
      "mean_reversion_score": 78
    },
    {
      "symbol": "MCG_CFD.UK",
      "selection_reason": "Large negative distance from MA200 and MA50, very high volatility",
      "mean_reversion_score": 82
    },
    {
      "symbol": "UTG_CFD.UK",
      "selection_reason": "Significant negative distance from MA200 and MA50, moderate volatility",
      "mean_reversion_score": 77
    }
  ],
  "simulate_only": false,
  "strict_replay": false,
  "universe_symbols": [
    "CRST_CFD.UK",
    "MSLH_CFD.UK",
    "BOY_CFD.UK",
    "LMP_CFD.UK",
    "SPX_CFD.UK",
    "PAGE_CFD.UK",
    "FUTR_CFD.UK",
    "ESNT_CFD.UK",
    "JDW_CFD.UK",
    "MCG_CFD.UK",
    "SHC_CFD.UK",
    "PAG_CFD.UK",
    "INVP_CFD.UK",
    "SAFE_CFD.UK",
    "RHIM_CFD.UK",
    "UTG_CFD.UK",
    "CBG_CFD.UK",
    "RSW_CFD.UK",
    "DLN_CFD.UK",
    "EMG_CFD.UK",
    "PZC_CFD.UK",
    "DOM_CFD.UK",
    "OCDO_CFD.UK",
    "HWDN_CFD.UK",
    "LRE_CFD.UK",
    "ABDN_CFD.UK",
    "LIO_CFD.UK",
    "BBY_CFD.UK",
    "MAB_CFD.UK",
    "KGF_CFD.UK",
    "PSN_CFD.UK",
    "RHK_CFD.DE",
    "IPO_CFD.UK",
    "CMCX_CFD.UK",
    "GRG_CFD.UK",
    "IWG_CFD.UK",
    "SRP_CFD.UK",
    "BYIT_CFD.UK",
    "HIK_CFD.UK",
    "UKW_CFD.UK",
    "TBCG_CFD.UK",
    "VIAV_CFD.US",
    "ATG_CFD.UK",
    "ROR_CFD.UK",
    "HMSO_CFD.UK",
    "GLO_CFD.FR"
  ]
}
Outputs
{
  "actions": {
    "buy": [
      {
        "reason": "Large negative distance from MA200 and MA50, very high volatility",
        "symbol": "MCG_CFD.UK",
        "position_size": 3000
      },
      {
        "reason": "Large negative distance from MA200 and MA50, high volatility",
        "symbol": "PAGE_CFD.UK",
        "position_size": 3000
      }
    ],
    "hold": [
      {
        "reason": "Marginal unrealized loss, no clear improvement",
        "symbol": "ABF_CFD.UK"
      },
      {
        "reason": "No position, no clear improvement",
        "symbol": "ADJ_CFD.DE"
      },
      {
        "reason": "Marginal unrealized loss, no clear improvement",
        "symbol": "ADS_CFD.DE"
      },
      {
        "reason": "No position, no clear improvement",
        "symbol": "AIR_CFD.DE"
      },
      {
        "reason": "No position, no clear improvement",
        "symbol": "AMH_CFD.US"
      },
      {
        "reason": "No position, no clear improvement",
        "symbol": "AML_CFD.UK"
      },
      {
        "reason": "Positive unrealized gain, no clear improvement",
        "symbol": "ATG_CFD.UK"
      },
      {
        "reason": "No unrealized gain/loss, no clear improvement",
        "symbol": "BBY_CFD.UK"
      },
      {
        "reason": "No position, no clear improvement",
        "symbol": "BIG_CFD.FR"
      },
      {
        "reason": "Marginal unrealized loss, no clear improvement",
        "symbol": "BLND_CFD.UK"
      },
      {
        "reason": "No unrealized gain/loss, no clear improvement",
        "symbol": "BOY_CFD.UK"
      },
      {
        "reason": "Positive unrealized gain, no clear improvement",
        "symbol": "BTRW_CFD.UK"
      },
      {
        "reason": "No position, no clear improvement",
        "symbol": "BT_CFD.UK"
      },
      {
        "reason": "No unrealized gain/loss, no clear improvement",
        "symbol": "BYIT_CFD.UK"
      },
      {
        "reason": "No position, no clear improvement",
        "symbol": "BYW6_CFD.DE"
      },
      {
        "reason": "No unrealized gain/loss, no clear improvement",
        "symbol": "CBG_CFD.UK"
      },
      {
        "reason": "No position, no clear improvement",
        "symbol": "CCC_CFD.UK"
      },
      {
        "reason": "No position, no clear improvement",
        "symbol": "CCL_CFD.UK"
      },
      {
        "reason": "No position, no clear improvement",
        "symbol": "CO_CFD.FR"
      },
      {
        "reason": "No position, no clear improvement",
        "symbol": "CRDA_CFD.UK"
      },
      {
        "reason": "No unrealized gain/loss, no clear improvement",
        "symbol": "CRST_CFD.UK"
      },
      {
        "reason": "No position, no clear improvement",
        "symbol": "CRWD_CFD.US"
      },
      {
        "reason": "No unrealized gain/loss, no clear improvement",
        "symbol": "EMG_CFD.UK"
      },
      {
        "reason": "No position, no clear improvement",
        "symbol": "ERA_CFD.FR"
      },
      {
        "reason": "No unrealized gain/loss, no clear improvement",
        "symbol": "ESNT_CFD.UK"
      },
      {
        "reason": "No position, no clear improvement",
        "symbol": "EZJ_CFD.UK"
      },
      {
        "reason": "No position, no clear improvement",
        "symbol": "FLO_CFD.US"
      },
      {
        "reason": "No position, no clear improvement",
        "symbol": "FRVIA_CFD.FR"
      },
      {
        "reason": "No unrealized gain/loss, no clear improvement",
        "symbol": "GRI_CFD.UK"
      },
      {
        "reason": "No position, no clear improvement",
        "symbol": "HAIN_CFD.US"
      },
      {
        "reason": "No position, no clear improvement",
        "symbol": "HIK_CFD.UK"
      },
      {
        "reason": "No unrealized gain/loss, no clear improvement",
        "symbol": "HMSO_CFD.UK"
      },
      {
        "reason": "Positive unrealized gain, no clear improvement",
        "symbol": "IEP_CFD.BE"
      },
      {
        "reason": "Positive unrealized gain, no clear improvement",
        "symbol": "IHG_CFD.UK"
      },
      {
        "reason": "No unrealized gain/loss, no clear improvement",
        "symbol": "JDW_CFD.UK"
      },
      {
        "reason": "No position, no clear improvement",
        "symbol": "KGF_CFD.UK"
      },
      {
        "reason": "No unrealized gain/loss, no clear improvement",
        "symbol": "LMP_CFD.UK"
      },
      {
        "reason": "No position, no clear improvement",
        "symbol": "LXS_CFD.DE"
      },
      {
        "reason": "No position, no clear improvement",
        "symbol": "OCDO_CFD.UK"
      },
      {
        "reason": "No position, no clear improvement",
        "symbol": "OSB_CFD.UK"
      },
      {
        "reason": "No position, no clear improvement",
        "symbol": "PSN_CFD.UK"
      },
      {
        "reason": "No position, no clear improvement",
        "symbol": "RHIM_CFD.UK"
      },
      {
        "reason": "No position, no clear improvement",
        "symbol": "RMV_CFD.UK"
      },
      {
        "reason": "No position, no clear improvement",
        "symbol": "ROR_CFD.UK"
      },
      {
        "reason": "No position, no clear improvement",
        "symbol": "SAFE_CFD.UK"
      },
      {
        "reason": "No unrealized gain/loss, no clear improvement",
        "symbol": "SPX_CFD.UK"
      },
      {
        "reason": "Significant unrealized gain, no clear improvement",
        "symbol": "SYNT_CFD.UK"
      },
      {
        "reason": "Significant unrealized gain, no clear improvement",
        "symbol": "TRN_CFD.UK"
      },
      {
        "reason": "Positive unrealized gain, no clear improvement",
        "symbol": "UKW_CFD.UK"
      },
      {
        "reason": "Marginal unrealized loss, no clear improvement",
        "symbol": "VTY_CFD.UK"
      },
      {
        "reason": "No position, no clear improvement",
        "symbol": "WIX_CFD.UK"
      },
      {
        "reason": "No position, no clear improvement",
        "symbol": "WIZZ_CFD.UK"
      },
      {
        "reason": "No unrealized gain/loss, no clear improvement",
        "symbol": "WKP_CFD.UK"
      },
      {
        "reason": "No position, no clear improvement",
        "symbol": "WPP_CFD.UK"
      },
      {
        "reason": "No position, no clear improvement",
        "symbol": "WTB_CFD.UK"
      }
    ],
    "sell": []
  },
  "portfolio_rationale": "The current portfolio is largely held due to marginal or no clear improvements in unrealized gains/losses. Two new positions are added based on mean-reversion signals: MCG_CFD.UK and PAGE_CFD.UK, both showing significant negative distances from moving averages and high volatility, aligning with the strategy's focus on mean-reversion opportunities."
}
Prompts & responses
#1861openrouterdeepseek/deepseek-chat2026-03-30T20:14:28.406140+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": "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": "LMP_CFD.UK", "name": "LONDONMETRIC PROPERTY PLC", "sector": "", "last_price": 214.0, "change_1d_pct": 11.57455683003128, "distance_from_ma200_pct": 12.507879494597773, "distance_from_ma50_pct": 10.77384329331672, "volatility_20d_pct": 54.89150861607771, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "SPX_CFD.UK", "name": "SPIRAX-SARCO ENGINEERING PLC", "sector": "", "last_price": 7608.71, "change_1d_pct": 10.91413994169097, "distance_from_ma200_pct": 15.905097055024719, "distance_from_ma50_pct": 8.459177525660632, "volatility_20d_pct": 84.71063298478786, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "PAGE_CFD.UK", "name": "PAGEGROUP PLC", "sector": "", "last_price": 152.7, "change_1d_pct": -36.79635761589404, "distance_from_ma200_pct": -40.61156091058385, "distance_from_ma50_pct": -31.72721647345812, "volatility_20d_pct": 193.22753953431183, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "FUTR_CFD.UK", "name": "FUTURE PLC", "sector": "", "last_price": 419.8, "change_1d_pct": -21.238273921200744, "distance_from_ma200_pct": -37.8057811437588, "distance_from_ma50_pct": -23.777028015845957, "volatility_20d_pct": 154.26286041137905, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "ESNT_CFD.UK", "name": "ESSENTRA PLC", "sector": "", "last_price": 108.4, "change_1d_pct": 4.230769230769238, "distance_from_ma200_pct": 7.40452119530135, "distance_from_ma50_pct": 9.771484932749797, "volatility_20d_pct": 98.9832071461764, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "JDW_CFD.UK", "name": "WETHERSPOON (J.D.) PLC", "sector": "", "last_price": 748.5, "change_1d_pct": 9.750733137829904, "distance_from_ma200_pct": 6.242631058659898, "distance_from_ma50_pct": 5.290077328071208, "volatility_20d_pct": 98.2373545531062, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "MCG_CFD.UK", "name": "MOBICO GROUP PLC", "sector": "", "last_price": 19.51, "change_1d_pct": -21.646586345381515, "distance_from_ma200_pct": -29.294942649537013, "distance_from_ma50_pct": -17.188746837807088, "volatility_20d_pct": 260.52106739031456, "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": "SHC_CFD.UK", "name": "SHAFTESBURY CAPITAL PLC", "sector": "", "last_price": 140.4, "change_1d_pct": -2.9045643153526868, "distance_from_ma200_pct": 0.26963533347688085, "distance_from_ma50_pct": -0.771073778544229, "volatility_20d_pct": 63.75522821252001, "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": "SAFE_CFD.UK", "name": "SAFESTORE HOLDINGS PLC", "sector": "", "last_price": 708.0, "change_1d_pct": 0.14144271570013522, "distance_from_ma200_pct": 7.079918522466522, "distance_from_ma50_pct": -2.535991476029087, "volatility_20d_pct": 107.99712610776675, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "RHIM_CFD.UK", "name": "RHI MAGNESITA NV", "sector": "", "last_price": 2550.0, "change_1d_pct": -6.764168190127973, "distance_from_ma200_pct": -2.35709026809392, "distance_from_ma50_pct": 0.9429816244979738, "volatility_20d_pct": 151.25590362229855, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "UTG_CFD.UK", "name": "UNITE GROUP PLC/THE", "sector": "", "last_price": 505.0, "change_1d_pct": -8.265213442325159, "distance_from_ma200_pct": -32.12786599325862, "distance_from_ma50_pct": -13.548388422126267, "volatility_20d_pct": 98.87339279796446, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "CBG_CFD.UK", "name": "CLOSE BROTHERS GROUP PLC", "sector": "", "last_price": 372.74, "change_1d_pct": -26.625984251968504, "distance_from_ma200_pct": -13.365429078084645, "distance_from_ma50_pct": -22.129222788055436, "volatility_20d_pct": 169.0552301316783, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "RSW_CFD.UK", "name": "RENISHAW PLC", "sector": "", "last_price": 4100.0, "change_1d_pct": 18.155619596541793, "distance_from_ma200_pct": 36.779911314574385, "distance_from_ma50_pct": 14.333028240759926, "volatility_20d_pct": 92.61568245477878, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "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": "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": "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": "DOM_CFD.UK", "name": "DOMINO'S PIZZA GROUP PLC", "sector": "", "last_price": 183.13, "change_1d_pct": -0.3102885138813294, "distance_from_ma200_pct": -15.070952368916624, "distance_from_ma50_pct": 1.0777282376278619, "volatility_20d_pct": 87.92203351330001, "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": "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": "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": 298.6, "change_1d_pct": -16.592178770949715, "distance_from_ma200_pct": 1.7661505198389493, "distance_from_ma50_pct": -8.10124743477527, "volatility_20d_pct": 106.76236046208503, "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": "PSN_CFD.UK", "name": "PERSIMMON PLC", "sector": "", "last_price": 1125.0, "change_1d_pct": -18.181818181818176, "distance_from_ma200_pct": -10.441765693528215, "distance_from_ma50_pct": -17.60321899687448, "volatility_20d_pct": 125.39714948121237, "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": "RHK_CFD.DE", "name": "Rhoen-Klinikum AG", "sector": "", "last_price": 12.6, "change_1d_pct": -0.7874015748031482, "distance_from_ma200_pct": 0.9608103787712929, "distance_from_ma50_pct": -2.533509907546072, "volatility_20d_pct": 111.99937384863638, "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": "CMCX_CFD.UK", "name": "CMC MARKETS PLC", "sector": "", "last_price": 336.5, "change_1d_pct": 6.487341772151889, "distance_from_ma200_pct": 33.727269096422944, "distance_from_ma50_pct": 13.399699398122245, "volatility_20d_pct": 207.2492443353413, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "GRG_CFD.UK", "name": "GREGGS PLC", "sector": "", "last_price": 1487.0, "change_1d_pct": -2.746893394375405, "distance_from_ma200_pct": -11.440882158395937, "distance_from_ma50_pct": -8.838105794389772, "volatility_20d_pct": 3782.806831632296, "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": 177.0, "change_1d_pct": -26.786896095301127, "distance_from_ma200_pct": -17.645939421376646, "distance_from_ma50_pct": -22.14236071400294, "volatility_20d_pct": 154.02502086657427, "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": "SRP_CFD.UK", "name": "SERCO GROUP PLC", "sector": "", "last_price": 300.0, "change_1d_pct": -0.3984063745019917, "distance_from_ma200_pct": 34.11120814305375, "distance_from_ma50_pct": 6.89280433272168, "volatility_20d_pct": 77.89780733903845, "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": 1267.0, "change_1d_pct": -19.55555555555556, "distance_from_ma200_pct": -28.881851790845626, "distance_from_ma50_pct": -15.711709832205766, "volatility_20d_pct": 155.5956600941246, "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": 98.75, "change_1d_pct": -0.05060728744938903, "distance_from_ma200_pct": -11.408996180942744, "distance_from_ma50_pct": -4.589556348683388, "volatility_20d_pct": 64.15684506219812, "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": "TBCG_CFD.UK", "name": "TBC BANK GROUP PLC", "sector": "", "last_price": 4125.0, "change_1d_pct": -3.169014084507038, "distance_from_ma200_pct": -6.5045509221490105, "distance_from_ma50_pct": -0.1025081463074895, "volatility_20d_pct": 110.62209591564869, "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": "VIAV_CFD.US", "name": "VIAVI SOLUTIONS INC", "sector": "", "last_price": 31.19, "change_1d_pct": -16.915290356952582, "distance_from_ma200_pct": 81.79433750564648, "distance_from_ma50_pct": 11.58653949354953, "volatility_20d_pct": 154.83519556948903, "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": 313.0, "change_1d_pct": 0.3205128205128194, "distance_from_ma200_pct": null, "distance_from_ma50_pct": 0.8343803356850588, "volatility_20d_pct": 2871.9337920464413, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "ROR_CFD.UK", "name": "ROTORK PLC", "sector": "", "last_price": 315.64, "change_1d_pct": -7.815420560747666, "distance_from_ma200_pct": -3.440121571713639, "distance_from_ma50_pct": -7.465605958975752, "volatility_20d_pct": 114.53961834922319, "market_cap_usd": null, "avg_daily_volume_usd": null, "days_to_next_earnings": null, "earnings_confirmed": null, "news_sentiment_score": null, "news_headlines_last_3": [], "data_quality_note": "snapshot_ok_prices_technicals_only"}, {"symbol": "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": "GLO_CFD.FR", "name": "GL Events", "sector": "", "last_price": 29.25, "change_1d_pct": -5.797101449275366, "distance_from_ma200_pct": -2.880578639172615, "distance_from_ma50_pct": -9.170235163695416, "volatility_20d_pct": 91.53331872104411, "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": "MSLH_CFD.UK",
      "selection_reason": "Significant negative distance from MA200 and moderate volatility",
      "mean_reversion_score": 75
    },
    {
      "symbol": "PAGE_CFD.UK",
      "selection_reason": "Large negative distance from MA200 and MA50, high volatility",
      "mean_reversion_score": 80
    },
    {
      "symbol": "FUTR_CFD.UK",
      "selection_reason": "Substantial negative distance from MA200 and MA50, high volatility",
      "mean_reversion_score": 78
    },
    {
      "symbol": "MCG_CFD.UK",
      "selection_reason": "Large negative distance from MA200 and MA50, very high volatility",
      "mean_reversion_score": 82
    },
    {
      "symbol": "UTG_CFD.UK",
      "selection_reason": "Significant negative distance from MA200 and MA50, moderate volatility",
      "mean_reversion_score": 77
    }
  ],
  "rejected_common_reasons": [
    "Positive distance from MA200",
    "Low volatility",
    "Unknown earnings dates",
    "Unknown sector information"
  ]
}
#1862openrouterdeepseek/deepseek-chat2026-03-30T20:14:43.475670+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": 1829.0, "unrealized_pnl": -33.2522303325223, "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": 133.018, "unrealized_pnl": -90.38279256288746, "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": 726.5, "unrealized_pnl": 0.0, "opened_at": "2026-03-06T18:02:13.212382+00:00"}, {"symbol": "BIG_CFD.FR", "qty": 0.0, "avg_price": 0.453, "last_price": 0.296, "unrealized_pnl": 0.0, "opened_at": "2026-02-22T17:33:48.338981+00:00"}, {"symbol": "BLND_CFD.UK", "qty": 8.237232289950576, "avg_price": 364.2, "last_price": 342.4, "unrealized_pnl": -179.57166392092265, "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": 272.44, "unrealized_pnl": 169.13532376890294, "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": 292.6, "unrealized_pnl": 0.0, "opened_at": "2026-03-04T18:49:26.891792+00:00"}, {"symbol": "BYW6_CFD.DE", "qty": 0.0, "avg_price": 3.005, "last_price": 2.94, "unrealized_pnl": 0.0, "opened_at": "2026-02-19T17:33:27.020111+00:00"}, {"symbol": "CBG_CFD.UK", "qty": 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": 100.9845998485231, "avg_price": 118.83, "last_price": 118.83, "unrealized_pnl": 0.0, "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": 253.0, "unrealized_pnl": 3.370163173565693e-13, "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": 62.82722513089005, "avg_price": 95.5, "last_price": 95.5, "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": 0.0, "avg_price": 400.6, "last_price": 368.42, "unrealized_pnl": 0.0, "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": "HIK_CFD.UK", "qty": 0.0, "avg_price": 1408.0, "last_price": 1275.0, "unrealized_pnl": 0.0, "opened_at": "2026-02-26T10:33:24.101894+00:00"}, {"symbol": "HMSO_CFD.UK", "qty": 8.600917431192661, "avg_price": 348.8, "last_price": 348.8, "unrealized_pnl": 0.0, "opened_at": "2026-03-16T10:12:30.296045+00:00"}, {"symbol": "IEP_CFD.BE", "qty": 582.5242718446601, "avg_price": 5.15, "last_price": 5.5, "unrealized_pnl": 203.88349514563083, "opened_at": "2026-02-24T18:14:37.115518+00:00"}, {"symbol": "IHG_CFD.UK", "qty": 23.21083172147002, "avg_price": 129.25, "last_price": 130.25, "unrealized_pnl": 23.21083172147002, "opened_at": "2026-03-07T10:14:47.113218+00:00"}, {"symbol": "JDW_CFD.UK", "qty": 4.514672686230249, "avg_price": 664.5, "last_price": 664.5, "unrealized_pnl": 0.0, "opened_at": "2026-03-15T10:35:48.762746+00:00"}, {"symbol": "KGF_CFD.UK", "qty": 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": 181.3, "unrealized_pnl": 0.0, "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": 0.0, "avg_price": 25.72, "last_price": 23.88, "unrealized_pnl": 0.0, "opened_at": "2026-03-08T18:08:31.007911+00:00"}, {"symbol": "MSLH_CFD.UK", "qty": 63.92045454545454, "avg_price": 140.8, "last_price": 140.8, "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": 0.0, "avg_price": 151.91000000000003, "last_price": 132.9, "unrealized_pnl": 0.0, "opened_at": "2026-03-05T10:27:11.178069+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": "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": 6540.0, "unrealized_pnl": 0.0, "opened_at": "2026-03-27T09:59:46.331143+00:00"}, {"symbol": "SYNT_CFD.UK", "qty": 326.0869565217392, "avg_price": 18.4, "last_price": 45.0, "unrealized_pnl": 8673.913043478262, "opened_at": "2026-03-03T18:03:34.247734+00:00"}, {"symbol": "TRN_CFD.UK", "qty": 81.30081300813009, "avg_price": 184.5, "last_price": 211.4, "unrealized_pnl": 2186.9918699187, "opened_at": "2026-03-03T18:03:34.247734+00:00"}, {"symbol": "UKW_CFD.UK", "qty": 97.45533297238767, "avg_price": 92.35, "last_price": 96.43, "unrealized_pnl": 397.6177585273429, "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": "MSLH_CFD.UK", "mean_reversion_score": 75, "selection_reason": "Significant negative distance from MA200 and moderate volatility"}, {"symbol": "PAGE_CFD.UK", "mean_reversion_score": 80, "selection_reason": "Large negative distance from MA200 and MA50, high volatility"}, {"symbol": "FUTR_CFD.UK", "mean_reversion_score": 78, "selection_reason": "Substantial negative distance from MA200 and MA50, high volatility"}, {"symbol": "MCG_CFD.UK", "mean_reversion_score": 82, "selection_reason": "Large negative distance from MA200 and MA50, very high volatility"}, {"symbol": "UTG_CFD.UK", "mean_reversion_score": 77, "selection_reason": "Significant negative distance from MA200 and MA50, moderate volatility"}], "output_schema": {"actions": {"sell": [{"symbol": "string", "reason": "string"}], "hold": [{"symbol": "string", "reason": "string"}], "buy": [{"symbol": "string", "position_size": "number (currency amount)", "reason": "string"}]}, "portfolio_rationale": "string"}}
Output JSON
{
  "actions": {
    "buy": [
      {
        "reason": "Large negative distance from MA200 and MA50, very high volatility",
        "symbol": "MCG_CFD.UK",
        "position_size": 3000
      },
      {
        "reason": "Large negative distance from MA200 and MA50, high volatility",
        "symbol": "PAGE_CFD.UK",
        "position_size": 3000
      }
    ],
    "hold": [
      {
        "reason": "Marginal unrealized loss, no clear improvement",
        "symbol": "ABF_CFD.UK"
      },
      {
        "reason": "No position, no clear improvement",
        "symbol": "ADJ_CFD.DE"
      },
      {
        "reason": "Marginal unrealized loss, no clear improvement",
        "symbol": "ADS_CFD.DE"
      },
      {
        "reason": "No position, no clear improvement",
        "symbol": "AIR_CFD.DE"
      },
      {
        "reason": "No position, no clear improvement",
        "symbol": "AMH_CFD.US"
      },
      {
        "reason": "No position, no clear improvement",
        "symbol": "AML_CFD.UK"
      },
      {
        "reason": "Positive unrealized gain, no clear improvement",
        "symbol": "ATG_CFD.UK"
      },
      {
        "reason": "No unrealized gain/loss, no clear improvement",
        "symbol": "BBY_CFD.UK"
      },
      {
        "reason": "No position, no clear improvement",
        "symbol": "BIG_CFD.FR"
      },
      {
        "reason": "Marginal unrealized loss, no clear improvement",
        "symbol": "BLND_CFD.UK"
      },
      {
        "reason": "No unrealized gain/loss, no clear improvement",
        "symbol": "BOY_CFD.UK"
      },
      {
        "reason": "Positive unrealized gain, no clear improvement",
        "symbol": "BTRW_CFD.UK"
      },
      {
        "reason": "No position, no clear improvement",
        "symbol": "BT_CFD.UK"
      },
      {
        "reason": "No unrealized gain/loss, no clear improvement",
        "symbol": "BYIT_CFD.UK"
      },
      {
        "reason": "No position, no clear improvement",
        "symbol": "BYW6_CFD.DE"
      },
      {
        "reason": "No unrealized gain/loss, no clear improvement",
        "symbol": "CBG_CFD.UK"
      },
      {
        "reason": "No position, no clear improvement",
        "symbol": "CCC_CFD.UK"
      },
      {
        "reason": "No position, no clear improvement",
        "symbol": "CCL_CFD.UK"
      },
      {
        "reason": "No position, no clear improvement",
        "symbol": "CO_CFD.FR"
      },
      {
        "reason": "No position, no clear improvement",
        "symbol": "CRDA_CFD.UK"
      },
      {
        "reason": "No unrealized gain/loss, no clear improvement",
        "symbol": "CRST_CFD.UK"
      },
      {
        "reason": "No position, no clear improvement",
        "symbol": "CRWD_CFD.US"
      },
      {
        "reason": "No unrealized gain/loss, no clear improvement",
        "symbol": "EMG_CFD.UK"
      },
      {
        "reason": "No position, no clear improvement",
        "symbol": "ERA_CFD.FR"
      },
      {
        "reason": "No unrealized gain/loss, no clear improvement",
        "symbol": "ESNT_CFD.UK"
      },
      {
        "reason": "No position, no clear improvement",
        "symbol": "EZJ_CFD.UK"
      },
      {
        "reason": "No position, no clear improvement",
        "symbol": "FLO_CFD.US"
      },
      {
        "reason": "No position, no clear improvement",
        "symbol": "FRVIA_CFD.FR"
      },
      {
        "reason": "No unrealized gain/loss, no clear improvement",
        "symbol": "GRI_CFD.UK"
      },
      {
        "reason": "No position, no clear improvement",
        "symbol": "HAIN_CFD.US"
      },
      {
        "reason": "No position, no clear improvement",
        "symbol": "HIK_CFD.UK"
      },
      {
        "reason": "No unrealized gain/loss, no clear improvement",
        "symbol": "HMSO_CFD.UK"
      },
      {
        "reason": "Positive unrealized gain, no clear improvement",
        "symbol": "IEP_CFD.BE"
      },
      {
        "reason": "Positive unrealized gain, no clear improvement",
        "symbol": "IHG_CFD.UK"
      },
      {
        "reason": "No unrealized gain/loss, no clear improvement",
        "symbol": "JDW_CFD.UK"
      },
      {
        "reason": "No position, no clear improvement",
        "symbol": "KGF_CFD.UK"
      },
      {
        "reason": "No unrealized gain/loss, no clear improvement",
        "symbol": "LMP_CFD.UK"
      },
      {
        "reason": "No position, no clear improvement",
        "symbol": "LXS_CFD.DE"
      },
      {
        "reason": "No position, no clear improvement",
        "symbol": "OCDO_CFD.UK"
      },
      {
        "reason": "No position, no clear improvement",
        "symbol": "OSB_CFD.UK"
      },
      {
        "reason": "No position, no clear improvement",
        "symbol": "PSN_CFD.UK"
      },
      {
        "reason": "No position, no clear improvement",
        "symbol": "RHIM_CFD.UK"
      },
      {
        "reason": "No position, no clear improvement",
        "symbol": "RMV_CFD.UK"
      },
      {
        "reason": "No position, no clear improvement",
        "symbol": "ROR_CFD.UK"
      },
      {
        "reason": "No position, no clear improvement",
        "symbol": "SAFE_CFD.UK"
      },
      {
        "reason": "No unrealized gain/loss, no clear improvement",
        "symbol": "SPX_CFD.UK"
      },
      {
        "reason": "Significant unrealized gain, no clear improvement",
        "symbol": "SYNT_CFD.UK"
      },
      {
        "reason": "Significant unrealized gain, no clear improvement",
        "symbol": "TRN_CFD.UK"
      },
      {
        "reason": "Positive unrealized gain, no clear improvement",
        "symbol": "UKW_CFD.UK"
      },
      {
        "reason": "Marginal unrealized loss, no clear improvement",
        "symbol": "VTY_CFD.UK"
      },
      {
        "reason": "No position, no clear improvement",
        "symbol": "WIX_CFD.UK"
      },
      {
        "reason": "No position, no clear improvement",
        "symbol": "WIZZ_CFD.UK"
      },
      {
        "reason": "No unrealized gain/loss, no clear improvement",
        "symbol": "WKP_CFD.UK"
      },
      {
        "reason": "No position, no clear improvement",
        "symbol": "WPP_CFD.UK"
      },
      {
        "reason": "No position, no clear improvement",
        "symbol": "WTB_CFD.UK"
      }
    ],
    "sell": []
  },
  "portfolio_rationale": "The current portfolio is largely held due to marginal or no clear improvements in unrealized gains/losses. Two new positions are added based on mean-reversion signals: MCG_CFD.UK and PAGE_CFD.UK, both showing significant negative distances from moving averages and high volatility, aligning with the strategy's focus on mean-reversion opportunities."
}
Selection logs
#913stage12026-03-30T20:14:43.472106+00:00
{
  "selected_stocks": [
    {
      "symbol": "MSLH_CFD.UK",
      "selection_reason": "Significant negative distance from MA200 and moderate volatility",
      "mean_reversion_score": 75
    },
    {
      "symbol": "PAGE_CFD.UK",
      "selection_reason": "Large negative distance from MA200 and MA50, high volatility",
      "mean_reversion_score": 80
    },
    {
      "symbol": "FUTR_CFD.UK",
      "selection_reason": "Substantial negative distance from MA200 and MA50, high volatility",
      "mean_reversion_score": 78
    },
    {
      "symbol": "MCG_CFD.UK",
      "selection_reason": "Large negative distance from MA200 and MA50, very high volatility",
      "mean_reversion_score": 82
    },
    {
      "symbol": "UTG_CFD.UK",
      "selection_reason": "Significant negative distance from MA200 and MA50, moderate volatility",
      "mean_reversion_score": 77
    }
  ],
  "rejected_common_reasons": [
    "Positive distance from MA200",
    "Low volatility",
    "Unknown earnings dates",
    "Unknown sector information"
  ]
}